Questão de Engenharia de Software — UML — CESPE / CEBRASPE 2024
- Código
- ce173549
- Banca
- CESPE / CEBRASPE
- Órgão
- FINEP
- Ano
- 2024
- Nível
- Superior
- Cargo
- Analista - Tecnologia da Informação - Software
- Ageneralization.
- Bintend.
- Cinclude.
- Dexclude.
- Eextend.
GabaritoC — include.
Gabarito: letra C — include. O relacionamento que obriga a execução de B sempre que A é executado é o include (inclusão). A UML define que o caso de uso A "inclui" o caso de uso B, tornando B parte obrigatória do fluxo de A. Esse conceito está explícito no material de apoio: "Um caso de uso pode 'incluir' outra funcionalidade de caso de uso".
Os demais relacionamentos (generalization, extend) não se encaixam na descrição, e "intend" e "exclude" não são relacionamentos padrão da UML.
Generalization (generalização) representa herança entre casos de uso: um caso de uso filho herda o comportamento do pai e pode especializá-lo. Não é uma relação de execução obrigatória como descrita.
"Intend" não é um relacionamento padrão da UML para diagramas de caso de uso. Trata-se de um termo inventado pela banca como distrator.
Include (inclusão) é o relacionamento que define que o caso de uso base (A) sempre executa o caso de uso incluído (B) como parte de seu fluxo. A descrição do enunciado coincide exatamente com essa definição.
"Exclude" não é um relacionamento padrão da UML. A relação que se aproxima é a de extend, mas com sentido oposto (extensão opcional). O termo "exclude" não faz parte da notação UML.
Extend (extensão) é um relacionamento condicional e opcional. O caso de uso B é executado apenas sob determinada condição, e não obrigatoriamente sempre que A é executado. Portanto, não se encaixa na descrição do enunciado.
Memorize a diferença fundamental: include = obrigatório (sempre acontece), extend = opcional (acontece se condição for verdadeira). Nunca confunda, pois a banca adora trocar os conceitos.
Gabarito: letra C
Link permanente: /questoes/ce173549