Você está na página 1de 8

Modelagem Temporal

UML com UML


Linguagem de Modelagem Unificada

Diagrama de Atividades
Aula 6
2004

1 2

Modelagem Temporal Modelagem Temporal


UFPA-2004 -UML (Linguagem de Modelagem Unificada) - quites@computer.org

UFPA-2004 -UML (Linguagem de Modelagem Unificada) - quites@computer.org


com UML com UML
„ Diagrama de Atividades „ Diagrama de Atividades
– Um diagrama de atividade exibe os passos de
– “Tipo especial de diagrama de estados, uma computação.
computação.
onde são representados os estados de „ Cada estado é um passo da computação, onde o
sistema está realizando algo.
uma atividade, ao invés dos estados de „ É orientado a fluxos de controle (ao contrário dos
DTEs que são orientados a eventos).
um objeto.”
– Fluxogramas estendidos...
„ Além de possuir toda a semântica existente em um
fluxograma, permite representar ações concorrentes e
sua sincronização.
– Elementos podem ser divididos em dois grupos:
controle seqüencial e controle paralelo.
paralelo.

3 4
Modelagem Temporal Modelagem Temporal
UFPA-2004 -UML (Linguagem de Modelagem Unificada) - quites@computer.org

UFPA-2004 -UML (Linguagem de Modelagem Unificada) - quites@computer.org


com UML com UML
„ Diagrama de Atividades „ Diagrama de Atividades: Fluxo de Controle
Paralelos
– Fluxos de controle paralelos: dois ou mais fluxos sendo
executados simultaneamente.
– Uma barra de bifurcação recebe uma transição de
entrada, e cria dois ou mais fluxos de controle paralelos.
„ cada fluxo é executado independentemente e em paralelo com
os demais.
– Uma barra de junção recebe duas ou mais transições de
entrada e une os fluxos de controle em um único fluxo.
„ Objetivo: sincronizar fluxos paralelos.
„ A transição de saída da barra de junção somente é disparada
quando todas as transições de entrada tiverem sido disparadas.

5 6

Modelagem Temporal Modelagem Temporal


UFPA-2004 -UML (Linguagem de Modelagem Unificada) - quites@computer.org

UFPA-2004 -UML (Linguagem de Modelagem Unificada) - quites@computer.org


com UML com UML
Diagrama de Atividades: Swimlanes
Estado inicial
Selecionar local
„
Contratar arquiteto
Concorrência
Estado de ação
(bifurcação)
Diagrama de Atividades

Desenvolver plano

Estado da atividade
Orçar plano com
[rejeitado] submáquina

[aceito] Fluxo de
Objetos

Fazer trabalho no Fazer trabalho em


local outros setores() Objeto

:CertificadoDeHabitação
Concluir construção
[concluído]

Fluxo: Construção de uma Casa


Estado 7 8
UFPA-2004 -UML (Linguagem de Modelagem Unificada) - quites@computer.org

UFPA-2004 -UML (Linguagem de Modelagem Unificada) - quites@computer.org


Diagrama de Atividades Diagrama de Atividades

„ Geração de código: exemplo (1) „ Geração de código: exemplo (2)


– Classe Linha: método interseção
„ Um parâmetro de entrada (l: Linha) e um de
retorno Duas linhas com mesma inclinação são
paralelas e não se cruzam

Linha
slope Point Line::
Line:: intersection (l: Line)
Line) {
delta if (slope
(slope == l.slope) return Point(0
Point(0,
int x = (l.delta - delta) / (slope
(slope - l.s
l.s
Slope: inclinação da linha
Delta: deslocamento em relação à origem Cálculo do ponto de int y = (slope
(slope * x) + delta;
interseção
return Point(x,y);
Point(x,y);
}
9 10

Modelagem Temporal Modelagem Temporal


UFPA-2004 -UML (Linguagem de Modelagem Unificada) - quites@computer.org

UFPA-2004 -UML (Linguagem de Modelagem Unificada) - quites@computer.org


com UML com UML
„ Diagrama de Atividades: Uso
– O diagrama de atividades é pouco
utilizado na prática para modelagem de
aspectos temporais de software
– É fortemente utilizado na modelagem de
fluxos de trabalho de processos negócio
„A própria descrição do Processo Unificado é
fortemente baseada em diagramas de
atividades

11 12
Modelagem Temporal

UFPA-2004 -UML (Linguagem de Modelagem Unificada) - quites@computer.org


com UML
Modelagem Temporal „ Diagramas de Interação
– Interações entre objetos
com UML „ Sequência de trocas de mensagem entre um
conjunto de objetos para realizar um caso de
uso.
Diagramas de Interação:
-Diagrama de Seqüência Objeto Objeto
Evento Mensagem Evento
-Diagrama de Colaboração de de
Ator entrada saída Ator
(estímulo) (resposta)
Caso de Uso
13 Tempo
14

Modelagem Temporal Modelagem Temporal


UFPA-2004 -UML (Linguagem de Modelagem Unificada) - quites@computer.org

UFPA-2004 -UML (Linguagem de Modelagem Unificada) - quites@computer.org


com UML com UML
„ Diagrama de Interação
– Identifica os estados de um objeto em
um caso de uso específico
– Aspectos temporais
„ Decisões
„ Ordem dos eventos
– Dois tipos
„ Diagrama de Sequência
„ Diagrama de Colaboração

15 16
Modelagem Temporal Modelagem Temporal
UFPA-2004 -UML (Linguagem de Modelagem Unificada) - quites@computer.org

UFPA-2004 -UML (Linguagem de Modelagem Unificada) - quites@computer.org


com UML com UML
„ Diagrama de Sequência „ Diagrama de Seqüencia
– Há preocupação com ordem das ações – Principal objetivo: identificar quais mensagens
– Na Análise, erros e situações de tratamento de devem ser implementadas pelas classes
exceção não são considerados „ Classe/Objeto Emissor da mensagem é um Cliente
– Geralmente envolve a interação do sistema com „ Classe/Objeto Receptor da mensagem é um Servidor
os usários
Emissor Receptor
– Cada mensagem é rotulada com
„ nome mensagem(parâmetros)

„ argumentos
„ informações de controle
– Condições de guarda Mensagem deve ser implementado na
Classe do objeto receptor!

17 18

Modelagem Temporal Modelagem Temporal


UFPA-2004 -UML (Linguagem de Modelagem Unificada) - quites@computer.org

UFPA-2004 -UML (Linguagem de Modelagem Unificada) - quites@computer.org


com UML com UML
„ Diagrama de Seqüência „ Diagrama de Seqüência
– Tipos de Interação

Simples
Somente fazem sentido
Síncrona se a linguagem de
programação permitir
Assíncrona estas alternativas
Retorno

19 20
Modelagem Temporal Modelagem Temporal
UFPA-2004 -UML (Linguagem de Modelagem Unificada) - quites@computer.org

UFPA-2004 -UML (Linguagem de Modelagem Unificada) - quites@computer.org


com UML com UML
Objeto
„ Diagrama de Seqüência anônimos
(formas
janela de
alternativas) u1: Usuário : Telefone u2: Usuário
um item : item de
entrada de um pedido
de pedido estoque
pedido
a retira fone do gancho
{b - a < 1 seg.}
1. preparar()
1.1 *[i=0 to card(item de pedido)] Autodelegação b tom de discagem
objeto preparar() {c - b < 10 seg.}
1.1.1verificar(): verificação
c * disca dígito numérico
chamada sendo roteada
[verificação = d
mensagem “verdadeiro”]
pela rede
Criação {d’ - d < 5 seg.}
Condição remover() d’ chamando chamando
Remover item() de objeto atende chamada
de guarda
Item excluído Som da campainha pára som da campainha pára

[verificação = Telefones interligados telefones interligados


“verdadeiro”] Criar(u1,u2,data,hora)
Mensagem d c:
criar() uma entrega conversação
não é instantânea
de item ...
21 22

Modelagem Temporal Modelagem Temporal


UFPA-2004 -UML (Linguagem de Modelagem Unificada) - quites@computer.org

UFPA-2004 -UML (Linguagem de Modelagem Unificada) - quites@computer.org


com UML com UML
Reserve(o: Order)
{
„ Sistema de Ponto de Vendas
OrderPosition opos;
Article article;
int number;
for (int i=1; i < o.number(); i++) { Comprar Itens
opos = o.giveOrderPosition(i);
article = opos.giveArticle(); <<includes>>
number = opos.giveNumber(); Caixa Cliente
articleStock.reserve(article, number); Registrar Pagto.
}
}

Pagar com dinheiro


Administradora
de Cartão de Pagar com cartão Pagar com cheque Contas a
Crédito Receber

23 24
Modelagem Temporal Modelagem Temporal
UFPA-2004 -UML (Linguagem de Modelagem Unificada) - quites@computer.org

UFPA-2004 -UML (Linguagem de Modelagem Unificada) - quites@computer.org


com UML com UML
Início comum Pagamento com Cartão
Comprar Itens

PDV Administradora
PDV Contas a de Cartão de
Caixa Cliente Receber Crédito
{repetir até que não entrarItem(id, quantidade) registrarPagamento(númeroCC, dataValidade)
haja mais itens}

terminarVenda() solicitarAprovação(idPDV, númeroCC, dataValidade, Valor)

resposta

[aprovado] acrescentarAprovação(resposta)

[aprovado] emitirComprovanteCartão()

25 26

Modelagem Temporal Modelagem Temporal


UFPA-2004 -UML (Linguagem de Modelagem Unificada) - quites@computer.org

UFPA-2004 -UML (Linguagem de Modelagem Unificada) - quites@computer.org


com UML com UML
Pagamento com cheque „ Diagrama de Colaboração
– Apresenta a mesma informação do diagrama de
sequência (não representa o tempo como uma
Serviço de dimensão separada)
PDV Autorização
Cliente Caixa de Cheque – Utilização: visão geral da interação de objetos
registrarPagamento(rg, cpf,númCheque, númBanco) „ Sem detalhamento da ordem
„ Condensa em um único diagrama toda a troca de
solicitarAprovação(idPDV, rg, cpf, númCheque, númBanco, valor)
mensagens entre um grupo de classes
resposta „ Normalmente é gerado automaticamente pelas
[aprovado] solicitarImpressãoCheque ferramentas CASE a partir dos diagramas de seqüência
[aprovado] impressãoCheque

[aprovado] emitirComprovanteVenda()
27 28
Modelagem Temporal Modelagem Temporal
UFPA-2004 -UML (Linguagem de Modelagem Unificada) - quites@computer.org

UFPA-2004 -UML (Linguagem de Modelagem Unificada) - quites@computer.org


com UML com UML
„ Diagrama de Colaboração „ Integração dos modelos apresentados
– Notação
3: operação(lista de parâmetros)
1: evento
Objeto 1: nome 2: operação
Objeto 2
da classe
Nome do ator:
classe do ator
4: operação(lista de parâmetros)

: nome
5: operação(lista de parâmetros) :da
nome
classe
Objeto 3: nome :da
nome
classe
da classe da classe
fluxo de objeto

29 30