Arquiteturas de Software: Vantagens e Desvantagens
48 Questions
1 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Qual é uma vantagem da arquitetura monolítica?

  • Comunicação ágil entre serviços
  • Escalabilidade independente dos serviços
  • Fácil de desenvolver e implantar em sistemas pequenos (correct)
  • Alterações em um componente não afetam outros
  • O que é uma desvantagem da arquitetura de microserviços?

  • Maior complexidade na gestão de muitos serviços (correct)
  • Menor confiabilidade devido a falhas em serviço único
  • Simplicidade na gestão de componentes
  • Baixa escalabilidade
  • Qual é uma das principais vantagens da arquitetura em camadas?

  • Facilidade de teste das camadas individualmente (correct)
  • Aumento da dependência entre as camadas
  • Requerimento de mudanças em múltiplas camadas simultaneamente
  • Melhoria da comunicação entre camadas
  • Qual é um desafio da arquitetura baseada em eventos?

    <p>Aumento da latência na comunicação</p> Signup and view all the answers

    Quais são os principais componentes da arquitetura cliente-servidor?

    <p>Servidor e cliente</p> Signup and view all the answers

    Qual é uma característica da arquitetura monolítica?

    <p>Todos os componentes estão integrados como um único bloco de código</p> Signup and view all the answers

    Qual desvantagem é frequentemente associada à arquitetura em camadas?

    <p>Desempenho reduzido devido à comunicação entre camadas</p> Signup and view all the answers

    Por que a arquitetura de microserviços é considerada escalável?

    <p>Os serviços podem ser escalados independentemente uns dos outros</p> Signup and view all the answers

    Um dos benefícios da arquitetura cliente-servidor é:

    <p>Distribuição que permite interação entre dispositivos distintos</p> Signup and view all the answers

    O que pode ser considerado um ponto fraco da arquitetura cliente-servidor?

    <p>Dependência de uma conexão estável com a rede</p> Signup and view all the answers

    O que pode afetar a confiabilidade de um sistema monolítico?

    <p>Um erro em um componente pode afetar todo o sistema</p> Signup and view all the answers

    A arquitetura em camadas facilita a manutenção porque:

    <p>Cada camada é responsável por uma função específica</p> Signup and view all the answers

    Como funciona a comunicação na arquitetura baseada em eventos?

    <p>Eventos são gerados por um produtor e consumidos por consumidores</p> Signup and view all the answers

    Uma desvantagem da arquitetura em camadas é:

    <p>A comunicação entre camadas pode causar sobrecarga</p> Signup and view all the answers

    Qual das seguintes opções é uma desvantagem da arquitetura de microserviços?

    <p>Gerenciamento de complexidade de comunicação</p> Signup and view all the answers

    Qual das seguintes afirmações é verdadeira sobre as arquiteturas discutidas?

    <p>Ambas dependem de uma rede estável para funcionamento</p> Signup and view all the answers

    Qual é uma desvantagem da Arquitetura Orientada a Serviços (SOA)?

    <p>Sobrecarga devido ao uso de protocolos complexos.</p> Signup and view all the answers

    O que caracteriza a Arquitetura de Repositório Compartilhado?

    <p>Componentes com acesso a dados centralizados e atualizados.</p> Signup and view all the answers

    Qual é uma vantagem da Arquitetura em Camadas?

    <p>Flexibilidade na reutilização de componentes.</p> Signup and view all the answers

    Qual é um fator que complica a manutenção na Arquitetura Orientada a Serviços?

    <p>A gestão de contratos de serviços.</p> Signup and view all the answers

    O que é um ponto único de falha na Arquitetura de Repositório Compartilhado?

    <p>A centralização do armazenamento de dados.</p> Signup and view all the answers

    Qual das seguintes opções não é uma vantagem da Arquitetura Orientada a Serviços?

    <p>Simplicidade na comunicação entre serviços.</p> Signup and view all the answers

    Qual característica define uma desvantagem da flexibilidade em sistemas arquiteturais?

    <p>Dificuldade em rastrear o fluxo de dados.</p> Signup and view all the answers

    Na Arquitetura Orientada a Serviços, qual é a importância dos protocolos padronizados?

    <p>Facilitam a comunicação entre serviços independentes.</p> Signup and view all the answers

    Qual é uma das desvantagens da arquitetura de Pipeline e Filter?

    <p>Processamento sequencial pode ser lento</p> Signup and view all the answers

    Qual é uma vantagem da arquitetura orientada a componentes?

    <p>Reuso de componentes entre diferentes sistemas</p> Signup and view all the answers

    Qual afirmação melhor descreve uma desvantagem da arquitetura de Pipeline e Filter?

    <p>Dificuldade em refatorar a ordem dos filtros</p> Signup and view all the answers

    Na arquitetura orientada a componentes, qual é uma desvantagem significativa?

    <p>Integração e comunicação entre componentes são complexas</p> Signup and view all the answers

    Qual é a principal característica da arquitetura de Pipeline e Filter?

    <p>Filtros processam dados sequencialmente</p> Signup and view all the answers

    O que caracteriza o acesso simultâneo em sistemas?

    <p>Gargalos no processamento de dados</p> Signup and view all the answers

    Qual é uma desvantagem comum da arquitetura orientada a componentes?

    <p>Sobrecarga na comunicação entre dependências</p> Signup and view all the answers

    Qual afirmação é verdadeira sobre serviços e recursos em arquitetura de nuvem?

    <p>Recursos são oferecidos por plataformas de computação em nuvem</p> Signup and view all the answers

    Quais são algumas das limitações da arquitetura baseada em nuvem e névoa?

    <p>Menor capacidade de processamento e armazenamento</p> Signup and view all the answers

    Qual das seguintes aplicações se beneficia mais da arquitetura de nuvem e névoa?

    <p>Aplicações da Internet das Coisas (IoT)</p> Signup and view all the answers

    O que as camadas de névoa e nuvem têm em comum na arquitetura combinada?

    <p>Ambas distribuem tarefas com base nas necessidades da aplicação</p> Signup and view all the answers

    Quais são os dispositivos que pertencem à camada de névoa?

    <p>Routers inteligentes e hubs IoT</p> Signup and view all the answers

    Qual é a função principal da camada de nuvem na arquitetura baseada em nuvem e névoa?

    <p>Realizar armazenamento massivo e análise avançada</p> Signup and view all the answers

    Quais dos seguintes exemplos pertencem à camada de dispositivos periféricos?

    <p>Câmaras de segurança</p> Signup and view all the answers

    Qual é a vantagem principal da arquitetura combinada de nuvem e névoa?

    <p>Proporciona melhor escalabilidade e baixa latência</p> Signup and view all the answers

    Qual destes não é um exemplo típico de dispositivos da camada de névoa?

    <p>Data centers</p> Signup and view all the answers

    Qual é uma vantagem da Computação em Nuvem?

    <p>Modelo de pagamento conforme o uso</p> Signup and view all the answers

    Qual das seguintes é uma desvantagem da Computação em Nuvem?

    <p>Risco de lock-in com fornecedores</p> Signup and view all the answers

    O que caracteriza a Computação em Névoa?

    <p>Redução do tráfego de dados para a nuvem</p> Signup and view all the answers

    Qual é um benefício associado à arquitetura de escalabilidade da Computação em Nuvem?

    <p>Ajuste de recursos conforme a demanda</p> Signup and view all the answers

    Uma das limitações da Computação em Nuvem é:

    <p>Maior largura de banda necessária</p> Signup and view all the answers

    Qual é uma característica dos serviços de Computação em Nuvem?

    <p>Recursos computacionais avançados disponíveis</p> Signup and view all the answers

    Uma desvantagem da Computação em Névoa é:

    <p>Aumento de latência para usuários remotos</p> Signup and view all the answers

    Qual das opções abaixo não é uma vantagem da Computação em Nuvem?

    <p>Custos iniciais elevados</p> Signup and view all the answers

    Study Notes

    Arquiteturas de Software

    • Arquiteturas de software são um conjunto de decisões estruturais e organizacionais que definem o design e a operação de um sistema de software. Desempenham um papel fundamental no processo de engenharia de software, funcionando como um plano para o desenvolvimento, evolução e manutenção de um sistema.

    • Componentes (ou Módulos): São as partes independentes de um sistema que realizam funções específicas.

    • Conexões (ou Conectores): Representam as interações entre os componentes. Exemplos incluem chamadas de funções, APIs, mensagens ou eventos.

    • Restrições e Regras: São conjuntos de diretrizes que definem como os componentes e conectores devem interagir para atender os requisitos desejados.

    Definição de Arquitetura de Software

    • A arquitetura de software é a estrutura de um sistema. É composta pelos elementos do software, as suas interações e as propriedades que eles exibem.

    • É uma representação de alto nível que considera os aspectos técnicos, mas também os requisitos funcionais (ex: desempenho, segurança) e não funcionais (ex: escalabilidade, manutenibilidade).

    Componentes Principais da Arquitetura de Software

    • Visões Arquiteturais: A arquitetura de software pode ser vista de diferentes perspectivas (ex: visão lógica, física, de desenvolvimento e de processos).

    • Visão Lógica: Foca no comportamento e funcionalidades do sistema.

    • Visão Física: Descreve a infraestrutura de hardware onde o software será executado.

    • Visão de Desenvolvimento: Mostra como o software é organizado para facilitar a construção e manutenção.

    • Visão de Processos: Aborda os aspectos relacionados à execução do sistema, incluindo concorrência e comunicação.

    Importância da Arquitetura de Software

    • Base para a Tomada de Decisões: Ajuda a tomar decisões sobre tecnologias, frameworks, linguagens de programação e padrões de design.

    • Facilidade de Evolução e Manutenção: Facilita a adição de novas funcionalidades, correção de erros e adaptação a mudanças.

    • Comunicação entre Partes Interessadas: Serve como modelo comum para desenvolvedores, gerentes, clientes e outros stakeholders.

    • Garantia de Qualidade: Ajuda a atender requisitos de qualidade (ex: desempenho, escalabilidade, confiabilidade e segurança).

    Processo de Criação da Arquitetura de Software

    • Entendimento dos Requisitos: Obtenção e análise de requisitos funcionais e não funcionais para guiar as decisões arquiteturais.

    • Modelação: Representação da arquitetura por diagramas e documentos que explicam a estrutura e o comportamento do sistema.

    • Escolha de Estilos Arquiteturais: Avaliação e seleção de estilos como cliente-servidor, microserviços, monolítico, orientado a eventos.

    • Avaliação: Utilização de técnicas como Análise de Comércio de Arquitetura (ATAM) para avaliar a eficácia da arquitetura proposta.

    • Documentação e Comunicação: Documentação da arquitetura para garantir que todos os envolvidos compreendam o plano e possam contribuir.

    Relação com a Engenharia de Software

    • A arquitetura de software conecta todas as etapas do ciclo de vida de desenvolvimento, influenciando:

    • Análise de Requisitos: Vincula necessidades aos requisitos técnicos.

    • Design e Implementação: Guia a estruturação do código e escolha de padrões.

    • Testes: Define pontos de controle e critérios de qualidade.

    • Manutenção: Oferece uma base consistente para futuras atualizações.

    Estilos Arquiteturais

    • Os estilos arquiteturais de engenharia de software são padrões de design reconhecidos que orientam a organização e interação de componentes de um sistema.

    • Cada estilo é projetado para atender diferentes necessidades e restrições de sistemas e escolhido com base nos requisitos funcionais e não funcionais.

    Arquitetura em Camadas (Layered Architecture)

    • Organiza o sistema em camadas sobrepostas, onde cada camada fornece serviços para a camada acima e consome serviços da camada abaixo.

    • Vantagens: Separação de responsabilidades, facilidade de manutenção e testes, reutilização.

    • Desvantagens: Desempenho, dependência rígida.

    Arquitetura Cliente-Servidor

    • Divide o sistema em dois componentes: servidor (processa dados e fornece serviços) e cliente (consome serviços do servidor).

    • Vantagens: Distribuição, escalabilidade.

    • Desvantagens: Dependência da rede, manutenção.

    Arquitetura Monolítica

    • O sistema é desenvolvido como um único bloco de código, onde todos os componentes estão integrados.

    • Vantagens: Simplicidade, desempenho.

    • Desvantagens: Manutenção, escalabilidade.

    Arquitetura de Microserviços

    • Divide o sistema em pequenos serviços independentes comunicando-se via APIs.

    • Vantagens: Escalabilidade, manutenção.

    • Desvantagens: Complexidade, comunicação.

    Arquitetura Baseada em Eventos (Event-Driven Architecture)

    • Componentes comunicam-se através de eventos assíncronos.

    • Vantagens: Desempenho, flexibilidade.

    • Desvantagens: Depuração, complexidade.

    Arquitetura Orientada a Componentes

    • O sistema é composto por componentes modulares que podem ser desenvolvidos e implantados independentemente.

    • Vantagens: Reutilização, manutenção.

    • Desvantagens: Complexidade, sobrecarga.

    Arquitetura de Computação em Nuvem

    • Fornece- acesso a serviços e recursos computacionais por meio de plataformas em nuvem.

    • Vantagens: Escalabilidade, custo-benefício.

    • Desvantagens: Dependência e segurança.

    Arquitetura de Computação em Névoa (Fog Computing)

    • Capacidade de processamento localizada perto dos dispositivos.

    • Vantagens: Baixa latência, uso de rede mais eficiente.

    • Desvantagens: Menor capacidade de armazenamento, complexidade.

    Arquitetura Combinada: Nuvem e Névoa

    • Combinação de nuvem e computação em névoa que otimiza os recursos, distribuindo de acordo com suas necessidades.

    Fluxo de Dados em Arquitetura Cloud-Fog

    • Coleta, processamento local e envio para a nuvem para análises mais detalhadas, os resultados são retornados para a camada de névoa ou para dispositivos periféricos.

    Casos de Uso

    • Veículos Autônomos, Smart Cities e Indústria 4.0.

    Vantagens da Arquitetura Cloud-Fog

    • Baixa Latência, eficiência na utilização de rede, escalabilidade e resiliência.

    Desafios da Arquitetura Cloud-Fog

    • Segurança e privacidade, gestão de recursos e interoperabilidade.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    Arquiteturas de SW PDF

    Description

    Teste seus conhecimentos sobre as diversas arquiteturas de software, incluindo monolítica, microserviços, em camadas e cliente-servidor. Este quiz explora os principais benefícios e desafios de cada arquitetura, ajudando você a entender melhor suas características. Prepare-se para avaliar suas respostas e expandir seu entendimento sobre o assunto.

    More Like This

    Monolithic Architecture Challenges
    5 questions
    Monolithic Application vs Microservices
    36 questions
    Monolith vs Microservices Overview
    8 questions
    Use Quizgecko on...
    Browser
    Browser