Unidade 1 - Arquitetura de Software

Emanoel Carlos
Mind Map by Emanoel Carlos, updated more than 1 year ago
Emanoel Carlos
Created by Emanoel Carlos over 3 years ago
590
1

Description

Arquitetura de Software Mind Map on Unidade 1 - Arquitetura de Software, created by Emanoel Carlos on 02/14/2017.

Resource summary

Unidade 1 - Arquitetura de Software
1 Definições
1.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.2 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.3 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. 
3 Possui
3.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). 
3.2 Conectores
4 Configurações e padrões arquiteturais
4.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
4.1.1 Camadas

Annotations:

  • São definidas várias camadas onde cada uma delas é responsável por realizar operações diferentes. 
4.1.2 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.
4.1.3 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: 
4.1.4 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.
4.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.
4.2.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
4.2.2 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”.
4.2.3 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. 
4.2.4 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
Análise de Sistemas
rodriguesnfc
Análise
nairan omura
Projeto de arquitetura
Paloma Fernandes
Fundamentos de Redes
Vanessa Santana
Arquitetura de software
Marianna Veríssimo
Design Software
Joice Fogaça
Compor Comportamentos
Joice Fogaça
Design
Joice Fogaça
Técnicas de Levantamento de Requisitos
Patrícia Oliveira
DIAGRAMA DER
Illa Sousa