Prévia do material em texto
Material de Estudo 44: Engenharia de Software - Arquitetura de Software e Design de Sistemas 1. Em um projeto de desenvolvimento de um sistema de comércio eletrônico de grande porte, a equipe busca utilizar uma arquitetura de software que maximize a escalabilidade, a flexibilidade e a resiliência do sistema. Qual arquitetura seria mais adequada para essa aplicação? a) Arquitetura monolítica. b) Arquitetura de microsserviços. c) Arquitetura orientada a serviços (SOA). d) Arquitetura em camadas. e) Arquitetura de eventos. Resposta: b) Arquitetura de microsserviços. Justificativa: A arquitetura de microsserviços permite a decomposição do sistema em pequenos serviços independentes, que podem ser escalados, desenvolvidos e implantados de forma independente, aumentando a flexibilidade e a resiliência do sistema. 2. Em um projeto de desenvolvimento de um sistema de gerenciamento de conteúdo (CMS) para um site de notícias, a equipe busca utilizar um padrão de design de software que maximize a modularidade e a extensibilidade do sistema. Qual padrão seria mais adequado para essa aplicação? a) Padrão MVC (Model-View-Controller). b) Padrão Observer. c) Padrão Factory. d) Padrão Singleton. e) Padrão Strategy. Resposta: a) Padrão MVC (Model-View-Controller). Justificativa: O padrão MVC separa a lógica de negócios, a interface do usuário e o gerenciamento de dados em componentes independentes, facilitando a manutenção, a extensibilidade e a reutilização de código. 3. Em um projeto de desenvolvimento de um sistema de processamento de pagamentos online, a equipe busca utilizar um padrão de design de software que maximize a segurança e a confiabilidade do sistema. Qual padrão seria mais adequado para essa aplicação? a) Padrão Decorator. b) Padrão Adapter. c) Padrão Proxy. d) Padrão Facade. e) Padrão Command. Resposta: c) Padrão Proxy. Justificativa: O padrão Proxy permite o controle de acesso e a validação de dados antes de serem processados pelo sistema, aumentando a segurança e a confiabilidade do sistema. 4. Em um projeto de desenvolvimento de um sistema de gerenciamento de filas de mensagens para comunicação entre microsserviços, a equipe busca utilizar um padrão de design de software que maximize a escalabilidade e a tolerância a falhas do sistema. Qual padrão seria mais adequado para essa aplicação? a) Padrão Publish-Subscribe. b) Padrão Chain of Responsibility. c) Padrão Iterator. d) Padrão Template Method. e) Padrão Mediator. Resposta: a) Padrão Publish-Subscribe. Justificativa: O padrão Publish-Subscribe permite a comunicação assíncrona entre microsserviços, desacoplando os serviços e aumentando a escalabilidade e a tolerância a falhas do sistema. 5. Em um projeto de desenvolvimento de um sistema de inteligência artificial para reconhecimento de imagens, a equipe busca utilizar um padrão de design de software que maximize a flexibilidade e a extensibilidade do sistema para diferentes algoritmos de reconhecimento. Qual padrão seria mais adequado para essa aplicação? a) Padrão Builder. b) Padrão Bridge. c) Padrão State. d) Padrão Visitor. e) Padrão Strategy. Resposta: e) Padrão Strategy. Justificativa: O padrão Strategy permite a definição de diferentes algoritmos de reconhecimento de imagem como estratégias intercambiáveis, facilitando a adição de novos algoritmos e a adaptação do sistema a diferentes requisitos.