arquiteturas de referência

17
Arquiteturas de Referência

Upload: meagan

Post on 06-Feb-2016

41 views

Category:

Documents


0 download

DESCRIPTION

Arquiteturas de Referência. Definições – IEEE 1471/ISO/IEC 42010:2007. Visão: representação de um software (ou parte) a partir de uma perspectiva particular. coleção de modelos representando a arquitetura do software. Alguns modelos de arquitetura em múltiplas visões. Kruchten 4+1 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Arquiteturas de Referência

Arquiteturas de Referência

Page 2: Arquiteturas de Referência

Definições – IEEE 1471/ISO/IEC 42010:2007

• Visão: – representação de um software (ou parte) a partir

de uma perspectiva particular. – coleção de modelos representando a arquitetura

do software.

Page 3: Arquiteturas de Referência
Page 4: Arquiteturas de Referência

Alguns modelos de arquitetura em múltiplas visões

• Kruchten 4+1• IEEE 1471 • Siemens (Soni et al)

Page 5: Arquiteturas de Referência
Page 6: Arquiteturas de Referência

Logical View

• Relativo principalmente aos requisitos funcionais (o que o software deve fazer).

• Identificação dos principais pacotes, subsistemas e classes

• Diagrams mais comuns: – UML Class, Package and Sequence diagrams.– ER diagrams

Page 7: Arquiteturas de Referência

Process View

• Um processo é um grupo de tarefas.• A comunicação entre tarefas ocorre de várias

formas: síncrona, assíncrona, broadcast, ...• A visão de processos preocupa-se com tópicos como: – concorrência e distribuição, – integridade do software, – tolerância a falhas, – Como abstrações da visão lógica operam na visão de

processos da arquitetura.

Page 8: Arquiteturas de Referência

Process View

• Principais estilos: client/server, pipes and filters, publish-subscribe middleware.

• Essa visão mostra onde e como classes/elementos definidos na visão lógica são usados.

• Notações usadas: Sequence diagrams, Activity diagrams, Class diagrams (focus on active classes), Components

Page 9: Arquiteturas de Referência

Implementation/Development view

• Organização de módulos do software (código, arquivos de dados, componentes, executáveis, bibliotecas,...)

• Principais elementos: módulos, subsistemas, camadas.

• Normalmente o estilo é em camadas• A visão de desenvolvimento considera requisitos

como facilidade de desenvolvimento, e restrições do ambiente de desenvolvimento e da linguagem

Page 10: Arquiteturas de Referência

Implementation/Development view

• A visão de desenvolvimento é a base para:– alocação de requisitos e de trabalho entre equipes– Avaliação de custos– Monitoração do projeto – Reuso, portabilidade e segurança.

Page 11: Arquiteturas de Referência

Physical/Deployment View• Elementos identificados: redes, processadores, tarefas,

objetos, e o mapeados em vários nós.• Várias configurações físicas diferentes podem ser usadas:

algumas para desenvolvimento e testes, outras para a implantação do software em diferentes locais/clientes.

• Mostra como os vários executáveis e componentes são mapeados para plataformas e nós físicos

• Mostra distribuição física de elementos do sistema• Notações: proprietária, pacotes, nós, UML deployment

diagram

Page 12: Arquiteturas de Referência

Scenario/Use Case View• Mostra como os elementos das 4 visões trabalham juntos.• Notações:– Use Cases– Linguagem natural– Pode-se especificar os use-cases com diagramas UML

(Sequência, Atividades)• Principais objetivos:– Direção para descobrir os elementos da arquitetura– Validação e ilustração da arquitetura do software– Ponto de partida para desenvolvimento e testes

Page 13: Arquiteturas de Referência

ANSI-IEEE 1471-2000/ ISO/IEC 42010:20Systems and Software Engineering -- Recommended practice for architectural description of software-intensive systems07

Page 14: Arquiteturas de Referência

Análise do Framework• Um sistema existe em um ambiente (contexto). O ambiente do

sistema pode influenciar o sistema. • O ambiente determina as circunstâncias de desenvolvimento,

operacionais, e políticas. • O ambiente determina os limites que definem o escopo do sistema

em relação a outros sistemas.• Um sistema possui um ou mais stakeholders. Cada stakeholder

tipicamente possui interesses (concerns) no sistema. • Um sistema existe para realizar uma ou mais missões. • Todo sistema possui uma arquitetura. • Uma arquitetura (conceito) é estabelecida por uma descrição de

arquitetura (produtos concretos).

Page 15: Arquiteturas de Referência

Exemplo

Page 16: Arquiteturas de Referência

Quantas visões?

• Nem todo software precisa de todas as 5 visões do 4+1

• Nem todo software precisa de várias visões• Ex.– Um único processador → não precisa da visão de

deployment– Um único processo → não precisa da visão de

processos

Page 17: Arquiteturas de Referência

Siemens

• Diferentes estruturas são usadas em diferentes fases do processo de desenvolvimento.– A arquitetura conceitual descreve o sistema em termos

dos principais elementos de design e suas relações– A arquitetura de interconexão de módulos é composta por

duas estruturas ortogonais: decomposição funcional e camadas.

– A arquitetura de execução descreve a estrutura dinâmica de um sistema.

– A arquitetura de código descreve as bibliotecas e o código fonte organizados no ambiente de desenvolvimento.