Diagramas de Actividades



Documentos relacionados
UML Diagrama de Atividades

Unified Modeling Language. Pacotes. José Correia, Junho 2006 ( Um pacote é um mecanismo de agrupamento genérico

Diagramas de Atividade

Diagramas de Sequência

Diagrama de Seqüência

Proporcionar a modelagem de sistemas utilizando todos os conceitos da orientação a objeto;

Diagramas de. Atividades. PDF created with pdffactory trial version

UML - Diagramas de Sequência

Diagrama de Atividade

3 Informações para Coordenação da Execução de Testes

ANÁLISE DE SISTEMAS. Diagrama de atividades. por. Antônio Maurício Pitangueira

Unified Modeling Language. Diagramas de Implementação

Diagramas. Abordaremos agora cada um destes tipos de diagrama: 1. Diagrama Use-Case. 2. Diagrama de Colaboração. 3. Diagrama de Sequência

:: Processo de Negócio :: Edital Interno de Solicitação para Contratação de Soluções de Tecnologia da Informação (TI)

Termos de Referência para Serviços especializados de consultoria Individual na área de Arquitetura de Sistemas

Trata-se de uma variação do diagrama de estado com um propósito um pouco diferente do diagrama de estado:

Termo genérico que se aplica a vários tipos de diagramas que enfatizam interações de objetos.

Agenda. O que é Testar? Por que testar? Quando testar? Processo de teste Níveis de teste Tipos de teste Classificação dos testes.

5 Diagrama de Estado. 5.1 Definição

Modelando sistemas em UML - Casos de uso.

Diagrama de Atividades. Ricardo Roberto de Lima UNIPÊ APS-I

SIG. USANDO A TECNOLOGIA COMO SUPORTE Tecnologias de Apoio

Diagramas de Casos de Uso

Orientação a Objetos

UNIPAC Araguari FACAE - Faculdade de Ciências Administrativas e Exatas SISTEMAS DE INFORMAÇÃO

Unified Modeling Language. Diagramas de Colaboração

Arquitetura e Organização de Computadores

Sistema Operacional. Implementação de Processo e Threads. Prof. Dr. Márcio Andrey Teixeira Sistemas Operacionais

FICHA DOUTRINÁRIA. Diploma: CIVA. Artigo: 36º, nº 5, f) Assunto:

Metodologias de Programação

Administração Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Engenharia de Software 2012/3 Aula 5 Modelagem de Sistemas

Modelagem de processos e gestão da qualidade da fundação uniselva. Prof. Dr. Cristiano Maciel Diretor

Ferramenta 8: Fluxograma

1 Modelagem de Processos de Negócio Engenharia de Software.

3º Trabalho de GI Análise DFD

UML - Diagramas de Sequência

INF1005: Programação I. Algoritmos e Pseudocódigo

MODELAGEM DE SISTEMAS

Diagrama de Atividades

Diagrama de Atividades

13/09/2011. Atividades. Aula 5: REDE PERT/CPM PRINCÍPIOS DO PERT-CPM

Introdução a Banco de Dados. INTRODUÇÃO

Introdução à Algoritmos. Aula 11

Engenharia de Software

Panorama da notação UML

e ao Introdução ao BPM Guia BPM CBOK Instrutor: Eduardo Oliveira Slide XII Semana de Administração Orçamentária, Financeira e de Contratações Públicas

Bem-vindo ao tópico sobre movimentos de mercadorias em estoque.

Casos de Uso. SSC 526: Análise e Projeto Orientados a Objetos. Profa. Dra. Elisa Yumi Nakagawa

1.1. Definição do Problema

Fundamentos de Arquitetura e Organização de Computadores

Arquivos Seqüenciais Atualização em Lote

Circuitos Aritméticos

CONTRATO DE PARCERIA

3. Numerar a coluna da direita conforme a da esquerda 1) Classe (2) :Aluno 2) Um dado objeto (3) oaluno:aluno 3) Objeto (1) Aluno

País(es) : Brasil Banco(s) de Dados : Progress/Oracle

Processo de Desenvolvimento de Software

ABERTURA CONTA DEPÓSITOS À ORDEM PESSOAS SINGULARES/ EMPRESÁRIOS EM NOME INDIVIDUAL FICHA DE INFORMAÇÃO DE CLIENTE

ÍNDICE GIRA VOLEI REGRAS DE JOGO CAPÍTULO I FUNDAMENTOS E REGRAS DO JOGO. REGRA 1 Terreno de jogo (figs. 1 e 2) 1.1 Superfície de jogo. 1.

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Capítulo 6 - Threads

Modelo de Entidade-Relação (ER)

Lista de exercícios de UML

Prof a Andréa Schwertner Charão DELC/CT/UFSM

Manutenção total aplicada em ferramentarias

1.1 - Foram criadas, as contas abaixo, representativas dos recursos. extraorçamentários classificados em Depósitos de Diversas Origens e Credores -

Capítulo 6. Projeto de arquitetura Pearson Pren0ce Hall. Todos os direitos reservados. 1. slide 1

NORMA GERAL PARA GESTÃO DO ABASTECIMENTO DE ÁGUA À EMBARCAÇÕES

Capítulo 2 Máquinas de Estado

Métodos Formais. Agenda. Relações Binárias Relações e Banco de Dados Operações nas Relações Resumo Relações Funções. Relações e Funções

EDITAL N.º 06/2016 PROCESSO SELETIVO SIMPLIFICADO PARA INGRESSO NO CURSO DE EXTENSÃO DE INTRODUÇÃO À PROGRAMAÇÃO

Sistemas Distribuídos Capítulo 4 - Aula 5

Inteligência Artificial Redes Neurais Artificiais

7. Defina encapsulamento. R.: Encapsular é ocultar. Criar uma cápsula ao redor da classe, para proteger o que está dentro dela.

Introdução à Programação. Funções e Procedimentos. Prof. José Honorato F. Nunes honoratonunes@gmail.com

Modelo Entidade Relacionamento (MER)

Modelagem Temporal com UML

LINGUAGEM SQL Linguagem usada em SGBD para: Definir estrutura de dados; Modificar dados em um banco de dados; Especificar restrições de segurança; Rea

SOLUÇÕES N item a) O maior dos quatro retângulos tem lados de medida 30 4 = 26 cm e 20 7 = 13 cm. Logo, sua área é 26 x 13= 338 cm 2.

Disciplina Fundamentos de Redes. Introdução à Mascara de Subrede

Diagrama de Atividades. Professor: André Gustavo Bastos Lima

Problemas para Automação Industrial. Série 7: GRAFCET: problemas de modelação. Prática do conceito de Master/Slave. Programação de autómatos

TOMADA DE DECISÃO TOMADA DE DECISÃO. Fases de tomada de decisão. O processo de Tomada de Decisão. Identificação do problema

LINHAS MESTRAS; FASES; DISCIPLINAS; PRINCÍPIOS E MELHORES PRÁTICAS.

BOLONHA: GRANDES NÚMEROS ESTUDO 1

BPMN - Business Process Modeling Notation Uma Notação para a Modelagem de Processos. Renata Guanaes

Profª Danielle Casillo

UML Diagrama de Atividades Diagrama de Caso de Uso. ENG1518/3VB Sistemas de Informação Gerenciais Prof. Marcos Villas

alocação de custo têm que ser feita de maneira estimada e muitas vezes arbitrária (como o aluguel, a supervisão, as chefias, etc.

Escalas ESCALAS COTAGEM

Transcrição:

Unified Modeling Language Diagramas de Actividades José Correia, Junho 2006 (http://paginas.ispgaya.pt/~jcorreia/) Diagramas de Estados e de Actividades Um diagrama de actividades é um caso particular de um diagrama de estados Os diagramas de actividade estendem diagramas de estados, com notação para distinguir vários tipos de estados: estados de (sub)actividade (execução de subactividade) estados de acção (representam a execução de uma acção) estados de espera (estados normais, de espera por eventos) estados de decisão (com várias saídas condicionais) O que é um estado de actividade? José Correia UML - Diagramas de Actividades 2

Estados de actividade Os estados de (sub)actividade...... podem ser decompostos - onde se usa actividade pode usar-se outro diagrama de actividades... têm tempo de execução... não sendo atómicos, podem ser interrompidos As transições de saída destes estados não têm eventos, mas podem ter condições e acções a conclusão da (sub)actividade determina a saída do estado Processar débito Emitir factura José Correia UML - Diagramas de Actividades 3 Estados de acção Os estados de acção representam a execução de uma acção não podem ser decompostos Acção operação atómica, instantânea (tempo de execução irrelevante), que não pode ser interrompida exemplo: criar ou destruir um objecto Não existe uma distinção na representação gráfica entre estadosacção e estados-actividade Calcular total index := index * 5 + 1 José Correia UML - Diagramas de Actividades 4

Outros tipos de estados Estado de espera (estado normal) a saída deste estado é causada por eventos pode ter actividade e acções associadas Estado as transições de saída têm eventos e, possivelmente, condições e acções (ver exemplos em diagramas de estados ) Estado de decisão estado de passagem em que são testadas condições as condições aparecem nas transições de saída não é um estado verdadeiro, mas uma ramificação numa transição José Correia UML - Diagramas de Actividades 5 Exemplo: Preparar bebida Procurar Bebida [não há café] [não há cola] barra de sincronização (separação) [há café] [há cola] decisão e ramificação Pôr Café no Filtro Pôr Água no Reservatório Pôr Chávenas Pôr Filtro na Maquina Buscar latas de cola barra de sincronização (fusão) estado de espera (cantos arredondados) Ligar Máquina /ligar cafeteira Esperar que aqueça transição disparada por recepção de sinal luz desliga-se envio de sinal Deitar café subactividade (lados arredondados) Beber José Correia UML - Diagramas de Actividades 6

Diagramas de actividades vs. estados Ambos os tipos de diagramas são utilizados para modelar o tempo de vida de um objecto ou sistema Usar diagramas de actividade em vez de diagramas de estados quando: todos, ou quase todos, os estados são estados de acção ou subactividade, e não estados de espera por eventos todas, ou quase todas, as transições são automáticas - disparadas pela conclusão do processamento no estado fonte e não disparadas por eventos José Correia UML - Diagramas de Actividades 7 Exemplo Processo de Retirar dinheiro de uma conta bancária, através de uma máquina ATM As três classes envolvidas na actividade são: Cliente (Customer) Máquina ATM Banco (Bank) José Correia UML - Diagramas de Actividades 8

Pistas (swimlanes) Na modelação de fluxos de trabalho relativos a processos de negócio é comum a realização de actividades por várias entidades participantes no processo Um diagrama de actividades pode ser dividido em pistas de responsabilidade (swimlanes) separadas por linhas contínuas verticais Cada pista...... é encabeçada pelo nome da unidade organizacional, entidade ou objecto, responsável pelas acções e actividades aí localizadas... agrupa as várias actividades da responsabilidade de cada entidade participante José Correia UML - Diagramas de Actividades 9 Pistas: exemplo Management [ priority = 1] Evaluate Impact Revise Plan Support Register Bug Release Fix Engineering Fix Bug Test Fix Cada acção ou actividade é localizada numa única pista mas uma transição pode atravessar várias pistas José Correia UML - Diagramas de Actividades 10

Transições Transições: quando a acção ou actividade de um estado se completa, o fluxo de controlo passa imediatamente para o próximo estado de acção ou actividade Uma única transição sai de cada actividade, ligando-a à próxima actividade Uma transição pode ramificar em duas, ou mais, transições mutuamente exclusivas José Correia UML - Diagramas de Actividades 11 Decisões A tomada de decisão consiste em especificar que actividade deve ser realizada após a execução da actividade corrente uma decisão consiste em uma transição de entrada e duas ou mais de saída A representação das decisões envolve a utilização de: losangos, marcando o início e o fim de ramificações condições de guarda (dentro de [ ] ), colocadas de forma adjacente às transições correspondentes Nas transições de saída as condições não se devem sobrepor, mas devem cobrir todas as possibilidades exemplos (levantamento de dinheiro): - [valid PIN] e [invalid PIN] - [balance >= amount] e [balance < amount] José Correia UML - Diagramas de Actividades 12

Disjunção (fork) e junção (join) Um processo pode implicar a execução independente e concorrente de um conjunto de actividades Uma transição pode bifurcar (fork) em duas, ou mais, actividades paralelas, dando origem a várias sequências (threads) não é relevante a ordem da execução das actividades paralelas Uma disjunção (fork) representa a separação de um fluxo de controlo em dois ou mais fluxos de controlo pode ter uma transição de entrada e duas ou mais transições de saída José Correia UML - Diagramas de Actividades 13 Disjunção (fork) e junção (join) Uma junção representa a sincronização de dois ou mais fluxos de controlo pode ter duas ou mais transições de entrada e uma de saída os fluxos concorrentes sincronizam-se assim: espera-se que todos os fluxos de entrada cheguem ao ponto de junção prosseguindo com apenas um fluxo depois da junção As actividades paralelas são representadas entre barras de sincronização exemplos (levantamento de dinheiro): - Take money from slot e Debit account José Correia UML - Diagramas de Actividades 14

Actividades e Objectos Os diagramas de actividades podem explicitar relações de dependência entre actividades e objectos permitem ilustrar o fluxo de um objecto ao longo de um conjunto de actividades cria, modifica ou destroi acção 1 obj1:c1 acção 2 consulta Um objecto pode ser entrada (para consulta), ou saída (para criação, modificação ou destruição) de uma acção indica-se por uma seta a traço interrompido (seta de dependência) entre a acção e o objecto, no sentido do fluxo José Correia UML - Diagramas de Actividades 15 Fluxos de objectos Quando uma acção tem como saída um objecto que é entrada para a acção seguinte, é desnecessário indicar o fluxo de controlo (a transição), basta o fluxo de/para objectos (tipo DFD) acção 1 obj1:c1 acção 2 Para além de se ilustrar o fluxo de um objecto num diagrama de actividades, podem ainda ilustrar-se os seus papéis, atributos e estado José Correia UML - Diagramas de Actividades 16

Exemplo: Processo de Encomenda Cliente Faz encomenda Dep. Vendas Regista encomenda Armazém e: Encomenda [pendente] Despacha encomenda Emite factura e: Encomenda [despachada] Paga factura f: Factura [paga] f: Factura [pendente] Estado de objecto José Correia UML - Diagramas de Actividades 17 Pistas e fluxo de objectos Pistas (swimlanes): utilizado para particionar os estados de actividade em grupos quando se modela workflows, business process, processos de software cada swimlane pode ser implementada por uma ou mais classes transições podem partir de um swimlane para outro mas uma actividade pertence a um só swimlane Objectos podem estar envolvidos no fluxo de controlo associado com uma diagrama de actividade os fluxos de objecto são dependências que criam, destruem ou alteram um objecto pode-se mostrar o estado ou os valores dos atributos do objecto José Correia UML - Diagramas de Actividades 18

requisitante : Leitor Solicita publicação a biblioteca : Biblioteca Verifica disponibilidade Exemplo: caso de utilização Requisitar publicação [ indisponível ] [ disponível ] [ desiste ] [ espera ] Coloca em lista de espera Aguarda disponibilidade : requisição [espera disponibilidade] Publicação disponível Desloca-se à Biblioteca Avisa o requisitante : requisição [espera levantamento] Recebe a publicação Empresta a publicação : requisição [espera devolução] Consulta a publicação Devolve a publicação Recolhe a publicação : requisição [finalizada] José Correia UML - Diagramas de Actividades 19 Exemplo José Correia UML - Diagramas de Actividades 20

Em que situações são usados diagramas de actividades? Embora possam ter outro tipo de utilização, os diagramas de actividades são usados, principalmente, nas seguintes situações: especificar operações - os diagramas de actividades são usados como fluxogramas para especificar detalhadamente um algoritmo - p. ex., são usados os conceitos de tomada de decisão, de bifurcação e de junção especificar processos de negócio (workflows) - o foco dos diagramas de actividades reside na identificação dos actores intervenientes e a correspondente colaboração com o sistema - p. ex., são usados os conceitos das pistas e da modelação do fluxo de objectos especificar o comportamento de casos de uso - modelizar as actividades que ocorrem num caso de uso José Correia UML - Diagramas de Actividades 21 Quando devemos usar um diagrama de actividades? Os diagramas de actividades devem ser usados quando o comportamento que está a ser modelizado depende pouco de eventos externos na sua maior parte é composto por passos/etapas que decorrem até ao fim, em vez de serem interrompidas por eventos requer fluxo de dados entre etapas Usar diagramas de actividades para aplicações que são, essencialmente, de controlo e data-driven, como business modeling em vez de aplicações event-driven, como os embedded systems José Correia UML - Diagramas de Actividades 22

Resumo Um diagrama de actividades é, essencialmente, um fluxograma com concorrência é diferente de um fluxograma no aspecto em que mostra processos que decorrem em paralelo, e não apenas processos sequenciais para as actividades que decorrem em paralelo, não é importante a ordem pela qual são desempenhadas - elas poderão ser executadas ao mesmo tempo ou uma a seguir à outra Os diagramas de actividades descrevem um processo consistindo em: acções e actividades fluxo de controlo objectos de entrada e saída decisões concorrência José Correia UML - Diagramas de Actividades 23 Resumo (cont.) Um diagrama de actividades...... modela o fluxo de controlo de uma operação, classe, sistema, subsistema... mostra como as actividades de um processo dependem umas das outras... decompõe uma actividade em sub-actividades - actividades de mais baixo nível - podendo chegar a acções atómicas, com fluxo de controlo sequencial ou concorrente entre sub-actividades... pode ser utilizado para descrever cenários de use cases José Correia UML - Diagramas de Actividades 24

Referências Estes apontamentos foram baseados em: UML Unified Modeling Language, Curso em Tecnologia de Objectos, FEUP, Novembro 2000 Ademar Aguiar, Gabriel David, João Pascoal Faria Practical UML: A Hands-On Introduction for Developers, TogetherSoft Corporation UML, Metodologias e Ferramentas CASE, Alberto Rodrigues da Silva, Carlos Videira, Maio 2001 Behavioral Modeling, Gunnar Övergaard, Bran Selic, Conrad Bock, UML Revision Task Force, November 2000 José Correia UML - Diagramas de Actividades 25