Questão de Arquitetura de Software — Arquitetura Orientada a Objetos — INSTITUTO AOCP 2025
Arquitetura de Software›Arquitetura 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.
AA modularização em orientação a objetos impede a reutilização de componentes, pois promove acoplamento estático entre as classes.
BArquiteturas baseadas em orientação a objetos utilizam composição, não admitindo a herança como mecanismo de extensão.
CA utilização de interfaces em orientação a objetos aumenta o acoplamento entre os componentes e dificulta a testabilidade.
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.
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.
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.