Read this post in: de_DEen_USes_ESfr_FRhi_INid_IDjapl_PLru_RUvizh_CNzh_TW

Guia Completo sobre Diagramas de Atividade UML

O Diagrama de Atividade ajuda a descrever o fluxo de controle do sistema-alvo, como explorar regras de negócios complexas e operações, descrever casos de uso e modelar processos de negócios.

Introdução

Diagramas de atividade são uma parte fundamental da Linguagem de Modelagem Unificada (UML) usada para modelar os aspectos dinâmicos de um sistema. Eles focam na sequência e condições para coordenar comportamentos de nível inferior, ao invés de quais classificadores possuem esses comportamentos. Eles são comumente chamados de fluxo de controle e modelos de fluxo de objetos.

Os comportamentos coordenados por esses modelos podem ser iniciados porque:

  • Outros comportamentos terminam a execução

  • Objetos e dados tornam-se disponíveis

  • Eventos ocorrem externamente ao fluxo

    visual Paradigm Activity Diagram Tool
    Ferramenta de Diagrama de Atividade visual Paradigm


Propósito e Aplicações

Diagramas de atividade servem a múltiplos propósitos de modelagem:

🔹 Computação Procedural: As atividades funcionam como métodos correspondentes a operações em classes em modelos orientados a objetos.

🔹 Engenharia de Processos de Negócios: Aplicado à modelagem organizacional para o design de fluxos de trabalho, onde eventos podem originar-se dentro do sistema (conclusão de tarefas) ou fora dele (interações com clientes).

🔹 Modelagem de Sistemas de Informação: Usado para especificar processos de nível de sistema e coordenar regras de negócios complexas.

🔹 Elaboração de Casos de Uso: Ajuda a descrever o fluxo interno de operações dentro de um cenário de caso de uso.


Diagrama de Atividade de Exemplo

Activity Diagram Sample

Exemplo de um diagrama de atividades típico que mostra o fluxo de controle, pontos de decisão e processamento paralelo.


Referência Completa de Notação

Abaixo está uma referência abrangente de todas as notações do Diagrama de Atividades, incluindo ícones visuais, definições e propriedades principais.

Elementos Principais

Atividade

Activity

Definição: Uma atividade especifica a coordenação das execuções de comportamentos secundários, usando um modelo de fluxo de controle e dados. O fluxo de execução é modelado como nós de atividade conectados por arestas de atividade.

Propriedades Principais:

Propriedade Descrição
Nome O nome da atividade
Linguagem Linguagem de modelagem usada
Pré-condição Restrições que devem ser atendidas ao ser invocada
Pós-condição Restrições atendidas após a conclusão da execução
Execução única Se verdadeiro, todas as invocações são tratadas pela mesma execução
Somente leitura Se verdadeiro, a atividade não pode fazer alterações não locais
Reentrante Se o comportamento pode ser invocado enquanto ainda está sendo executado
Parâmetros Ordem e tipo de argumentos para a invocação

Nó de Parâmetro de Atividade

Activity Parameter Node

Definição: Nós de objeto no início e no final dos fluxos que fornecem um meio para aceitar entradas em uma atividade e fornecer saídas da atividade, por meio dos parâmetros da atividade.

Propriedades Chave:

Propriedade Descrição
Parâmetro O parâmetro para o qual o nó aceita fornece valores
Limite superior Número máximo de tokens permitidos no nó
Tipo de ordenação Como os tokens são ordenados para seleção
Direção Indica se o parâmetro é de entrada ou saída (padrão: entrada)
Tipo O tipo do nó de parâmetro de atividade
Deve isolar Se verdadeiro, as ações são executadas em isolamento (padrão: falso)

Ação

Action

Definição: Representa uma única etapa dentro de uma atividade que não é mais decomposta. Uma ação não começará a execução até que todas as condições de entrada sejam satisfeitas.

Propriedades Chave:

Propriedade Descrição
Nome O nome da ação
Visibilidade Acessibilidade dentro de namespaces
Tipo Ação de chamada de comportamento ou ação de chamada de operação
Efeito O efeito de completar a ação
Deve isolar Isola efeitos de ações fora do grupo

Ações de Tratamento de Eventos

Ação de Aceitar Evento

Accept Event Action

Definição: Uma ação que aguarda a ocorrência de um evento que atenda a condições especificadas.


Ação de Aceitar Evento de Tempo

Accept Time Event Action

Definição: Se a ocorrência for um evento de tempo, o valor resultante contém o momento em que a ocorrência ocorreu. Chamado informalmente de uma “ação de espera de tempo”.


Ação de Enviar Sinal

Send Signal Action

Definição: Cria uma instância de sinal a partir de entradas e a transmite para o objeto-alvo, potencialmente causando uma transição de máquina de estados ou execução de atividade. O solicitante continua imediatamente; respostas são ignoradas.


Nós de Controle

Nó Inicial

Initial Node

Definição: Um nó de controle onde o fluxo começa quando a atividade é invocada. Uma atividade pode ter mais de um nó inicial.


Nó Final da Atividade

Activity Final Node

Definição: Uma atividade pode ter mais de um nó final de atividade. O primeiro alcançado interrompe todos os fluxos na atividade.


Nó Final de Fluxo

Flow Final Node

Definição: Um nó final de fluxo destrói todos os tokens que chegam a ele. Não tem efeito algum sobre outros fluxos na atividade.


Nó de Decisão

Decision Node

Definição: Aceita tokens em uma aresta de entrada e os apresenta a múltiplas arestas de saída. A aresta percorrida depende da avaliação das guardas nas arestas de saída.


Nó de Mesclagem

Merge Node

Definição: Reúne múltiplos fluxos alternativos. Não usado para sincronizar fluxos concorrentes, mas para aceitarum entre váriosfluxos alternativos.


Nó de Divisão

Fork Node

Definição: Um nó de controle que divide um fluxo emmúltiplos fluxos concorrentes. Possui uma aresta de entrada e múltiplas arestas de saída.


Nó de Junção

Join Node

Definição: Um nó de controle quesincroniza múltiplos fluxos. Possui múltiplas arestas de entrada e uma aresta de saída.


Nós de Objeto e Fluxos

Nó de Objeto

Object Node

Definição: Indica uma instância de um classificador específico, possivelmente em um estado específico, que pode estar disponível em um ponto particular da atividade.


Pino de Entrada

Input Pin

Definição: Nós de objeto que recebem valores de outras ações por meio de fluxos de objeto.


Pino de Saída

Output Pin

Definição: Nós de objeto que entregam valores para outras ações por meio de fluxos de objeto.


Pino de Valor

Value Pin

Definição: Um pino de entrada que fornece um valor para uma ação que nãovem de uma aresta de fluxo de objeto de entrada.vem de uma aresta de fluxo de objeto de entrada.


Nó de Buffer Central

Central Buffer Node

Definição: Aceita tokens dos nós de objetos upstream e os passa para os nós de objetos downstream. Atua como um buffer para múltiplos fluxos de entrada/saída. Não se conecta diretamente a ações.


Nó de Armazenamento de Dados

Data Store Node

Definição: Representa um local de armazenamento persistente para objetos dentro do fluxo de atividade.


Fluxo de Controle

Control Flow

Definição: Uma aresta que inicia um nó de atividade após o anterior ter sido concluído.

Propriedades Principais:

Propriedade Descrição
Fonte/Alvo Nós conectados pelo fluxo
Peso Mínimo de tokens que devem percorrer simultaneamente
Guarda Especificação em tempo de execução para determinar a percorribilidade

Fluxo de Objetos

Object Flow

Definição: Uma aresta de atividade que pode ter objetos ou dados passando por ela.

Propriedades Principais:

Propriedade Descrição
Seleção Seleciona tokens de um nó de objeto de origem
Transformação Altera ou substitui tokens de dados que fluem ao longo da aresta
Multicast/Multirreceber Controla o método de passagem de objetos

Nós de Atividade Estruturados

Especificação do Nó Condicional

Conditional Node Specification

Definição: Um nó de atividade estruturado que representa um escolha exclusiva entre alternativas.

Propriedades Principais:

Propriedade Descrição
Garantido Se verdadeiro, pelo menos um teste terá sucesso (padrão: falso)
Determinado Se verdadeiro, no máximo um teste terá sucesso (padrão: falso)
Cláusulas Cláusulas que compõem o condicional
Resultado Pinos de saída que constituem saídas de fluxo de dados

Nó de Loop

Loop Node

Definição: Representa um loop com seções de configuração, teste e corpo. A seção de teste pode preceder ou seguir a seção de corpo.

Propriedades Principais:

Propriedade Descrição
Decisor Pino de saída cujo valor determina a continuação do loop
Testado primeiro Se verdadeiro, teste realizado antes da primeira execução do corpo
Partes de Configuração/Teste/Corpo Sub-regiões para componentes de loop
Variáveis de Loop Valores mantidos entre iterações

Região de Expansão

Expansion Region

Definição: Uma região estritamente aninhada com entradas/saídas explícitas (modelada como ExpansionNodes). Executada uma vez para cada elemento na coleção de entrada.

Modos de Execução:

  • paralelo: Todas as interações são independentes

  • iterativo: As interações ocorrem na ordem dos elementos

  • fluxo: Um fluxo de valores flui para uma única execução


Nó de Expansão

Expansion Node

Definição: Um nó de objeto usado para indicar fluxo através da fronteira de uma região de expansão. As coleções de entrada são divididas em elementos individuais dentro dela; as saídas combinam os elementos de volta em coleções.


Nó de Sequência

Sequence Node

Definição: Um nó de atividade estruturado que executa suas açõesem ordem.


Nó de Atividade Estruturado

Structured Activity Node

Definição: Um nó container que agrupa outros nós de atividade com semântica de execução definida.


Construções Avançadas

Região de Atividade Interrompível

Interruptible Activity Region

Definição: Um grupo de atividade que suporta a terminação de tokens fluindo em partes de uma atividade. Quando um token sai por meio de arestas interrompedoras, todos os tokens e comportamentos na região são terminados.


Manipulador de Exceção

Exception Handler

Definição: Especifica um corpo a ser executado se uma exceção especificada ocorrer durante a execução do nó protegido.

Propriedades Principais:

Propriedade Descrição
Nó protegido Nó protegido pelo manipulador
Corpo do manipulador Nó executado se o manipulador capturar a exceção
Entrada de exceção Nó de objeto que recebe o token de exceção
Tipos de Exceção Classificadores de exceções que o manipulador captura

Elementos de Apoio

Linha de Nado

Swimlane

Definição: Usado para particionar filhos em um diagrama de atividade, tipicamente para mostrar responsabilidade por ator, departamento ou componente do sistema.

Propriedades:

  • Partições Horizontais

  • Partições Verticais


Nota

Note

Definição: Uma observação que permite anexar comentários a elementos. Não possui força semântica, mas pode conter informações úteis de modelagem.


Restrição

Constraint

Definição: Uma condição ou restrição expressa em linguagem natural ou linguagem legível por máquina para declarar o significado de um elemento.

Propriedades:

Propriedade Descrição
Nome Nome opcional da restrição
Expressão Condição que deve ser verdadeira para satisfação

Diagramas UML Relacionados

Diagramas de atividade funcionam melhor quando usados juntamente com outros tipos de diagramas UML:

Tipo de Diagrama Propósito Link
 Diagrama de Caso de Uso Capturar requisitos funcionais e interações de atores Visualizar
Diagrama de Classe Modelar estrutura estática e relações Visualizar
Diagrama de Sequência Mostrar interações de objetos ao longo do tempo Visualizar
Diagrama de Comunicação Enfatizar relações entre objetos nas interações Visualizar
Diagrama de Máquina de Estados Modelar estados e transições de objetos Visualizar
Diagrama de Componentes Mostrar componentes físicos e dependências Visualização
Diagrama de Implantação Modelar a topologia de hardware e a implantação de artefatos Visualização
Diagrama de Pacotes Organizar elementos do modelo em namespaces Visualização
Diagrama de Objetos Mostrar instâncias e links em um determinado momento Visualização
Diagrama de Estrutura Composta Mostrar a estrutura interna dos classificadores Visualização
Diagrama de Temporização Focar em restrições de tempo e mudanças de estado Visualização
Diagrama de Visão Geral de Interação Combinar diagramas de atividade e de interação Visualização

Referências


ℹ️ A definição das notações é citada de Grupo de Gestão de Objetos Linguagem de Modelagem Unificada (OMG UML) Superestrutura Versão 2.2 e versões anteriores (para notações que já não existem mais na especificação mais recente).


Este guia destina-se a arquitetos de software, analistas de negócios e designers de sistemas que buscam modelar fluxos de trabalho e processos de negócios complexos usando Diagramas de Atividades UML. Todos os ativos visuais e definições são provenientes da Galeria UML oficial do Visual Paradigm.