Esse artigo faz parte da revista SQL Magazine edição 66. Clique aqui para ler todos os artigos desta edição

ortamento através das descrições dos estados pelos quais uma instância de uma classe pode transacionar. Neste artigo, vamos tratar do Diagrama de Atividade, o diagrama que possui a maior ênfase ao nível de algoritmo da UML e também um dos mais detalhistas.

 

Introdução

O diagrama de atividade era considerado em versões anteriores da UML como sendo um caso especial do diagrama de máquina de estados. A partir da versão 2.0 da UML, passou a ser considerado um diagrama distinto e independente do diagrama de máquina de estados, deixando inclusive de se basear nele. O diagrama de atividade passou a se basear no conceito das Redes de Petri (ler Nota DevMan 1).

 

Nota DevMan 1. Redes de Petri

Redes de Petri foram inventadas em 1962 por Carl Adam Petri em sua tese de doutorado, e esta é uma técnica de especificação de sistemas que possibilita uma representação matemática e possui mecanismos de análise poderosos, que permitem a verificação de propriedades e verificação da corretude do sistema especificado. Consiste em posições, transições e arcos direcionados.

 

Neste artigo, vamos falar um pouco da definição, da sua utilização e principalmente dos aspectos de produtividade que fazem desse diagrama um dos mais detalhistas da UML. Ao final, serão apresentados dois exemplos de aplicação deste diagrama: um para modelagem de um algoritmo e outro para modelagem de um processo.

 

O Diagrama de Atividade

O diagrama de atividade é considerado pela maioria dos autores como sendo o de maior ênfase ao nível de algoritmo da UML e talvez o de maior nível de detalhes. Este diagrama apresenta semelhanças com os antigos fluxogramas utilizados para desenvolver a lógica a ser utilizada no desenvolvimento de sistemas, sendo inclusive descrito utilizando pseudocódigos e sintaxe das linguagens de programação tais como Java, C e Pascal (GUEDES, 2008).

Como o próprio nome do diagrama diz, ele possibilita a modelagem de atividades que podem ser um método ou um algoritmo, sendo possível modelar inclusive processos completos. Atividades podem descrever blocos de comandos correspondentes às ações de um objeto, o que no paradigma de desenvolvimento orientado a objetos recebe o nome de métodos ou sub-métodos de uma classe.

Como comentamos inicialmente, o diagrama de atividade era um caso especial do diagrama de máquina de estados. Por isso, muitos dos elementos gráficos de representação do diagrama de atividade foram herdados dele. Os estados inicial e final, transições e barra de sincronização são elementos que são semelhantes na utilização no diagrama de máquina de estados (ler Nota DevMan 2).

 

Nota DevMan 2. Diagrama de Máquina de Estados

No artigo publicado na edição 65 da SQL Magazine, abordamos a definição e a estrutura do diagrama de máquina de estados. Os elementos deste diagrama que se assemelham aos existentes no diagrama de atividade são especificados e exemplificados neste artigo.

 

O diagrama de atividades, como a maioria dos diagramas da UML, pode ser utilizado para especificação de processos de negócio como workflow. Atividades também podem ser informações para especificação do processo ao nível de sistema, contendo passo a passo as atividades a serem realizadas.

Segundo Guedes, em seu livro UML – Guia Prático, uma atividade é composta por um conjunto de ações, ou seja, os passos necessários para que a atividade seja concluída.

 

Estado de Ação

Um estado de ação representa um passo, uma atividade dentro de um fluxo de controle; é atômico, ou seja, não pode ser decomposto em sub-estados de ação. Um estado de ação não possui ações internas e sua execução é tão rápida que não pode ser interrompida. Uma atividade costuma possuir diversos estados de ação. Este é representado por um retângulo com as bordas arredondadas sem possuir divisões (ver Figura 1). O exemplo representado na Figura 1 ...

Quer ler esse conteúdo completo? Tenha acesso completo