Questão de Arquitetura de Computadores — Sistemas Distribuídos — FGV 2024
Arquitetura de Computadores›Sistemas Distribuídos
Código
fg079717
Banca
FGV
Órgão
DATAPREV
Ano
2024
Nível
Superior
Cargo
ATI - Desenvolvimento de Software
Em relação ao Design e arquitetura de Software, assinale a opção correta.
AO Design de Software é o processo de codificação de funcionalidades seguindo diretamente os requisitos do usuário, sem envolver abstrações ou estruturas maiores.
BNo Design de Software de baixo nível, o foco está na criação da estrutura geral do sistema, incluindo a definição de módulos e sua interação.
CO Design de Software de alto nível trata de decisões relacionadas à implementação de funções e métodos específicos dentro dos componentes de um sistema.
DA principal diferença entre Design e Arquitetura de Software é que a Arquitetura foca em decisões amplas e estruturais, enquanto o Design foca em decisões detalhadas e específicas.
EA Arquitetura de Software é um conceito aplicado apenas em projetos de grande escala, sendo irrelevante para sistemas menores e simples.
Revelar gabarito e comentário▾
GabaritoD — A principal diferença entre Design e Arquitetura de Software é que a Arquitetura foca em decisões amplas e estruturais, enquanto o Design foca em decisões detalhadas e específicas.
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”.
Design e Arquitetura de Software
Gabarito: letra D. A alternativa D descreve corretamente a diferença fundamental entre Arquitetura e Design de Software: a arquitetura trata de decisões amplas e estruturais (como a organização em módulos, padrões de comunicação e requisitos não funcionais), enquanto o design foca em decisões detalhadas e específicas (como a implementação de classes, métodos e algoritmos dentro dos componentes). Essa distinção é amplamente aceita na engenharia de software.
As demais alternativas apresentam conceitos invertidos ou reducionistas:
Aspecto
Arquitetura de Software
Design de Software
Foco principal
Decisões amplas e estruturais
Decisões detalhadas e específicas
Nível de abstração
Alto nível (macro)
Baixo nível (micro)
Exemplos de decisões
Padrões arquiteturais, divisão em módulos, comunicação entre subsistemas
Definição de classes, métodos, atributos, algoritmos e fluxos internos
Relação com requisitos
Atende requisitos não funcionais e estruturais
Implementa requisitos funcionais dentro dos componentes
Analogia clássica
"O quê" (estrutura geral)
"Como" (detalhamento interno)
Design vs. Arquitetura
1Arquitetura (alto nível)
Decisões amplas e estruturais
Módulos e interação
Padrões arquiteturais
2Design (baixo nível)
Decisões detalhadas e específicas
Classes, métodos, algoritmos
Implementação interna
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Define o Design de Software como mera codificação direta dos requisitos, sem envolvimento de abstrações ou estruturas maiores. Na realidade, o design é uma fase de planejamento que utiliza modelos, diagramas e princípios de engenharia para estruturar a solução antes da codificação. A codificação é a implementação do design, não o design em si.
Alternativa B — ❌ Incorreta
Afirma que o Design de baixo nível foca na estrutura geral e definição de módulos. Na verdade, o design de baixo nível (detalhado) trata da implementação interna de cada módulo: algoritmos, estruturas de dados, interfaces específicas. A estrutura geral do sistema é definida no design de alto nível (arquitetura).
Alternativa C — ❌ Incorreta
Atribui ao Design de alto nível as decisões de implementação de funções e métodos específicos. O correto é o oposto: o design de alto nível (arquitetura) estabelece a estrutura macro, enquanto o design de baixo nível cuida dos detalhes internos de cada componente.
Alternativa D — ✅ Correta ⟵ GABARITO
Explica corretamente a diferença: a Arquitetura de Software trata das decisões amplas e estruturais (como a escolha de padrões arquiteturais, divisão em módulos, comunicação entre subsistemas), enquanto o Design de Software foca em decisões detalhadas e específicas (como a definição de classes, métodos, atributos e fluxos dentro de cada módulo). É a distinção clássica entre "o quê" (arquitetura) e "como" (design).
Alternativa E — ❌ Incorreta
Sustenta que a Arquitetura de Software só se aplica a projetos de grande escala. Na verdade, a arquitetura é relevante em qualquer sistema, independentemente do tamanho. Mesmo sistemas pequenos se beneficiam de decisões arquiteturais para garantir manutenibilidade e escalabilidade. A diferença é que, em sistemas menores, a arquitetura pode ser mais simples e menos formal.