Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama...

31
Diagramas de Atividade

Transcript of Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama...

Page 1: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

Diagramas de Atividade

Page 2: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

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

Page 3: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

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.

Page 4: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

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

Page 5: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

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

Page 6: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

Diagrama de Atividades -Principais elementos • Estados iniciais e finais;

• Atividades;

• Decisões;

• Transições;

• Barras de Sincronização;

• Partições.

Page 7: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

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.

Page 8: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

Estados Iniciais e Finais - Representação Gráfica

Estado Inicial Estado Final

Page 9: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

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

Page 10: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

Atividade - Representação Gráfica

ATIVIDADE

Page 11: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

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.

Page 12: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

Decisão - Representação Gráfica

[Não]

[Sim]

Page 13: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

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.

Page 14: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

Transições - Representação Gráfica

[Não]

[Sim]

Transição

Transição

Page 15: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

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

Page 16: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

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.

Page 17: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

Barras de Sincronização - Representação Gráfica

ATIVIDADE 1

ATIVIDADE 2ATIVIDADE 3

ATIVIDADE 4

FORK

JOIN

Page 18: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

Um exemplo...

Page 19: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

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

Page 20: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

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.

Page 21: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

H

Solicitar produto

Processar pedido

Coletar m ateriais

Enviar pedido

Receber pedido

Pagar conta

Encerrar pedido

H

Cobrar do cliente

Cliente Vendas Estoque

Page 22: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

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

Page 23: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

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

Page 24: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

Diagrama de Atividade

24

Page 25: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

Exemplo de Diagrama de Atividade

25

Page 26: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

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

Page 27: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

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

Page 28: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

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

Page 29: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

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

Page 30: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

Exemplo: Biblioteca Caso de uso: Requisitar publicação

Page 31: Curso UML Diagramas de Atividadebacala/ES/04 - DiagramasdeAtividade.pdf · 2018-04-04 · Diagrama de Atividade •Um diagrama de atividade exibe os passos de uma computação. •Cada

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]