Em um processo de modelagem de sistemas de software, utiliz...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta para a questão é a B - Dependência.
Em um diagrama de classes da UML (Unified Modeling Language), o relacionamento de dependência é caracterizado quando uma classe utiliza outra de alguma forma, mas não tem controle sobre seu ciclo de vida. Neste contexto, a dependência ocorre, por exemplo, quando uma instância de uma classe é usada como argumento em um método de outra classe, como mencionado na questão. É um relacionamento mais fraco comparado a outros, como composição ou agregação, e indica que a classe dependente (classe A) precisa da outra (classe B) para executar uma operação ou comportamento específico.
Vamos entender por que as outras alternativas estão incorretas:
A - Composição: Este tipo de relacionamento é bem mais forte e implica que uma classe contém outra classe como parte integrante de sua estrutura. Quando a classe 'pai' é destruída, as classes 'filhas' também são. Isso não se aplica ao cenário apresentado na questão, já que a instância da classe B é apenas usada temporariamente como argumento.
C - Agregação: Semelhante à composição, mas com uma diferença crucial: na agregação, as classes 'filhas' podem existir independentemente da classe 'pai'. Embora mais fraco que a composição, ainda é mais forte do que uma dependência, pois há uma agregação de funcionalidades entre as duas classes. Na questão, não há indicação de que a classe B é parte contínua da classe A, apenas um argumento momentâneo.
D - Especialização: Este conceito refere-se à herança, onde uma classe (subclasse) herda atributos e métodos de outra (superclasse). Aqui, não se trata de um relacionamento de utilização temporária, mas sim de uma relação hierárquica baseada em características comuns. Claramente, este conceito não está alinhado com o uso de uma instância como argumento.
Espero que este comentário tenha esclarecido suas dúvidas sobre os tipos de relacionamentos em UML e como identificar cada um deles em contextos de modelagem de software.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
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
Gabarito - Letra A
"uma instância de uma classe A utiliza uma instância de uma classe B como argumento em um de seus métodos..." - Trata-se de uma relação de dependência da classe A pela classe B.
Dependência.
No diagrama de classes UML, quando uma classe A utiliza uma instância de uma classe B como argumento em um de seus métodos, isso caracteriza uma relação de dependência, pois:
1. A dependência (representada por uma linha tracejada com uma seta) indica que uma classe usa ou depende de outra classe de forma temporária
2. É considerada uma relação mais fraca entre classes, onde uma classe conhece a outra apenas momentaneamente
3. Ocorre tipicamente em situações como:
- Quando uma classe usa outra como parâmetro de método
- Quando uma classe usa outra como tipo de retorno
- Quando uma classe referencia outra dentro de um método
As outras opções estão incorretas porque:
- Composição: indica uma relação "todo-parte" forte, onde a parte não existe sem o todo
- Agregação: também é uma relação "todo-parte", mas mais fraca que a composição
- Especialização: é uma relação de herança entre classes
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo