Pular para o conteúdo principal

Questão de Engenharia de Software — UML — INSTITUTO AOCP 2024

Engenharia de SoftwareUML
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.

  1. AO diagrama de casos de uso é utilizado para modelar a estrutura estática do sistema, incluindo classes e relacionamentos.
  2. BO diagrama de sequência é utilizado para modelar o fluxo de controle entre objetos ou componentes ao longo do tempo.
  3. CO diagrama de classes é utilizado para representar o comportamento dinâmico do sistema, mostrando a interação entre objetos.
  4. DO diagrama de estados é utilizado para modelar a interação entre atores e casos de uso no sistema.
  5. 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)

Sequência

Comportamental (interação)

Fluxo de controle entre objetos ao longo do tempo

Classes

Estrutural

Estrutura estática: classes, atributos, 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?".

Gabarito: letra B

Link permanente: /questoes/qa631669