Aula 11 Modelagem da Arquitetura - PUC-Rioinf1301/docs/2016_1/INF1301_Aula11_Arquitetura... · •...
Transcript of Aula 11 Modelagem da Arquitetura - PUC-Rioinf1301/docs/2016_1/INF1301_Aula11_Arquitetura... · •...
Set 2009 2 /36LES/DI/PUC-Rio
Especificação
• Objetivos dessa aula
– Revisar notação de modelagem da arquitetura
– Realizar exercício: definição da arquitetura do programa de
truco
• Referência básica:
– Capítulo 10
– Seção 8.3
– Capítulo 9.4
– Apêndice 2
• Slides adaptados de: Staa, A.v. Notas de Aula em Programação
Modular; 2008.
• Referência complementar
– Silva, R.P.; UML2 em Modelagem Orientada a Objetos; Florianópolis, SC: Visual
Books; 2007
Set 2009 3 /36LES/DI/PUC-Rio
De requisitos a implementação
Requisitos doSistema
Arquitetura doSistema
Desenvolvimentode cada Módulo
Validaçãodos Módulos
Derivação deCasos de Teste
• Dos requisitos em alto nível de abstração até…
• ... implementação e teste dos módulos do sistema
1. definição de todas as interfaces (*.h)
2. definição de todas as implementações (*.c)
1. Requisitos funcionais
2. Requisitos não-funcionais
modelo lógico
modelo físico
Arquitetura de um sistema é...
• um conjunto dos módulos essenciais de um sistema, suas
interfaces, e as interdependências entre estes
– devendo satisfazer requisitos
• Como representar a arquitetura de sistemas?
– com modelos (representação visual)
• arquitetura poderia ser representada com um simples diagrama de
retângulos e linhas, mas não permite representar interfaces
• Para modelos conceituais da arquitetura, utilizaremos um
diagrama da linguagem UML
– diagrama de “componentes”
– módulos são representados como componentes neste diagrama
Abr 2010 4 /35Alessandro Garcia © LES/DI/PUC-Rio
Set 2009 5 /36LES/DI/PUC-Rio
Diagrama de módulos (componentes)
• Conjunto de módulos (componentes) de software e suas
relações estruturais
• Definição lógica e independente de tecnologia
– Omissão de detalhes de implementação:
• ex. funções internas/auxiliares, estruturas de dados, etc...
• Especificação de interfaces providas e requeridas
• Dependências entre:
– diferentes módulos
– módulos e suas interfaces, e
– entre interfaces
Set 2009 6 /36LES/DI/PUC-Rio
Modelo de Componentes
Concurrent
Exception
Handling
Action
Exception
Exception
Handling
StrategyISearch
ICooperation
Handler
IInvocation
IRaising
IGetInformation
IUpdateInformation
get and update
get and updateget
invoke
handler
search
handler
arquivo *.h
arquivo *.c
Jogo de Damas
• Requisitos Funcionais? Exemplos…
• partida é praticada entre duas pessoas, num tabuleiro de 8 x 8
casas alternadamente claras e escuras
• cada jogador possui 12 peças (pretas ou brancas) e tem como
objetivo capturar ("comer") as peças do adversário
• ganha aquele que "comer" todas ou a maior quantidade de peças do
adversário
• cada jogador movimenta uma peça por vez
• existem dois tipos de peças, a peça comum, que são as peças que os
jogadores possuem no início do jogo e as damas
• se uma peça comum do jogador terminar uma rodada na última fileira
de casas do lado oposto do tabuleiro, esta é substituída por uma dama
• etc...
Set 2009 9 /36LES/DI/PUC-Rio
Como criar o modelo da arquitetura?
• Identifique nos requisitos os módulos do sistema
– São as abstrações principais
– São usualmente ‘substantivos’ nos requisitos:
• Damas: Tabuleiro, Peça, Partida/Damas, Jogador, etc…
Set 2009 10 /36LES/DI/PUC-Rio
Jogo de Damas?
• Modelagem da Arquitetura – Como Seria?
Set 2009 12 /36LES/DI/PUC-Rio
? ?
?
Quais funções em cada
módulo e interface?
??
Como criar o modelo da arquitetura?
• Identifique nos requisitos os módulos do sistema
– São as abstrações principais
– São usualmente ‘substantivos’ nos requisitos:
• Damas: Tabuleiro, Peça, Partida/Damas, Jogador, etc…
• Identificação das funções das interfaces
– São usualmente ‘verbos’:
• Damas: criar tabuleiro, inserir peça na casa, mover peça de casas,
retirar peça da casa,….
obter cor da peça, obter status da peça, etc…
Set 2009 13 /36LES/DI/PUC-Rio
Como criar o modelo da arquitetura?
• Identifique nos requisitos os módulos do sistema
– São as abstrações principais
– São usualmente ‘substantivos’ nos requisitos:
• Damas: Tabuleiro, Peça, Partida/Damas, Jogador, etc…
• Identificação das funções das interfaces
– São usualmente ‘verbos’:
• Damas: criar tabuleiro, destruir tabuleiro, inserir peça na casa,
mover peça de casas, retirar peça da casa,….
obter cor da peça, obter status da peça, etc…
• Alocação de cada função para cada interface dos módulos
– Como descobrir qual é a alocação mais apropriada?
• As ações (funções) são sempre feitas sobre o sujeito/substantivo
(candidato a módulo)
Set 2009 14 /36LES/DI/PUC-Rio
(do…Tabuleiro)
Exercício – Modelagem da Arquitetura
• Exercício 3 – crie um modelo da arquitetura
– visão de módulos
– visão detalhada das interfaces
– necessário refinar especificação dos requisitos?
• Entrega dos Exercícios 1 e 2:
– Analisar possíveis defeitos e melhorias na especificação
• Outro grupo
• Revisão do professor
– Devem entregar uma especificação completa e melhorada
como parte do T2
Abr 2010 16 /35Alessandro Garcia © LES/DI/PUC-Rio