mestrado em informática im/nce - msoo.pbworks.commsoo.pbworks.com/f/diagrama+de+atividades.pdf ·...
Post on 07-Oct-2018
216 Views
Preview:
TRANSCRIPT
Mestrado em Informática
IM/NCE
Disciplina: MSOO – 2009.2
Assunto: Diagrama de Atividades
Professor: Raimundo Xavier
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Visão Geral Diagrama de Atividades
comportamento condicional comportamento paralelo
caminhos condicionais atividade composta concorrência dinâmica raias (swimlanes) fluxo de objetos
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Diagrama de Atividades Um Diagrama de Atividades é uma variação
de uma máquina de estados, na qual os estados são as Atividades que representam a execução de operações e as Transições são disparadas pela conclusão destas operações.
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Máquina de estado finito Uma máquina de estados finitos ou
Autômato Finito é uma modelagem de um comportamento, composto por estados, transições e ações.
Um estado armazena informações sobre o passado, isto é, ele reflete as mudanças desde a entrada num estado, no início do sistema, até o momento presente.
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Máquina de estado finito Uma transição indica uma mudança de
estado e é descrita por uma condição que precisa ser realizada para que a transição ocorra.
Uma ação é a descrição de uma atividade que deve ser realizada num determinado momento.
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Diagrama de Atividades Faz a modelagem de aspectos dinâmicos do
sistema. Mostra o fluxo de controle de uma atividade
para outra. Envolve a modelagem de etapas seqüenciais
e concorrentes em um processo computacional.
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Um tipo de máquina de estados
O diagrama de circuito para um contador TTL de 4bits,
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Diagrama de Atividades É composto por:
Atividades Transições Objetos Suporte para comportamento condicional e
paralelo Suporta comportamento paralelo, sendo uma
grande ferramenta para modelagem de workflow e para programação concorrente.
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Estado de Ações e Estado de Atividades Atividade refere-se a execução de um
processamento não atômico dentro de uma máquina de estados, envolvendo uma ou mais ações.
Um Estado de Atividade pode: conter ações de entrada e saída, representar um estado composto.
Representação gráfica:
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Estado de Ações e Estado de Atividades Uma ação consiste em um processamento
atômico que resulta em uma mudança de estado no sistema ou no retorno de um valor.
Ações abrangem: chamadas de operações, envio de sinais, criação ou destruição de um objeto, ou; algum processamento computacional puro, tal
como uma avaliação de uma expressão.
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Coordenando Passos Herdados das Máquinas de Estados
Estado Inicial
Estado Final
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Transição Quando uma ação ou atividade de um estado é
completada, o fluxo de controle passa imediatamente para o próximo estado de ação ou atividade.
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Condição de Guarda Condiciona a ocorrência de uma transição
para a execução de uma atividade. Representação gráfica:
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Decisão (Desvio) Representada através de uma ramificação no
Diagrama de Atividades. reúne condições que resultam em uma
ramificação no Diagrama de Atividades
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Desvio e intercalação
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Barra de Sincronização Permite a representação de fluxos de controle concorrentes.
Bifurcação representa a divisão de um fluxo de controle em dois ou mais fluxos
de controle concorrentes e independentes
Abaixo da bifurcação, as atividades associadas com cada um dos caminhos continua em paralelo
União representa a sincronização de dois ou mais fluxos concorrentes.
Na união, os fluxos concorrentes devem sincronizar-se, isto é, o fluxo de controle abaixo da união somente inicia após todos os fluxos de controle acima da união terem encerrado.
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Bifurcação e União (Fork and Join)
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Ícone para envio de sinal Icone de Envio de Sinal
… transição de Atividades com uma ação de envio
Ícone de Receção de Sinal
… manifesta um estado de “wait” (um estado sem ação com evento disparado pelo recebimento do sinal).
Signal
Coffee Done
Wake Up
Get Cups
Drink Coffee
Turn on Coffee Pot
CoffeePot
Signal
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Variação do Diagrama de Atividades para o Caso de UsoSacar Dinheiro indicando Includes e Extends
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Uso do Diagrama de Atividades para Modelar Fluxo deTrabalho – Visão de Negócios
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Fluxo de Objetos Objetos podem ser envolvidos no fluxo de controle associado
com um diagrama de atividades.
Um objeto pode ser conectado através de uma relação de dependência com a atividade ou transição que o cria, destrói ou modifica.
O uso de relações de dependência e objetos é chamado fluxo de objetos porque representa a participação de um objeto em um fluxo de controle.
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Exemplo do Diagrama Anterior com Objeto
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Diagrama de Atividades Um Diagrama de Atividades associado a
um Caso de Uso descreve as atividades realizadas pelo Ator e pelo Sistema, tendo como referencial o ponto de vista dos atores que colaboram com o sistema.
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Fronteira do Sistema
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Subatividade
Uma subatividade inicia outro grafo de atividade sem a utilização de uma operação.
Usado para decomposição funcional, aplicações não polimórficas, tais como vários sistemas de wokflow.
O grafo de atividades invocado pode ser usado por várias subatividades.
Subactivity
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Grafo de Atividades como Método
Aplicação será completamente OO quando todas as ações de estados invocarem operacões;
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Localização O Diagrama de Atividades pode se
manifestar com transversalidade em relação a um ou mais Casos de Uso
Use Case 1
Use Case 2
Use Case 3
Use Case 4
Use Case n Atividades
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Localização (II) O Diagrama de Atividades pode também se
manifestar com transversalidade em relação a um ou mais SubSistemas
SubSystem 1
SubSystem 2
SubSystem 3
SubSystem 4
SubSystem n Atividades
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Localização (III) O Diagrama de Atividades pode também se
manifestar com transversalidade em relação a métodos dentro da uma mesma Classe ou mais Classes.Operation 1
Operation 2
Operation 3
Operation 4
Operation n Atividades
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Exemplo de Diagrama de Atividades
Receber o pedido
Preencher o pedido
Entrega durante a noite
Envia a fatura
Entrega regular Recebe o pagamento
Fechar o pedido
f: fatura[enviada]
p: pedido[pago]
p: pedido[em andamento]
[pedido urgente] [senão]
iníciotransição
atividade
fim
separação
desvio
junção
intercalação
guarda
objeto
estado
fluxo do objeto
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Diagrama de Atividades
Atividade: é quando se esta fazendo algo, tanto um processo do mundo real, quanto a execução de uma rotina de software.
Transição: quando a atividade está completa, o fluxo de controle passa imediatamente para a atividade seguinte.
Objetos: podem estar envolvidos no fluxo de controle. Instâncias destes objetos podem ser produzidas ou ter seu estado alterado por determinadas atividades.
fluxo do objeto
Envia a fatura
f: fatura[enviada]
p: pedido[pago]
transição
atividade
objetoestado
Recebe o pagamento
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Diagrama de Atividades – Comportamento condicional
Comportamento condicional é delineado por desvios (branches) e intercalações (merges). Desvio : transição de entrada única com várias transições de saída
guardadas. As guardas devem ser mutuamente exclusivas pois só uma transição de saída é tomada.
Intercalação : múltiplas transições de entrada e uma única saída. Marca o final de um comportamento condicional iniciado por um branch.
Preencher o pedido
Entrega durante a noite Entrega regular
[pedido urgente] [senão]desvio
guarda
intercalação
transição
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Diagrama de Atividades – Comportamento paralelo
Comportamento paralelo é indicado por separações (forks) e junções (joins). Separação: transição de entrada única com várias transições de saída.
Quando a transição de entrada é acionada, todas as transições de saída são executadas em paralelo.
Junção: quando todas as transições de entrada completarem suas atividades, a transição seguinte à junção é executada. Sincroniza o término das atividades que são executadas em paralelo.
Fechar o pedido
junção
Preencher o pedido Envia a fatura
separaçãotransição
atividade
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Diagrama de Atividades – Comportamento paralelo: caminhos (thread) condicionais
Uma condição (guarda) pode ser acrescentada a um caminho (thread) saindo de uma separação.
Durante a execução, se a condição for falsa as atividades neste caminho não são executadas mas, ao chegar à junção, este caminho é considerado completo. Assim, a transição seguinte à junção é executada.
Combinar
Cozinhar espaguete
Abrir vinho
thread condicionalMisturar molho[a fim de vinho] guarda
transiçãojunção
separação
atividade
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Diagrama de Atividades – Decompondo uma atividade
Uma atividade pode ser decomposta em subatividades. A atividade composta pode ser detalhada tanto no diagrama pai como em outro
diagrama de atividade. Transições podem ir do diagrama pai diretamente para uma sub-atividade
dentro do diagrama da atividade composta, ou sair de uma sub-atividade para o diagrama pai.
A atividade composta que possui um inicio e fim (no exemplo, a Entrega) pode ser utilizada em outros contextos.
Preencher o pedido
Entrega durante a noite Entrega regular
[pedido urgente] [senão]
Entrega
atividade
atividade composta
Sub-atividade
transição
inicio
fim
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Diagrama de Atividades – Concorrência dinâmica
Indica quando um atividade é executada várias vezes, assinalando este fato através do marcador de multiplicidade.
Permite que se mostre interações sem a construção de um ciclo (loop) No exemplo, a transição para fora da atividade “Preencher linha de
item” é acionada somente quando todas as linhas de item forem preenchidas.
Se várias atividades precisam ser executadas muitas vezes, elas podem ser definidas dentro de uma atividade composta, e esta ser então definida como tendo várias execuções através marcador de multiplicidade.
atividade Marcador de multiplicidade
Entregar o pedido
Receber o pedido
* Preencher linha de item
transição
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Diagrama de Atividades – Raias (swimlanes) Raias são utilizadas para indicar os responsáveis pela execução
de cada atividade. Organiza o diagrama de atividades em zonas verticais
separadas por linhas, onde cada zona representa a pessoa, departamento ou classe responsável pela atividade.
Cada raia tem um nome único e uma atividade pertence a apenas uma raia. As transições podem cruzar as raias.
Raias combinam a descrição de lógica do diagrama de atividades com a descrição de responsabilidade do diagrama de interação.
São difíceis de serem projetadas em diagramas complexos.
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Exemplo de Raias (swimlanes)
Fechar o pedido
Receber o pedido
Envia a fatura
Recebe o pagamento
Preencher o pedido
Enviar o pedido
Execução Serviço de Atendimento ao Cliente
Setor Financeiro
Raias
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Diagrama de Atividades – Fluxo de objetos
As atividades de um diagrama podem criar novos objetos ou alterar o estado ou atributos de objetos já existentes.
Estes objetos ficam conectados à atividade que o cria ou altera através do fluxo de objeto, representado por uma linha pontilhada.
O objeto é representado por um retângulo com seu nome, a classe a que pertence e, abaixo de seu nome, o seu estado entre colchetes.
fluxo do objeto
Envia a fatura
Recebe o pagamento
f: fatura[enviada]
p: pedido[pago]
atividade
objeto
estado
nome do objeto
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Diagrama de Atividades Quando usar um diagrama de atividades?
Para representar aspectos dinâmicos de um sistema. É uma grande ferramenta para a modelagem de workflow
(processo de negócios) e para programação concorrente. Podem ser empregados no contexto de um sistema como
um todo, de um subsistema, de uma operação ou de uma classe.
São úteis quando é necessário descrever quais ações precisam acontecer, sem relacioná-las a objetos (macrovisão).
Não servem para representar a colaboração entre objetos. Neste caso, usar um diagrama de interação.
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Retirando dinheiro de um caixa eletrônico (para cartões de crédito).
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Dicas para modelagem de Diagramas de Atividades Transições em Bifurcações podem ter guardas:
Ao invés de usar isso:
RegisterBug
EvaluateImpact
FixBug
RevisePlan
ReleaseFix
TestFix
[ priority = 1]
RegisterBug
EvaluateImpact
FixBug
RevisePlan
ReleaseFix
TestFix
[ priority = 1]
[else]
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Dicas para modelagem de Diagramas de Atividades Exemplo com atividades mal aninhadas:
Princípios de codificação estruturada. (cuidado com goto’s!)
Mestrado em Informática - IM/NCE
Disciplina: MSOO 2008.2
Dicas para modelagem de Diagramas de Atividades O diagrama anterior pode se melhorado para
a seguinte disposição:
top related