Questão de Engenharia de Software — UML — FGV 2023
- Código
- fg161210
- Banca
- FGV
- Órgão
- DPE RS
- Ano
- 2023
- Cargo
- Ana ( )

- AClasses;
- BAtividades;
- CSequência;
- DCaso de Uso;
- EComponentes.

GabaritoB — Atividades;
Gabarito: letra B. O diagrama elaborado por Martin para o programa de conversão de temperatura é o Diagrama de Atividades, pois ele modela o fluxo de controle e a sequência de passos (ações) do processo, com nós de decisão e possíveis bifurcações/uniões — características típicas desse tipo de diagrama comportamental da UML.
O Diagrama de Atividades é um dos diagramas comportamentais da UML, usado para representar o fluxo de trabalho (workflow) de um processo, algoritmo ou caso de uso. Ele mostra a sequência de atividades, as decisões (losangos), as bifurcações e uniões de fluxo (barras de sincronização), e pode incluir raias (swimlanes) para indicar quem executa cada atividade. No caso de um programa de conversão de temperatura, o diagrama descreve o passo a passo: ler a temperatura, aplicar a fórmula de conversão, exibir o resultado — exatamente o que um fluxograma de processo faz, mas com a notação padronizada da UML.
A UML 2.5.1 define 13 tipos de diagramas, divididos em duas grandes categorias: estruturais (estáticos) e comportamentais (dinâmicos). O Diagrama de Atividades pertence à categoria comportamental, assim como o Diagrama de Sequência, o de Casos de Uso, o de Estados e o de Comunicação. Já os diagramas de Classes, Componentes, Objetos, Implantação e Estrutura Composta são estruturais. Essa distinção é fundamental para resolver a questão: o diagrama de Martin mostra um fluxo de execução, algo dinâmico, o que elimina de imediato as alternativas que apontam diagramas estruturais.
Na prática, o Diagrama de Atividades é frequentemente comparado a um fluxograma tradicional, mas com elementos próprios da UML, como os nós de decisão (losango com uma entrada e múltiplas saídas rotuladas com condições), os nós de bifurcação/união (barras grossas que dividem ou juntam fluxos paralelos) e os nós inicial (círculo preenchido) e final (círculo com anel). No programa de conversão de temperatura, o fluxo seria algo como: iniciar → ler temperatura em Celsius → aplicar fórmula (C × 9/5 + 32) → exibir resultado em Fahrenheit → fim. Se houvesse uma decisão, como "o usuário quer converter para Fahrenheit ou Kelvin?", apareceria um losango com duas saídas condicionais.
A pegadinha da banca está em confundir o Diagrama de Atividades com o Diagrama de Sequência ou com o Diagrama de Classes. O Diagrama de Sequência mostra a interação temporal entre objetos, com linhas de vida e mensagens trocadas em ordem cronológica — não é um fluxo de atividades de um único processo. O Diagrama de Classes, por sua vez, é estrutural e mostra classes, atributos, métodos e relacionamentos — não há fluxo de execução. O Diagrama de Casos de Uso mostra as funcionalidades do sistema sob a perspectiva do ator, sem detalhar a sequência interna. O Diagrama de Componentes mostra a organização dos componentes de software e suas dependências.
Guarde o critério decisivo: se o diagrama mostra uma sequência de passos/ações com decisões e fluxo de controle, é um Diagrama de Atividades; se mostra troca de mensagens entre objetos ao longo do tempo, é Sequência; se mostra classes e relacionamentos, é Classes. É exatamente nessa fronteira que as alternativas se dividem.
O Diagrama de Classes é um diagrama estrutural que modela classes, atributos, métodos e relacionamentos (associação, herança, composição). Ele não representa fluxo de execução nem sequência de passos. O diagrama de Martin, por mostrar um processo de conversão com etapas, não pode ser um diagrama de classes.
O Diagrama de Atividades é o diagrama comportamental que modela o fluxo de controle de um processo, algoritmo ou caso de uso. Ele representa a sequência de atividades, decisões e possíveis fluxos paralelos. O programa de conversão de temperatura, com suas etapas sequenciais (ler, converter, exibir), é exatamente o tipo de processo que esse diagrama descreve.
O Diagrama de Sequência mostra a interação temporal entre objetos, com linhas de vida verticais e mensagens horizontais em ordem cronológica. Ele é usado para detalhar um cenário específico de comunicação entre objetos, não para representar o fluxo de atividades de um processo isolado. O diagrama de Martin não mostra objetos trocando mensagens.
O Diagrama de Casos de Uso mostra as funcionalidades do sistema do ponto de vista do ator (usuário ou sistema externo), com os casos de uso dentro de uma fronteira e os atores fora dela. Ele não detalha a sequência interna de passos de um processo. O diagrama de Martin, com seu fluxo de conversão, não é um caso de uso.
O Diagrama de Componentes é um diagrama estrutural que mostra a organização dos componentes de software, suas interfaces e dependências. Ele descreve a arquitetura física do sistema, não o fluxo de execução de um processo. O diagrama de Martin, por representar um algoritmo de conversão, não é um diagrama de componentes.
A banca explora a confusão entre diagramas comportamentais e estruturais. O candidato que vê um fluxo com passos e decisões pode pensar em "sequência", mas o Diagrama de Sequência exige objetos e mensagens — não é um fluxograma de processo. A palavra-chave é fluxo de atividades: se o diagrama mostra ações em sequência com decisões, é Atividades. Treine o reconhecimento visual: losango = decisão, barra grossa = paralelismo, círculo preenchido = início.
Para diferenciar rapidamente na prova, pergunte-se: "o diagrama mostra o quê?" — se mostra classes e relacionamentos → Classes; se mostra objetos trocando mensagens no tempo → Sequência; se mostra atores e funcionalidades → Casos de Uso; se mostra componentes e interfaces → Componentes; se mostra um fluxo de passos com decisões → Atividades. Essa pergunta elimina as alternativas erradas em segundos.
Gabarito: letra B
Link permanente: /questoes/fg161210