Escolar Documentos
Profissional Documentos
Cultura Documentos
e projeto de sistemas
com
UML
Eduardo Bezerra
Princpios de anlise
e projeto de sistemas
com
UML
Consultoria Editorial
Lorenzo Ridolfi
Gerente Snior Accenture
Srgio Colcher
Professor do Departamento
de Informtica da PUC-Rio
ISBN: 978-85-352-2626-3
ISBN (verso digital): 978-85-352-2627-0
Nota: Muito zelo e tcnica foram empregados na edio desta obra. No entanto, podem ocorrer erros de digitao,
impresso ou dvida conceitual. Em qualquer das hipteses, solicitamos a comunicao nossa Central de
Atendimento, para que possamos esclarecer ou encaminhar a questo.
Nem a editora nem o autor assumem qualquer responsabilidade por eventuais danos ou perdas a pessoas ou bens,
originados do uso desta publicao.
Cip-Brasil. Catalogao-na-fonte
Sindicato Nacional dos Editores de Livros, RJ
B469p
3. ed.
Bezerra, Eduardo, 1972-
Princpios de anlise e projeto de sistemas com UML / Eduardo Bezerra.
- [3. ed.] - Rio de Janeiro : Elsevier, 2015.
416 p. : il. ; 24 cm.
ISBN 978-85-352-2626-3
Prefcio XIII
1 Viso geral1
1.1 Modelagem de sistemas de software2
1.2 O paradigma da orientao a objetos4
1.2.1 Classes e objetos7
1.2.2 Operao, mensagem e estado7
1.2.3 O papel da abstrao na orientao a objetos8
1.3 Evoluo histrica da modelagem de sistemas13
1.4 A Linguagem de Modelagem Unificada (UML)15
1.4.1 Vises de um sistema 16
1.4.2 Diagramas da UML 17
3 Mecanismos gerais47
3.1Esteretipos 47
3.2 Notas explicativas 48
3.3 Etiquetas valoradas (tagged values) 49
3.4Restries 50
3.5Pacotes 50
3.6OCL52
5.2.2Associaes113
5.2.3 Generalizaes e especializaes129
5.3 Diagrama de objetos 136
5.4 Tcnicas para identificao de classes 138
5.4.1 Anlise textual de Abbott 139
5.4.2 Anlise dos casos de uso140
5.4.3 Tcnicas baseadas em responsabilidades 145
5.4.4 Padres de anlise 156
5.4.5 Outras tcnicas de identificao160
5.4.6Discusso160
5.5 Construo do modelo de classes163
5.5.1 Definio de propriedades163
5.5.2 Definio de associaes 165
5.5.3 Organizao da documentao166
5.6 Modelo de classes no processo de desenvolvimento168
5.7 Estudo de caso169
5.7.1 Anlise do caso de uso: Fornecer Grade de Disponibilidades 170
5.7.2 Anlise do caso de uso: Realizar Inscrio 171
5.7.3 Anlise do caso de uso: Lanar Avaliaes174
5.7.4 Anlise das regras do negcio 175
5.7.5 Documentao das responsabilidades 177
5.7.6 Glossrio de conceitos 178
7.2.2Mensagens 205
7.2.3 Ocorrncias de execuo 206
7.2.4 Criao e destruio de objetos 206
7.3 Diagrama de comunicao 208
7.4 Modularizao de interaes 210
7.4.1Quadros 211
7.4.2 Diagrama de viso geral da interao 216
7.5 Construo do modelo de interaes 217
7.5.1 Responsabilidades e mensagens 217
7.5.2 Coeso e acoplamento218
7.5.3Encapsulamento221
7.5.4 Procedimento de construo do modelo de interaes 226
7.6 Modelo de interaes em um processo iterativo231
7.7 Estudo de caso 234
7.7.1 Operaes de sistema 234
7.7.2 Observaes gerais 234
7.7.3 Modelos de interaes 235
7.7.4 Viso geral das interaes em um caso de uso 250
10 Modelagem de atividades331
10.1 Diagrama de atividade 331
10.1.1 Fluxo de controle sequencial332
10.1.2 Fluxo de controle paralelo333
10.1.2.1 Raias de natao333
10.2 Diagrama de atividade no processo de desenvolvimento iterativo 334
10.2.1 Modelagem dos processos do negcio335
10.2.2 Modelagem da lgica de um caso de uso335
10.2.3 Modelagem da lgica de uma operao complexa335
10.3 Estudo de caso335
XII princpios de anlise e proje to de sistemas com uml 3/E
Referncias391
ndice 395
Prefcio
Pblico-alvo
Este livro destinado a estudantes de cursos tcnicos, de graduao ou ps-
graduao em informtica, computao, sistemas de informao ou engenharia
de software que devem cursar uma ou mais disciplinas de anlise e projeto
orientados a objetos. Esta obra tambm pode ser utilizada como guia por
estudantes no desenvolvimento de seus projetos finais de curso. Profissionais
que desenvolvem sistemas segundo outros paradigmas (que no o orientado a
objetos) tambm podem encontrar neste livro uma boa iniciao aos conceitos
da orientao a objetos e da sua aplicao modelagem de sistemas de software.
Em todos os casos, o livro pode servir como uma fonte de referncia e dicas
prticas sobre a aplicao da UML e de outras tcnicas no desenvolvimento de
um sistema de software orientado a objetos.
O conhecimento de alguma linguagem de programao orientada a objetos
(p. ex., Java, C#, C++ etc.) desejvel (mas no obrigatrio) para o bom entendi-
mento dos assuntos tratados neste livro. Mais especificamente, este livro fornece
diversos exemplos de trechos de cdigo-fonte em linguagem Java. Entretanto,
esses exemplos devem ser facilmente entendidos por profissionais familiariza-
dos com outras linguagens orientadas a objetos.
Recursos na web
Como informao suplementar contida neste livro, fornecido um site na
prpria editora Elsevier. Acesse a pgina da Editora (www.elsevier.com.br).
Nesse endereo, o leitor pode obter informaes e material relacionado ao
livro. Entre os recursos que podem ser encontrados no site, esto os seguintes:
Convite ao leitor
Finalmente, convido o leitor a prosseguir pelo restante desta obra. Espero
que as informaes contidas neste livro o ajudem de alguma forma, e que a lei-
tura seja a mais agradvel possvel. Tentei dar o meu melhor para produzir um
texto cuja leitura seja aprazvel e didtica. Entretanto, pelo fato de a produo
de um livro ser uma tarefa bastante complexa, tenho conscincia de que erros
e inconsistncias ainda se escondem por entre as linhas que o compem. Para
os que quiserem entrar em contato comigo para trocar ideias e fornecer crticas
e sugestes, fiquem vontade para enviar uma mensagem.
Eduardo Bezerra
Rio de Janeiro
ebezerra@cefet-rj.br
18 de agosto de 2014