• Nenhum resultado encontrado

UML Diagrama de Atividades [Pt Br]

N/A
N/A
Protected

Academic year: 2019

Share "UML Diagrama de Atividades [Pt Br]"

Copied!
41
0
0

Texto

(1)

Business Informatics Group

Institute of Software Technology and Interactive Systems Vienna University of Technology

Favoritenstraße 9-11/188-3, 1040 Vienna, Austria

phone: +43 (1) 58801-18804 (secretary), fax: +43 (1) 58801-18896 office@big.tuwien.ac.at, www.big.tuwien.ac.at

Object-Oriented Modeling

Diagrama de Atividades

(2)

Literature

§

The lecture is based on the following book:

§

Use Case Diagram

UML @ Classroom:

An Introduction to Object-Oriented Modeling

Martina Seidl, Marion Scholz, Christian Huemer

and Gerti Kappel

Springer Publishing, 2015

(3)

© BIG / TU Wien

Conteúdo

§

Introdução

§

Atividades

§

Ações

§

Arestas

§

Fluxo de controle

§

Fluxo de objeto

§

Nó inicial, nó final de atividade, nó final de fluxo

§

Caminhos alternativos

§

Caminhos concorrentes

§

Nós objetos

§

Ações baseadas em eventos e ações de chamada de comportamento

§

Partições

§

Tratamento de exceções

(4)

Introdução

§

Foco do diagrama de atividades: aspectos de processamento

procedural

§

Conceitos de linguagem orientadas a fluxos

§

Baseadas em

§

linguagens para definir processos de negócio

§

conceitos estabelecidos para descrever processos de comunicação

concorrentes (conceito de token como encontrado em redes de petri)

§

Conceitos e variantes de notação cobre amplas áreas de aplicações

(5)

Atividade

§

Especificação de comportamento definido pelo usuário em diferentes

níveis de granularidade

§

Exemplos:

§

Definição de comportamento de uma operação na forma de instruções

individuais

§

Modelagem do curso de ações de um caso de uso

§

Modelagem de funções de um processo de negócio

§

Uma atividade é um grafo direcionado

§

Nós: ações e atividades

§

Arestas: para o fluxo de controle e de objeto

§

Fluxo de controle e fluxo de objeto definem

a execução

§

Opcional:

§

Parâmetro

§

Pré- e pós-condições

(6)

Ação

§

Elemento básico para especificar o comportamento definido pelo

usuário

§

Atômico mas pode ser abortado

§

Sem regras específicas para a descrição de uma ação

à

Definição em linguagem natural ou em qualquer linguagem de

programação

§

Processa valores de entrada para produzir valores de saída

§

Notação especial para tipos pré-definidos de ações

§

Ações baseadas em eventos

(7)

© BIG / TU Wien

§

Conectam atividades/ações umas às outras

§

Expressam a ordem de execução

§

Tipos

§

Arestas de fluxo de controle

§

Definem a ordem entre os objetos

§

Arestas de fluxo de objetos

§

Utilizadas para trocar dados ou objetos

§

Expressam uma dependência de dados/causal entre os nós

§

Guarda (condição)

§

Fluxo de controle e de objeto somente continua

somente se as guardas entre colchetes são

avaliadas para verdadeiro

(8)

Token

§

Mecanismo de coordenação virtual que descrevem execuções de

forma precisa

§

Não é um componente físico do diagrama

§

Mecanismos que asseguram as permissões de execução para as ações

§

Se uma ação recebe um token, a ação pode ser executada

§

Quando a ação é completada, ela passa o token para uma ação

subsequente e a execução da ação é disparada

§

Guardas podem previnir a passagem de um token

(9)

© BIG / TU Wien

Começo e Término de Atividades

§

Nó inicial

§

Inicia a execução de uma atividade

§

Fornece tokens em todas arestas de saída

§

Retém tokens até que os nós sucessores os aceitem

§

Múltiplos nós iniciais para modelar concorrência

§

Nó final de atividade

§

Encerra todos os fluxos de uma atividade

§

Primeiro token que alcançar o nó final de atividade encerra a atividade

inteira

§

Incluindo os subcaminhos concorrentes

§

Outros tokens de controle e de objetos são excluídos

§

Exceção: tokens de objeto que já estão presentes em paramêtros de saída da

atividade

§

Nó final de fluxo

§

Encerra um caminho de execução de uma atividade

§

Todos outros tokens da atividade não são afetados

(10)

Caminhos Alternativos – Nó de decisão

§

Para definir caminhos alternativos

§

“Ponto de comutação” para tokens

§

Arestas de saída possuem guardas

§

Sintaxe: [Expressão Booleana]

§

Token passa para

um

caminho

§

Guardas precisam ser mutuamente exclusivos

§

Pré-definido: [else]

§

Comportamento de decisão

§

Especifica um comportamento que é necessário para a avaliação das

guardas

(11)

© BIG / TU Wien

Caminhos Alternativos – Nó de mesclagem

§

Para colocar subcaminhos

alternativos

juntos

§

Passa o token para o próximo nó

§

Nó combinado de decisão e mesclagem

§

Nós de decisão e mesclagem também podem ser utilizados para

modelar laços (loops):

(12)
(13)

© BIG / TU Wien

Caminhos Concorrentes – Nó de Paralelismo

§

Para separar um caminho em subcaminhos concorrentes

§

Duplica o token para todas arestas de saída

§

Exemplo:

(14)

Caminhos Concorrentes – Nó de Sincronização

§

Para mesclar subcaminhos concorrentes

§

Processamento do token

§

Espera até que os tokens estejam presentes em todas as arestas de

entrada

§

Mescla todos os tokens de controle em um token e o passa adiante

§

Passa todos os tokens de objeto

(15)

© BIG / TU Wien

Exemplo: Fluxo de Controle Equivalente

… equivalente a …

(16)

Exemplo: Criar e Enviar Convites para uma Reunião

§

Enquanto convites são impressos, convites já impressos são

endereçados.

(17)

Exemplo: Participar da Aula (Ponto de Vista do Estudante)

(18)

… se todas arestas de entrada de uma ação tem um token, a ação é ativada e está pronta para execução … todas arestas de saída de todos os nós iniciais recebem um token….

… antes da execução, a ação consome um token de cada aresta de entrada; após a execução, a ação passa o token para cada aresta de saída

Exemplo: Token (Fluxo de Controle)

x

x

x

(19)

§

Contém tokens de objeto

§

Representa a troca de dados/objetos

§

É a origem e destino de uma aresta de fluxo de objeto

§

Informação opcional: tipo, estado

§

Variante de notação: nó de objeto como parâmetro

§

Para atividades

§

Para ações (“pins”)

Nó de Objeto

Parâmetro de

entrada

Parâmetro de

saída

(20)
(21)

© BIG / TU Wien

Buffer Central

§

Para salvar e passar tokens de objetos

§

Memória transiente

§

Aceita tokens de objeto como entrada a partir de nós de objetos e os

passa para outros nós de objetos

§

Quando um token de objeto é lido do buffer central, ele é apagado do

buffer central e não pode ser consumido novamente

(22)

Armazém de Dados

§

Para salvar e passar tokens de objetos

§

Memória permanente

(23)

© BIG / TU Wien

Peso das Arestas

§

Número mínimo de tokens que precisam estar presentes para uma

ação ser executada

§

Padrão:

1

§

Todos tokens presentes tem que ser consumidos:

0

(also

all

or

*

)

(24)

Conector

§

Utilizado se duas ações consecutivas estão muito separadas no

diagrama

§

Sem conector:

(25)

Ações baseadas em eventos

§

Enviar sinais

§

Ação de enviar sinal

§

Aceitar eventos

§

Ação de aceitar evento

§

Ação de aceitar evento de tempo

(26)
(27)

© BIG / TU Wien

Ação de chamada de comportamento

§

A execução de uma ação pode chamar uma atividade

§

Conteúdo da atividade chamada pode ser modelado em outro lugar

§

Vantagens:

§

Modelo fica mais claro

§

Reusabilidade

Nome da atividade chamada

Símbolo de forquilha invertido

(28)

Partição

§

“Swimlane”

§

Graficamente ou textual

§

Permite o agrupamento de nós e arestas de uma atividade devido a

responsabilidades

§

Responsabilidades refletem unidades organizacionais ou papéis

§

Torna o diagrama mais estruturado

§

Não muda a semântica da execução

(29)

© BIG / TU Wien

Exemplo: Partições

(30)

Partições Multidimensionais

(31)

Exemplo: Issue Student ID on Paper (1/2)

§

Diagrama de estados do Student ID:

§

Diagrama de atividades – fluxo de controle:

(32)

Exemplo: Issue Student ID on Paper (2/2)

(33)

© BIG / TU Wien

Tratamento de Exceção – Tratador de Exceção

§

Exceções pré-definidas

§

Definindo como o sistema tem que reagir em uma situação específica

de erro

§

O tratador de exceção substitui a ação onde o erro ocorreu

§

Se o erro

e

ocorre…

§

Todos tokens na

Ação A

são apagados

§

O tratador de exceção é ativado

§

O tratador de exceção é executado em vez da

Ação A

§

Então a execução continua regularmente

(34)
(35)

© BIG / TU Wien

Tratamento de Exceção – Região interruptível

§

Define um grupo de ações cuja execução deve ser terminada

imediatamente se um evento específico ocorre. Neste caso, algum

outro comportamento é executado

§

Se

E

ocorre enquanto B

ou C

é executado

§

Tratamento de exceção é ativado

§

Todos tokens de controle dentro do retângulo tracejado (= dentro de B

e

C) são apagados

§

D

é ativado e executado

§

Não existe “volta” para a execução regular!

(36)
(37)

© BIG / TU Wien

Name

Notation

Description

Nó de Ação

Nó de Atividade

Representa uma ação (atômica!)

Representa uma atividade (pode

ser decomposta)

Nó inicial

Inicia a execução de uma atividade

Nó final de

atividade

Finaliza TODOS caminhos de

execução de uma atividade

Elementos de Notação (1/5)

(38)

Elementos de Notação (2/5)

Name

Notation

Description

Nós de decisão

Nó de mesclagem

Divisão de um caminho de

execução em caminhos de

execução alternativos

Mesclagem de caminhos de

execução alternativos em um

caminho de execução

Nó de paralelismo

Divisão de um caminho de

execução em caminhos de

(39)

© BIG / TU Wien

Name

Notation

Description

Nó de final de

fluxo

Finaliza um caminho de execução de

uma atividade

Aresta

Conexão entre nós de uma

atividade

Ação de

chamada de

comportamento

Ação A referencia uma atividade

com o mesmo nome

Partição

Agrupamento de nós e arestas

dentro de uma atividade

Elementos de Notação (3/5)

(40)

Elementos de Notação (4/5)

Name

Notation

Description

Ação de envio

de sinal

Transmissão de um sinal para um

receptor

Ação de aceitar

evento (evento

de tempo)

Aguarda por um evento

E

ou

evento de tempo

T

Nó de objeto

Contém dados ou objetos

(41)

© BIG / TU Wien

Elementos de Notação (5/5)

Name

Notation

Description

Tratador de

Exceção

Tratador de exceção é executado

em vez de uma ação na ocorrência

de um erro e

Região

Interruptível

Fluxo continua em um caminho

diferente se o evento E

é

detectado

Referências

Documentos relacionados

Dessa maneira, os resultados desta tese são uma síntese que propõe o uso de índices não convencionais de conforto térmico, utilizando o Índice de Temperatura de Globo Negro e

Atualmente os currículos em ensino de ciências sinalizam que os conteúdos difundidos em sala de aula devem proporcionar ao educando o desenvolvimento de competências e habilidades

Podemos então utilizar critérios tais como área, arredondamento e alongamento para classificar formas aparentadas a dolinas; no processamento digital de imagem, esses critérios

Apenas foram submetidos aos protocolos de provocação e/ou dessensibilização com AAS, os pacientes com asma controlada e, portanto, os pacientes que tinham asma grave não

Principais fontes de financiamento disponíveis: Autofinanciamento: (corresponde aos fundos Principais fontes de financiamento disponíveis: Autofinanciamento: (corresponde aos

forficata recém-colhidas foram tratadas com escarificação mecânica, imersão em ácido sulfúrico concentrado durante 5 e 10 minutos, sementes armazenadas na geladeira (3 ± 1

Water and wastewater treatment produces a signi ficant amount of methane and nitrous oxide, so reducing these emissions is one of the principal challenges for sanitation companies

No primeiro, destacam-se as percepções que as cuidadoras possuem sobre o hospital psiquiátrico e os cuidados com seus familiares durante o internamento; no segundo, evidencia-se