Wilson Moraes Góes
Novatec
Copyright © 2014 Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora. Editor: Rubens Prates Revisão gramatical: Marta Almeida de Sá Editoração eletrônica: Carolina Kuwabata Capa: Carolina Kuwabata ISBN: 978-85-7522-346-8 Histórico de impressões: Janeiro/2014
Primeira edição
Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 – São Paulo, SP – Brasil Tel.: +55 11 2959-6529 Fax: +55 11 2950-8869 E-mail:
[email protected] Site: novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec VC20131218
Sumário
Capítulo 1 Introdução à Linguagem Unificada de Modelagem (UML).................. 16 ■
1.1 Por que usar a UML ................................................................................................ 16 1.2 Breve histórico ........................................................................................................17 1.3 Diagramas da UML .................................................................................................17 1.3.1 Diagrama de Casos de Uso ...............................................................................17 1.3.2 Diagrama de Atividade .....................................................................................18 1.3.3 Diagrama de Classes ........................................................................................18 1.3.4 Diagrama de Objetos .......................................................................................19 1.3.5 Diagrama de Pacotes ....................................................................................... 20 1.3.6 Diagrama de Comunicação ............................................................................. 20 1.3.7 Diagrama de Máquina de Estado ......................................................................21 1.3.8 Diagrama de Sequência ....................................................................................21 1.3.9 Diagrama de Implantação ................................................................................21 1.3.10 Diagrama de Componentes ............................................................................ 22
Capítulo 2 Introdução à Análise e ao Projeto Orientados a Objetos ..................... 23 ■
2.1 Abstração ............................................................................................................... 23 2.2 Objetos.................................................................................................................. 24 2.3 Classes................................................................................................................... 24 2.3.1 Atributos ........................................................................................................ 25 2.3.2 Operações ...................................................................................................... 25 2.3.3 Visibilidade .................................................................................................... 26 2.3.4 Métodos ......................................................................................................... 27 2.4 Polimorfismo ......................................................................................................... 27 2.5 Encapsulamento .................................................................................................... 28 2.6 Herança ................................................................................................................. 28
Capítulo 3 Diagrama de Casos de Uso ................................................................ 29 ■
3.1 Casos de Uso .......................................................................................................... 30 3.2 Ator ....................................................................................................................... 32 3.3 Relacionamentos ou Associações ............................................................................. 33 3.3.1 Inclusão (Include)............................................................................................ 34
7
8
Aprenda UML por meio de estudos de caso
3.3.2 Extensão (Extend) .......................................................................................... 36 3.3.3 Especialização / Generalização ........................................................................ 37 3.4 Pacotes................................................................................................................... 38 3.4.1 Exemplo: Gestão de Compras::Manter fornecedores ......................................... 39 3.5 Restrições............................................................................................................... 39 3.6 Multiplicidade ........................................................................................................ 40 3.7 Fronteira do sistema ................................................................................................41 3.8 Erros mais comuns em Diagramas de Caso de Uso...................................................41 3.9 Especificação funcional de Casos de Uso................................................................. 43 3.9.1 Exemplo de especificação de Caso de Uso dividida em seções ............................ 44 3.10 Prototipação ......................................................................................................... 47 3.11 Estudos de caso ..................................................................................................... 48 3.11.1 Estudo de Caso 1 – Sistema de Biblioteca......................................................... 48 3.11.2 Estudo de Caso 2 – Sistema de Eleição da Comissão Interna de Prevenção de Acidentes (CIPA)............................................................................................... 58 3.11.3 Estudo de Caso 3 – Sistema de Laudos da Cardiologia .................................... 65 3.11.4 Estudo de Caso 4 – Sistema para Controle de Experimentação Animal ............ 79 3.11.5 Estudo de Caso 5 – Sistema para Emissão de Atas de Reunião .........................91
Capítulo 4 Diagrama de Atividades ................................................................. 109 ■
4.1 Nó Inicial .............................................................................................................109 4.2 Ação .................................................................................................................... 110 4.3 Fluxo de controle ................................................................................................. 110 4.4 Nó Final ................................................................................................................111 4.5 Nó de Decisão ...................................................................................................... 112 4.6 Final de Fluxo ...................................................................................................... 113 4.7 Nó de Bifurcação ou Fork ..................................................................................... 114 4.8 Nó de União ou Join ............................................................................................ 114 4.9 Merge .................................................................................................................. 115 4.10 Subatividade ........................................................................................................ 115 4.11 Raias ................................................................................................................... 116 4.12 Nó de Objeto ...................................................................................................... 117 4.13 Sinais de Aceitação .............................................................................................. 117 4.14 Conector ............................................................................................................. 118 4.15 Descrevendo especificações de Casos de Uso por meio de Diagramas de Atividades 118 4.16 Exercícios ............................................................................................................ 119 4.16.1 Exercício 1 – Sistema Acadêmico: Algoritmo de Aprovação ou Reprovação do Aluno .............................................................................................................. 119 4.16.2 Exercício 2 – Seguradora de Veículos ............................................................. 121 4.16.3 Exercício 3 – Seguro Residencial.................................................................... 121 4.16.4 Exercício 4 – Retirada de talão de cheques no banco ......................................122 4.16.5 Exercício 5 – Solicitar revisão de nota e/ou falta ............................................123
9
Sumário
4.17 Estudos de caso ...................................................................................................124 4.17.1 Estudo de Caso 3 – Sistema de Laudos da Cardiologia ...................................124 4.17.2 Estudo de Caso 4 – Sistema para Controle de Experimentação Animal ...........127 4.17.3 Estudo de Caso 5 – Sistema para Emissão de Atas de Reunião .......................129
Capítulo 5 Diagrama de Classes ...................................................................... 132 ■
5.1 Classes .................................................................................................................133 5.1.1 Nomes das classes...........................................................................................134 5.1.2 Atributos das classes ......................................................................................135 5.1.3 Operações e métodos das classes.....................................................................138 5.1.4 Associação (relacionamento) entre classes ....................................................... 139 5.1.5 Tipos de Associação (relacionamento) entre Classes ........................................ 141 5.1.6 Classes persistentes e transientes ..................................................................... 151 5.1.7 Utilitário (Utility) ........................................................................................... 151 5.1.8 Restrições ......................................................................................................152 5.1.9 Pacotes ..........................................................................................................153 5.1.10 Classes de Interface .......................................................................................154 5.1.11 Estereótipos .................................................................................................. 155 5.1.12 Erros mais comuns em diagramas de classe ...................................................158 5.2 Estudos de caso ....................................................................................................162 5.2.1 Estudo de Caso 1 – Sistema de Biblioteca ........................................................162 5.2.2 Estudo de Caso 2 – Sistema de Eleição da Comissão Interna de Prevenção de Acidentes (CIPA)..............................................................................................165 5.2.3 Estudo de Caso 3 – Sistema de Laudos da Cardiologia ....................................168 5.2.4 Estudo de Caso 4 – Sistema para Controle de Experimentação Animal ............172 5.2.5 Estudo de Caso 5 – Sistema para Emissão de Atas de Reunião ........................177
Capítulo 6 Diagrama de Objetos...................................................................... 182 ■
6.1 Objetos ................................................................................................................182 6.2 Vínculos entre objetos ..........................................................................................183 6.3 Exemplos de diagramas de objetos .........................................................................184 6.3.1 Cliente e Pedidos ............................................................................................184 6.3.2 Pedido e Item Pedido .....................................................................................184 6.4 Estudos de caso .....................................................................................................185 6.4.1 Estudo de Caso 1 – Sistema de Biblioteca ........................................................185 6.4.2 Estudo de Caso 2 – Sistema de Eleição da Comissão Interna de Prevenção de Acidentes (CIPA)..............................................................................................186 6.4.3 Estudo de Caso 3 – Sistema de Laudos da Cardiologia ....................................187 6.4.4 Estudo de Caso 4 – Sistema para Controle de Experimentação Animal ............188 6.4.5 Estudo de Caso 5 – Sistema para Emissão de Atas de Reunião ........................189
10
Aprenda UML por meio de estudos de caso
Capítulo 7 Diagrama de Pacotes ..................................................................... 191 ■
7.1 Pacotes ..................................................................................................................193 7.2 Pacotes e seus estereótipos .....................................................................................194
Capítulo 8 Diagrama de Comunicação ............................................................. 196 ■
8.1 Diagrama de Comunicação versus Diagrama de Sequência ......................................196 8.2 Exemplo e notação ................................................................................................196 8.3 Estudos de caso ....................................................................................................197 8.3.1 Solução do estudo de caso 1 – Sistema de Biblioteca.........................................198 8.3.2 Solução do estudo de caso 2 – Sistema de Eleição da Comissão Interna de Prevenção de Acidentes (CIPA) ........................................................................ 200 8.3.3 Solução do estudo de caso 3 – Sistema de Laudos da Cardiologia ....................202 8.3.4 Solução do estudo de caso 4 – Sistema para Controle de Experimentação Animal ..207 8.3.5 Solução do estudo de caso 5 – Sistema para Emissão de Atas de Reunião ..........211
Capítulo 9 Diagrama de Máquina de Estados ................................................... 215 ■
9.1 Eventos.................................................................................................................. 216 9.1.1 Eventos de sinal .............................................................................................. 217 9.1.2 Eventos de mudança ...................................................................................... 218 9.1.3 Eventos de tempo ........................................................................................... 218 9.2 Estados ................................................................................................................. 219 9.2.1 Estado inicial ................................................................................................. 219 9.2.2 Estado final .................................................................................................. 220 9.2.3 Estado composto .......................................................................................... 220 9.2.4 Estado de submáquina ................................................................................... 221 9.2.5 Estado de história .......................................................................................... 221 9.3 Atividades internas ................................................................................................222 9.4 Transições .............................................................................................................224 9.4.1 Pseudoestado de escolha ................................................................................ 226 9.4.2 Barra de Fork ou Join .....................................................................................227 9.5 Exercícios............................................................................................................. 228 9.5.1 Exercício 1 – Sistema de permissão e controle de acesso ................................... 228 9.5.2 Exercício 2 – Sistema de submissão de artigos para publicação ...................... 229 9.5.3 Exercício 3 – Sistema Acadêmico de uma universidade ....................................230 9.6 Estudos de caso ..................................................................................................... 231 9.6.1 Estudo de caso 1 – Sistema de Biblioteca.......................................................... 231 9.6.2 Estudo de caso 2 – Sistema de Eleição da Comissão Interna de Prevenção de Acidentes (CIPA)..............................................................................................233 9.6.3 Estudo de caso 3 – Sistema de Laudos da Cardiologia .....................................235 9.6.4 Estudo de caso 4 – Sistema para Controle de Experimentação Animal .............238 9.6.5 Estudo de caso 5 – Sistema para Emissão de Atas de Reunião .........................240
11
Sumário
Capítulo 10 Diagrama de Sequência................................................................ 243 ■
10.1 Objetos ............................................................................................................... 244 10.1.1 Ator (Actor).................................................................................................. 244 10.1.2 Fronteira (Boundary) ....................................................................................245 10.1.3 Controle (Control) ........................................................................................245 10.1.4 Entidade (Entity) ......................................................................................... 246 10.2 Linha de vida .....................................................................................................247 10.3 Mensagens ..........................................................................................................247 10.4 Mensagens de iteração .........................................................................................248 10.5 Condições de guarda ..........................................................................................249 10.6 Autochamada ......................................................................................................249 10.7 Ocorrência de interação ou uso de interação .........................................................250 10.7.1 opt ...............................................................................................................250 10.7.2 loop ............................................................................................................. 251 10.7.3 alt ................................................................................................................ 252 10.8 Estudos de caso ...................................................................................................252 10.8.1 Solução do estudo de caso 1– Diagrama de Sequência do Caso de Uso Emprestar livro..253 10.8.2 Solução do estudo de caso 2 – Sistema de Eleição da Comissão Interna de Prevenção de Acidentes (CIPA) .........................................................................255 10.8.3 Solução do estudo de caso 3 – Sistema de Laudos da Cardiologia ................. 256 10.8.4 Solução do estudo de caso 4 – Sistema para controle de experimentação animal... 261 10.8.5 Solução do estudo de caso 5 – Sistema para emissão de atas de reunião ........ 265
Capítulo 11 Diagrama de Implantação ............................................................ 269 ■
11.1 Nós .................................................................................................................... 269 11.2 Estereótipos .........................................................................................................270 11.2.1 Artefatos (artifacts) .......................................................................................270 11.2.2 Ambiente de Execução (execution environment) ............................................ 271 11.2.3 Device .......................................................................................................... 271 11.3 Associação ..........................................................................................................272 11.4 Exemplo de Diagrama de Implantação .................................................................272 11.5 Estudos de caso ...................................................................................................273 11.5.1 Estudo de caso 1 – Sistema de Biblioteca ........................................................273 11.5.2 Estudo de Caso 2 – Sistema de Eleição da Comissão Interna de Prevenção de Acidentes (CIPA)..............................................................................................275 11.5.3 Estudo de Caso 3 – Sistema de Laudos da Cardiologia .................................. 277 11.5.4 Estudo de Caso 4 – Sistema para Controle de Experimentação Animal ...........279 11.5.5 Estudo de Caso 5 – Sistema para Emissão de Atas de Reunião ........................281
12
Aprenda UML por meio de estudos de caso
Capítulo 12 Diagrama de Componente............................................................ 284 ■
12.1 Componente ....................................................................................................... 284 12.2 Interfaces............................................................................................................ 285 12.3 Exemplo de diagrama de componente ................................................................. 286