Questão de Engenharia de Software — UML — FCC 2019
Engenharia de Software›UML
Código
fc052789
Banca
FCC
Órgão
AFAP
Ano
2019
Cargo
Analista de Fomento - Tecnologia da Informação
Um Analista de Informática está desenhando um Diagrama de Caso de Uso usando a notação padrão da UML 2.5 e modela os seguintes requisitos:Caso de Uso: Cadastrar Funcionário que:I. Exige um relacionamento incondicional com outro Caso de Uso denominado Validar Matricula.II. Possui um relacionamento com o Caso de Uso denominado Cadastrar via Web que é uma variação de Cadastrar Funcionário.III. Deverá se relacionar com o Caso de Uso denominado Help On-line, se o usuário operador solicitar ajuda (Help) mediante seleção dessa opção.Os requisitos especificados acima tipificam os respectivos relacionamentos entre Casos de Uso:
AAssociação, Generalização e Especialização.
BInclusão, Especialização e Exclusão.
CInclusão, Generalização e Extensão.
DExtensão, Exclusão e Associação.
EGeneralização, Especialização e Extensão.
Revelar gabarito e comentário▾
GabaritoC — Inclusão, Generalização e Extensão.
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 – Relacionamentos (UML 2.5)
Gabarito: letra C. A questão descreve três requisitos que mapeiam, respectivamente, os relacionamentos de inclusão (<<include>>), generalização (herança entre casos de uso) e extensão (<<extend>>). A sequência correta é Inclusão, Generalização e Extensão.
A FCC testa o conhecimento dos três principais tipos de relacionamento entre casos de uso na UML 2.5. Vamos analisar cada requisito:
I – “Exige um relacionamento incondicional com outro Caso de Uso denominado Validar Matricula.” → Relacionamento de inclusão (<<include>>): o caso de uso base sempre inclui o comportamento do caso de uso incluído. É obrigatório e não depende de condição.
II – “Possui um relacionamento com o Caso de Uso denominado Cadastrar via Web que é uma variação de Cadastrar Funcionário.” → Generalização (herança): um caso de uso especializado (filho) herda e pode estender ou substituir o comportamento do caso de uso geral (pai). Representado por seta com triângulo vazio.
III – “Deverá se relacionar com o Caso de Uso denominado Help On-line, se o usuário operador solicitar ajuda” → Extensão (<<extend>>): o caso de uso base pode ser estendido opcionalmente por um caso de uso de extensão, ativado sob uma condição (no exemplo, quando o usuário solicita ajuda).
Requisito
Descrição
Relacionamento UML
I
Relacionamento incondicional com "Validar Matrícula"
Inclusão (<<include>>)
II
"Cadastrar via Web" é uma variação de "Cadastrar Funcionário"
Generalização (herança)
III
Relaciona-se com "Help On-line" se o usuário solicitar ajuda
Extensão (<<extend>>)
1Inclusão (<<include>>)I – incondicional
2Generalização (herança)II – variação
3Extensão (<<extend>>)III – condicional
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Apresenta “Associação, Generalização e Especialização”. Associação não é um relacionamento típico entre casos de uso (é entre ator e caso de uso, ou entre classes). “Especialização” é um termo genérico, mas o padrão UML é Generalização; o item I não é associação.
Alternativa B — ❌ Incorreta
Apresenta “Inclusão, Especialização e Exclusão”. Exclusão não existe como relacionamento padrão na UML para casos de uso (não há <<exclude>>). O item II deveria ser Generalização, e não “Especialização” (embora conceitualmente próximo, o termo correto é Generalização).
Alternativa C — ✅ Correta ⟵ GABARITO
Sequência exata: Inclusão (I), Generalização (II), Extensão (III). Corresponde perfeitamente aos três requisitos.
Alternativa D — ❌ Incorreta
Apresenta “Extensão, Exclusão e Associação”. Novamente, Exclusão não é padrão; a ordem está trocada (I é inclusão, não extensão); Associação não se aplica a casos de uso.
Alternativa E — ❌ Incorreta
Apresenta “Generalização, Especialização e Extensão”. O item I não é generalização (é inclusão); o item II é generalização (correto), mas o item III é extensão (correto), porém a ordem e o termo “Especialização” (em vez de Inclusão para I) tornam a alternativa errada.
PEGA ESSA DICA!
Na UML 2.5, os três relacionamentos entre casos de uso são: <<include>> (obrigatório, uso do comportamento incluído), generalização (herança entre casos de uso, seta com triângulo vazio) e <<extend>> (opcional, sob condição). Memorize: include = obrigatório, extend = opcional, generalização = variação/herança.