A pesquisa Operacional e os Recursos Renováveis 4 a 7 de novembro de 2003, Natal-RN ESTENDENDO O DIAGRAMA DE ATIVIDADES PARA SUPORTAR A MODELAGEM DE WORKFLOW Ingrid Gesser Instituto de Matemática UFRJ/NCE, Caixa Postal 2324, Rio de Janeiro Brasil. igesser@uninet.com.br Denis S. Silveira Faculdades Ibmec, Av. Rio Branco 108 18 o Centro, Rio de Janeiro Brasil. denis@ibmecrj.br Pedro Oscar de Souza Cruz Instituto de Matemática UFRJ/NCE, Caixa Postal 2324, Rio de Janeiro Brasil. pedro@inf.puc-rio.br Eber A. Schmitz Instituto de Matemática UFRJ/NCE, Caixa Postal 2324, Rio de Janeiro Brasil. eber@nce.ufrj.br RESUMO A competitividade das empresas modernas é muito dependente da eficiência de seus processos de negócio. Para que este objetivo possa ser atingido, é necessário que os processos da empresa sejam definidos e colocados em funcionamento. A eficiência dos processos é altamente dependente do suporte computacional fornecido a estes, especialmente através do uso de sistemas de workflow. Os processos podem ser modelados usando a notação de diagrama de atividades suportada pela OMG (Object Management Group), e os sistemas de workflow podem ser definidos usando um framework de referência da entidade Workflow Management Coallition WfMC. É importante que a definição do sistema de workflow seja compatível com os requisitos do modelo do processo que ele suporta. Esta compatibilidade pode ser obtida, permitindo que o especificador do processo especifique as características do sistema de workflow em tempo de modelagem de processo. A contribuição deste trabalho é mostrar a existência de um gap semântico entre os elementos do diagrama de atividades e os do meta modelo de sistema de workflow. Para isto, propomos uma extensão do diagrama de atividades da UML através do uso de estereótipos. Palavras-Chave: Workflow, WfMC, UML, Diagrama de s, Modelagem de Negócios, Meta Modelo.
1. Introdução Está acontecendo uma revolução na forma de fazer negócios e competir nos mercados de hoje. É fácil comprovar essa afirmação através da leitura de jornais e revistas especializados em negócios e administração e através de estudos de casos apresentados nos livros que abordam negócios, sistemas de informação, administração etc [SILVA, 2001]. Dentro deste contexto, a Engenharia Empresarial pode ser conceituada como sendo a arte de entender, definir, especificar, analisar e implementar processos de negócios para todo o ciclo de vida da empresa [VERNADAT, 1996]. A Engenharia Empresarial é uma atividade multidisciplinar realizada por um grupo heterogêneo (usuários, projetistas, analistas, especialistas de aplicação, gerentes etc). Diversas são as técnicas e métodos utilizados nesta atividade, tais como: métodos para a definição de processos de negócios, custeio baseado em atividades, logística, projeto de processos de manufatura, seleção de recursos e projeto de layout de manufatura, gerenciamento do fluxo de trabalho (workflow), projeto e análise de sistemas de informação, gerenciamento e alocação de recursos, projeto de estruturas organizacionais etc. Porém, a disponibilidade deste grande leque de opções gerenciais, operacionais e técnicas, não garante o sucesso esperado. Segundo DAVENPORT [1994], dentre os conceitos e sistemas que surgem como conseqüência do referido desenvolvimento da tecnologia da informação, o principal é a popularização dos sistemas de workflow. Conforme apresentado por ARAUJO e BORGES [2001], um sistema de workflow é uma ferramenta que permite a análise pró-ativa, a compactação e automação de tarefas e atividades intensivas em informação. Assim, conforme se pode observar a partir da definição, sistemas de workflow muito podem contribuir para a otimização das atividades em uma empresa. Essa ferramenta consiste em um sistema de software, que se baseia no conceito conhecido como processo de negócio para otimização destas atividades. A UML (Unified Modeling Language) é uma linguagem gráfica padronizada criada para representar modelos de sistemas de informação orientados a objetos. Esta linguagem contém vários tipos de diagramas, cada um deles destinados a representar uma diferente visão do sistema. Os diagramas mais conhecidos são: o diagrama de casos de uso, classes e seqüência que descrevem os requisitos funcionais, as características estáticas e as dinâmicas do sistema [Booch et al., 1997]. Um diagrama menos utilizado na UML é o diagrama de atividades, que constitui um elemento de modelagem simples, porém eficaz para descrever fluxo de trabalho numa organização ou para detalhar as operações de uma classe. O presente artigo tem como principal objetivo estender o diagrama de atividades, componente integrante da UML, tornando compatível com o meta modelo proposto pela Workflow Management Coallition - WfMC (instituição fundada para padronizar os conceitos e a tecnologia de workflow). 2. Modelagem de Processos O principal objetivo da modelagem de processos é representá-los de uma maneira clara e formal em diferentes níveis de abstração [SERRANO, 1997]. A disponibilidade de modelos elaborados desta forma permite uma análise crítica das atividades existentes para definir melhorias e racionalizações dos processos. A modelagem de processo tem sido desenvolvida como uma tecnologia para descrever processos tais que eles possam ser entendidos e desenvolvidos com maior transparência. Através dessa modelagem é possível planejar, criar procedimentos e documentá-los de forma consistente, possibilitando demonstrar a realidade da empresa e realizar modificações de acordo com situação futura desejável. 198
A proliferação das metodologias que têm como base os conceitos de modelagem de um dado cenário acarretou o surgimento de diversas notações e técnicas de modelagem, que muitas vezes são compartilhadas entre várias metodologias. Esse fenômeno ocorre nos mais variados níveis de abstração (empresarial, produção, sistêmicos etc). Essa preocupação levou à busca de uma padronização de uma linguagem de modelagem. Hoje a UML (Unified Modeling Language) [BOOCH et al., 1999], que vem tendo grande aceitação no mercado e ambiente acadêmico, se propõe a padronizar, no formato de diagramas, algumas das principais notações. Embora inicialmente direcionada para modelagem de sistemas orientados a objetos, a UML se apresenta suficientemente genérica para abranger outras abordagens, como proposto nesse artigo. Entre os diagramas disponibilizados na UML encontramos o Diagrama de s. O diagrama de atividades constitui um elemento de modelagem simples, porém eficaz para descrever o fluxo de trabalho numa organização. Entre as suas características, destaca-se a possibilidade de representação de atividades paralelas, diferenciando-o de um mero fluxograma. Neste diagrama, as atividades são situadas em raias de responsabilidade, representativas dos locais onde elas são executadas. Nestes locais existem recursos que interagem com as atividades durante sua realização. Estes insumos (recursos e produtos) são representados no diagrama na forma de objetos relacionados às atividades. Dentro da abordagem desse diagrama encontram-se disponíveis os seguintes elementos: atividades, sub-atividades, transições, condicionais, caminho concorrente, raias de responsabilidade, recursos, insumos, produtos e sinais de input e output, conforme apresentado em [BOOCH et al., 1999] e discutido em [SILVEIRA et al., 2002]. 3. Modelagem de Workflow Um sistema de workflow objetiva a automação e gerência de processos de negócio em organizações [GFI FAX & VOICE, 1998; DiCATERINO et. al., 1997]. Um processo de negócio, segundo [ERIKSSON e PANKER, 2000], é um procedimento onde documentos, informações e tarefas são passadas entre participantes de acordo com um conjunto de regras definidas que deverão ser alcançadas para o objetivo do negócio. Figura 1: Processos de Negócio Automatizados por Sistemas de Workflow [Araújo e Borges, 2001] Os processos de negócio, segundo ARAUJO e BORGES [2001], podem ser representados através de fluxos de trabalho, ou seja, modelos que especificam: as atividades que compõem o processo, a ordem e as condições que as atividades devem ser executadas, os executores de cada atividade, as ferramentas a serem utilizadas e os documentos manipulados 199
durante sua execução. As representações de processos sob a forma de fluxos de trabalho podem ser automatizadas/interpretadas através de sistemas de workflow. Segundo a Workflow Management Coallition - WfMC [WFMC], um sistema de workflow pode ser definido como: Sistemas para a definição, criação e gerência da execução de fluxos de trabalho através do uso de software, capaz de interpretar a definição de processos, interagir com seus participantes e, quando necessário, invocar ferramentas e aplicações.. Uma das contribuições da WfMC foi a definição de um modelo de referência para os WfMS (Workflow Management Systems). Este modelo oferece um framework arquitetural do trabalho dos WfMS. Possui cinco interfaces, as quais cobrem as áreas de funcionalidade entre os WfMS e os seus ambientes. As áreas de funcionalidades são as seguintes: 1. A importação e exportação de definições de processos; 2. Interação com aplicações cliente e software de manuseio de lista de serviços; 3. A invocação de ferramentas e aplicativos de software; 4. Interoperabilidade entre diferentes WfMS; e 5. Funções de administração e monitoramento. Figura 2: Arquitetura de Sistemas Workflow [WFMC] Em seguida apresentamos uma descrição do modelo geral de definição de processos, chamado de WfMC Meta Model. Esse modelo sugere as características mínimas que qualquer sistema de workflow deve possuir. Com isso adquire-se uma facilitação de passagem do modelo de processos definido para uma dada aplicação para o modelo a ser implementado como workflow. A próxima figura apresentada a representação gráfica do WfMC Meta Model. 200
Tipo de Definição de Workflow possui consiste de Papel pode referir-se a usa Dados Relevantes do Workflow pode ter usa Aplicação Utilizada usa Condição de Transição pode referir-se a Figura 3: Meta Modelo de Definição de Processos Workflow [WFMC] Descrevemos a seguir as propriedades dos objetos básicos propostos no Meta Modelo da WfMC. Tipo de Definição de Workflow Versão Condições de Inicio Condições de Termino Condições de Segurança Condições de Auditoria Tipo Condições de Pré-atividade Condições de Pós-atividade Parâmetros Tempo Papel Autenticação Nível Organizacional Capacitação Condição de Transição Condições de Fluxo de Trabalho Condições de Execução Condições de Notificação do processo a ser controlado; Número da versão do processo controlado; Pré-condições do processo controlado; Pós-condições do processo controlado; Regras de segurança de acesso e utilização do processo controlado; Regras de auditoria do processo controlado (eventos controlados, freqüência controle e destino do controle). da atividade Tipo da atividade (complexa ou elementar); Pré-condições da atividade; Pós-condições da atividade; Tempos de duração da atividade e de espera na fila de entrada e saída. do papel; Identificação da autenticação realizada pelo papel; Posição do papel na estrutura da organização; Competência do papel no processo. Condições sob as quais o fluxo de trabalho transcorre; Condições sob as quais a execução é realizada; Condições sob as quais notificações são enviadas e recebidas. Dados Relevantes do Workflow das informações manipuladas no processo controlado; Tipo Tipo e formato das informações manipuladas no processo controlado; 201
Caminho de Acesso Aplicações Utilizadas Tipo Parâmetro de Execução Caminho de Acesso Localização das informações manipuladas no processo controlado. da aplicação utilizada no processo controlado; Tipo da aplicação utilizada no processo controlado; Momento e condições para utilização da aplicação no processo controlado; Localização da aplicação utilizada no processo controlado. 4. Correlação das Abordagens A partir dos elementos disponíveis no diagrama de atividades da UML para a modelagem de processos [SILVEIRA et al., 2002] e das propriedades apresentadas no meta modelo da WfMC [WFMC, 2003], apresentamos a tabela abaixo correlacionando-os. Workflow Meta Modelo - WFMC Versão -//- Condições de Inicio Condições de Termino Condições de Segurança -//- Condições de Auditoria -//- Papel Tipo Condições de Pré-atividade Condições de Pós-atividade Diagrama s Rótulo da Evento e condição da transição de entrada na Evento e condição da transição de saída na Parâmetros Tempo -//- Autenticação -//- Nível Organizacional Capacitação -//- Rótulo da Nivelamento do diagrama Evento e condição da transição de entrada na Evento e condição da transição de saída na Objeto (Recursos) Rótulo do Objeto Rótulo do Objetosabilidade 202
Condição de Transição Condições de Fluxo de Trabalho Condições de Execução Condições de Notificação Dados Relevantes do Workflow Objeto Condição de Guarda da Transição Ação da Transição Sinal Tipo -//- Caminho de Acesso -//- Aplicação Utilizada Rótulo do Objeto Tipo -//- Parâmetros de Execução Caminho de Acesso -//- 4.1 Discussão Rótulo da Evento e condição da transição de entrada na Ao correlacionarmos os elementos do diagrama de atividades da UML com as propriedades do meta modelo, constatamos uma aderência razoável, visto que das 25 propriedades apresentadas, apensas 10 não foram correspondidas. Ao analisarmos os objetos Tipo de Definição de Workflow e no meta modelo, constatamos que ambos representam semanticamente tarefas controladas, sendo que o primeiro representa o processo da controlar e o segundo um detalhamento do primeiro. No diagrama de atividades, o conceito de trabalho realizado (processo, atividade, tarefa etc) possui uma única representação na forma de atividade, sendo permitida, ainda, a decomposição funcional deste trabalho realizado na forma de nivelamentos do diagrama. Verificou-se que para as propriedades destes dois primeiros objetos foram parcialmente correlacionados, sendo que embora não visualmente representadas no diagrama as propriedades Versão, Condições de Segurança, Condições de Auditoria e Parâmetros de Tempo podem ser informadas no detalhamento textual da atividade. O objeto Papel representa os participantes que atuam em um dado processo. Estes participantes corresponde diretamente ao elemento Objeto no diagrama de atividade, quando este representa um recurso do processo. Porem o elemento Objeto não possui propriedades Autenticação e Capacitação, enquanto as propriedades e Nível Organizacional podem ser representados em seu rótulo. A Condição de Transição é um objeto que possui propriedades relacionadas ao comportamento do processo ao longo de sua execução. As propriedades Condições de Fluxo de Trabalho e Condições de Execução representam respectivamente a condição necessária para que cada transição ocorra e execuções relacionadas à transição. Assim, estão correlacionadas respectivamente a Condição de Guarda e Ação de uma transição no diagrama de atividades. A representação de notificações ( Condições de Notificação ) no diagrama de atividades é representada através do elemento Sinal, que possibilita o envio ou recebimento de mensagens durante a execução de uma atividade. 203
O objeto Dados Relevantes do Workflow corresponde diretamente ao elemento Objeto no diagrama de atividades, sendo que as propriedades Tipo e Caminho de Acesso não são contempladas. Por fim, o objeto Aplicação Utilizada deve ser representado no diagrama de atividades como uma própria atividade, visto que se trata de uma aplicação externa formal, que possui a mesma semântica. As propriedades Tipo e Caminho de Acesso não possui representação visual no diagrama de atividades. 5. Estendendo o Diagrama de s A UML providencia um número elevado de conceitos e notações particularmente concebidos de forma a satisfazer os requisitos típicos da modelagem de um sistema. Contudo, podem surgir situações, como a mencionada nesse artigo, em que se torna desejável a introdução de conceitos e/ou notações adicionais. A próxima figura ilustra o mecanismo de extensibilidade da UML especificando como os elementos do modelo devem ser customizados e estendidos, adicionando nova semântica através do uso de Stereotypes, Constraint e TaggedValue [BOOCH et. at., 1997]. Figura 4: Mecanismos de Extensão [BOOCH et. at., 1997]. O conceito de Stereotypes permite classificar um elemento de modelo estendido de acordo com um elemento do modelo base já existente da UML, definindo novas restrições e atributos [BOOCH et. at., 1997]. Todos os elementos estendidos do modelo que possuírem um ou mais estereótipos terão os seus atributos e comportamentos adicionais definidos. Os nomes dos Stereotypes não podem conflitar com os nomes já existentes no meta modelo UML. Dentro do nosso contexto teremos os elemento SubactivityState, ActiveState, ObjectFlowState e Partition estendidos para dar compatibilizar com o modelo da WfMC (ver na figura 5). A Constraint consiste na especificação de semântica associada a um elemento do modelo [BOOCH et. at., 1997]. Tal especificação é escrita alguma linguagem de restrição. Por exemplo: OCL, linguagem de programação, notação matemática ou linguagem natural. A TaggedValue é um par de <marca, valor> que permite associar arbitrariamente informações a qualquer elemento do modelo [BOOCH et. at., 1997]. O significado de cada marca é intencionalmente especifico do contexto da sua utilização, podendo ser determinado pelo usuário ou por convenção da ferramenta CASE de suporte. 204
A próxima figura ilustra a extensão do meta modelo com os novos estereótipos das classes dos elementos SubactivityState, ActiveState, ObjectFlowState e Partition. Figura 5: O Meta Modelo Estendido. 6. Considerações Finais A modelagem de processos é um instrumento importante da estratégia empresarial. A implementação eficiente de novos processos requer o suporte de ferramentas computacionais, dentre as quais se destaca a categoria de sistemas de Workflow. Por outro lado, a personalização de um sistema de Workflow para suportar um determinado processo é uma tarefa demorada e custosa e, portanto, requer o uso de ferramentas de apoio à personalização de sistema de Workflow. Esta ferramenta deve transportar todas as características do modelo de processo para o sistema de Workflow. Este trabalho mostra que nem todas as características essenciais dos sistemas de workflow podem ser descritas usando a notação padrão do diagrama de atividades. Para resolver 205
este problema, propomos a criação de estereótipos que, usados em conjunto, permitem que os 10 atributos essenciais dos sistemas de workflow possam ser especificados já na etapa de modelagem do processo, garantindo, desta forma, que o sistema a ser implementado está perfeitamente aderente às necessidades do processo de negócio e, por conseqüência, às necessidades da empresa. Referencias Bibliográficas ARAUJO, R. M., BORGES, M. R., Sistemas de Workflow, XX Jornada de Atualização em Informática - Congresso da SBC, Brasil, 2001; BOOCH, et. al., Unified Modeling Language Notation Guide, Addison Wesley, 1997; DAVENPORT, T. H., Reengenharia de Processos: como Inovar a Empresa Através da Tecnologia de Informação, Rio de Janeiro, Editora Campus, 1994; DiCATERINO, A., et. al., An Introduction to Workflow Management Systems, 1997, disponível em http://www.ctg.albany.edu/resources/abstract/mfa-2.html; acesso em 03/04/2003; DUSSART, A., et. al., An Evaluation of Inter-Organizational Workflow Modeling Formalisms, Cahier du GreSI, no 02-06, École des Hautes Études Commerciales de Montréal, Québec, 2002. ERIKSSON, H., PENKER, M., Business Modeling with UML Business Patterns at Work, John Wiley and Sons, Inc., 2000; GFI FAX & VOICE, Workflow Technology An Introduction, 1998, disponível em http://kr.fujitsu.com/products/software/teamflow/pds/downfile/workflow%20technolo gy.pdf; Acesso em 03/04/2003; SERRANO, M. A. B., Análise de Negócio Aplicada à Modelagem de Meta Ambientes Automatizados, Tese de Doutorado, PUC-Rio, 1997; SILVA A. V., Modelagem de Processos para Implementação de Workflow: Uma Avaliação Crítica, Dissertação de Mestrado, UFRJ/Engenharia de Produção, 2001; SILVEIRA, D., et. al., Descrevendo os Elementos do Modelo de Processos de Negócio, Assembléia do Conselho Latino Americano de Escolas de Administração CLADEA, 2002; SMITH, H., Establishing the Foundations for the Specifications of the Next Generation (Advanced) Air Traffic Management Systems, EUROCONTROL EATMS Architecture Workshop, June, 1996; VERNADAT, F. B., Enterprise Modeling and Integration, Principles and Applications, Chapman & Hall, Londres, 1996; WfMC Workflow Management Coalition, The Workflow Reference Model, disponível em http://www.wfmc.org, acesso em 03/04/2003. 206