Para uso do Bw- Construindo

De BISAWiki

(Diferença entre revisões)
(Fluxos de exceção)
Linha 149: Linha 149:
• E2: se o sistema não estiver disponível, uma mensagem será exibida informando que o serviço não está disponível e que o usuário deve tentar acessá-lo mais tarde;<br>
• E2: se o sistema não estiver disponível, uma mensagem será exibida informando que o serviço não está disponível e que o usuário deve tentar acessá-lo mais tarde;<br>
• E3: se o resultado da busca retornar vazio, uma mensagem será exibida informando ao usuário que não existe dados referentes à consulta realizada.<br>
• E3: se o resultado da busca retornar vazio, uma mensagem será exibida informando ao usuário que não existe dados referentes à consulta realizada.<br>
 +
 +
=[RF003] Geração de boletos=
 +
===Atores relacionados===
 +
Usuário externo, Filiado FETAPE e Funcionário FETAPE.
 +
 +
===Objetivo===
 +
Gerar registros de boletos no banco de dados para impressão. Não constitui a impressão do boleto em si.
 +
 +
===Prioridade===
 +
Essencial.
 +
 +
===Entradas e pré condições===
 +
'''Entradas:''' filiado(s)/usuário(s), banco, data de vencimento, modelo da guia, nosso número inicial, valor e instruções.
 +
'''Pré-condições:''' usuário logado no sistema; sindicatos e filiados armazenados no banco de dados.
 +
 +
===Saídas e pós-condições===
 +
'''Saídas:''' mensagem de aviso de sucesso da operação.
 +
'''Pós-condições:''' registro dos boletos inseridos no banco de dados.
 +
 +
===Fluxo principal de eventos===
 +
1. Usuário Externo e Filiado FETAPE: usuário clica no botão Gerar Boletos. Se o usuário estiver com o status óbito, não será gerado boleto. Funcionário FETAPE: funcionário seleciona uma quantidade de filiados na tela de Listagem de Filiados e clica no botão Gerar Boletos. Os filiados com o status “óbito” nunca serão carregados;
 +
2. Sistema carrega o(s) usuários(s)/filiado(s) selecionados com seus respectivos dados (E1, E2, E3, E4);
 +
3. Uma janela é aberta perguntando se o usuário deseja imprimir boletos referentes a Contribuição Sindical e Contribuição Confederativa (2 check boxes);
 +
4. Uma tela é aberta onde o usuário informa os dados (banco, data de vencimento, modelo da guia, nosso número inicial, valor e instruções) para os boletos. Usuário confirma a operação;
 +
5. Sistema valida os dados inseridos pelo usuário e os dados obrigatórios para emissão de boleto (E5, E6);
 +
6. Sistema gera os boletos e os armazena no banco de dados com o status “gerado” (E7). O sistema deverá verificar se o número de boleto que ele irá gerar existe em algum intervalo na tabela de boletos avulso. Se existir, ele deverá gerar um próximo número que não esteja em um intervalo desta tabela;
 +
7. Sistema insere os registros de log da situação dos boletos no banco remoto com a justificava “gerado a partir da função de geração de boleto pelo usuário X:Y”, onde X corresponde ao login do funcionário e Y corresponde ao seu nome;
 +
8. Sistema exibe mensagem confirmando o sucesso na geração dos boletos e perguntando se o usuário deseja fazer a impressão dos mesmos;
 +
9. Se o usuário responder que sim, a janela de impressão padrão da funcionalidade imprimir é aberta. Includes [RF004].
 +
 +
Filiado FETAPE
 +
Este usuário também terá acesso à rotina de CANCELAMENTO do boleto, que consiste meramente na exclusão do mesmo da base de dados. Vale salientar que devem ser efetuados os devidos registros no log do sistema seguindo o padrão supracitado, assim como devem ser atendidos os seguintes fluxos de exceção:
 +
1. Se o boleto possuir o status “pago”, “impresso” ou “enviado” (para o banco), o cancelamento não será permitido. O sistema exibirá uma mensagem de erro avisando que o boleto não pode ser impresso, indicando o seu status atual;
 +
2. Se o boleto requisitado não puder ser excluído, o sistema exibe uma mensagem de erro solicitando que o boleto não poder ser removido no momento.
 +
 +
Fluxos de exceção
 +
• E1: se não houver conexão com a internet, uma mensagem será exibida informando que não é possível estabelecer uma conexão com a internet e solicitando ao usuário que verifique sua conexão;
 +
• E2: se o sistema não estiver disponível, uma mensagem será exibida informando que o serviço não está disponível e que o usuário deve tentar acessá-lo mais tarde;
 +
• E3: se o resultado da busca retornar vazio, uma mensagem será exibida informando ao usuário que não existem dados referentes à consulta realizada;
 +
• E4: se o sistema não conseguir acessar a base de dados, uma mensagem será exibida informando ao usuário que a base de dados está inacessível;
 +
• E5: se o usuário não preencher os dados obrigatórios do boleto (banco, data de vencimento, modelo da guia, nosso número inicial e valor), uma mensagem será exibida informando ao usuário que os campos obrigatórios devem ser preenchidos;
 +
• E6: se os dados obrigatórios do(s) usuário(s)/filiado(s) para emissão de boleto não foram preenchidos (nome, logradouro, bairro, cidade, estado e CEP), o sistema lista na tela os usuário(s)/filiado(s) cujos dados obrigatórios não estão preenchidos e, para cada um, informa quais campos devem ser preenchidos. O usuário poderá prosseguir para a tela de marcação dos boletos que serão impressos (botão “prosseguir”), no entanto os boletos cujos dados não estão completos não aparecerão para seleção;
 +
• E7: se houver um estouro na numeração de boletos*, o sistema exibe uma mensagem solicitando ao usuário que entre em contato com a BISA pois houve um problema na geração da numeração do boleto. A operação não é finalizada. O sistema deve ainda efetuar todas as rotinas de rollback de modo a não deixar ‘lixo’ no banco de dados.
 +
 +
* O estouro na numeração de boletos ocorre quando o limite do número de boletos cadastrado no banco de dados é atingido. Por exemplo, supondo um limite de 10 bytes, se o último registro cadastrado for 9999999999, o próximo registro de boleto irá acionar este erro.

Edição de 12h06min de 22 de janeiro de 2013

BoletosWeb.PNG

Tabela de conteúdo

1. Caso de Negócio

1.1 Objetivos

Documentar o novo módulo de geração e impressão de boletos online. As informações aqui descritas especificam e refinam a regras de negócio.

1.2 Referências

Se baseará no conhecimento adquirido na implementação de rotinas de boletos da BISA (desktop) e no antigo sistema TRAB_RUR da BISA, em DOS. A entrevista com Mário e Márcio da FETAPE (realizada por Ronaldo e Alexandre) também é referência para a definição dos requisitos.

1.3 Sistemas com rotinas de gerenciamento de boletos da BISA

O Filiados 2000 é um sistema desktop de gestão de filiados que controla o cadastro de filiados dos sindicatos de trabalhadores, fazendo acompanhamento de participação na organização.

O OAB 2000 é um software de gestão de cadastro de advogados para OAB's. Faz desde o cadastro de alunos, pré-inscritos, coordena sociedades de advogados, estagiários, até a administração dos dados financeiros dos advogados.

O Receb 2000 é um software voltado para o acompanhamento do contas a receber de uma empresa, fazendo a gestão financeira da carteira de forma simples e eficiente.

Todos esses sistemas possuem uma função de gerenciamento de boletos bancários ou guias sindicais, sendo salvos de forma centralizada no MySQL, de forma que podem ser acessados de forma uniforme no BoletoWEB.

Cada sistema contém suas próprias regras de negócio para gerenciar os boletos; no entanto, as funções de acesso ao banco remoto serão padronizadas para todos os sistemas no BoletoWEB.

1.4 Descrição do Produto

A maior parte da implementação é voltada para a FETAPE, enquanto o restante imprime boletos gerados pelos nossos sistema desktop.

Módulo Geral: este módulo tem a função meramente de fornecer uma interface web que permita ao usuário imprimir boletos gerados pelos sistemas desktop da BISA.

Módulo FETAPE: no antigo sistema TRAB_RUR da BISA, este sistema é o foco principal desta documentação. Nela o usuário poderá gerenciar todo o fluxo de boletos de contribuições: geração, impressão interna, cadastro de filiados, acesso on-line dos filiados, etc.

1.5 Contexto de Negócio

O módulo geral de boletos na web será utilizado a princípio pelos sistemas Receb2000, OAB2000 e Filiados2000, porém poderá ser extendido a qualquer sistema que queira fazer o controle de boletos/guias.

Este módulo concentrará as informações dos boletos em um único local independente de entidade ou sistema. Este local, a priori, ficou definido como sendo um dos servidores internos da BISA que possua acesso externo. Cada sistema rodará normalmente no ambiente do cliente. No momento que for necessário o acesso às informações, este será feito não mais na base local da área do cliente, mas na base remota situada na BISA.

O módulo FETAPE segue as mesmas diretrizes, tendo a diferença de ser implementado exclusivamente para esta entidade, devendo ser adaptável para outras entidades. Para tanto, aconselha-se o uso de uma arquitetura em camadas e padrões de projetos, facilitadores do processos de manutenção.

1.6 Tecnologias utilizadas

Os módulos geral e FETAPE deverão implementados utilizando uma tecnologia para web: PHP, Java ou .NET.

O banco de dados necessariamente deverá ser o MySQL, pois já é utilizado na bisa para o registro de boletos.


2. Sobre os Requisitos

2.1 Introdução

Este documento especifica todos os requisitos funcionais e não funcionais do módulo de gerenciamento de boletos, descrevendo os fluxos de eventos, prioridades, atores, entradas e saídas de cada caso de uso a ser implementado.

A correta interpretação deste documento exige o conhecimento de algumas convenções e termos específicos, que são descritos a seguir.

2.2 Identificação dos Requisitos

Por convenção, a referência a requisitos é feita através do nome da subseção onde eles estão descritos, seguidos do identificador do requisito, de acordo com o esquema abaixo:

[nome da subseção, identificador do requisito]

Por exemplo, o requisito funcional [Imprimir Boleto RF002] está descrito em um caso de uso chamado “Imprimir Boleto”, em um bloco identificado pelo identificador [RF002].

2.3 Prioridades dos Requisitos

Para estabelecer a prioridade dos requisitos foram adotadas as denominações “essencial”, “importante” e “desejável”.
• Essencial é o requisito sem o qual o sistema não entra em funcionamento. São requisitos imprescindíveis, que têm que ser implementados.
• Importante é o requisito sem o qual o sistema entra em funcionamento, mas de forma não satisfatória. Requisitos importantes devem ser implementados, mas, se não forem, o sistema poderá ser implantado e usado mesmo assim.
• Desejável é o requisito que não compromete as funcionalidades básicas do sistema, isto é, o sistema pode funcionar de forma satisfatória sem ele. Requisitos desejáveis são requisitos que podem ser deixados para versões posteriores do sistema, caso não haja tempo hábil para implementá-los na versão que está sendo especificada.

2.4 Descrição dos Atores

Usuário externo É a pessoa que acessa a funcionalidade de impressão de boletos do módulo geral pelo browser.

Filiado FETAPE Semelhante ao usuário comum, com a diferença de que terá a opção de se cadastrar pelo site.

Funcionário FETAPE É responsável pelo gerenciamento dos boletos. É o ator principal deste sistema.



3 Requisitos Funcionais (Casos de Uso)

3.1 Ações do Usuário

[RF001] Efetuar login

Atores relacionados Usuário externo, Filiado FETAPE e Funcionário FETAPE.

Objetivo

Fazer login no módulo Web de impressão de boletos.

Prioridade

Essencial.

Entradas e pré condições

Entradas: login do usuário e senha; Pré-condições: computador deve ter acesso à internet; servidor web disponível.

Saídas e pós-condições

Saídas: não há Pós-condições: usuário logado no sistema.

Fluxo principal de eventos

1. Usuário executa seu web browser e acessa a página de login (E1, E2);
2. Usuário informa login e senha e clica em Entrar (E3);
3. Sistema recupera na base de dados a senha do usuário com o login informado;
4. Sistema verifica se o login está cadastrado (E4);
5. Sistema verifica se a senha informada corresponde ao login informado (E5);
6. Sistema libera o acesso após o sucesso da verificação;
7. Includes [RF002].

Fluxos de exceção

• E1: se não houver conexão com a internet, uma mensagem será exibida informando que não é possível estabelecer uma conexão com a internet e solicitando ao usuário que verifique sua conexão;
• E2: se o sistema não estiver disponível, uma mensagem será exibida informando que o serviço não está disponível e que o usuário deve tentar acessá-lo mais tarde;
• E3: se o usuário não informar o login ou a senha, o sistema solicita que informe o login e a senha;
• E4: se o login não estiver cadastrado, o sistema emite uma mensagem de erro informando que este usuário não está cadastrado e solicitando que o mesmo verifique se o login foi digitado corretamente;
• E5: se a senha não conferir com a que está armazenada na base de dados, o sistema emite uma mensagem de erro avisando que a senha informada está incorreta e solicitando que o mesmo verifique se ela foi digitada corretamente.

[RF002] Listar boletos

Atores relacionados

Usuário externo, Filiado FETAPE e Funcionário FETAPE.

Objetivo

Listar os boletos correspondentes ao usuário logado.

Prioridade

Essencial.

Entradas e pré condições

Entradas: nenhuma. Pré-condições: usuário logado no sistema; boletos armazenados no banco de dados.

Saídas e pós-condições

Saídas: lista de boletos. Pós-condições: nenhuma.

Fluxo principal de eventos

1. Sistema carrega da base de dados os boletos referentes ao usuário (E1, E2, E3);
2. É exibida a lista de boletos (com check boxes para seleção), cada um com seu número, descrição, valor, vencimento e status (pendente/atrasado/impresso/pago). Os boletos serão ordenados de forma decrescente (maior para o menor) por data de vencimento na lista. Também haverá uma check box que permite a seleção de todos os boletos listados na tela e um limite de boletos a serem exibidos, sendo os demais boletos acessados por uma barra de próximo/anterior (semelhante a um esquema de web mail);
3. Através de uma caixa de seleção (combo box), o usuário pode filtrar os boletos que serão exibidos na tela de acordo com a opção:
“pendentes/impressos/pagos/todos”. Os boletos com status “atrasado” ficarão na lista de “pendentes” e “todos”, mas com uma cor de linha de grid que os diferencie dos demais (ex. vermelho). O status inicial do filtro é “pendentes”.

Fluxos de exceção

• E1: se não houver conexão com a internet, uma mensagem será exibida informando que não é possível estabelecer uma conexão com a internet e solicitando ao usuário que verifique sua conexão;
• E2: se o sistema não estiver disponível, uma mensagem será exibida informando que o serviço não está disponível e que o usuário deve tentar acessá-lo mais tarde;
• E3: se o resultado da busca retornar vazio, uma mensagem será exibida informando ao usuário que não existe dados referentes à consulta realizada.

[RF003] Geração de boletos

Atores relacionados

Usuário externo, Filiado FETAPE e Funcionário FETAPE.

Objetivo

Gerar registros de boletos no banco de dados para impressão. Não constitui a impressão do boleto em si.

Prioridade

Essencial.

Entradas e pré condições

Entradas: filiado(s)/usuário(s), banco, data de vencimento, modelo da guia, nosso número inicial, valor e instruções. Pré-condições: usuário logado no sistema; sindicatos e filiados armazenados no banco de dados.

Saídas e pós-condições

Saídas: mensagem de aviso de sucesso da operação. Pós-condições: registro dos boletos inseridos no banco de dados.

Fluxo principal de eventos

1. Usuário Externo e Filiado FETAPE: usuário clica no botão Gerar Boletos. Se o usuário estiver com o status óbito, não será gerado boleto. Funcionário FETAPE: funcionário seleciona uma quantidade de filiados na tela de Listagem de Filiados e clica no botão Gerar Boletos. Os filiados com o status “óbito” nunca serão carregados; 2. Sistema carrega o(s) usuários(s)/filiado(s) selecionados com seus respectivos dados (E1, E2, E3, E4); 3. Uma janela é aberta perguntando se o usuário deseja imprimir boletos referentes a Contribuição Sindical e Contribuição Confederativa (2 check boxes); 4. Uma tela é aberta onde o usuário informa os dados (banco, data de vencimento, modelo da guia, nosso número inicial, valor e instruções) para os boletos. Usuário confirma a operação; 5. Sistema valida os dados inseridos pelo usuário e os dados obrigatórios para emissão de boleto (E5, E6); 6. Sistema gera os boletos e os armazena no banco de dados com o status “gerado” (E7). O sistema deverá verificar se o número de boleto que ele irá gerar existe em algum intervalo na tabela de boletos avulso. Se existir, ele deverá gerar um próximo número que não esteja em um intervalo desta tabela; 7. Sistema insere os registros de log da situação dos boletos no banco remoto com a justificava “gerado a partir da função de geração de boleto pelo usuário X:Y”, onde X corresponde ao login do funcionário e Y corresponde ao seu nome; 8. Sistema exibe mensagem confirmando o sucesso na geração dos boletos e perguntando se o usuário deseja fazer a impressão dos mesmos; 9. Se o usuário responder que sim, a janela de impressão padrão da funcionalidade imprimir é aberta. Includes [RF004].

Filiado FETAPE Este usuário também terá acesso à rotina de CANCELAMENTO do boleto, que consiste meramente na exclusão do mesmo da base de dados. Vale salientar que devem ser efetuados os devidos registros no log do sistema seguindo o padrão supracitado, assim como devem ser atendidos os seguintes fluxos de exceção: 1. Se o boleto possuir o status “pago”, “impresso” ou “enviado” (para o banco), o cancelamento não será permitido. O sistema exibirá uma mensagem de erro avisando que o boleto não pode ser impresso, indicando o seu status atual; 2. Se o boleto requisitado não puder ser excluído, o sistema exibe uma mensagem de erro solicitando que o boleto não poder ser removido no momento.

Fluxos de exceção • E1: se não houver conexão com a internet, uma mensagem será exibida informando que não é possível estabelecer uma conexão com a internet e solicitando ao usuário que verifique sua conexão; • E2: se o sistema não estiver disponível, uma mensagem será exibida informando que o serviço não está disponível e que o usuário deve tentar acessá-lo mais tarde; • E3: se o resultado da busca retornar vazio, uma mensagem será exibida informando ao usuário que não existem dados referentes à consulta realizada; • E4: se o sistema não conseguir acessar a base de dados, uma mensagem será exibida informando ao usuário que a base de dados está inacessível; • E5: se o usuário não preencher os dados obrigatórios do boleto (banco, data de vencimento, modelo da guia, nosso número inicial e valor), uma mensagem será exibida informando ao usuário que os campos obrigatórios devem ser preenchidos; • E6: se os dados obrigatórios do(s) usuário(s)/filiado(s) para emissão de boleto não foram preenchidos (nome, logradouro, bairro, cidade, estado e CEP), o sistema lista na tela os usuário(s)/filiado(s) cujos dados obrigatórios não estão preenchidos e, para cada um, informa quais campos devem ser preenchidos. O usuário poderá prosseguir para a tela de marcação dos boletos que serão impressos (botão “prosseguir”), no entanto os boletos cujos dados não estão completos não aparecerão para seleção; • E7: se houver um estouro na numeração de boletos*, o sistema exibe uma mensagem solicitando ao usuário que entre em contato com a BISA pois houve um problema na geração da numeração do boleto. A operação não é finalizada. O sistema deve ainda efetuar todas as rotinas de rollback de modo a não deixar ‘lixo’ no banco de dados.

  • O estouro na numeração de boletos ocorre quando o limite do número de boletos cadastrado no banco de dados é atingido. Por exemplo, supondo um limite de 10 bytes, se o último registro cadastrado for 9999999999, o próximo registro de boleto irá acionar este erro.
Ferramentas pessoais