Questão de Engenharia de Software — UML — CESPE / CEBRASPE 2023
Engenharia de Software›UML
Código
ce397833
Banca
CESPE / CEBRASPE
Órgão
FUB
Ano
2023
Cargo
Ana TI ( )
Acerca da UML, de padrões de projeto e de arquitetura, julgue o item seguinte.
No diagrama de casos de uso a seguir, mostra-se a sequência em que as funcionalidades são executadas pelos atores, especialmente no que se refere ao fato de que, ao se acionar finalizar compra, aciona-se obrigatoriamente a funcionalidade informar endereço.
Internet: <https://medium.com> (com adaptações).
CCerto
EErrado
Revelar gabarito e comentário▾
GabaritoE — Errado
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”.
Diagrama de casos de uso: include e a falsa noção de sequência
Gabarito: Errado (E). O diagrama de casos de uso da UML não representa a sequência de execução das funcionalidades; ele é um diagrama comportamental que mostra a interação entre atores e casos de uso, mas não a ordem temporal. A relação que obriga a execução de um caso de uso quando outro é acionado é a de include, e não uma simples associação — e mesmo no include, a semântica é de que o caso base sempre inclui o caso incluído, mas isso não é representado como uma "sequência" de passos. A afirmativa confunde o propósito do diagrama de casos de uso com o de um diagrama de sequência ou atividade.
O diagrama de casos de uso é um dos 13 diagramas da UML 2.5.1 e pertence ao grupo dos diagramas comportamentais. Ele responde à pergunta "quem faz o quê?" dentro do sistema, mostrando os atores (externos ao sistema) e os casos de uso (funcionalidades) que eles executam, além dos relacionamentos entre eles. Os relacionamentos possíveis são: associação (ligação ator-caso de uso), include (um caso de uso sempre inclui outro), extend (um caso de uso opcionalmente estende outro) e generalização (entre atores ou entre casos de uso).
A grande pegadinha desta questão está em dois pontos. Primeiro, o diagrama de casos de uso não é um diagrama de sequência: ele não mostra a ordem em que as funcionalidades são executadas. Segundo, a relação que expressa obrigatoriedade é o include — quando o caso de uso A inclui B, a execução de A sempre passa por B. Mas mesmo essa relação não é uma "sequência" no sentido de mostrar passos ordenados; ela apenas indica que B é parte obrigatória de A. A afirmativa diz que "ao se acionar finalizar compra, aciona-se obrigatoriamente a funcionalidade informar endereço" — se houvesse uma relação de include entre esses casos de uso, a obrigatoriedade estaria correta, mas a justificativa apresentada ("mostra-se a sequência em que as funcionalidades são executadas") está errada, pois o diagrama de casos de uso não tem essa finalidade.
Para fixar: o diagrama de casos de uso é estático em relação ao tempo. Ele não mostra ordem, condição ou repetição. Quem mostra sequência é o diagrama de sequência (que detalha a troca de mensagens entre objetos ao longo do tempo) e o diagrama de atividades (que modela fluxos de trabalho com decisões e paralelismo). O diagrama de casos de uso é uma visão de alto nível, focada em requisitos funcionais e na interação ator-sistema.
NÃO CAIA NESSA!
A banca tenta fazer o candidato acreditar que o diagrama de casos de uso mostra a ordem de execução das funcionalidades. Isso é falso — essa é a função do diagrama de sequência ou de atividades. Além disso, a obrigatoriedade de um caso de uso em relação a outro só é representada pela relação de include, e mesmo assim não como "sequência", mas como parte integrante do caso de uso base. Guarde: casos de uso = o quê; sequência/atividade = como e em que ordem.
Diagrama de casos de uso: Propósito (Quem faz o quê, Visão de alto nível, Requisitos funcionais); Não mostra (Ordem temporal, Condição, Repetição); Relacionamentos (Associação (ator ↔ caso), Include (obrigatório), Extend (opcional), Generalização (entre atores/casos)); Quem mostra sequência (Diagrama de sequência, Diagrama de atividades)
Item — ❌ Errado
A afirmativa está errada por dois motivos. Primeiro, o diagrama de casos de uso não representa a sequência de execução das funcionalidades — ele é um diagrama comportamental de alto nível que mostra atores e casos de uso, sem ordem temporal. Segundo, a obrigatoriedade de "informar endereço" ao "finalizar compra" só existiria se houvesse uma relação de include entre esses casos de uso, e mesmo assim isso não configuraria uma "sequência" de execução, mas sim uma composição obrigatória. A descrição dada no enunciado confunde o diagrama de casos de uso com um diagrama de sequência ou de atividades, que são os que efetivamente modelam a ordem das interações.