Os relacionamentos que podem ser representados em um diagram...

Próximas questões
Com base no mesmo assunto
Q80261 Engenharia de Software
Os relacionamentos que podem ser representados em um diagrama de caso de uso são:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: E - dependência, associação e generalização.

A questão aborda um dos diagramas mais importantes da UML (Unified Modeling Language), que é o diagrama de caso de uso. Este diagrama é uma representação gráfica que mostra quais atores interagem com cada caso de uso em um sistema, sendo fundamental para a compreensão dos requisitos funcionais de um sistema e a comunicação entre stakeholders técnicos e não-técnicos.

Para resolver a questão, é preciso entender os seguintes tipos de relacionamentos:

  • Dependência: É um relacionamento que especifica que uma mudança em um elemento (o dependente) pode afetar outro elemento (o independente). Em diagramas de caso de uso, isso pode ser representado quando um caso de uso inclui ou se estende a outro.
  • Associação: Mostra uma relação entre um ator e um caso de uso, indicando que o ator interage com o caso de uso. É representado por uma linha reta que conecta um ator a um caso de uso.
  • Generalização: Indica uma relação de herança entre dois casos de uso ou dois atores. Significa que um caso de uso (ou ator) herda o comportamento e as propriedades de outro mais geral.

Estes são os tipos de relacionamentos que podem ser representados em um diagrama de caso de uso. Não se confunda com relações como polimorfismo, que está mais relacionado com a programação orientada a objetos e não é um tipo de relacionamento representado em diagramas de caso de uso na UML.

A alternativa correta é a letra E, pois ela lista corretamente todos os três tipos de relacionamentos possíveis em um diagrama de caso de uso. Esses relacionamentos são fundamentais para a correta modelagem e compreensão das funcionalidades do sistema representado.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Os relacionamentos do diagrama de caso de uso:

Associação
Pode ser unidirecional ou bi-direcional.
Quando uma seta aponta para o ator, significa que a informação está indo do sistema para o ator.
Quando uma seta aponta para o caso de uso, significa que a informação está indo do ator, ou usuário, para o sistema.
Quando não tem seta, significa que o negócio é full-duplex ou half-duplex se for um negócio sincrono. Significa que a informação flui entre as partes livremente.

Generalização/Especialização
Pode ser entre casos de uso ou entre atores.
Quando um caso de uso herda de outro, herda também todas as suas depedências, tudo o que o caso de uso base se associa, todos os extends ou includes.

Include
É como se o caso de uso estive chamando uma função em linguagem de programação, incluíndo uma sub-rotina comum a muitos casos de uso.

Extends
Parece com o include, mas só é utilizado em casos especiais, sob algum evento particular.



Eu não encontrei em nenhum lugar explicitamente falando em dependência, mas acredito que seja um relacionamento implícito válido para qualquer um dos que foram citados. Se você Associa, Herda, Inclui ou Extend algo, então você depende disso.

Para dar mais uma clareada no assunto...

Associação: Você associa um ator com um ou mais casos de uso. Uma relação entre um ator e um caso de uso indica que o ator inicia o caso de uso, o caso de uso fornece resultados ao ator, ou ambos.

Generalização: Atores e casos de uso podem ser generalizados da mesma forma que muitos outros classificadores.
A generalização de ator é utilizada para extrair requisitos comuns de vários atores diferentes para simplificar a modelagem.
A generalização de caso de uso é utilizada para expressar algumas necessidades funcionais de alto nível de um sistema, sem entrar em especificidades. A generalização é representada por uma linha contínua com uma seta fechada apontando do caso de uso especializado para o caso de uso básico.

Inclusão: é um caso de uso compartilhado. O caso de uso que inclui outro caso de uso é incompleto. A funcionalidade incluída não é considerada opcional; ela é destacada (separada) simplesmente para permitir a reutilização em outros casos de uso. É representada por uma linha tracejada com uma seta aberta (DEPENDÊNCIA) apontando do caso de uso básico para o caso de uso incluído e a palavra "include"
Extensão: fornece a capacidade de se conectar um caso de uso ADICIONAL a um caso de uso básico se condições específicas forem atendidas. A extensão também é representada com uma seta de DEPENDÊNCIA apontando do caso de uso de extensão para o caso de uso básico e a palavra "extends"

Podemos tirar a conclusão que a DEPENDENCIA são os includes e os extends. Portanto a resposta é associação, generalização e dependencia.
Podemos concluir que a relação de include se configura em uma dependência total entre os casos de uso envolvidos e que a relação de extend seria uma dependência parcial, podendo ocorrer ou não, dependendo de uma ou mais condições.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo