Questão nº 59
Questão de Tecnologia da Informação · FGV ALEP 2024 (nº 59)
Seja o diagrama de casos de uso UML a seguir:

Uma semântica válida para esse diagrama é a de que
- Aé possível ao ator X ativar a sequência de interações do caso de uso F por derivação primária.
- Bo caso de uso D implementa uma situação específica do caso de uso F.
- Co caso de uso E possui sequência de interações necessariamente utilizadas pelo caso de uso B.
- Dos casos de uso A e B possuem uma sequência de interações em comum, especificada no caso de uso C. (alternativa correta)
- Eos casos de uso A e B representam classes associativas entre o ator X e o caso de uso C.
Resposta comentada
Gabarito Alternativa D
Um diagrama de casos de uso mostra as funcionalidades de um sistema (os casos de uso) e como os usuários ou sistemas externos (os atores) interagem com elas. Os relacionamentos entre casos de uso, como <<include>> e <<extend>>, descrevem como essas funcionalidades se conectam.
<<include>>(Inclusão): Indica que um caso de uso base sempre incorpora o comportamento de outro caso de uso incluído. É usado para extrair funcionalidades comuns ou obrigatórias.<<extend>>(Extensão): Indica que um caso de uso extensor pode adicionar comportamento opcional a um caso de uso base, sob certas condições.
(A) Incorreta: O ator X está associado diretamente ao caso de uso F, o que significa que ele pode ativá-lo. No entanto, o termo "derivação primária" não é uma terminologia padrão em UML para descrever a ativação direta de um caso de uso por um ator, tornando a afirmação imprecisa. A armadilha aqui é que o ator realmente pode ativar F, mas a forma como a ativação é descrita ("derivação primária") é incomum e não padrão, o que a torna tecnicamente incorreta ou, no mínimo, mal formulada.
(B) Incorreta: O relacionamento <<extend>> (D estende F) significa que o caso de uso D adiciona um comportamento opcional ao caso de uso F, sob certas condições. Não significa que D implementa uma situação específica de F. F é o caso de uso base, e D é um comportamento adicional que pode ocorrer.
(C) Incorreta: O relacionamento <<extend>> (E estende B) indica que o caso de uso E pode ser invocado pelo caso de uso B, mas não necessariamente. A execução de E é opcional e condicional, dependendo de pontos de extensão definidos em B. Se fosse "necessariamente", o relacionamento seria <<include>>.
(D) Correta: Os casos de uso A e B ambos possuem um relacionamento <<include>> com o caso de uso C. Isso significa que a sequência de interações definida em C é uma parte obrigatória e comum que é executada tanto por A quanto por B. Portanto, C especifica uma funcionalidade compartilhada por A e B.
(E) Incorreta: Casos de uso não representam "classes associativas". Classes associativas são um conceito de diagrama de classes, usado para modelar um relacionamento que possui atributos e operações próprios. A e B são casos de uso que incluem C, não há conceito de classe associativa envolvido aqui.
Fonte: FGV ALEP 2024 Analista Legislativo - Desenvolvedor de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.