- Conjunto de estruturas que formam um sistema, as suas propriedades e os seus relacionamentos
- O conjunto de mecanismos chaves necessários à definição de um sistema
- Objetivo: redução de risco e abstração
- CORBA é um exemplo de arquitetura de componentes distribuídos, .NET e JEE são exemplos de arquiteturas de componentes n-tier
Arquitetura- Vantagens
- Forma de lidar com complexidade
- Ponto de partida para a tomada de decisões
- Ajuda a definir as propriedades de um sistema
- Auxilia na manutenção
- Divide esforço
- JEE e ,NET são exemplos de arquiteturas genéricas de componentes de software
- Arquiteturas definem divisão de camadas, organização de componentes e formas de comunicação entre eles.
- Define a estrutura de um sistema em termos de particionamento em conjuntos interrelacionados de componentes, módulos, objetos ou qualquer unidade de particionamento adotada.
- Define comunicação entre componentes (RMI?, RPC? SOAP? HTTP?)
- Define requisitos não funcionais (restrições técnicas, de negócio, atributos de qualidade como portabilidade, testabilidade, usabilidade, interoperabilidade)
- É, por conseguinte, uma abstração das estruturas e da comunicação
- Visão lógica: define os elementos significativos da arquitetura e as relações entre eles (captura a estrutura da aplicação com diagramas de classes ou de distribuição, por exemplo)
- Visão de processo: descreve concorrência e elementos de comunicação de uma arquitetura (multi-thread, componentes replicados, comunicações síncronas e assíncronas)
- Visão física: descreve como os processos e componentes envolvidos são mapeados ao hardware.
- Visão de desenvolvimento: captura a organização interna dos componentes de software em um ambiente de desenvolvimento
- Visão estrutural: classes, pacotes, subsistemas
- Visão comportamental: diagramas de interação, DTE
- Visão de mapeamentos físicos: diagramas de distribuição (protocolos, servidores, etc)
- Gerencia conexões entre clientes, analistas, programadores
- Conhece muito sobre Engenharia de Software, em geral
- Alto grau de conhecimento em tecnologias
- Muito conhecimento acerca dos riscos envolvidos
Apostila de Fundamentos de Arquitetura de Software do Prof. Marco Aurelio Mendes
GORTON, I. Essential Software Architecture. 1a Edição, 2006, Springer.
Nenhum comentário:
Postar um comentário
Deixe aqui seu comentário