Durante diversas reuniões com diretores e coordenadores da CECAE, os seguinte requerimentos foram coletados:
- Permitir, via web, os seguintes cadastros:
- Pessoas.
- Projetos.
- Programas.
- Tópicos e mensagens.
- Fichas.
- Permitir a criação de um fluxo de tarefas para cada projeto/programa.
- Controlar permissões e acessos.
- Permitir a criação de fichas dinâmicas para cada tarefa.
- Permitir o envio de arquivo a cada uma das execuções de tarefa.
- Notificações, via e-mail, geradas por certas ações tomadas no sistema.
Antes de prosseguirmos, vamos explicar alguns conceitos:
- Programa versus Projeto
- A CECAE possui programas e projetos sendo que diferem entre si principalmente no que diz respeito à duração: o primeiro possui longa duração enquanto o segundo não. Existem outras diferenças conceituais e de hierarquia entre eles mas, grosso modo, esta é a grande diferença.
Por exemplo: existe o programa Disque Tecnologia que, grosso modo, funciona como um serviço de tira-dúvidas.
- Fluxo de tarefas
- Tanto programas quanto projetos, possuem um fluxo de tarefas que pode ser visto como um autômato13.
Por exemplo: imagine que exista um projeto que trata da construção e venda de uma casa.
Para construir uma casa, diversas tarefas devem ser realizadas: procurar terreno, comprar terreno, desenhar planta, cotar material, comprar material, alocar pessoal, construir, demolir e vender. É fácil notar que essas tarefas devem ser realizadas numa certa ordem. Neste exemplo simples, também notamos que a execução de uma tarefa pode levar a execução de uma tarefa anterior, por exemplo: imagine que a casa esteja com vazamentos, neste caso, seria necessário demolir, cotar material, comprar material, alocar pessoal e construir novamente a casa.
Figura 3:
Exemplo de um autômato de tarefas para a construção e venda de uma casa
![\includegraphics[scale=0.6]{figuras/construcao}](img3.png) |
- Tarefa versus Execução
- Uma tarefa é um modelo que deve ser executado. Por exemplo: suponha que exista uma tarefa chamada Atender Telefone e que ela possua os seguintes campos na sua ficha: nome de quem ligou e dúvida. Cada vez que uma pessoa atender ao telefone ela estará executando esta tarefa e, preenchendo a ficha com dados diferentes. Cada uma destas instâncias, criada usando-se a tarefa como modelo, é uma execução.
Figura 4:
Exemplo de execuções da tarefa Atender Telefone
![\includegraphics[scale=0.5]{figuras/tarefaVSexecucao}](img4.png) |
- ... autômato13
- Semelhanças com o MetaNaeg não são meras coincidência. Lembre-se que fui convocado a construir um sistema similar ao MetaNaeg
Fabio Pisaruk
2004-12-07