Pular para o conteúdo principal

Questão de Arquitetura de Software — Arquitetura Orientada a Objetos — INSTITUTO AOCP 2025

Arquitetura de SoftwareArquitetura Orientada a Objetos
Código
qg543510
Banca
INSTITUTO AOCP
Órgão
TRE-TO
Ano
2025
Nível
Superior
Cargo
Analista Judiciário - Área de Atividade: Apoio Especializado - Especialidade: Tecnologia da Informação
Durante a definição da arquitetura de um sistema, optou-se por um modelo orientado a objetos, com ênfase em reutilização e manutenção. A arquitetura foi organizada em pacotes e classes com responsabilidades bem definidas, usando mecanismos como herança e interfaces para promover flexibilidade. Dessa forma, com base nos princípios de uma arquitetura de sistemas baseada em orientação a objetos, assinale a alternativa correta.
  1. AA modularização em orientação a objetos impede a reutilização de componentes, pois promove acoplamento estático entre as classes.
  2. BArquiteturas baseadas em orientação a objetos utilizam composição, não admitindo a herança como mecanismo de extensão.
  3. CA utilização de interfaces em orientação a objetos aumenta o acoplamento entre os componentes e dificulta a testabilidade.
  4. DA separação de responsabilidades, a coesão interna dos módulos e o uso de interfaces promovem a manutenibilidade e reutilização de componentes.
  5. EA herança múltipla é obrigatória em qualquer arquitetura baseada em orientação a objetos, pois garante generalização entre todos os componentes do sistema.
Revelar gabarito e comentário

GabaritoD — A separação de responsabilidades, a coesão interna dos módulos e o uso de interfaces promovem a manutenibilidade e reutilização de componentes.

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

Arquitetura Orientada a Objetos

Gabarito: letra D. A alternativa D descreve corretamente os pilares da orientação a objetos: a separação de responsabilidades (princípio da responsabilidade única), a coesão interna dos módulos (alta coesão) e o uso de interfaces (que reduzem acoplamento) são práticas que favorecem a manutenibilidade e a reutilização de componentes. As demais alternativas distorcem ou negam conceitos fundamentais do paradigma.

1Separação de responsabilidades
Princípio da responsabilidade única
2Alta coesão interna
Módulos focados
3Baixo acoplamento
Interfaces reduzem dependência
Facilitam testabilidade (mocks)
4Mecanismos de extensão
Herança (reúso)
Composição (flexibilidade)
Pilares da Orientação a Objetos
LEVELsoulevel.com.br
Pilares da Orientação a Objetos: Separação de responsabilidades (Princípio da responsabilidade única); Alta coesão interna (Módulos focados); Baixo acoplamento (Interfaces reduzem dependência, Facilitam testabilidade (mocks)); Mecanismos de extensão (Herança (reúso), Composição (flexibilidade))

Alternativa A — ❌ Incorreta

Afirma que a modularização impede a reutilização e promove acoplamento estático, o que é o oposto do que se busca em OO. A modularização visa justamente facilitar a reutilização por meio de baixo acoplamento e alta coesão.

Alternativa B — ❌ Incorreta

Diz que arquiteturas OO utilizam composição e não admitem herança. Na verdade, herança é um dos principais mecanismos de extensão e reúso, ao lado da composição. Ambas são admitidas e usadas conforme o contexto.

Alternativa C — ❌ Incorreta

Afirma que interfaces aumentam o acoplamento e dificultam a testabilidade. O contrário é verdadeiro: interfaces reduzem o acoplamento (dependência de implementações concretas) e facilitam a testabilidade (possibilitam substituição por mocks em testes).

Alternativa D — ✅ Correta ⟵ GABARITO

A separação de responsabilidades, a coesão interna e o emprego de interfaces são práticas consagradas que promovem a manutenibilidade (facilidade de alterar o sistema) e a reutilização de componentes (aproveitamento em diferentes contextos).

Alternativa E — ❌ Incorreta

Afirma que a herança múltipla é obrigatória em qualquer arquitetura OO. Isso é falso: muitas linguagens (como Java) não a suportam nativamente, utilizando interfaces como alternativa, e mesmo onde existe, seu uso não é obrigatório. A generalização pode ser obtida com herança simples e outros mecanismos.

Gabarito: letra D

Link permanente: /questoes/qg543510