Você está na página 1de 32

Unified Modeling Language (2.

0)

Marcio de Carvalho Victorino


www.dominandoti.eng.br
Marcio de Carvalho Victorino
www.dominandoti.eng.br

UML 2.0
 Todo sistema não trivial é melhor abordado através de um
pequeno conjunto de modelos quase independentes.

O Modelo de Visão 4 + 1 da Arquitetura


2
(UML)
Marcio de Carvalho Victorino
www.dominandoti.eng.br

UML 2.0
Diagrama

Diagrama Estrutural Diagrama Comportamental

Diagrama Diagrama Diagrama Diagrama Diagrama Diagrama


de de de de Máquina de Casos de
Componentes Classes Implantação de Estados de Uso Atividade

Diagrama Diagrama Diagrama


de de de Diagrama de Interação
Objetos Estrutura Composta Pacotes

Diagrama Diagrama Diagrama Diagrama


de de de de
Seqüência Comunicação Interação Tempo
Geral

3
Marcio de Carvalho Victorino
www.dominandoti.eng.br

Diagrama de Casos de Uso


 Representa as funcionalidades externamente
observáveis do sistema e os elementos externos ao
sistema que interagem com ele.
 Relacionamentos:
 Entre Casos de Uso:
 Inclusão.
 Extensão.
 Generalização. Estudante Sistema de
Catálogo
 Entre Atores: de Cursos
 Generalização.
 Entre Casos de Uso e Atores:
 Associação (comunicação).
4
Marcio de Carvalho Victorino
www.dominandoti.eng.br

Diagrama de Casos de Uso

Reservar Livro Realizar


Pagamento

Cliente
Aluno
Devolver Livro

Realizar Realizar
Pagamento com Pagamento
Cartão de Crédito com Cheque
Solicitar Compra
de Título

Professor

Generalização (herança)
5
Marcio de Carvalho Victorino
www.dominandoti.eng.br

Diagrama de Casos de Uso


Associação Mostrar Mapa
<<inclui>> do Salão

Reserva
de
Ator
Restaurante

<<estende>> Cadastrar
Cliente

Sistema

Ator
Caso de Uso 1

Fronteira
Especificação do do
Caso de Uso Sistema
Caso de Uso 2

Caso de Uso 3
6
Marcio de Carvalho Victorino
www.dominandoti.eng.br

Diagrama de Classes
 Permite a visualização das classes utilizadas pelo
sistema e como estas se relacionam.
ContaBancaria
ContaBancaria
numero GerenciadorDeEventos
ContaBancaria numero
saldo
saldo - nome
dataAbertura
dataAbertura
- tempo
creditar() + suspender()
debitar() + preparar()

Classe Ativa
São classes cujos objetos têm um
3 formas de representar classes
ou mais processos ou threads.

7
Marcio de Carvalho Victorino
www.dominandoti.eng.br

Diagrama de Classes
 Relacionamentos:
 Entre classes:
 Dependência.
 Generalização(extends).
 Associações:
 Simples.

 Agregação (parte/todo).

 Composição (parte/todo com deleção das partes).

 Entre Classes e Interfaces:


 Dependência.
 Associação.
 Realização (implements).
 Entre Interfaces:
 Generalização(extends). 8
Marcio de Carvalho Victorino
www.dominandoti.eng.br

Dependência
ContaBancaria Deposito

public class ContaBancaria {


private int numero;
private float saldo;
private Date dataAbertura;

public void creditar(Deposito dep) {


.
.
.

}
}

9
Marcio de Carvalho Victorino
www.dominandoti.eng.br

Generalização
public class ContaBancaria {
ContaBancaria private int numero;
private float saldo;
numero private Date dataAbertura;
saldo
public void creditar(ObjValor valor) {
dataAbertura .
creditar() .
.
debitar() }
}
public class Poupanca extends ContaBancaria {
private int variacao;
Poupanca .
.
variacao .
}
} 10
Marcio de Carvalho Victorino
www.dominandoti.eng.br

Associação
papéis na associação
Simples
nome da associação

Empresta de

devedor credor
Pessoa 1..* * Banco

multiplicidade da associação

Banco Filial Composição

Agregação

Cliente
11
Marcio de Carvalho Victorino
www.dominandoti.eng.br

Qualificador de Associação
 Um qualificador de associação é um atributo do
elemento-alvo capaz de identificar uma instância
dentre as demais.

1
Empresa CPF Cliente

 Apesar de uma “Empresa” possuir vários “Clientes”,


a multiplicidade “1” representa a multiplicidade
entre qualificador da associação e “Cliente”.
12
Marcio de Carvalho Victorino
www.dominandoti.eng.br

Classes x Interfaces
Veiculo
Garagem

Dependência
Automovel

public class Garagem {


private String endereco;
private int qtdVagas;

public void estacional(Veiculo v) {


...
}
}
13
Marcio de Carvalho Victorino
www.dominandoti.eng.br

Classes x Interfaces

SerHumano <<interface>>
Realização SerHumano

Pessoa Pessoa

public class Pessoa implements SerHumano {


public interface SerHumano { private String nome;
public void andar( ); private int idade;
public void tocar( ); public void andar( ) {...};
public void tocar( ) {...};
}
}
abstract (opcional) 14
Marcio de Carvalho Victorino
www.dominandoti.eng.br

Classes x Interfaces
Extensão entre Interfaces

<<interface>> <<interface>>
Automovel Onibus

<<interface>>
Veiculo

public interface Veiculo extends Automovel, Onibus {


.
.
.
}
15
Marcio de Carvalho Victorino
www.dominandoti.eng.br

Classes x Classes Internas

16
Marcio de Carvalho Victorino
www.dominandoti.eng.br

Diagrama de Objetos
 Representa uma “fotografia” do sistema em um
certo momento. Exibe as ligações formadas entre
objetos conforme estes interagem e os valores dos
seus atributos.
João : Empregado Rafaela : Empregado

Antônio : Empregado
Aline
Empregado
: Empregado
José : Empregado Lucas : Empregado

Maria : Empregado

17
Marcio de Carvalho Victorino
www.dominandoti.eng.br

Diagrama de Estrutura Composta (Novo)

 É utilizado para modelar colaborações entre


interfaces, objetos ou classes.

18
Marcio de Carvalho Victorino
www.dominandoti.eng.br

Colaboração
 É uma sociedade de classes, interfaces e outros
elementos que trabalham em conjunto para
fornecer algum comportamento cooperativo maior
que a soma de todas as suas partes.
realização

Criar Ordem

Gerenciar
Ordem
<<refine>>

Validar
Ordem
refinamento

19
Marcio de Carvalho Victorino
www.dominandoti.eng.br

Diagrama de Seqüência
 Representa como o sistema age internamente para
que um ator atinja seu objetivo na realização de um
caso de uso.

20
Marcio de Carvalho Victorino
www.dominandoti.eng.br

Diagrama de Seqüência
Ator Objeto Classe

Objeto1 Objeto2 Objeto3 Classe


Ator
mensagem0
mensagem1 Linha de
vida
mensagem2

mensagem3

Foco de
Mensagem
controle

21
Marcio de Carvalho Victorino
www.dominandoti.eng.br

Diagrama de Seqüência

22
Marcio de Carvalho Victorino
www.dominandoti.eng.br

Diagrama de Comunicação
 Diagrama de Colaboração na UML 1.5.

23
Marcio de Carvalho Victorino
www.dominandoti.eng.br

Diagrama de Máquina de Estados

 Demonstra o comportamento de um elemento


através de um conjunto de transição de estados

disponível

bloqueada

24
Marcio de Carvalho Victorino
www.dominandoti.eng.br

Diagrama de Atividade
EstadoAção1 EstadoAção2
Estado
inicial
Ponto de
[x > 0] ramificação

[x < 0] Estado
[x = 0]
ação

Bifurcação
EstadoAção3 EstadoAção4

Ponto de
EstadoAção6 EstadoAção7 união

EstadoAção5

Estado final
Junção

25
Marcio de Carvalho Victorino
www.dominandoti.eng.br

Diagrama de Interação Geral (Novo)


 É uma variação do diagrama de atividades. Fornece
uma visão geral do controle de fluxo.

26
Marcio de Carvalho Victorino
www.dominandoti.eng.br

Diagrama de Componentes
 Identifica os componentes que fazem parte de um
sistema, um subsistema ou mesmo os componentes
ou classes internas de um componente individual.

27
Marcio de Carvalho Victorino
www.dominandoti.eng.br

Diagrama de Implantação
 Enfoca a questão da organização da arquitetura
física sobre o qual o software irá ser implantado e
executado.

28
Marcio de Carvalho Victorino
www.dominandoti.eng.br

Diagrama de Pacotes (Novo)


 Um mecanismo de agrupamento geral que pode ser
utilizado para agrupar vários artefatos de um modelo.
 Notação: uma pasta com uma aba.
 Conteúdo, duas maneiras de representar
graficamente:
 exibir o conteúdo dentro do pacote;
 “pendurar” os elementos agrupados no ícone do pacote.

29
Marcio de Carvalho Victorino
www.dominandoti.eng.br

Diagrama de Pacotes (Novo)


 Pacotes podem ser agrupados dentro de outros pacotes, formando uma
hierarquia de contenção.
 Pode haver relacionamentos de dependência entre pacotes:
 Um pacote P1 é dependente de outro, P2, se houver qualquer dependência
entre quaisquer dois elementos de P1 e P2.
 É muito comum que uma interface e sua implementação estejam em
pacotes distintos

30
Marcio de Carvalho Victorino
www.dominandoti.eng.br

Diagrama de Tempo (Novo)


 Semelhante ao diagrama de Máquina de estados, porém enfoca as
mudanças de estado de um objeto ao longo do tempo, útil para
modelagem de sistemas de tempo real.

Forma Concisa

Forma Robusta

31
FIM

Você também pode gostar