Questão de Engenharia de Software — UML — CESPE / CEBRASPE 2026
- Código
- ce391212
- Banca
- CESPE / CEBRASPE
- Órgão
- INFRA S.A.
- Ano
- 2026
- Cargo
- Analista ( )
- CCerto
- EErrado
GabaritoC — Certo
Gabarito: Certo (C). O diagrama de pacotes é um diagrama estrutural da UML 2 que modela a organização hierárquica dos elementos do sistema — como classes — em grupos (pacotes), representando a estrutura estática em tempo de compilação. A afirmação está correta.
O diagrama de pacotes é um dos sete diagramas estruturais da UML 2. Ele organiza os elementos do modelo em pacotes, que são agrupamentos lógicos de classes, interfaces, componentes e outros elementos. A hierarquia é representada por relações de dependência e composição entre pacotes, mostrando como o código-fonte é estruturado em módulos. Essa organização é estática, ou seja, não muda com o tempo, e reflete a visão de compilação do sistema: os pacotes agrupam classes que são compiladas juntas.
Na UML 2, os diagramas são divididos em duas grandes categorias: estruturais e comportamentais. Os estruturais (7) tratam dos aspectos estáticos do sistema — classes, objetos, componentes, pacotes, estrutura composta, implantação e perfis. Os comportamentais (7) tratam dos aspectos dinâmicos — casos de uso, atividades, máquinas de estados, sequência, comunicação, visão geral de interação e tempo. O diagrama de pacotes pertence claramente ao grupo estrutural, pois descreve a organização estática do código.
Um exemplo prático: em um sistema de vendas, os pacotes poderiam ser "entidades", "controles" e "interfaces". O pacote "entidades" conteria as classes Cliente, Pedido e ItemPedido; o pacote "controles" conteria as classes que gerenciam as regras de negócio; e o pacote "interfaces" conteria as classes de interação com o usuário. O diagrama de pacotes mostraria esses três grupos e as dependências entre eles, por exemplo, "controles" depende de "entidades". Essa estrutura é exatamente a organização em tempo de compilação.
A pegadinha que a banca poderia explorar é confundir o diagrama de pacotes com o diagrama de componentes ou com o diagrama de implantação. O diagrama de componentes mostra os artefatos físicos do software (arquivos, bibliotecas, executáveis) e seus relacionamentos, enquanto o diagrama de implantação mostra a distribuição física dos artefatos em hardware. O diagrama de pacotes, por sua vez, foca na organização lógica dos elementos do modelo, não na sua implementação física. Essa distinção é crucial para não errar questões sobre a finalidade de cada diagrama.
Guarde a fronteira: pacotes = organização lógica do código em tempo de compilação; componentes = artefatos físicos; implantação = distribuição em hardware. É exatamente nessa distinção que as questões sobre diagramas estruturais costumam se dividir.
Critério | Diagrama de Pacotes | Diagrama de Componentes | Diagrama de Implantação |
|---|---|---|---|
Foco principal | Organização lógica de classes e elementos em grupos (pacotes) | Artefatos físicos do software (arquivos, bibliotecas, executáveis) | Distribuição física de artefatos em nós de hardware |
Tipo de estrutura | Estática, em tempo de compilação | Física, em tempo de execução | Física, em tempo de execução |
Elementos representados | Pacotes, classes, dependências entre pacotes | Componentes, interfaces, portas, dependências | Nós, artefatos, conexões de comunicação |
Exemplo típico | Pacotes "entidades", "controles", "interfaces" com dependências | Arquivos .jar, .dll, executáveis e suas relações | Servidores, dispositivos e onde os artefatos são instalados |
A afirmação está correta. O diagrama de pacotes é um diagrama estrutural da UML 2 que modela a organização hierárquica dos grupos de classes (e outros elementos) no sistema, representando a estrutura estática em tempo de compilação. Ele agrupa classes em pacotes e mostra as dependências entre eles, refletindo como o código-fonte é organizado em módulos compiláveis. Essa é exatamente a definição do diagrama de pacotes.
Para diferenciar os diagramas estruturais na prova, lembre-se: pacotes = organização lógica do código (tempo de compilação); componentes = artefatos físicos (arquivos, bibliotecas); implantação = distribuição em hardware. Se a questão falar em "grupos de classes" ou "hierarquia de módulos", é pacote; se falar em "arquivos" ou "bibliotecas", é componente; se falar em "nós" ou "hardware", é implantação.
Gabarito: letra C (Certo).
Link permanente: /questoes/ce391212