2. DIAGRAMA DE ATIVIDADE
Utilizado para obter um entendimento do
comportamento de um requisito;
Auxiliar os casos de uso;
3. DIAGRAMA DE ATIVIDADE
Trata-se de um caso especial de diagrama de
estado no qual tudo ou a maioria dos estados é
estado de ação e a maioria das transições é
ativada por conclusão de ações nos estados
precedentes;
É útil quando se pretende descrever um
comportamento paralelo ou mostrar como
interagem comportamentos em vários casos de
uso;
4. DIAGRAMA DE ATIVIDADE
É fixo para uma classe, uma implementação de
operação ou um caso de uso, com o propósito de
focar em fluxos dirigidos por processamento interno
em vez de eventos externos;
Deve ser utilizado em situações onde todos ou a
maioria dos eventos representam a conclusão de
ações geradas internamente, quer dizer, fluxo
processual de controle, bem como situações onde
acontecem eventos assíncronos;
5. DIAGRAMA DE ATIVIDADE
Podem ser utilizados para diferentes
propósitos:
Capturar o funcionamento interno de um objeto;
Capturar o trabalho (ações) que será desempenhado
quando uma operação é executada;
Mostrar como um processo de negócio funciona em
termos de atores, fluxos de trabalho, organização e
objetos;
Mostrar como uma instância de caso de uso pode
ser realizada em termos de ações e mudanças de
estado de objetos;
Mostrar como um conjunto de ações relacionadas
pode ser executado e como afetará objetos ao redor;
6. DIAGRAMA DE ATIVIDADE
Permite escolher a ordem pela qual as coisas
devem ser feitas, isto é, indica meramente as
regras essenciais de seqüências que necessitam
ser seguidas – esse é um aspecto fundamental
para diferenciar um diagrama de atividade de um
fluxograma.
7. DIAGRAMA DE ATIVIDADE
Fluxogramas normalmente são limitados a processos
seqüenciais enquanto diagramas de atividade podem
manipular processos paralelos;
Essa característica de paralelismo é importante na
modelagem de negócios, pois nem sempre os
procedimentos se caracterizam por uma seqüência
mecânica de passos;
8. DIAGRAMA DE ATIVIDADE
Representa o estado de execução do método, em
outras palavras, o estado do objeto que executa o
método. Sob uma perspectiva conceitual, uma
atividade é alguma tarefa que precisa ser feita,
independentemente se for um computador ou uma
pessoa; e através de uma perspectiva de
implementação, uma atividade é um método sobre
uma classe;
Seu propósito é entender o algoritmo envolvido na
execução de um método;
9. DIAGRAMA DE ATIVIDADE
São usados para detalhar atividade interna de um
objeto, mas eventos externos também podem
aparecer;
Um evento externo surge quando o objeto está em
um estado de espera – durante o qual não há
qualquer atividade interna no objeto permanecendo
no aguardo de algum evento resultante de uma
atividade de outro objeto;
Pode haver mais de um possível evento que tire o
objeto do estado de espera, o primeiro que
acontecer dispara a transição;
10. DIAGRAMA DE ATIVIDADE
Atividade 1 Atividade 2
Atividade 3 Atividade i
Atividade n
[Condição 1]
[Condição 2]
[Condição de sincronização]
11. DIAGRAMA DE ATIVIDADE
Desvantagem é o fato de não deixar explícito quais
atividades os objetos executam e o modo como a
passagem de mensagem ocorre entre eles;
É útil aplicá-lo no início da modelagem de um
processo para ajudar na compreensão do processo
global – diagrama de interação podem ajudar na
alocação das atividades para classes;
Devem possuir um início e um fim;
12. NOTAÇÃO UML
Ligar Micro
Inicializar Jogo de Minas
Jogar
[jogo inicializado com
sucesso] [jogo com problemas]
Estado
inicial
Estado
final
Estado de
ação ou de
atividade
13. CONCORRÊNCIA
Os diagramas de atividade podem modelar
atividades concorrentes. Para tal utiliza-se o
conceito de Forks e Joins
Os Forks e os Joins devem ser estar balanceados;
Um fork representa a transformação de um único fluxo de
controle em vários;
Um join representa a sincronização d dois ou mais fluxos de
controles concorrentes;
14. CONCORRÊNCIA
As atividades que sucedem o fork podem ser
realizadas em qualquer ordem;
As atividades associadas após um join só serão
iniciadas quando todas as atividades antes de um
join forem concluídas;
16. DIAGRAMA DE ATIVIDADE
O ponto forte do diagrama de atividade reside no
fato de suportar e encorajar comportamento
paralelo, tornando-se uma boa técnica para a
modelagem de fluxo de trabalho e programação
para multiprocessamento. Isso os torna uma
grande ferramenta para modelagem de workflow;
17. DIAGRAMA DE ATIVIDADE
Como ponto fraco, os diagramas de atividade não
fazem conexões entre ações e objetos de maneira
clara. Fowler indica as seguintes situações para
uso dos diagramas de atividade:
Análise de caso de uso;
Compreensão de fluxo de trabalho entre vários casos de uso;
Por outro lado, os diagramas de atividade não são
apropriados para as seguintes situações:
Colaboração de objetos;
Comportamento de objetos em seu ciclo de vida;
Representando lógica condicional existente;
18. DIAGRAMA DE ATIVIDADE
Cancelar
Pedido
Autorizar forma
de pagamento
Avaliar item em
estoque
Registrar
Pedido
Aceitar pedido
[negado]
[ok]
[para cada item do pedido]
[em estoque]
[item existente em estoque
e forma de pagamento
autorizada]
*
20. DIAGRAMA DE ATIVIDADE
O diagrama diz que estas atividades podem ocorrer
em paralelo. Essencialmente, isso significa que a
seqüência entre elas é irrelevante;
Essas atividades também podem ser executadas
intercalamente;
O diagrama de atividade permite que você escolha
a ordem em que faz as coisas, ou seja, ele
simplesmente determina as regras essenciais de
seqüência que você deve seguir;
21. DIAGRAMA DE ATIVIDADE
Isso é importante para a modelagem de negócios.
Os negócios têm, freqüentemente, processos não
necessariamente seqüenciais.;
Os diagramas de atividades também são úteis para
os programas concorrentes, uma vez que você
pode projetar graficamente quais caminhos
(threads) você tem e quando eles precisam ser
sincronizados;
Quando você tem comportamento paralelo, precisa
sincronizar. Exemplo: “Não fechamos um pedido
até que ele seja entregue e pago”;
22. 22
Execução Serviço de Atendimento
ao Cliente
Setor Financeiro
Receber o
Pedido
Preencher
Pedido
Entregar o
Pedido
Enviar a
Fatura
Receber o
Pagamento
Fechar
Pedido