Академический Документы
Профессиональный Документы
Культура Документы
Estilos arquiteturais
Padres arquiteturais
Unianhanguera
Subrotina 1
Subrotina 2
Subrotina 3
Objetivos
Programa principal
Subrotina 1
Subrotina 2
Subrotina 3
Reso
Unianhanguera
Objetivos
Programa principal
Subrotina 1
Subrotina 2
Subrotina 3
Desenvolvimento
independente
Unianhanguera
Rede
Subrotina 1
Subrotina 2
Subrotina 3
192.168.10.8
192.168.10.11
Unianhanguera
Rede
Subrotina 1
Subrotina 2
Subrotina 3
Ganho de
desempenho
192.168.10.11
(2 processadores)
Unianhanguera
192.168.10.8
8
Camadas (Layered)
Aplicao
Apresentao
Apresentao
Sesso
ISO-OSI
Negcio
Transporte
Clssica
3 camadas
Armazenamento
Rede
Dados
Fsica
Unianhanguera
Camadas (Layered)
Negcio
Armazenamento
Unianhanguera
10
Camadas (Layered)
Negcio
Armazenamento
Unianhanguera
11
Cliente - Servidor
Ponto a ponto (Peer to Peer P2P)
Unianhanguera
12
Cliente Servidor
J vimos anteriormente
Servidor
Aplicao: Internet
Clientes
Unianhanguera
13
Cliente Servidor
Servidor
Clientes
Unianhanguera
14
No h distino entre ns
Cada n mantm seus prprios dados e endereos conhecidos
Cada n cliente e servidor ao mesmo tempo
Unianhanguera
15
Unianhanguera
16
Baseado em eventos
Unianhanguera
17
Baseado em eventos
imprimir()
A
Consumidor
interessado(relatorioOK)
relatorioOK
Unianhanguera
B
Produtor
Relatri
o OK
18
Baseado em eventos
Aplicao comum
Interface grfica
onKeyDown
onMouseOver
onKeyUp
onMouseReleased
onMouseClick
menuDown
onMousePressed
onSelected
Unianhanguera
19
Repositrio (Repository)
Cliente 2
Cliente 1
Clientes operam
sobre os dados
Cliente 3
Cliente n
Estado atual
consistente
Dados
compartilhados
Unianhanguera
20
Repositrio (Repository)
Cliente 2
Cliente 1
Gatilhos
(triggers)
Cliente 3
Cliente n
Transaes
Dados
compartilhados
Unianhanguera
21
Controlador
x2
Fontes de
conhecimento
Unianhanguera
22
Sei subtrair!
Sei multiplicar!
2 x (3+2)2 + 3 - 6 = ?
x2
Controlador
Sei
exponencial!
Sei somar!
Unianhanguera
23
Controlador
Unianhanguera
x2
24
Controlador
Unianhanguera
x2
25
Controlador
Unianhanguera
x2
26
Controlador
Unianhanguera
x2
27
Ap 2
Ap 3
Quadro Negro
Controlador
Ap 4
Ap n
Ap 5
Unianhanguera
28
Sistemas complexos
Resoluo Distribuda de Problemas - RDP
Aplicaes independentes
Escalabilidade
Ponto de falha!!!
Quadro negro
Arquitetura usada no paradigma de agentes
Unianhanguera
29
Interpretador (Interpreter)
entrada
dados
sada
Programa sendo
interpretado
Dados
(Estado do programa)
Atualiza
Mecanismo de
interpretao
Dados de
estado
Instruo selecionada
Dados selecionados
Unianhanguera
Instrues do
programa
Estado interno
(Instrues + dados)
30
Interpretador (Interpreter)
Exemplo: Java
Compilador Java
javac.exe
Mquina
Virtual
Mquina
Virtual
Arquivo Oi.java
bytecode
1 <init> ()V
Code LineNumberTable
main ([Ljava/lang/String;)...
INTERPRETA
Arquivo Oi.class
Mquina
Virtual
Mquina
Virtual
Mquina
Virtual
Unianhanguera
31
Interpretador (Interpreter)
Problema
Desempenho
Unianhanguera
32
Base de
Regras
entrada
sada
Mquina de
inferncia
Unianhanguera
33
SE HORA=21:00
ENTO AO=LANCHE
HORA=18:00
HORA = ?
AO = ?
SE HORA=22:00
ENTO AO=LIBERAR
SE HORA<19:00
ENTO AO=ESPERAR
SE HORA=19:00
ENTO AO=COMEAR
Base de Regras
Mquina de
inferncia
Unianhanguera
34
SE HORA=21:00
ENTO AO=LANCHE
HORA = 18:00
AO = ?
SE HORA=22:00
ENTO AO=LIBERAR
SE HORA<19:00
ENTO AO=ESPERAR
SE HORA=19:00
ENTO AO=COMEAR
Base de Regras
Mquina de
inferncia
Unianhanguera
35
SE HORA=21:00
ENTO AO=LANCHE
HORA = 18:00
AO = ESPERAR
SE HORA=22:00
ENTO AO=LIBERAR
SE HORA<19:00
ENTO AO=ESPERAR
SE HORA=19:00
ENTO AO=COMEAR
Base de Regras
Mquina de
inferncia
Unianhanguera
36
SE HORA=21:00
ENTO AO=LANCHE
HORA = 18:00
AO = ESPERAR
SE HORA=22:00
ENTO AO=LIBERAR
AO=ESPERAR
SE HORA<19:00
ENTO AO=ESPERAR
SE HORA=19:00
ENTO AO=COMEAR
Base de Regras
Mquina de
inferncia
Unianhanguera
37
Bytecode
class{
}
Arquivo Jar
000
1001
1001
A$n3*
3N4*#
Javac
Jar
Compilando
Empacotando
Unianhanguera
Java
executando
38
Cdigo fonte
Analisador
Lxico
Intel backend
rvore sinttica
Analisador
Sinttico
Analisador
Semntico
Executvel otimizado
Gerador de
cdigo
intermedirio
Executvel
Otimizador
MIPS backend
SPARC backend
Unianhanguera
39
Unianhanguera
40
Atributos de qualidade
Arquitetura e funcionalidade
Unianhanguera
41
Atributos de qualidade
Classes de atributos
Unianhanguera
42
Atributos de qualidade
Qualidades de sistema
Disponibilidade
Mutabilidade
Desempenho
Segurana
Testabilidade
Usabilidade
Unianhanguera
43
Atributos de qualidade
Qualidades de sistema
Disponibilidade
disp =
Unianhanguera
44
Atributos de qualidade
Qualidades de sistema
Mutabilidade
Implementao de funcionalidades
Plataforma na qual o sistema executado (hardware, SO,...)
Portabilidade
Escalabilidade
Unianhanguera
45
Atributos de qualidade
Qualidades de sistema
Mutabilidade
Unianhanguera
46
Atributos de qualidade
Qualidades de sistema
Desempenho
Relacionado a tempo!
Eventos ocorrem e o sistema tem que responder aos mesmos
A medida de desempenho :
Evento???
Exemplo:
Unianhanguera
47
Atributos de qualidade
Qualidades de sistema
Segurana
48
Atributos de qualidade
Qualidades de sistema
Testabilidade
Unianhanguera
49
Atributos de qualidade
Qualidades de sistema
Usabilidade
50
Atributos de qualidade
Qualidades de negcio
Unianhanguera
51
Atributos de qualidade
Qualidades de negcio
Unianhanguera
52
Atributos de qualidade
Qualidades de negcio
Custo e benefcio
Unianhanguera
53
Atributos de qualidade
Qualidades de negcio
Unianhanguera
54
Atributos de qualidade
Qualidades de negcio
Mercado alvo
Soluo utilizada
Linhas de produto
Unianhanguera
55
Atributos de qualidade
Qualidades de negcio
Agenda de divulgao
Escalabilidade
Flexibilidade
Unianhanguera
56
Atributos de qualidade
Qualidades de negcio
Unianhanguera
57
Atributos de qualidade
Qualidades de arquitetura
Buildability
Integridade conceitual
Corretude e completude
58
Seleo de estilos
Fonte:
Unianhanguera
59
Seleo de estilos
1. Identificar os principais elementos da arquitetura
Fonte:
Unianhanguera
60
Seleo de estilos
2. Identificar o estilo arquitetural dominante
Fonte:
Unianhanguera
61
Seleo de estilos
3. Considerar responsabilidades adicionais associadas com
a escolha do estilo
Fonte:
Unianhanguera
62
Seleo de estilos
4. Modificar o estilo para atingir objetivos adicionais
Adaptao: broker
Requisita
servio
Servidores
Broker
A
Bridge
Proxy
Broker
B
Cliente
Servidores
Proxy
Fonte:
Unianhanguera
63
Seleo de estilos
Exemplo
1. Identificar os principais elementos da arquitetura
Sistema: acadmico
Mdulo de acesso do
usurio
Mdulo de
armazenamento de
dados
Unianhanguera
64
Seleo de estilos
Exemplo
2. Identificar o estilo arquitetural dominante
No deve requerer
instalao!
Deve executar
na Internet
Mdulo de acesso do
usurio
Acesso mquina
do BD s via rede
No h confiana na
disponibilidade da
mquina do BD
Mdulo de
armazenamento de
dados
Unianhanguera
Seleo de estilos
Exemplo
3. Considerar responsabilidades adicionais associadas com
a escolha do estilo
Servidor
Unianhanguera
66
Seleo de estilos
Exemplo
4. Modificar o estilo para atingir objetivos adicionais
Cliente/
Servidor
consulta/
atualizao
Mdulo Servidor
(Web)
Cliente/
Servidor
leitura
Repositrio
Mdulo Backup
(Dados)
sincronizao
leitura/escrita
Cliente/
Servidor
Unianhanguera
Mdulo Servidor
(Dados)
leitura/escrita
Aplicao legada
67
Seleo de estilos
Exemplo
4. Modificar o estilo para atingir objetivos adicionais
Objetivos atingidos!
Mdulo cliente
(Acesso do usurio)
consulta/
atualizao
Mdulo Servidor
(Web)
- Alta disponibilidade
- Fino
- Executar na Internet
- Acesso de qualquer lugar
- No requer instalao
leitura
Mdulo Backup
(Dados)
sincronizao
leitura/escrita
- Acesso maquina do BD
s via rede
- Banco de outra aplicao
- No h confiana
na
Unianhanguera
disponibilidade
Mdulo Servidor
(Dados)
leitura/escrita
Aplicao legada
68
Seleo de vises
Cliente
???
Arquiteto
???
Unianhanguera
69
Vises arquiteturais
Relembrando...
Viso de
Desenvolvimento
Cenrios
Viso de
Processo
Viso
Fsica
Unianhanguera
70
Vises arquiteturais
Relembrando...
Viso Lgica
Viso
Lgica
Unianhanguera
71
Vises arquiteturais
Relembrando...
Viso de Processo
Viso de
Processo
Unianhanguera
72
Vises arquiteturais
Relembrando...
Viso de Desenvolvimento
Viso de
Desenvolvimento
Unianhanguera
73
Vises arquiteturais
Relembrando...
Viso Fsica
Unianhanguera
74
Vises arquiteturais
Relembrando...
Cenrios (+1)
Cenrios
Unianhanguera
75
Seleo de vises
Trs passos:
1. Produza uma tabela de vises
2. Combine vises
3. Priorize vises
Unianhanguera
76
Seleo de vises
1.
Stakeholder
Gerente
Desenvolvedor
Testador
Cliente
Usurio final
Analista
Arquiteto
Lgica
d
v
v
v
v
d
d
Processo
Desenvolvimento
Fsica
v
v
v
v
d
d
d
v
Legenda:
77
Seleo de vises
2. Combine vises
78
Seleo de vises
2. Combine vises
Stakeholder
Gerente
Desenvolvedor
Testador
Cliente
Usurio final
Analista
Arquiteto
Lgica
d
v
v
v
v
d
d
Processo
Desenvolvimento
Fsica
v
v
v
v
d
d
d
v
Legenda:
79
Seleo de vises
3. Priorize vises
Unianhanguera
80
Rastreabilidade bidirecional
Cdigo
Public
class{
Public
class{
Public
class{
Public
......
Publicclass{
class{
......
}}
...
}}
}
Revises mais
rpidas
Maior facilidade
de entendimento
Unianhanguera
Evita cdigo
desnecessrio
81
Rastreabilidade bidirecional
Cdigo
Public
class{
Public
class{
Public
class{
Public
......
Publicclass{
class{
......
}}
...
}}
}
Manuteno
Evoluo
Unianhanguera
82
Rastreabilidade bidirecional
Unianhanguera
83