Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de...
Transcript of Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de...
![Page 1: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/1.jpg)
Introdução à Unified Modeling Language
UMLBASEADO EM MATERIAL DE Jaelson Freire Brelaz de
CastroUniversidade Federal de Pernambuco
www.di.ufpe.br/[email protected]
![Page 2: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/2.jpg)
UML
UML
Bibliografia• The Unified Modelling Language - User
Guide (G. Booch, J . Rumbaugh, I .Jacobson) - Addison Wesley
• The Unified Modelling Language -Reference Manual (J . Rumbaugh, I .jacobson, G. Booch) - Addison Wesley
• The Unified Software Development Process(I. Jacobson, G. Booch, R. Rumbaugh) -Addison Wesley
• UML Distilled (Martin Fowler) - AddisonWesley
![Page 3: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/3.jpg)
UML
Conteúdo
• Introdução a UML• Conceitos Gerais• Apresentação dos 9 diagramas de
UML
![Page 4: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/4.jpg)
UML
Criadores da UML
• James Rumbaugh - Object Modeling Technique (OMT)
• Grady Booch - Booch Method• Ivar Jacobson - Objectory (OOSE)
Process
![Page 5: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/5.jpg)
UML
Por que os 3 autores resolveram criar a UML?
• Cada autor adotava idéias dos métodos dos outros, então, evoluindo juntos produziriam melhorias
• A unificação dos 3 métodos trariam estabilidade para o mercado
![Page 6: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/6.jpg)
UML
História e Padronização
![Page 7: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/7.jpg)
UML
Tradicional e Moderna
ClassesRelacionamentos
Objetos
Use Cases
Sistemas degrande porte
Componentes
ActiveX/COM+
ORDBMS
CORBA
Java Beans
Interfaces
SistemasReal Time
Objetos de negócio
Design Patterns
Frameworks
![Page 8: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/8.jpg)
UML
Usos de UML
• Visualização• Especificação• Construção• Documentação• Comunicação
A UML é uma linguagem de modelagem para:
![Page 9: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/9.jpg)
UML
Elementos Essenciais
ElementosEstruturais
ElementosComportamentais
Elementos deAgrupamento
Elementos deAnotação
![Page 10: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/10.jpg)
UML
São as partes estáticas de um modelo, representando elementos que são ou conceituais ou físicos.
Exemplos:
Elementos Estruturais
• Classe• Interface• Use Cases
• Componente• Nó
![Page 11: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/11.jpg)
UML
Elementos Comportamentais
São as partes dinâmicas dos modelos da UML.
Exemplos:• Interação - especifica um conjunto
de mensagens trocadas entre objetos• Máquina de Estado - especifica
seqüências de estados de um objeto
![Page 12: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/12.jpg)
UML
Elementos de Agrupamento
São partes organizacionais dos modelos da UML.
Exemplo:• Pacotes - mecanismo para
organização de elementos dentro de grupos
![Page 13: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/13.jpg)
UML
Elementos de Anotação
São partes explicativas dos modelos da UML. São comentários que você aplica para descrever, iluminar e remarcar elementos no modelo.
Exemplo:
• Nota - símbolo contendo restrições ou comentários que são melhor expressadas em textos
![Page 14: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/14.jpg)
UML
Diagramas
São representações gráficas de um conjunto de elementos. São desenhados para visualizar um sistema de diferentes perspectivas. A UML possui 9 diagramas:
• Use Case• Classe• Objeto• Seqüência
• Colaboração• Estados• Atividades• Componentes• Implantação
![Page 15: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/15.jpg)
UML
Diagrama Use Cases
• São especialmente importantes na organização e modelagem das principais funcionalidades de um sistema
• Use Case é a especificação de sequências de ações atender a uma funcionalidade do sistema, interagindo com seus agentes
![Page 16: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/16.jpg)
UML
Diagrama de Use cases
Estudante
Secretária
<<estende>> Solicitar histórico dosemestre atual
Solicitar histórico detodos os semestres
Solicitarhistórico
<<estende>>
Verificardependências
Matricularaluno
<<inclui>>Sistema de controlede pré-requisitos
![Page 17: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/17.jpg)
UML
Diagrama de Classe
• Os diagramas de classes são os principais diagramas estruturais da UML
• Diagramas de classe mostram classes, interfaces e seus relacionamentos
• As classes especificam a estrutura e o comportamento dos objetos, que são instâncias de classes
![Page 18: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/18.jpg)
UML
Diagrama de Classe
+confirmar()+cancelar()-calcularTotal():CurrencygerarNovoCodigo: String
-codigo: Integer-dataRecebido-total: Currency
Pedido
#creditoPermitido: Currency#nivelCredibilidade()
-nome: String-endereco: String-dataPrimeiraCompra: Date-dataUltimaCompra: Date-totalComprado: Currency
Cliente
-quantidade: Integer-preco: Currency-emEstoque: Boolean
Item de Pedido
nomeContato: Stringtelefones[1..10]: StringCGC: StringFAX[1..3]: String
Cliente pessoa-jurídica
colocarListaNegra()
nome: StringCPF: StringnumCartaoCredito
Cliente pessoa-física
Empregado
Produto
* representantede vendas *
IPessoa
itens
0..*1 faz
![Page 19: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/19.jpg)
UML
Diagrama de Objetos
• Mostram objetos e seus relacionamentos
• Representam instâncias estáticas de elementos dos diagramas de classes
• Os diagramas de objetos são úteis para a modelagem de estruturas de dados complexas
![Page 20: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/20.jpg)
UML
Diagrama de Objetos
p2: Professormatricula: "205-6712-09"nome: "Jaelson Castro"
p1: Professor
codCurso: "IF291"descrição: "MPS"codTurma: I7
: Curso
codCurso: "IF185"descrição: "AER"codTurma: I6
: Curso
matricula: "219846534"nome: "Nelson Mandella"
:aluno
matricula: "562746134"nome: "John Major"
:aluno
: Aluno
: Aluno
: Aluno
: Aluno
c1: Curso
c2: Curso
c3: Curso
Bill
: Aluno: Aluno
Lewinsky
-matrícula: String
-nome: String
Professor
-codDisciplina: String
-descrição: String
-codTurma: String
Curso
-matrícula: String
-nome: String
-período: Integer
Aluno
[0..10]
ministra
[1..5]
*
[1..3]
![Page 21: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/21.jpg)
UML
Diagrama de Seqüência
• Mostra um conjunto de objetos, seus relacionamentos e as mensagens que podem ser enviadas entre eles
![Page 22: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/22.jpg)
UML
Diagrama de SeqüênciaJanela de entrada
de pedido p: Pedido : ItemPedido :ItemEstoque
preparar()
* [para cada item do pedido]preparar()
emEstoque := verificar()
[emEstoque]remover() estoqueBaixo :=
verificEstoqueBaixo()
:ItemRenovEstoque
:ItemEntrega
[estoqueBaixo]<<criar>>
[emEstoque]<<criar>>
![Page 23: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/23.jpg)
UML
Diagrama de Colaboração
• Mostra um conjunto de objetos, seus relacionamentos e as mensagens que enfatizam a organização dos objetos que trocam mensagens
![Page 24: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/24.jpg)
UML
Diagrama de ColaboraçãoJanela de entrada
de pedido
p: Pedido
: ItemPedido :ItemEs toque
:ItemRenov Es toque:ItemEntrega
1: preparar( )
1.1: *[para c ada item do pedido] preparar( )
1.1.1 : emEs toque := v erif ic ar( )1.1.2 : [emEs toque] remov er( )
1.1.2.1: es toqueBaix o := v erif ic Es toqueBaixo( )
1.1.2.2 [es toqueBaix o] <<c riar>>
1.1.3 : [emEstoque] <<c riar>>
![Page 25: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/25.jpg)
UML
Diagrama de Estados
• Mostra uma máquina contendo estados, transições, eventos e atividades
• Estes diagramas são usados para modelar o comportamento de objetos (com comportamento complexo)
• Nestes diagramas são modelados os estados em que um objeto pode estar e os eventos que fazem o objeto passar de um estado para outro
![Page 26: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/26.jpg)
UML
Ocioso
Manutenção
fazerManutenção
Validando
Selecionando Processando
Imprimindo
[continuar]
[não continuar]
H
entry / lerCartão exit / ejetarCartão
cartãoInserido
cancelar
Ativo
Diagrama de Estados
![Page 27: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/27.jpg)
UML
Diagrama de Atividades
• Destaca a lógica de realização de uma tarefa
• Mostra o fluxo entre atividades (ações não-atômicas)
• É semelhante aos antigos fluxogramas• É usado também para modelar
alternativas de execução e atividades concorrentes
![Page 28: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/28.jpg)
UML
Diagrama de AtividadesProcurar bebida
[achou café]
H
Pessoa
H[sem café] [sem Coca]
[achou Coca]
Pegar latade Coca
Beber
Adicionar água àmáquina
Colocar caféno filtro
Colocar filtrona máquina
Ligar máquina
Filtrar café
Pegarxícara
Colocar café naxícara
![Page 29: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/29.jpg)
UML
Diagrama de Componentes
• Mostra os componentes de hardware e software de uma aplicação e os relacionamentos entre eles
• É usado para modelar o aspecto físico de um sistema
• Exemplos de componentes são documentos, executáveis e tabelas de bancos de dados
![Page 30: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/30.jpg)
UML
Diagrama de Componentes
FormCadastro.html
Cadastro.exe
Principal.html
FormEntrada.html
Autenticacao.exe
<<link>>
<<link>>Banco
Usuários
Senhas
![Page 31: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/31.jpg)
UML
Diagrama de Implantação
• É usado para modelar a arquitetura de distribuição em que o sistema será executado
• É composto por nós e relacionamentos de comunicação
• Um nó pode ser um computador, uma rede, um disco rígido, um sensor, etc.
![Page 32: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/32.jpg)
UML
Diagramas de Implantação
servidorWeb
Autenticação.exe
Cadastro.exe
servidorDeArquivos
FormCadastro.html
Principal.html
FormEntrada.html
servidorBancoDeDados
SGBD
O SGBD a serutilizado aindanão foi escolhido.
PC - G309
NestscapeCommunicator
5.0
![Page 33: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/33.jpg)
UML
Diagramas Use Cases
![Page 34: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/34.jpg)
UML
Diagramas de Use Cases
• Servem facilitam o entendimento de um sistema mostrando a sua “visão externa”
• São usados para modelar o contexto de um sistema, subsistema ou classe
• São uma das maneiras mais comuns de documentar os requisitos do sistema– Delimitam o Sistema– Definem a funcionalidade do sistema
![Page 35: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/35.jpg)
UML
Use Case• Um use case é uma unidade funcional que descreve o
comportamento de um elemento da aplicação• contém sequências de ações, interagindo com os atores que
usam a aplicação• inclui variantes, rotinas de erro, etc. que o sistema executa
para produzir um resultado observável para um ator
![Page 36: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/36.jpg)
UML
Use Case: Representação Gráfica
Matricular alunoSolicitarhistórico
Verificarpré-requisitos
• A coleção dos use cases deverá especificar todas as formas existentes de uso do sistema
![Page 37: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/37.jpg)
UML
Atores
• O sistema será descrito através de vários use cases que são executados por um número de atores
• Atores constituem as entidades do ambiente do sistema
• São pessoas ou outros subsistemas que interagem com o sistema em desenvolvimento
![Page 38: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/38.jpg)
UML
Atores - Notação
Professora Sistema de controlede pre-requisitos
Estudante
Secretária
<<Ator>>
Coordenador
![Page 39: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/39.jpg)
UML
Atores: Especialização
• É possível definir tipos gerais de atores e especializá-los usando o relacionamento de especialização
Cliente
ClienteEspecial
![Page 40: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/40.jpg)
UML
Diagramas de Use Cases
Estudante
Secretária
<<estende>> Solicitar histórico dosemestre atual
Solicitar histórico detodos os semestres
Solicitarhistórico
<<estende>>
Verificardependências
Matricularaluno
<<inclui>>Sistema de controlede pré-requisitos
![Page 41: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/41.jpg)
UML
Diagrama de Use Case
Gerar Relatório
Retornar Item
Mudar ItemCliente
Operador
![Page 42: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/42.jpg)
UML
Expressão de variantes de use case
• Nem sempre é óbvio decidir se uma funcionalidade corresponde a um novo use cases. As vezes trata-se de uma variação de um mesmo use case– Se as diferenças forem pequenas elas
podem ser descritas através de variantes de um mesmo use case
– Se as diferenças são grandes elas devem ser descritas como use cases separados
![Page 43: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/43.jpg)
UML
Expressão de variantes de use case
• Fluxo principal de eventos– Descreva a seqüência normal de
eventos de um use case • Fluxo excepcional de eventos
– Descreva as variações dos cursos básicos de eventos (ex: Erros)
![Page 44: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/44.jpg)
UML
Expressão de Variantes
• Use Case Retornar itemFluxo principal de eventos:
•Quando o cliente depositar os seus itens, ele/ela irá pressionar o botão recibo para obter o recibo. O recibo impresso irá listar os itens depositados, seus totais e o valor a ser pago ao cliente
![Page 45: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/45.jpg)
UML
Expressão de Variantes
• Use Case Retornar itemFluxo excepcional de eventos:
• Quando o cliente retorna um item ele é medido pelo sistema. A medição é usada para determinar que tipo de lata, garrafa ou gradeado foi depositado. Se aceito o total do cliente será incrementado. Se não for aceito, apresentar mensagem ´NÃO É VALIDA´
![Page 46: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/46.jpg)
UML
Organizando Use Cases
• Generalização• Inclusão• Extensão
![Page 47: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/47.jpg)
UML
Estruturação Use Case
<<estende>>(set prioridade)
Fazer PedidoPontos de extensãoset prioridade
Fazer Pedido Urgente
Use Case Fazer Pedido Fluxo principal de eventos: inclui (Validar usuário). Receber do usuário os itens do pedido. (set prioridade). Submeter o pedido para processamento
<<inclui>>
Validarusuário
Verificar senha
Teste deretina
é-um
é-um
![Page 48: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/48.jpg)
UML
Diagramas de Classes
![Page 49: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/49.jpg)
UML
Sobre Classes• Classes são o elemento mais
importante de qualquer sistema orientado a objetos
• Uma classe é uma descrição de um conjunto de objetos com os mesmos atributos, relacionamentos, operações e semântica
• Classes são usadas para capturar o vocabulário de um sistema
• Classes são abstrações de elementos do domínio do problema, como “Cliente”, “Banco”, “Conta”
![Page 50: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/50.jpg)
UML
Nomes• Toda classe deve ter um nome que a
distinga das outras classes• Um nome pode ser simples (apenas o
nome), ou pode ser precedido pelo nome do pacote em que a classe está contida
Conta Banco
Exceções::ClienteNãoCadastrado
Cliente
![Page 51: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/51.jpg)
UML
Notação básica
Nome (obrigatório)Atributos (opcional)
Operações (opcional)
Forma
origem
mover()redimensionar()exibir()
![Page 52: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/52.jpg)
UML
Atributos• Um atributo representa alguma
propriedade do que está sendo modelado, que é compartilhada por todos os objetos da classe
• Os atributos descrevem os dados contidos nas instâncias de uma classe
• Em um momento dado, um objeto de uma classe conterá valores para todos os atributos descritos na sua classe
![Page 53: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/53.jpg)
UML
Atributos - Notação• Atributos podem ser identificados
apenas com nomes
• Atributos podem ter seus tipos (ou classes) especificados e terem valores padrão definidos
Cliente
nomeendereçotelefone
Parede
altura : reallargura : realespessura : realviga : boolean = false
![Page 54: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/54.jpg)
UML
Operações• Uma operação é uma abstração de
alguma coisa que se pode fazer com um objeto e que é compartilhada por todos os objetos da classe
• Um classe pode ter qualquer número de operações, inclusive nenhuma
• Operações são o meio de alterar os valores dos atributos
![Page 55: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/55.jpg)
UML
Operações - Notação• Como para os atributos, você pode especificar
uma operação apenas com seu nome
• Você pode também especificar a assinatura da operação: seus parâmetros, o tipo desses parâmetros e o tipo de retorno
Retângulo
mover()aumentar()diminuir()
![Page 56: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/56.jpg)
UML
Visibilidade
• Você pode usar marcações de acesso para especificar o tipo de acesso permitido aos atributos e operações
• Classificador pode ser classes, interfaces, componentes, nós, use cases, subsistemas
+ público: todos os classificadores podem usar
# protegido: qualquer descendente do classificador poderá usar
- privado: somente o próprio classificador poderá usar
![Page 57: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/57.jpg)
UML
Relacionamentos• Poucas classes vivem sozinhas• Tipos de relacionamentos especialmente
importantes na modelagem orientada a objetos:– Associações– Agregação– Composição– Dependências– Generalizações– Realização
![Page 58: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/58.jpg)
UML
Os relacionamentos ligam as classes/objetos entre si criando relações lógicas entre estas entidades. Os relacionamentos podem ser dos seguintes tipos:
Relacionamentos
• Associação - especifica que objetos de um elemento (classe) estão conectados a objetos de outros elementos
![Page 59: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/59.jpg)
UML
Relacionamentos
• Agregação - relacionamento fraco do tipo “é parte de”. É um tipo especial de associação
• Composição - relacionamento forte do tipo “é parte de”. A composição entre um elemento (o “todo”) e outros elementos (“as partes”) indica que as partes só existem em função do “todo”.
![Page 60: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/60.jpg)
UML
Relacionamentos
• Dependência - relacionamento de uso, no qual uma mudança na especificação de um elemento pode alterar a especificação do elemento dependente
• Generalização (herança) - relacionamento entre descrições mais gerais e descrições mais específicas, com mais detalhes sobre alguns dos elementos gerais
• Realização - relacionamento entre uma interface e o elemento que a implementa
![Page 61: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/61.jpg)
UML
Relacionamentos - Notação
AssociaçãoSem/com navegação
Agregação
Realização
Generalização
Composição
Dependência
![Page 62: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/62.jpg)
UML
Dependência• Dependências são relações de uso• Uma dependência indica que mudanças
em um elemento (o “servidor”) podem afetar outro elemento (o “cliente”)
• Uma dependência entre classes indica que os objetos de uma classe usam serviços dos objetos de outra classe
Cliente Servidor
![Page 63: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/63.jpg)
UML
Dependência –alguns tipos
• derive – a fonte é computada a partir do destino
• friend – a fonte tem acesso privilegiado ao destino
• instanceOf – o objeto fonte é instância da classe destino
• powertype – o destino é composto por subconjuntos da fonte
• derivado – a fonte é computada a partir do destino
Entre pacotes: access e import
Entre use-cases: extend e include
Entre objetos: become, call e copy
![Page 64: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/64.jpg)
UML
Generalização• Relacionamento entre um elemento mais
geral (chamado de superclasse ou pai) e um mais específico (chamado de subclasse ou filho)
Forma
origem
mover()exibir()
Retângulo
ponto : Ponto
Círculo
raio : float
Polígono
pontos : ListaDePontos
exibir()
Quadrado
![Page 65: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/65.jpg)
UML
Herança Múltipla• Ocorrem múltiplas superclasses para
uma mesma subclasse
Veículo Aquático
Veículo
Veículo Terrestre
Veículo Anfíbio
![Page 66: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/66.jpg)
UML
Associação• A associação é um relacionamento estrutural
que especifica que objetos de um elemento estão conectados a objetos de outro elemento
Companhia Funcionárioemprega
![Page 67: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/67.jpg)
UML
Multiplicidade• É a cardinalidade de uma associação
Classe exatamente 11
Classe muitos (zero ou mais)
*
Classe opcional (zero ou um)
0..1
Classe seqüência especificada
m..n
![Page 68: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/68.jpg)
UML
Associação Unária• Quando há um relacionamento de
uma classe para consigo própria
Funcionário
1
1..*
1
1..*
gerencia
![Page 69: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/69.jpg)
UML
Associação Binária
• Quando há duas classes envolvidas na associação de forma direta de uma para a outra
Cliente Pedido
0..*1
faz
1 0..*
![Page 70: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/70.jpg)
UML
Associação: Navegabilidade
• Em geral a navegação entre as classes de uma associação é bi-direcional
• Porém é possível limitá-la a apenas uma direção
Usuário Senha
![Page 71: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/71.jpg)
UML
• Papéis: um dos lados da associação• Nomes de papéis são necessários
para associação entre dois objetos da mesma classe
Associação: papéis
Companhia Empregado1..**
+empregador1
0..*
+subordinado
+chefe
![Page 72: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/72.jpg)
UML
Associação com Atributos
• Modela as propriedades associadas com uma associação
• As propriedades devem ser representadas por uma classe
Companhia Empregado1..*** 1..*
Trabalhodescriçãosalário
![Page 73: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/73.jpg)
UML
Monitor Teclado Mouse CaixaSistema
Computador
Agregação• Uma forma especial de associação
entre o todo e suas partes, no qual o todo é composto de partes
• Não impõe que a vida das “Partes”’ esteja relacionado com a vida do “Todo”
![Page 74: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/74.jpg)
UML
Composição
• Uma forma mais forte de agregação• Há uma coincidência da vida das
partes• Uma vez criada a parte ela irá viver e
morrer com ele• O “Todo” é responsável pelo
gerenciamento da criação e destruição das partes
![Page 75: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/75.jpg)
UML
Composição
![Page 76: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/76.jpg)
UML
Interfaces
• Uma interface é um conjunto de operações usado para especificar um serviço de uma classe ou componente
• Diferentemente das classes, as interfaces não especificam nenhuma estrutura
• Interfaces não podem conter atributos
![Page 77: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/77.jpg)
UML
Interfaces
• Com as interfaces, é possível se concentrar apenas nos serviços oferecidos por classes ou componentes
• O uso de interfaces é uma maneira elegante e poderosa de isolar a especificação da implementação
• Uma interface especifica o contrato para uma classe ou componente, sem definir como ele será implementado
![Page 78: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/78.jpg)
UML
Interfaces e Realização• Realização é uma relação pela qual um
elemento especifica o contrato que outro elemento deve implementar
• A realização é um relacionamento entre uma especificação e sua implementação
• É um relacionamento semântico entre classificadores no qual um classificador especifica um contrato que outro classificador garante cumprir
![Page 79: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/79.jpg)
UML
Realização - Notação
Empregado
Empregado_Impl
Empregado
verificarFicha()calcularSalário()
<<interface>>
Empregado_Impl
![Page 80: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/80.jpg)
UML
Diagramas de Objetos
![Page 81: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/81.jpg)
UML
Diagramas de objetos
• Os diagramas de objetos mostram uma “fotografia” de um sistema OO em execução
• São mostrados os objetos, com os valores de seus atributos e as ligações (links) entre eles
• Os diagramas de objetos são úteis para a modelagem de estruturas de dados complexas, por exemplo
![Page 82: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/82.jpg)
UML
Diagramas de objetos
• É comum haver centenas ou milhares de objetos em um sistema em execução, a maioria deles anônimos
• Um diagrama de objetos mostra apenas uma parte dos objetos no sistema
• Um diagrama de objetos não mostra a evolução do sistema com o tempo
![Page 83: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/83.jpg)
UML
Diagramas de objetos
• Diagramas de objetos são estáticos• Para mostrar o comportamento de um
objeto, use diagramas de colaboração, diagramas de sequência, ou diagramas de estados
• É comum colocar um diagrama de classes junto com um diagrama de objetos, para facilitar a identificação dos objetos
![Page 84: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/84.jpg)
UML
Objetos Simples
codCurso: "IF291"descrição: "MPS"codTurma: I7
: Curso
: Aluno
Bill Clinton
Monica: Aluno Fulano :
Jaelson: Professor
![Page 85: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/85.jpg)
UML
MultiObjects• Multiobjects são conjuntos de objetos, com
um número indeterminado de elementos• São usados, por exemplo, em diagramas de
colaboração para modelar uma mensagem enviada para vários objetos ao mesmo tempo
![Page 86: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/86.jpg)
UML
MultiObjects - Exemplos
p 2: Pr ofe s s or
c1: Cu rs o
c2: Cu rs o
c3: Cu rs o
: A lu n o: A lu n o
MultiObjectsAgente deReservas
: Cadeira
1: cadeira :=encontrar(número)
: Cadeira
2: reservar(nomeCliente)
![Page 87: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/87.jpg)
UML
Diagramas de Objetos
p2: Professormatricula: "205-6712-09"nome: "Jaelson Castro"
p1: Professor
codCurso: "IF291"descrição: "MPS"codTurma: I7
: Curso
codCurso: "IF185"descrição: "AER"codTurma: I6
: Curso
matricula: "219846534"nome: "Nelson Mandella"
:aluno
matricula: "562746134"nome: "John Major"
:aluno
: Aluno
: Aluno
: Aluno
: Aluno
c1: Curso
c2: Curso
c3: Curso
Bill
: Aluno: Aluno
Lewinsky
-matrícula: String
-nome: String
Professor
-codDisciplina: String
-descrição: String
-codTurma: String
Curso
-matrícula: String
-nome: String
-período: Integer
Aluno
[0..10]
ministra
[1..5]
*
[1..3]
![Page 88: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/88.jpg)
UML
Diagramas de Seqüência e Colaboração
![Page 89: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/89.jpg)
UML
Sequenciamento• Quando um objeto envia uma mensagem
para outro objeto, o objeto que recebe a mensagem pode enviar outras mensagens e assim por diante, formando uma sequência de mensagens
• O sequenciamento pode ser– procedural, com aninhamento
(mensagens síncronas)– ou plano, sem aninhamento
(mensagens assíncronas)
![Page 90: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/90.jpg)
UML
Diagramas de Seqüência
• Diagramas de Seqüência enfatizam a ordenação das mensagens trocadas entre os objetos
• Um cenário é uma seqüência específica de ações que ilustra um comportamento
• Diagramas de Seqüência podem modelar apenas um cenário ou um conjunto de cenários
• Diagramas de Seqüência podem mostrar decisões simples e iterações
![Page 91: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/91.jpg)
UML
Mensagens
• Definição formal: uma mensagem é a especificação de uma comunicação entre objetos, onde são passadas informações, com a esperança de que ocorra alguma atividade
• Na maioria das vezes, uma mensagem resulta na execução de uma operação
![Page 92: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/92.jpg)
UML
Mensagens
• Tipos principais de mensagens:– Chamada (Call)– Retorno (Return)– Envio (Send)– Criação (Create)– Destruição (Destroy)
![Page 93: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/93.jpg)
UML
Exemplo
Br ow s e r Se rvid o r We bPr oce s s ado r d e
p e d id o sIn te r face co m
o b anco
Es tu d an te
Su b m e te r fo r m u lár iod e p e d id o p r e e n ch id o
Co d if icar d ad o sd o fo r m u lár io
En viar d ad o sco d if icad o s Pr o ce s s ar d ad o s
En viar d ad o sp ro ce s s ad o s
Exe cu tar
Es te é u m p r o g ram aCGI o u ISAPI
Cad as tr ar p e d id o
Cad as tr o OK
Ge r ar pág in ad e co n f ir m ação
En viar pág in aEn viar pág in a
Exib ir pág in a
![Page 94: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/94.jpg)
UML
Diagramas de Colaboração
• Diagramas de Colaboração enfatizam a organização dos objetos em uma interação
• Praticamente tudo que pode ser mostrado em um diagrama de seqüência pode também ser mostrado em um diagrama de colaboração
• Diagramas de Colaboração podem ser transformados em diagramas de seqüência e vice-versa
![Page 95: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/95.jpg)
UML
ExemploJanela de entrada
de pedido
p: Pedido
: ItemPedido :ItemEs toque
:ItemRenov Es toque:ItemEntrega
1: preparar( )
1.1: *[para c ada item do pedido] preparar( )
1.1.1 : emEs toque := v erif ic ar( )1.1.2 : [emEs toque] remov er( )
1.1.2.1: es toqueBaix o := v erif ic Es toqueBaixo( )
1.1.2.2 [es toqueBaix o] <<c riar>>
1.1.3 : [emEstoque] <<c riar>>
![Page 96: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/96.jpg)
UML
Diagramas de Estados
![Page 97: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/97.jpg)
UML
Máquina de Vendas
OciosaRecebendo R$
Oferendo serviços
Entregando Troco Despachando Item
entrada de moedas(quant.)
cancelar / devolver moedas
[ item vazio ] [ troco < 0 ]selecionar
(item)
[ troco > 0 ]
[ troco = 0 ]
![Page 98: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/98.jpg)
UML
Estados
Ocisoso ExecutandoteclaPresioanda
término
Estado Inicial
EstadoFinal
Estado
Nome
Nome
desligar
![Page 99: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/99.jpg)
UML
Partes de um Estado
• Nome• Ações de entrada (Entry)• Ações da saída (Exit)• Atividades (do:)
![Page 100: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/100.jpg)
UML
Partes de um estado
Acompanhar
entry: setModo(onAcompanhar)exit: setModo(offAcompanhar)do: seguirAlvo
![Page 101: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/101.jpg)
UML
Transição
• É um relacionamento entre dois estados indicando que o objeto no primeiro estado irá executar certas ações e entrar no segundo estado quando o evento especificado ocorrer e as condições especificadas forem satisfeitas
• Uma transição de estado é uma mudança de estado causada por um evento
![Page 102: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/102.jpg)
UML
Partes da transição• Estado fonte• Evento de disparo• Condição de guarda• Ação• Estado alvo
![Page 103: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/103.jpg)
UML
Sistema de disparo de míssil
Ocioso Acompanhar
Disparando
após2 segundos / send c.estáVivo
alvoEm( p )[ éAmeaça ] / t.adicioneAlvo(p)
contato
evento temporal
sinal de envio
Auto-transição
guarda
evento de disparo com parâmetros
ação
![Page 104: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/104.jpg)
UML
Problemas com Máquinas de Estados
• Máquinas de estados não estruturados não possuem bom poder de expressão e tornam-se impraticáveis para problemas grandes
• Existe uma explosão combinatorial em diagramas planos
• As formas de estruturação:– Refinamento– Concorrência
![Page 105: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/105.jpg)
UML
Refinamento
Initialization
do: Initialize course
Open
Closed
entry: Finalize courseexit: ^CourseRoster.Create roster
Cancelled
do: Send cancellation notices
Add student / Set count = 0
Cancel course
Add student[ Count < 10 ]
Cancel course
[ Count = 10 ] ^CourseReport.Create report
![Page 106: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/106.jpg)
UML
Refinamento: SubEstados
Cancel course
Initialization
do: Initialize course
Cancelled
do: Send cancellation notices
Registration
Open
Closed
entry: Finalize courseexit: ^CourseRoster.Create roster
Open
Add student / Set count = 0
Closed
entry: Finalize courseexit: ^CourseRoster.Create roster
Add student[ Count < 10 ]
[ Count = 10 ] ^CourseReport.Create report
![Page 107: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/107.jpg)
UML
Concorrência dentro de um objeto
• Pode ser mostrada com partições pontilhadas
• Normalmente surge de dois ou mais atributos ortogonais
Relógio
alarmeON
alarmeOFF
12hs
24hs
InserirBateria
acabouBateria
![Page 108: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/108.jpg)
UML
Divisão do Controle:
Subestado 1
Subestado 2 Subestado 4
Subestado 3evento 0
evento 1
evento 2
evento 3
evento 4
Concorrência dentro de um objeto
![Page 109: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/109.jpg)
UML
Diagramas de Atividades
![Page 110: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/110.jpg)
UML
Diagramas de Atividades
• Os Diagramas de Atividades mostram o fluxo entre atividades (ações não-atômicas)
• São um caso especial dos Diagramas de Estados, com a maioria das transições resultantes do término das atividades
• São semelhantes aos antigos fluxogramas
• São muito usados para modelar atividades concorrentes
![Page 111: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/111.jpg)
UML
Concorrência, Forks e Joins
• Barras de sincronização são usadas para especificar forks e joins
• Um fork representa um único fluxo de controle em vários fluxos de controle concorrentes
• Um join representa a sincronização de dois ou mais fluxos de controle concorrentes
![Page 112: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/112.jpg)
UML
Concorrência, Forks e Joins
• Atividades depois de um fork podem ser realizadas em qualquer ordem, ou ao mesmo tempo
• Para que as atividades depois de um join possam ser realizadas, todas as atividades antes do join devem ser concluídas
![Page 113: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/113.jpg)
UML
Procurar bebida
[achou café]
H
Pessoa
H[sem café] [sem Coca]
[achou Coca]
Pegar latade Coca
Beber
Adicionar água àmáquina
Colocar caféno filtro
Colocar filtrona máquina
Ligar máquina
Filtrar café
Pegarxícara
Colocar café naxícara
![Page 114: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/114.jpg)
UML
Swimlanes (raias)
• Swimlanes (raias) são usadas para definir quais são as classes (ou conjuntos de classes) responsáveis pela realização de cada atividade
• Swimlanes são especialmente úteis para a modelagem de processos empresariais
• Em muitos casos, os swimlanes implicam concorrência, ou pelo menos independência, das atividades
![Page 115: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/115.jpg)
UMLH
So licitar p r o d u to
Pro ce s s ar p e d id o
Co le tar m ate r iais
En viar p e d id o
Re ce b e r p e d id o
Pagar co n ta
En ce r rar p e d id o
H
Co b rar d o clie n te
C lie nte Ve ndas E stoque
![Page 116: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/116.jpg)
UML
Diagramas de Componentes
![Page 117: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/117.jpg)
UML
Componentes
• Os componentes existem no mundo material, de bits
• São um elemento importante na modelagem dos aspectos físicos de um sistema
• Um componente é uma parte física e substituível de um sistema, que realiza um conjunto de interfaces
![Page 118: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/118.jpg)
UML
Componentes
• Componentes são coisas que podem ser executadas em nós (processadores, dispositivos, etc.)
• Exemplos de componentes são executáveis, bibliotecas, tabelas, arquivos e documentos
• Um componente, tipicamente, é uma versão física de elementos lógicos, como classes e interfaces
![Page 119: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/119.jpg)
UML
Componentes- Notação
Au tent icação.exe
Animator.exe IScripts
IRenderização
IModelos
IAnimacao
![Page 120: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/120.jpg)
UML
Componentes e Dependências
Palavras.exe
Palavras.hlpPalavras.ini
Ortograf.dll
Format.dllJanelasComuns.dll
![Page 121: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/121.jpg)
UML
Diagramas de Componentes
• Diagramas de Componentes são usados para modelar os aspectos físicos de um sistema
• Nos diagramas de componentes, são mostrados componentes e os relacionamentos entre eles
![Page 122: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/122.jpg)
UML
Diagramas de Componentes
• Diagramas de componentes podem ser usados para modelar– os aspectos físicos de um banco de
dados– o código fonte de um aplicativo– uma API
• A única restrição é que o que está sendo modelado deve ser físico (formado por bits) e não conceitual (ou lógico)
![Page 123: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/123.jpg)
UML
Exemplo
FormCadastro.html
Cadastro.exe
Principal.html
FormEntrada.html
Autenticacao.exe
<<link>>
<<link>>Banco
Usuários
Senhas
![Page 124: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/124.jpg)
UML
Diagramas de Implantação
![Page 125: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/125.jpg)
UML
Diagramas de Implantação
• Os diagramas de implantação são usados para modelar o ambiente em que o o sistema será executado
• São compostos por nós e associações(relacionamentos de comunicação)
• Um nó pode ser, por exemplo, um computador, uma rede, um disco rígido, um sensor, etc.
![Page 126: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/126.jpg)
UML
Diagramas de Implantação
• Os diagramas de implantação podem ser usados para descrever a topologia do ambiente no qual o software será executado
• Os diagramas de implantação geralmente só fazem sentido para sistemas que rodam em várias máquinas ou dispositivos
• Para sistemas que rodam em uma única máquina e se comunicam apenas com dispositivos comuns, como o teclado, monitor, os diagramas de implantação não são necessários
![Page 127: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/127.jpg)
UML
Diagramas de Implantação e Estereótipos• Como nós representam elementos
físicos (tangíveis) de um sistema, eles são os elementos mais estereotipados da UML
• O recurso de estereótipos permite estender a linguagem UML com novos símbolos e nova semântica
• Símbolos como PCs, Workstations, Servidores e Dispositivos são muito usados em diagramas de implantação, para tornar os diagramas mais claros
![Page 128: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/128.jpg)
UML
Nós e Associações
• Um nó é um elemento físico que existe em tempo de execução e representa algum recurso computacional. Um nó, geralmente, possui memória e, muitas vezes, capacidade de processamento
• Uma associação entre dois nós representa uma conexão física entre os nós, como um conexão Ethernet, uma linha serial ou um link de satélite
![Page 129: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/129.jpg)
UML
Diagramas de Implantação
servidorWeb
Autenticação.exe
Cadastro.exe
servidorDeArquivos
FormCadastro.html
Principal.html
FormEntrada.html
servidorBancoDeDados
SGBD
O SGBD a serutilizado aindanão foi escolhido.
PC - G309
NestscapeCommunicator
5.0
![Page 130: Introdução à Unified Modeling Language UMLUML BASEADO EM MATERIAL DE Jaelson Freire Brelaz de Castro Universidade Federal de Pernambuco jbc.](https://reader035.fdocument.pub/reader035/viewer/2022062418/552fc105497959413d8c06bd/html5/thumbnails/130.jpg)
UML
Bibliografia
• The Unified Modelling Language User Guide (Grady Booch)
• The Unified Modelling Language Reference Manual (James Rumbaugh)
• The Unified Software Development Process (Ivar Jacobson)
• UML Distilled (Martin Fowler)