Para uso do Bw- Construindo
De BISAWiki
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.
[RF004] Imprimir boletos
Atores relacionados
Usuário externo, Filiado FETAPE e Funcionário FETAPE.
Objetivo
Constitui a impressão de um boleto já gerado no sistema.
Prioridade
Essencial.
Entradas e pré condições
Entradas: lista de boletos para impressão.
Pré-condições: o usuário deve estar logado no sistema na tela da listagem de boletos (RF002); os registros dos boletos devem estar armazenados no banco de dados e marcados como “não impresso”.
Saídas e pós-condições
Saídas: impressão dos boletos selecionados.
Pós-Condições: registros dos boletos marcados no banco como “impresso”.
Fluxo principal de eventos
1. Usuário seleciona na Lista de boletos aqueles que deseja imprimir (check box) e clica no botão Imprimir (E1, E2, E3, E4, E5);
2. Se o usuário houver selecionado apenas um boleto, o sistema imprime o boleto no navegador, permitindo ao usuário conferir seus dados. Depois disso, ele clica em um novo botão Imprimir e passa para o passo 3;
3. Janela de impressão padrão é aberta (onde o usuário poderá selecionar impressora, quantidade de páginas, etc). Usuário confirma a impressão e o sistema envia os arquivos para a impressora (E6);
4. Sistema marca no banco os boletos que foram impressos com o status “impresso” (E7);
5. Sistema insere no log de boletos os registros com o status impresso com a justificativa “impresso pela função de impressão de boletos pelo usuário X:Y”, onde X corresponde ao código do usuário e Y ao seu nome.
6. Sistema exibe uma mensagem de “Boletos impressos com sucesso”.
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 selecionar boletos, o sistema exibe uma mensagem solicitando ao usuário que selecione boletos para impressão;
• E4: se na lista houver boletos que já foram pagos, o sistema exibe uma mensagem de erro informando que boletos pagos não podem ser reimpressos e cancela a operação;
• E5: se houver boletos que já foram impressos, o sistema exibe um alerta informando que os boletos já foram impressos pelo sistema e serão reimpressos nesta operação; continua a executar normalmente;
• E6: se houver um erro ao enviar os dados para a impressora, o sistema exibe uma mensagem avisando ao usuário que o sistema não conseguiu imprimir e solicitando que o mesmo verifique se a impressora está pronta para impressão;
• E7: se houver um erro na alteração dos registros no banco de dados, uma mensagem será exibida informando que não foi possível marcar os boletos como impressos e solicitando ao usuário que tente novamente e que, caso o erro persista, entre em contato com a BISA. O sistema deve ainda efetuar todas as rotinas de rollback de modo a não deixar ‘lixo’ no banco de dados.
[RF005] Cadastro de filiado
Atores relacionados
Filiado FETAPE e Funcionário FETAPE.
Objetivo
Cadastrar um filiado. As rotinas de ALTERAÇÃO e de EXCLUSÃO também estão contidas neste requisito para o Funcionário FETAPE.
Prioridade
Essencial.
Entradas e pré condições
Entradas: dados cadastrais do usuário.
Pré-condições: computador deve ter acesso à internet; servidor web disponível. Funcionário: usuário cadastrado no sistema.
Saídas e pós-condições
Saídas: mensagem avisando que o usuário foi cadastrado com sucesso.
Pós-Condições: usuário cadastrado no banco de dados.
Fluxo principal de eventos
1. Ator Filiado: a função “Cadastrar Filiado” é acionada pelo usuário no navegador web (E1, E2). Ator Funcionário: a função “Cadastrar Filiado” é acionada pelo usuário na tela de Listagem de Filiados (E1, E2).
2. Um formulário é aberto solicitando dados cadastrais: login, senha, nome, CPF, CNAE, bairro, cidade, UF, logradouro, CEP, categoria (seleção entre as opções arrendatário, assentado, meeiro, parceiro, posseiro, pequeno proprietário e outros) e apelido do filiado;
3. Usuário preenche os campos e confirma a operação (E3, E4, E5, E6);
4. Sistema insere os registros de log da situação no banco remoto com a justificava “cadastrado pelo usuário X:Y”, onde X corresponde ao login do usuário e Y corresponde ao seu nome;
5. Sistema retorna uma mensagem avisando que o usuário foi cadastrado com sucesso.
O sistema também apresenta as rotinas de ALTERAÇÃO, que por ser trivial e seguir um fluxo semelhante à rotina de inclusão não terá sua execução descrita aqui. Vale salientar que devem ser efetuados os devidos registros no log do sistema.
Filiado FETAPE
Ele possui também a funcionalidade EXCLUSÃO. Sua tela de ALTERAR é diferente. Nela, o usuário pode marcar um check box “óbito” para filiados que foram a óbito.
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 login fornecido já estiver cadastrado no sistema, uma mensagem será exibida informando ao usuário que o login cadastrado já existe no sistema;
• E4: se o CPF do filiado for inválido, uma mensagem será exibida informando ao usuário que o CPF cadastrado é inválido. Vale salientar que o preenchimento deste campo é opcional;
• E5: se houver um erro na inserção dos registros no banco de dados, uma mensagem será exibida informando que não foi possível inserir os dados e solicitando ao usuário que tente novamente e que, caso o erro persista, entre em contato com a BISA. O sistema deve ainda efetuar todas as rotinas de rollback de modo a não deixar ‘lixo’ no banco de dados;
• E6: se os dados obrigatórios dos filiados não forem preenchidos (nome, logradouro, bairro, cidade, estado e CEP), o sistema emite uma mensagem de erro informando quais os campos obrigatórios não foram preenchidos.
[RF006] Listar filiados
Atores relacionados
Funcionário FETAPE.
Objetivo
Listar todos os filiados cadastrados no sistema.
Prioridade
Essencial.
Entradas e pré condições
Entradas: nenhuma. Pré-condições: usuário logado no sistema; filiados armazenados no banco de dados.
Saídas e pós-condições
Saídas: lista de filiados.
Pós-condições: nenhuma.
Fluxo principal de eventos
1. Usuário clica no botão Filiados da barra de funções do sistema para acessar a Listagem de Filiados;
2. Sistema carrega da base de dados os filiados com seus respectivos dados (E1, E2, E3, E4);
3. É exibida a lista de filiados (com check boxes para seleção), cada um com seu número, nome, apelido, CPF, município, sindicato e categoria. Os filiados serão ordenados por ordem alfabética e agrupados por município. Também haverá uma check box que permite a seleção de todos os filiados listados na tela e um limite de filiados a serem exibidos, sendo os demais acessados por uma barra de próximo/anterior (semelhante a um esquema de web mail);
4. Através de uma caixa de seleção (combo box), o usuário pode filtrar os filiados que serão exibidos na tela de acordo com a opção: “nome/apelido/município/sindicato”. A opção “nome” é a padrão. Os filiados que foram a óbito serão exibidos com uma cor de linha de grid acinzentada e só serão exibidos se um check box “todos” for ativado.
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.
[RF007] Cadastro de sindicato
Atores relacionados
Funcionário FETAPE.
Objetivo
Cadastrar um sindicato. As rotinas de ALTERAÇÃO e de EXCLUSÃO também estão contidas neste requisito.
Prioridade
Essencial.
Entradas e pré condições
Entradas: dados do sindicato; dados do Município (já presentes na base de dados, herdada do antigo sistema DOS TRAB_RUR).
Pré-condições: usuário logado no sistema.
Saídas e pós-condições
Saídas: mensagem avisando que o sindicato foi cadastrado com sucesso.
Pós-Condições: sindicato cadastrado no banco de dados.
Fluxo principal de eventos
1. Usuário clica no botão cadastrar na tela de Listagem de Sindicatos (E1, E2);
2. Um formulário é aberto solicitando dados cadastrais: nome, município, UF, endereço;
3. Usuário preenche os campos e confirma a operação (E3);
4. Sistema insere os registros de log da situação no banco remoto com a justificava “cadastrado pelo usuário X:Y”, onde X corresponde ao login do funcionário e Y corresponde ao seu nome;
5. Sistema retorna uma mensagem avisando que o sindicato foi cadastrado com sucesso.
Também haverá rotinas de alteração e de exclusão. O processo é trivial para ser descrito aqui. Vale salientar que devem ser efetuados os devidos registros no log do sistema.
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 houver um erro na inserção dos registros no banco de dados, uma mensagem será exibida informando que não foi possível inserir os dados e solicitando ao usuário que tente novamente e que, caso o erro persista, entre em contato com a BISA. O sistema deve ainda efetuar todas as rotinas de rollback de modo a não deixar ‘lixo’ no banco de dados;
[RF008] Listar sindicatos
Atores relacionados
Funcionário FETAPE.
Objetivo
Listar todos os sindicatos cadastrados no sistema.
Prioridade
Essencial.
Entradas e pré condições
Entradas: nenhuma.
Pré-condições: usuário logado no sistema; sindicatos armazenados no banco de dados.
Saídas e pós-condições
Saídas: lista de sindicatos.
Pós-condições: nenhuma.
Fluxo principal de eventos
1. Usuário clica no botão Sindicatos da barra de funções do sistema para acessar a Listagem de Sindicatos;
2. Sistema carrega da base de dados os sindicatos com seus respectivos dados (E1, E2, E3, E4);
3. É exibida a lista de sindicatos (com check boxes para seleção), cada um com seu número, nome e município. Os sindicatos serão ordenados por ordem alfabética e agrupados por município. Também haverá uma check box que permite a seleção de todos os sindicatos listados na tela e um limite de sindicatos a serem exibidos, sendo os demais acessados por uma barra de próximo/anterior (semelhante a um esquema de web mail);
4. Através de uma caixa de seleção (combo box), o usuário pode filtrar os sindicatos que serão exibidos na tela de acordo com a opção: “nome/município”. A opção “nome” é a padrão.
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.
[RF009] Baixar Boleto
Atores relacionados
Funcionário FETAPE.
Objetivo
Baixa nos boletos que foram impressos. Eles passarão a ter o status de pago.
Prioridade
Essencial.
Entradas e pré condições
Entradas: lista de boletos para baixa. Pré-condições: usuário logado no sistema; os registros dos boletos devem estar 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 marcados no banco como “pagos”.
Fluxo principal de eventos
1. Usuário seleciona na Lista de boletos aqueles que deseja baixar (check box) e clica no botão Baixar (E1, E2, E3, E4, E5);
2. Sistema marca no banco os boletos como pagos (E6). Se o boleto não for encontrado na tabela de boletos, deverá ser procurado na tabela de boletos avulsos (E7);
3. Sistema insere no log de boletos os registros com o status impresso com a justificativa “baixado pela função de baixar de boletos pelo usuário X:Y”, onde X corresponde ao código do usuário e Y ao seu nome;
4. Sistema exibe uma mensagem de “Boletos baixados com sucesso”.
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 selecionar boletos, o sistema exibe uma mensagem solicitando ao usuário que selecione boletos para impressão;
• E4: se na lista houver boletos com o status “pago”, o sistema exibe uma mensagem informando que boletos selecionados já foram baixados. Se o usuário clicar em continuar, o sistema continua a execução e ignora esses boletos;
• E5: se na lista houver boletos com o status diferente de “impresso” ou “enviado” (enviado para o banco), o sistema exibe uma mensagem informando que há boletos selecionados que ainda não foram impressos ou enviados para o banco e quais são estes boletos. Se o usuário clicar em continuar, o sistema continua a execução e ignora esses boletos;
• E6: se houver um erro na alteração dos registros no banco de dados, uma mensagem será exibida informando que não foi possível marcar os boletos como pagos e solicitando ao usuário que tente novamente e que, caso o erro persista, entre em contato com a BISA. O sistema deve ainda efetuar todas as rotinas de rollback de modo a não deixar ‘lixo’ no banco de dados;
• E7: se o registro do boleto não for encontrado no banco, o sistema exibirá uma mensagem de erro indicando que o boleto não foi encontrado na base de dados do sistema.
[RF010] Baixar Boleto Automaticamente (via Arquivo de Retorno do Banco)
Atores relacionados
Funcionário FETAPE.
Objetivo
Baixar de boletos a partir de um arquivo de retorno que o banco envia.
Prioridade
Essencial.
Entradas e pré condições
Entradas: arquivo de retorno do banco.
Pré-condições: usuário logado no sistema; os registros dos boletos devem estar armazenados no banco de dados.
Saídas e pós-condições
Saídas: mensagem de sucesso da operação.
Pós-condições: registro dos boletos marcados no banco como “pagos”.
Fluxo principal de eventos
1. Na tela da Lista de boletos, usuário clica na opção Baixa com Arquivo do Banco (E1, E2);
2. Uma tela é aberta perguntando qual o arquivo de retorno do banco. O usuário então seleciona o caminho no seu computador correspondente à localização do arquivo e clica em OK. O sistema irá, então, fazer o upload do arquivo (E3, E4, E5);
3. Sistema guarda a identificação do arquivo de retorno com situação de ‘não processado’ na base de dados e guarda uma cópia do arquivo em diretório especifico para histórico;
4. Para cada linha do arquivo de retorno, o sistema procura o boleto referente na base de dados de boletos de contribuição. Se o boleto não for encontrado, o sistema procura na base de dados de boletos avulsos. Nesta base, há registros de boletos com intervalos (ex. de 001 a 100). O sistema irá buscar o número do boleto nessa faixa (E6);
5. O sistema verifica se o boleto encontrado está marcado como “impresso” ou “enviado” (para o banco). Se estiver, o sistema marca no banco de dados o boleto como “pago” (E7);
6. O sistema insere no log de boletos o registro com situação de “pago” com a justificativa ‘baixado pela função de baixa automática de boleto pelo usuário X:Y’, onde X corresponde ao login de usuário e Y corresponde ao seu nome;
7. O Sistema marca o arquivo de retorno como ‘processado sem erros’ e uma exibe mensagem confirmando o sucesso na baixa dos boletos.
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 apontar nenhum arquivo de retorno, uma mensagem será exibida exigindo que o usuário aponte o arquivo;
• E4: se o caminho para o arquivo estiver incorreto, o sistema exibe uma mensagem para o usuário informando que o caminho selecionado é inválido;
• E5: se o formato do arquivo não corresponder ao formato do arquivo de retorno do banco esperado, o sistema exibirá uma mensagem informando que o formato do arquivo selecionado é inválido;
• E6: se um registro do arquivo não for encontrado no sistema (base principal e base de boletos avulsos), será exibido numa tela todos os registros que não foram encontrados. A situação do arquivo de retorno no banco deve então mudar para “processado com erro” e o sistema deve inserir o registro de log de boleto com a justificativa “boleto não pode ser baixado, pois o mesmo não foi encontrado no sistema. Ação executada pelo usuário X:Y”, onde X é o login e Y é o nome. O valor do boleto pago e não encontrado deverá ser armazenado na tabela de boletos no registro cujo identificador é “BoletoXXXX”. Todo boleto que não for encontrado deverá ser somado ao valor desse registro;
• E7: se houver um erro na alteração dos registros no banco de dados, uma mensagem será exibida informando que não foi possível marcar os boletos como “pago” e solicitando ao usuário que tente novamente e que, caso o erro persista, entre em contato com a BISA. O sistema deve ainda efetuar todas as rotinas de rollback de modo a não deixar ‘lixo’ no banco de dados.
[RF011] Gerar arquivo de remessa para banco
Atores relacionados
Funcionário FETAPE.
Objetivo
Gerar arquivo de remessa de boletos para o banco.
Prioridade
Essencial.
Entradas e pré condições
Entradas: lista de boletos que serão enviados para o arquivo.
Pré-condições: usuário logado no sistema; os registros dos boletos devem estar armazenados no banco de dados com o status “gerado” ou “impresso”.
Saídas e pós-condições
Saídas: mensagem de sucesso da operação; arquivo de remessa para o banco.
Pós-condições: boletos marcados com o status “enviado” no banco na base de dados.
Fluxo principal de eventos
1. Na tela de Listagem de Boletos, o usuário seleciona os boletos e clica no botão Gerar de arquivo de remessa (E1, E2);
2. Sistema verifica se todos os boletos selecionados estão marcados como “gerado” ou “impresso” (E3);
3. Sistema abre tela para que o usuário informe o nome do arquivo e o local onde ele será gerado (E4, E5);
4. Usuário confirma a geração do arquivo;
5. Sistema gera o arquivo de remessa;
6. Sistema marca no banco os boletos que foram inseridos no arquivo de remessa com o status de “enviado” para o banco (E6);
7. Sistema insere no log de boletos os registros com situação de enviado com a justificativa “boleto gerado no arquivo de remessa para o banco pelo usuário X:Y”, onde X corresponde ao login do usuário e Y corresponde ao seu nome;
8. Sistema salva em diretório especifico no banco uma cópia do arquivo gerado para remessa para fins de histórico;
9. Sistema retorna o arquivo de remessa para que o usuário salve-o em seu computador.
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 sistema não encontrar nenhum arquivo com o status “gerado” ou “impresso”, uma mensagem será exibida informando que não existem boletos a serem gerados para o arquivo de remessa. Se encontrar, deverá informar quais os boletos não serão gerados no arquivo;
• E4: se o usuário informa um local não existente, o sistema pergunta ao usuário se o mesmo deseja que o sistema crie o diretório de pastas informado. Se a resposta for sim, sistema cria diretório de pasta; se a resposta for não, sistema retorna a tela de informação do local para que o usuário selecione um novo diretório;
• E5: se houver um erro na geração do arquivo de remessa, uma mensagem será exibida informando ao usuário que o arquivo de remessa não pode ser gerado e que o mesmo tente novamente e que, caso o erro persista, entre em contato com a BISA.;
• E6: se houver um erro na alteração dos registros no banco de dados, uma mensagem será exibida informando que não foi possível marcar os boletos como “enviado” e solicitando ao usuário que tente novamente e que, caso o erro persista, entre em contato com a BISA. O sistema deve ainda efetuar todas as rotinas de rollback de modo a não deixar ‘lixo’ no banco de dados.
[RF012] Gerar arquivo de remessa para Gráfica
Atores relacionados
Funcionário FETAPE.
Objetivo
Gerar arquivo de remessa de boletos para Gráfica.
Prioridade
Essencial.
Entradas e pré condições
Entradas: lista de boletos que serão enviados para o arquivo.
Pré-condições: usuário logado no sistema; os registros dos boletos devem estar armazenados no banco de dados com o status “gerado”.
Saídas e pós-condições
Saídas: mensagem de sucesso da operação; arquivo de remessa para a gráfica (em formato txt e xls).
Pós-condições: boletos marcados com o status “enviadoGrafica” no banco na base de dados.
Fluxo principal de eventos
1. Na tela de Listagem de Boletos, o usuário seleciona os boletos e clica no botão Gerar arquivo de boleto para Gráfica (E1, E2);
2. Sistema verifica se todos os boletos selecionados estão marcados como “gerado” (E3);
3. Sistema abre tela para que o usuário informe o nome do arquivo e o local onde ele será gerado (E4, E5);
4. Usuário confirma a geração do arquivo;
5. Sistema pergunta se o usuário quer gerar o arquivo no formato txt ou xls;
6. Sistema gera o arquivo de remessa para Gráfica;
7. Sistema marca no banco os boletos que foram inseridos no arquivo de remessa com o status de “enviadoGrafica” para o banco (E6);
8. Sistema insere no log de boletos os registros com situação de enviado com a justificativa “boleto gerado no arquivo de remessa para Gráfica pelo usuário X:Y”, onde X corresponde ao login do usuário e Y corresponde ao seu nome;
9. Sistema salva em diretório especifico no banco uma cópia do arquivo gerado para remessa para Gráfica para fins de histórico;
10. Sistema retorna o arquivo para que o usuário salve-o em seu computador.
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 sistema não encontrar nenhum arquivo com o status “gerado”, uma mensagem será exibida informando que não existem boletos a serem gerados para o arquivo de remessa. Se encontrar, deverá informar quais os boletos não serão gerados no arquivo;
• E4: se o usuário informa um local não existente, o sistema pergunta ao usuário se o mesmo deseja que o sistema crie o diretório de pastas informado. Se a resposta for sim, sistema cria diretório de pasta; se a resposta for não, sistema retorna a tela de informação do local para que o usuário selecione um novo diretório;
• E5: se houver um erro na geração do arquivo de remessa, uma mensagem será exibida informando ao usuário que o arquivo de remessa não pode ser gerado e que o mesmo tente novamente e que, caso o erro persista, entre em contato com a BISA;
• E6: se houver um erro na alteração dos registros no banco de dados, uma mensagem será exibida informando que não foi possível marcar os boletos como “enviado” e solicitando ao usuário que tente novamente e que, caso o erro persista, entre em contato com a BISA. O sistema deve ainda efetuar todas as rotinas de rollback de modo a não deixar ‘lixo’ no banco de dados.
4 Especificações Suplementares
4.1 Objetivos
Este documento tem como finalidade especificar todos os requisitos não funcionais do módulo de boletos web divididos em requisitos de usabilidade, confiabilidade, desempenho, segurança, distribuição, adequação a padrões e requisitos de hardware e software.
4.2 Usabilidade
Esta seção descreve os requisitos não funcionais associados à facilidade de uso da interface com o usuário, material de treinamento e documentação do sistema.
[NF001] Interface com o Usuário
Prioridade:
Desejável
O sistema deve possuir uma interface amigável, simples e intuitiva.
4.3 Confiabilidade
Esta seção descreve os requisitos não funcionais associados à freqüência, severidade de falhas do sistema e habilidade de recuperação das mesmas, bem como a corretude do sistema.
[NF001] Tempo de Retorno após Falha
Prioridade:
Desejável
Retorno de até 5 segundos após alguma falha.
[NF002] Disponibilidade
Prioridade:
Importante
O sistema estará disponível 24 horas por dia durante todos os dias do ano.
4.4 Desempenho
Esta seção descreve os requisitos não funcionais associados à eficiência, uso de recursos e tempo de resposta do sistema.
[NF001] Número de Acessos
O sistema deve ser capaz de atender em média 10 usuários por segundo nos momentos de pico de acesso.
[NF002] Tempo de Resposta para os Usuários
O tempo máximo de resposta de uma requisição deve ser de no máximo 10 segundos.
4.5 Segurança
Esta seção descreve os requisitos não funcionais associados à integridade, privacidade e autenticidade dos dados do sistema.
[NF001] Privacidade de Acesso
Apenas os usuários credenciados e com permissão para acesso a este módulo deverão fazer uso das funcionalidades do módulo de boletos/guias na Web.
4.6 Hardware e software
Esta seção descreve os requisitos não funcionais associados ao hardware e software usados para desenvolver ou para executar o sistema.
[NF001] Linguagem de Implementação
Prioridade:
Essencial
A linguagem de implementação do módulo de boleto Web será Delphi, mesma linguagem utilizada no desenvolvimento dos sistemas Partidos2000, Receb2000, OAB2000 e Filiados2000.
[NF002] Banco de Dados
Prioridade:
Essencial
O banco de dados utilizado será o MySQL.
[NF003] Ferramentas
Prioridade:
Essencial
Ferramenta de modelagem: Borland Delphi 2006
Ferramenta de Desenvolvimento: Borland Delphi 2006
[NF004] Plataforma de Funcionamento
Prioridade:
Essencial
A plataforma tanto de desenvolvimento e de funcionamento será Windows.
5 Modelagem do Banco de Dados
5.1 Modelo Entidade Relacionamento
5.2 Dicionário de Dados (tabelas)

As demais tabelas serão as mesmas já definidas e utilizadas nos sistemas Partidos2000, Receb2000, OAB2000 e Filiados2000.
5.3 Tabelas da FETAPE (cadastro web)
6 Modelagem de Classes
6.1 Diagrama de Classes
6.2 Diagrama de Seqüência
6.2.1 [RF001] e [RF011]


