Pular para o conteúdo principal

Questão de Engenharia de Software — UML — CESPE / CEBRASPE 2025

Engenharia de SoftwareUML
Código
ce195672
Banca
CESPE / CEBRASPE
Órgão
BDMG
Ano
2025
Nível
Superior
Cargo
Analista de Desenvolvimento - Sistemas, Arquitetura e Solução de Dados
Julgue o próximo item, acerca de análise de requisitos, UML e conceitos relativos à orientação a objetos.No diagrama de caso de uso apresentado a seguir, o ator estudante internacional herda do ator estudante, e, ao se acionar o caso de uso matrícula em seminário, o caso de uso matrícula na universidade é obrigatoriamente acionado.Imagem associada para resolução da questão
  1. CCerto
  2. 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: Herança de Atores e Relacionamento <<include>>

Gabarito: Errado (E). A afirmativa está incorreta porque, embora o ator "estudante internacional" herde do ator "estudante" (relacionamento de generalização entre atores), a relação entre os casos de uso "matrícula em seminário" e "matrícula na universidade" não é de inclusão obrigatória (<<include>>), mas sim de extensão (<<extend>>), que é opcional e condicional. A descrição do enunciado inverte o significado desses dois relacionamentos.

O diagrama de casos de uso é uma ferramenta da UML para representar as funcionalidades de um sistema do ponto de vista do usuário (ator). Ele mostra quem interage com o sistema (atores) e o que esses atores podem fazer (casos de uso). Os relacionamentos entre esses elementos são cruciais para a correta modelagem, e a banca explora exatamente a confusão entre dois deles: o <<include>> (inclusão) e o <<extend>> (extensão).

O relacionamento <<include>> (ou "inclui") é usado quando um caso de uso base sempre aciona outro caso de uso como parte de seu fluxo. O caso de uso incluído é obrigatório e não faz sentido isoladamente. Por exemplo, no caso de "matrícula na universidade", o caso de uso "validar documentos" poderia ser incluído, pois toda matrícula exige essa validação. Já o relacionamento <<extend>> (ou "estende") é usado quando um caso de uso base pode, opcionalmente, acionar outro caso de uso em determinadas condições. O caso de uso de extensão é um complemento, um fluxo alternativo que só é executado se uma condição for satisfeita. Por exemplo, "matrícula em seminário" pode ser uma extensão de "matrícula na universidade", pois nem todo estudante que se matricula na universidade vai se matricular em um seminário — isso é uma opção adicional.

A pegadinha da questão está em afirmar que "ao se acionar o caso de uso matrícula em seminário, o caso de uso matrícula na universidade é obrigatoriamente acionado". Isso descreve um relacionamento de inclusão (<<include>>), onde o caso de uso base (matrícula em seminário) obrigatoriamente aciona o caso de uso incluído (matrícula na universidade). No entanto, a semântica correta, considerando a figura, é a de extensão (<<extend>>), onde a matrícula em seminário é uma funcionalidade opcional que estende o fluxo da matrícula na universidade. A palavra "obrigatoriamente" é o termo-chave que torna a afirmativa incorreta.

Para fixar: a generalização entre atores (estudante internacional herda de estudante) está correta, mas a relação entre os casos de uso está descrita de forma invertida. O candidato que confunde os dois relacionamentos cai na armadilha.

Item — ❌ Errado

A afirmativa contém dois pontos: a herança entre atores e a relação entre casos de uso. O primeiro ponto está correto, mas o segundo está errado. A relação entre "matrícula em seminário" e "matrícula na universidade" é de extensão (<<extend>>), não de inclusão (<<include>>). No relacionamento de extensão, o caso de uso estendido (matrícula em seminário) é opcional e só é executado sob certas condições, não sendo obrigatoriamente acionado quando o caso de uso base (matrícula na universidade) é executado. A palavra "obrigatoriamente" no enunciado é o erro central, pois inverte a semântica dos relacionamentos.

NÃO CAIA NESSA!

A banca troca os relacionamentos <<include>> e <<extend>>. No <<include>>, o caso de uso incluído é obrigatório; no <<extend>>, o caso de uso de extensão é opcional e condicional. A frase "obrigatoriamente acionado" descreve o <<include>>, mas a figura mostra um <<extend>>. Fique atento a essa inversão clássica.

PEGA ESSA DICA!

Para não errar, lembre-se: include = obrigatório (o caso de uso base sempre chama o incluído) e extend = opcional (o caso de uso base pode chamar o de extensão sob condição). Se a questão disser "obrigatoriamente", procure o <<include>>; se disser "opcionalmente" ou "sob condição", procure o <<extend>>.

Gabarito: Errado (E).

Link permanente: /questoes/ce195672