Requisitos do GoldenTrack
O GoldenTrack é um conjunto de programas, bibliotecas e outros componentes que permite a criação rápida, pela Light-Infocon, de sistemas de Controle de Tramitação de Processos. A palavra GT será utilizada tanto para se referir ao sistema de desenvolvimento (kit de desenvolvimento GoldenTrack - KDGT) bem como aos sistemas por ele gerados (Aplicação GoldenTrack - AGT). O sistema GT gerado permite não somente gerenciar a tramitação de processos mas também alguns dos documentos recebidos e emitidos em função da tramitação dos processos.
Observe que o sistema resultante permite acompanhar processos, mas os processos supõe-se que os processos em si continuam a tramitar fisicamente independentemente do GT.
Observe também que a criação do sistema final GT é feita pela Light-Infocon. Não se pretende neste momento criar um produto shrink-wrapped capaz de ser utilizado pelo cliente para configurar seu próprio sistema de controle de tramitação de processos.
Os objetos manipulados pelo GT e visíveis aos usuários finais são:
Cada um desses objetos é descrito mais detalhadamente adiante através da lista de seus atributos tais como vistos pelos usuários.
Este objeto mantém os dados cadastrais dos documentos, códigos de controle que digam respeito ao seu comportamento durante a tramitação, além de informações relativas aos encaminhamentos dados ao documento (se houver; por exemplo, há encaminhamentos para processos, talvez não para Documentos Emitidos). Os atributos deste objeto são:
Qualquer um dos campos acima poderá não ser incluído numa AGT final particular. Os objetos Processos, Documentos recebidos e Documentos emitidos deverão ser armazenados separadamente.
Este objeto mantém o histórico da tramitação dos documentos entre entidades cadastradas. A palavra trâmite refere-se a toda atividade desde a recepção de um documento numa entidade até sua saída para outra entidade. A palavra despacho refere-se ao preenchimento do campo de descrição. A palavra encaminhamento refere-se ao ato pontual de repassar o documento para outra entidade. Os atributos deste objeto são:
Este objeto mantém informações sobre os usuários habilitados a utilizarem o sistema GT. Os atributos deste objetos são:
Este objeto mantém dados cadastrais de responsáveis por entidades e operadores do sistema. Os atributos deste objetos são:
Este objeto mantém a descrição do modelo da organização, em termos de entidades que podem receber documentos. Os atributos deste objetos são:
É requisito deste objeto possuir facilidade para tratar o "mundo de fora", isto é, entidades que não estão diretamente sob controle da AGT.
O cadastramento deve permitir o preenchimento de todos os campos do objeto. Este preenchimento é manual em alguns casos, automático em outros (de acordo com uma fórmula de preenchimento). Máscaras devem ser aplicáveis a qualquer campo (menos imagem, documento, som). Valores iniciais devem ser possíveis para qualquer campo. Uma fórmula de validação pode se aplicar a qualquer campo (menos imagens, documento, som). Todas essas fórmulas poderão ser função do tipo de documento. Tabelas poderão ser aplicáveis a qualquer campo onde isso fizer sentido.
O Grupo de Cadastro deverá ser preenchido no cadastramento inicial e após qualquer modificação ao cadastro. Considera-se como única alteração qualquer modificação feita numa única sessão de uso da AGT, mesmo que o registro seja gravado várias vezes durante a sessão.
A ação de editar poderá alterar qualquer campo, com exceção do Grupo de Cadastro, o qual será preenchido automaticamente a cada alteração feita, e da data/hora de cadastramento que não pode ser alterado.
Como opção do sistema, poderá ser possível a inibição da edição dos campos após o encaminhamento inicial de um documento.
Esta ação afeta apenas o campo de status do documento. A ação diz mais respeito ao objeto Trâmites e será descrita adiante. O novo status do documento será aquele escolhido durante o trâmite, conforme descrito adiante. Várias restrições podem ser aplicadas ao encaminhamento.
Esta ação faz com que o documento atual seja anexado a outro documento. O outro documento deve ser informado. Um documento poderá ser anexado a apenas um (1) outro documento, mas vários documentos poderão ser anexados a um determinado documento. Vários tipos de anexos deverão ser possíveis. Cada tipo possui um nome particular e restrições. Por exemplo, deve ser possível definir a ação de "anexar" um processo a outro, "apensar" um processo a outro (permitindo a "desapensação"), juntar um documento recebido a um processo. Em outras palavras, cada sub-tipo de anexação possui um atributo de irreversibilidade (ligado/desligado), um nome particular (anexar, apensar, juntar, ...) e restrições sobre os tipos de documentos envolvidos. Enquanto um documento for anexado a outro, o documento original deixa de ter seus dados modificados, com a possível exceção de alterações de cadastro. Quando a operação de desapensação for possível, deverá estar disponível na interface do usuário. Neste caso, o documento original passa a ser de responsabilidade da entidade atual (que faz a desapensação). Um registro de trâmite deverá ser criado para o documento original indicando a anexação, desapensação, etc.
Um documento poderá migrar de uma base de dados para outra. Por exemplo, um documento recebido poderá "formar um processo". Neste caso, o documento original permanece na base original com indicação de que migrou para outra base, e indicando que novo documento foi criado. Na nova base de dados (recipiente), um cadastro de documento é simulado, transferindo (copiando) a informação de cadastro da base original para a nova. Restrições podem se aplicar sobre quais documentos poderão assim migrar e para onde.
Deverá ser possível navegar entre os documentos, visualizando as informações cadastrais. Certos campos poderão não ser vistos por determinadas pessoas, ou em determinados status (ou outro campo) do documento (confidencialidade). A navegação entre processos anexados/apensados/juntados/migrados deverá ser possível nos dois sentidos.
A pesquisa de documentos deverá ser possível por qualquer campo visível para o operador. Restrições de visibilidade podem existir conforme descrito na ação "Navegar". Pesquisas QBF e por sentença deve ser possíveis.
A remoção de um documento só será possível para usuários com permissão para tal, caso houver. A remoção deverá eliminar não somente o cadastro do documento bem como os trâmites a ele associados. A integridade referencial deverá ser mantida de forma que não seja possível remover documentos para os quais outros documentos (anexados, ...) fazem referência. A remoção deverá ser inibida neste caso ou todos os documentos associados deverão ser removidos.
Deverá ter recursos para as tarefas de administração tais como: reprocessar base, reindexar base, indexar base parcialmente, ligar/desligar indexação online. Deverá ser possível chamar um script de backup através da interface gráfica de administração. O script de backup poderá ser qualquer arquivo executável. Deverá ser possível repassar uma seleção de documentos para arquivo morto. Neste caso, o arquivo morto pode ser escolhido e criado caso não exista. A integridade referencial deve ser mantida (documentos que se referencia devem ser levados para o arquivo morto também) se possível. Se a lista de documentos selecionados não mantiver a integridade referencial, o operador deve ser informado do fato e indagado sobre a forma de prosseguimento.
Estas operações poderão aplicar-se a qualquer base de dados mantida pelo GT e este item não será mais mencionado abaixo.
O trâmite envolve dois lados. Quem está com o documento e faz o despacho e quem recebe o documento. A descrição que segue tem como ponto de vista o primeiro lado: aquele que "possui" o documento e deve fazer um despacho e encaminhar o documento para o destinatário.
Quando um documento é cadastrado, a entidade/pessoa responsável em primeira instância é automaticamente preenchida na base de dados de documentos. Este responsável poderia ser o "Protocolo" da empresa, por exemplo. Neste momento, nenhum registro de trâmite ainda foi gerado.
Enquanto um documento estiver num determinada entidade, esta poderá preencher o grupo multi-valorado de acompanhamento indicando mudanças de status e descrições associadas a essas mudanças de status do documento. As datas associadas serão preenchidas automaticamente. Qualquer repetição das descrições poderá ser editada a qualquer momento até que o documento seja encaminhado. O novo status poderá ser escolhido manualmente através de uma tabela ou de forma automática ao clicar em botões previamente definidos para este fim. Cada botão embute um novo status predefinido.
O despacho poderá ser preenchido por qualquer operador que tiver permissão para tal. O despacho poderá ser editado e salvo várias vezes até o documento ser encaminhado. Despachos não poderão ser editados após o encaminhamento do documento para outra entidade. O operador que efetuou o despacho deve ser gravado automaticamente.
As datas/horas de entrada e saída na entidade atual deverão ser mantidos automaticamente. A data/hora de entrada na próxima entidade é igual à data/hora de saída da entidade atual. O responsável pelo documento na entidade receptora é automático já que é um atributo da entidade. Cada entidade possui um único responsável (mesmo que vários operadores tenham poderes para tratar dos documentos desta entidade).
Caso o despacho esteja vazio, a AGT poderá ser configurada de forma a avisar o operador antes de efetuar o encaminhamento ou poderá também proibir tal encaminhamento.
O encaminhamento do documento implica em uma possível mudança de status. Este status poderá ser escolhido através de botões predefinidos ou manualmente através de uma tabela de status. O status final deve ser armazenado de forma a permitir a obtenção de um histórico completo das mudanças de status sofridas pelo documento.
Finalmente, a entidade destinatária deve ser escolhida pelo operador. Poderá haver restrições de destinatários possíveis dependendo do status do documento, da entidade atual, do tipo de documento, etc.
O operador que efetuou o encaminhamento deve ser gravado automaticamente.
Ao estar focado em um determinado documento, poderá ser apresentada a lista de todos os trâmites do documento de uma forma a facilitar a navegação entre trâmites e de forma a fornecer uma representação visual simples do histórico do documento. Deverá haver uma forma de "explodir" um trâmite particular e verificar todos os seus campos detalhadamente. A informação que poderá assim ser visualizada pode ter restrições devido a perfis de usuários, confidencialidade de documentos, etc. tal como no caso do cadastro de documentos descrito acima.
Deverá ser possível localizar documentos através da informação de seus trâmites, bem como posicionar-se em um determinado trâmite de uma lista através de operações de pesquisa em qualquer campo do documento ou dos trâmites.
Para facilidade de uso, as operações de anexação (dos vários tipos) e de migração de bases deverão gerar um registro de trâmite (quando o documento original estiver sob controle de tramitação).
A remoção de um trâmite não deve ser possível.
Operação normal de cadastro de informação. O nome de login não pode ser duplicado. A senha é obrigatória, deve ser mantida de forma criptografada, deve ter um mínimo de 6 caracteres, e um máximo de 32. Pode aceitar qualquer caractere não inibido pela representação interna da informação. A identificação do usuário pode permitir que um mesmo usuário tenha vários nomes de login para ter perfis de segurança diferentes. A informação de segurança e de perfil de usuário é detalhada em outra seção. Apenas um operador com poderes de cadastramento pode cadastrar algum operador e ele só poderá fornecer um perfil de segurança "menor ou igual" ao seu. Ao alocar o perfil de segurança, o operador poderá escolher entre tipos de usuários com permissões pré-definidas, ou poderá ligar/desligar cada bit da máscara de segurança individualmente (sempre respeitando o fato de que não se pode atribuir poderes a um novo usuário que o operador não tenha).
Permite alterar o cadastro de usuários. As mesmas restrições de segurança mencionadas na ação de "Cadastrar" se aplicam. O operador em si poderá consultar o seu próprio cadastro, mudar sua senha e seu perfil de usuário (preferências). Alguma identificação única atribuída ao operador nunca poderá ser modificada, no sentido de manter a identificação de operadores usada em outras bases de dados constante com o tempo.
A remoção de um operador só deverá ser possível caso a integridade referêncial dos dados da AGT possam ser mantidos. Caso seja inviável por uma questão de desempenho, a remoção não deverá ser possível.
A operação de login serve como ponto de identificação e autenticação (via senha) do operador. O perfil de preferências e de segurança do operador devem ser obedecidas. As permissões finais alocadas ao operador são um AND bit-a-bit das permissões do operador e da entidade que ele representa no momento.
Uma operação de relogin deve ser possível enquanto o operador estiver usando a AGT de forma a poder ganhar permissão para uma determinada operação. O contexto inteiro é mantido (levando em conta as restrições de segurança do novo operador).
Cadastro normal de usuários com operações de cadastro, edição. A remoção só deve ser possível caso a integridade referencial dos dados da AGT possa ser mantida.
Operação normal de cadastro de informação. O nome da entidade não pode ser duplicado. A informação de segurança e de perfil de usuário é detalhada em outra seção. Apenas um operador com poderes de cadastramento pode cadastrar alguma entidade e ele só poderá fornecer um perfil de segurança "menor ou igual" ao seu. Ao alocar o perfil de segurança, o operador poderá escolher entre tipos de entidades com permissões pré-definidas, ou poderá ligar/desligar cada bit da máscara de segurança individualmente (sempre respeitando o fato de que não se pode atribuir poderes a um novo usuário que o operador não tenha).
A informação de hierarquia deverá possuir uma forma de especificação simples e abrangente (sem limite de hierarquia horizontal ou verticalmente).
Permite alterar o cadastro de entidades. As mesmas restrições de segurança mencionadas na ação de "Cadastrar" se aplicam. Alguma identificação única atribuída à entidade nunca poderá ser modificada, no sentido de manter a identificação de entidades usada em outras bases de dados constante com o tempo.
A remoção de uma entidade só deverá ser possível caso a integridade referêncial dos dados da AGT possam ser mantidos. Caso seja inviável por uma questão de desempenho, a remoção não deverá ser possível. Apenas folhas da hierarquia podem ser removidas.
Deve haver uma forma visualmente simples de escolher uma entidade da hierarquia no momento do encaminhamento.
A qualquer momento após o login, o operador poderá escolher representar qualquer entidade para a qual tenha este direito.
A AGT final permite desempenhar as ações especificadas acima. Entretanto, determinadas restrições (ou direcionamento) de comportamento devem ser possíveis de forma a permitir configurar a AGT para as necessidades do cliente. Esta seção lista os requisitos de restrições de comportamento que devem ser possíveis na AGT. Nenhuma consideração de segurança é feita aqui (vide outra seção adiante).
No sentido de controlar o acesso aos dados da AGT pelos operadores através das opções disponíveis, as seguintes permissões de acesso devem ser controladas ortogonalmente (com 1 bit par cada permissão):
Máscaras de permissões são associadas a entidades e a operadores. A entidades já que é normal que todos os que representem uma entidade tenham os poderes desta e a operadores porque casos especiais devem ser tratados. As permissões finais alocadas ao operador são um AND bit-a-bit das permissões do operador e da entidade que ele representa no momento.
Não há noção de "dono" de um documento de forma que as permissões de acesso dão (ou não) permissão para todos os documentos.
Perfis de permissão já prontos podem ser criados a a atribuição de permissões a uma entidade ou operador pode referenciar tais perfis já elaborados.
A AGT possui um conjunto inicial de operadores já cadastrados com nomes e permissões informadas pelo cliente. Não há nocção de super-usuário com permissões completas, a não ser que o cliente assim o queira.
Ao entrar na AGT, uma pessoa deve fazer login, identificando-se como operador e fornecendo a senha correta. Este operador jé estará representando uma entidade inicial (configurável pelo operador) e receberá as permissões apropriadas à combinação operador/entidade. A interface deverá permitir que o operador faça um novo login ou mude a entidade representada sem sair da aplicação.
As bases de dados poderão ser criptografadas a pedido do cliente. As senhas deverão ser mantidas de forma criptografada, mesmo que as bases de dados não sejam criptografadas.
Para cada operador/entidade, a navegação ou pesquisa será sujeita a duas sentenças de pesquisa cadastradas para o operador e para a entidade. Isto permite limitar o tipo de documento acessível pelo operador. Esta sentença de pesquisa de filtragem poderá ser modificada por qualquer operador que tenha poderes de cadastro de operadores e/ou entidades.
O uso do LBW "por fora" não poderá permitir furar as regras de segurança aqui definidas. Este requisito poderá não ser cumprido na primeira versão do produto, até que o uso "por fora" do LBW seja completamente eliminado. Quando isso for atingido, apenas a LISA poderá acessar as bases "por fora", a pedido do cliente. Este estágio será possível apenas quando a robustez do GT ficar comprovado.
Enquanto o LBW for usado por fora, a combinação usuário/senha para o LBW deverá ser diferente (único) para cada cliente.
Qualquer alteração de dados poderá ser auditada utilizando o log de transações mantido pela AGT (ver requisitos de robustez, abaixo).
Relatórios padronizados devem existir para imprimir as bases cadastrais de usuários, operadores e entidades.
Relatórios definidos pelo cliente devem estar disponíveis. Na primeira versão do produto, relatórios adicionais poderão ser definidos pelo usuário utilizando o módulo de relatórios do LBW apenas. A lista de relatórios disponíveis deverá incluir todos os relatórios.
Relatórios devem consistir de um layout (LBW), e uma sentença de pesquisa, a qual poderá permitir a entrada de dados por aprte do operador (datas, por exemplo).
Os seguintes itens devem ser configuráveis. Quando aparece "configurável por KDGT", significa que o usuário não tem que ter poder de mudança sobre este item. Muitos desses itens poderão ser configuráveis pelo cliente em versões futuras. É aceitável que a primeira versão deixe o cliente configurar esses itens.
Item |
Configurável por |
Campos e grupos de campos da base de documentos (processos, documentos recebidos e documentos emitidos) |
KDGT |
Formatação, validação, valores iniciais e fórmulas de preenchimento dos campos de qualquer base |
KDGT |
Campos e grupos de campos da base de trâmites |
KDGT |
Campos e grupos de campos da base de operadores |
KDGT |
Campos e grupos de campos da base de pessoas físicas |
KDGT |
Campos e grupos de campos da base de entidades |
KDGT |
Escolha dos campos indexados e dos tipos de indexação |
KDGT |
Definição e conteúdo das tabelas rápidas e tabelas externas |
KDGT |
Opção de inibição de campos de cadastro de documento após o encaminhamento inicial |
KDGT |
Definição dos nomes de estados do documento |
KDGT |
Definição dos sub-tipos de anexação de documentos |
KDGT |
Definição de visibilidade de campos por pessoa, status, etc. |
KDGT |
Definição do script de backup |
KDGT |
Definição de botões para o novo status do documento no acompanhamento do documento |
KDGT |
Opção de inibir ou avisar sobre despachos vazios durante o encaminhamento |
KDGT |
Definição de botões para o novo status do documento no encaminhamento |
KDGT |
Restrições de destinatários possíveis durante o encaminhamento |
KDGT |
Definição de que tipos de documentos (processos, docs recebidos e enviados) estarão sujeitos a trâmites |
KDGT |
Definição de perfis de segurança prontos |
KDGT |
Preferências de interface de operadores |
Qualquer operador, para seu próprio perfil |
Conteúdo das bases de pessoas físicas, operadores, entidades |
Qualquer operador com permissão para tal |
Definição das regras de migração de documentos |
KDGT |
Restrições de destino de um trâmite |
KDGT |
Permissões de segurança de operadores e entidades |
Qualquer operador com permissão para tal |
Operadores inicialmente cadastrados |
KDGT |
Flag de bases criptografadas ou não |
KDGT |
Sentenças de pesquisa para filtrar a navegação e pesquisa de operadores |
Qualquer operador com permissão de cadastro |
Usuário e senha do usuário LBW utilizado (único para cada AGT) |
KDGT |
Conteúdo de algumas tabelas |
Qualquer usuário que possa acessar as bases usando o LBW |
Relatórios padronizados |
KDGT |
Relatórios pedidos pelo cliente |
KDGT |
Relatórios adicionais |
Qualquer usuário com posse do nome/senha do usuário LBW e capaz portanto de acessar o módulo de relatórios LBW |
Windows, ambiente de 32 bits. Versões rede multiusuário e cliente/servidor. Servidor apenas para Windows NT. Não há necessidade de suporte para ambiente Windows 3.11. Soluções com browsers WWW poderão permitir independência de plataforma do lado cliente.
Marcus: Importante: reexaminar os requisitos da PGFN, UnB, PGE/SP e Infraero para verificar se nossos requisitos aqui vão atender todos os requisitos desses clientes.