1. Resumo
O projeto descreve a implementação, de um software de gerenciamento de processos de negócio (BPM, Business Process Management), utilizando JBPM. JBPM é uma framework¹ desenvolvida pela Jboss, para prover, linguagem de modelagem (jpdl e bpmn), estrutura para gerenciamento, automatização e workflow² de processos de negócio. Um processo de negócio é uma sequencia de atividades previamente estabelecidas pela empresa, com a finalidade de definir como é realizado determinado trabalho. A gerencia de processos de negócio é uma ferramenta para criar, controlar, analisar e melhorar processos. Para o melhor desenvolvimento do software será feito documentação UML, como diagramas de classe, de atividade, de status, casos de uso. O software possibilitará que os processos sejam gerenciados por uma página da web, com controle de acesso por usuário. Auxiliará no nível estratégico da empresa a descobrir falhas ou gargalos no processos, como qual setor ou pessoa entrava o processo e com que frequência.
2. Motivação
A motivação para construção deste sistema vem da necessidade crescente que as empresas tem de informatizarem seus processos. Colocar em prática conhecimentos adquiridos no decorrer do curso para desenvolvimento de um sistema que possa facilitar o dia-a-dia das empresas, auxiliando-as a ter maior eficacia em seus processos.
3. Objetivos Objetivo principal do sistema será promover auxilio ao ciclo de vida de processos de negócio.
Objetivos do sistema: 1.Facilitar o controle dos processos de negócio. 2.Disponibilizar a gestores estatísticas. 3.Possibilitar a regulamentação de fluxo para determinado processo. 4.Facilitar adaptação de novos funcionários aos processos da empresa. 5.Ser base histórica para resultados de determinadas atividades. 6.Diminuir a quantidade de documentos físicos na empresa. 7.Aumentar a velocidade de tramitação de processos na empresa.
Objetivos de implementação: 1.Criar documentação e modelagem do sistema com UML (diagramas de classe, atividade, sequencia, status, casos de uso). 2.Criar banco de dados (tabelas, triggers, views). 3.Criar regras de negócio e controladores em java (beans, entities, servilets) 4.Criar visualização utilizando Java Server Faces (paginas dinâmicas web para inserir, editar, atualizar, deletar, consultar). 5.Criar relatórios utilizando iReport (impressão de processos, de cadastros, estatísticas). 6.Criar um controle de acesso por usuário.
4. Metodologia, com indicação de recursos de hardware e de software
Serão utilizadas as seguintes metodologias: Unified Modeling Language (UML) Utilizarei esta linguagem de modelagem de dados, pois com ela é fácil especificar, documentar, descrever a lógica para o desenvolvimento. Segundo Ahmed em Desenvolvendo aplicações comerciais em Java com J2EE e UML, a UML tem as ferramentas necessárias para o desenvolvimento de sistemas complexos e pode facilmente representar estruturas para java.
Model-view-controller (MVC) Devido a complexidade do trabalho proposto utilizarei esta arquitetura dividindo a codificação em camadas (modelo, visão e controladores). Modelo: representação das entidades do sistema, como usuário, processo e documento, entre outros. Visão: paginas que representam a interface com o usuário, como cadastro de usuários. Controle: codificação das regras de negócio, validação de dados e faz a ligação entre a visão e o modelo.
Servidor de aplicação e web Para implementação do sistema será necessário um servidor de aplicação e web. Java especifica uma arquitetura para este fim, Java 2 Enterprise Edition (J2EE). Banco de dados Para armazenamento de dados será utilizado banco de dados relacional, utilizarei o banco MySQL.





