Questão nº 59
Questão de Engenharia de Software · FCC TST 2017 (nº 59)
Ao elaborar um modelo de Caso de Uso usando Unified Modeling Language – UML, um Analista de Sistemas levantou, hipoteticamente, os seguintes requisitos: o Cidadão que interage com o sistema pode atuar de forma geral como Cidadão, mas também de formas específicas como Pessoa Física ou Pessoa Jurídica. As diferentes formas de atuação do cidadão, indicam
- Auma inclusão do Ator Cidadão nos Casos de Uso Pessoa Física ou Jurídica.
- Bum relacionamento entre um Ator e dois Casos de Uso do tipo Generalização.
- Cum relacionamento entre atores do tipo Generalização. (alternativa correta)
- Dum relacionamento entre Casos de Uso do tipo Extensão.
- Euma expansão dos Casos de Uso Pessoa Física ou Jurídica em Cidadão.
Resposta comentada
Gabarito Alternativa C
No Diagrama de Casos de Uso do UML, um Ator representa um papel que uma entidade (pessoa, sistema externo) desempenha ao interagir com o sistema. A Generalização entre atores indica que um ator mais específico (sub-ator) herda todas as capacidades e interações de um ator mais geral (super-ator), podendo também ter suas próprias interações adicionais.
- (A) Incorreta: A inclusão (
<<include>>) é um relacionamento entre Casos de Uso, não entre um Ator e Casos de Uso. Ela indica que um Caso de Uso sempre incorpora a funcionalidade de outro. - (B) Incorreta: A generalização é um relacionamento entre atores (ator-ator) ou entre casos de uso (caso de uso-caso de uso), mas não diretamente entre um ator e dois casos de uso da forma como está descrita, especialmente quando o problema foca nas "formas de atuação" do cidadão, que são os próprios atores.
- (C) Correta: A situação descrita ("Cidadão" como ator geral, e "Pessoa Física" ou "Pessoa Jurídica" como formas específicas de atuação do cidadão) é um exemplo clássico de Generalização entre Atores. Significa que "Pessoa Física é um Cidadão" e "Pessoa Jurídica é um Cidadão", herdando as interações do ator Cidadão e adicionando as suas próprias.
- (D) Incorreta: A extensão (
<<extend>>) é um relacionamento entre Casos de Uso, não entre atores. Ela indica que um Caso de Uso opcionalmente adiciona funcionalidade a outro sob certas condições. Esta é uma armadilha comum, pois<<extend>>é um relacionamento frequente em diagramas de caso de uso, mas se aplica a funcionalidades (casos de uso), não aos papéis dos usuários (atores). - (E) Incorreta: "Expansão" não é um tipo de relacionamento padrão em Diagramas de Casos de Uso do UML. A ideia de "formas de atuação" do cidadão remete à especialização de papéis (atores), não à expansão de casos de uso.
Fonte: FCC TST 2017 Analista Judiciário - Análise de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.