Pular para o conteúdo principal

Questão de Engenharia de Software — UML — INSTITUTO AOCP 2024

Engenharia de SoftwareUML
Código
qg263135
Banca
INSTITUTO AOCP
Órgão
UFS
Ano
2024
Nível
Superior
Cargo
Analista de Tecnologia da Informação - Classe E
Em um projeto de desenvolvimento de software orientado a objetos, qual das seguintes alternativas melhor descreve o papel do diagrama de classes no processo de modelagem?
  1. AO diagrama de classes é usado apenas para a representação visual da interface de usuário.
  2. BO diagrama de classes é primariamente utilizado para modelar o fluxo de dados entre diferentes métodos.
  3. CO diagrama de classes serve para representar as relações estáticas entre classes, incluindo atributos e métodos.
  4. DO diagrama de classes é mais utilizado para descrever a interação entre objetos em tempo de execução.
  5. EO diagrama de classes é usado exclusivamente para modelar classes abstratas.
Revelar gabarito e comentário

GabaritoC — O diagrama de classes serve para representar as relações estáticas entre classes, incluindo atributos e métodos.

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 Classes na UML

Gabarito: letra C. O diagrama de classes é um diagrama estrutural da UML que representa as relações estáticas entre classes, incluindo seus atributos e métodos (operações), fornecendo uma visão estática do sistema. As demais alternativas descrevem outros diagramas ou usos incorretos.

A UML (Unified Modeling Language) é uma linguagem-padrão para visualizar, especificar, construir e documentar os artefatos de um sistema de software. Ela fornece 13 diagramas diferentes, que se dividem em duas grandes categorias: diagramas estruturais e diagramas comportamentais. Os diagramas estruturais descrevem a estrutura estática do sistema, ou seja, os elementos que existem independentemente do tempo, como classes, objetos, componentes e a distribuição física. Já os diagramas comportamentais descrevem o comportamento dinâmico do sistema, ou seja, como os elementos interagem e mudam ao longo do tempo, como sequência, atividades e estados.

O diagrama de classes é o diagrama estrutural mais importante e mais utilizado na modelagem orientada a objetos. Ele serve para modelar as classes do sistema, incluindo seus atributos (as propriedades que descrevem o estado de um objeto) e seus métodos ou operações (as ações que um objeto pode executar). Além disso, o diagrama de classes mostra os relacionamentos entre as classes, como associação, agregação, composição, generalização (herança) e dependência. Esses relacionamentos são representados por linhas que conectam as classes, com notações específicas para cada tipo de vínculo, como a multiplicidade (1, 1.., 0..) que indica quantas instâncias de uma classe se relacionam com instâncias de outra.

É fundamental entender que o diagrama de classes fornece uma visão estática ou estrutural do sistema. Ele não mostra a natureza dinâmica das comunicações entre os objetos das classes no diagrama. Para modelar a interação entre objetos em tempo de execução, utilizam-se diagramas comportamentais, como o diagrama de sequência, o diagrama de comunicação e o diagrama de atividades. O diagrama de classes é a base para a implementação do código, pois define a estrutura das classes que serão criadas na linguagem de programação.

A banca explora a confusão entre os diagramas estruturais e comportamentais. O candidato que não domina essa distinção pode facilmente marcar uma alternativa que descreve o diagrama de sequência ou o diagrama de atividades como se fosse o diagrama de classes. A chave para acertar é lembrar que o diagrama de classes é estático e foca na estrutura (classes, atributos, métodos e relacionamentos), enquanto os diagramas comportamentais focam na dinâmica (interações, fluxos, mudanças de estado).

Critério

Diagrama de Classes (C)

Diagramas Comportamentais (D)

Diagrama de Fluxo de Dados (B)

Foco principal

Estrutura estática: classes, atributos, métodos e relacionamentos

Interação dinâmica entre objetos em tempo de execução

Fluxo de dados entre processos, armazenamentos e entidades

Tipo de visão

Estática/estrutural

Dinâmica/comportamental

Estruturada (não orientada a objetos)

Exemplos de uso

Base para implementação de código OO

Diagrama de sequência, comunicação, atividades

Modelagem de processos de dados

Representa

Relações como associação, herança, composição

Troca de mensagens e ordem temporal

Movimentação de dados entre funções

Alternativa A — ❌ Incorreta

A alternativa afirma que o diagrama de classes é usado apenas para a representação visual da interface de usuário. Isso é um erro grave. O diagrama de classes modela a estrutura interna do sistema, representando as classes de domínio, suas propriedades e comportamentos. A interface de usuário é modelada por outros artefatos, como protótipos de tela, diagramas de caso de uso (para capturar requisitos de interação) e, em alguns casos, diagramas de componentes ou de implantação. O diagrama de classes não tem como foco a interface gráfica, mas sim a lógica de negócio e a estrutura de dados.

Alternativa B — ❌ Incorreta

A alternativa afirma que o diagrama de classes é primariamente utilizado para modelar o fluxo de dados entre diferentes métodos. Isso é uma confusão com o diagrama de fluxo de dados (DFD), que é uma técnica de modelagem estruturada, não orientada a objetos. O DFD mostra como os dados fluem entre processos, armazenamentos e entidades externas. O diagrama de classes, por sua vez, modela a estrutura estática das classes e seus relacionamentos, não o fluxo de dados entre métodos. O fluxo de dados entre métodos pode ser representado em diagramas de sequência ou de comunicação, que mostram a troca de mensagens entre objetos.

Alternativa C — ✅ Correta ⟵ GABARITO

Esta alternativa descreve corretamente o papel do diagrama de classes. Ele serve para representar as relações estáticas entre classes, incluindo atributos e métodos. O diagrama de classes é um diagrama estrutural que fornece uma visão estática do sistema, mostrando as classes, seus atributos, suas operações e os relacionamentos entre elas (associação, agregação, composição, generalização, dependência). É a base para a implementação do código orientado a objetos.

Alternativa D — ❌ Incorreta

A alternativa afirma que o diagrama de classes é mais utilizado para descrever a interação entre objetos em tempo de execução. Isso é uma confusão com os diagramas comportamentais, como o diagrama de sequência e o diagrama de comunicação. O diagrama de sequência mostra a ordem temporal das mensagens trocadas entre objetos, enquanto o diagrama de comunicação mostra as interações entre objetos em um contexto específico. O diagrama de classes é estático e não descreve a dinâmica das interações em tempo de execução.

Alternativa E — ❌ Incorreta

A alternativa afirma que o diagrama de classes é usado exclusivamente para modelar classes abstratas. Isso é incorreto. O diagrama de classes pode modelar qualquer tipo de classe, incluindo classes concretas, classes abstratas e interfaces. Classes abstratas são representadas com o nome em itálico, mas o diagrama de classes não se limita a elas. Ele é usado para modelar todas as classes do sistema, independentemente de serem abstratas ou concretas.

Gabarito: letra C

Link permanente: /questoes/qg263135