A Linguagem de Modelagem Unificada (UML) é composta por vários diagramas, que têm por objetivo fornecer visões do sistema a ser modelado. “Existem dois diagramas que são associados diretamente à linguagem de programação, tendo como objetivo mostrar a organização do próprio código do projeto de software, escondendo detalhes de especificações através de seus artefatos de sistema e a dependência de seus relacionamentos.” Assinale-os.
- A)De Classes e Casos de uso.
Errada, porque casos de uso mostram funcionalidade e interação com atores, não a organização interna do código.
- B)De Componentes e de Classes.
Certa, porque classes e componentes são os diagramas mais ligados à estrutura do software e à visão de implementação.
- C)De Casos de Uso e de Sequência.
Errada, porque casos de uso e sequência tratam de comportamento e interação, não de artefatos e dependências do código.
- D)De Atividades e de Máquina de Estado.
Errada, porque atividades e máquina de estados modelam fluxo e mudanças de estado, e não a arquitetura do projeto.
Gabarito: B
A UML organiza a modelagem do sistema em várias visões, e cada diagrama ajuda em uma parte do quebra-cabeça. Alguns mostram comportamento, outros mostram estrutura, e alguns são mais próximos da implementação. Quando a banca fala em diagramas associados diretamente à linguagem de programação e à organização do código, ela está apontando para aqueles que ajudam a enxergar a arquitetura e os artefatos do software, com suas dependências e módulos. O diagrama de classes mostra a estrutura estática do sistema: classes, atributos, métodos e relacionamentos. Ele é muito usado para representar a base do código orientado a objetos, então conversa diretamente com a linguagem de programação. Já o diagrama de componentes mostra a organização física do sistema em partes reutilizáveis, como módulos, bibliotecas, serviços e arquivos de implementação, deixando claro como os artefatos se relacionam. Por isso, o gabarito é a letra B. Esses dois diagramas são os mais ligados à visão de implementação e à organização do código, diferente de diagramas como casos de uso, atividades ou estados, que focam mais em requisitos e comportamento. Em resumo: classes desenham a estrutura lógica do código; componentes desenham a estrutura modular do software.