Pular para o conteúdo principal

Questão de Engenharia de Software — UML — FCC 2016

Engenharia de SoftwareUML
Código
fc034075
Banca
FCC
Órgão
TRT - 20ª REGIÃO (SE)
Ano
2016
Nível
Médio
Cargo
Técnico Judiciário - Tecnologia da Informação
Após conversa com diversos funcionários do Tribunal para o qual está sendo desenvolvido um software, um Técnico listou os seguintes requisitos:− O Juiz poderá cadastrar ou alterar informações nos processos. Para que alterações sejam possíveis é necessário que antes seja feita uma busca para localizar o processo.− O sistema registrará automaticamente em log todas as operações realizadas pelos funcionários do Tribunal, para futuros processos de auditoria. Ao construir um diagrama de casos de uso da UML para mostrar a relação entre o ator “Juiz” e os casos de uso “cadastrar processo”, “alterar processo” e “localizar processo”, notou-se uma associação entre os casos de uso “alterar processo” e “localizar processo”. Esta associação deve ser rotulada com o estereótipo
  1. A<<extend>>
  2. B<<generalize>>
  3. C<<Include>>
  4. D<<specialize>>
  5. E<<connect>>
Revelar gabarito e comentário

GabaritoC — <<Include>>

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”.

UML – Relacionamentos entre Casos de Uso

Gabarito: letra C. A associação entre "alterar processo" e "localizar processo" deve ser rotulada com o estereótipo <<include>>, pois o caso de uso "alterar processo" inclui obrigatoriamente o comportamento de "localizar processo" como parte de sua execução. Na UML, o relacionamento <<include>> indica que o caso de uso base sempre chama o caso de uso incluído.

O enunciado descreve que, para alterar um processo, é necessário primeiro localizá-lo. Isso configura uma dependência obrigatória, característica do <<include>>. Já o <<extend>> é usado para comportamento opcional ou excepcional, e a generalização/especialização (<<generalize>>, <<specialize>>) é usada para herança entre casos de uso.

Alternativa A — ❌ Incorreta

O estereótipo <<extend>> indica que um caso de uso estende opcionalmente outro, em pontos de extensão, e não se aplica à necessidade obrigatória descrita.

Alternativa B — ❌ Incorreta

<<generalize>> (ou generalização) é usado quando um caso de uso é uma especialização de outro, o que não é o caso aqui.

Alternativa C — ✅ Correta ⟵ GABARITO

<<include>> representa a relação em que um caso de uso inclui o comportamento de outro como parte de seu fluxo principal, sendo obrigatório. Exatamente o que ocorre: "alterar processo" inclui "localizar processo".

Alternativa D — ❌ Incorreta

<<specialize>> é equivalente a <<generalize>>, indicando especialização, não se aplica à relação descrita.

Alternativa E — ❌ Incorreta

<<connect>> não é um estereótipo padrão da UML para relacionamentos entre casos de uso.

NÃO CAIA NESSA!

A banca pode confundir <<include>> com <<extend>>. Enquanto <<include>> é obrigatório (o caso base sempre chama o incluído), <<extend>> é opcional e depende de condições. Identifique se a funcionalidade é obrigatória ou não para acertar.

Gabarito: letra C.

Link permanente: /questoes/fc034075