Unidade 1 - Arquitetura de Software

Description

Arquitetura de Software Mind Map on Unidade 1 - Arquitetura de Software, created by Emanoel Carlos on 14/02/2017.
Emanoel Carlos
Mind Map by Emanoel Carlos, updated more than 1 year ago
Emanoel Carlos
Created by Emanoel Carlos about 7 years ago
600
1

Resource summary

Unidade 1 - Arquitetura de Software
  1. Definições
    1. Perry e Wolf

      Annotations:

      • Arquitetura = elementos, organização e decisões. Onde: arquitetura de software consiste em um conjunto de elementos que possuem alguma organização. Os elementos e sua organização são definidos por decisões tomadas para satisfazer objetivos e restrições. 
      1. Bass

        Annotations:

        • A arquitetura de um programa ou de sistemas computacionais é a estrutura ou estruturas do sistema, a qual é composta de elementos de software, as propriedades externamente visíveis desses elementos, e os relacionamentos entre eles
        1. ISO/IEEE 1471-2000

          Annotations:

          • Arquitetura é a organização fundamental de um sistema, representada por seus componentes, seus relacionamentos com o ambiente, e pelos princípios que conduzem seu design e evolução
        2. É diferente de Design de Software

          Annotations:

          • O contraste entre design e arquitetura é justamente a forma de como se vê o sistema, como a implementação pode ser interpretada. Enquanto a arquitetura observa o todo, o design se encarrega de observar a interação entre as partes. 
          1. Possui
            1. Componentes

              Annotations:

              • Todo grande sistema é inicialmente pensado em pequenas partes (subsistemas), cada uma com sua funcionalidade e independente das demais. Essas partes são o que chamamos de componentes. 
              • Cada componente tem sua funcionalidade independente dos demais e que cada um deles não precisa saber como é o funcionamento dos outros (isso é o que pode ser chamado de encapsulamento). 
              1. Conectores
              2. Configurações e padrões arquiteturais
                1. Estilos de arquitetura

                  Annotations:

                  • Um estilo arquitetural estabelece uma estrutura para todos os componentes do sistema, ou seja, ele impõe uma transformação ao projeto do sistema por completo
                  1. Camadas

                    Annotations:

                    • São definidas várias camadas onde cada uma delas é responsável por realizar operações diferentes. 
                    1. Centralizada em dados

                      Annotations:

                      • O centro dessa arquitetura é formado por um repositório de dados (banco de dados e arquivo são exemplos de repositórios). Os componentes fazem o acesso ao repositório para realização de operações como atualização, inserção, modificação ou exclusão de dados.
                      1. Chamadas e retornos

                        Annotations:

                        • Permite a obtenção de uma estrutura de sistema na qual é mais fácil de ampliar e fazer modificações. Esse estilo possui vários subestilos, entre eles: 
                        1. Orientada a objetos

                          Annotations:

                          • Os componentes nesse caso são objetos do sistema. Estes são formados encapsulando dados e os métodos de acesso para a manipulação desses dados. Toda a comunicação é feita através da troca de mensagens por meio da chamada de métodos.
                        2. Padrões de arquitetura

                          Annotations:

                          • Um padrão de arquitetura impõe transformações no projeto de arquitetura. Para ficar mais claro a diferença, o padrão difere do estilo em alguns pontos, tais como: (i) O padrão foca numa parte da arquitetura ao invés de toda ela; (ii) Um padrão dita as regras na arquitetura, descrevendo como o software vai manipular alguma característica de sua funcionalidade no quesito de infraestrutura.
                          1. Controle de Acesso

                            Annotations:

                            • Em um banco de dados é possível dizer qual usuário tem determinados privilégios como consulta ou modificação de dados, por exemplo. Na informática essa é uma das muitas situações em que se pode definir o que o usuário está, ou não, habilitado para ver e fazer. Isto é o que chamamos de controle de acesso
                            1. Concorrência

                              Annotations:

                              • Observando a computação atualmente notamos que os computadores deixaram de ser monotarefas faz tempo! Isto graças a evoluções de hardware (processadores) e software. Hoje muitos sistemas precisam lidar com o que chamamos de paralelismo, que nada mais é que execução de tarefas “em paralelo”.
                              1. Persistência

                                Annotations:

                                • Persistência consiste basicamente no armazenamento de dados. Contudo, os dados só devem ser persistidos se sobreviverem após a execução do processo que o criou. 
                                1. Distribuição

                                  Annotations:

                                  •  Uma boa parte dos sistemas em operação atualmente funciona de forma distribuída. Na verdade, interagimos com sistemas sem ao menos saber em que parte do mundo estão as máquinas que os abriga. O padrão de distribuição trata de como é feita a comunicação entre os sistemas ou os componentes nos sistemas em um ambiente distribuído. 
                              Show full summary Hide full summary

                              Similar

                              Decisão por Soluções para a Comunicação
                              Felipe Carvalho
                              Eng. de Software
                              Rodolfo Cerrone
                              Arquitetura de Software
                              Yara Candida Borges De Castro
                              AO01_MapaMental_MateusMendanha
                              Mateus Mendanha
                              CONSTRUÇÃO DO PROGRAMA (SOFTWARE)
                              Rodolfo Silva
                              Análise de Sistemas
                              rodriguesnfc
                              Fundamentos de Redes
                              Vanessa Santana
                              Análise
                              nairan omura
                              AO01_MapaMental_MariaLídiaMachado
                              Maria Lídia Machado
                              AO01_MapaMental_GustavoLageFrancelino
                              Gustavo Lage Francelino
                              AO01_MapaMental_Túlio_Leandro_Alves_Souza
                              Tulio Leandro