quinta-feira, 2 de outubro de 2008



TRABALHO FINAL DE GRADUAÇÃO


Análise e Modelagem de um Sistema de Workflow na Unimed Santa Maria*
Ronald Scholz**
Giliane Bernardi ***


Resumo: Os Sistemas de Workflow foram desenvolvidos objetivando a coordenação do fluxo de trabalho e a necessidade de monitoramento das atividades nas organizações. O mesmo, consiste na implementação dos processos de negócio, os quais realizam um conjunto de atividades relacionadas que, coletivamente visam atingir um objetivo de negócio dentro do contexto de uma estrutura organizacional.
Entre as vantagens da utilização de sistemas de workflow pode ser destacada a fácil coordenação das atividades de grupo, onde documentos ou informações são passadas por várias pessoas e/ou setores participantes do processo.
Este artigo trata da análise e modelagem dos processos de negócio do Setor Administrativo e Setor de informática da Unimed Santa Maria, com auxílio da ferramenta Oracle Workflow Builder.


Palavras-Chave: Workflow – Processo de Negócio – Oracle Workflow - Unimed.



Introdução
O controle dos processos e das informações que circulam com eles é indispensável nas empresas, pois são os responsáveis pelo sucesso das organizações o que pode garantir sua sobrevivência no mercado e torná-las mais ou menos competitivas.
O fluxo de informações e documentos nas empresas é muito grande tornando-se muitas vezes, complexo e imensurável. Desta forma, os mesmos precisam ser muito bem gerenciados, por pessoas e sistemas totalmente confiáveis para não ocorrerem perdas de lucratividade. Existem diversas ferramentas computacionais de várias empresas que podem ser utilizadas para o gerenciamento destes processos. Entre as tecnologias disponíveis destacam-se os sistemas de workflow, com ferramentas tais como Lotus Notes, Oracle Workflow, entre outras. Estas ferramentas permitem que um processo de negócio seja eficientemente modelado e gerenciado.
O objetivo principal deste trabalho é realizar a analise e a modelagem dos processos existentes na Unimed Santa Maria – Sociedade Cooperativa de Serviços Médicos Ltda, na cidade de Santa Maria – RS. Serão analisados documentos e rotinas executadas pelos funcionários do setor administrativo e informática da sede administrativa que está localizada na Rua Professor Braga 141, tendo em vista modelá-los através de um sistema de workflow.



Sistemas de Workflow
Resumidamente pode-se afirmar que workflow nada mais é do que uma coleção de atividades que cooperam entre si com o fim único de alcançar um objetivo comum, podendo estas ser executadas por pessoas, por sistemas informatizados ou por ambos (DALCIN, 2002).

FUNDAMENTOS
Devido ao grande avanço tecnológico, das ferramentas e da necessidade das empresas com relação à administração de seu negócio – pois não basta produzir ou prestar um determinado serviço, é necessário que este seja competitivo - os sistemas de workflow estão sendo cada vez mais utilizados. Porém ainda existem poucas empresas que trabalham com este tipo de solução e também há escassez de profissionais especializados nesta área.
Workflow Management (WFM) é a mais recente área baseada em automação de escritórios, administração de negócios, sistemas de informação e suporte ao trabalho cooperativo. Resumindo, o WFM permite a coordenação do trabalho em uma organização (SCHMIDT, 2001).
Por não existir uma opinião e um consenso global a respeito dos sistemas de workflow, e nem um modelo que possa expressar todas as necessidades e realidades de um processo, foi criada em 1993 a Workflow Management Coalition (WFMC), que é composta por universidades e empresas, que têm por objetivo estabelecer normas e padrões para a área de sistemas de workflow, e ainda, para aumentar a sua utilização (DALCIN, 2002).
A WFMC define workflow como a automação de um processo de negócio, na sua totalidade ou em parte, durante o qual documentos, informações ou tarefas são passadas de um participante para outro por ações, de acordo com um conjunto de regras procedurais (WFM96).
Segundo (DALCIN, 2002), um workflow também pode ser entendido como uma coleção de tarefas organizadas para realizar um processo, quase sempre de negócio, ou seja, tem a capacidade de acompanhar eletronicamente documentos de papel (por exemplo, processar uma ordem de pedido). Essas tarefas podem ser executadas por um ou mais sistemas de computador, por um ou mais agentes humanos, ou então por uma combinação destes.
VANTAGENS
As empresas que conseguem gerir bem seus principais processos de negócio, modelando e implementando os mesmos de forma estruturada, conseguem obter diversos benefícios, sendo que alguns serão vistos a seguir:
- Com o workflow pode-se aumentar a produtividade de uma empresa, através da redução de tempo e esforço associado à realização de uma determinada tarefa (DALCIN, 2002);
- O usuário recebe todas as tarefas de forma eletrônica, podendo visualizar informações e maiores detalhes acessando-as via Web, ou através de seu e-mail, isto reduz o fluxo de papéis e o custo nas empresas que utilizam este tipo de automação de processos;
- Roteamento de trabalho: Quando um participante de um workflow recebe uma tarefa, após executá-la e concluir o processamento, inicia a seguinte atividade. Determina-se o conceito dessa transição como roteamento de trabalho, o qual pode conter uma regra em que seja necessária a tomada de uma decisão para que as próximas atividades continuem a serem executadas;
- Tem-se uma maior agilidade na localização das informações;
- Consegue-se integrar grande parte dos processos existentes nas organizações;
- Existe também a garantia de integridade dos processos, pois nenhuma etapa pode deixar de ser executada ou substituída, o que pode acontecer se o mesmo for executado manualmente; e
- Ocorre a diminuição e eliminação, em alguns casos, do tempo de espera entre as atividades.

DESVANTAGENS
Percebe-se que apesar das diversas vantagens da utilização de sistemas de workflow ainda existem muitas barreiras e paradigmas a serem quebrados pelos profissionais atuantes nesta área. Citam-se alguns:
- Ainda não existe um modelo conceitual comum e a maioria dos sistemas de gerenciamento de workflow usa sua própria técnica de modelagem.
- Segundo SCHMIDT (2001), os problemas de modelagem de sistemas de workflow dividem-se em dois tipos de diferenças, uma de origem semântica e outra referente a sintaxe utilizada na modelagem dos sistemas.
- Existem poucas empresas que trabalham com este tipo de solução e também há escassez de profissionais especializados nesta área.
- Temor da perda de poder e do controle da produtividade e qualidade: de modo geral, as pessoas para manter o prestígio/poder impedem a introdução de novos projetos e sistemas que possam repercutir efeitos mais positivos na empresa que trabalham (THOM, 2001).

TERMINOLOGIA BÁSICA
Na figura 1 está representado o relacionamento entre a terminologia básica proposta pela (WFMC 99).

Figura 1 - Esquema dos Conceitos de Workflow

Processo de Negócio
É um dos principais conceitos de um sistema de workflow que precisa ser entendido. Pode-se definir processo de negócio como um “conjunto de uma ou mais atividades, que coletivamente compreendem um objetivo de negócio, geralmente dentro do contexto de uma estrutura organizacional, definindo regras funcionais e relacionamentos” (WFMC, 1995).

Participante
Um participante é o responsável pela execução parcial ou total de um trabalho determinado pela instância de atividade. Este é demonstrado normalmente como um ou mais itens de trabalho designados a um determinado participante do Workflow pela lista de trabalho. Um participante pode ser chamado de ator, agente ou ainda de usuário.

Papel
Um participante do Workflow pode ser identificado diretamente dentro da definição dos processos de negócio, mas geralmente quando são definidos os processos, deseja-se criar uma abstração em torno dos participantes, de modo a evitar que nomes específicos de funcionários, por exemplo, façam parte do modelo (GRALA, 1997).
Quando existe um grupo, com determinadas características, qualificações e competências, que permitem aos integrantes participarem de uma determinada tarefa, então se pode definir um papel organizacional, ou simplesmente papel para este grupo (WFMC, 1999).



ESTUDO DE CASO
O estudo de caso desenvolvido tem por objetivo analisar os processos existentes que envolvem documentos e informações, no setor de gerência e no setor de informática da Unimed Santa Maria, de forma que seja possível modelar o maior número de processos, tornando assim o trabalho dos funcionários deste setor mais rápido e ágil, de forma a trazer mais satisfação aos mesmos.

Processo “Solicitação de Material ao Estoque”
Um funcionário, na falta de um ou mais materiais, tais como papel A4, canetas, tintas para impressora, ou qualquer outro tipo de material expediente, que são indispensáveis ao seu trabalho diário, solicita os mesmos ao setor de estoque/almoxarifado, através de um pedido que é preenchido e levado ao chefe do setor responsável para que seja assinado. Após o pedido é colocado em uma caixa num ponto de coleta, juntamente com os pedidos dos demais setores. Na terça-feira uma pessoa responsável pelo setor de estoque busca todos os pedidos, que serão avaliados e entregues na quarta-feira.
Se não existir o material solicitado não estiver no estoque, é solicitado ao setor de compras, para que o mesmo seja feita cotação e aquisição deste.
Após a aquisição dos materiais os pedidos dos setores são entregues e concluídos, total ou parcialmente, não sendo necessário que o setor de estoque entregue toda quantidade de material solicitada por um setor.
Durante o levantamento dos requisitos deste processo, constatou-se a existência de diversas dificuldades e problemas que ocorrem durante sua execução. Dentre estes podem ser citados:
- Entrega da solicitação ao setor de estoque fora do prazo previsto;
- Perda da Solicitação de Material; e
- Solicitação de materiais inexistentes ou divergência de nomes;

Com a utilização de um sistema, as solicitações ficarão armazenadas no Banco de Dados Oracle, evitando assim que seja perdida, e ficando disponível para consulta posteriormente.

Processo “Solicitação de Viagem”
Quando um funcionário da empresa deseja realizar uma viagem para algum curso, participar de eventos relacionados ás Unimeds ou viajar a serviço da empresa, o mesmo reporta-se ao seu chefe e faz a solicitação, sendo que este avaliará a possibilidade ou não da viagem. Sendo positiva a resposta, o chefe encaminha à gerência a solicitação para que o funcionário possa realizar a viagem na data acertada com seu chefe, esta podendo ser recusada pelo gerente. Se o gerente da empresa aprovar a viagem do funcionário, o mesmo pede para a secretária que realize todos os tramites legais tais como, comprar passagem (ou reservar um carro da empresa), e reservar hotel. Ainda, a secretária, avisa o setor financeiro para que libere a despesa de viagem para o funcionário. Após a realização destas tarefas, o funcionário é avisado que sua viagem está confirmada e que o mesmo pode dirigir-se até o setor financeiro para retirar sua despesa de viagem.
No processo de solicitação de viagem encontraram-se diversas situações, as quais podem gerar os problemas descritos abaixo:
- Gerente estar viajando e não poder autorizar a viagem;
- Funcionário do setor financeiro responsável por liberar dinheiro de despesa de viagem não ter sido informado;
- Compra da passagem para data diferente da data da viagem;
- Documentar o motivo pelo qual a viagem foi autorizada ou não;

Modelando-se este processo através de um sistema de workflow, não ocorrerá mais o problema do gerente não estar na empresa para realizar a autorização, pois poderá fazê-la remotamente através da internet.
Todas as solicitações de viagem terão armazenadas no banco de dados seu motivo e uma justificativa da autorização ou reprovação das mesmas, assim se conseguirá manter um histórico de todas as solicitações e viagens.
Sendo aprovada a viagem, automaticamente será enviada uma notificação ao responsável do setor financeiro para que seja liberada a despesa de viagem para um determinado funcionário.

Processo “Solicitação de Suporte”
Na ocorrência de qualquer problema relacionado a hardware, software, treinamento e/ou dúvidas em geral, os usuários solicitam ao setor de informática, via telefone ou pessoalmente, para que providencie uma solução ou auxílio do mesmo. Qualquer funcionário que estiver disponível no setor de informática encaminha-se até o solicitante do suporte para auxiliar o usuário com o problema ou dúvida.
O problema sendo de origem técnica procede com o recolhimento do equipamento para o setor de informática para posterior manutenção e se existir disponibilidade de equipamento de reserva coloca-se um equipamento de backup para o usuário continuar seu trabalho.
Quando existe dúvida ou problema relacionado ao funcionamento do sistema de informação utilizado pela empresa avalia-se o mesmo e se possível é fornecida uma solução imediata ao usuário, senão é solicitada a ajuda do gerente de informática.
A empresa possui desenvolvimento de software terceirizado, portando podem ser encaminhados pedidos de suporte esta empresa.
Foram verificados, no decorrer da execução do processo de solicitação de suporte, os seguintes problemas:
- Dificuldade de retornar ao usuário a real situação do seu equipamento com problema, visto que o equipamento pode estar na bancada esperando para ser consertado, estar aguardando a compra de alguma peça para reposição ou ser encaminhado para manutenção fora da empresa;
- É bastante difícil conseguir manter uma seqüência no atendimento porque quando se está dando suporte a algum usuário podem surgir outros problemas com outros usuários que não têm nenhuma relação com a solicitação de suporte, sendo que os usuários querem ser atendidos imediatamente e muitas vezes nem realizaram pedido de suporte.
Com a implementação deste processo se elimina todas as dificuldades citadas anteriormente a ainda será facilitado o gerenciamento deste processo.

Processo “Reserva de Carro para Viagem”
Quando um funcionário utiliza um veículo da empresa para viajar, ele precisa, inicialmente, verificar se existem carros disponíveis para a data e hora de sua viagem. Esta verificação é realizada por telefone, junto à pessoa responsável pela garagem.
Se um veículo estiver disponível, o funcionário responsável pela garagem anota a reserva, para a data e hora solicitada, sendo que o mesmo não pode ser alocado por outra pessoa a não ser que ocorra desistência da reserva. Quando não existir nenhum veículo disponível, o solicitante simplesmente será notificado por telefone com a resposta negativa.
Com a automatização deste processo poderá se ter um melhor controle das reservas dos veículos, pois atualmente o controle é feito de forma manual, sendo que muitas vezes nem é anotada a reserva. Todas as reservas ficarão armazenadas no banco de dados para consulta, mantendo-se assim um histórico e eliminando o problema de reservas do mesmo veículo.

Processo “Agenda Horário para falar com diretor”
Os usuários de planos de saúde e serviços prestados pela Unimed Santa Maria, chefes de setor, funcionários, fornecedores e demais pessoas, que desejem falar com algum membro da diretoria executiva e/ou demais diretores, necessitam agendar um horário em que o mesmo está disponível.
Normalmente o agendamento é previamente realizado com a secretária da gerência por telefone ou pessoalmente, porque os membros do conselho de administração não mantêm um horário fixo de trabalho na cooperativa e fica difícil encontra-los na cooperativa. Uma vez que uma destas pessoas estiver na cooperativa e não tiver horário agendado terá que esperar até que o diretor esteja disponível, correndo o risco de não conseguir falar com este.
Foi encontrado, durante a execução do processo, como principal problema, a dificuldade de encontrar os diretores na cooperativa, pois estes não mantêm um horário fixo de trabalho durante o expediente da cooperativa.
O assunto a ser tratado também é importante para tomada de decisão sobre a importância do mesmo ser tratado com os diretores, sendo que na maioria das vezes a solução pode ser dada pelo gerente ou até mesmo por um funcionário do setor de orientação e atendimento ao usuário (SAC).
Com a modelagem deste processo através de um Workflow, pode-se manter uma agenda com os horários e dias em que os diretores têm disponibilidade de estar na cooperativa, e assim realizar um pré agendamento de horário. Poderá ser verificado através da web se o horário agendado foi confirmado para a data que foi pré-agendada.
Na medida em que for feita a agenda de horários pode-se realizar uma seleção prévia dos assuntos que serão tratados com os diretores. Isto pode ser feito pela secretaria da gerência, visto que muitas vezes a solução para o problema pode ser dada pelo setor de orientação e atendimento ao consumidor (SAC).

Processo “Reserva Recurso Multimídia para Palestras”
A empresa disponibiliza um Retroprojetor e um projetor de Slides para ser utilizado em reuniões, palestras e/ou eventos realizados pela mesma. Quando um funcionário ou Médico Cooperado desejar utilizar um destes recursos, deve previamente verificar a disponibilidade do mesmo na data e horário que necessita utilizar e reservá-lo com a secretária.
Normalmente é solicitado a algum funcionário do setor de informática para fazer a instalação dos equipamentos e se necessário operar os mesmos durante a realização do evento.
O chefe do setor de informática, sendo notificado da necessidade de acompanhamento de algum funcionário do setor em uma palestra ou evento, encaminha, ao departamento pessoal uma solicitação para realização de horas extras para o funcionário que será destinado a este fim.
Neste processo foram encontradas dificuldades em relação ao agendamento dos horários em que os equipamentos serão utilizados, pois não existe nenhuma ficha de controle do local e dos horários, possibilitando a perda dos horários e datas agendados. Podendo assim ocorrer o agendamento de equipamentos e o mesmo não estar disponível na data solicitada.
O controle das datas e em que locais serão utilizados os recursos multimídia torna-se necessário, pois o setor de informática precisa verificar se pode disponibilizar um funcionário para este fim.
Com a informatização deste processo, serão armazenadas, no banco de dados, todas as datas e horários em que serão utilizados os equipamentos e assim estarão os horários disponíveis para consulta e histórico de utilização.

Processo “Solicitação de Horas Extras”
Quando existir a necessidade de um funcionário da empresa realizar alguma tarefa fora do seu horário normal de trabalho, se faz necessária uma solicitação para liberação de horas extras. Esta é realizada pelo chefe ou pela pessoa responsável do setor que irá trabalhar no horário solicitado.
Pede-se que a solicitação seja realizada com no mínimo um dia de antecedência em relação à data em que serão realizadas as horas extras.
Um dos grandes problemas encontrados na análise do processo de solicitação de horas extras é referente à demora na liberação, pois se o gerente não está na cooperativa, é necessário aguardar o retorno deste, para a autorização das horas extras. Com a utilização de um sistema de workflow, poderá ser disponibilizado acesso remoto pela web ao sistema e assim o gerente poderá realizar a autorização de qualquer ponto onde existir um computador com acesso a internet, tornando mais ágil este processo.
Outra dificuldade encontrada é quando se faz necessária a realização de horas extras de emergência, pois simplesmente a gerência será comunicada e posteriormente serão realizados todos os trâmites referentes a autorização. Através da automatização deste processo, será feito um comunicado do problema e uma justificativa da real necessidade de execução das horas extras de trabalho.


DESENVOLVIMENTO DO SISTEMA
Levando-se em consideração as informações analisadas sobre os processos de negócio no Trabalho Final de Graduação I por (SCHOLZ, 2003), foram desenvolvidos modelos de workflow que pudessem se adaptar a cada processo em específico, com isto minimizando e até eliminando os problemas que acontecem durante a execução dos mesmos nos dias atuais.
A ferramenta utilizada para modelagem dos processos foi a Oracle Workflow Builder, disponível no Centro Universitário Franciscano. Foi escolhida esta ferramenta para elaboração do sistema proposto, devido a UNIMED já utilizar o banco de dados Oracle, sendo assim necessário apenas adquirir o pacote Oracle Workflow para utilização deste. Outro motivo para escolha, é devido a sua capacidade de gerenciamento do workflow, suportando a definição, automação e continuidade dos processos. Um maior detalhamento sobre a ferramenta pode ser visto no Anexo I deste trabalho.
Baseado nos processos que foram analisados por (SCHOLZ, 2003) foram necessárias novas entrevistas com os funcionários envolvidos, para analisar novamente o fluxo de cada processo, a fim de evitar problemas na elaboração dos modelos. Através destas foram identificados todos os funcionários envolvidos e os papéis que estes executam durante o andamento de cada um dos processos. Também foram analisados documentos, planilhas de anotações e agendas onde são guardadas informações sobre os respectivos processos.

PROCESSOS MODELADOS
Para concluir o processo de modelagem dos processos do setor administrativo e do setor de informática, foi necessária a criação de tabelas no banco de dados Oracle para armazenar informações dos processos e para geração de relatórios. A Tabela 1 mostra o nome e a função das tabelas criadas no Banco de Dados Oracle para concluir o processo de modelagem do sistema.
Tabela 1 - Lista de tabelas criadas para desenvolvimento do sistema.


O Anexo III mostra o relatório de carros reservados que é enviado ao funcionário responsável pela garagem que é gerado com as informações armazenadas na tabela tbreservacarro quando este processo é iniciado. Este relatório auxiliará na tomada de decisão para reservar um carro ou verificar se o mesmo já se encontra reservado.
Foi necessária também a criação de procedimentos em PL/SQL no banco de dados Oracle para completar a modelagem dos processos de negócio, os quais vão armazenar ou recuperar informações durante a execução dos processos. No Anexo IV pode-se visualizar um exemplo de um procedimento PL/SQL criada para gravar os pedidos de materiais ao estoque.
Com o uso do workflow são definidas de forma mais consistente as atividades e os responsáveis pelas mesmas, a coordenação do trabalho entre várias pessoas e o acompanhamento da execução dos processos.
Os processos analisados na Unimed apresentam características próprias, por isso se fez necessária a modelagem de workflows que permitam representar a realidade atual e específica de cada um dos processos analisados. Estes processos poderão ser avaliados em trabalhos futuros e implementados em outras Unimeds, onde os processos possivelmente são semelhantes.
A Figura 4 apresenta a modelagem do processo de Solicitação de Material ao Estoque.


Figura 4 – Processo de Solicitação de Material ao Estoque.


O funcionário dispara o processo quando preenche as informações referentes ao pedido, que é enviado ao chefe do setor, através de uma mensagem pedindo que este aprove o pedido. O chefe recebe a mensagem e pode aprovar ou reprovar o pedido. Sendo aprovado, o mesmo é encaminhado ao setor de estoque. Quando o setor de estoque receber o pedido verificará se possui todos os itens solicitados no pedido. Neste ponto do processo é tomada a decisão de atender totalmente o pedido, atender parcialmente ou reprovar o pedido de material. Se o pedido for aprovado de forma total o funcionário receberá uma notificação avisando que o pedido foi aprovado e será entregue. Na seqüência são armazenadas no banco de dados informações sobre o pedido. Sendo aprovado parcialmente, apenas alguns itens solicitados serão entregues, e se não existirem em estoque é enviado uma notificação para o setor de compras/orçamento. Ainda, o pedido pode ser reprovado simplesmente pelo setor de estoque, recebendo então o funcionário a mensagem de reprovação.
A Figura 5 apresenta modelagem do processo de Solicitação Viagem.

Figura 5 – Processo de Solicitação de Viagem.

Um funcionário dispara um processo de solicitação de viagem. Após o inicio do processo, o chefe recebe uma mensagem pedindo a aprovação da viagem, podendo aprovar ou rejeitá-la. Se o chefe aprovar a viagem, é encaminhado para gerência o pedido de aprovação da viagem, podendo esta aprovar ou reprová-la. No caso de aprovar a viagem é encaminhada para secretaria uma mensagem pedindo que faça todos os trâmites legais para viagem sair corretamente. Na seqüência do processo é enviada uma mensagem ao setor financeiro solicitando liberação de um valor de despesas para viagem, o qual foi informado pela gerência anteriormente. O funcionário é notificado a passar no setor financeiro para pegar o dinheiro e após são armazenadas no banco de dados informações sobre a viagem.
Se o chefe reprovar o pedido de viagem, o funcionário será notificado e poderá reencaminhar seu pedido. Este processo poderá se repetir por 3 vezes, sendo que, se o chefe não aprovar na terceira vez, será necessário que o funcionário faça um novo pedido. No caso do chefe aprovar e a gerência reprovar será encaminhado para o chefe e para o funcionário uma notificação da reprovação do pedido.
A Figura 6 apresenta a modelagem do processo de Solicitação de Suporte.

Figura 6 – Processo de Solicitação de Suporte.
O funcionário inicia o processo de solicitação de suporte. Após a informática recebe o pedido de suporte e analisa se o problema será resolvido por este ou se o pedido será encaminhado para empresa terceirizada. Quando o pedido é analisado pelo funcionário da informática, este pode atendê-lo ou ainda encaminhar para outro colega da informática. O pedido pode ser atendido completamente ou parcialmente. Um motivo de atender parcialmente a solicitação de suporte esta ligado a falta de um componente que precisa ser substituído em um computador com problema. Então será necessário para a informática retornar o status do equipamento para o usuário e aguardar a compra deste. Quando o pedido de suporte é atendido completamente, é executado as tarefas solicitadas pelo funcionário e após é enviado para uma notificação do atendimento e na seqüência é gravado no banco de dados as informações sobre a solicitação.
No caso do pedido de suporte ser encaminhado para empresa terceirizada, esta receberá uma mensagem com o pedido de suporte. Após analisar o pedido encaminha para o funcionário uma resposta sobre o suporte pedido.
A Figura 7 apresenta a modelagem do processo de Reserva de Carro para Viagem.


Figura 7 – Processo de Reserva de Carro para Viagem.
Este processo é iniciado quando um funcionário dispara o processo, solicitando um carro para viajar. Após ser dado o inicio do processo o funcionário da garagem recebe uma mensagem pedindo a reserva de um carro para funcionário viajar em uma determinada data. Juntamente o funcionário da garagem receberá um relatório de reservas de todos os carros da garagem podendo assim decidir sobre a solicitação. Existindo a disponibilidade de um veículo é enviada uma notificação para o funcionário dizendo que foi reservado um carro para o mesmo e gravado no banco de dados as informações sobre a reserva do carro. Senão existir nenhum carro disponível o funcionário também receberá uma notificação negativa do pedido de reserva.
A Figura 8 apresenta a modelagem do processo de Agendar Horário para falar Conselho de Administração.

Figura 8 – Processo de Agendar Horário para falar Conselho de Administração.


Este processo inicia quando um usuário de plano de saúde ou funcionário da empresa deseja falar com um diretor para tratar de diversos assuntos em geral. Após o inicio do processo a secretária da gerencia recebe uma mensagem com pedido para agendar um horário com algum dos diretores. Esta por sua vez, irá verificar se existe ou não algum horário disponível. Se existir, encaminhará uma notificação ao solicitante avisando-o de que foi marcada uma reunião com um diretor na data solicitada. Na seqüência do processo, o diretor receberá uma notificação que possui uma reunião marcada com determinado usuário em certa data. Após é gravado no banco de dados as informações referentes ao processo de agenda de horário com diretor. Se não existir disponibilidade de horário o usuário solicitante receberá uma notificação pedindo para tentar agendar em outro horário e data.

A Figura 9 apresenta a modelagem do processo de Reserva de Recurso Multimídia.

Figura 9 – Processo de Reserva de Recurso Multimídia.


Após o processo ser iniciado, a secretária da gerência recebe uma mensagem solicitando que seja reservado um equipamento para um determinado evento na data informada. Simultaneamente, a secretária recebe um relatório de todas as reservas existentes para verificar se existe ou não disponibilidade para reservá-lo para data solicitada. Estando o equipamento disponível, é encaminhada uma notificação para o solicitante avisando que está reservado o equipamento pedido. Na seqüência, é armazenado no banco de dados as informações referentes ao processo. No caso de não existir nenhum equipamento disponível será enviada uma notificação ao solicitante comunicando que na data solicitada existe nenhum equipamento disponível e pedindo que tente fazer uma nova reserva.

A Figura 10 apresenta a modelagem do processo de Solicitação de Horas Extras.


Figura 10 – Processo de Solicitação de Horas Extras.


O processo de solicitação de horas extras é iniciado quando um chefe de setor solicita horas extras para seus funcionários. Após ser iniciado o processo, a gerência recebe uma mensagem contendo o pedido de liberação das horas extras, podendo aprová-lo ou não. No caso de ser aprovado é encaminhada uma notificação para o chefe avisando que seu pedido foi aprovado pela gerência. Também é enviada uma notificação ao departamento pessoal avisando que um ou mais funcionários realizarão horas extras em uma certa data. Na seqüência do processo são armazenadas no banco de dados as informações referentes as horas extras aprovadas. Se a gerência reprovar as horas extras, será encaminhada para o chefe uma notificação avisando da reprovação das mesmas.
Existe ainda a possibilidade de disparar o processo de solicitação de horas extras de emergência, o qual é executado somente pela informática quando existe a necessidade de intervenção do mesmo em algum problema que ocorra na empresa fora do horário de expediente normal. Quando for disparado este processo é encaminhada uma notificação para gerência avisando da realização das horas extras. Também é enviada uma notificação ao departamento pessoal avisando que foram realizadas horas extras naquela data. Neste caso, não é necessária a aprovação da gerência. Após, são armazenadas no banco de dados as informações referentes as horas extras de emergência realizadas.
A Figura 11 mostra o Processo de Solicitação de Horas Extras de Emergência.

Figura 11 – Processo de Solicitação de Horas Extras de Emergência.



EXECUÇÃO DOS PROCESSOS

Para que se tenha acesso aos processos modelados e comentados anteriormente, é necessário utilizar a interface web desenvolvida em php (PHP HyperText Preprocessor) e integrada com a interface padrão Oracle, permitindo disparar, executar e monitorar os processos de negócio analisados e modelados.

A figura 12 mostra a página inicial de acesso ao sistema desenvolvido.


Após efetuar login no sistema é exibida a pagina inicial a qual é responsável por efetuar todas as tarefas, como é mostrada na (figura 13).

Figura 13 – Página Inicial do Sistema de Workflow Desenvolvido com a lista de processos de workflow.
Para selecionar um processo de workflow é necessário clicar no item DISPARAR PROCESSO no menu, sendo que este, por sua vez, abrirá uma nova página que mostra todos os processos modelados. Basta agora escolher um processo a executar e clicar neste, sendo aberta uma nova página que contém as informações que devem ser preenchidas para poder dar início ao processo. Será escolhido para demonstração de execução o processo de Solicitação de Suporte, como se pode ver a seguir.
A Figura 14 mostra a página com os campos que devem ser preenchidos no processo de Solicitação de Suporte.
Figura 14 – Página com os campos a serem preenchidos.
Após preencher os campos, é necessário clicar no botão OK para dar inicio ao processo. Na seqüência aparecerá uma pagina com diversas informações sobre o processo iniciado, mostrando passo a passo a execução deste. Existe um botão chamado Visualizar Diagrama onde pode ser visto graficamente o modelo do processo, com as etapas já concluídas marcadas com uma linha verde, diferenciando-as das que ainda não foram executadas. A Figura 15 mostra a página de informações sobre o processo após seu início.

Figura 15 – Página de informações sobre o inicio do processo.


O próximo passo é a chegada da mensagem para o funcionário do setor de informática. O funcionário entra no sistema e verifica na lista de trabalho que existe uma nova mensagem. Clicando em cima da mensagem podemos ver seu conteúdo.

A Figura 16 mostra o recebimento da mensagem.


Figura 16 – Página do Recebimento da Mensagem.

Ao abrir a mensagem o funcionário da informática verá a mensagem com o conteúdo do pedido de suporte, conforma mostra a figura 17. Neste instante é tomada a decisão de quem atenderá ao pedido de suporte. Podendo encaminhá-lo para outro colega da informática ou ainda para o suporte da Loghos Informática.

Figura 17 – Detalhes da mensagem recebida pela informática.
Após tomar a decisão de quem executará o suporte, é encaminhada uma mensagem para pessoa escolhida com o pedido de suporte. Ao receber esta mensagem, se tem a possibilidade de atender completamente o pedido de suporte, não atender ao pedido ou ainda atendê-lo parcialmente, acontecendo este caso quando o setor de informática não possuir uma peça para troca imediata no equipamento com defeito, por exemplo.
E para completar o processo, o funcionário que solicitou o suporte recebe uma mensagem comunicando o status da sua solicitação, conforme mostra a figura 18.

Figura 18 - Mostra a resposta enviada para funcionário.
CONSIDERAÇÕES FINAIS E TRABALHOS FUTUROS

A área de Sistemas de Workflow está expandindo-se nos últimos anos nas empresas e, sem dúvida, é uma ferramenta que auxilia muito na automatização dos processos, facilitando assim o trabalho dos funcionários e aumentando a satisfação destes.
O trabalho desenvolvido teve como objetivo principal analisar e modelar os processos existentes nos setores administração e informática e, posteriormente modelá-los utilizando a ferramenta Oracle Workflow Builder que é disponibilizada pela universidade. Além disso, a Unimed já utiliza o banco de dados Oracle, sendo que para poder utilizar o sistema proposto será necessário adquirir apenas a licença do Oracle Workflow.
Fazendo-se o uso de Sistemas de Workflow, podem ser obtidas diversas vantagens, à medida que se consegue explorar ao máximo a ferramenta utilizada desde que sejam modelados corretamente os processos de negócio existentes.
Dentre as vantagens podem ser citadas:
- Redução no tempo de execução dos processos, pois com o sistema em funcionamento as atividades são passadas de um funcionário para outro instantaneamente após os mesmos executarem sua ação;
- Eliminação de papel. Com uso do sistema de workflow, todas as informações estarão gravadas no banco de dados, podendo ser acessada a qualquer momento;
- Histórico das atividades armazenadas no banco de dados, pois todas as atividades executadas ficam gravadas no bando de dados. Assim se pode visualizar o andamento de um processo e ver se esta aguardando alguma coisa ou se o mesmo já foi concluído;
- Facilidade na administração dos processos, pois se assegura que todas as atividades sejam executadas numa seqüência, sem pular nenhum passo;
- Organização das atividades, pois com a eliminação do papel, não existe mais o risco de perder ou esquecer de executar alguma tarefa, sendo que cada funcionário terá sua lista de tarefas para executar, podendo vela através do sistema;
- Execução das tarefas através da internet. Esta possibilidade permite que as tarefas sejam executadas de qualquer local em que se possua acesso a internet, não necessariamente precisando que o gerente esteja na empresa para aprovar uma viagem, por exemplo; e
- Melhor definição dos papéis e tarefas executadas, apenas as pessoas que possuem autorização podem executar os processos, com isto se consegue evitar a possibilidade de pessoas que não conhecem o processo possam executá-lo, e de forma incorreta.
Na realização do presente trabalho foram encontradas muitas dificuldades, iniciando pela coleta de dados para identificação e diferenciação dos processos existentes. Em alguns casos um único funcionário desempenha diversas atividades diferentes e não consegue distinguir uma de outra, sendo assim necessários diversos contatos com o mesmo e acompanhamento das rotinas de trabalho diárias.
A tecnologia de Workflow com Oracle é bastante recente e, portanto, não são encontradas muitas referências bibliográficas e nem padrões em que possa se basear durante a análise e o desenvolvimento de um trabalho deste tipo.
A ferramenta Oracle Workflow escolhida para realização deste trabalho é pouco utilizada devido ao seu alto custo, fazendo com que não sejam encontradas pessoas com quem se possa tirar dúvidas e trocar idéias sobre a utilização da mesma.
Sendo uma ferramenta poderosa e complexa a Oracle Workflow Builder é excelente para modelagem dos processos de negócio desde os mais simples até os mais complexos, porém requer um estudo muito grande o que ocupou bastante tempo no desenvolvimento do presente trabalho.
Todas as interfaces web do Oracle Workflow têm um padrão proprietário, tornando-se uma grande dificuldade a alteração das mesmas, e envolvendo muito tempo de estudo, para qualquer modificação que se desejasse fazer nesta. Para facilitar a modificação das interfaces, optou-se pela integração das mesmas a uma interface construída em php (PHP HyperText Processor).
Através da interface desenvolvida o usuário digita seu login e senha de acesso ao sistema. Daí então é realizada a validação deste usuário, a fim de verificar se pode ou não executar os processos de workflow. Apartir da interface criada pode-se disparar um processo de workflow, visualizar as mensagens recebidas e alterar as preferências pessoais de cada usuário do sistema de oracle workflow.
Quando é disparado um processo de negócio, é solicitado ao usuário que preencha os atributos que são necessários para iniciar o processo. Porém o padrão da ferramenta Oracle Workflow é mostrar todos os atributos que estão envolvidos no processo, mesmo os que serão utilizados apenas mais adiante no andamento deste. Isto pode causar dúvida na hora do funcionário iniciar o processo pois não saberá quais atributos informar, ou até mesmo preencherá incorretamente alguma informação que não diz respeito a ele. Sendo assim se fez necessário realizar algumas alterações no banco de dados e nas packages (pacotes) e packages body (corpo dos pacotes) do Oracle que são responsáveis pela criação da interface web para manipulação dos processos de negócio.
Dentre as alterações realizadas no Banco de Dados Oracle Workflow, foi criado um campo chamado visível na tabela WF_ITEM_ATRIBUTES que serve para identificar quais atributos, dos que estão envolvidos no processo, serão mostrados na hora de iniciar um processo através da interface web. Quando o valor do campo visível é igual a 1, significa que o atributo será mostrado.
Foi criado na tabela WF_ITEM_TYPES, que guarda informações sobre os processos, um campo chamado ROLE que serve para indicar quais usuários têm permissão de executar quais processos. Ainda, na tabela WF_LOCAL_ROLES foram adicionadas as roles que especificam quais usuários podem ou não executar tais processos, porque não são todos os usuários que podem disparar todos os processos. E na tabela WF_LOCAL_USER_ROLES foram criados os usuários que fazem referencia as roles criadas.
Também foi feita uma alteração na view (visão) WF_ITEM_TYPES_VL, incluindo-se mais um campo chamado ROLE, referenciando o atributo criado na tabela WF_ITEM_TYPES. Isto faz com que na hora em que se visualiza a lista de processos que podem ser disparados, sejam listados apenas os processos referentes ao(s) papel(eis) assumidos pelo usuário logado no momento.
Foi feita a alteração na Procedure PROCESS na Package Body WF_INITIATE e incluída mais uma condição AND com valor de visível = 1 na seleção que mostra os processos que o usuário pode disparar, sendo que somente os atributos que possuem o valor 1 serão mostrados na interface web quando seleciona-se o processo a ser executado. O trecho do código alterado é mostrado no Anexo II.
Como trabalhos futuros têm-se o objetivo de implantar o sistema proposto, aprimorar a interface principal de funcionalidade do Oracle Workflow, para que o usuário consiga interagir melhor com o sistema, aumentando assim o nível de aceitação e de satisfação em relação ao sistema.
Também fica como proposta para trabalhos futuros analisar os processos existentes em outras Unimeds a fim de verificar se os mesmos são semelhantes, e assim poder aproveitar os modelos desenvolvidos.



Referências Bibliográficas
DALCIN, Sabrina Borba. 2002. Desenvolvimento de um Sistema de Workflow para o Controle dos Processos de Internação Hospitalar. Centro Universitário Franciscano, Trabalho Final de Graduação II. Santa Maria, Dezembro.
GRALA, A. S., AMARAL, V. L. e LIMA, J. V. 1997. Workflow e Gerência de Documentos. Relatório de Pesquisa. Porto Alegre, CPGCC – UFRGS. Maio. Disponível em

http://www.inf.ufrgs.br/~vla
SCHMIDT, Marcos Kruel. 2001. Modelagem de Workflow em um Estudo de Caso Aplicado ao Hospital de Caridade “Dr. Astrogildo de Azevedo”. Centro Universitário Franciscano. Trabalho Final de Graduação II. Santa Maria, dezembro.
SCHOLZ, Ronald. 2003. Proposta de Desenvolvimento de um Sistema de Workflow na Unimed Santa Maria. Centro Universitário Franciscano, Trabalho Final de Graduação I. Santa Maria, Dezembro.
THOM, H. Lucinéia, IOCHPE, Cirano. 2001. Uma Estrutura para o Desenvolvimento de Sistemas de Workflow que Integra Técnicas para Identificar, Tratar e Minimizar Problemas Culturais. Projeto SINPLI (Sistema de Informação para processo de Licenciamento Ambiental da Fundação de Proteção Ambiental do Rio Grande do Sul – FEPAM), Porto Alegre. UFRGS, 2001.
WORKFLOW MANAGEMENT COALITION. 1999. Terminology & Glossary. Hampshire, UK, Feb. 65p.


ANEXO I
FERRAMENTA ORACLE WORKFLOW
A ferramenta Oracle Workflow é um sistema completo de gerenciamento de Workflow que suporta definição, automação e melhoramento de processos de negócio. Esta tecnologia habilita a automação e continuidade dos processos de negócio, direcionando qualquer tipo de informação de acordo com as regras definidas ao usuário.
A Oracle Workflow provê a cada pessoa envolvida nos processos de negócio disponibilizados pelo Workflow, todas as informações que as pessoas precisam para analisar e responder apropriadamente. O Oracle Workflow pode direcionar todas as informações para cada tomador de decisão em seu próprio workflow.
A Oracle Workflow habilita as pessoas a receberem, analisarem e responderem notificações de itens via qualquer sistema de E-mail padrão ou Web Browser. A ferramenta proporciona, ainda, ao usuário, todas as informações relacionadas as suas atividades de trabalho (Dalcin, 2002). Para obter acesso ao ambiente de execução dos processos de Workflow desenvolvidos na ferramenta, o usuário deve estar cadastrado no banco de dados e possuir um login e senha válida.


ORACLE WORKFLOW BUILDER
Oracle Workflow Builder é uma ferramenta gráfica de modelagem e construção dos processos de negócio, que pode ser operada a partir de um computador pessoal que possuir a mesma instalada. A figura 1 mostra como é composta a interface do Oracle Workflow Builder.
Figura 1 – Interface da Ferramenta Oracle Workflow Builder.
A interface principal do Oracle Workflow Builder é constituída por uma tela denominada Navigator formada por menus e botões de navegação rápida, e outra tela onde aparece o modelo que esta sendo desenvolvendo.
Para criar um modelo de processo de negócio é necessário ser criado um novo documento, sendo que o mesmo pode ser armazenado em uma pasta de trabalho ou diretamente no banco de dados. O modelo é composto por uma série de itens que serão detalhados a seguir:
- Atributo: no item atributo são inseridos todos os atributos propriamente ditos, que serão utilizados na construção do modelo dos sistemas de workflow como, por exemplo, variáveis do tipo data, texto, role, entre outros.
- Processo: lista as atividades do tipo processo. É uma macro-atividade composta por várias atividades.
- Notificação: neste item, armazena-se a lista de notificações associadas com o tipo de processo. Uma notificação serve para enviar uma mensagem para um usuário.
- Função: apresenta a lista de atividades do tipo função, associada com o tipo de processo. Uma função é um procedimento PL/SQL, que o Workflow executa automaticamente, durante sua execução.
- Evento: lista as atividades do tipo evento que estão associadas com o processo. Uma atividade do tipo evento representa um evento empresarial que o processo recebe;
- Mensagens: onde estão escritas todas as mensagens que uma atividade de notificação, associada com o tipo de processo, pode enviar a um usuário: e
- Lookup Types: são os tipos de resultado em ramificações, onde pode existir duas ou mais decisões a serem tomadas. Por exemplo, em uma solicitação de orçamento de serviço, uma pessoa é responsável por aprovar ou reprovar o mesmo.
Outra maneira de se criar um modelo, é utilizando o assistente Quick Start Wizard, acessado através do menu File na ferramenta Oracle Workflow Builder. Este facilita a criação de modelos, principalmente para usuários iniciantes, pois segue passo a passo à criação do modelo e requer um mínimo de informações necessárias sobre o processo.
O Quick Start Wizard inicia o modelo do processo, carregando um template, que traz uma série de objetos-padrão que são utilizados na construção do processo de Workflow.
Tendo-se em mente os conceitos de Workflow e conhecendo os processos que serão modelados, a ferramenta torna-se fácil de operar, pois é totalmente gráfica. É necessário apenas montar os modelos e o código, referente aos caminhos que o Workflow pode seguir, é gerado automaticamente pela ferramenta. Neste caso, apenas se torna necessária, na grande maioria dos processos, a criação manual de funções através de códigos PL/SQL que são interpretados pelo Banco de Dados Oracle. Posteriormente, pode-se acessar o resultado através de um Web Browser. A figura 3 apresenta um exemplo de uma lista de trabalho.
Figura 2 – Exemplo de Lista de Trabalho
Todos os itens citados anteriormente são componentes utilizados para gerar um processo de workflow, não sendo obrigatória a utilização de todos eles no mesmo processo, sendo que isto varia de acordo com o tamanho, tipo e caminhos que o processo pode seguir.
Completada a modelagem do processo, este pode ser submetido a uma validação, para verificar a existência de erros. Estando tudo correto o processo é salvo no Banco de Dados e já pode ser iniciada sua execução.


WORKFLOW MONITOR
Através da interface principal de funcionalidade de um processo (via Web Browser), é possível visualizar uma representação gráfica do estado corrente de um processo de Workflow à medida que este é iniciado e está em execução. Esta funcionalidade é chamada de Workflow Monitor.
O Workflow é uma ferramenta que permite visualizar e administrar o status de uma instância de processo do workflow. Clicando em um determinado item de trabalho na interface do workflow monitor tem-se a informação detalhada do status sobre cada atividade que está sendo executada no processo e sobre o processo como um todo.


ANEXO II
Tabela 2 – Códigos alterados na Package Body WF_INITIATE.
Código Original

select name,
display_name,
type,
subtype,
format,
text_default,
number_default,
date_default
from wf_item_attributes_vl
where item_type=Process.itemtype
order by sequence;

Código Alterado

select name,
display_name,
type,
subtype,
format,
text_default,
number_default,
date_default
from wf_item_attributes_vl
where item_type=Process.itemtype
and visível = 1
order by sequence;




ANEXO III
Figura 3 – Relatório de carros já reservados.



ANEXO IV
Tabela 3 - Procedimento PL/SQL que grava os pedidos de materiais enviados ao setor de estoque.

Create or Replace Procedure GravaPedido (
itemtype in varchar2,
itemkey in varchar2,
actid in number,
funcmode in varchar2,
resultout in out varchar2)
is
v_numpedido varchar2(30);
v_nomefunc varchar2(30);
v_itenspedido varchar2(100);
v_dtpedido date;
v_dtentrega date;
begin
v_numpedido := wf_engine.getitemattrtext( itemtype, itemkey, 'A_NUMPEDIDO' );
v_nomefunc := wf_engine.getitemattrtext( itemtype, itemkey, 'A_FUNCIONARIO' );
v_itenspedido := wf_engine.getitemattrtext( itemtype, itemkey, 'A_PEDIDO' );
v_dtpedido := wf_engine.getitemattrdate( itemtype, itemkey, 'A_DATA_PEDIDO' );
v_dtentrega := wf_engine.getitemattrdate( itemtype, itemkey, 'A_DATA_ENTREGA' );

if (funcmode = 'RUN' ) then
INSERT INTO tbpedido (numpedido, nomefunc, itenspedido, dtpedido, dtentrega)
values ( v_numpedido, v_nomefunc, v_itenspedido, v_dtpedido, v_dtentrega);
resultout := wf_engine.eng_null;
return;
end if;
end GravaPedido;

3 comentários:

Luis Fernando Scholles disse...

Mazah... esse guri vai longe! Muito bacana o artigo, parabéns!

RonaldScholz disse...

Vlew pela força. Esse artigo é muito importante e é sobre um tema pouco comentado no meio acadêmico.

Fica ai a sugestão para quem deseja dar continuidade neste trabalho.

RonaldScholz disse...

Segue link de outro trabalho o qual foi o meu inspirador para que eu desenvolvesse meu Trabalho de conclusão da Graduação sobre este tema.


http://www.caarq.com.br/textos/SistemaWorkflowEstudoImplantacao.doc