Pular para o conteúdo principal

Questão de Arquitetura de Software — Conceitos Básicos em Arquitetura de Software — FGV 2023

Arquitetura de SoftwareConceitos Básicos em Arquitetura de Software
Código
fg061604
Banca
FGV
Órgão
Câmara dos Deputados
Ano
2023
Nível
Superior
Cargo
Analista Legislativo - Informática Legislativa - Tarde
Padrões GRASP comunicam princípios fundamentais de atribuição de responsabilidades em um projeto orientado a objetos e oferecem soluções idiomáticas que guiam os projetistas na criação de software.De acordo com esses padrões, um princípio fundamental, segundo o qual as responsabilidades são atribuídas em projetos orientado a objetos, é
  1. Aatribuir responsabilidade de maneira que o acoplamento entre classes permaneça forte.
  2. Batribuir responsabilidade à classe que tem a informação necessária para satisfazer a responsabilidade.
  3. Catribuir responsabilidades de forma que a coesão das classes permanece baixa.
  4. Datribuir a responsabilidade do tratamento dos eventos de sistema de um mesmo caso de uso a múltiplas classes.
  5. Eatribuir um conjunto de responsabilidades sem coesão a uma classe artificial para permitir a reutilização.
Revelar gabarito e comentário

GabaritoB — atribuir responsabilidade à classe que tem a informação necessária para satisfazer a responsabilidade.

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”.

Padrões GRASP: Information Expert

Gabarito: letra B. O princípio fundamental dos padrões GRASP para atribuição de responsabilidades é o Information Expert (Especialista na Informação), que determina que a responsabilidade deve ser atribuída à classe que possui a informação necessária para cumpri-la. Esse conceito é um dos pilares dos GRASP (General Responsibility Assignment Software Patterns), conforme descrito na literatura de engenharia de software.

Alternativa A — ❌ Incorreta

Afirma que o acoplamento entre classes deve permanecer forte. Os GRASP, ao contrário, preconizam o princípio Low Coupling (Baixo Acoplamento), que recomenda minimizar dependências entre classes para facilitar manutenção e reuso. A alternativa inverte o conceito.

Alternativa B — ✅ Correta ⟵ GABARITO

Descreve exatamente o padrão Information Expert: atribuir responsabilidade à classe que detém a informação necessária. Esse princípio promove alta coesão e baixo acoplamento, pois a classe que sabe executar a tarefa já possui os dados, evitando delegar sem necessidade.

Alternativa C — ❌ Incorreta

Propõe que a coesão das classes permaneça baixa, contrariando o princípio High Cohesion (Alta Coesão) dos GRASP. A coesão alta significa que as responsabilidades de uma classe estão fortemente relacionadas, o que torna o sistema mais compreensível e manutenível.

Alternativa D — ❌ Incorreta

Sugere atribuir a responsabilidade do tratamento de eventos de um mesmo caso de uso a múltiplas classes. O padrão Controller dos GRASP, por outro lado, recomenda que um único objeto (geralmente um controlador) seja responsável por receber e coordenar os eventos do sistema, evitando dispersão de responsabilidades.

Alternativa E — ❌ Incorreta

Menciona atribuir um conjunto de responsabilidades sem coesão a uma classe artificial para reutilização. Embora exista o padrão Pure Fabrication (Fabricação Pura), ele cria classes artificiais para representar conceitos que não existem no domínio, mas sempre visando alta coesão e baixo acoplamento, nunca agrupando responsabilidades sem coesão.

NÃO CAIA NESSA!

A banca testa o conhecimento do padrão mais central dos GRASP — Information Expert. As alternativas erradas misturam os princípios opostos (forte acoplamento, baixa coesão) ou citam outros padrões (Controller, Pure Fabrication) de forma distorcida. Decore: Information Expert = a classe que sabe faz. Fixe também o tripé: baixo acoplamento, alta coesão e especialista na informação.

Gabarito: letra B.

Link permanente: /questoes/fg061604