Você está na página 1de 41

Modelagem Prof. Me.

Leandro Borges
de Processos
Diagramas de Máquinas de Estado
e
Diagramas de Atividades
 Técnica
para descrever o
comportamento de um sistema

 Nasestratégias orientadas a
Diagramas de
objetos, você desenha um
Máquina de
diagrama de máquina de
Estados estados para uma única classe,
para mostrar o comportamento
do ciclo de vida de um único
objeto.
Transição

A transição indica um movimento de um estado para outro.

 Cada transição tem um rótulo que possui três partes:


 assinatura-do-gatilho [sentinela]/atividade.

 Todas as partes são opcionais!


Transição

A assinatura-do-gatilho normalmente é um único e vento


que dispara uma mudança de estado em potencial.

A sentinela, se estiver presente, é uma condição booleana


que deve ser verdadeira para que a transição ocorra.

A atividade é algum comportamento executado durante a


transição.
Diagram de Máquina de Estados Simples

“No estado Esperar, se a vela for removida na condição em que a porta esteja aberta, você revelará o cadeado e
mudará para o estado Trancar”
O estado final indica que a máquina de estados está completa!
Atividades internas

 Osestados podem reagir a eventos sem transição, usando


atividades internas.
 Colocar o evento, a sentinela e a atividade dentro da própria
caixa de estado!

 Uma atividade interna é semelhante a uma autotransição.


 Uma transição que volta para o mesmo estado...

A sintaxe das atividades internas segue a mesma lógica do


evento, da sentinela e do procedimento.
Eventos internos mostrados com o estado de
digitação de um campo de texto
Estados de atividades

 Sãoos estados nos quais o objeto está realizando algum


trabalho!

 Diferente
dos estados anteriores, onde o objeto está quieto
e esperando pelo próximo evento.
Estados de atividades

Ex.: Estado Pesquisar


A atividade em andamento é identificada com realizar:
"realizar-atividade"
Uma vez terminada a pesquisa, todas as transições sem
atividade, como "exibir o novo hardware", são realizadas.
Se ocorrer o evento cancelar durante a atividade, a
atividade realizar-atividade será interrompida e voltará
ao estado "Atualizar Janela de Hardware".
Superestados

 Utilizadosquando vários estados compartilham transições e


atividades internas comuns.

 Ex.:
 Transformar em subestados e mover o comportamento
compartilhado para um superestado.
Sem o superestado, você teria que desenhar uma transição de
cancelamento para todos os três estados dentro do estado Inserir Detalhes
da Conexão.
Estados concorrentes

Utilizados quando os estados podem ser


divididos em vários diagramas de
estados ortogonais que executam
concorrentemente.
pseudo-estado de histórico

Ex: Quando o despertador é


ligado, a escolha de rádio/CD
volta para o estado em que o
despertador estava quando foi
desligado.
Como implementar Diagramas de Estado?

 Três maneiras principais...


 Comando switch aninhado
 Padrão State
 Tabelas de estado
Comando switch
aninhado

 Estratégia mais direta


para lidar com um
diagrama de estados!
Comando switch aninhado

 Observações...
 Embora seja direta, ela é cansativa, mesmo
para este caso simples.

 Essaestratégia também sai muito


facilmente de controle!
Padrão State

 Criauma hierarquia de classes de estado para


manipular o comportamento dos estados.

 Cada estado no diagrama tem uma subclasse de


estado.

O controlador tem métodos para cada evento, os


quais simplesmente encaminham para a classe do
estado.
O topo da hierarquia é uma classe abstrata que implementa
todos os métodos de tratamento de eventos!
Tabelas de estado

 Captura as informações do diagrama de estados como dados!


Quando utilizar Diagramas de Estados?

 Bonspara descrever o comportamento de um objeto por


intermédio de vários casos de uso.
 Muitobons para descrever um comportamento que envolva vários
objetos em colaboração.
 Pode-se combinar diagramas de estados com outras técnicas
(diagramas de interação, atividades)
 Usediagramas de estados somente para aquelas classes que
exibem comportamento interessante, para as quais a construção
do diagrama de estados ajude a compreender o que está
acontecendo.
 Use uma combinação das técnicas que funcionem para seu caso!
 Sãouma técnica para
Diagramas de descrever lógica de
Atividades procedimento, processo de
negócio e fluxo de trabalho.
Diagramas de Atividades

 Desempenham um papel semelhante aos


fluxogramas.

A principal diferença entre eles e a notação


de fluxograma é que os diagramas suportam
comportamento paralelo!
Componentes

 Nó inicial
 Ação
 Separação
 Decisão
 Fluxo/aresta
 Intercalação
 Junção
 Atividade final
Ex.:
Começamos na ação do nó inicial e depois
executamos a ação Receber Pedido.
Uma vez feito isso, encontramos uma
"separação".
Uma separação tem um fluxo de
entrada e vários fluxos concorrentes de
saída.

Preencher Pedido, Enviar Fatura e as


ações subseqüentes ocorrem em paralelo.
Essas atividades também podem ser
executadas intercaladamente.
Diagramas de Atividades

O diagrama de atividades permite que quem está seguindo o


processo escolha a ordem na qual fazer as coisas.
 Elesimplesmente determina as regras essenciais de
sequência que se deve seguir!
 Isso é importante para modelagem de negócios...
 Processos frequentemente ocorrem em paralelo.
 Algoritmos concorrentes (linhas de execução independentes
podem fazer coisas em paralelo).
Diagramas de Atividades

 Quando você tem comportamento paralelo, precisa


sincronizar!
 Junção!
 Com uma junção, o fluxo de saída é executado somente
quando todos o s fluxos de entrada chegarem à junção.

 Ex.:
 Somentepode fechar o pedido quando tiver recebido o
pagamento e entregue o pedido.
Decisão

 Desvio (UML 1)
 Tem um único fluxo de entrada e vários fluxos de saída
vigiados.
 Cadafluxo de saída tem uma sentinela: uma condição
booleana colocada entre colchetes.
 Sempre que você chega em uma decisão, pode seguir apenas
um dos fluxos de saída, de modo que as sentinelas devem
ser mutuamente exclusivas.
Intercalação

 Vários fluxos de entrada e uma única saída.

 Marca o final de um comportamento condicional


iniciado por uma decisão.
Partições

 Osdiagramas de atividades
dizem o que acontece, mas não
dizem quem faz o que.

 Sevocê quiser mostrar quem faz


o que, pode dividir um diagrama
de atividades em partições.

 Mostram quais ações uma classe


ou unidade da organização
executa!
Sinais
 Um sinal de tempo ocorre devido à passagem do tempo.
 Indica que a atividade recebe um evento de um processo externo.
 Issoindica que a atividade capta esses sinais constantemente, e o
diagrama define como a atividade reage.
Sinais
 Assim como podemos aceitar sinais, também podemos
enviá-los!
 Útilquando precisamos enviar uma mensagem e depois
esperar pela resposta, antes de podermos continuar.
Tokens

 Você
pode visualizar os tokens como moedas ou contadores se
movendo pelo diagrama.
O nó inicial cria um token...
o qual é passado para a próxima ação, que é executada e depois
passa o token para a seguinte.
 Emuma separação, um token entra e a separação produz um
token em cada um de seus fluxos de saída.
 Inversamente,em uma junção, quando cada token de entrada
chega, nada acontece até que todos os tokens apareçam na
junção...
 então, um token é produzido no fluxo de saída!
Fluxos e Arestas

A UML 2 utiliza os termos fluxo e aresta como


sinônimos para descrever as conexões entre duas
ações.

O tipo mais simples de aresta é a seta simples entre


duas ações!
Fluxos e Arestas

Você deve usar o que transmitir melhor o que está tentando comunicar. Na
maioria das vezes, a seta simples é suficiente!
Final de fluxo

 Quando você tem múltiplos tokens,


frequentemente você tem fluxos que param
mesmo quando a atividade como um todo não
termina.

 Um final de fluxo indica o término de um fluxo em


particular, sem terminar a atividade inteira!
Final de Fluxo
Especificação de junção

 Observação...
 Porpadrão, uma junção permite que a execução passe
por seu fluxo de saída quando todos os seus fluxos de
entrada tiverem chegado nela.

 Uma especificação de junção é uma expressão booleana


ligada a uma junção!

 Sempre que um token chega à junção, a especificação da


junção é avaliada e, se for verdadeira, um token de saída
é emitido.
Especificação de junção
Quando utilizar Diagramas de Atividades?

A maior qualidade dos diagramas de atividades


está no fato de que eles suportam e estimulam o
comportamento paralelo!

 Isso
os torna uma excelente ferramenta para
modelagem de fluxos de trabalho e de processos.

 Representam uma técnica importante para


representar lógica comportamental!
Referências…

UML Essencial: Um Breve Guia para Linguagem Padrão, 3. ed.


Martin Fowler

https://integrada.minhabiblioteca.com.br/books/9788560031382

Você também pode gostar