Requisitos do GoldenTrack

  1. Sinopse do Sistema
  2. 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.

  3. Requisitos Funcionais
    1. Os objetos manipulados e seus atributos

Os objetos manipulados pelo GT e visíveis aos usuários finais são:

  1. Processos
  2. Documentos recebidos
  3. Documentos emitidos
  4. Trâmites (para cada um dos objetos acima)
  5. Operadores do sistema
  6. Pessoas físicas
  7. Entidades

Cada um desses objetos é descrito mais detalhadamente adiante através da lista de seus atributos tais como vistos pelos usuários.

      1. Processos/Documentos recebidos/Documentos emitidos

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:

  1. Tipo do documento. Este campo é necessário para que o GT possa formatar outros campos com a máscara correta, validar esses outros campos. Além do mais, regras de encaminhamento ou outros comportamentos do GoldenTrack poderão depender do tipo de documento.
  2. Código do documento no cliente. Sua formatação, validação, etc., podem depender do tipo de documento.
  3. Status atual do documento.
  4. Confidencialidade do documento. Este campo significa que algum grau de confidencialidade existe para o documento. As regras exatas de confidencialidade estão definidas adiante.
  5. Nome e Organização do remetente do documento. Este campo indica a identidade da pessoa que introduziu o documento na área de atuação do sistema.
  6. Nome e organização do emitente do documento (quem assinou o documento).
  7. Nome e organização do interessado. Campo multivalorado. Poderá ser um grupo e ter outras informações adicionadas ao grupo (campos definidos para a AGT particular).
  8. Data do documento. Indica a data de emissão impressa no documento.
  9. Data e hora de recebimento. Data e hora do recebimento do documento.
  10. Data e hora de cadastramento. Data e hora do cadastramento do documento.
  11. Assunto. Curta descrição (uma linha) do documento.
  12. Descrição. Campo documento descrevendo o documento.
  13. Grupo de cadastro. Pessoa que se identificou junto ao sistema e cadastrou o documento ou alterou este cadastro, além da data e hora do cadastro/alteração.
  14. Outras informações de natureza particular ao sistema final gerado mas que não precisam ser de conhecimento do GT. Tais informações podem ser usadas pelo usuário para fins de pesquisa, emissão de relatórios, etc. O módulo básico do GT não utiliza tais informações para o controle da aplicação. Essas informações poderão pertencer a um grupo formados por outros campos.

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.

      1. Trâmites

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:

  1. Origem. Entidade e pessoa que encaminhou o documento para a entidade atual.
  2. Responsável pelo despacho do documento na entidade atual.
  3. Destino. Entidade e pessoa para a qual o documento foi encaminhado após o despacho objeto deste trâmite.
  4. Data e hora de entrada na entidade atual.
  5. Data e hora de saída da entidade atual.
  6. Descrição. Descrição do despacho recebido na entidade atual.
  7. Grupo multivalorado de acompanhamento. Novos status/data/descrição do documento durante trâmite. Isto permite acompanhar mudanças de status enquanto o processo estiver numa determinada entidade. Exemplo: Aguardando Senado, Aguardando BACEN, ...
  8. Operador que efetuou o encaminhamento.
  9. Operador que efetuou o despacho.
  10. Outras informações de natureza particular ao sistema final gerado mas que não precisam ser de conhecimento do GT.

      1. Operadores do sistema

Este objeto mantém informações sobre os usuários habilitados a utilizarem o sistema GT. Os atributos deste objetos são:

  1. Nome de login
  2. Senha de acesso
  3. Identificação deste operador no cadastro de usuários
  4. Informação de segurança indicando para que entidades este operador pode responder e que ações ele pode realizar.
  5. Informação de perfil de usuário detalhando as preferências deste operador em termos de interface visual, etc.
  6. Outras informações de natureza particular ao sistema final gerado mas que não precisam ser de conhecimento do GT.

      1. Pessoas físicas

Este objeto mantém dados cadastrais de responsáveis por entidades e operadores do sistema. Os atributos deste objetos são:

  1. Nome completo
  2. Telefone
  3. Email
  4. Número de identificação (CPF, matrícula, ...)
  5. Outras informações de natureza particular ao sistema final gerado mas que não precisam ser de conhecimento do GT.

      1. Entidades

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:

  1. Nome da entidade
  2. Identificação da pessoa que está associada à entidade. Pode ser vazio.
  3. Códigos de controle de acesso para a entidade. O controle de acesso da entidade é colocado aqui, porque na maioria das vezes as permissões de acesso de uma pessoa estão associadas diretamente ao seu cargo ou função dentro da organização.
  4. Identificação do posicionamento da entidade dentro do modelo hierárquico que descreve a organização.
  5. Outras informações de natureza particular ao sistema final gerado mas que não precisam ser de conhecimento do GT.

É requisito deste objeto possuir facilidade para tratar o "mundo de fora", isto é, entidades que não estão diretamente sob controle da AGT.

    1. As ações sobre os objetos
      1. Processos/Documentos recebidos/Documentos emitidos
          1. Cadastrar
          2. 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.

          3. Editar
          4. 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.

          5. Encaminhar
          6. 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.

          7. Anexar
          8. 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.

          9. Migrar
          10. 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.

          11. Navegar
          12. 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.

          13. Pesquisar
          14. 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.

          15. Remover
          16. 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.

          17. Administrar

        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.

      2. Trâmites
      3. 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.

          1. Cadastro do primeiro responsável
          2. 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.

          3. Acompanhar
          4. 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.

          5. Despachar
          6. 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.

          7. Encaminhar
          8. 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.

          9. Navegar
          10. 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.

          11. Pesquisar
          12. 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.

          13. Anexar, Migrar
          14. 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).

          15. Remoção

        A remoção de um trâmite não deve ser possível.

      4. Operadores do sistema
          1. Cadastrar
          2. 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).

          3. Editar
          4. 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.

          5. Remover
          6. 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.

          7. Login
          8. 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.

          9. Relogin

        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).

      5. Pessoas físicas
      6. 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.

      7. Entidades
          1. Cadastrar
          2. 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).

          3. Editar
          4. 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.

          5. Remover
          6. 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.

          7. Escolha da entidade para despacho
          8. Deve haver uma forma visualmente simples de escolher uma entidade da hierarquia no momento do encaminhamento.

          9. Mudança de entidade representada

      A qualquer momento após o login, o operador poderá escolher representar qualquer entidade para a qual tenha este direito.

    2. As restrições de comportamento da AGT

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).

  1. Máscaras, valores iniciais e fórmulas de validação de campos devem ser variáveis e podem depender do valor de outros campos.
  2. Confidencialidade. Vários tipos de confidencialidade podem ser definidos. Um tipo de confidencialidade consiste de uma sequência de restrições de visualização de campo. Um item desta sequência é formado por um nome de campo e de uma fórmula booleana que indica se o campo é visível ou não. A fórmula pode fazer deferência a valores de campos deste documento e pode também utilizar a identificação do operador ou de quem o operador representa. Por exemplo, para esconder o "relator" de um processo até o processo estar "CONCLUIDO", exceto para o próprio relator (ou seu operador representante), bastaria uma regra de confidencialidade com um único item dizendo: relator, se Status eq "CONCLUIDO" or Entity eq "PROCURADORIA" then TRUE else FALSE. Neste caso, "Entity" é o nome (ou outra identificação) da entidade que o operador representa e é a entidade do relator.
  3. Opção para inibir a edição do cadastro de um documento após seu encaminhamento inicial.
  4. Anexação de documentos. Deve ser possível definir vários tipos de anexações e, para cada um, dizer se é reversível ou não e indicar de que bases de dados e que tipos de documentos podem estar envolvidos em cada lado da transação. Isto pode ser feito através de uma fórmula booleana, desde que se possa acessar os campos de cada documento envolvido, além dos nomes das bases em que estão.
  5. Migração de documentos. Deve haver uma fórmula booleana indicando se esta migração é possível em função dos campos do documento sendo migrado e da base onde está indo. Também deve-se informar usando alguma sintaxe como os campos são copiados do documento para formar o outro.
  6. O destino de um trâmite deve ser passível de restrição. A escolha do destino é feito a partir de uma lista que é um sub-conjunto de todas as entidades possíveis. Deve ser possível definir que sub-conjunto é este através de uma ou mais fórmulas ou outra técnica que permita referenciar os valores dos campos do documento. Caso haja um único destino na lista gerada, o destino pode ser preenchido automaticamente.
  7. A lista de novo status possível para um documento durante o acompanhamento ou o encaminhamento deve ser passível de restrição através de fórmula ou outra técnica que permita referenciar os campos do documento. Caso haja um único status na lista gerada, o novo status pode ser preenchido automaticamente.
  8. Opção de proibição de encaminhamento com despacho vazio.

  1. Requisitos de Segurança
    1. As permissões de acesso aos dados

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):

  1. Cadastrar processo (também permite a criação de um processo através da migração de um documento de uma outra base).
  2. Editar cadastro de um processo
  3. Anexar/desanexar processo
  4. Navegar/pesquisar processos e/ou trâmites
  5. Remoção de documentos
  6. Administrar o sistema (para todas as bases), dando direito apenas às operações descritas acima na ação "Administrar".
  7. Acompanhar um documento
  8. Despachar um documento
  9. Encaminhar um documento
  10. Cadastrar/editar/remover o cadastro de um operador
  11. Cadastrar/editar/remover o cadastro de um usuário
  12. Cadastrar/editar/remover o cadastro de uma entidade

    1. A atribuição de permissões
    2. 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.

    3. A identificação de um usuário
    4. 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.

    5. Outros requisitos de segurança

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).

  1. Requisitos de Interface

  1. Deve existir uma única aplicação principal de uso e uma única aplicação principal de administração.
  2. A interface deve usa o paradigma objeto/verbo. A interface é portanto centrada no objeto (documento). Após a escolha de um documento, a operação a ser feita pode ser escolhida.
  3. A informação importante deve sempre ser visível.
  4. Deve ser fácil de enxergar: o cadastro completo do documento, o histórico completo do documento, e os despachos do documento. Não deve haver necessidade de "chavear" entre janelas para enxergar tais coisas. Se diversas janelas forem utilizadas, o posicionamento e tamanho das janelas deve ser salvo para cada usuário no sentido de manter os últimos valores usados.
  5. Quando focado num documento, as ações disponíveis devem estar claras na tela. Ações não disponíveis devem estar em cinza (desabilitadas).
  6. Cada usuário pode ter um perfil que define preferências de interface.
  7. A visão dos documentos deve se apoiar numa visão "browse", com os campos mostrados configuráveis.
  8. Um duplo clique em qualquer objeto em visão browse deve fornecer detalhes explodidos sobre o mesmo. Mais de um documento pode ser explodido desta forma e visto simultaneamente em janelas separadas.
  9. Deve haver uma forma visual (utilizando ordem e cores) de observar a prioridade de um documento.
  10. A entidade receptora de um documento deve ser escolhida usando uma hierarquia graficamente visualizada.
  11. O LBW pode ser utilizado para cadastrar pessoas, entidades, etc.
  12. As operações de acesso ao clipboard devem sempre estar disponíveis.
  13. Erros que ocorram durante a execução da aplicação devem indicar claramente o que está ocorrendo e fornecer dicas para a solução. Erros muito genéricos do tipo "Não abri arquivo" não devem existir.
  14. Help online deve estar disponível.
  15. Em qualquer campo que referencie um processo, deve ser possível efetuar uma pesquisa e utilizar drag-and-drop para preencher o campo de referência ao processo.

  1. Recursos de Impressão e de Relatórios
  2. 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).

  3. Requisitos de Configurabilidade
  4. 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

     

  5. Requisitos de Robustez

  1. Um log total de transações deve ser mantido de forma a permitir reconstruir o estado de uma base de dados a partir do último backup. O log será comprimido e guardado num diretório para este fim no final de toda operação de backup bem sucedida. A descompressão dos dados será possível através de um utilitário fornecido pela LISA. A compressão e descompressão utilizarão utilitários fornecidos pela LISA e poderão ser (ou não) de domínio público. O formato final de compressão deverá seguir o padrão zip.
  2. Deverá ser possível mudar a AGT do cliente, a pedido dele ou da LISA, sem afetar os dados do cliente.

  1. Requisitos de Desempenho

  1. Bases de até 100.000 documentos.
  2. Abertura da aplicação em menos de 15 segundos em rede local e em menos de 30 segundos em ambiente cliente/servidor com conexão limpa de 14.400 bps.
  3. Qualquer operação (mudança de dados, pesquisa, encaminhamento, etc.) realizada em menos de 5 segundos em rede local e em menos de 15 segundos em ambiente cliente/servidor com conexão limpa de 14.400 bps.

  1. Requisitos de Plataformas e Disponibilização
  2. 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.

  3. Requisitos de Integração com Outros Ambientes

  1. A disponibilização do AGT via browser WWW não será necessária na primeira versão mas a arquitetura do produto deverá considerar que este requisito aparecerá logo no futuro.
  2. Várias instâncias de AGT (com bases diferentes) devem ser possíveis na mesma máquina. Não há necessidade da aplicação oferecer meios de escolher entre as instâncias.
  3. Deve ser possível executar o LBW em paralelo com AGTs na mesma máquina. O LBW poderá ser utilizado por outras aplicações que nada tenham a ver com o GT.

  1. Requisitos do Kit de Desenvolvimento GoldenTrack

  1. Idealmente, uma AGT de um determinado cliente deverá ser descrita por um único arquivo texto. O processamento deste arquivo por uma aplicação de geração de AGT produzirá a AGT particular.
  2. Deverá ser possível aplicar uma mudança deste arquivo gerando uma nova AGT sem perder os dados presentes nas bases do cliente. A importação/exportação de dados do cliente para efetuar mudancas da AGT só deverá ser utilizada em última instância, para modificações profundas.
  3. Reusabilidade. O KDGT deve ser implementado de tal forma a manter seu código inalterado para todos os sistemas finais gerados. Toda característica particular de um sistema final gerado deverá ser alcançada através de parametrização, ganchos e derivação dos componentes do KDGT.
  4. Expansibilidade. Toda característica particular de um sistema final gerado que não puder ser implementada a priori pelo KDGT deverá gerar modificações genéricas ao KDGT de forma a manter os requisitos de reusabilidade mencionados acima. Em outras palavras, o KDGT deve crescer com o desenvolvimento de sucessivos sistemas finais.
  5. Evolução do LBW priorizada. Todo requisito técnico do GT não presente pelo LBW deverá ser implementado prioritariamente com mudanças ao LBW de forma a sempre evoluir o produto LBW e não escrever código particular para o GT.
  6. Tecnologias de implementação. As seguintes tecnologias de implementação deverão ser consideradas como prioritárias, por permitirem maior rapidez, melhor integração com sistemas de terceiros e facilidade de disponibilização via browser WWW: VB, Activex, Java.

  1. Requisitos Futuros

  1. Integração da AGT com e-mail de forma a poder disparar mensagens de e-mail pela AGT de forma automática.
  2. Integração de AGT, mesmo para diferentes clientes, no melhor nível possível.
  3. Acesso a informação segmentada fisicamente (por ano, por exemplo) de forma transparente para o usuário. Assim, pode-se ter a informação de 1996 separada da informação de 1997 mas ainda manter o acesso a todos os dados a partir da AGT.
  4. Pesquisa com refinamento

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.