Estilos e Vistas da Arquitetura de Software
25 Questions
0 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 das seguintes características não faz parte dos requisitos não funcionais considerados na arquitetura de software?

  • Desempenho
  • Escalabilidade
  • Complexidade do código (correct)
  • Segurança
  • Na definição de arquitetura de software, o que compõe a estrutura de um sistema?

  • Apenas as conexões entre os módulos
  • Componentes, conexões e suas interações (correct)
  • Apenas os componentes
  • Os requisitos e as restrições
  • Qual das visões arquiteturais se concentra na infraestrutura de hardware onde o software será executado?

  • Visão física (correct)
  • Visão de segurança
  • Visão lógica
  • Visão de desempenho
  • Os conectores na arquitetura de software representam o que?

    <p>Interações entre os componentes (A)</p> Signup and view all the answers

    Qual elemento é parte integrante da arquitetura de software e assegura a interação adequada entre componentes?

    <p>Restrições e regras (B)</p> Signup and view all the answers

    Qual é a principal função da arquitetura na engenharia de software?

    <p>Conectar todas as etapas do ciclo de vida do desenvolvimento (C)</p> Signup and view all the answers

    Qual técnica é mencionada para avaliar a eficácia da arquitetura proposta?

    <p>Análise de Trades da Arquitetura (ATAM) (A)</p> Signup and view all the answers

    Os estilos arquiteturais na engenharia de software são utilizados para:

    <p>Guiar a organização e a interação dos componentes de um sistema (C)</p> Signup and view all the answers

    Como a arquitetura influencia a fase de manutenção do software?

    <p>Oferece uma base consistente para a atualização do sistema (C)</p> Signup and view all the answers

    Qual dos seguintes itens não é uma função atribuída à arquitetura de software?

    <p>Estruturar o código sem considerar padrões (A)</p> Signup and view all the answers

    Qual é uma desvantagem da arquitetura monolítica?

    <p>Erro em um componente afeta todo o sistema (C)</p> Signup and view all the answers

    Qual afirmação é verdadeira sobre a arquitetura de microserviços?

    <p>Sistemas podem ser facilmente escalados de forma independente (A)</p> Signup and view all the answers

    Qual é um benefício principal da arquitetura baseada em eventos?

    <p>Desempenho eficiente em tempo real (C)</p> Signup and view all the answers

    Na arquitetura de microserviços, qual é uma desvantagem significativa?

    <p>Dificuldade em gerenciar muitos serviços distintos (B)</p> Signup and view all the answers

    O que é um aspecto crítico da arquitetura monolítica?

    <p>Dificuldade em escalar e atualizar o sistema conforme o crescimento (A)</p> Signup and view all the answers

    Qual é a forma de comunicação utilizada na arquitetura baseada em eventos?

    <p>Assíncrona através de mensagens (D)</p> Signup and view all the answers

    Como a comunicação na arquitetura de microserviços normalmente ocorre?

    <p>Utilizando APIs entre serviços diferentes (C)</p> Signup and view all the answers

    Qual é uma desvantagem da arquitetura em camadas relacionada à comunicação entre as camadas?

    <p>Sobrecarga de desempenho devido à comunicação (D)</p> Signup and view all the answers

    Qual das opções a seguir é uma vantagem da arquitetura Cliente-Servidor?

    <p>Possibilidade de escalabilidade ao adicionar mais clientes (D)</p> Signup and view all the answers

    Na arquitetura em camadas, qual é um ponto positivo relacionado à gestão do sistema?

    <p>Facilidade de compreensão e manutenção (D)</p> Signup and view all the answers

    Qual é um fator que pode ser considerado uma desvantagem na arquitetura Cliente-Servidor?

    <p>Dependência da rede para operação (A)</p> Signup and view all the answers

    O que pode ser uma consequência de uma dependência rígida nas camadas de um sistema em camadas?

    <p>Necessidade de mudanças em múltiplas camadas para alterações (D)</p> Signup and view all the answers

    Qual é um exemplo de componente que pode ser reutilizado em sistemas que utilizam arquitetura em camadas?

    <p>A lógica de negócios da aplicação (A)</p> Signup and view all the answers

    O que a arquitetura em camadas facilita em relação aos testes de software?

    <p>Os testes individuais de cada camada (C)</p> Signup and view all the answers

    Como a arquitetura Cliente-Servidor pode melhorar a interação entre dispositivos?

    <p>Por permitir a distribuição de processamento entre servidor e cliente (B)</p> Signup and view all the answers

    Study Notes

    Software Architecture Styles

    • Software architectures are a set of structural and organizational decisions that define the design and operation of a software system.
    • They play a fundamental role in the software engineering process, acting as a plan that guides development, evolution, and maintenance of a system.
    • Key architectural components include: Components (or Modules): These are independent parts of the system that perform specific functions, like libraries, services, classes, or other software elements.
    • Conexões (or Conectores): These represent interactions between components, such as function calls, APIs, messages, or events.
    • Restrições e Regras: These are guidelines defining how components and connectors interact to ensure the system meets desired requirements

    Software Architecture Views

    • Architectural views represent the architecture from different perspectives:
    • Logical View: Focuses on system behavior and functionalities.
    • Physical View: Describes the hardware infrastructure where the software will run.
    • Development View: Shows how the software is organized for construction and maintenance.
    • Process View: Considers system execution, concurrency, and communication aspects.

    Importance of Software Architecture

    • Provides a Foundation for Decision Making: Helps in making decisions about technologies, frameworks, programming languages, and design patterns.
    • Enhances Evolution and Maintainability: Facilitates adding new features, correcting errors, and adapting to changes.
    • Improves Communication: Creates a common model for developers, managers, clients, and other stakeholders to understand and collaborate.
    • Supports Quality Assurance: Helps in meeting quality requirements, such as performance, scalability, reliability, and security.

    Software Architecture Creation Process

    • Understanding Requirements: Gathering and analyzing functional and non-functional requirements.
    • Modeling: Representing the architecture with diagrams and documents explaining its structure and behavior.
    • Architectural Style Selection: Choosing appropriate architectural styles (e.g., client-server, microservices, monolithic) based on requirements.
    • Evaluation: Employing techniques to assess the effectiveness of the proposed architecture.
    • Documentation and Communication: Documenting and presenting the architecture to ensure everyone understands and can contribute.

    Relation with Software Engineering

    • Architecture connects all stages of the software development life cycle.
    • It influences requirements analysis, design, implementation, testing, and maintenance phases.

    Architectural Styles

    • Different architectural styles exist for specific needs:
    • Monolithic: Application logic is organized as a single unit, making it easy to develop but complex to maintain and scale.
    • Microservices: Architecture is composed of small, independent services enabling continuous delivery but creating complexity in communication management.
    • Service-Oriented (SOA): Re-usable services communicate via standardized protocols facilitating easier integration across platforms but can have increased communication overhead.
    • Layered: Organizing application logic into separate logical layers.
    • Client-server: Dividing an application into separate clients and servers.
    • Component-Based: Separating system into a core and separate modules for extended functionality.
    • Event-Driven: Components respond to events rather than predefined sequences.
    • Distributed Systems: Splitting data and processes into locations to achieve fault tolerance and scalability.
    • Domain-Driven Design (DDD): Aligning architecture with business domain, leading to better maintainability.
    • Hexagonal/Clean Architecture: Separating concerns of data access from application logic.
    • Interpreter: Converts high-level code into executable instructions.
    • Publish-Subscribe: Components are connected by events.
    • Model-View-Controller (MVC) and Model-View-Presenter (MVP): Architectures for separation of UI and business logic.
    • Space-Based: Distributes data and processes into different spaces.
    • CQRS (Command Query Responsibility Segregation): Separates data modification and retrieval.
    • Pipe-and-Filter: Passing data through a sequence of independent filtering processes.
    • Shared Repository: Placing the shared data in a central location.

    Cloud-Based Architecture

    • Cloud Computing: Provides on-demand IT resource capability as a service.
    • Advantages: Scalability, cost-effectiveness, and reduced infrastructure costs.
    • Disadvantages: Vendor lock-in, security concerns, and possible latency issues.

    Fog Computing

    • Fog Computing: Processes data near the user thereby decreasing latency and network traffic.
    • Advantages: Improved data processing speeds and reduced bandwidth usage.

    Cloud-Fog Hybrid Architecture

    • Combines both cloud computing and fog computing advantages, using fog computing near the data source and cloud computing for processing and storage needs.
    • A combination of these paradigms allows more distributed processing power with a balance of responsiveness from near data sources and scalability of cloud computing.

    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

    Explore os diferentes estilos e vistas da arquitetura de software. Este quiz aborda componentes, conexões e as diretrizes que definem a interação dentro de sistemas. Conheça também as perspectivas lógicas e físicas da arquitetura para entender melhor seu funcionamento.

    More Like This

    Use Quizgecko on...
    Browser
    Browser