Post on 18-Dec-2014
description
DIAGRAMA DE ATIVIDADE
Utilizado para obter um entendimento do
comportamento de um requisito;
Auxiliar os casos de uso;
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;
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;
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;
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.
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;
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;
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;
DIAGRAMA DE ATIVIDADE
Atividade 1 Atividade 2
Atividade 3 Atividade i
Atividade n
[Condição 1]
[Condição 2]
[Condição de sincronização]
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;
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
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;
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;
Ligar Micro
Inicializar Jogo de Minas
Desligar computador
Inicializar Internet
Fork
Join
REPRESENTAÇÃO
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;
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;
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]
*
Início
Receber o
Pedido
Preencher
Pedido
Enviar
Fatura
Entrega
durante a noite
Entrega
Regular
Fechar o Pedido
Separação
Fim
[pedido urgente][senão]
Intercalação
Recebe
pagamento
Junção
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;
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”;