Pular para o conteúdo principal

Questão de Engenharia de Software — UML — FGV 2024

Engenharia de SoftwareUML
Código
fg098578
Banca
FGV
Órgão
TJ-MS
Ano
2024
Nível
Superior
Cargo
Técnico de Nível Superior - Analista de Sistemas Computacionais - Web Designer
A UML (Unified Modeling Language) é uma linguagem padrão para especificação de artefatos de sistemas de informação. Observe o seguinte diagrama UML representando a topologia de hardware de um sistema com seus respectivos artefatos de software.Imagem associada para resolução da questãoPara especificar os elementos de hardware ou software, representados por nós interligados, contendo os artefatos de software que compõem um sistema, deve-se utilizar o Diagrama de:
  1. Aclasses (class);
  2. Bpacotes (package);
  3. Cimplementação (deployment);
  4. Dcomponentes (component);
  5. Emáquina de estado (state machine).
Revelar gabarito e comentário

GabaritoC — implementação (deployment);

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Diagrama de Implantação (Deployment) na UML

Gabarito: letra C. O diagrama que especifica a topologia de hardware (nós) e os artefatos de software neles implantados é o Diagrama de Implantação (deployment). Ele é o diagrama estrutural da UML voltado à visão física do sistema, mostrando dispositivos, processadores e onde cada artefato (executável, biblioteca, banco de dados) está alocado.

A UML (Unified Modeling Language) é uma linguagem de modelagem padronizada pela OMG, usada para especificar, visualizar, construir e documentar artefatos de sistemas. Seus diagramas dividem-se em estruturais (estáticos) e comportamentais (dinâmicos). O Diagrama de Implantação pertence ao grupo dos estruturais, assim como o de Classes, Componentes, Pacotes, Objetos e Estrutura Composta. Enquanto o Diagrama de Componentes mostra a organização lógica dos componentes de software e suas interfaces, o Diagrama de Implantação mostra a estrutura física — os nós de hardware (servidores, estações, dispositivos) e os artefatos de software que eles executam.

Na prática, imagine um sistema web: o Diagrama de Implantação representaria um nó "Servidor Web" contendo o artefato "app.war", um nó "Servidor de Banco de Dados" contendo o artefato "banco.sql", e um nó "Estação Cliente" com o navegador. As associações entre nós indicam os protocolos de comunicação (HTTP, JDBC). É exatamente essa topologia de hardware com artefatos que a questão descreve.

A pegadinha da banca está em confundir o Diagrama de Implantação com o Diagrama de Componentes. A diferença crucial: o Diagrama de Componentes foca nos componentes de software e suas interfaces (visão lógica), enquanto o Diagrama de Implantação foca nos nós físicos (hardware) e nos artefatos neles contidos (visão física). O enunciado menciona "topologia de hardware" e "nós interligados" — palavras-chave que apontam diretamente para o deployment.

Guarde a fronteira: hardware/nós + artefatos = Implantação; software/componentes + interfaces = Componentes. É nessa distinção que as alternativas se dividem.

Critério

Diagrama de Implantação (Deployment) — ✅ Gabarito

Diagrama de Componentes — ❌ Principal distrator

Foco principal

Topologia física: nós de hardware (servidores, dispositivos) e artefatos de software neles contidos

Organização lógica do software: componentes, interfaces fornecidas/requeridas e dependências

Elementos representados

Nós (hardware), artefatos (executáveis, bibliotecas, bancos de dados), associações de comunicação

Componentes de software, interfaces, portas, dependências

Visão do sistema

Visão física de implantação (onde o software roda)

Visão lógica da estrutura do software (como o software é dividido)

Palavras-chave no enunciado

"Topologia de hardware", "nós interligados", "artefatos de software"

"Componentes", "interfaces", "dependências entre software"

Exemplo prático

Nó "Servidor Web" contendo "app.war"; nó "Banco de Dados" contendo "banco.sql"

Componente "Sistema de Pagamento" com interface "IPagamento" usada por outro componente

Alternativa A — ❌ Incorreta

O Diagrama de Classes descreve a estrutura estática do sistema em classes, atributos, métodos e relacionamentos (associação, herança, composição). Não tem relação com topologia de hardware nem com artefatos de software implantados. É um diagrama estrutural, mas focado no modelo lógico de classes.

Alternativa B — ❌ Incorreta

O Diagrama de Pacotes organiza os elementos do modelo em grupos (pacotes) e mostra as dependências entre eles. É usado para estruturar o modelo em alto nível, mas não representa hardware nem nós físicos. Não atende à descrição do enunciado.

Alternativa C — ✅ Correta ⟵ GABARITO

O Diagrama de Implantação (deployment) é exatamente o que o enunciado descreve: representa a topologia de hardware por meio de nós (dispositivos, processadores) e os artefatos de software (arquivos executáveis, bibliotecas, bancos de dados) que cada nó contém. É o diagrama estrutural da UML voltado à visão física de implantação do sistema.

Alternativa D — ❌ Incorreta

O Diagrama de Componentes mostra os componentes de software, suas interfaces fornecidas e requeridas e os relacionamentos entre eles. Embora seja um diagrama estrutural e trate de artefatos de software, ele não representa a topologia de hardware nem os nós físicos. A confusão com o Diagrama de Implantação é a armadilha clássica desta questão.

Alternativa E — ❌ Incorreta

O Diagrama de Máquina de Estados (state machine) é um diagrama comportamental que descreve os estados de um objeto e as transições entre eles em resposta a eventos. Não tem qualquer relação com hardware, nós ou artefatos de software. É usado para modelar o ciclo de vida de um objeto.

NÃO CAIA NESSA!

A banca explora a confusão entre Diagrama de Componentes e Diagrama de Implantação. Ambos são estruturais e tratam de artefatos, mas o de Componentes foca na organização lógica do software (interfaces, dependências), enquanto o de Implantação foca na estrutura física (nós de hardware, dispositivos). O enunciado diz "topologia de hardware" e "nós interligados" — isso é a assinatura do deployment. Se a questão falasse apenas em "componentes e interfaces", a resposta seria D. Fique atento a essas palavras-chave!

PEGA ESSA DICA!

Para não errar mais, associe cada diagrama a uma pergunta-chave: Classes → "quais são as classes e seus relacionamentos?"; Componentes → "quais são os componentes de software e suas interfaces?"; Implantação → "em quais nós de hardware os artefatos estão instalados?"; Pacotes → "como agrupar os elementos do modelo?"; Máquina de Estados → "quais estados um objeto pode assumir?". Na prova, sublinhe termos como "hardware", "nó", "topologia física" — eles apontam para o deployment.

Gabarito: letra C

Link permanente: /questoes/fg098578