Pular para o conteúdo principal

Questão de Arquitetura de Computadores — Sistemas Distribuídos — FGV 2024

Arquitetura de ComputadoresSistemas 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.
  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

Gabarito: letra D.

Link permanente: /questoes/fg079717