Questão nº 32
Questão de Tecnologia da Informação · FGV ALEP 2024 (nº 32)
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. (alternativa correta)
- 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.
Resposta comentada
Gabarito Alternativa B
Ao desenvolver um novo aplicativo, a arquitetura de software é como o projeto de uma casa: ela define como as partes do sistema se organizam e interagem, impactando a facilidade de construir, manter e modificar.
(A) Incorreta: A arquitetura Peer-to-Peer (P2P), onde cada computador na rede pode ser cliente e servidor, é complexa para um aplicativo de vendas centralizado, dificultando a consistência de dados, segurança e gerenciamento de mudanças, e não simplifica o controle de versão.
(B) Correta: Uma arquitetura de 3 camadas (apresentação, lógica de negócio, dados) e o padrão Modelo-Visão-Controlador (MVC) promovem a separação de preocupações, tornando o código mais organizado, fácil de manter e testar. Isso facilita o gerenciamento de mudanças e dependências, crucial para um aplicativo que precisa se adaptar ao feedback dos usuários. Embora ajudem na organização, esses padrões arquiteturais não são ferramentas de controle de versão (como Git) ou de integração contínua (CI/CD), que são práticas e ferramentas separadas.
(C) Incorreta: O padrão MVC é amplamente aplicável a sistemas de vendas e é muito eficaz para organizar a interface e a lógica de interação. A afirmação de que não pode ser aplicado está incorreta.
(D) Incorreta: A armadilha aqui é a afirmação de que a arquitetura baseada em componentes "torna o controle de versão desnecessário". O controle de versão é fundamental em qualquer projeto de software, independentemente da arquitetura, para rastrear alterações, colaborar e gerenciar diferentes versões do código. Nenhuma arquitetura elimina essa necessidade.
(E) Incorreta: A arquitetura Monolítica concentra todo o código em um único módulo. Embora possa ser mais simples para iniciar, ela geralmente dificulta o gerenciamento de mudanças e a escalabilidade a longo prazo, especialmente quando o sistema precisa de adaptações frequentes com base no feedback do usuário. Padrões Factory são padrões de design para criação de objetos, não um padrão arquitetural que resolve os desafios de um monólito em relação à gestão de mudanças.
Fonte: FGV ALEP 2024 Analista Legislativo - Desenvolvedor de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.