Questão de Engenharia de Software — Desenvolvimento de Software — FCC 2018
Engenharia de Software›Desenvolvimento de Software
Código
fc042328
Banca
FCC
Órgão
Câmara Legislativa do Distrito Federal
Ano
2018
Cargo
Analista de Sistemas - Área 2
Considere a situação em que, durante o projeto de um sistema de controle eleitoral, um Analista de Sistemas obteve os seguintes requisitos:I. O cidadão exerce o papel de eleitor e pode exercer também o de mesário. Um caso de uso para cadastrar cidadão pode ter um desdobramento para os tipos eleitor e mesário.II. Durante o processo de cadastro, se ocorrer de um cidadão eleitor solicitar ser também mesário, o sistema deverá realizar um caso de uso específico para cadastrá-lo como mesário.III. Toda vez que um cidadão mesário necessitar acessar o sistema eleitoral para averiguar alguma situação, ele deve se “logar” e, então, sempre, nessa situação, o sistema deverá realizar um caso de uso para autenticar o mesário (validar login e senha).Em um Diagrama de Caso de Uso, os relacionamentos derivados da especificação dos requisitos acima, correspondem, correta e respectivamente, a
Aextensão, generalização e inclusão.
Bgeneralização, extensão e inclusão.
Cextensão, extensão e inclusão.
Dgeneralização, inclusão e inclusão.
EInclusão, extensão e generalização.
Revelar gabarito e comentário▾
GabaritoB — generalização, extensão e inclusã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”.
Relacionamentos em Diagramas de Caso de Uso
Gabarito: letra B. A sequência correta dos relacionamentos é generalização (I), extensão (II) e inclusão (III), conforme a descrição dos requisitos. A banca testa a capacidade de distinguir esses três tipos de relacionamento em UML.
Requisito I — Generalização
O requisito fala em "desdobramento para os tipos eleitor e mesário" a partir de um caso de uso genérico de cadastro. Isso caracteriza o relacionamento de generalização/especialização: o caso de uso pai ("Cadastrar Cidadão") é generalizado em casos de uso filhos específicos ("Cadastrar Eleitor", "Cadastrar Mesário").
Requisito II — Extensão
O requisito descreve uma condição opcional: "se ocorrer de um cidadão eleitor solicitar ser também mesário, o sistema deverá realizar um caso de uso específico para cadastrá-lo como mesário". Isso é uma extensão (extend): o caso de uso base ("Cadastrar Eleitor") pode ser estendido pelo caso de uso "Cadastrar Mesário" quando uma condição é satisfeita. A extensão é opcional e ocorre em pontos de extensão.
Requisito III — Inclusão
O requisito afirma que "toda vez que um cidadão mesário necessitar acessar o sistema... ele deve se logar e, sempre, o sistema deverá realizar um caso de uso para autenticar o mesário". Isso é uma inclusão (include): o caso de uso "Acessar Sistema" obrigatoriamente inclui o caso de uso "Autenticar Mesário". A inclusão é obrigatória e representada pela seta tracejada com estereótipo «include».
Alternativa A — ❌ Incorreta
Troca a ordem: coloca extensão primeiro, mas o correto é generalização. A banca inverte os relacionamentos para confundir.
Alternativa B — ✅ Correta ⟵ GABARITO
Apresenta a sequência exata: generalização (I), extensão (II), inclusão (III).
Alternativa C — ❌ Incorreta
Erra ao colocar extensão também no primeiro requisito. O primeiro é generalização, não extensão.
Alternativa D — ❌ Incorreta
Erra ao colocar inclusão no segundo requisito, que é extensão.
Alternativa E — ❌ Incorreta
Inverte completamente a ordem: coloca inclusão onde deveria ser generalização e generalização onde deveria ser inclusão.
PEGA ESSA DICA!
Para diferenciar, lembre-se:
Generalização: relação pai-filho (é um tipo de).
Extensão: comportamento opcional que estende um caso de uso base (condicional).
Inclusão: comportamento obrigatório que é sempre executado dentro de outro caso de uso.