![Page 1: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/1.jpg)
1
UML- Unified Modeling Language
Profa. Dra. Rosângela Penteado
Técnicas UML
![Page 2: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/2.jpg)
2
INTRODUÇÃO INTRODUÇÃO
PRINCÍPIOS OO PRINCÍPIOS OO
ENFOQUES ENFOQUES
METODOLOGIAS OO METODOLOGIAS OO
U M L U M L
ROSE ROSE
ESTUDOS DE CASOS ESTUDOS DE CASOS
Sistemas
![Page 3: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/3.jpg)
3
UMLUML
UMLUMLBOOCHBOOCH OMTOMT
OOSEOOSE
Diagrama de Estados Diagrama de Objetos (Colaboração) Diagrama de Processo (Desenvolvimento) Diagrama de Módulos (Componentes)
Use Case Subsistemas (Package) Diagrama de Interações MiniEspecificação
Diagrama de Estados Diagrama de Classes
![Page 4: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/4.jpg)
4
Usos de UML
• UML é uma linguagem de modelagem para:
Visualização, Especificação, Construção, Documentação e Comunicação de artefatos que façam uso de sistemas complexos de software.
• Adequada para modelar sistemas de informação corporativos a serem distribuídos a aplicações baseadas em WEB e até sistemas complexos de tempo real.
![Page 5: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/5.jpg)
5
Modelo Conceitual da UML
• Blocos de construção
• Regras que determinam como esses blocos poderão ser combinados
• Mecanismos comuns aplicados na UML
Para formar um modelo conceitual da linguagem é necessário aprender três elementos principais
![Page 6: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/6.jpg)
6
Blocos de Construção• É composto de Itens, Relacionamentos e Diagramas.
• Os itens são abstrações, os relacionamentos reunem esses itens; os diagramas agrupam coleções interessantes de item.
• Itens são de 4 tipos:
• Estruturais: parte mais estática do modelo (substantivos)
• Comportamentais: parte dinâmica (verbos)
• de Agrupamento – Pacotes - partes organizacionais dos modelos da UML.
• de Anotação – Nota - partes explicativas dos modelos da UML, comentários.
![Page 7: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/7.jpg)
7
Itens Estruturais
• São as partes estáticas de um modelo representando elementos que são conceituais ou físicos
• Exemplos
Classe
Use Cases
Cadeia de
responsabilidade
Interface
Nó
Servidor
Componente
físicos
![Page 8: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/8.jpg)
8
• São partes dinâmicas dos modelos da UML. São os verbos de um modelo representando comportamento no tempo e no espaço.
• Tipos:
Itens Comportamentais
- Interação - especifica um conjunto de mensagens trocadas entre objetos
- Máquina de Estado - especifica seqüências de estados de um objeto
![Page 9: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/9.jpg)
9
Itens de Agrupamento
• São as partes organizacionais dos modelos de UML. São blocos em que os modelos podem ser decompostos – Pacotes.
• Pacote – mecanismo de propósito geral para a organização de elementos de grupo. Os itens estruturais, comportamentais e até outros itens de grupos podem ser colocados em pacotes. É puramente conceitual.
• Ex: agrupamento básico, frameworks, modelos e subsistemas.
![Page 10: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/10.jpg)
10
Itens de Anotação
• Partes explicativas dos modelos de UML. São comentários, incluídos para descrever, esclarecer e fazer alguma observação sobre qualquer elemento do modelo.
![Page 11: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/11.jpg)
11
Relacionamentos
• Existem 4 tipos de relacionamentos na UML:– Dependência: alteração de item pode afetar a semântica
de outro.
– Associação: ligações existentes entre os objetos
– Generalização: os objetos dos elementos especializados (os filhos) são substituíveis por objetos do elemento generalizado (pai)
– Realização: relacionamento semântico entre classificadores, em que um classificador especifica um contrato que outro classificador garante executar.
![Page 12: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/12.jpg)
12
Diagramas• Diagrama é a apresentação gráfica de um conjunto de
elementos para permitir a visualização de um sistema sob diferentes perspectivas.
– Diagrama de classes– Diagrama de objetos– Diagrama de casos de uso– Diagrama de seqüências– Diagrama de colaborações– Diagrama de gráficos de estados– Diagrama de atividades– Diagrama de componentes– Diagrama de implantação
![Page 13: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/13.jpg)
13
Modelagem da arquitetura do sistema
Visão de Projeto
Visão de Processo
Visão da Implementação
Visão da Implantação
Visão de caso de uso
Vocabulário Funcionalidade
Gerenciamento da configuração Montagem do sistema
Desempenho Escalabilidade Throughput
Comportamento
Topologia do sistema Distribuição Fornecimento Instalação
Classes, interfaces e colaborações
Threads e processos que formam os mecanismos de concorrência e de sincronização
![Page 14: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/14.jpg)
14
ElaboraçãoConcepção Construção Transição
Análise de Requisitos
Nível de arquitetura
Nível de classe
Implementação
Teste
Design
fases/tempo
dimensão/componente
Processo de Desenvolvimento de Software
iterações #1 #2 #3 #n #m+1
![Page 15: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/15.jpg)
15
fases/tempo
ElaboraçãoConcepção Construção Transição
Análise de Requisitos
Nível de arquitetura
Nível de classe
Implementação
Teste
Design
Fluxo de trabalho do Processo
Processo de Desenvolvimento de Software
É a primeira fase do processo, em que a idéia inicial para o desenvolvimento é levada até o ponto de ser - pelo menos internamente - suficientemente bem fundamentada para assegurar a passagem à fase de elaboração
![Page 16: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/16.jpg)
16
ElaboraçãoConcepção Construção Transição
Análise de Requisitos
Nível de arquitetura
Nível de classe
Implementação
Teste
Design
fases/tempoFluxo de trabalho do Processo
É a segunda fase do processo, quando a visão do produto e sua arquitetura são definidas. Os requisitos do sistema podem abranger desde declarações de caráter geral até critérios precisos de avaliação, em que cada requisito especifica determinado comportamento funcional ou não funcional e proporciona a base para a realização de testes
Processo de Desenvolvimento de Software
![Page 17: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/17.jpg)
17
fases/tempo
ElaboraçãoConcepção Construção Transição
Análise de Requisitos
Nível de arquitetura
Nível de classe
Implementação
Teste
Design
Fluxo de trabalho do Processo
3ª fase do processo, em que o software chega a uma arquitetura baseline executável e destinada à transferência para a comunidade de usuários. Os requisitos do sistema e seus critérios de avaliação são sempre reexaminados com base nas necessidades comerciais do projeto e alocação de recursos.
Processo de Desenvolvimento de Software
![Page 18: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/18.jpg)
18
ElaboraçãoConcepção Construção Transição
Análise de Requisitos
Nível de arquitetura
Nível de classe
Implementação
Teste
Design
fases/tempo
dimensão/componente
4ª fase do processo, em que o software chega às mãos dos usuários. Raramente o processo termina aqui, pois é quando o sistema é aprimorado continuamente, bugs são eliminados e acrescentadas novas características.
Processo de Desenvolvimento de Software
![Page 19: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/19.jpg)
19
Visões da Ferramenta ROSE
• Use Case View - descreve o sistema como um conjunto de transações do ponto de vista dos atores externos. (criada na fase de concepção do ciclo de vida e direciona o resto do projeto)
• Logical View - contém a coleção de packages, classes e relacionamentos. (fase de elaboração e refinada na construção)
![Page 20: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/20.jpg)
20
• Component View: contém módulos e subsistemas (fase de elaboração e refinada na de construção)
• Deployment View: contém a parte física do sistema e a conexão entre essas partes (elaboração do processo - implementação)
Visões da Ferramenta ROSE
![Page 21: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/21.jpg)
21
Diagramas existentes nas Visões Use Case View Diagrama de Use Case Descrição do Use Case Diagrama de Seqüência Diagrama de Colaboração
Logical View Diagrama de Classes Diagrama de Estados
Component View Diagrama de Componentes
Deployment View
Diagrama Deployment
![Page 22: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/22.jpg)
22
Diagramas USE CASES
• Importantes na organização e modelagem dos comportamentos de um sistema
• Use Case é a especificação de seqüências de ações que um sistema, subsistema ou classe pode realizar, interagindo com um dos agentes.
• Documentam os requisitos dos sistemas- Delimitam o sistema
- Definem a funcionalidade do sistema
• Podem incluir seqüências alternativas ou excepcionais (de erros).
![Page 23: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/23.jpg)
23
Use Case: Representação Gráfica
• A coleção de use cases deverá especificar todas as formas existentes de uso do sistema• A descrição do sistema é feita por meio de vários use cases que são executados pelo atores (um ou mais)
• Atores = entidades do ambiente do sistema, pessoas ou outros subsistemas que interagem com o sistema em desenvolvimento
![Page 24: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/24.jpg)
24
UML - Diagrama de Use CasesSendo composto por:Ator
Relacionamento de Associação
ClienteCadastrarCliente
Use Case
Cliente cadastrarCliente
dadosCliente
msg02
![Page 25: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/25.jpg)
25
Exemplo de Use Case
Cadastrar ClienteAtorCliente
dados do cliente
mensagem de cadastro
![Page 26: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/26.jpg)
26
• Curso Normal:
• 1 - Cliente informa que deseja fazer seu cadastro
• 2 - CPF do cliente é solicitado
• 3 - Cliente informa o CPF
• 4 - Não existe o cliente associado ao CPF
• 5 - Cliente informa seu Nome, Endereço e Telefone
• 6- Uma instância de cliente é criada
• 7. MensagemCadastro “Cliente Cadastrado”
Descrição do Use Case
![Page 27: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/27.jpg)
27
Curso Alternativo:
4 - Existe o cliente associado ao CPF
4.1 - Exibir o cliente associado ao CPF
4.2 –MensagemCadastro “cliente já está cadastrado”
4.6 - Abandonar Use Case
Descrição do Use Case
![Page 28: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/28.jpg)
28
Generalização <<uses>>
ValidarCliente
Cliente RealizarPedido
<<uses>>
Generalização <<extends>>
CadastrarCliente
ClienteRealizarPedido
<<extends>>
UML - Diagrama de Use CasesUML - Diagrama de Use Cases
dadosPedido
msg02
dadosPedido
msg02
![Page 29: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/29.jpg)
29
Diagrama de Use Case -Exemplo
AtorClienteFisicoAtorClienteJuridico
RecuperaTransacoes
AtorCliente
RealizaTransacaoCartao
InstituicaoVarejo
ProcessaContaCliente
Inst.Financeira
GerenciaContaCliente
Sistema de Validação de Cartão de Crédito
![Page 30: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/30.jpg)
30
Use Case – Reserva de Tipo de Acomodação em Hotel
ReservarAcomodacaoFuncionario
InfReserva
msg
![Page 31: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/31.jpg)
31
Descrição do Use CaseCurso Normal1.Obter informações do cliente sobre reserva.2. Tipo de acomodação desejada está disponivel.3. Obter informações de nro de dependentes.4. Efetuar reserva desejada.5. Emitir msg "Reserva Feita" e enviar comprovante para
hospede com essas informações. 6. Fim do use-case.
Curso Alternativo2. Não ha disponibilidade do tipo de acomodação desejada.2.1. Emitir msg "não há disponibilidade do tipo de acomodação
desejada".2.2. Abandonar use case.
![Page 32: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/32.jpg)
32
UML - Diagramas de Classes
• Classe é uma descrição de um conjunto de objetos com os mesmos atributos, relacionamentos, operações e semântica.
• Classes = abstrações do domínio do problema: “Cliente”, “Banco”, “Conta”
• Toda classe deve ter um nome que a distinga das outras classes, que pode ser simples ou precedido pelo nome do pacote em que a classe está contida.
![Page 33: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/33.jpg)
33
Notação Básica para Classe
Forma
origem
mover()
redimensionar()
exibir()
Nome (obrigatório)
Operações (opcional)Atributos (opcionais) Abstração de alguma coisa
que se pode fazer com um objeto e que é compartilhada por todos os objetos da classe. O número de operações pode ser qualquer, inclusive zero.
Pode-se especificar a assinatura da operação: seus parâmetros, tipo deles e o tipo de retorno
![Page 34: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/34.jpg)
34
Visibilidade
• Pode-se 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: uso: por todos os classificadores
protegido: uso: por qualquer descendente do
classificador
privado: uso: somente pelo próprio classificador
teste
x1 : intnome : stringcodigo : char
![Page 35: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/35.jpg)
35
UML - Diagrama de ClassesUML - Diagrama de ClassesClasses
Atributos Nome: Tipo = ValorInicial Serviços Nome (ListaParam): TipoRetorno
ProdutoCódigo : integerSaldo : floatPreço : floatObservação : StringCadastrar (cod : integer = default, saldo : float = default) : ProdutoValidarQuantidade (quant : float = default) : booleanCalcularDesconto (vr : float = default) : valorImprimirDetalhe (cod : integer = default, quant : float= default)BaixarEstoque (cod : integer = default, quant : float = default): return
![Page 36: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/36.jpg)
36
Relacionamentos
• As classes não vivem sozinhas. Os relacionamentos ligam as classes/objetos
entre si criando relações lógicas entre elas/eles.
TIPOS DE RELACIONAMENTOS– Associações
• Agregação
• Composição
– Dependências– Generalizações
![Page 37: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/37.jpg)
37
Associação - especifica que objetos de um elemento estão conectados a objetos de outros elementos
Fornecedor Produto
Cardinalidade de uma associação
0..1 (opcional- 0 ou mais) 1 (exatamente 1)0..* (muitos- 0 ou mais) 1..* (1 ou mais)1..n ( de 1 a n)
Associação
11 1..n1..n
![Page 38: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/38.jpg)
38
Associação com Papéis
• Papéis: um dos lados da associação. Nomes de papéis são necessários para associação entre dois objetos de mesma classe.
Companhia Empregado
1
0 .. *
subordinado1 1 .. *
![Page 39: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/39.jpg)
39
Associação com atributos
Aluguel
AluDataInicio : Date = GetDate
Alugado por
0..*
Carro
CarPlaca : StringCarDescricao : StringCarSituacao : Integer = 0CarAno : IntegerCarKm : FloatCarPrecoKm : FloatCarTaxa : FloatCarBmp : TImageCarObservacao : TMemo
Aluga
0..1
Cliente
CliCPF : StringCliNome : StringCliEndereco : StringCliTelefone : StringCliDivida : Float
0..*0..*
Aluguel
Modela as propriedades associadas com uma associação. As propriedades devem ser representadas por uma classe
![Page 40: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/40.jpg)
40
Agregação/Composição
ContornoPonto
Polígono
Agregação (Referência/Valor)- relacionamento fraco do tipo “é parte de”. Tipo especial de associação.
agregaçã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ó podem pertencer ao “todo”e são criadas e destruídas com ele.
![Page 41: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/41.jpg)
41
Herança/Generalização - relacionamento entre um elemento mais geral (superclasse ou pai) e um mais específico (subclasse ou filho). Pessoa
Pessoa Física Pessoa Jurídica
Generalização/Dependência
Dependência - relacionamento de uso, no qual uma mudança na especificação de um elemento pode alterar a especificação do elemento dependente
AgendaCursosCursos
Remove(c:Cursos)Add(c:Cursos)
![Page 42: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/42.jpg)
42
Estudante
numeroMatricula : StringanoIngresso : int
Professor
titulacao : String
Biblioteca
nome : Stringendereço : String
Pessoa
nome : Stringendereco : StringRG : String
Livro
edicao : Stringano : int
titulo : Stringautor : Stringeditora : String
1
1..* 0..*
0..*
1..*
1
UML - Diagrama de ClassesUML - Diagrama de Classes
![Page 43: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/43.jpg)
43
Exemplo Diagrama de Classes
1..*
Escola
Aluno*
1..*
Curso
**
frequenta Instrutorleciona
Departamento
1..*1
1..*
1..*0..1
0..1
responsavel
0..1
0..11..*
**
1..*
*
1 1..*
![Page 44: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/44.jpg)
44
Herança Múltipla
• Ocorrem múltiplas superclasses para uma mesma subclasse
veículo
Veículo Terrestre Veículo Aquático
Veículo Anfíbio
![Page 45: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/45.jpg)
45
• Enfatizam a ordenação das mensagens trocadas entre os objetos (num certo tempo). Quando um objeto envia uma mensagem para outro, o objeto que recebe a mensagem pode enviar outra mensagens e assim por diante, formando uma seqüência de mensagens.
• 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. Podem mostrar decisões simples e iterações.
UML - Diagrama de SeqüênciaUML - Diagrama de Seqüência
![Page 46: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/46.jpg)
46
UML - Diagrama de SeqüênciaUML - Diagrama de Seqüência
Jose : Chamador
EmpresaTelefônica:Central
1: retira fone do gancho
2: tom de discar
3: discagem do número chamado
4: tom de controle 5: toque de chamada
6: retira fone do gancho
7: conversação
8: conversação
9: repõe fone no gancho10: tom de ocupado
11: repõe fone no gancho
a
b
{b - a < 1 seg.}
c
d{d - c < 1 seg.}
Antonio : Chamado
![Page 47: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/47.jpg)
47
Diagrama de Seqüência para Use Case – Reservar Tipo de Acomodação
TipoAcomodacao : tipoAcomodacaoAtorFuncionario :
Funcionario
Cliente : hospede
Reserva : ReservaAcomodacao
ReservaAcomp. : reservaAcompanhante
acomodacaodesejada
VerificarDisp
InfHospede
InfReservaEfetuada
InfReservaAcomponhantes
msg "Reserva Feita"
![Page 48: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/48.jpg)
48
Mensagens
• Uma mensagem é a especificação de uma comunicação entre objetos, pelos quais são passadas informações para que alguma atividade ocorra.
• Tipos de Mensagens:– Chamada (Call)– Retorno (Return)– Envio (Send)– Criação (Create)– Destruição (Destroy)
![Page 49: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/49.jpg)
49
Diagramas de Colaboração
• Enfatizam a organização dos objetos em uma interação.
• Praticamente tudo o que pode ser mostrado em um Diagrama de Seqüência também pode ser mostrado em um Diagrama de Colaboração. Assim a partir de um pode-se transformar no outro.
![Page 50: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/50.jpg)
50
Objetos e Atores:
Pedro : Pessoa Pedro
UML - Diagrama de Sequência e ColaboraçãoUML - Diagrama de Sequência e Colaboração
Pedro : Chamador
Antonio :Chamado
Jose : Chamador
EmpresaTelefônica : Central1: retira fone do gancho
2: tom de discar
3: discagem do número chamado
4: tom de controle
5: toque de chamada
6: retira fone do gancho
7: conversação
8: conversação9: repõe fone no gancho10: tom de ocupado
11: repõe fone no gancho
![Page 51: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/51.jpg)
51
Exemplo de Diagrama de Colaboração
Janela de entrada de pedido
p:Pedido
:ItemPedido :RemEstoque
:RemEntrega:ItemRenovEstoque
1: preparar ()
1.1.1:emEstoque:=verificar()1.1.2:(emEstoque):=remover()
1.1.2.1:estoqueBaixo:= verificEstoqueBaixo
1.1.3:emEstoque<<criar>>
1.1 itemde pedido. preparar()
1.1.2.2[estoqueBaixo]<<criar>>
![Page 52: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/52.jpg)
52
Diagramas de Estado• Componentes: Estado e Transição• Partes de um estado:
– Nome– Atividades de entrada (Entry)– Atividades de Saída (Exit)– Atividades (Do)
• Transição: 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 ocorre e as condições forem satisfeitas
• Partes de uma transição:– Estado fonte– Evento de disparo– Condição de guarda– Ação– Estado destino
![Page 53: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/53.jpg)
53
UML - Diagrama de EstadosUML - Diagrama de EstadosSintaxe de Evento e Ação
nome do estadoevento( argumentos )[ condição ]
/ ação ^eventos(argumentos)
Aguardando com Alarme Desligado
Acertando Hora do Alarme
entry: AcertarHoraAlarmeControlando Alarme Ligado
do: MonitorarAlarmeLigado
IniciaAcerto / HabBotãoConfirma ^HabBotãoCancela
DesBotãoAcerto
Cancelamento / DesBotãoCancela^DesBotãoConfirma
HabBotãoAcerto
IniciaControle / DesBotãoCancela ^DesBotãoConfirma
HabBotãoAcerto
Cancelamento / DesBotãoCancela^DesBotãoConfirma
HabBotãoAcerto
![Page 54: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/54.jpg)
54
UML - Diagrama de EstadosUML - Diagrama de Estados
Subestado
Telefonando
Iniciando
entry: IniciaTomDiscagem
Discando
entry: ComporNúmero(n)
Dígito(n)
Dígito(n)
[ NúmeroVálido() ]
![Page 55: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/55.jpg)
55
Concorrência dentro de um objeto
A
A1 A2
alarme ligado
alarme desligado
12 hs
24 hs
fim de bateria
inserir bateria
![Page 56: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/56.jpg)
Pacotes
Pacotes Lógicos
Pacotes Componentes de código binário
Distribuidora
UML - PackagesUML - Packages
Unit1
Vendas
Pacote = mecanismo de propósito geral para organizar elementos em modelos , de maneira que seja fácil compreendê-los,
![Page 57: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/57.jpg)
Pacotes
UML - PackagesUML - Packages
packageRunnable.java
Contém o nome de arquivo. Em Java pode-se usar uma especificação de package para representar as interfaces (classe abstrata que não possui variáveis de instâncias e os serviços são declarados sem corpo)
![Page 58: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/58.jpg)
58
Diagrama de ComponentesDiagrama de ComponentesMostra a dependência entre componentes de software.
Interface
global
CompraVenda
Pacotes Pacotes LógicoLógico
![Page 59: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/59.jpg)
59
Cotação.dllc:\sistema\financeiro
Dependência de Pacote e Dependência de Pacote e ComponenteComponente
![Page 60: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/60.jpg)
UML - Visão ComponentesUML - Visão ComponentesÉ composto por:
Distribuidora
Runnable.java
Cliente.java
Especificação do Package (classes abstratas)
Package
CorpoPackage
Distribuidora.java
corpo_sub
espec_sub
Programa Principal (arquivo raiz [origem] do programa) .java que contém o main.
Especialização do subprograma
Corpo do subprograma
![Page 61: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/61.jpg)
UML - Diagrama de ComponentesUML - Diagrama de Componentes
Distribuidora.java
Cliente.java
Pedido.java
Fornecedor.java
Produto.java
![Page 62: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/62.jpg)
UML - Visão DeploymentUML - Visão DeploymentO que é?É composto por:
1. Processador
2. Dispositivo
3. Conexão
PCPentium
300
Modem
PCPentium
200
Impres-soraHP 700
FibraÓtica
![Page 63: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/63.jpg)
63
UML - RoteiroUML - Roteiro Projeto: < Nome do Sistema >
1 - Introdução
1.1 - Descrição do problema
1.2 - Objetivos do Sistema
1.3 - Soluções alternativas
1.4 - Descrição da solução escolhida
2 - Visão “Use Case” – nível Análise
2.1 - Definição dos atores(Quem interage?)
2.2 - Lista de eventos
2.3 - Diagrama de Use Cases geral
(Por assunto e por evento)
![Page 64: 1 UML- Unified Modeling Language Profa. Dra. Rosângela Penteado Técnicas UML](https://reader036.vdocuments.pub/reader036/viewer/2022081511/552fc105497959413d8c07ab/html5/thumbnails/64.jpg)
64
UML - RoteiroUML - Roteiro
3 – Visão Lógica – nível Análise 3.1 – Diagramas de Classes 4 - Gerência do Projeto5 – Visão “Use Case”- nível Projeto
5.1 - Interface5.2 - Diagramas de Seqüência5.3 - Diagramas de Colaboração5.4 - Diagramas de Estados
6- Visão Lógica – nível Projeto 6.1 - Diagramas de Classes