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
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
© 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
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
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
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
© 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
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
© 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
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
© 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):
© 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:
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
© BIG / TU Wien
Exemplo: Fluxo de Controle Equivalente
… equivalente a …
Exemplo: Criar e Enviar Convites para uma Reunião
§
Enquanto convites são impressos, convites já impressos são
endereçados.
Exemplo: Participar da Aula (Ponto de Vista do Estudante)
… 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