Questão de Engenharia de Software — UML — FCC 2016
- 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
- A<<extend>>
- B<<generalize>>
- C<<Include>>
- D<<specialize>>
- E<<connect>>
GabaritoC — <<Include>>
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.
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.
<<generalize>> (ou generalização) é usado quando um caso de uso é uma especialização de outro, o que não é o caso aqui.
<<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".
<<specialize>> é equivalente a <<generalize>>, indicando especialização, não se aplica à relação descrita.
<<connect>> não é um estereótipo padrão da UML para relacionamentos entre casos de uso.
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