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 Transição

[Não]

[Sim] 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

FORK

ATIVIDADE 2

ATIVIDADE 3

ATIVIDADE 4

JOIN

Um exemplo...

Outro exemplo... Procurar Bebida

[não há cocacola]

[não há café]

[há café]

Por Água no Reservatório

Por Café no Filtro

[há cola]

Pegar Xícara Buscar latas de cola

Por Filtro na Maquina

Ligar Máquina /ligar cafeteira Esperar que aqueça luz desliga-se Colocar café

Beber

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.

Cliente

Vendas

Estoque

H Solicitar pr oduto

Proce s sar pe dido Cole tar m ate r iais

Enviar pe dido

Re cebe r pe dido

Cobrar do clie nte

Pagar conta Ence r rar pe dido

H

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) Segurado Acionar Seguro

Seguradora Recolher Automóvel

Depositar Valor Segurado

Oficina Avaliar Danos [perda total] [else]

Pagar Franquia

Cobrar Fraquia

Consertar Automóvel

28

Diagrama Atividades X de Estados Diagrama de Atividades

de

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

requisitante : Leitor

a biblioteca : Biblioteca

Verifica disponibilidade

Vem requisitar

[ disponível ]

[ indisponível ] [ espera ] [ desiste ]

Coloca em lista de espera

: requisição [espera disponibilidade]

Aguarda disponibilidade disponível

Vem levantar

Avisa o requisitante

: requisição [espera levantamento]

Empresta a publicação Recebe a publicação

: requisição [espera devolução]

Consulta a publicação Devolve a publicação

Recolhe a publicação

: requisição [finalizada]