Questão de Engenharia de Software — UML — INSTITUTO AOCP 2024
Engenharia de Software›UML
Código
qa631669
Banca
INSTITUTO AOCP
Órgão
MPE PR
Ano
2024
Cargo
Ana ( )
Em um projeto de desenvolvimento de software, um analista de tecnologia da informação está utilizando a linguagem UML 2.5 para modelar os diferentes aspectos do sistema, e uma das tarefas envolve a criação de diagramas que representem a estrutura e o comportamento do sistema. Assinale a alternativa que apresenta corretamente uma característica ou utilização de um dos diagramas da UML 2.5.
AO diagrama de casos de uso é utilizado para modelar a estrutura estática do sistema, incluindo classes e relacionamentos.
BO diagrama de sequência é utilizado para modelar o fluxo de controle entre objetos ou componentes ao longo do tempo.
CO diagrama de classes é utilizado para representar o comportamento dinâmico do sistema, mostrando a interação entre objetos.
DO diagrama de estados é utilizado para modelar a interação entre atores e casos de uso no sistema.
EO diagrama de atividades é utilizado para representar a sequência de estados que um objeto atravessa em resposta a eventos.
Revelar gabarito e comentário▾
GabaritoB — O diagrama de sequência é utilizado para modelar o fluxo de controle entre objetos ou componentes ao longo do tempo.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Diagramas da UML 2.5: estrutura e comportamento
Gabarito: letra B. O diagrama de sequência é um diagrama de interação que modela o fluxo de controle entre objetos ou componentes ao longo do tempo, enfatizando a ordenação temporal das mensagens trocadas. As demais alternativas trocam as finalidades dos diagramas: casos de uso não modelam estrutura estática, classes não modelam comportamento dinâmico, estados não modelam interação entre atores e casos de uso, e atividades não representam sequência de estados.
A UML (Unified Modeling Language) é uma linguagem de modelagem padronizada pela OMG, usada para visualizar, especificar, construir e documentar os artefatos de um sistema de software. Ela fornece 13 tipos de diagramas na versão 2.5.1, divididos em duas grandes categorias: diagramas estruturais (ou estáticos) e diagramas comportamentais (ou dinâmicos). Essa divisão é a chave para resolver a questão: cada diagrama tem um propósito específico, e a banca explora exatamente a confusão entre eles.
Os diagramas estruturais descrevem a estrutura estática do sistema — ou seja, os elementos que existem independentemente do tempo, como classes, objetos, componentes, pacotes, estrutura composta, implantação e perfil. Já os diagramas comportamentais descrevem o comportamento dinâmico — como o sistema reage a eventos, como os objetos interagem e como o fluxo de controle se dá ao longo do tempo. Fazem parte deste grupo: casos de uso, atividades, estados, sequência, comunicação, visão geral da interação e tempo.
O diagrama de sequência é um dos diagramas de interação (subcategoria dos comportamentais). Ele mostra a troca de mensagens entre objetos ou componentes em uma ordem temporal específica, representada por linhas de vida verticais e setas horizontais que indicam as mensagens. É ideal para modelar cenários de um caso de uso, mostrando quem chama quem, em que ordem e com quais parâmetros. Por isso, a alternativa B está correta: ele modela o fluxo de controle entre objetos ou componentes ao longo do tempo.
A pegadinha da questão está em inverter as finalidades dos diagramas. Vejamos cada alternativa:
Diagrama
Categoria
Finalidade correta
Finalidade incorreta (pegadinha)
Casos de uso
Comportamental
Interação entre atores e funcionalidades do sistema
Modelar estrutura estática (classes e relacionamentos)
Representar comportamento dinâmico (interação entre objetos)
Estados
Comportamental
Ciclo de vida de um objeto (estados e transições)
Modelar interação entre atores e casos de uso
Atividades
Comportamental
Fluxo de controle/dados entre atividades de um processo
Representar sequência de estados de um objeto
Alternativa A — ❌ Incorreta
O diagrama de casos de uso não modela a estrutura estática do sistema. Ele é um diagrama comportamental que representa a interação entre atores (usuários ou sistemas externos) e os casos de uso (funcionalidades) dentro da fronteira do sistema. A estrutura estática — classes, atributos, operações e relacionamentos — é modelada pelo diagrama de classes, que é um diagrama estrutural. A alternativa troca a finalidade do diagrama de casos de uso pela do diagrama de classes.
Alternativa B — ✅ Correta ⟵ GABARITO
O diagrama de sequência é um diagrama de interação que enfatiza a ordenação temporal das mensagens trocadas entre objetos ou componentes. Ele mostra, ao longo do tempo, o fluxo de controle: quem envia a mensagem, quem a recebe, em que ordem e com que duração. É exatamente o que a alternativa descreve: "modelar o fluxo de controle entre objetos ou componentes ao longo do tempo". Essa é a definição canônica do diagrama de sequência na UML.
Alternativa C — ❌ Incorreta
O diagrama de classes não representa o comportamento dinâmico do sistema. Ele é um diagrama estrutural que mostra a visão estática: classes, atributos, operações e relacionamentos (associação, agregação, composição, dependência, generalização). O comportamento dinâmico — a interação entre objetos — é modelado por diagramas comportamentais, como o de sequência, comunicação ou atividades. A alternativa inverte a natureza do diagrama de classes.
Alternativa D — ❌ Incorreta
O diagrama de estados não modela a interação entre atores e casos de uso. Essa interação é representada pelo diagrama de casos de uso. O diagrama de estados (ou máquina de estados) modela o ciclo de vida de um objeto: os estados que ele pode assumir, os eventos que causam transições entre esses estados e as ações resultantes. É um diagrama comportamental focado no comportamento de um único objeto, não na interação entre atores e funcionalidades.
Alternativa E — ❌ Incorreta
O diagrama de atividades não representa a sequência de estados que um objeto atravessa. Essa sequência de estados é modelada pelo diagrama de estados. O diagrama de atividades modela o fluxo de controle ou de dados entre atividades, mostrando a sequência de passos de um processo, incluindo decisões, ramificações e concorrência. É usado para modelar a lógica de um caso de uso ou de um algoritmo, não o ciclo de vida de um objeto.
NÃO CAIA NESSA!
A banca troca as finalidades dos diagramas entre si, especialmente os comportamentais. O candidato que decora apenas os nomes, sem entender o propósito de cada um, cai facilmente. A dica é: casos de uso = interação ator-sistema; classes = estrutura estática; sequência = fluxo temporal de mensagens; estados = ciclo de vida de um objeto; atividades = fluxo de processo. Memorize essa associação e a questão se resolve rapidamente.
PEGA ESSA DICA!
Para fixar, monte uma tabela mental: diagramas estruturais (classes, objetos, componentes, pacotes, implantação, estrutura composta, perfil) vs. comportamentais (casos de uso, atividades, estados, sequência, comunicação, visão geral da interação, tempo). Na prova, ao ler a alternativa, pergunte-se: "isso descreve estrutura ou comportamento?" — e depois "qual diagrama específico faz isso?".