Você está na página 1de 7

Agenda

Arquitetura de Software
- Fundamentos e Tendncias -

Objetivos e Contexto
Arquitetura de Software (A.S.)
A.S. no Processo de Desenvolvimento
O Modelo ArcADe
Passado, Presente e Futuro

Prof. Marco Fagundes


mfagunde@tre-pa.gov.br

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

Objetivos

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

Contexto

Objetivos Geral:
O aumento do tamanho e da
complexidade dos sistemas de software

! Enfatizar a importncia da arquitetura para o sucesso


de um projeto de software

Objetivos especficos:
! Apresentar os conceitos bsicos da arquitetura de
software
! Destacar o papel da arquitetura de software no
processo de desenvolvimento
! Apresentar o modelo ArcADe
! Mostrar as tendncias na rea da arquitetura de
software

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

Reduo de tempo e custo de


desenvolvimento e manuteno do
software
Adotar uma arquitetura correta pode ajudar na
gerncia complexidade e trazer diversos
benefcios
3

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

Arquitetura de Software

Arquitetura de Software

O diagrama abaixo representa uma


arquitetura?

A arquitetura do software define a estrutura


do software, que compreende os componentes
com suas propriedades visveis externamente e
os relacionamentos entre eles.

Gestor de
segurana de
Acesso

Configurao

Gestor de
Cadastro

Componente_A

Componente_B

Componente_C

interface

interface

interface

Gestor de
Pedidos

interface

Conector_2

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

Arquitetura de Software

Arquitetura de Software

Existem vrias definies sobre arquitetura do software


Semelhanas no ncleo atravs de trs abstraes
bsicas: Componentes, Conectores e Configurao

A Arquitetura de Software enfatiza a separao de


interesses (concerns)
! Funcionalidade
Funcionalidade
e
! Interao
Interao

Grafo de componentes e
conectores ligados,
descrevendo uma
estrutura arquitetural

Modela a computao e o
armazenamento de informaes
Por exemplo: Cliente, Servidor,
Subsistema ou Sistema

Conectores
Conector_1
Conector_2
Configurap
Componente_A
Conector_1
Componente_B
Conector_2
Componente_C

interface

Conector_1

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

Componentes
Componente_A
Componente_B
Componente_C

p2

p1

Componente2

Componente1
Configurao

Modela a interao
entres os componentes
Por exemplo: RPC

Funcionaliade
Componente_A

Componente_B

Componente_C

interface

interface

interface

Interao

p1
Componente1

interface

Conector_1

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

p2
Conector1

Componente2

interface

Conector_2

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

Arquitetura de Software

Arquitetura de Software
Exemplo de uma arquitetura

O diagrama abaixo no representa uma


arquitetura

sConsInfo
Gestor de
Cadastro

eConsInfo
Gestor de

Link
eCadInfo

Pedidos
sCadInfo

Descrio em CL
system Order;

Gestor de
segurana de
Acesso

begin
use task GestorCadastro, GestorPedidos;

Gestor de
Cadastro

Gestor de
Pedidos

create
create

cad
ped

from
from

link
link

cad.eCadInfo
cad.sConsInfo

GestorCadastro;
GestorPedidos;
to
to

ped.sCadInfo;
ped.eConsInfo;

activate cad, ped;


end;
9

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

Vantagens da A.S.

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

10

Estilos arquiteturais

Facilita a combinao de abordagens de reuso de


software (ex. Estilos, COTS ou Padres de Projeto)

Um estilo arquitetural consiste de um


vocabulrio de elementos de projeto e um
conjunto de regras de configurao que
governam a combinao desses elementos

Possibilita anlise da descrio da arquitetura nas fases


iniciais do desenvolvimento (ex. propridades no
funcionais ou conformidade com um estilo)

Elementos Arquiteturais (de Projeto)

Facilita a evoluo do software


Permite uma melhor comunicao entre os stakeholders

! Componentes
! Conectores

Exemplo de regras de configurao


! Uma camada pode somente se comunicar com a
camada adjacente no estilo Camadas
!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

11

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

12

Estilos arquiteturais

A.S. no Processo de Desenvolvimento

Definem uma famlia e no apenas um sistema


A descrio da arquitetura uma instncia de
um estilo
Exemplos de Estilos

Reduz o gap semntico entre os requisitos e o


cdigo
Fornece uma base para as outras fases de
desenvolvimento do software

! Cliente-servidor
! Pipe-filter
! Camadas (Layered)

Requisitos

Requisitos

Exemplo de uma A.S. no estilo Pipe-filter:

Mtodos OO

RMI

RMI

Java

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

13

A.S. no Processo de Desenvolvimento

Java

Implementao

Implementao
Delphi

Arquitetura de
Software

Delphi

CORBA

CORBA

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

14

O Modelo ArcADe

A.S. e a O.O. de forma complementar

Contexto
A Arquitetura de Software desempenha um papel
importante para o sucesso do projeto

Problema

Ausncia da integrao natural entre a Arquitetura de


Software e processos de software comumente utilizados

O Modelo ArcADe

Rastreabilidade

Um modelo de processo que integra a arquitetura de


software com um processo de desenvolvimento
largamente utilizado (RUP)
!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

15

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

16

Sobre o ArcADe

Desenv. Baseado em Arquitetura X Fluxos do RUP


Foco na arquitetura do software

O Modelo de Processo ArcADe (Architecture-based


Analisys and Design) integra a A.S. com elementos
(conceitos, mtodos e tcnicas) do RUP

Arquitetura serve como base para as atividades de


anlise, projeto e implementao do software
Representao da arquitetura (ADLs)
Desenvolvimento Baseado em Arquitetura
Entender o Domnio
Desenvolver/Selecionar a Arquitetura
Representar a Arquitetura
Analisar e Avaliar a Arquitetura

O ArcADe adota a AS para definir as etapas do


desenvolvimento

Fluxos de Processo do RUP

O modelo utiliza os elementos do RUP para organizar o


processo em um fluxo de trabalho

Modelagem de Negcio
Requisitos
Anlise & Projeto
Implementao
Teste

Implementar Arquitetura

Implantao

17

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

O Modelo ArcADe

Nveis de Abstrao do ArcADe

Desenvolvimento iterativo e incremental no ArcADe

Composio da arquitetura
abstrata a partir da
especificao dos requisitos

2nd Iteration

1 Iterao

Component_A

Component_B

Projeto da
Arquitetura

Connector_1

Component_A

Component_B

Projeto da
Arquitetura

Connector_
1

CORBA

18

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

Component_A

Component_B

Connector_
1

Component_C

Connector_
2

Projeto
Detalhado
CORBA

Projeto
Detalhado

CORBA

Componentes e conectores da
arquitetura abstrata so refinados
para uma representao concreta mais
prxima da implementao
!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

19

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

20

ArcADe vs RUP
Fluxo de Anlise &
Projeto do RUP

O Modelo ArcADe
Subfluxos

Modelo ArcADe

Selecionar uma
Arquitetura Candidata

Projeto da
Arquitetura

Atividades
Relacionar Requisitos com a
Arquitetura
Identificar Oportunidades de
Reuso em Nvel Arquitetural
Definir Arquitetura do Software a
partir da Candidata

Definir a Arquitetura
Abstrata

Especificar Abstraes Arquiteturais


Representar a Arquitetura
Analisar a Arquitetura
Aplicar Regras de Refinamento

Refinar a Arquitetura

Revisar a Arquitetura
Analisar Casos de Uso(RUP)

Analisar
Comportamento

Modelar Comportamento
Analisar o Modelo

Subfluxos
Projetar Componentes

Atividades
Fazer Projeto Detalhado
Especificar Interface do Componente
Projetar Classes (RUP)
Projetar Casos de Uso (RUP)
Projetar Banco de Dados (RUP)

Selecionar
Componentes

Identificar Produtos Candidatos


Descrever Produtos Candidatos
Avaliar Produtos Candidatos
Aceitar Produtos Candidatos

Projetar Conectores

Especifiar Partes Concretas


Estender Tipo Bsico

Projeto
Detalhado
Selecionar Conectores

Identificar Tecnologias Candidatas


Descrever Tecnologias Candidatas
Avaliar Tecnologias Candidatas
Aceitar Tecnologias Candidatas

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

21

A.S. Passado, Presente e Futuro

22

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

A.S. Passado, Presente e Futuro

No passado:

No presente:

! forma ad hoc - descries informais diagramas de


caixas linhas

! Arquitetura tratada como uma atividade importante


e explcita no desenvolvimento de software

! Profissionais comearam a reconhecer o papel crtico


da A.S. para o sucesso do projeto

! Diversos congressos cientficos e livros dedicados


A.S

! Os projetistas de linguagens comearam a considerar


uma notao especfica e formal para representar a
arquitetura

! A.S. como rea de pesquisa

Engenharia
de Software

Engenharia
de
Requisitos
Arquitetura
de Software

Novas
ADLs
Formalizao

Tpicos de
pesquisa

...

Ferramentas
Desenvolvimento
baseado em arquitetura
Estilos

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

23

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

24

A.S. Passado, Presente e Futuro

A.S. Passado, Presente e Futuro

Trs avanos importantes:

No futuro:

Linguagens de Descrio de Arquiteturas e Ferramentas

! Evoluo natural:

Engenharia de Linha de Produtos

Difuso e Assimilao da A.S. como disciplina

Codificao e Disseminao

Requisitos do
Produto

Requisitos da Linha
de Produtos

Ferramentas para o projeto arquitetural

! Tendncias:
Arquitetura do
Produto
Restries
induzidas

Adoo de linguagens como a UML e XML para


modelagem arquitetural
Computao Ubqua (pervasiva)

Arquitetura da Linha
de Produtos

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

25

Pontos Principais
A A.S. tem recebido crescente reconhecimento e
ateno
No processo de desenvolvimento, a A.S. desempenha
um papel importante como ponte entre requisitos e
implementao
Diversas contribuies para facilitar e difundir a A.S.
O Modelo ArcADe integra a arquitetura de software com
elementos (conceitos, mtodos e tcnicas) do RUP

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

27

!2006 Prof. Marco Fagundes - mfagunde@tre-pa.gov.br

26

Você também pode gostar