Questão de Arquitetura de Software — Arquitetura em camadas — FGV 2024
Arquitetura de Software›Arquitetura em camadas
Código
fg075143
Banca
FGV
Órgão
AL-PR
Ano
2024
Nível
Superior
Cargo
Analista Legislativo - Desenvolvedor de Sistemas
Uma empresa deseja lançar uma primeira versão de um aplicativo de vendas de produtos não muito comuns e, portanto, precisa saber qual será a melhor forma de aceitação dos usuários.Neste cenário, assinale a opção que indica o padrão arquitetural e metodologias corretas a serem aplicadas no desenvolvimento deste sistema.
AA arquitetura baseada em Peer-to-Peer, pois facilita o gerenciamento de mudanças e torna o controle de versão mais intuitivo, reduzindo a necessidade de ferramentas especializadas.
BUma arquitetura de 3 camadas com padrão arquitetural Modelo-Visão-Controlador (MVC), facilitando o gerenciamento de mudanças e dependências. Contudo, não impactando diretamente o controle de versão, nem a integração contínua.
CO padrão MVC não pode ser aplicado nesse caso, ao invés disso, usar a arquitetura de camadas irá facilitar o controle de versão.
DOptar pela arquitetura baseada em componentes com padrão MVC, já que simplifica o gerenciamento de mudanças e torna o controle de versão desnecessário, devido à independência dos componentes.
EA adoção do padrão de arquitetura Monolítica utilizando padrões Factory, já que concentra todos os componentes em um único módulo, simplificando o gerenciamento de mudanças.
Revelar gabarito e comentário▾
GabaritoB — Uma arquitetura de 3 camadas com padrão arquitetural Modelo-Visão-Controlador (MVC), facilitando o gerenciamento de mudanças e dependências. Contudo, não impactando diretamente o controle de versão, nem a integração contínua.
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 MVC e gerenciamento de mudanças
Gabarito: letra B. A arquitetura em três camadas com padrão MVC (Model-View-Controller) é a mais indicada para um aplicativo que precisa de flexibilidade para mudanças e aceitação dos usuários, pois separa a lógica de negócio (Model), a apresentação (View) e o controle (Controller), facilitando a manutenção e evolução. Porém, como corretamente afirma a alternativa, o MVC não impacta diretamente o controle de versão nem a integração contínua — essas são práticas de desenvolvimento independentes.
Alternativa A — ❌ Incorreta
A arquitetura Peer-to-Peer (P2P) não é adequada para um aplicativo de vendas tradicional, pois é mais utilizada em sistemas descentralizados de compartilhamento de recursos. Ela não simplifica o gerenciamento de mudanças nem torna o controle de versão mais intuitivo; pelo contrário, pode adicionar complexidade.
Alternativa B — ✅ Correta ⟵ GABARITO
A arquitetura de três camadas com MVC separa as responsabilidades, o que facilita o gerenciamento de mudanças e dependências. A afirmação de que não impacta diretamente controle de versão nem integração contínua é verdadeira — são conceitos ortogonais. Essa é a opção correta.
Alternativa C — ❌ Incorreta
Afirmar que o padrão MVC não pode ser aplicado é falso. MVC é amplamente utilizado em aplicações web, inclusive sistemas de vendas. Além disso, a arquitetura de camadas não tem relação direta com facilitar o controle de versão.
Alternativa D — ❌ Incorreta
Embora a arquitetura baseada em componentes com MVC possa simplificar o gerenciamento de mudanças, afirmar que "torna o controle de versão desnecessário devido à independência dos componentes" é um exagero. O controle de versão é sempre essencial para gerenciar a evolução do código, mesmo em sistemas modulares.
Alternativa E — ❌ Incorreta
A arquitetura monolítica concentra todos os componentes em um único módulo, o que na prática dificulta o gerenciamento de mudanças (alto acoplamento). O padrão Factory é um padrão de criação, não arquitetural, e não resolve essa limitação.
NÃO CAIA NESSA!
A alternativa D atrai o candidato com a ideia de que componentes independentes eliminam a necessidade de versionamento. Na realidade, versionamento é sempre necessário para rastrear alterações, independentemente do nível de desacoplamento.
Gabarito: letra B — único padrão que combina adequadamente facilidade de mudanças com honestidade sobre seus limites.