Questão de Engenharia de Software — Orientação a Objetos — Quadrix 2024
- Código
- qg347339
- Banca
- Quadrix
- Órgão
- CFP
- Ano
- 2024
- Nível
- Superior
- Cargo
- Analista Técnico/TI/Desenvolvimento
- CCerto
- EErrado
GabaritoC — Certo
✅ CERTO. O diagrama de estados (ou diagrama de máquina de estados) é, de fato, o diagrama UML utilizado para modelar o comportamento de um objeto ao longo do seu ciclo de vida, mostrando os estados pelos quais ele passa e as transições entre eles, disparadas por eventos. Essa é a definição clássica do diagrama, presente na especificação da UML (OMG) e em toda a literatura de análise orientada a objetos.
O diagrama de estados é um dos diagramas comportamentais da UML, ou seja, aqueles que descrevem o comportamento dinâmico do sistema. Enquanto os diagramas estruturais (como o de classes e o de objetos) mostram a estrutura estática — as classes, seus atributos e relacionamentos —, os diagramas comportamentais mostram como o sistema se comporta ao longo do tempo. Dentro dos comportamentais, temos os diagramas de casos de uso, de atividades, de sequência, de comunicação, de visão geral de interação, de tempo e, justamente, o de estados.
O foco do diagrama de estados é um objeto específico (ou uma classe de objetos). Ele representa todos os estados possíveis que esse objeto pode assumir, os eventos que provocam a mudança de um estado para outro (as transições), e as ações que podem ser executadas durante essas mudanças. Um estado é uma condição ou situação na vida de um objeto durante a qual ele satisfaz alguma condição, realiza alguma atividade ou aguarda algum evento. Por exemplo, um objeto Pedido pode ter os estados Novo, Pago, Enviado, Entregue e Cancelado. A transição de Novo para Pago ocorre quando o evento pagamentoConfirmado é disparado.
Na prática, o diagrama de estados é essencial para modelar sistemas em que o comportamento de um objeto depende do seu estado atual, como em sistemas de workflow, controle de processos, automação e até mesmo no ciclo de vida de um processo em um sistema operacional. Ele complementa o diagrama de classes, que mostra a estrutura, mas não o comportamento dinâmico. A banca explora exatamente essa distinção: o diagrama de estados é comportamental e foca no ciclo de vida de um objeto, enquanto o diagrama de classes é estrutural e foca na organização das classes.
A pegadinha que a banca poderia explorar é confundir o diagrama de estados com o diagrama de atividades. O diagrama de atividades também é comportamental, mas modela o fluxo de controle de uma atividade para outra, frequentemente usado para representar a lógica de um caso de uso ou um processo de negócio, com foco em sequência, decisões e paralelismo. Já o diagrama de estados foca no ciclo de vida de um objeto e nas transições entre estados. Nesta questão, a afirmação descreve com precisão o diagrama de estados, sem cair nessa confusão.
Guarde a fronteira entre os diagramas comportamentais: o de estados modela o ciclo de vida de um objeto; o de atividades modela o fluxo de processos; o de sequência e o de comunicação modelam a interação entre objetos. É exatamente nessa distinção que as questões sobre UML costumam se dividir.
Critério | Diagrama de Estados | Diagrama de Atividades |
|---|---|---|
Foco principal | Ciclo de vida de um objeto específico | Fluxo de controle de um processo ou caso de uso |
Elementos-chave | Estados, transições, eventos, ações | Atividades, decisões, ramificações, paralelismo |
Representa | Como um objeto muda de estado ao longo do tempo | Sequência de passos de um processo, com lógica condicional |
Uso típico | Workflows, controle de processos, automação | Modelagem de lógica de negócio, fluxos de trabalho |
Perspectiva | Comportamental, focada em um objeto | Comportamental, focada em um processo |
A afirmação está correta. O diagrama de estados é utilizado para modelar o comportamento de um objeto ao longo do seu ciclo de vida, mostrando como ele transita entre diferentes estados. Isso é exatamente o que o diagrama faz: representa os estados, as transições (disparadas por eventos) e as ações associadas. A descrição do enunciado é uma definição fiel do diagrama de estados na UML.
Gabarito: ✅ CERTO.
Link permanente: /questoes/qg347339