Você está na página 1de 12

Sumrio Resumido

PARTE 1 Introduo
1. Anlise e Projeto Orientados a Objetos
2. Desenvolvimento Iterativo e o Processo Unificado
3. Estudo de Caso:o Sistema PDV ProxGer

9. Modelo de Casos de Uso: Como Desenhar Diagramas de Seqncia do


Sistema

10. Modelo de Domnio: Visualizao dos Conceitos


11. Modelo de Domnio: Incluso de Associaes
12. Modelo de Domnio: Incluso de Atributos
13. Modelo de Casos de Uso: Incluso de Detalhes com os Contratos de
Operao
14. Dos Requisitos para o Projeto nesta Iterao
15. Notao do Diagrama de Interao

25
27
37
51

139
147
171
183

193
207
211

PARTE 2 Concepo - 55
4. Concepo 57
5. Compreenso dos Requisitos 63
6. O Modelo de Casos de Uso: Redigir Requisitos Contexto 67
dentro de um
7. Identificao de Outros Requisitos 105
8. Da Concepo para a Elaborao 129
PARTE 3 Elaborao Iterao 1 137

16 SUMRIO
16. GRASP: Projeto de Objetos com Responsabilidade 227
17. Modelo de Projeto: Realizaes de Casos de Uso
com os Padres GRASP 259
18. Modelo de Projeto: Como Determinar a Visibilidade 289
19. Modelo de Projeto: Como Criar Diagramas de Classe de Projeto 295
20. Modelo de Implementao: Como Mapear Projetos para Cdigo 311
PARTE 4 Elaborao Iterao 2 _______ 327
21. A lterao 2 e Seus Requisitos 329
22. GRASP: Mais Padres para Atribuio de Responsabilidades 335
23. Projeto de Realizaes de Caso de Uso com Padres de Projeto GoF 351
PARTE 5 Elaborao Iterao 3 ___________ 387
24. A Iterao 3 e Seus Requisitos 389
25. Relacionamento de Casos de Uso 391
26. Generalizao da Modelagem 399
27. Refinamento do Modelo de Domnio 413
28. Adicionar Novos Diagramas de Seqncia e Contratos 431
29. Modelagem do Comportamento com Diagramas de Estado 435
30. Projeto da Arquitetura Lgica com Padres 445
31. Organizao dos Pacotes dos Modelos de Projeto e de Implementao 471
32. Introduo Anlise Arquitetural e ao DAS 479 -
33. Projeto de mais Realizaes de Caso de Uso com Objetos e Padres 497
34. Projeto de um Frameworkde Persistncia com Padres 521
PARTE 6 Tpicos Especiais - 545
35. Sobre Desenhos de Diagramas e Ferramentas 547
36. Introduo a Questes de Planejamento e Projetos Iterativos 555
37. Comentrios Sobre o Desenvolvimento Iterativo e o PU 569
38. Mais Notao UML 583
Bibliografia 589
Glossrio 595
ndice 601

Sumrio
PARTE 1 Introduo 25
Anlise e Projeto Orientados a Objetos 27
Aplicao de UML e Padres na AJPOO 27
Atribuio de Responsabilidades 30
O Que So Anlise e Projeto? 30
O Que so Anlise e Projeto Orientados a Objetos? 31
Um Exemplo 31
AUML 34
Leituras Adicionais 35
2. Desenvolvimento Iterativo e o Processo Unificado 37
Introduo 37
A Idia mais Importante do PU: Desenvolvimento Iterativo 38
Conceitos e Melhores Prticas Adicionais do PU 42
As Fases e os Termos Relativos ao Cronograma do PU 43
As Disciplinas do PU (anteriormente Fluxos de Trabalho - Workflows) 44
Personalizao do Processo e a Pasta de Desenvolvimento 46
O PU Agil 47
O Ciclo de Vida Seqencial em Cascata 48
Voc Sabe Que No Compreendeu o PU Quando... 49
Leituras Adicionais 50
3. Estudo de Caso:o Sistema PDV ProxGer 51
Introduo 51
O Sistema PDV ProxGer 51
Arquitetura em Camadas e nfase do Estudo de Caso 52
A Estratgia do Livro: Desenvolvimento e Aprendizado Iterativos 53

18 SuMRIo

Concepo
Introduo
Concepo: uma Analogia
A Concepo Pode Ser Muito Breve
Quais Artefatos Podem Ser Iniciados na Concepo?
Voc Sabe Que No Compreendeu a Concepo Quando...

5. Compreenso dos Requisitos


Introduo
Tipos de Requsitos
Leituras Adicionais
6. O Modelo de Casos de Uso: Redigir Requisitos dentro de um Contexto
Introduo
Objetivos e Narrativas
Origens
Casos de Uso e Acrscimo de Valor ao Sistema
Casos de Uso e Requisitos Funcionais
Tipos e Formatos de Casos de Uso
Exemplo Completo: Processar Venda
Explicao das Sees
Objetivos e Escopo de um Caso de Uso
Como Encontrar Atores Principais, Objetivos e Casos de Uso
Parabns: os Casos de Uso Foram Escritos e Esto Imperfeitos
Escreva Casos de Uso em um Estilo Essencial, Independente da lU
Atores
Diagramas de Casos de Uso
Requisitos em Contexto e Listas de Caractersticas de Baixo Nvel
Casos de Uso No So Orientados a Objetos
Casos de Uso no PU
Estudo de Caso: Casos de Uso na Fase de Concepo do ProxGer
Leituras Adicionais
Artefatos do PU e Contexto do Processo

7. Identificao de Outros Requisitos

Introduo
Exemplos do PDV ProxGer
Exemplo ProxGer: Especificao Suplementar (Parcial)
Comentrio: Especificao Suplementar
Exemplo ProxGer: Viso (Parcial)
Comentrio: Viso
Exemplo ProxGer: um Glossrio (Parcial)
Comentrio: Glossrio (Dicionrio de Dados)
Especificaes Confiveis: um Paradoxismo?
Artefatos On-line no Stio da Web do Projeto
A UML No Muito Usada Durante a Concepo?
Outros Artefatos Relacionados com Requisitos no PU
Leituras Adicionais
Artefatos do PU e Contexto do Processo

8. Da Concepo para a Elaborao


Introduo
Ponto de Verificao: o Que Aconteceu na Concepo?
Em Direo Elaborao
Planejamento da Prxima lterao
Requisitos e Enfase da Iterao 1: Habilidades Fundamentais em A/POO
Que Artefatos Podem Ser Iniciados na Elaborao?
Voc Sabe Que No Compreendeu a Elaborao Quando...

PARTE 2 Concepo
4.

55 PARTE 3 Eh
57 9. Mode
57 Diagr
58 Em Dit
59 lntrod
59 Comp<
60 Diagra
63 Exemp
63 DSSs
64 DSSs
65 Eventc
Como
67 Mostra
67 OsDS
68 DSSsr
69 Leitura
69 Artefat
70
71 10. Model
72 Introdu
76 Modelc
80 ldentjfi
84 Classe
88 Diretril
89 Como
91 Modele
92 Classe
94 Nota
96 Diminu
96 Exemp
100 Modek
ioi Leitura
102 Artefat
105 11. Mode
105 Introdu
106 Associ
106 ANota
110 Como
112 Associ
116 Diretri
120 Papis
121 OQua
122 Como
123 Associ
123 Associ
123 Associ
126 Modelc
127 12. Mode
129 lntrodu
129 Atribut
130 Nota
131 Tipos
133 Classe
134 lnfiltra(
135 ModeI
136 Atribut

_____________________________________________________ SUMRIO 19

PARTE 3 Elaborao Iterao 1 137


9. Modelo de Casos de Uso: Como Desenhar
Diagramas de Seqncia do Sistema 139
Em Direo Iterao 1 139
Introduo 140
Comportamento do Sistema 140
Diagramas de Seqncia do Sistema 140
Exemplo de um DSS 140
DSSs Inter-Sistemas 141
DSSs e Casos de Uso 142
Eventos do Sistema e a Fronteira do Sistema 142
Como Dar Nomes a Eventos e Operaes de Sistema 143
Mostrar o Texto do Caso de Uso i
Os DSSs e o Glossrio 144
DSSsnoPU 145
Leituras Adicionais 146
Artefatos do PU 146
10. Modelo de Domnio: Visualizao dos Conceitos 147
Introduo 147
Modelos de Domnio 148
Identificao de Classes Conceituais 152
Classes Conceituais Candidatas para o Domnio de Vendas 155
Diretrizes para Modelagem de Domnio 156
Como Resolver Classes Conceituais Semelhantes - Registro versusTPDV 157
Modelagem do Mundo Irreal 158
Classes Conceituais de Especificao ou de Descrio 159
Notao UML, Modelos e Mtodos: Perspectivas Mltiplas 162
Diminuio do Hiato de Representao 164
Exemplo: o Modelo de Domnio para o PDV ProxGer 166
Modelos de Domnio no PU 166
Leituras Adicionais 168
Artefatos do PU 169
11. Modelo de Domnio: Incluso de Associaes 171
Introduo 171
Associaes 171
A Notao para Associao em UML 172
Como Encontrar Associaes - Lista de
Associaes Comuns 173
Diretrizes para Associaes 174
Papis 175
O Quanto as Associaes Devem Ser Detalhadas? 176
Como Dar Nomes a Associaes 177
Associaes Mltiplas entre Dois Tipos i 78
Associaes e Implementao 178
Associaes do Modelo de Domnio do PDV ProxGer 179
Modelo de Domnio para o PDV ProxGer 180
12. Modelo de Domnio: Incluso de Atributos 183
Introduo 183
Atributos 183
Notao UML para Atributos 184
Tipos Vlidos de Atributos 184
Classes de Tipos de Dados No-Primitivos 186
Infiltrao de Projeto: Nenhum Atributo como Chave Estrangeira 188
Modelar Atributos de Quantidades e Unidades 188
Atributos para o Modelo do Domnio do PDV ProxGer 189

20 SUMRIO
Multiplicidade de LinhaDeltemDeVenda em Relao a Item 190
Concluso cio Modelo de Domnio 191
13. Modelo de Casos de Uso: Incluso de Detalhes com os
Contratos de Operao 193
Introduo 193
Contratos 193
Contrato Exemplo: entrarltem 194
Sees do Contrato 195
Ps-Condies 195
Discusso - Ps-Condies de entrarltem 198
Escrever Contratos Leva a Atualizaes do Modelo de Domnio 198
Quando os Contratos So Uteis? Contratos versus Casos de Uso? 199
Diretrizes: Contratos 199
O Exemplo do PDV ProxGer: Contratos 200
Mudanas no Modelo de Domnio 201
Contratos, Operaes e a UML 202
Contratos de Operaes no PU 203
Leituras Adicionais 206
14. Dos Requisitas para o Projeto nesta Iterao 207
Introduo 207
Iterativamente Fazer a Coisa Certa, Fazer Certo a Coisa 207
Mas No Leva Semanas para Fazer Isso? No, No Exatamente. 208
Rumo ao Projeto de Objetos 208
15. Notao do Diagrama de Interao 211
Introduo 211
Diagramas de Seqncia e Colaborao 212
Exemplo de Diagrama de Colaborao: fazerPagamento 213
Exemplo de um Diagrama de Seqncia: fazerPagamento 214
Os Diagramas de Interao so Artefatos Valiosos 214
Notao Comum do Diagrama de Interao 215
Notao Bsica para Diagramas de Colaborao 216
Notao Bsica de Diagramas de Seqncia 221
16. GRASP: Projeto de Objetos com Responsabilidade 227
Introduo 227
Responsabilidades e Mtodos 228
Responsabilidades e Diagramas de Interao 229
Padres 229
GRASP: Padres de Princpios Gerais para Atribuio de Responsabilidades
231
A Notao UML de Diagrama de Classe 232
Especialista na Informao ou Especialista 232
Criador 237
Acoplamento Fraco 240
Coeso Alta 243
Controlador 248
Projeto Baseado em Objetos e Cartes CRC 256
Leituras Adicionais 257
17. Modelo de Projeto: Realizaes de Casos de Uso
com os Padres GRASP 259
Introduo 259
Realizaes de Casos de Uso 260
Comentrios Sobre Artefatos 260
Realizaes de Caso de Uso para a lterao do ProxGer 264
Projeto de Objetos: iniciarNovaVenda 265
Projeto de Objeto: entrarltem 267

SUMRIO 21
Projeto de objetos: terminarVenda 271
Projeto de Objetos: fazerPagamento 275
Projeto de Objetos: Iniciar 280
Como Conectar a Camada de IU Camada de Dom mio 283
Realizaes de Casos de Uso no PU 286
Resumo 288
18. Modelo de Projeto: Como Determinar a Visibilidade 289
Introduo 289
A Visibilidade entre Objetos 289
Visibilidade 290
Como Ilustrar a Visibilidade na UML 294
19. Modelo de Projeto: Como Criar Diagramas de Classe de Projeto 295
Introduo 295
Quando Criar DCPs 295
Exemplo de DCP 296
DCP e Terminologia PU 296
Modelo de Domnio Versus Classes do Modelo de Projeto 297
Criao de um DCP para o PDV ProxGer 297
Notao para detalhes de membro 305
DCPs, Desenho e Ferramentas CASE 308
DCPs dentro do PU 308
Artefatos PU 309
20. Modelo de Implementao: Como Mapear Projetos para Cdigo 311
Introduo 311
A Programao e o Processo de Desenvolvimento 312
Mapear Projetos para o Cdigo 314
Criar Definies de Classe a Partir de DCPs 314
Criao de Mtodos a Partir de Diagramas de Interao 317
As Classes Continer/Coleo em Cdigo 318
Tratamento de Erro e Excees 319
Definio do Mtodo Venda--criarLinhaDeltem 319
Ordem de Implementao 320
Testar-Primeira Programao 320
Resumo de Mapear Projetos para o Cdigo 322
Introduo Soluo do Programa 322
PARTE 4 Elaborao lterao 2 327
21. A iterao 2 e Seus Requisitos 329
A Enfase da Iterao 2: Projeto de Objetos e Padres 329
Da Iterao 1 Iterao 2 329
Requisitos da Iterao 2 330
Refinamento dos Artefatos Orientados Anlise nesta Iterao 332
22. GRASP: Mais Padres para Atribuio de Responsabilidades 335
Introduo 335
Polimorfismo 336
Inveno Pura 339
Indireo 342
Variaes Protegidas 344
23. Projeto de Realizaes de Caso de Uso com Padres de Projeto GoF 351
Introduo 351
Adaptador (G0F Adapter) 352
Descobertas de Anlise Durante o Projeto: Modelo de Domnio 354
Fbrica (GoF Factory) 356
Objeto Unitrio (GoF Singleton) 357

22 SUMRIo
Concluso dos Servios Externos com Problema de Interfaces Variadas
Estratgia (G0F Strategy)
Padro Composto (G0F Composite) e Outros Princpios de Projeto
Fachada (GoF Faade)
Observador/Publicao-Assinatura/Modelo de Delegao de Evento
(G0F Observer/Publish-Subscribe/Delegation Event Model)
Concluso
Leituras Adicionais
PARTE 5 Elaborao Iterao 3 - 387
24. A Iterao 3 e Seus Requisitos 389
Requisitas da Iterao 3 389
Enfase da Iterao 3 389
25. Relacionamento de Casos de Uso
Introduo
O Relacionamento Incluir
Terminologia: Casos de Uso Concreto, Abstrato, de Base e de Adio
O Relacionamento Estender
O Relacionamento Generalizar
Diagramas de Caso de Uso
26. Generalizao da Modelagem
Introduo
Novos Conceitos para o Modelo de Domnio
Generalizao
Definio de Superclasses e Subclasses Conceituais
Quando Definir uma Subclasse Conceitual
Quando Definir uma Superclasse Conceitual
Hierarquias de Classes Conceituais PDV ProxGer
Classes Conceituais Abstratas
Modelagem de Estados que Sofrem Modificaes
Hierarquias de Classe e Herana no Software
27. Refinamento do Modelo de Domnio
Introduo
Classes Associativas
Agregao e Composio
Intervalos de Tempo e Preos de Produto -
Correo de um Erro da Iterao 1 420
Nomes de Papel em Associaes 420
Papis Como Conceitos Versus Papis em Associaes 421
Elementos Derivados 422
Associaes Qualificadas 423
Associaes Reflexivas 423
Elementos Ordenados 424
Uso de Pacotes para Organizar o Modelo de Domnio 424
28. Adicionar Novos Diagramas de Seqncia e Contratos 431
Novos Diagramas de Seqncia do Sistema 431
Novas Operaes do Sistema 433
Novos Contratos de Operao do Sistema 433
29. Modelagem do Comportamento com Diagramas de Estado 435
Introduo 435
Eventos, Estados e Transies 435
Diagramas de Estado 436
Diagramas de Estado no PU? 437
Diagramas de Estado de Casos de Uso 437

SUMRIO 23
Diagramas de Estado de Casos de Uso para a Aplicao PDV 438
Classes que se Beneficiam de Diagramas de Estado 439
Ilustrar Eventos Externos e Internos 440
Notao Adicional para Diagrama de Estado 441
Leituras Adicionais 443
30. Projeto da Arquitetura Lgica com Padres 445
Introduo 445
Arquitetura de Software 446
Padro Arquitetural: Camadas 448
O Princpio Separao Modelo-Viso 468
Leituras Adicionais 470
31. Organizao dos Pacotes dos Modelos de Projeto e de Implementao 471
Introduo 471
Diretrizes para a Organizao de Pacotes 472
Mais Notao de Pacote da UML 477
Leituras Adicionais 478
32. Introduo Anlise Arquitetural e ao DAS 479
Introduo 479
Anlise Arquitetural 480
Tipos e Vises da Arquitetura 481
A Cincia: Identificao e Anlise de Fatores Arquiteturais 482
Exemplo: Tabela de Fatores Arquiteturais
Parcial da Aplicao PDV ProxGer 485
A Arte: Resoluo dos Fatores Arquiteturais 486
Resumo dos Temas da Anlise Arquitetural 491
Anlise Arquitetural Dentro do PU 492
Leituras Adicionais 496
33. Projeto de mais Realizaes de Caso de Uso com Objetos e Padres 497
Introduo 497
Uso de Servios Locais em Caso de Falha; Desempenho com Cache Local 497
Tratamento de Falha 501
Substituio para Servios Locais em Caso de Falha, com um Procurador (G0F
Proxy) 507
Projeto para Requisitos No-Funcionais ou de Qualidade 510
Acesso a Dispositivos Fsicos Externos com Adaptadores; Comprar versus
Construir 510
Fbrica Abstrata (G0F Abstract Factory) para Famlias de Objetos Relacionados
512
Manipulao de Pagamentos com Polimorfismo e Faz-lo Eu Mesmo 515
Concluso 519
34. Projeto de um Framework de Persistncia com Padres 521
Introduo 521
O Problema: Objetos Persistentes 522
A Soluo: um Servio de Persistncia de um Framework de Persistncia 522
Frameworks 523
Requisitos para o Servio e para o Frameworkde Persistncia 523
Idias Principais 524
Padro: Representao de Objetos como Tabelas 524
Perfil da Modelagem de Dados da UML 525
Padro: Identificador de Objeto 525
Como Acessar um Servio de Persistncia com uma Fachada 526
Mapeamento de objetos: Padro Mapeador de Banco de
Dados ou Intermedirio do Banco de Dados 527
Projeto de Framework com o Padro Mtodo Gabarito (Template Method) 529
Materializao com o Padro Mtodo Gabarito 529
Configurao de Mapeadores com uma FbricaDeMapeador 534
Padro: Administrao da Cache 535

24 SUMRIO
Consolidao e Ocultamento de Instrues SOL em uma Classe 535
Estados Transacionais e o Padro Estado 536
Projeto de uma Transao com o Padro Comando 538
Materializao Sob Demanda com um Procurador Virtual 541
Como Representar Relacionamentos em Tabelas 543
Superclasse ObjetoPersistente e Separao de Interesses 543
Problemas que No Foram Resolvidos 544
PARTE 6 Tpicos Especiais 545
35. Sobre Desenhos de Diagramas e Ferramentas 547
Introduo 547
Sobre Projeto Especulativo e Pensamento Visual 548
Sugestes para Usar a Diagramao UML Dentro do Processo de
Desenvolvimento 548
Caractersticas de Ferramentas e Amostras 551
Exemplo Dois 553
36. Introduo a Questes de Planejamento e Projetos Iterativos 555
Introduo 555
Ordenar Requisitos 556
Classificao dos Riscos de Projetos 558
Planejamento Adaptativo versus Planejamento Preditivo 559
Planos de Fase e de Iterao 561
Plano de Iterao: o que Fazer na Prxima Iterao? 561
Rastreamento de Requisitos ao Longo das Iteraes 562
A (In)Validade das Estimativas Iniciais 564
Organizao dos Artefatos de Projeto 564
Algumas Questes de Escalonamento das Equipes nas Iteraes 565
Voc Sabe Que No Entendeu o Planejamento No PU Quando... 566
Leituras Adicionais 567
37. Comentrios Sobre o Desenvolvimento Iterativo e o PU 569
Melhores Prticas e Conceitos Adicionais ao PU 569
As Fases de Construo e Transio 571
Outras Prticas Interessantes 572
Motivos para Fixar o Tempo da Iterao 573
O Ciclo de Vida Seqencial em Cascata 573
Engenharia de Usabilidade e Projeto de Interface do Usurio 579
O Modelo de Anlise PU 579
O Produto RUP 579
O Desafio e os Mitos do Reuso 580
38. Mais Notao UML 583
Notao Geral 583
Diagramas de Implementao 584
Classe Gabarito (Parametrizada, Genrica) 586
Diagramas de Atividade 586
Bibliografia 589
Glossrio 595
ndice 601