Vous êtes sur la page 1sur 53

Captulo

6

Projeto de arquitetura

slide 1 1
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Os tpicos abordados

Decises de projeto de arquitetura

Vises de arquitetura

Padres de arquitetura

Arquiteturas de aplicaes

slide 2 2
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Arquiteturas de so8ware

O processo de projeto para iden0car os subsistemas que compem um


sistema e o framework para controle e comunicao do subsistema o
projeto de arquitetura.

A sada desse processo de projeto uma descrio da arquitetura do soKware.

slide 3 3
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Projeto de Arquitetura

Uma fase inicial do processo de concepo do sistema.

Representa a ligao entre a especicao e os processos de projeto.

Muitas vezes realizadas em paralelo com algumas a0vidades de especicao.

Trata-se de iden0car os principais componentes do sistema e suas


comunicaes.

slide 4 4
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

A arquitetura de um sistema de controle
robo<zado de empacotamento

slide 5 5
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Abstrao sobre a arquitetura

Arquitetura em pequena escala est preocupada com a arquitetura dos


programas individuais.

Nesse nvel, estamos preocupados com a maneira como um programa


individual decomposto em componentes.

Arquitetura em grande escala preocupa-se com a arquitetura de sistemas


corpora0vos complexos que incluem outros sistemas, programas e
componentes do programa.

Esses sistemas empresariais esto distribudos em diferentes computadores,


que podem ser possudos e geridos por diferentes empresas.

slide 6 6
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Vantagens da arquitetura explcita

Comunicao de stakeholders
A arquitetura pode ser usada como um foco de discusso pelos
stakeholders do sistema.

Anlise de sistemas
Signica que a anlise a respeito da possibilidade do sistema atender a sua
requisitos no-funcionais possvel.

Reuso em larga escala


A arquitetura pode ser reusvel em uma variedade de sistemas.
Podem ser desenvolvidas arquiteturas de linhas de produtos.

slide 7 7
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Representaes de arquiteturas

Diagramas de blocos informais simples mostrando as en0dades e os


relacionamentos so o mtodo mais usado para documentar as arquiteturas
de soKware.

Mas esses tm sido cri0cados pela falta de semn0ca, e por no mostrarem os


0pos de relacionamentos entre as en0dades, nem as propriedades visveis das
en0dades na arquitetura.

Depende do uso dos modelos de arquitetura.

Os requisitos para a semn0ca do modelo dependem de como os modelos so


usados.

slide 8 8
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Diagramas de caixa e linha

Muito abstrato no mostram a natureza dos relacionamentos dos


componente nem as propriedades externamente visveis dos subsistemas.

No entanto, 0l para a comunicao com os stakeholders e para o


planejamento do projeto.

slide 9 9
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Uso de modelos de arquitetura

Como forma de facilitar a discusso sobre o projeto do sistema

Uma viso de alto nvel da arquitetura de um sistema 0l para a


comunicao com os stakeholders do sistema e planejamento do projeto,
pois essa no cheio de detalhes. Os stakeholders podem se relacionar e
entender uma viso abstrata do sistema. E ento, discu0r o sistema como
um todo, sem a possibilidade de serem confundidos pelos detalhes.

Como uma forma de documentar uma arquitetura projetada

O obje0vo aqui produzir um modelo de sistema completo que mostre os


diferentes componentes em um sistema, suas interfaces e suas conexes.

slide 10 10
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Decises de projeto de arquitetura

O projeto de arquitetura um processo cria0vo, assim, o processo difere de


acordo com o 0po de sistema que est sendo desenvolvido.

No entanto, uma srie de decises comuns abrangem todos os processos de


projeto e essas decises afetam as caracters0cas no-funcionais do sistema.

slide 11 11
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Decises de projeto de arquitetura

Existe uma arquitetura genrica de aplicao que possa ser usada?

Como o sistema ser distribudo?

Quais es0los de arquitetura so apropriados?

Que abordagem ser usada para estruturar o sistema?

Como o sistema pode ser decomposto em mdulos?

Qual estratgia de controle deve ser usada?

Como o projeto de arquitetura ser avaliado?

Como a arquitetura deve ser documentada?

slide 12 12
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Reuso de arquitetura

Muitas vezes os sistemas no mesmo domnio tm arquiteturas similares que


reetem os conceitos do domnio.

Linhas de produtos de aplicaes so construdas em torno de uma arquitetura


central com variantes que sa0sfaam os requisitos par0culares do cliente.

A arquitetura de um sistema pode ser projetada em torno de um ou mais


padres ou es0los de arquitetura.

Essas capturam a essncia de uma arquitetura e podem ser instanciadas


de diferentes maneiras.

slide 13 13
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Caracters<cas de arquitetura e de sistema

Desempenho
Localize operaes cr0cas e minimize as comunicaes. Use
componentes de alta granularidade ao invs de baixa granularidade.
Proteo
Nas camadas internas, use uma arquitetura em camadas com a0vos
cr0cos.
Segurana
Localize atributos de segurana cr0ca em um pequeno nmero de
subsistemas.
Disponibilidade
Incluem componentes redundantes e mecanismos de tolerncia a
defeitos.
Manutenibilidade
Use componentes autocon0dos, de baixa granularidade.
slide 14 14
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Vises de arquitetura

Que pontos de vista ou perspec0vas so teis ao fazer o projeto e documentar


a arquitetura de um sistema?

Quais notaes devem ser usadas para descrever os modelos de arquitetura?

Cada modelo de arquitetura mostra apenas um ponto de vista ou


perspec0va do sistema.

Pode mostrar como um sistema decomposto em mdulos, como os


processos interagem em tempo de execuo ou as diferentes formas em
que os componentes do sistema so distribudos atravs de uma rede.
Para ambos, projeto e documentao, voc geralmente precisa apresentar
ml0plas vises da arquitetura do soKware.

slide 15 15
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Modelo de viso 4 + 1 de arquitetura
de so8ware

Uma viso lgica, que mostra as principais abstraes no sistema como objetos
ou classes de objetos.

Uma viso de processo, que mostra como, em tempo de execuo, o sistema


composto por processos de interao.

Uma viso de desenvolvimento, que mostra como o soKware decomposto


para o desenvolvimento.

Uma viso lsica, que mostra o hardware do sistema e como os componentes


do soKware so distribudos entre os processadores do sistema.

Usando casos de uso relacionados ou cenrios (+1).

slide 16 16
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Padres de arquitetura

Padres so um meio de representar, par0lhar e reusar conhecimento.

Um padro de arquitetura uma descrio es0lizada das boas pr0cas de


projeto, que tem sido experimentadas e testadas em diferentes ambientes.

Os padres devem incluir informaes sobre quando elas so teis ou no.

Os padres podem ser representados usando descries de tabelas e grcos.

slide 17 17
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

O padro do Modelo-Viso-Controlador
(MVC)

slide 18 18
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

A organizao do MVC

slide 19 19
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

A arquitetura de aplicaes web usando
o padro MVC

slide 20 20
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Arquitetura em camadas

Usada para modelar a interface dos subsistemas.

Organiza o sistema em um conjunto de camadas (ou mquinas abstratas) cada


uma das quais fornecem um conjunto de servios.

Apoia o desenvolvimento incremental de subsistemas em diferentes camadas.


Quando uma camada na interface muda, apenas a camada adjacente
afetada.

No entanto, frequentemente, ar0cial estruturar sistemas dessa forma.

slide 21 21
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

O padro de arquitetura em camadas

slide 22 22
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Uma arquitetura genrica em camadas

slide 23 23
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

A arquitetura do sistema LIBSYS

slide 24 24
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Pontos Importantes

Uma arquitetura de soKware uma descrio de como um sistema de


soKware organizado.

Decises de projeto de arquitetura incluem decises sobre o 0po de aplicao,


a distribuio do sistema, e o es0lo de arquitetura a ser usada.

As arquiteturas podem ser documentadas de vrias perspec0vas ou vises


diferentes tais como uma viso conceitual, uma viso lgica, uma viso de
processo, uma viso de desenvolvimento e uma viso lsica.

Os padres de arquitetura so um meio de reusar o conhecimento sobre as


arquiteturas genricas de sistemas. Eles descrevem a arquitetura, explicam
quando podem ser usados e descrevem suas vantagens e desvantagens.

slide 25 25
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Arquitetura de repositrio

Subsistemas devem trocar dados. O que pode ser feito de duas maneiras:

Dados compar0lhados so guardados em um banco de dados central ou


repositrio e podem ser acessados por todos os subsistemas;

Cada subsistema mantm seu prprio banco de dados e


transmite dados explicitamente para outros subsistemas.

Quando grandes quan0dades de dados devem ser compar0lhadas, mais


comum o uso do modelo de repositrio compar0lhado pois esse um eciente
mecanismo de compar0lhamento de dados.

slide 26 26
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

O padro Repositrio

slide 27 27
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Uma arquitetura de repositrio para um
IDE

slide 28 28
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Arquitetura cliente-servidor

O modelo de sistema distribudo mostra como os dados e processamento so


distribudos atravs de uma srie de componentes.

Pode ser implementado em um nico computador.

Um conjunto de servidores autnomos que prestam servios especcos, tais


como impresso, gerenciamento de dados, etc.

Um conjunto de clientes que solicitam estes servios.

Rede que permite aos clientes acessar os servidores.

slide 29 29
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

O padro cliente-servidor

slide 30 30
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

A arquitetura cliente-servidor para uma
biblioteca de lmes

slide 31 31
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Arquitetura de duto e ltro

Transformaes funcionais processam suas entradas para produzir sadas.

Pode ser referido como um modelo de dutos e ltros (como no shell do UNIX).

As variantes dessa abordagem so muito comuns.

Quando as transformaes so sequenciais, esse um modelo de lote


sequencial amplamente usado em sistemas de processamento de dados.

No realmente adequado para sistemas intera0vos.

slide 32 32
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

O padro duto e ltro

slide 33 33
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Um exemplo da arquitetura duto e ltro

slide 34 34
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Arquiteturas de aplicaes

Os sistemas de aplicaes so projetados para atender a uma necessidade


organizacional.

Como as empresas tm muito em comum, seus sistemas de aplicaes


tambm tendem a ter uma arquitetura comum que reete os requisitos da
aplicao.

Uma arquitetura genrica de aplicao uma arquitetura para um 0po de


sistema de soKware que pode ser congurada e adaptada para criar um
sistema que atenda aos requisitos especcos.

slide 35 35
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Uso de arquiteturas de aplicaes

Como ponto de par0da para o projeto de arquitetura.

Como um checklist de projeto.

Como uma forma de organizar o trabalho da equipe de desenvolvimento.

Como uma forma de avaliar componentes para reuso.

Como um vocabulrio para falar sobre os 0pos de aplicaes.

slide 36 36
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Exemplos de <pos de aplicaes

Aplicaes de processamento de dados


Aplicaes centradas em dados que processam dados em lotes sem a
interveno explcita do usurio durante o processamento.
Aplicaes de processamento de transaes
Aplicaes centradas em banco de dados que processam solicitaes
dos usurios e atualizam as informaes em um banco de dados do
sistema.
Sistemas de processamento de eventos
Aplicaes em que as aes do sistema dependem da interpretao dos
acontecimentos do ambiente do sistema.
Sistemas de processamento da linguagem
Aplicaes em que as intenes dos usurios so especicadas em uma
linguagem formal, a qual processada e interpretada pelo sistema.

slide 37 37
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Exemplos de <pos de aplicaes

O foco aqui no processamento de transaes e sistemas de processamento


de linguagem.

Sistemas de processamento de transaes


Sistemas de comrcio eletrnico;
Sistemas de reservas.

Linguagem de processamento de sistemas


Compiladores;
Interpretadores de comando.

slide 38 38
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Sistemas de processamento de transaes

Processar pedidos do usurio para informaes de um banco de dados ou


pedidos para atualizar o banco de dados.

Da perspec0va do usurio uma transao :

Qualquer sequncia coerente de operaes que sa0sfaa uma meta;

Por exemplo - encontrar os horrios de vos de Londres a Paris.

Usurios fazem solicitaes assncronas de servio que so ento processadas


por um gerenciador de transaes.

slide 39 39
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

A estrutura de aplicaes de
processamento de transaes

slide 40 40
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

A arquitetura de so8ware de um sistema
de ATM

slide 41 41
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Arquitetura de sistemas de informao

Os sistemas de informao tm uma arquitetura genrica que pode ser


organizada como uma arquitetura em camadas.

Esses so sistemas baseados em transaes pois geralmente a interao com


esses sistemas envolve transaes de banco de dados.

As camadas incluem:

Interface de usurio
Comunicaes de usurio
Recuperao e modicao de informaes
Banco de dados do sistema

slide 42 42
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Arquitetura do sistema de informao em
camadas

slide 43 43
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

A arquitetura do MHC-PMS

slide 44 44
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Sistemas de informao baseados na Web

Normalmente os sistemas de informao e gerenciamento de recursos so


sistemas baseados na web, onde as interfaces de usurio so implementadas
usando um browser.

Por exemplo, os sistemas de comrcio eletrnico so sistemas de


gerenciamento de recursos baseados na web, que aceitam pedidos eletrnicos
de bens ou servios e, em seguida providenciam a entrega desses bens ou
servios aos clientes.

Em um sistema de comrcio eletrnico, a camada especca da aplicao inclui


funes adicionais de apoio ao 'carrinho de compras, no qual os usurios
podem colocar um nmero de itens em transaes separadas, e em seguida,
pagar por todos juntos em uma nica transao.

slide 45 45
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Implementao do servidor

Frequentemente esses sistemas so implementados como arquiteturas


cliente-servidor mul0camadas

O servidor web responsvel por todas as comunicaes do usurio, com


a interface do usurio implementada usando um browser;

O servidor da aplicao responsvel pela implementao da lgica


especca de aplicao assim como o armazenamento de informaes e
solicitaes de recuperao;

O servidor do banco de dados move as informaes de e para o banco de


dados e lida com o gerenciamento de transaes.

slide 46 46
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Sistemas de processamento de linguagem

Aceitar uma linguagem natural ou ar0cial como entrada e gerar alguma outra
representao dessa linguagem.

Pode incluir um interpretador para dar seguimento nas instrues, na


linguagem que est sendo processada.

U0lizado em situaes em que a maneira mais fcil para se resolver um


problema descrever um algoritmo ou descrever os dados do sistema.

Ferramentas meta-case processam descries de ferramentas, regras de


mtodos, etc. e geram ferramentas.

slide 47 47
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

A arquitetura de um sistema de
processamento de linguagem

slide 48 48
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Componentes do compilador

Um analisador lxico, que toma os tokens de entrada de linguagem e os


converte para uma forma interna.

A tabela de smbolos, que contm informao sobre os nomes de en0dades


(variveis, nomes de classes, nomes de objetos, etc.) usadas no texto que est
sendo traduzido.

Um analisador sint0co, que verica a sintaxe da linguagem sendo traduzida.

Uma rvore de sintaxe, uma estrutura interna que representa o programa a


ser compilado.

slide 49 49
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Componentes do compilador

Um analisador semn0co que usa informaes da rvore de sintaxe e a tabela


de smbolos para vericar a correo semn0ca do texto da linguagem de
entrada.

Um gerador de cdigo que 'anda' na rvore de sintaxe e gera cdigos de


mquina abstrata.

slide 50 50
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Uma arquitetura de compilador em duto
e ltro

slide 51 51
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Uma arquitetura de repositrio para um
sistema de processamento de linguagem

slide 52 52
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Pontos Importantes

Modelos genricos de arquiteturas de sistemas de aplicao nos ajudam a


entender e comparar as aplicaes, validar projetos de sistemas de aplicao e
avaliar componentes para reuso em larga escala.

Os sistemas de processamento de transaes so sistemas intera0vos que


permitem que a informao em um banco de dados seja acessada
remotamente e modicada por vrios usurios.

Os sistemas de processamento de linguagem so usados para traduzir textos


de uma linguagens para outra e para realizar as instrues especicadas na
linguagem de entrada.

Eles incluem um tradutor e uma mquina abstrata que executa a linguagem


gerada.

slide 53 53
2011 Pearson Pren0ce Hall. Todos os direitos reservados.

Vous aimerez peut-être aussi