Requerimentos

Os principais requerimentos do sistema foram:

Fazer cadastro de pessoas
O sistema deveria fornecer uma interface de cadastro de pessoas.
Existe no sistema pessoas que têm o papel Gerenciador De Grupos autorizadas a: adicionar, remover e alterar dados das pessoas.
Além disso, qualquer pessoa poderia obter o seu cadastro via Web, sendo que neste caso, ela entraria no sistema com o papel Solicitante.
Fazer cadastro de solicitações
O sistema deveria fornecer uma interface de cadstro de solicitações.
Todo usuário cadastrado no sistema que possuir os papéis adequados, pode cadastrar uma solicitação.
Gerenciar o fluxo pelo qual uma solicitação passa dentro do NAEG
O sistema deveria permitir ao usuário, executar açôes que mudassem os estados das solicitações e, garantir que este fluxo 1 fosse uma execução do autômato( 2) definido.
Por exemplo: uma solicitação muda do estado Esperando Aceitação para Aceita quando um usuário realiza a ação Aceitar.
Autenticar usuários via login
Para ter acesso ao sistema o usuário precisa efetuar login, que é feito através de uma página web.
Autorização de usuários para a realização de ações
Para realizar uma determinada ação é preciso possuir permissão dada pelo nível de acesso.
Uma vez que a solicitação é cadastrada, ela passa por diversos estágios. Durante cada estágio, algumas ações podem ser executadas sobre a mesma. A fim de realizar estas ações, as pessoas precisam possuir determinados papéis. Por exemplo: para se definir a equipe que desenvolverá o projeto, é preciso possuir o papel Escalador de Equipe e, a solicitação precisa estar no estado2 Aceita.
A partir disso, observamos que a permissão para execução de ações sobre uma solicitação e/ou projeto depende tanto do seu estado quanto dos papéis do usuário.
Permitir filtros
Deveria existir alguma maneira do usuário filtrar as listagens por diversos campos, permitindo buscas exatas ou aproximadas.
Emitir notificações via e-mail
Notificações deveriam ser enviadas para determinadas pessoas quando alguns eventos ocoressem.
Por exemplo: quando uma pessoa é convocada a participar do desenvolvimento de uma solicitação, quando o pedido da solicitação é alterado, etc.
Restringir o acesso às solicitações
O NAEG possui alguns dados sigilosos, que não podem ser vistos e, muito menos alterados por qualquer um.
Assim, o acesso às solicitações deveria ser, de alguma maneira, restringido a certas pessoas.
Além disso, deveria existir um papel que tivesse permissão para configurar(dar ou retirar) os acessos.

Algumas nomenclaturas importantes:

Solicitação
Todo pedido que entra no NAEG é considerado uma solicitação.
Por exemplo: o professor Adilson Simonis solicita ao núcleo que uma certa pesquisa seja realizada.
Projeto
A partir do momento que a solicitação é completamente desenvolvida e, o resultado se torna de alguma
forma disponível ao solicitante, a mesma torna-se um projeto.


... fluxo1
Um fluxo, nada mas é que um passeio pelo grafo do autômato partindo-se do estado inicial.
O seguinte passeio: Esperando Aceitação, Rejeitada e Não existe mais é um exemplo de uma execução.
... estado2
Cada estado do autômato 2 possui um certo conjunto de transições. Por exemplo: no estado Esperando Aceitação existem as seguintes transições: Aceitar, Rejeitar e Analisar.
Fabio Pisaruk 2004-12-07