Visão Geral

Os diagramas de atividades são um dos cinco diagramas disponíveis na UML (Unified Modeling Language) para a modelagem de aspectos dinâmicos de sistema. Um diagrama de atividade é essencialmente um gráfico de fluxo, mostrando o fluxo de controle de uma atividade para outra.

Uso Comum dos Diagramas de Atividades

Tipicamente os diagramas de atividades são empregados no contexto do sistema como um todo, de um subsistema, de uma operação ou de uma classe. Os diagramas de atividades também podem ser anexados a casos de uso (para a modelagem de um cenário) e a colaborações (para a modelagem de aspectos dinâmicos de uma sociedade de objetos).

Termos e Conceitos

Um diagrama de atividades é basicamente a projeção de elementos encontrados em um gráfico de atividades, um caso especial de uma máquina de estados, em que todos ou a maioria dos estados são estados de atividades e em que todas ou a maioria das transições são ativadas pela conclusão de atividades no estado de origem. Os diagramas de atividades podem conter estados simples e compostos (estados de ação e estados de atividade), ramificações, bifurcações, uniões, transições e objetos.
  • Estados de atividade: Os estados de atividade podem ser decompostos e suas atividades podem ser representadas por outro diagrama de atividades. Além disso, os estados de atividades são não-atômicos, significando que poderão ser interrompidos.
  • Estados de ação: Os estados de ação não podem ser decompostos. Além disso, os estados de ação são atômicos, significando que os eventos poderão ocorrer, mas o trabalho do estado de ação não é interrompido.
  • Transições: Quando a ação ou atividade de um estado está completa, o fluxo de controle passa imediatamente ao estado seguinte de ação ou de atividade.
  • Ramificações: Uma ramificação é representada como um diamante. A ramificação poderá ter uma transição de entrada e duas ou mais de saída. Em cada transição de entrada, é colocada uma expressão booleana, avaliada somente após a entrada na ramificação.
  • Bifurcação e união: Utilizada em fluxos concorrentes, a barra de sincronização é empregada para especificar a bifurcação e a união desses fluxos paralelos de controle.
  • Fluxo de objetos: Os objetos poderão estar envolvidos no fluxo de controle associado com um diagrama de atividade. Por exemplo, no fluxo de trabalho envolvido quando um cliente devolve um item de um pedido, um objeto (uma instância de Item) também acompanha o fluxo do processo, mudando do estado devolvido para o estado disponível.
  • Raias de natação: Utilizado na modelagem de fluxos de processos de negócio, para dividir em grupos os estados de atividade de um diagrama de atividades, cada grupo representando a organização de negócio responsável por essas atividades.

Modelagem de um Cenário do Sistema

Como foi dito anteriormente, os diagramas de atividades também podem ser anexados a casos de uso (para a modelagem de um cenário) e a colaborações (para a modelagem de aspectos dinâmicos de uma sociedade de objetos). Como exemplo, para a modelagem de um Cenário do Sistema (considerando o diagrama de caso de uso apresentado na Diretriz do Modelo de Caso de Uso) pode-se observar nas Figuras 1 e 2 duas possíveis abstrações do diagrama de atividades.

Diagrama de atividades com Estados de Atividade e Estados de Ação
Diagrama de Atividades Utilizando Raias de Natação

Organização Física do Diagrama de Atividades

Ao especificar um diagrama de atividades é conveniente atentar para os seguintes itens:
  • Dê-lhe um nome capaz de comunicar seu propósito.
  • Distribua seus elementos para minimizar o cruzamento de linhas.
  • Inicie com a modelagem do fluxo primário. Inclua ramificações, concorrência de fluxos e objetos como considerações secundárias, possivelmente em diagramas separados.
  • Use notas explicativas e cores como indicações visuais e chamar atenção para características importantes do diagrama.