Questão de Engenharia de Software — UML — Quadrix 2023
- Código
- qg027178
- Banca
- Quadrix
- Órgão
- CREFITO-7ª Região(BA e SE)
- Ano
- 2023
- Nível
- Superior
- Cargo
- Programador(a)
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: ERRADO. O diagrama de colaboração (também chamado de diagrama de comunicação) não é usado exclusivamente para capturar interações entre atores externos e o sistema; ele modela as interações entre objetos (instâncias de classes) que colaboram para realizar uma funcionalidade, podendo envolver ou não atores externos. A afirmação restringe indevidamente o escopo do diagrama, confundindo-o com o diagrama de casos de uso, que sim foca nas interações entre atores e o sistema.
O diagrama de colaboração é um dos diagramas de interação da UML, ao lado do diagrama de sequência. Ambos representam a troca de mensagens entre objetos, mas com ênfases diferentes: o diagrama de sequência destaca a ordem temporal das mensagens, enquanto o diagrama de colaboração destaca a estrutura organizacional dos objetos que participam da interação, mostrando os vínculos (links) entre eles e a numeração das mensagens para indicar a sequência. Ele é usado para modelar como um conjunto de objetos colabora para realizar um comportamento específico do sistema, como executar uma operação ou responder a um evento.
A confusão da questão está em atribuir ao diagrama de colaboração uma função que pertence ao diagrama de casos de uso. O diagrama de casos de uso é o que representa as interações entre atores externos (usuários, sistemas externos) e o sistema, mostrando as funcionalidades que o sistema oferece. Já o diagrama de colaboração trabalha em um nível mais interno, com objetos e mensagens, e não se limita a atores externos — ele pode envolver apenas objetos internos do sistema, sem qualquer ator externo.
Na prática, um diagrama de colaboração pode ser usado, por exemplo, para modelar como os objetos Cliente, Pedido e Estoque trocam mensagens para processar um pedido. Nesse caso, não há ator externo envolvido; a interação é entre objetos internos. Portanto, a palavra "exclusivamente" na afirmação é o termo que a torna incorreta, pois o diagrama tem um escopo muito mais amplo.
A banca explora a confusão entre os diagramas de interação e o diagrama de casos de uso. O candidato que memoriza apenas que "diagrama de colaboração mostra interações" pode ser induzido a aceitar a afirmação, mas o detalhe "exclusivamente" e "atores externos" denuncia o erro. Guarde a distinção: casos de uso = atores externos + funcionalidades; colaboração/comunicação = objetos internos + mensagens.
A afirmação está incorreta porque o diagrama de colaboração não se restringe a atores externos. Ele modela a interação entre objetos (instâncias de classes) que colaboram para realizar uma tarefa, podendo incluir atores externos, mas não exclusivamente. O diagrama que captura as interações entre atores externos e o sistema é o diagrama de casos de uso. Além disso, o diagrama de colaboração é um diagrama de interação, que também pode ser usado para modelar fluxos internos entre objetos, sem qualquer ator externo.
A banca troca o escopo do diagrama de colaboração pelo do diagrama de casos de uso. O termo "exclusivamente" é o gatilho: o diagrama de colaboração não é exclusivo para atores externos — ele modela interações entre objetos, que podem ser internos ou externos. Fique atento a essa inversão clássica.
Para diferenciar os diagramas, lembre-se: casos de uso = ator externo + funcionalidade (o que o sistema faz); colaboração/comunicação = objetos + mensagens (como os objetos interagem). Se a questão falar em "atores externos" e "interações com o sistema", o diagrama é de casos de uso; se falar em "objetos" e "mensagens", é de colaboração ou sequência.
Gabarito: ERRADO.
Link permanente: /questoes/qg027178