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.
- A)A 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.
Errada, porque arquitetura Peer-to-Peer nao e a escolha tipica para organizar um sistema de vendas e nao tem relacao direta com controle de versao ou gerenciamento de mudancas.
- B)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.
Certa, pois a arquitetura em 3 camadas combinada com MVC favorece separacao de responsabilidades e facilita evolucao do sistema, sem misturar isso com controle de versao ou integracao continua.
- C)O 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.
Errada, porque MVC pode sim ser aplicado junto com arquitetura em camadas, e arquitetura de camadas nao existe para facilitar controle de versao.
- D)Optar 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.
Errada, porque arquitetura orientada a componentes nao torna controle de versao desnecessario, e o argumento de independencia total dos componentes e exagerado.
- E)A 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.
Errada, porque arquitetura monolitica pode ate simplificar a distribuicao inicial, mas nao e a melhor resposta quando a ideia e favorecer organizacao e evolucao do sistema com melhor separacao de responsabilidades.
Gabarito: B
Quando a empresa quer lançar uma primeira versao e ainda entender como os usuarios vao reagir, o foco nao e inventar moda, e sim estruturar bem o sistema para facilitar ajustes rapidos. Nessa hora, uma arquitetura em 3 camadas ajuda a separar apresentacao, regra de negocio e acesso a dados, o que deixa a manutencao mais limpa e as mudancas menos dolorosas. O padrão MVC entra muito bem como forma de organizar a camada de apresentacao, separando Model, View e Controller. Isso melhora o gerenciamento de mudancas e de dependencias, porque cada parte fica mais isolada e menos dependente das outras. A banca acertou ao apontar a combinacao de 3 camadas com MVC como a alternativa mais coerente para uma primeira versao evolutiva, embora isso nao signifique, por si so, resolver controle de versao ou integracao continua, que sao praticas de processo e nao de arquitetura.