Diagramas de Atividade
Finalidade
• Esclarece fluxos de controles ou atividades em operações complexas e em casos de uso.
• Destaca a lógica de realização de uma tarefa;
• Decompõe uma atividade em subatividades (atividades de mais baixo nível), com fluxo de controle sequencial ou concorrente entre subatividades
Características
• Caso especial de Diagramas de Estados;
• Semelhantes aos antigos fluxogramas;
• Usados para modelar atividades concorrentes
• Uma transição entre atividades é gerada simplesmente pelo término de uma atividade e não por eventos externos.
Diagrama de Atividade
• Um diagrama de atividade exibe os passos de uma computação.
• Cada estado é um passo da computação, onde o sistema está realizando algo.
• É orientado a fluxos de controle (ao contrário dos DTEs que são orientados a eventos).
• 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 sequencial e controle paralelo.
4
Diagrama de Atividade
• Elementos utilizados em fluxos sequenciais:
• Estado ação (realizado instantaneamente)
• Estado atividade (leva um certo tempo para ser finalizado)
• Estados inicial e final, e condição de guarda
• Transição de término
• Pontos de ramificação e de união
• Elementos utilizados em fluxos paralelos:
• Barras de sincronização
• Barra de bifurcação (fork)
• Barra de junção (join).
5
Diagrama de Atividades -Principais elementos • Estados iniciais e finais;
• Atividades;
• Decisões;
• Transições;
• Barras de Sincronização;
• Partições.
Estados Iniciais e Finais
• Todo diagrama de atividade possui um estado inicial e um final.
• O estado inicial indica o início do fluxo de controle do diagrama e o estado final indica o término do diagrama.
• Sempre um estado inicial deve existir, mas podem existir vários estados finais.
Estados Iniciais e Finais - Representação Gráfica
Estado Inicial Estado Final
Atividade
• Ação a ser desenvolvida, e quando finalizada transfere automaticamente o fluxo de controle para outras atividades.
• O significado de uma atividade depende do contexto em que o diagrama é utilizado:
• Uma tarefa realizada por uma pessoa no caso da representação de um processo manual,
• Um processo no caso de um sistema automatizado ou
• Um método no caso de descrição de um outro método
Atividade - Representação Gráfica
ATIVIDADE
Decisão
• Recurso utilizado para controlar desvios no fluxo de controle de um diagrama de atividade.
• Composto por condições booleanas e cada condição, quando satisfeita, dispara uma transição correspondente.
Decisão - Representação Gráfica
[Não]
[Sim]
Transição
• Indica o caminho a ser seguido pela execução.
• Pode ter uma atividade ou decisão como origem ou termino.
• Quando possui uma decisão como origem, possui um condição de guarda que quando satisfeita permite a passagem do controle para a atividade seguinte.
Transições - Representação Gráfica
[Não]
[Sim]
Transição
Transição
Barras de Sincronização
• São usadas para especificar forks e joins.
• Um fork representa a divisão de um único fluxo de controle em vários fluxos de controle concorrentes
• Um join representa a sincronização de dois ou mais fluxos de controle concorrentes
Barras de Sincronização
• Os sincronizadores são utilizados para indicar o início e o término de processos paralelos.
• Uma transição que começa num sincronizador somente é executada quando todas as transições que chegam ao sincronizador ocorrerem.
• Quando um transição chega a um sincronizador, as transições que partem deste sincronizador ocorrem simultaneamente e independentemente.
Barras de Sincronização - Representação Gráfica
ATIVIDADE 1
ATIVIDADE 2ATIVIDADE 3
ATIVIDADE 4
FORK
JOIN
Um exemplo...
Outro exemplo...
Procurar Bebida [não há café]
[não há coca-
cola]
[há cola] [há café]
Por Água no Reservatório Por Café no Filtro Pegar Xícara
Por Filtro na Maquina
Ligar Máquina
Esperar que aqueça
/ligar cafeteira
Colocar café
Beber
Buscar latas de cola
luz desliga-se
Partições (swimlanes)
• Forma lógica de organização das atividades.
• Podem ser em termos de objeto, casos de usos ou processos de trabalho.
• Cada pista é encabeçada pelo nome da unidade organizacional, entidade ou objeto responsável pelas ações e atividades aí localizadas.
H
Solicitar produto
Processar pedido
Coletar m ateriais
Enviar pedido
Receber pedido
Pagar conta
Encerrar pedido
H
Cobrar do cliente
Cliente Vendas Estoque
Fluxos de Controle Sequenciais
• Deve haver um estado inicial e pode haver vários estados finais e guardas associadas a transições.
• pode não ter estado final, o que significa que o processo ou procedimento é cíclico.
• Uma transição de término significa o término de um passo e o conseqüente início do outro.
• ao invés de ser disparada pela ocorrência de um evento, é disparada pelo término de um passo.
22
Fluxos de Controle Sequenciais
• Um ponto de ramificação ou de decisão, possui uma única transição de entrada e várias transições de saída. • Para cada transição de saída, há uma condição de guarda
associada.
• Quando o fluxo de controle chega a um ponto de ramificação, uma e somente uma das condições de guarda deve ser verdadeira.
• Pode haver uma transição com [else].
• Um ponto de união reúne diversas transições que, direta ou indiretamente, têm um ponto de ramificação em comum.
23
Diagrama de Atividade
24
Exemplo de Diagrama de Atividade
25
Fluxos 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.
26
Fluxos de Controle Paralelos
• Algumas vezes, as atividades de um processo podem ser distribuídas por vários agentes que o executarão o processos de negócio de uma organização.
• Isso pode ser representado através de raias de natação (swim lanes).
• As raias de natação dividem o diagrama de atividade em compartimentos.
• Cada compartimento contém atividades que são realizadas por uma entidade.
27
Exemplo (Raias de Natação)
Seguradora OficinaSegurado
Acionar Seguro Recolher Automóvel
Consertar Automóvel
[else]
[perda total]Depositar Valor Segurado
Pagar Franquia Cobrar Fraquia
Avaliar Danos
28
Diagrama de Atividades X de Estados
Diagrama de
Atividades
Diagrama de
Estados
Ênfase no fluxo de uma
atividade para outra;
Ênfase no fluxo de um
estado para outro do
objeto.
Não é necessário
especificar os eventos;
Especificação
obrigatória dos eventos;
29
Exemplo: Biblioteca Caso de uso: Requisitar publicação
Vem requisitar
Devolve a
publicação
Recebe a
publicação
Consulta a
publicação
Vem levantar
Verifica
disponibilidade
Recolhe a
publicação
Empresta a
publicação
Coloca em lista de
espera
Aguarda
disponibilidade
Avisa o
requisitante
disponível
[ desiste ]
[ espera ]
[ disponível ][ indisponível ]
a biblioteca : Bibliotecarequisitante : Leitor
: requisição
[finalizada]
: requisição
[espera disponibilidade]
: requisição
[espera levantamento]
: requisição
[espera devolução]