Questão de Engenharia de Software — Diagrama de Estados — Quadrix 2025
- Código
- qg594712
- Banca
- Quadrix
- Órgão
- CFBio
- Ano
- 2025
- Nível
- Superior
- Cargo
- Analista de Desenvolvimento
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: ERRADO. O diagrama de estados é um diagrama comportamental da UML, utilizado para modelar o comportamento dinâmico de um sistema — os estados pelos quais um objeto passa e as transições entre eles. A descrição de classes, atributos, métodos e relacionamentos é função do diagrama de classes, que é um diagrama estrutural. A afirmação do enunciado, portanto, está incorreta.
O diagrama de estados, também chamado de diagrama de máquina de estados ou diagrama de transição de estados, descreve o ciclo de vida de um objeto: em que estado ele se encontra, quais eventos provocam sua mudança de estado e quais ações são executadas durante essas transições. Ele responde à pergunta "como o objeto se comporta ao longo do tempo?", e não "como o sistema é estruturado?".
A UML divide seus diagramas em duas grandes categorias: estruturais e comportamentais. Os diagramas estruturais representam a estática do sistema — sua arquitetura, seus componentes e como eles se relacionam. Já os diagramas comportamentais representam a dinâmica — como o sistema reage a eventos, como os objetos interagem e como o fluxo de controle se dá ao longo do tempo.
Para fixar a distinção, veja a tabela abaixo:
Categoria | Diagramas | O que modelam |
|---|---|---|
Estruturais | Classes, Objetos, Componentes, Implantação, Pacotes, Estrutura Composta | A estrutura estática: classes, atributos, métodos, relacionamentos, componentes físicos e lógicos |
Comportamentais | Casos de Uso, Atividades, Estados, Sequência, Comunicação, Visão Geral da Interação, Máquina de Estados | O comportamento dinâmico: estados, transições, interações, fluxos de controle e de dados |
O diagrama de classes, por exemplo, mostra as classes do sistema, seus atributos, seus métodos e os relacionamentos entre elas (associação, agregação, composição, herança). É ele que modela a estrutura estática. O diagrama de estados, por sua vez, modela o comportamento de um objeto específico ao longo de sua vida.
Um exemplo clássico é o ciclo de vida de um pedido em um sistema de e-commerce: ele pode estar nos estados "Novo", "Processando", "Enviado", "Entregue" ou "Cancelado". O diagrama de estados mostraria esses estados e as transições entre eles (por exemplo, do estado "Novo" para "Processando" quando o pagamento é confirmado). Isso é claramente um modelo de comportamento, não de estrutura.
A pegadinha da questão está em inverter as categorias: o enunciado atribui ao diagrama de estados uma função que é do diagrama de classes. O candidato que confunde os diagramas estruturais com os comportamentais cai facilmente nessa armadilha.
A banca troca a função do diagrama de estados pela do diagrama de classes. O diagrama de estados é comportamental (modela o ciclo de vida do objeto); o diagrama de classes é estrutural (modela classes, atributos, métodos e relacionamentos). Guarde essa distinção: estrutura = estático = classes; comportamento = dinâmico = estados.
A afirmação está incorreta porque atribui ao diagrama de estados uma finalidade que pertence ao diagrama de classes. O diagrama de estados modela o comportamento dinâmico — os estados de um objeto e as transições entre eles —, enquanto a modelagem da estrutura estática (classes, atributos, métodos e relacionamentos) é feita pelo diagrama de classes, que é um diagrama estrutural.
Gabarito: ERRADO.
Link permanente: /questoes/qg594712