Questão de Engenharia de Software — Geral — VUNESP 2023
- Código
- vu197111
- Banca
- VUNESP
- Órgão
- Pref SBO
- Ano
- 2023
- Cargo
- Ana ( )

- ACasos de uso.
- BTransição de estado.
- CColaboração.
- DObjetivos.
- EConexão interfuncional.

GabaritoB — Transição de estado.
Gabarito: letra B. O diagrama apresentado é um diagrama de transição de estados, uma técnica estruturada que modela o ciclo de vida de um objeto ou sistema, representando os estados possíveis e as transições entre eles, disparadas por eventos. A alternativa B identifica corretamente essa técnica, que é fundamental na engenharia de software para especificar o comportamento dinâmico de um sistema.
A técnica de transição de estados (ou máquina de estados) é uma das abordagens clássicas para modelar o comportamento de sistemas que possuem um número finito de estados bem definidos. Ela é amplamente utilizada tanto na análise estruturada quanto na orientação a objetos, sendo formalizada na UML como o diagrama de estados. O objetivo é capturar como um objeto ou sistema responde a eventos externos, mudando de um estado para outro, e quais ações são executadas durante essas transições.
Imagine, por exemplo, o ciclo de vida de um pedido em um sistema de e-commerce. O pedido pode estar nos estados: Novo, Pago, Enviado, Entregue e Cancelado. Cada evento (como "confirmar pagamento" ou "cancelar pedido") dispara uma transição que leva o pedido de um estado para outro. O diagrama de transição de estados descreve exatamente esse fluxo, mostrando quais transições são válidas e quais não são. Essa técnica é essencial para garantir que o sistema se comporte de forma consistente e previsível.
A principal distinção que devemos fazer é entre o diagrama de transição de estados e outros diagramas comportamentais da UML, como o diagrama de atividades e o diagrama de sequência. Enquanto o diagrama de estados foca no ciclo de vida de um único objeto e nas mudanças de estado, o diagrama de atividades modela o fluxo de controle entre atividades, e o diagrama de sequência mostra a troca de mensagens entre objetos ao longo do tempo. Essa diferença é crucial para identificar corretamente o tipo de diagrama apresentado.
A banca explora exatamente essa confusão: o candidato pode olhar para o diagrama e pensar em "casos de uso" (que mapeiam funcionalidades do ponto de vista do ator) ou em "colaboração" (que mostra a interação entre objetos). No entanto, a presença de estados e transições com eventos é a assinatura inconfundível do diagrama de transição de estados. Guarde essa distinção: estados + eventos + transições = diagrama de estados; atores + funcionalidades = casos de uso; objetos + mensagens = colaboração/sequência.
Casos de uso são uma técnica para mapear as funcionalidades do sistema do ponto de vista do ator (usuário ou sistema externo). O diagrama de casos de uso mostra atores, casos de uso (ovais) e seus relacionamentos, mas não representa estados nem transições. A alternativa confunde o mapeamento de funcionalidades com o mapeamento do ciclo de vida de um objeto.
A transição de estados é exatamente a técnica representada no diagrama. Ela modela o comportamento dinâmico de um sistema através de estados (situações em que o objeto pode se encontrar) e transições (mudanças de estado disparadas por eventos). O diagrama apresentado mostra claramente essa estrutura, com estados e setas indicando as transições, o que corresponde perfeitamente à definição da técnica.
Colaboração (ou diagrama de comunicação) é uma técnica que mostra a interação entre objetos através de mensagens, enfatizando a estrutura organizacional dos objetos que colaboram para realizar uma funcionalidade. Não representa estados nem transições, mas sim a troca de mensagens entre instâncias. A alternativa confunde a modelagem de interação com a modelagem de estados.
Objetivos não é uma técnica estruturada de mapeamento de funções e requisitos. Embora a engenharia de requisitos envolva a identificação de objetivos do sistema, não existe um diagrama específico chamado "diagrama de objetivos" na UML ou na análise estruturada. A alternativa é um distrator sem fundamento técnico.
Conexão interfuncional não é uma técnica reconhecida para mapeamento de funções e requisitos. O termo pode remeter a diagramas de fluxo de dados ou a fluxogramas, mas não corresponde a uma técnica estruturada específica com esse nome. A alternativa é um distrator que não se aplica ao diagrama apresentado.
A banca tenta confundir o candidato oferecendo alternativas que são técnicas reais de modelagem, mas que representam outros tipos de diagramas. A pegadinha está em reconhecer que o diagrama de transição de estados é caracterizado por estados e transições com eventos, enquanto casos de uso focam em funcionalidades e colaboração em interações entre objetos. Com treino, você identifica essas diferenças de longe 💪.
Para diferenciar os diagramas comportamentais da UML, pergunte-se: "O que o diagrama está mostrando?". Se mostra estados e transições → diagrama de estados. Se mostra fluxo de atividades → diagrama de atividades. Se mostra troca de mensagens entre objetos → diagrama de sequência ou colaboração. Essa pergunta rápida resolve a maioria das questões.
Gabarito: letra B
Link permanente: /questoes/vu197111