Os diagramas de atividades podem ser usados ​​para descrever como as atividades são orquestradas para fornecer serviços em diferentes níveis de abstração. A maior vantagem dos diagramas de atividades é que eles suportam e encorajam o comportamento paralelo. Isso os torna uma ferramenta importante para modelagem de fluxo de trabalho e, em princípio, para programação multithread. Os diagramas de atividades também podem definir associações com objetos marcando atividades com nomes de objetos ou usando tags de natação, o que permite que os diagramas de atividades sejam estruturados de acordo com as responsabilidades.

O Diagrama de Atividades é semelhante a um diagrama de fluxo de trabalho de negócios ou simplesmente um fluxograma com semântica muito mais rica. Descreve as atividades do sistema, ou a pessoa que realiza a atividade, e o fluxo sequencial dessas atividades. O diagrama de atividades é um dos diagramas UML associados à abordagem orientada a objetos, por meio dele pode ser utilizado em qualquer outro paradigma de desenvolvimento de software.

Na Unified Modeling Language (UML), um diagrama de atividades é uma representação gráfica de um conjunto de atividades processuais do sistema executadas e é considerado uma variante de um diagrama de estados. Diagramas de atividades descrevem atividades paralelas e condicionais, casos de uso e funções do sistema em um nível detalhado. Os diagramas de atividades modelam o fluxo de trabalho sequencial de uma grande atividade, concentrando-se na sequência de ações e nas respectivas condições de início de ação. O estado de uma atividade está relacionado ao desempenho de cada etapa do fluxo de trabalho.

Por exemplo, diagramas de atividades são frequentemente usados ​​para ilustrar casos de uso, e usaremos vários exemplos para mostrar como usar diagramas de atividades para modelar os processos em um caso de uso.

Elementos usados ​​no diagrama de atividades

Atividades – As atividades são representadas por retângulos arredondados e o fluxo de controle entre as atividades é representado por setas sólidas. Uma atividade representa uma ação em um processo. Uma atividade pode ser grande ou pequena, e uma atividade pode continuar a ser dividida em atividades menores. A granularidade das atividades é determinada pelo significado do diagrama, seja para representar um processo amplo ou um processo específico.

Início e fim – Um diagrama de atividades pode ter apenas um ponto inicial, mas pode ter vários pontos finais.

Decisões de ramificação – O diamante representa a decisão de ramificação, que é a mesma que a decisão de ramificação de um fluxograma. O julgamento do ramo acima significa: acorde, veja se é hora de ir trabalhar, se não, volte a dormir; se for, levante-se e lave-se.

 

Fork and Join – fork e merge devem ser usados ​​em combinação para indicar ações simultâneas. Uma bifurcação implica que uma atividade é concluída, resultando em várias atividades paralelas subsequentes; uma confluência implica que várias atividades sejam concluídas antes da próxima atividade. Uma bifurcação é apontar para vários pontos, e uma convergência é apontar para vários pontos mesclados. As atividades entre o fork e o sink são executadas em paralelo e, depois de todas executadas, são unificadas e mescladas na próxima atividade.

Objeto

Os objetos são representados por caixas retangulares e os nomes dos objetos são substantivos. A atividade pode ter várias entradas e saídas, e o objeto pode ser a entrada que se torna a atividade. Na UML, uma transição de fluxo de objeto entre um estado de ação e um objeto é mostrada como uma seta tracejada. Um estado de ação que usa um objeto como entrada é mostrado como uma seta de transição de fluxo de objeto apontando do objeto para o estado de ação. Um estado de ação que atualiza ou produz um objeto como uma saída é mostrado como uma seta de transição de fluxo de objeto apontando do estado de ação para o objeto.

Um objeto produzido ou usado por uma ação. Isso nos permite modelar o fluxo de objetos.

 

Exemplo de fluxo de controle do diagrama de atividades

Pistas

O diagrama de atividades da raia agrupa as atividades em colunas da raia, que contêm todas as atividades que correspondem à categoria representada por essa raia. As raias podem representar muitas categorias de informações, como os atores (ou seja, funções ou departamentos) realizando a atividade, o estágio do processo em que a atividade ocorre ou qualquer outra informação que o criador do documento sentiu que deveria ser enfatizada e comunicados através do diagrama de raias. O termo raia é usado devido à semelhança visual entre a linha horizontal do diagrama e as raias de uma piscina.

Exemplo de raia do diagrama de atividades

 

Caso de uso 1 – De manhã

Todos os dias quando você acorda, primeiro você vê se é hora de levantar, se não, você volta a dormir; se sim, você se levanta o mais rápido possível, lava-se e toma café da manhã e sai depois do jantar.

Na figura abaixo, o diagrama de atividades para cada manhã é mostrado. O diagrama de atividades permite uma representação mais clara do fluxo da ação e uma boa representação do processo, tomada de decisão, interação e simultaneidade da ação.

 

Caso de Uso 2 – Processo de Ciclo de Vida do Produto

Antes de um projeto de produto ser estabelecido, uma análise de mercado é realizada primeiro para o posicionamento do produto e análise de viabilidade.

Depois que o projeto é estabelecido, a análise de demanda é conduzida e os documentos de requisitos de negócios, documentos de demanda de mercado e documentos de requisitos de produto são preparados por meio de análise de demanda. Em seguida, o desenho do protótipo e o projeto do produto e a análise do processo são realizados de acordo com os requisitos. Depois que essas tarefas são concluídas, entra-se na fase de desenvolvimento: projeto de arquitetura, projeto de contorno, projeto detalhado, desenvolvimento de código e teste de software.

As atividades acima estão organizadas em diagramas de atividades, conforme mostrado na figura abaixo.

 

O diagrama acima mostra todo o ciclo de vida de um processo de desenvolvimento de produto. Antes de fabricar o produto, é necessário posicionar o produto, indicando sua direção, seguido de um estudo de viabilidade (viabilidade técnica, viabilidade econômica e viabilidade social), onde as três possibilidades são executadas em paralelo.

Após a aprovação do projeto, são analisados ​​os requisitos do produto e, como resultado da fase de requisitos, são gerados três documentos

  • Documento de Requisitos de Negócios (BRD)
  • Documento de Requisitos de Mercado (MRD)
  • Documento de Requisitos do Produto (PRD)

No diagrama acima, esses três documentos são representados por caixas retangulares, que representam os objetos, ou seja, os três objetos de documentos que são produzidos como resultado da análise de requisitos.

Esses objetos podem ser usados ​​como entradas para a próxima atividade ou como saídas da atividade, e os objetos de entrada e saída podem ser um ou mais. Depois disso, passa pela prototipagem, desenho técnico, desenvolvimento, testes e finalmente lançamento do produto.

Caso de uso 3 – Fazer um pedido

O cliente compra e faz um pedido em um site de compras online. Após o pagamento, é gerado um pedido de entrega e o fornecedor entrega a mercadoria. Após a entrega, o pedido termina.

Tal situação envolve uma interação entre o cliente, o sistema e o fornecedor. As atividades do cliente incluem fazer o pedido e selecionar o pagamento; o sistema gera uma ordem de entrega e cobra o pagamento; e as atividades do fornecedor incluem ações de entrega e modificação de pedidos. Se você usar a forma anterior de diagrama de atividades, será difícil expressar as atividades entre o cliente, o fornecedor e o sistema. Se você deseja expressar melhor a relação entre funções e atividades, você precisa adicionar funções, aqui chamadas de raias.

O diagrama de negócios mostrado acima é o seguinte.

Os grandes retângulos aos quais os clientes, sistemas e fornecedores pertencem na figura acima são as raias de cada objeto. As atividades na pista representam as ações às quais o objeto pertence. As relações entre os objetos podem ser melhor expressas por meio da interação de informações entre as raias. Interação da informação com as atividades. O nome da raia deve ser o nome do objeto. Como é um nome de objeto, o nome da raia deve ser um substantivo.