Você está na página 1de 34

Introduo Arquitetura de Software

Fernando Castor e Paulo Borba

Programao Modular

Programao Modular

Implementao

Programao Modular

Interface

Implementao

Programao Modular

Interface Provida

Implementao

Interface Requerida

Programao Modular

Interface Provida

Visvel apenas dentro do Mdulo

Implementao

Interface Requerida

Programao Modular

Implementao

Implementao

Implementao

Implementao

Implementao

Implementao

Benefcios Esperados da Programao Modular


[Parnas !"#$%
(1) (2)

Tempo de desenvolvimento encurtado Possibilidade de aplicar mudanas drsticas a um mdulo sem a necessidade de mudar outros Or ani!a"o das tare#as e da e$uipe de desenvolvimento Possibilidade de estudar o sistema ol&ando para um mdulo de cada ve!

(3)

(%)

'ntera(es entre mdulos

Arquitetura de Software

) estrutura de um sistema de so#t*are+ $ue en loba


elementos de so#t*are, suas propriedades vis-veis e.ternamente, e os relacionamentos e intera(es entre eles

)s primeiras decis(es tomadas no pro/eto de um sistema


)s mais importantes0

1ma ar$uitetura de so#t*are 2 composta por componentes e conectores

&ma Arquitetura 3-tier

Internet Clientes web (Mo illa! I"! etc#$%

&ervidor '"(

Rede )ocal (anco de *ados Relacional

&ma Arquitetura 3-tier

Internet Clientes web (Mo illa! I"! etc#$%

&ervidor '"(

Rede )ocal (anco de *ados Relacional

Componente

Componente

Componente

&ma Arquitetura 3-tier

Internet Clientes web (Mo illa! I"! etc#$%

&ervidor '"(

Rede )ocal (anco de *ados Relacional

Conector (,--P! RMI$%

Conector (Ponte &+)$%

' que ( Arquitetura de Softw) e o que no (*

O $ue 2 poss-vel in#erir a partir da #i ura3 O $ue n"o 23

' que ( Arquitetura de Softw) e o que no (*

)r$uitetura de#ine elementos de so#t*are


4 Foco no comportamento e.ternamente observvel
5 intera(es

4 6esponsabilidades das partes )bstra(es de elementos de so#t*are


Todo sistema tem uma ar$uitetura 'ndica como re$uisitos s"o satis#eitos 7etal&es de implementa"o n"o entram )l oritmos normalmente n"o a#etam a ar$uitetura Tudo $ue est l deve estar l por um motivo

Pro+eto Arquitetural

O processo de pro/eto $ue estabelece


Os subsistemas $ue constituem um sistema ) maneira como esses subsistemas intera em 5.8 Plata#orma de componentes+ 9:B7

'ncluindo al umas decis(es tecnol icas

) sa-da desse processo de pro/eto 2 uma descri"o da ar$uitetura de so#t*are8 ) ar$uitetura de so#t*are lida com os re$uisitos do sistema
:rande ;n#ase nos n"o<#uncionais

Pro+eto Arquitetural

= o primeiro est io do pro/eto do sistema ) li a"o entre os processos de especi#ica"o e de pro/eto detal&ado Fre$>entemente condu!ido em paralelo ?s atividades de especi#ica"o 5nvolve a identi#ica"o dos componentes principais do sistema e sua intera"o
Componentes @A unidades de modularidade

,antagens de uma Arquitetura E-plcita


)nlise de re$uisitos n"o<#uncionais Comunica"o com os staBe&olders Or ani!a"o de e$uipes e tare#as


Pode ser usada para #a!er estimativas 7iversas vanta ens da pro rama"o modular 9uas partes tamb2m )l umas solu(es s"o universalmente aceitas

6euso em lar a escala


.onflitos de Arquitetura

Componentes de alta ranularidade aprimoram o desempen&o mas diminuem a #acilidade de manuten"o ) introdu"o de dados redundantes aprimora a disponibilidade+ mas torna a prote"o mais di#-cil Cocali!ar as #uncionalidades cr-ticas de se urana em poucos locais pode criar ar alos de desempen&o Escolhas/Decises de projeto

Pro+eto Arquitetural ( um Processo .riati/o0

Cada sistema envolve di#erentes decis(esDre$uisitosDcon#litosDrestri(es 5nvolve solucionar os problemas representados pelos re$uisitos Eovas solu(es vs8 9olu(es pr2<e.istentes

6ationale @A /usti#icativas para as escol&as

Escol1as de Pro+eto

5scol&as #eitas durante o pro/eto de um sistema


Precisam ser /usti#icadas

)#etam sua capacidade de #ornecer seu servio Eormalmente resultam em compromissos = importante avaliar as op(es e.istentes E"o est"o restritas ao pro/eto ar$uitetural0 = importante documentar as op(es re/eitadas

Alguns E-emplos de Perguntas Interessantes

Como representar o mapa em um sistema $ue traa rotas percorridas por Fnibus de modo a minimi!ar o trabal&o da e$uipe3 Como arantir a con#iabilidade de um servidor a um bai.o custo3 Gual a maneira mais e#iciente de se construir uma rade de &orrios levando<se em conta as vrias restri(es impostas por pro#essores+ diretores e re ras departamentais3 Como tornar o sistema capa! de lidar com 18HHH8HHH de usurios simultIneos sem sobrecarre ar a rede3

.aractersticas de &m Sistema Atreladas sua Arquitetura


7esempen&o Prote"o (securitJ) 9e urana (sa#etJ) 7isponibilidade Con#iabilidade 5scalabilidade Facilidade de manuten"o
4 5 muitas outrasK

Estilos Arquiteturais

Capturam con/untos de escol&as de pro/eto comuns a vrios sistemas Podem representar intera(es como elementos de primeira ordem 5.emplos comunsL
4 4 4 4 4 Conectores

7ecomposi"o Modular 'mplanta"o ClienteD9ervidor Camadas

)ssociados ? representa"o da ar$uitetura

&ma Arquitetura em .amadas

..pode usar//

..pode usar//

2epresentao da Arquitetura

) ar$uitetura 2 um ativo importante


Pode ser a di#erena entre o sucesso e o #racasso Torna poss-vel N#alarO sobre ela O pro/eto de ar$uitetura 2 normalmente e.presso como um dia rama de blocos

6epresent<la 2 importante

Modelos mais espec-#icos tamb2m podem ser desenvolvidos8

Sistema de .ontrole 2o3oti4ado de Empacotamento

5iagramas cai-a e lin1a

Muito abstratos
E"o mostram a nature!a dos relacionamento de componentes Eem suas propriedades e.ternamente vis-veis

Contudo+ s"o Pteis para comunica"o com os staBe&olders e para plane/amento )lternativasL

Eota(es #ormais (Cin ua ens para 7escri"o de )r$uiteturas) Eota(es in#ormais mais or ani!adas

,is6es Arquiteturais

) ar$uitetura de um sistema so#t*are normalmente 2 representada atrav2s de vrias vises Qis(es s"o maneiras diversas de se en.er ar uma mesma ar$uitetura
5n#ocando di#erentes aspectos de interesse 5.8L as vrias plantas de uma casa

)r$uiteturas de so#t*are s"o especi#icadas atrav2s de vrias vis(es

.orreio Eletr=nico > ,iso !


7r8s principais elementos9
agentes de usu:rio ;&A<) ser/idores de correio) simple mail transfer protocol9 SM7P)

servidor de correio

9MTP 9MTP 9MTP

a ente de usurio

servidor de correio

a ente de usurio

#ila de mensa ens de sa-da cai.a de correio do usurio

servidor de correio

POP3D'M)P
a ente de usurio a ente de usurio

a ente de usurio

.orreio Eletr=nico > ,iso $


!< Alice usa o &A para compor uma mensagem ?para@ bob@someschool.edu $< ' &A de Alice en/ia a mensagem para o seu ser/idor de correioA a mensagem ( colocada na fila de mensagens) B< ' lado cliente do SM7P a3re uma cone-o 7.P com o ser/idor de correio de Bo3)

%) O cliente 9MTP envia a mensa em de )lice atrav2s da cone."o TCP8 R) O servidor de correio de Bob coloca a mensa em na cai.a de entrada de Bob8 S) Bob c&ama o seu 1) para ler a mensa em8

1 user a ent 2

mail server 3

mail server % R S

user a ent

.orreio Eletr=nico > ,iso B

Fonte0 12i3en Mail &erver *ocumentation 4 Mail &erver 1rc5itecture# Consultado em 67 de maro de 6889 5ttp0::www#a2i3en#com:docs:en:Mail4&erver41rc5itecture;9<#5tml

&m E-emplo de Sistema de .ontrole de 7r:fego A(reo

M=C Console
"2ceDes

1-C Console
"2ceDes

>#1#M
"2ceDes

"2ceDes

1#&#?#@
"2ceDes

)ocal:>roup 1#M#
"2ceDes

?:& "# 1# &#

AetworB Processor
Fonte0 (ass! Clements! and Ea man! &oftware 1rc5itecture in Practice! 6nd "dition! 688F#

?peratin3 &Cstem I:? *evices 1ttac5ments

2euso de arquitetura

9istemas do mesmo dom-nio #re$>entemente t;m ar$uiteturas similares


6esultam em escol&as de pro/eto similares Con&ecimento in#ormal sobre escol&as de pro/eto 5stilosDPadr(es ar$uiteturais Frame*orBs e servidores de aplica"o Cin&as de produtos

6euso de ar$uiteturas acontece de diversas maneirasL


'3rigado0
Dvidas e comentrios: castorCcin)ufpe)3r p1m3Ccin)ufpe)3r

Você também pode gostar