arquiteturas de referência. definições – ieee 1471/iso/iec 42010:2007 visão: –...

17
Arquiteturas de Referência

Upload: internet

Post on 18-Apr-2015

109 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

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

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. Definições – IEEE 1471/ISO/IEC 42010:2007 Visão: – representação de um software (ou parte) a partir de uma perspectiva particular
Page 4: 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

Alguns modelos de arquitetura em múltiplas visões

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

Page 5: 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
Page 6: 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

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. Definições – IEEE 1471/ISO/IEC 42010:2007 Visão: – representação de um software (ou parte) a partir de uma perspectiva particular

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. Definições – IEEE 1471/ISO/IEC 42010:2007 Visão: – representação de um software (ou parte) a partir de uma perspectiva particular

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. Definições – IEEE 1471/ISO/IEC 42010:2007 Visão: – representação de um software (ou parte) a partir de uma perspectiva particular

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. Definições – IEEE 1471/ISO/IEC 42010:2007 Visão: – representação de um software (ou parte) a partir de uma perspectiva particular

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. Definições – IEEE 1471/ISO/IEC 42010:2007 Visão: – representação de um software (ou parte) a partir de uma perspectiva particular

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. Definições – IEEE 1471/ISO/IEC 42010:2007 Visão: – representação de um software (ou parte) a partir de uma perspectiva particular

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. Definições – IEEE 1471/ISO/IEC 42010:2007 Visão: – representação de um software (ou parte) a partir de uma perspectiva particular

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. Definições – IEEE 1471/ISO/IEC 42010:2007 Visão: – representação de um software (ou parte) a partir de uma perspectiva particular

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. Definições – IEEE 1471/ISO/IEC 42010:2007 Visão: – representação de um software (ou parte) a partir de uma perspectiva particular

Exemplo

Page 16: 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

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. Definições – IEEE 1471/ISO/IEC 42010:2007 Visão: – representação de um software (ou parte) a partir de uma perspectiva particular

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.