Figura 56: Leiaute de importação da ferramenta

Propaganda
UNIVERSIDADE REGIONAL DE BLUMENAU
CENTRO DE CIÊNCIAS EXATAS E NATURAIS
CURSO DE SISTEMAS DE INFORMAÇÃO – BACHARELADO
FERRAMENTA WEB PARA APOIAR O SETOR DE
QUALIDADE NOS TESTES DOS RELATÓRIOS DA LEI DE
RESPONSABILIDADE FISCAL
DANIEL FELIPE LENZI
BLUMENAU
2012
2012/1-03
DANIEL FELIPE LENZI
FERRAMENTA WEB PARA APOIAR O SETOR DE
QUALIDADE NOS TESTES DOS RELATÓRIOS DA LEI DE
RESPONSABILIDADE FISCAL
Trabalho de Conclusão de Curso submetido à
Universidade Regional de Blumenau para a
obtenção dos créditos na disciplina Trabalho
de Conclusão de Curso II do curso de Sistemas
de Informação— Bacharelado.
Prof. Marcel Hugo, Mestre - Orientador
BLUMENAU
2012
2012/1-03
FERRAMENTA WEB PARA APOIAR O SETOR DE
QUALIDADE NOS TESTES DOS RELATÓRIOS DA LEI DE
RESPONSABILIDADE FISCAL
Por
DANIEL FELIPE LENZI
Trabalho aprovado para obtenção dos créditos
na disciplina de Trabalho de Conclusão de
Curso II, pela banca examinadora formada
por:
Presidente:
______________________________________________________
Prof. Marcel Hugo, Mestre, FURB
Membro:
______________________________________________________
Prof. Everaldo Artur Grahl, Mestre – FURB
Membro:
______________________________________________________
Prof. Wilson Pedro Carli, Mestre – FURB
Blumenau, 6 de julho de 2012.
Dedico este trabalho a minha família e minha
noiva, que sempre me deram muita força.
AGRADECIMENTOS
A Deus pela saúde.
A meu pai e mãe, que sempre me incentivaram a estudar.
À minha noiva por me encorajar e me dar forças a voltar a estudar.
Ao meu orientador, Marcel Hugo, por ter acreditado e ajudado de forma única a
produção desse trabalho.
A todos os professores que colaboraram para o aprendizado e crescimento de minha
carreira profissional.
Não sabendo que era impossível, foi lá e fez.
Jean Cocteau
RESUMO
Este trabalho apresenta o desenvolvimento de uma ferramenta para auxiliar os setores de
qualidade e desenvolvimento da empresa Pública Informática nos testes das alterações dos
relatórios da Lei de Responsabilidade Fiscal, assim garantindo a integridade entre valores
comuns que devem ser iguais entre estes relatórios. Com a utilização do Java Server Page
(JSP), torna-se possível a disponibilização da ferramenta na web para que os testes possam ser
feitos diretamente nos clientes, aumentando a garantia da integridade entre os valores para
que os relatórios possam ser publicados. Para o desenvolvimento da ferramenta utilizou-se o
framework Hibernate, em conjunto com algumas outras interfaces de programação de
aplicação (API) utilizadas para aplicações web, como o JQUERY e o JavaScript, e outros
recursos como a utilização do Cascading Style Sheets (CSS).
Palavras-chave: Relatórios fiscais. Lei de Responsabilidade Fiscal. Teste de valores.
Ferramenta Web.
ABSTRACT
This paper presents the development of a tool to assist the sectors of quality and development
in the Pública Informática company tests of changes in reports of the Fiscal Responsibility
Law, thereby ensuring the integrity of common values that must match between these reports.
Using the Java Server Page (JSP), it becomes possible to release the tool on the web so that
tests can be made directly to customers, increasing the assurance of the integrity of the values
so that reports can be published. For the development tool used the Hibernate framework,
together with some other Application Programming Interfaces (API) used for web
applications, such as jQuery and JavaScript, and other features such as the use of Cascading
Style Sheets (CSS).
Key-words: Fiscal report. Fiscal Responsibility Law. Values test. Web tools.
LISTA DE FIGURAS
Figura 1: Exemplo de arquivo XML ........................................................................................ 18
Figura 2: Exemplo de código usando anotações no Hibernate ................................................. 20
Figura 3: Banco de dados suportados pelo Hibernate .............................................................. 21
Figura 4: Fluxo do processo atual............................................................................................. 22
Figura 5: Valor da receita corrente líquida no anexo III da RREO .......................................... 23
Figura 6: Valor da receita corrente líquida no anexo II da RGF .............................................. 23
Figura 7: Leiaute do arquivo de lançamentos contábeis diponibilizado pelo sistema e-Sfinge24
Figura 9: Tela de importação do arquivo no sistema e-Sfinge ................................................. 25
Figura 8: Exemplo de parte de um arquivo no leiaute padrão do sistema e-Sfinge ................. 25
Figura 11: Relatório de inconsistências do Sistema e-Sfinge................................................... 26
Figura 10: Tela de verificação de inconsistências no sistema e-Sfinge ................................... 26
Figura 12: Leiaute do arquivo de lançamentos contábeis do sistema Audesp ......................... 27
Figura 13: Exemplo de arquivo de lançamentos contábeis no sistema Audesp ....................... 27
Figura 14: Importação do arquivo XML para envio ao sistema Audesp.................................. 28
Figura 15: Tela de inconsistências pendentes do sistema Audesp ........................................... 29
Figura 16: Tela de visualização dos arquivos de inconsistência do Sistema Audesp .............. 29
Figura 17: Exemplo de um relatório de inconsistências do sistema Audesp............................ 30
Figura 18: Fluxo de processo proposto pela ferramenta........................................................... 32
Figura 19: Diagrama de casos de uso ....................................................................................... 34
Figura 20: Diagrama de classes da ferramenta ......................................................................... 35
Figura 21: Modelo entidade-relacionamento da ferramenta..................................................... 36
Figura 22: Consulta da tabela LinhaRelatorio usando API Criteria ......................................... 37
Figura 23: Consulta de validação de valores usando SQL ....................................................... 38
Figura 24: Código fonte da importação com JDOM ................................................................ 38
Figura 25: Código fonte da leitura do arquivo XML................................................................ 38
Figura 26: Código fonte da leitura dos relatórios ..................................................................... 39
Figura 27: Tela de login da ferramenta .................................................................................... 39
Figura 29: Tela do cadastro e permissões de usuários na ferramenta ...................................... 40
Figura 28: Tela principal do usuário supervisor da ferramenta ................................................ 40
Figura 30: Tela principal do usuário os menus de suas permissões na ferramenta .................. 41
Figura 31: Tela de consulta das entidades cadastradas............................................................. 41
Figura 33: Tela de consulta de leiautes da ferramenta ............................................................. 42
Figura 34: Tela de cadastro de leiaute da ferramenta ............................................................... 42
Figura 32: Tela de cadastro de entidade ................................................................................... 42
Figura 35: Tela de consulta das linhas do relatório e leiaute da ferramenta ............................ 43
Figura 36: Tela de cadastro de linhas do relatório e leiaute da ferramenta .............................. 43
Figura 37: Tela de consulta de relatórios da ferramenta .......................................................... 44
Figura 39: Tela de consulta de linhas cadastradas na ferramenta............................................. 44
Figura 38: Tela de cadastro de relatórios da ferramenta .......................................................... 44
Figura 41: Tela de importação do arquivo XML da ferramenta............................................... 45
Figura 42: Tela da importação realizada com sucesso na ferramenta ...................................... 45
Figura 40: Tela de cadastro de linhas da ferramenta ................................................................ 45
Figura 43: Tela da importação com leiaute inválido na ferramenta ......................................... 46
Figura 44: Tela do log de importações do usuário testador...................................................... 46
Figura 45: Tela do log de importações de todos usuários ........................................................ 47
Figura 46: Tela dos relatórios importados ................................................................................ 47
Figura 48: Tela dos valores das linhas importadas pela ferramenta ......................................... 48
Figura 47: Tela das linhas importadas de cada relatório .......................................................... 48
Figura 50: Tela de validação com o parâmetro “Visualizar somente inconsistências” marcado
............................................................................................................................... 49
Figura 49: Tela de validação com o parâmetro “Visualizar somente inconsistências”
desmarcado ............................................................................................................ 49
Figura 51: Mensagem de inconsistência de valor da ferramenta.............................................. 50
Figura 52: Mensagem de inconsistência de valor com complemento dos relatórios ............... 50
Figura 53: Mensagem de inconsistência de relatório não importado ....................................... 50
Figura 54: Mensagem de inconsistência de linha não importada ............................................. 50
Figura 55: Mensagem de inconsistência de linha importada .................................................... 50
Figura 56: Leiaute de importação da ferramenta ...................................................................... 51
Figura 57: Valor total da Receita corrente líquida no relatório anexo III da RREO ................ 52
Figura 58:Valor total da Receita corrente líquida no relatório anexo II da RGF ..................... 52
Figura 59: Tela da inconsistência do valor entre os relatórios anexo III e II ........................... 53
LISTA DE QUADROS
Quadro 1: Requisitos funcionais............................................................................................... 33
Quadro 2: Requisitos não funcionais ........................................................................................ 33
Quadro 3: Caso de uso efetuar login ........................................................................................ 57
Quadro 4: Caso de uso alterar senha ........................................................................................ 57
Quadro 5: Caso de uso cadastrar leiaute ................................................................................... 58
Quadro 6: Caso de uso Cadastrar relatório ............................................................................... 58
Quadro 7: Caso de uso Cadastrar linha .................................................................................... 59
Quadro 8: Caso de uso vincular linha para um leiaute relatório .............................................. 59
Quadro 9: Caso de uso importar XML ..................................................................................... 60
Quadro 10: Caso de uso visualizar importações ....................................................................... 60
Quadro 11: Caso de uso visualizar inconsistências .................................................................. 61
Quadro 12: Caso de uso Visualizar todas importações ............................................................ 61
Quadro 13: Caso de uso Cadastrar usuários ............................................................................. 61
Quadro 14: Dicionário de dados da tabela entidade. ................................................................ 62
Quadro 15: Dicionário de dados da tabela usuário ................................................................... 63
Quadro 16: Dicionário de dados da tabela leiaute. ................................................................... 63
Quadro 17: Dicionário de dados da tabela relatório. ................................................................ 64
Quadro 18: Dicionário de dados da tabela linha....................................................................... 64
Quadro 19: Dicionário de dados da tabela de leiautes dos relatórios. ...................................... 64
Quadro 20: Dicionário de dados da tabela de linhas relatório. ................................................. 64
Quadro 21:Dicionário de dados da tabela importação.............................................................. 65
Quadro 22: Dicionário de dados da tabela de relatórios importados. ....................................... 65
Quadro 23: Dicionário de dados da tabela valor linha ............................................................. 65
Quadro 24: Dicionário de dados da tabela de valores das linhas por mês................................ 66
LISTA DE SIGLAS
API – Application Programming Interface
CSS– Cascading Style Sheets
HQL – Hibernate Query Language
IDE– Integrated Development Environment
JDBC – Java Database Connectivity
JSP– Java Server Pages
LRF – Lei de Responsabilidade Fiscal
RCL – Receita Corrente Líquida
RGF – Relatório de Gestão Fiscal
RREO – Relatório Resumido da Execução Orçamentária
SGBD – Sistema de Gerenciamento de Banco de Dados
SQL – Structured Query Language
STN – Secretaria do Tesouro Nacional
TCE – Tribunal de Contas do Estado
UML – Unified Modeling Language
W3C – World Wide Web Consortium
XML - eXtensible Markup Language
SUMÁRIO
1 INTRODUÇÃO .................................................................................................................. 12
1.1 OBJETIVOS DO TRABALHO ........................................................................................ 13
1.2 ESTRUTURA DO TRABALHO ...................................................................................... 13
2 FUNDAMENTAÇÃO TEÓRICA .................................................................................... 15
2.1 A LEI DE RESPONSABILIDADE FISCAL.................................................................... 15
2.2 TRANSPARÊNCIA DA GESTÃO FISCAL .................................................................... 16
2.3 CONTABILIDADE PÚBLICA ........................................................................................ 16
2.4 XML .................................................................................................................................. 17
2.5 HIBERNATE .................................................................................................................... 18
2.6 SISTEMA ATUAL ........................................................................................................... 21
2.7 TRABALHOS CORRELATOS ........................................................................................ 23
2.7.1 Sistema de Fiscalização Integrada de Gestão.................................................................. 24
2.7.2 Auditoria Eletrônica de Orgão Público ........................................................................... 26
3 DESENVOLVIMENTO DA FERRAMENTA ............................................................... 31
3.1 LEVANTAMENTO DE INFORMAÇÕES ...................................................................... 31
3.1.1 ESPECIFICAÇÃO ....................................................................................................... 32
3.1.1.1 Diagrama de caso de uso .............................................................................................. 34
3.1.1.2 Diagrama de classe ....................................................................................................... 35
3.1.1.3 Modelo de dados relacional .......................................................................................... 35
3.2 IMPLEMENTAÇÃO ........................................................................................................ 37
3.2.1 Técnicas e ferramentas utilizadas .................................................................................... 37
3.2.2 Operacionalidade da implementação ............................................................................... 39
3.3 RESULTADOS E DISCUSSÃO ...................................................................................... 51
4 CONCLUSÕES .................................................................................................................. 54
4.1 EXTENSÕES .................................................................................................................... 54
REFERÊNCIAS BIBLIOGRÁFICAS ................................................................................. 55
APÊNDICE A – Descrição dos Casos de Uso ...................................................................... 57
APÊNDICE B – Dicionário de dados.................................................................................... 62
12
1 INTRODUÇÃO
A Lei de Responsabilidade Fiscal (LRF), Lei de número 101/2000, é uma lei
complementar federal que, regulamentando o artigo 163 da Constituição Federal, estabelece
as normas orientadoras das finanças públicas no país. Ela objetiva aprimorar a
responsabilidade na gestão fiscal dos recursos públicos, por meio de ação planejada e
transparente que possibilite prevenir riscos e corrigir desvios capazes de afetar o equilíbrio
das contas públicas (KHAIR, 2000).
Segundo Bezerra Filho (2006, p. 132) o objetivo da contabilidade pública é o de
fornecer informações atualizadas e exatas à administração, para subsidiar as decisões dos
gestores aos órgãos de controle interno e externo, para cumprimento da legislação e às
instituições governamentais e particulares, para fins estatísticos ou de interesse dessas
instituições.
A empresa Pública Informática é responsável pelo desenvolvimento de um sistema de
contabilidade pública, que, conforme exigência em licitações, deve emitir os relatórios da Lei
de Responsabilidade Fiscal no formato definido pela Secretaria do Tesouro Nacional (STN) e
fiscalizado pelo Tribunal de Contas do Estado de Santa Catarina (TCE-SC). Tais relatórios
devem ser impressos e publicados online periodicamente sendo os Relatórios de Resumo da
Execução Orçamentária (RREO) bimestralmente e os Relatórios da Gestão Fiscal (RGF)
quadrimestralmente.
Como se tratam de relatórios envolvendo dados oriundos de diversas fontes, sínteses e
totalizações, deve-se garantir que os valores comuns entre esses relatórios não tenham
inconformidades. O Setor de Qualidade da empresa deve assegurar relatórios mais íntegros e
confiáveis para seus clientes, os contadores responsáveis pela emissão e disponibilização dos
relatórios da Lei de Responsabilidade Fiscal.
Esses relatórios possuem um leiaute definido pelos manuais da Lei de
Responsabilidade Fiscal, que são as linhas que compõem os relatórios. Cada linha
corresponde a um nível de receita, despesa ou contábil e apresenta seus respectivos valores de
forma analítica ou a totalização de vários níveis na forma sintética. A quantidade de valores e
de relatórios pode acabar dificultando o programador na conferência de seus valores e esse
liberando o relatório com diferença de valores. Esta é a realidade da Pública Informática, pois
os módulos que geram os relatórios solicitados pela LRF já existem há vários anos, e foram
feitas várias alterações por diferentes programadores que hoje não fazem mais parte do quadro
13
de colaboradores, ou estes módulos sofreram alguma alteração em seus cálculos de valores
por força de mudanças nas leis. Por exemplo, o esquecimento de usar uma rotina de
arredondamento de valores pelo desenvolvedor responsável pode ocasionar a diferença entre
os valores dos relatórios da Lei de Responsabilidade Fiscal gerados pelo sistema de
Contabilidade da Pública Informática e com isso gerar reclamações se o mesmo for visto por
um cliente final.
Não tendo um processo de desenvolvimento descrito, resta ao setor de qualidade
conferir e validar os relatórios, tendo grande responsabilidade e pressão para a liberação aos
clientes.
Face ao relatado optou-se por desenvolver uma ferramenta para auxiliar a conferência
dos principais valores desses relatórios.
1.1
OBJETIVOS DO TRABALHO
O objetivo do trabalho é apresentar uma ferramenta que automatize a conferência de
valores totais que são comuns entre os anexos dos Relatórios da Execução Orçamentária e da
Gestão Fiscal, da Lei de Responsabilidade Fiscal.
Os objetivos específicos do trabalho são:
a) analisar e apontar divergência entre os valores dos anexos dos Relatórios do
Resumo da Execução Orçamentária e Relatório da Gestão Fiscal
através de
relatórios;
b) padronizar um leiaute de importação com os valores de cada anexo da LRF
deixando a possibilidade de outros sistemas exportarem valores da LRF em formato
XML e importarem na ferramenta;
c) disponibilizar a ferramenta na web a partir de liberação de um usuário e senha para
que o suporte, que se encontra em campo, possa realizar os testes diretamente no
cliente antes de publicar os relatórios.
1.2
ESTRUTURA DO TRABALHO
Este trabalho está disposto em quatro capítulos. No primeiro capítulo, é apresentada a
introdução do assunto, os objetivos a serem alcançados com o desenvolvimento e a estrutura
do trabalho.
O segundo capítulo apresenta a fundamentação teórica sobre conceitos de lei de
14
responsabilidade fiscal, transparência da gestão fiscal, contabilidade pública, framework
Hibernate e XML, sistema atual e os trabalhos correlatos.
No terceiro capítulo têm-se a descrição do ciclo de desenvolvimento do sistema,
detalhes sobre a especificação e modelagem, técnicas e ferramentas utilizadas e a
operacionalidade do sistema com os resultados e discussões.
No quarto capítulo apresenta-se a conclusão sobre os objetivos alcançados e sugestões
para trabalhos futuros.
15
2 FUNDAMENTAÇÃO TEÓRICA
Esse capítulo apresenta a fundamentação teórica necessária para compreensão deste
trabalho. São abordados assuntos relacionados com a Lei de Responsabilidade Fiscal, a
transparência da gestão fiscal, a contabilidade pública. Também são abordados temas sobre as
tecnologias utilizadas como o framework Hibernate e o XML, sistema atual e os trabalhos
correlatos.
2.1
A LEI DE RESPONSABILIDADE FISCAL
A Lei de Responsabilidade Fiscal (LRF), Lei Complementar n º 101, de 4 de maio de
2000, estabelece normas de finanças públicas voltadas para a responsabilidade na gestão
fiscal. É um código de conduta para os administradores públicos que passarão a obedecer a
normas e limites para administrar finanças, prestando contas de quanto e como gastam os
recursos da sociedade.
Para alcançar este objetivo a lei dispõe de meios, dentre os quais se destaca a ação
planejada e transparente na busca do equilíbrio das contas públicas, cujas metas de resultados
entre receitas e despesas devem ser cumpridas, assim como os limites e condições para a
renúncia de receitas, despesa com pessoal, seguridade social, dívidas consolidadas e
mobiliárias, operações de crédito, concessão de garantia e inscrição de restos a pagar. Em
síntese, a LRF objetiva disciplinar a gestão dos recursos públicos atrelando maior
responsabilidade aos seus gestores (TRIBUNAL DE CONTAS DE SANTA CATARINA,
2002, p 13).
A LRF é uma lei complementar que, regulamentando o artigo 163 da Constituição
Federal, estabelece as normas orientadoras das finanças públicas no País. Ela objetiva
aprimorar a responsabilidade na gestão fiscal dos recursos públicos, por meio de ação
planejada e transparente que possibilite prevenir riscos e corrigir desvios capazes de afetar o
equilíbrio das contas públicas (KHAIR, 2000).
Segundo o artigo 165 da Constituição Federal (BRASIL, 2002), a Lei de
Responsabilidade Fiscal deve ser detalhada em dois grupos de relatórios:
a) Relatório Resumido da Execução Orçamentária (RREO) que segundo Khair (2000,
p. 46), o RREO incluirá todos os poderes e o Ministério Público e será publicado
até 30 dias após o encerramento de cada bimestre. O descumprimento do prazo
16
pelo executivo ou legislativo municipal sujeita a prefeitura a não receber
transferências voluntárias e a não contratar operações de créditos;
b) Relatório da Gestão Fiscal (RGF) que, segundo KHAIR (2000, p. 47), ao final de
cada quadrimestre será emitido pelos titulares dos Poderes e órgãos. O RGF será
assinado, dentro de suas competências, pelo prefeito, pelo presidente de mesa
Diretora do Legislativo, pelas autoridades responsáveis pela administração
financeira, pelo controle interno e por outras autoridades definidas por ato próprio
de cada poder ou órgão. O Relatório será publicado até 30 dias após o encerramento
do período a que corresponder, com amplo acesso ao público, inclusive pela
internet. O descumprimento do prazo pelo executivo ou pelo legislativo municipal
sujeita a prefeitura a não receber transferências voluntárias e a não contratar
operações de créditos.
2.2
TRANSPARÊNCIA DA GESTÃO FISCAL
Uma importante contribuição da Lei de Responsabilidade Fiscal é a transparência da
gestão fiscal, ao estabelecer que todos os principais relatórios fiscais devam ser amplamente
divulgados, ao mesmo tempo em que assegura a participação da sociedade na discussão da
Lei de Diretrizes Orçamentárias e da Lei Orçamentária Anual do Município (KHAIR, 2000).
Será dada ampla divulgação, inclusive na Internet, para a Lei Orçamentária Anual, a
Lei de Diretrizes Orçamentárias, as prestações de contas e seu parecer prévio, o Relatório da
Execução Orçamentária, o Relatório da Gestão Fiscal e as versões simplificadas desses
documentos. A transparência será assegurada também mediante incentivo à participação
popular e a realização de audiência pública, tanto pelo executivo quanto pela Câmara
Municipal, durante os processos de elaboração e de discussão da Lei Orçamentária Anual e da
Lei de Diretrizes Orçamentárias (KHAIR, 2000).
2.3
CONTABILIDADE PÚBLICA
Segundo Kohama (2001, p. 49), entende-se, nos tempos atuais, a Contabilidade como
uma técnica capaz de produzir, com oportunidade e fidedignidade, relatórios que sirvam à
administração no processo de tomada de decisões e de controle de seus atos, demonstrando,
por fim, os efeitos produzidos por esses atos de gestão no patrimônio da entidade.
Contabilidade pública é o ramo da contabilidade que tem por objetivo aplicar os
conceitos, princípios e normas contábeis na gestão orçamentária, financeira e patrimonial dos
17
Órgãos e Entidades da Administração Pública, e, como ramo da contabilidade, oferecer à
sociedade, de maneira transparente e acessível, o conhecimento amplo sobre a gestão da coisa
pública (LIMA; CASTRO, 2000). No Brasil a contabilidade pública é regida pela Lei
4.320/64.
2.4
XML
EXtensible Markup Language (XML) é uma recomendação da World Wide Web
Consortium (W3C) para gerar linguagens de marcação para necessidades especiais. As
linguagens de marcação são um conjunto de convenções utilizadas para a codificação de
textos, que devem especificar que marcas são permitidas, quais são exigidas, como fazer
distinção entre as marcas e o texto e qual seu significado da marcação (ALMEIDA, 2002).
De acordo com Marchal (2000, p. 9), a XML pode ser útil em áreas como:
a) manutenção de grandes sites;
b) troca de informação entre organizações;
c) carga e descarga de bancos de dados;
d) aplicações de comércio eletrônico.
A XML é aplicável a qualquer nível de complexidade, sendo autodescritiva. Suas
marcações personalizadas podem ser criadas para qualquer necessidade, além da facilidade de
manutenção, já que possui marcações tendo os links e folhas de estilos em separado, podendo
ser alterado cada um separadamente, facilitando as modificações. Um dos pontos fortes da
XML é a portabilidade, já que sua sintaxe universal de estrutura de dados permite troca de
dados independente da plataforma (GRAVES, 2003, p.02). Na Figura 1 é apresentando um
exemplo de XML onde são identificados os dados de matrícula e nome de dois alunos, as
matérias que cada aluno irá cursar, e o cadastro do código e nome das matérias de um
determinado curso.
18
Figura 1: Exemplo de arquivo XML
2.5
HIBERNATE
O Hibernate é um framework que visa solucionar problemas gerados com persistência
manual de dados em Java. O objetivo do framework é fazer o mapeamento entre classes e
tabelas de um banco de dados, deixando o programador livre para desenvolver as regras de
negócio (BAUER; KING, 2007, p.4).
O Hibernate é um poderoso serviço de consultas e persistência objeto-relacional. Ele
permite desenvolver classes persistentes seguindo o idioma orientado a objetos, incluindo
associação, herança, polimorfismo, composição e coleções. Hibernate permite expressar
consultas em sua própria extensão Structed Query Laguage (SQL), nomeada como Hibernate
Query Language (HQL), bem como em SQL nativo, ou com critérios orientados a objetos
(HIBERNATE, 2006).
Fernandes e Lima (2007, p.9), definem que a arquitetura do Hibernate é formado por
um conjunto de interfaces, sendo as principais:
19
a) Session: possibilita a comunicação entre a aplicação e a persistência, através de
uma conexão JDBC. É ele que possibilita criar, remover, atualizar e recuperar
objetos persistentes;
b) Session factory: mantém o mapeamento objeto relacional em memória;
c) Configuration: utilizado para realizar configurações de inicialização do Hibernate.
Exemplo: driver do banco de dados, usuário e senha do banco de dados;
d) Transaction: utilizada para representar uma unidade indivisível de uma operação de
manipulação de dados;
e) Criteria e Query: utilizadas para realizar consultas ao banco de dados.
Segundo Fernandes e Lima (2007, p.19), no início o Hibernate carregava e armazenava
objetos de classes persistentes utilizando arquivos XML. Todo o mapeamento era feito neste
arquivo, cujo objetivo era efetuar a ligação entre um atributo e um campo do banco de dados e
sua respectiva classe/tabela.
Ainda segundo Fernandes e Lima (2007, p.19), com o surgimento das anotações no
Java 5.0, tornou-se possível substituir os arquivos XML para o mapeamento objeto relacional.
Fernandes e Lima (2007, p.16) explicam que as anotações são definidas no código
fonte da entidade a ser persistida, e começam com um símbolo @ (arroba) seguido do nome
da anotação. Essa anotação é ignorada pelo compilador. Com as anotações é possível anotar
um atributo ou uma classe, dando-lhe algumas características para o mapeamento, conforme a
Figura 2.
20
Fonte: Fernandes e Lima (2007, p.16).
Figura 2: Exemplo de código usando anotações no Hibernate
Algumas das anotações utilizadas pelo Hibernate segundo Fernandes e Lima (2007,
p.21) são:
a) @Entity: usado no início das classes persistentes;
b) @Table: indica as informações da tabela que será mapeada;
c) @Id: indica a chave primária;
d) @GeneretedValue: permite a definição automática para o valor do indentificador;
e) @Column: refere-se a coluna da tabela.
A Figura 3 apresenta os bancos de dados suportados atualmente pelo Hibernate.
21
Fonte: Hibernate(2012).
Figura 3: Banco de dados suportados pelo Hibernate
2.6
SISTEMA ATUAL
Atualmente não há sistema automatizado para testes referentes a relatórios na Pública
Informática. O responsável pelo teste gera os relatórios em formato PDF, ou até mesmo
impressos em papel, e compara manualmente se os valores estão de acordo em cada um dos
anexos da LRF. Se houver alguma diferença, esse deve repassar a inconsistência ao
programador para que possa identificar o motivo ou o problema da diferença. Muitas vezes
devido à quantidade de testes e à necessidade de rapidez de tais testes, pode passar
despercebida uma inconsistência nos valores de algum dos relatórios.
22
A Figura 4 apresenta o fluxo atual do processo de teste de relatório, apesar de não
existir um procedimento normatizado de testes na empresa.
Figura 4: Fluxo do processo atual
As Figuras 5 e 6 apresentam um exemplo do valor total de Receitas Correntes,
denominado de Receita Corrente Líquida, que é comum entre o Anexo III da RREO
(TESOURO NACIONAL, 2003a) e o Anexo II da RGF (TESOURO NACIONAL, 2003b).
23
Figura 5: Valor da receita corrente líquida no anexo III da RREO
Figura 6: Valor da receita corrente líquida no anexo II da RGF
2.7
TRABALHOS CORRELATOS
Pode se citar como trabalhos correlatos o sistema de auditoria de contabilidade pública
de Santa Catarina, nomeado e-Sfinge, e o sistema de auditoria contábil pública de São Paulo,
chamado Audesp.
Ambos possuem a finalidade de importar valores de receitas, despesas e contábeis das
prefeituras, fundos e outros. Esses sistemas disponibilizam leiautes padrões aos quais os
sistemas de contabilidade exportam em arquivo(s) para importar nesses sistemas. Ambos
sistemas, antes de iniciar a auditoria sobre esses arquivos importados, fazem uma validação
24
dos dados verificando dados cadastrais, somatória de valores e arquivos não importados.
2.7.1 Sistema de Fiscalização Integrada de Gestão
O Sistema de Fiscalização Integrada de Gestão (e-Sfinge) corresponde a uma família
de aplicativos altamente integrados e diretamente relacionados à atividade-fim do TCE-SC. O
sistema foi desenvolvido com base em tecnologias modernas utilizando-se ao máximo os
recursos da internet (TRIBUNAL DE CONTAS DE SANTA CATARINA, 2008?).
Ainda segundo o Tribunal de Contas de Santa Catarina (2008?), o sistema representa a
integração de todos os aplicativos de controle já constituídos pelo Tribunal. Também introduz
novos conceitos para a consolidação dos dados de gestão em remessas unificadas, emissão de
relatórios automáticos de avaliação, análise da gestão de cada município e do Estado e ampla
publicidade das informações.
A Figura 7 demonstra o leiaute do arquivo com os dados de lançamentos contábeis
disponibilizados pelo sistema e-Sfinge e a Figura 8 apresenta um exemplo de um arquivo
gerado pelo sistema de contabilidade pública no leiaute definido.
Figura 7: Leiaute do arquivo de lançamentos contábeis diponibilizado pelo sistema e-Sfinge
25
Figura 8: Exemplo de parte de um arquivo no leiaute padrão do sistema e-Sfinge
A Figura 9 apresenta a tela responsável pela leitura dos arquivos. Esses arquivos
devem ser salvos no diretório do próprio sistema para que o mesmo possa fazer a importação.
Figura 9: Tela de importação do arquivo no sistema e-Sfinge
Na Figura 10 é apresentada a opção para verificar as inconsistências. O sistema sempre
faz a verificação da última importação feita.
26
Figura 10: Tela de verificação de inconsistências no sistema e-Sfinge
A Figura 11 demonstra um exemplo de relatório de inconsistências apontadas pelo
sistema.
Figura 11: Relatório de inconsistências do Sistema e-Sfinge
2.7.2 Auditoria Eletrônica de Orgão Público
Segundo o Tribunal de Contas do Estado de São Paulo (2003?) o projeto Auditoria
Eletrônica de Órgãos Públicos é uma iniciativa do Tribunal de Contas do Estado de São Paulo
no aperfeiçoamento do controle de gestão governamental. O principal objetivo é com a
27
utilização da tecnologia da informação, aprimorar os procedimentos de coleta de dados e
informações dos órgãos fiscalizados, buscando maior agilidade nos trabalhos, aumento da
qualidade dos dados e como conseqüência natural, o cumprimento da missão constitucional de
fiscalizar e controlar as contas públicas paulistas com o máximo grau de eficiência e eficácia,
em benefício da sociedade.
Na Figura 12 pode-se verificar o leiaute do arquivo referente a dados contábeis do
sistema e na Figura 13 um exemplo de um arquivo no leiaute definido.
Figura 12: Leiaute do arquivo de lançamentos contábeis do sistema Audesp
Figura 13: Exemplo de arquivo de lançamentos contábeis no sistema Audesp
A Figura 14 demonstra a importação do arquivo XML na ferramenta disponibilizada
28
para transmissão do arquivo via internet para o sistema Audesp.
Figura 14: Importação do arquivo XML para envio ao sistema Audesp
A Figura 15 demonstra o sistema web Audesp apresentando uma mensagem de aviso
sobre inconsistências pendentes.
29
Fonte: Tribunal de Contas de São Paulo (2007?).
Figura 15: Tela de inconsistências pendentes do sistema Audesp
A Figura 16 apresenta todos os arquivos que possuem inconsistências existentes nos
envios dos arquivos.
Fonte: Tribunal de Contas de São Paulo (2007?).
Figura 16: Tela de visualização dos arquivos de inconsistência do Sistema Audesp
A Figura 17 apresenta um exemplo de relatório de inconsistências apresentado pelo
sistema.
30
Figura 17: Exemplo de um relatório de inconsistências do sistema Audesp
31
3 DESENVOLVIMENTO DA FERRAMENTA
Neste capítulo serão abordados os tópicos sobre o levantamento das informações, as
especificações, a implementação e a operacionalidade da ferramenta.
3.1
LEVANTAMENTO DE INFORMAÇÕES
O setor de qualidade da empresa Pública Informática utiliza testes manuais para
conferir valores dos relatórios da Lei de Responsabilidade Fiscal. Assim surgiu a necessidade
de automatizar a conferência dos valores dos totais dos Relatórios da Lei, com o
desenvolvimento de uma ferramenta para auxiliar e garantir que os valores totais dos níveis de
receitas, despesas e contábeis sejam iguais nos relatórios onde aparecem. Com isto, garante-se
ao usuário final relatórios mais íntegros e evita-se problemas com reclamações ou até mesmo
com o Tribunal de Contas do Estado de Santa Catarina.
Para uma melhor mobilidade e mais fácil acesso, foi escolhido desenvolver a
ferramenta em plataforma web utilizando a tecnologia Java Server Pages (JSP). Através da
disponibilização de um leiaute padrão dos valores de cada relatório da Lei de
Responsabilidade Fiscal no formato XML é possível centralizar todos os relatórios e seus
valores em um único arquivo. Como no sistema de contabilidade da Pública os relatórios da
lei são gerados em tabela de memória antes de serem visualizados, torna-se possível a
exportação dos valores para um arquivo conforme o leiaute proposto pela ferramenta. Em
uma continuação desse trabalho outras empresas que tenham a necessidade de testar seus
relatórios da Lei de Responsabilidade Fiscal poderão exportar para a ferramenta e validá-los
também.
A ferramenta possui relatórios com os valores e críticas a respeito de inconsistências
encontradas entre os valores dos Anexos da LRF gerados pelo sistema de Contabilidade
Pública. Esse relatório irá conter o nome do relatório, a linha com divergência e os valores
discrepantes.
O controle de acesso permite vários usuários utilizarem a ferramenta, gerenciados
através de um cadastro de usuários, para o qual um administrador tem o privilégio de
manutenção.
Para integridade dos dados e futuras consultas, a ferramenta registra no banco de dados
todas as transmissões dos arquivos XML contendo os valores enviados pelos usuários.
32
A Figura 18 apresenta o diagrama de atividades do fluxo principal sugerido pela
ferramenta.
Figura 18: Fluxo de processo proposto pela ferramenta
3.1.1 ESPECIFICAÇÃO
Nesta subseção serão apresentados os principais requisitos funcionais (RF), requisitos
não funcionais (RNF), suas rastreabilidades com casos de uso, o diagrama de classes e o
modelo entidade-relacionamento (MER) da ferramenta. A descrição dos casos de uso pode ser
visualizada no Apêndice A.
No Quadro 1 são apresentados os requisitos funcionais da ferramenta com vínculo aos
casos de uso.
33
Requisitos Funcionais
RF01: A ferramenta deve permitir ao usuário cadastrado acessar sistema
através de um usuário e senha definida pelo mesmo.
RF02: A ferramenta deve permitir ao usuário alterar a sua senha de
acesso.
Caso de Uso
UC01
RF03: A ferramenta deve permitir ao usuário cadastrar novos leiautes
definidos pela STN.
UC03
RF04: A ferramenta deve permitir ao usuário cadastrar novos relatórios.
RF05: A ferramenta deve permitir ao usuário cadastrar novas linhas.
RF06: A ferramenta deve permitir ao usuário vincular uma linha
cadastrada a um relatório definido em um leiaute relatório.
RF07: A ferramenta deve permitir fazer a importação do arquivo XML
com os dados dos valores das linhas e relatórios.
RF08: A ferramenta deve permitir ao usuário visualizar um log de suas
importações de arquivo.
RF09: A ferramenta deve permitir ao usuário visualizar os relatórios
importados em cada importação de arquivo XML.
RF10: A ferramenta deve permitir ao usuário visualizar as linhas dos
relatórios importados em cada importação de arquivo XML.
RF11: A ferramenta deve permitir o usuário visualizar os valores das
linhas importadas em cada importação de arquivo XML.
RF12: A ferramenta deve permitir o usuário visualizar as críticas da
importação do arquivo selecionada, no período selecionado.
RF13: A ferramenta deve permitir o usuário supervisor visualizar as
importações de todos os usuários cadastrados.
RF14: A ferramenta deve permitir o usuário supervisor cadastrar novos
usuários e dar-lhes a permissão adequada.
UC04
UC05
UC06
UC02
UC07
UC08
UC08
UC08
UC08
UC09
UC10
UC11
Quadro 1: Requisitos funcionais
O Quadro 2 apresenta os requisitos não funcionais da ferramenta.
Requisitos Não Funcionais
RNF01: A ferramenta deve possuir controle de sessão, considerando que é um sistema web
online.
RNF02: A ferramenta deve poder ser executada nos navegadores Firefox 3.6 ou superiores
e Internet Explorer 8 ou superiores.
RNF03: A ferramenta deve ser desenvolvida em JSP e utilizar banco de dados MySQL.
RNF04: A ferramenta deve demonstrar as visualizações em forma de tabela.
RNF05: A ferramenta deve ter controle de acesso e privilégios atráves de um login
solicitando informações de nome e senha de login.
Quadro 2: Requisitos não funcionais
34
3.1.1.1 Diagrama de caso de uso
A Figura 19 mostra o cenário com as funcionalidades do sistema que o usuário testador
e supervisor podem realizar. O supervisor tem acesso a todas as funcionalidades do sistema e
o usuário possui apenas acesso a algumas telas conforme permissão no cadastro de usuários
definida pelo usuário supervisor.
Figura 19: Diagrama de casos de uso
35
3.1.1.2 Diagrama de classe
A Figura 20 demonstra o diagrama de classes da ferramenta.
Figura 20: Diagrama de classes da ferramenta
3.1.1.3 Modelo de dados relacional
A Figura 21 mostra o Modelo de dados Relacional, com base nas tabelas da ferramenta
e seus relacionamentos. O dicionário de dados desenvolvido para especificar o sistema é
apresentado no Apêndice B.
36
Figura 21: Modelo entidade-relacionamento da ferramenta
37
3.2
IMPLEMENTAÇÃO
A seguir são mostradas as técnicas e ferramentas utilizadas e a operacionalidade da
implementação.
3.2.1 Técnicas e ferramentas utilizadas
A ferramenta desenvolvida consiste em uma aplicação web, a qual foi concebida
utilizando-se a linguagem Java e JSP, funções JavaScript, framework JQuery e estilo de
página CSS. Como servidor do JSP, foi utilizado o Apache Tomcat 7.0.2.6, pela suas
vantagens.
“O Tomcat é um servidor de aplicações Java para web. É software livre e de código aberto,
surgido dentro do conceituado projeto Apache Jakarta e que teve apoio e endosso oficial da
Sun Microsystems como Implementação de Referência (RI) para as tecnologias Java
Servlet e JavaServer Pages (JSP). Atualmente, o Tomcat tem seu próprio projeto de
desenvolvimento independente, dentro da Apache Software Foundation. O Tomcat é
robusto e eficiente o suficiente para ser utilizado mesmo em um ambiente de produção”.
(APACHE, 2011?).
A implementação das classes e páginas do sistema foram feitas através da IDE
NetBeans 7.1.
O MySQL 5.5 foi utilizado como gerenciador de banco de dados da ferramenta, e o
HeidiSQL foi utilizado para manipular e visualizar os dados das tabelas.
O framework Hibernate foi utilizado para fazer a persistência entre o objeto da classe e
a tabela do banco de dados, conjuntamente com a API Hibernate Criteria para as consultas
mais simples. A Figura 22 demonstra a busca das linhas dos relatórios da ferramenta. Para as
buscas mais complexas foi utilizada a linguagem SQL, conforme a Figura 23.
Figura 22: Consulta da tabela LinhaRelatorio usando API Criteria
38
Figura 23: Consulta de validação de valores usando SQL
Para a leitura do arquivo XML foi utilizado a JDOM, que segundo Jdom (2002) é uma
API com código aberto desenvolvida em Java, com o intuito de facilitar a criação, leitura e
manipulação de documentos XML. A Figura 24 apresenta uma parte da rotina de importação
do XML da ferramenta.
Figura 24: Código fonte da importação com JDOM
Na Figura 25 é demonstrada a parte de código onde é feito o carregamento do arquivo
XML e a leitura do cabeçalho do arquivo que contém informações necessárias para a
ferramenta.
Figura 25: Código fonte da leitura do arquivo XML
39
A Figura 26 apresenta o trecho do código fonte na qual é feita a leitura do leiaute que
será utilizado para os leiautes dos relatórios que estão informados no arquivo XML.
Figura 26: Código fonte da leitura dos relatórios
3.2.2 Operacionalidade da implementação
Nesta subseção será apresentada a sequência de telas e operações para correta
utilização da ferramenta.
Ao abrir o sistema é apresentada a tela de login conforme a Figura 27. O login terá a
função de diferenciar o usuário supervisor dos demais usuários testadores e suas permissões.
O usuário supervisor tem permissão de acesso para toda a ferramenta, conforme a Figura 28.
Figura 27: Tela de login da ferramenta
40
Figura 28: Tela principal do usuário supervisor da ferramenta
O cadastro de usuário é necessário para que se tenha um controle de quem está fazendo
as importações dos arquivos e validando-os. O controle de permissões torna-se necessário
para que o usuário responsável pelo teste não altere dados que não são de sua
responsabilidade, conforme mostra a Figura 29. Na Figura 30 é demonstrado a tela principal
do usuário testador cadastrado, com apenas o acesso às funcionalidades definidas em seu
cadastro.
Figura 29: Tela do cadastro e permissões de usuários na ferramenta
41
Figura 30: Tela principal do usuário os menus de suas permissões na ferramenta
O cadastro de entidades refere-se ao cadastro da prefeitura, fundo, autarquia, fundação,
secretaria que será testado. Nessa tela são visualizadas todas as entidades cadastradas no
banco de dados como demonstrado na Figura 31. Esses dados podem ser cadastrados
manualmente, como demonstrado na Figura 32, ou então a própria importação do arquivo
XML fica responsável em adicionar essa entidade, caso ela ainda não exista no cadastro.
Figura 31: Tela de consulta das entidades cadastradas
42
Figura 32: Tela de cadastro de entidade
O cadastro de leiaute refere-se a qual portaria normativa da STN será montado a
estrutura do relatório e suas linhas. A Figura 33 mostra tela de consulta dos leiautes
cadastrados na ferramenta e a Figura 34 apresenta a tela de cadastro de leiautes.
Figura 33: Tela de consulta de leiautes da ferramenta
Figura 34: Tela de cadastro de leiaute da ferramenta
O cadastro de leiaute relatórios refere-se a estrutura do relatório e suas linhas que farão
parte do leiaute definido.
A Figura 35 apresenta a tela de consulta das linhas do leiaute e seus relatórios
vinculados. A Figura 36 apresenta a tela de cadastro de um novo leiaute para um novo
relatório e linha para um leiaute.
43
Figura 35: Tela de consulta das linhas do relatório e leiaute da ferramenta
Figura 36: Tela de cadastro de linhas do relatório e leiaute da ferramenta
O cadastro de relatórios refere-se aos relatórios/anexos que foram apresentados na
portaria publicada pela STN e serão validados pela ferramenta.
A Figura 37 demonstra a tela de consulta dos relatórios cadastrados e a Figura 38
apresenta a tela de cadastro de relatórios.
44
Figura 37: Tela de consulta de relatórios da ferramenta
Figura 38: Tela de cadastro de relatórios da ferramenta
O cadastro de linhas representa as linhas existentes nos relatórios que serão testados. A
Figura 39 apresenta a tela de consulta de linhas e a Figura 40 demonstra a tela de cadastro de
linhas.
Figura 39: Tela de consulta de linhas cadastradas na ferramenta
45
Figura 40: Tela de cadastro de linhas da ferramenta
A importação do arquivo XML, exportado pelo sistema de contabilidade pública, é
demonstrada na Figura 41. Se a importação dos dados foi concluída com sucesso, a
ferramenta irá apresentar uma mensagem (Figura 42). Caso o leiaute informado no arquivo
não esteja cadastrado na base de dados, a ferramenta irá apresentar a mensagem indicada
(Figura 43).
Figura 41: Tela de importação do arquivo XML da ferramenta
Figura 42: Tela da importação realizada com sucesso na ferramenta
46
Figura 43: Tela da importação com leiaute inválido na ferramenta
Todas as importações feitas são gravadas em um log e todos os usuários têm acesso às
suas importações, conforme Figura 44. O usuário supervisor tem acesso a todas as
importações feitas, como apresentado na Figura 45.
Figura 44: Tela do log de importações do usuário testador
47
Figura 45: Tela do log de importações de todos usuários
Em todas as importações é possível verificar quais relatórios foram importados (Figura
46), as linhas importadas desses relatórios (Figura 47) e os seus respectivos valores (Figura
48).
Figura 46: Tela dos relatórios importados
48
Figura 47: Tela das linhas importadas de cada relatório
Figura 48: Tela dos valores das linhas importadas pela ferramenta
A validação dos dados possui duas opções de visualização, a primeira é com as
inconsistências e com confirmação dos dados que foram importados (Figura 49) e a segunda é
somente as inconsistências, quando parâmetro “Visualizar somente inconsistências” estiver
marcado, como pode ser visto na Figura 50.
49
Figura 49: Tela de validação com o parâmetro “Visualizar somente inconsistências” desmarcado
Figura 50: Tela de validação com o parâmetro “Visualizar somente inconsistências” marcado
A ferramenta dispõe inicialmente de quatro validações de inconsistências:
a) a inconsistência de linhas com valores diferentes entre relatórios pode ser visto na
Figura 51. Na Figura 52 é demonstrada a mesma inconsistência de valor, porém ao
50
posicionar o cursor do mouse sobre a linha é apresentado um complemento de quais
os relatórios estão utilizando a linha inconsistente;
b) a inconsistência de relatórios não importados (Figura 53);
c) a validação de linhas não importadas (Figura 54);
d) a validação de linhas importadas mas não existentes no leiaute informado no XML
(Figura 55).
Figura 51: Mensagem de inconsistência de valor da ferramenta
Figura 52: Mensagem de inconsistência de valor com complemento dos relatórios
Figura 53: Mensagem de inconsistência de relatório não importado
Figura 54: Mensagem de inconsistência de linha não importada
Figura 55: Mensagem de inconsistência de linha importada
O sistema de contabilidade pública deve exportar os dados dos seus relatórios
conforme o leiaute disponibilizado pela ferramenta (Figura 56).
Caso o sistema de contabilidade pública exporte um código de relatório que não exista
no cadastro de relatórios, automaticamente a ferramenta o adicionará em seu cadastro. O
mesmo irá acontecer caso seja importada uma linha que não está definida no leiaute relatório.
51
Figura 56: Leiaute de importação da ferramenta
3.3
RESULTADOS E DISCUSSÃO
Após a implementação desse trabalho foram feitos vários testes em bases de dados
diferentes. Na maioria dos testes realizados não houve a ocorrência de nenhum tipo de
inconsistência. Foi realizado um teste no sistema da Pública em 21/05/2012, a qual foi
encontrada inconsistência referente ao valor total da receita corrente líquida entre o anexo III
RREO e o anexo II da GF.
A Figura 57 demonstra o valor da RCL que estava sendo apresentando no anexo III
RREO, que conforme a Figura 58 estavam divergentes.
52
Figura 57: Valor total da Receita corrente líquida no relatório anexo III da RREO
Figura 58:Valor total da Receita corrente líquida no relatório anexo II da RGF
53
A Figura 59 apresenta a inconsistência apontada pela ferramenta referente a
divergência entre os dois relatórios.
Figura 59: Tela da inconsistência do valor entre os relatórios anexo III e II
Em conversa informal com o diretor da empresa Pública Informática, junto com o
responsável pelo setor de qualidade, chegou-se aos seguintes benefícios que a ferramenta
proporciona:
a) um grande diferencial, pois é de grande importância esse tipo de ferramenta de
apoio interno para a empresa;
b) criar um leiaute padrão para esses relatórios, sendo que os mesmos podem ser
usado para outras ferramentas ou aplicativos com outras finalidades;
c) por ser web a possibilidade de funcionários externos estarem validando os relatórios
diretamente nos clientes;
d) agilidade e maior produtividade para o setor de qualidade e desenvolvimento.
Em relação aos trabalhos correlatos pode-se verificar que a ferramenta possui um
leiaute padrão com os dados que serão importados, e a mesma faz validações de
inconsistências, que assim como os sistemas e-Sfinge e Audesp, objetiva a integridades dos
dados que serão gravados antes de serem auditados. A partir do estudo desses sistemas, foi
possível conceber a ferramenta desenvolvida.
54
4 CONCLUSÕES
Neste trabalho foi proposto o desenvolvimento de uma ferramenta para auxiliar o setor
de qualidade nos testes dos relatórios da lei de responsabilidade fiscal da empresa Pública
Informática.
Os objetivos gerais e específicos foram cumpridos, sendo que a ferramenta está
validando os valores e dados importados, foi criado um leiaute padrão para a ferramenta e
disponibilizada em um web hosting para acesso externo.
Foram utilizados diversos frameworks e APIs para o desenvolvimento dessa
ferramenta, sendo que todos tiveram grande importância para a maior agilidade no
desenvolvimento. O CSS foi utilizado para criar estilos para as páginas da internet, já o
JQuery foi útil para padronizar as tabelas das consultas e criar funcionalidades de ordenação
nas colunas da mesma. O Jdom, foi responsável pela leitura e escrita no arquivo XML.
Esse trabalho também demonstra uma ferramenta de apoio com a finalidade de testar
valores que tenham importância entre vários relatórios.
Conclui-se com a realização deste o aumento do conhecimento sobre as aplicações
desenvolvidas para o ambiente web, desde o desenvolvimento utilizando JSP até as
integrações que são possíveis de serem realizadas, como a integração do framework Hibernate
em um projeto Java utilizando anotações nos atributos das classes.
Também pode se destacar a grande importância para a empresa Pública Informática o
desenvolvimento e utilização desse tipo de ferramenta. Assim dando mais agilidade,
produtividade e automatização em processos que ainda são manuais.
4.1
EXTENSÕES
Como extensão dessa ferramenta, pode ser feita a implementação de uma validação
entre importações, onde o usuário deverá informar duas importações que deverão ser
comparadas. A ferramenta então irá validar e mostrar ao usuário testador a diferença
encontrada entre a importação A e B.
Outra implementação que pode ser feita é a validação dos valores por mês - por
exemplo, o sistema de contabilidade pública exporta os valores até o mês de dezembro, a
ferramenta então valida os valores de cada mês entre os relatórios, assim informando qualquer
inconsistência de valor em algum mês.
55
REFERÊNCIAS BIBLIOGRÁFICAS
ALMEIDA, Maurício Barcellos. Uma introdução ao xml, sua utilização na internet e
alguns
conceitos
complementares.
[S.l.],
2002.
Disponível
em:
<http://www.ibict.br/cionline/include/getdoc.php?id=456&article=173&mode=pdf>. Acesso
em: 21 abr. 2012.
APACHE. The Apache Tomcat 5.5 Servlet. Los Angeles, [2011?]. Disponível em: <http
http://tomcat.apache.org/download-55.cgi >. Acesso em: 21 abr. 2012.
BAUER, Christian; KING, Gavian. Java Persistence com Hibernate. Rio de Janeiro:Editora
Ciência Moderna Ltda., 2007.
BEZERRA FILHO, João Eudes. Contabilidade pública: teoria, técnica de elaboração de
balanços e 500 questões. 2. ed. Rio de Janeiro: ELSEVIER, 2006.
BRASIL. Constituição da república federativa do Brasil, de 5 de outubro de 1988.
Brasília: Senado Federal, Subsecretaria de Edições Técnicas, 2002.
FERNANDES, Raphaela G.; LIMA, Gleydson de A. F. Hibernate com Anotações. Natal,
2007.
Disponível
em:
<http://wiki.futurepages.org/lib/exe/fetch.php?media=quickstart:hibernate_anotacoes.pdf>.
Acesso em: 16 abr. 2012.
GRAVES, Mark. Projeto de banco de dados com XML. Tradução Aldair José Coelho
Corrêa da Silva. São Paulo: Pearson, 2003.
HIBERNATE. Relational persistence for Java and .NET. [S.l.], 2006. Disponível em:
<http://www.hibernate.org/>. Acesso em: 12 maio 2012.
JDOM. JDOM and XML Parsing, Part 1. [S.1], 2002. Disponível
<http://www.jdom.org/docs/oracle/jdom-part1.pdf >. Acesso em: 21 abr. 2012.
em:
KHAIR, Amir Antônio. Lei de responsabilidade fiscal: Guia de Orientação para as
Prefeituras. Brasília, 2000.
KOHAMA, Heilio. Contabilidade pública: Teoria e Prática. 8. ed. São Paulo: ATLAS S.A,
2001.
LIMA, Diana Vaz; CASTRO, Róbison Gonçalves. Contabilidade pública: Integrando
União, Estados e Municípios (Siafi e Siafem). São Paulo: ATLAS S.A, 2000.
MARCHAL, Benoit. XML: conceitos e aplicações. 1. ed. São Paulo: Berkeley, 2000.
56
TESOURO NACIONAL. Relatório resumido da execução orçamentária: Manual de
Elaboração.
Brasília,
2003a.
Disponível
em:
<http://www.tesouro.fazenda.gov.br/legislacao/download/contabilidade/manualrreo3.pdf>.
Acesso em: 20 mar. 2012.
TESOURO NACIONAL. Relatório de gestão fiscal: Manual de Elaboração. Brasília, 2003b.
Disponível
em:
<http://www.tesouro.fazenda.gov.br/legislacao/download/contabilidade/ManualRGF3.pdf>.
Acesso em: 20 mar. 2012.
THE JQUERY PROJECT, JQuery biblioteca JavaScript. Nova York, 2006. Disponível em:
<http://jquery.com/>. Acesso em: 28 mar. 2012.
TRIBUNAL DE CONTAS DE SANTA CATARINA. Guia da lei de responsabilidade
fiscal. 2. ed. Florianópolis: Tribunal de contas, 2002.
TRIBUNAL DE CONTAS DE SANTA CATARINA. E-Sfinge. Florianópolis, [2008?].
Disponível em: <http://www.tce.sc.gov.br/web/servicos/esfinge-informacoes>>. Acesso em:
21 abr. 2012.
TRIBUNAL DE CONTAS DE SÃO PAULO. Auditoria Eletrônica do Estado de São
Paulo: Manual Técnico - Operacional. São Paulo,[2003?]. Disponível em:
<http://www.tce.sp.gov.br/sites/default/files/Audesp_Manual_Tecnico_Operacional_v1a.pdf>
. Acesso em: 10 jul. 2012.
TRIBUNAL DE CONTAS DE SÃO PAULO. O que é o Audesp?. São Paulo,[2007?].
Disponível em: <http://www4.tce.sp.gov.br/content/audesp>. Acesso em: 21 abr. 2012.
57
APÊNDICE A – Descrição dos Casos de Uso
No Quadro 3 verifica-se o detalhamento do caso de uso Efetuar login.
UC01- Efetuar login
Ator: Usuário
Objetivo: Acessar o sistema.
Pós condições: Acesso ao menu principal do sistema.
Cenário principal:
1. Usuário informa seu nome de usuário e senha;
2. Ferramenta verifica se existe o usuário e se a senha é válida;
3. Ferramenta redireciona para menu principal.
Cenário Alternativo:
No passo 2, se o usuário não existir ou a senha não for a mesma cadastrada o sistema:
2.1 mostrar mensagem de usuário ou senha não cadastrados.
Quadro 3: Caso de uso efetuar login
No Quadro 4 verifica-se o detalhamento do caso de uso Alterar senha.
UC02- Alterar senha
Ator: Usuário
Objetivo: Alterar a senha do usuário.
Pré condições: O usuário deve estar conectado.
Pós condições: Senha alterada.
Cenário principal:
1. Usuário acessa cadastro de usuários;
2. Usuário informa a nova senha e a confirmação da senha;
3. Ferramenta compara a senha e a confirmação da senha;
4. Ferramenta grava a nova senha no banco de dados.
Cenário Alternativo:
No passo 3, se a senha e a confirmação da senha forem diferentes:
3.1 A ferramenta mostra mensagem avisando sobre a diferença.
3.2 Volta ao passo 2 do cenário principal.
Quadro 4: Caso de uso alterar senha
No Quadro 5 verifica-se o detalhamento do caso de uso Cadastrar leiaute.
58
UC03- Cadastrar leiaute
Ator: Usuário
Objetivo: Cadastrar um novo leiaute.
Pré condições: Usuário estar conectado e ter permissão ao menu de cadastro de leiaute ou
ser o usuário supervisor.
Pós condições: Cadastrado novo leiaute.
Cenário principal:
1. Usuário acessa o menu de cadastro de leiautes;
2. Usuário clica no botão para adicionar novo leiaute;
3. Usuário preenche os dados do ano e a portaria do leiaute;
4. Ferramenta valida se os dados foram preenchidos;
5. Ferramenta grava o novo leiaute na base de dados.
Cenário Alternativo:
No passo 4, se um dos campos não for preenchido:
4.1 Ferramenta mostra mensagem alertando que o campo deve ser preenchido;
4.2 Volta ao passo 3 do cenário principal.
Quadro 5: Caso de uso cadastrar leiaute
No Quadro 6 verifica-se o detalhamento do caso de uso Cadastrar relatório
UC04- Cadastrar relatório
Ator: Usuário.
Objetivo: Cadastrar um relatório.
Pré condições: Usuário estar conectado e ter permissão ao menu de cadastro de relatórios ou
ser o usuário supervisor.
Pós condições: Cadastrado novo relatório.
Cenário principal:
1. Usuário acessa o menu de cadastro de relatórios;
2. Usuário clica no botão para adicionar novo relatório;
3. Usuário preenche os dados do código e nome do relatório;
4. Ferramenta valida os dados se os dados foram preenchidos;
5. Ferramenta adiciona o novo relatório na base de dados.
Cenário Alternativo:
No passo 4, se o código ou o nome do relatório não foram preenchidos:
4.1 Se o código não for preenchido a ferramenta busca o próximo código válido;
4.2 Se o nome não foi preenchido a ferramenta mostra a mensagem que o nome do relatório
não foi preenchido;
4.3 Volta ao passo 3 do cenário principal.
Quadro 6: Caso de uso Cadastrar relatório
No Quadro 7 verifica-se o detalhamento do caso de uso Cadastrar linha.
59
UC05- Cadastrar linha
Ator: Usuário.
Objetivo: Cadastrar uma linha.
Pré condições: Usuário estar conectado e ter permissão ao menu de cadastro de linhas ou ser
o usuário supervisor.
Pós condições: Cadastrado nova linha.
Cenário principal:
1. Usuário acessa o menu de cadastro de linhas;
2. Usuário clica no botão para adicionar nova linha;
3. Usuário preenche os dados do código e nome da linha;
4. Ferramenta valida os dados se os dados foram preenchidos;
5. Ferramenta adiciona a nova linha na base de dados.
Cenário Alternativo:
No passo 4, se o código ou o nome da linha não foram preenchidos:
4.1 Se o código não for preenchido a ferramenta busca o próximo código válido;
4.2 Se o nome não foi preenchido a ferramenta mostra a mensagem que o nome da linha não
foi preenchido;
4.3 Volta ao passo 3 do cenário principal.
Quadro 7: Caso de uso Cadastrar linha
No Quadro 8 verifica-se o detalhamento do caso de uso Vincular linha para um leiaute
relatório.
UC06- Vincular linha em um leiaute relatório
Ator: Usuário
Objetivo: Vincular uma nova linha ao relatório do leiaute informado.
Pré condições: Usuário estar conectado e ter permissão ao menu de cadastro de leiaute
relatórios ou ser o usuário supervisor.
Pós condições: Nova linha vinculada a um determinado relatório de um leiaute.
Cenário principal:
1. Usuário acessa o menu de leiaute relatórios;
2. Usuário selecionar o leiaute e o relatório e clica em pesquisar;
3. Usuário clica no botão para adicionar nova linha;
4. Usuário seleciona a linha que deseja adicionar;
5. Ferramenta adiciona a nova linha para o leiaute e relatório na base de dados
Quadro 8: Caso de uso vincular linha para um leiaute relatório
No Quadro 9 verifica-se o detalhamento do caso Importar XML.
60
UC07- Importar XML
Ator: Usuário
Objetivo: Importar um novo arquivo XML para validação.
Pré condições: Usuário estar conectado e ter permissão ao menu de importação de XML
relatórios ou ser o usuário supervisor.
Pós condições: Valores das linhas do relatório adicionadas na base de dados.
Cenário principal:
1. Usuário acessa no menu Importar XML;
2. Usuário clica no botão para selecionar arquivo;
3. Usuário clica no botão importar;
4. Ferramenta carrega arquivo XML e importa os dados para a base de dados;
5. Ferramenta finaliza mostra mensagem de finalização da importação.
Cenário Alternativo:
No passo 3, se o leiaute informado no arquivo não estiver cadastrado:
3.1 Ferramenta vai mostrar uma mensagem dizendo que o leiaute é inválido;
3.2 Volta ao Cenário principal.
Quadro 9: Caso de uso importar XML
No Quadro 10 verifica-se o detalhamento do caso de uso Visualizar importações
UC08- Visualizar importações
Ator: Usuário
Objetivo: Visualizar todas as importações feitas pelo usuário.
Pré condições: Usuário estar conectado e ter permissão ao menu de Visualizar importações
ou ser o usuário supervisor.
Pós condições: Visualizar todas as importações feitas por ele e os detalhes dos dados
importados.
Cenário principal:
1. Usuário acessa menu Visualizar importações;
2. Ferramenta mostra todas as importações do usuário;
3. Usuário seleciona a importação;
4. Ferramenta mostra os relatórios importados;
5. Usuário seleciona o relatório;
6. Ferramenta mostra as linhas importadas;
7. Usuário seleciona a linha;
8. Ferramenta mostra os valores da linha por mês e ano.
Quadro 10: Caso de uso visualizar importações
No Quadro 11 verifica-se o detalhamento do caso de uso visualizar inconsistências.
61
UC09- Visualizar inconsistências
Ator: Usuário
Objetivo: Visualizar as inconsistências e informações de uma determinada importação.
Pré condições: Usuário estar conectado e ter permissão ao menu de Validar inconsistências
ou ser o usuário supervisor.
Pós condições: Visualizar as inconsistências.
Cenário principal:
1. Usuário acessa menu Validações de dados;
2. Usuário selecionar a importação que deseja visualizar;
3. Usuário clica no botão visualizar;
4. Ferramenta faz as validações que foram feitas e visualiza para o usuário.
Quadro 11: Caso de uso visualizar inconsistências
No Quadro 12 verifica-se o detalhamento do caso de uso Visualizar todas importações
UC10- Visualizar todas importações
Ator: Supervisor
Objetivo: Visualizar todas as importações feitas por todos usuários.
Pré condições: Supervisor estar conectado.
Pós condições: Visualizar todas as importações feitas por todos usuários.
Cenário principal:
1. Supervisor acessa menu Visualizar importações;
2. Ferramenta mostra todas as importações.
Quadro 12: Caso de uso Visualizar todas importações
No Quadro 13 verifica-se o detalhamento do caso de uso Cadastrar usuário.
UC11- Cadastrar usuários
Ator: Supervisor
Objetivo: Cadastrar um novo usuário.
Pré condições: Supervisor estar conectado.
Pós condições: Cadastrado novo usuário.
Cenário principal:
1. Supervisor acessa o menu de Cadastro de usuários;
2. Supervisor clica no botão para adicionar novo usuário;
3. Supervisor preenche os campos referentes aos dados do usuário e suas permissões;
4. Ferramenta valida as informações preenchidas;
5. Ferramenta adiciona novo usuário na base de dados.
Cenário Alternativo:
No passo 3, se algum campo não foi preenchido :
3.1 Mostrar mensagem do campo que falta ser preenchido.
3.2 Volta ao passo 3 do cenário principal.
Quadro 13: Caso de uso Cadastrar usuários
62
APÊNDICE B – Dicionário de dados
Este apêndice apresenta o dicionário de dados de tabelas do sistema, e visa fornecer
uma breve descrição das tabelas e seus respectivos campos.
O campo chave é nomeado como “id” e sempre existirá em toda a entidade. Os tipos
de dados de cada campo são descritos a seguir:
a) varchar: representa uma sequência de letras ou números;
b) int: representa números inteiros;
c) date: representa uma data;
d) time: representa uma hora;
e) double: representa valores com decimal.
O Quadro 14 apresenta o dicionário de dados da tabela “entidade”.
Tabela: ENTIDADE
Tabela responsável por armazenar as informações relativas as entidades da ferramenta.
Colunas:
Nome
Tipo
Tamanho Obrigatório Descrição
Id
int
11
Sim
Chave primária representa o
id da entidade
codigo
int
11
Sim
Código da entidade no
sistema de contabilidade
pública
Nome
varchar 80
Sim
Nome da entidade
Quadro 14: Dicionário de dados da tabela entidade.
O Quadro 15 apresenta o dicionário de dados da tabela “usuario”.
63
Tabela: USUARIO
Tabela responsável por armazenar as informações relativas ao usuário da ferramenta.
Colunas:
Nome
Tipo
Tamanho Obrigatório Descrição
id
int
11
Sim
Chave primária representa o
id do usuário
nome
varchar 80
Sim
Nome do usuário
usuario
varchar 40
Sin
Nome utilizado pelo usuário
para acessar a ferramenta
senha
Varchar 20
Sim
Senha do usuário
supervisor
char
1
Sim
Indica se o usuário é
supervisor
permentidade
char
1
Sim
Indica se o usuário tem acesso
ao menu de cadastro de
entidades.
permimportacao
char
1
Sim
Indica se o usuário tem acesso
ao log de importações
permimportarxml
Char
1
Sim
Indica se o usuário tem
acessao a tela de importação
de arquivo XML
permleiaute
Char
1
Sim
Indica se o usuário tem acesso
ao cadastro de leiautes
permleiauterelatorio Char
1
Sim
Indica se o usuário tem acesso
ao menu de vincula de linhas
de leiautes relatorio
permlinha
Char
1
Sim
Indica se o usuário tem acesso
ao cadastro de linhas
permrelatorio
Char
1
Sim
Indica se o usuario tem acesso
ao cadastro de relatórios
permusuario
Char
1
Sim
Indica se o usuario tem acesso
ao cadastro de usuarios
permvalidarelatorio Char
1
Sim
Indica se o usuairo tem acesso
a tela de validação de
inconsistências
Quadro 15: Dicionário de dados da tabela usuário
O Quadro 16 apresenta o dicionário de dados da tabela “usuario”
Tabela: LEIAUTE
Tabela responsável por armazenar as informações relativas aos leiautes da ferramenta.
Colunas:
Nome
Tipo
Tamanho Obrigatório Descrição
id
int
11
Sim
Chave primária representa o
id do leiaute
ano
Int
11
Sim
Ano da portaria
Portaria
Varchar 80
Sim
Descrição da portaria
Quadro 16: Dicionário de dados da tabela leiaute.
64
O Quadro 17 apresenta o dicionário de dados da tabela “relatorio”
Tabela: RELATORIO
Tabela responsável por armazenar as informações relativas aos relatórios da ferramenta.
Colunas:
Nome
Tipo
Tamanho Obrigatório Descrição
id
int
11
Sim
Chave primária representa o
id do leiaute
Codigo
Int
11
Sim
Código do relatório
Nome
Varchar 255
Sim
Nome do relatório
Quadro 17: Dicionário de dados da tabela relatório.
O Quadro 18 apresenta o dicionário de dados da tabela “linha”
Tabela: LINHA
Tabela responsável por armazenar as informações relativas as linhas da ferramenta.
Colunas:
Nome
Tipo
Tamanho Obrigatório Descrição
id
int
11
Sim
Chave primária representa o
id do leiaute
Codigo
Int
11
Sim
Código da linha
Nome
Varchar 255
Sim
Nome da linha
Quadro 18: Dicionário de dados da tabela linha.
O Quadro 19 apresenta o dicionário de dados da tabela “LEIAUTE_RELATORIO”
Tabela: LEIAUTE_RELATORIO
Tabela responsável por armazenar as informações relativas as linhas dos relatórios de cada
portaria.
Colunas:
Nome
Tipo
Tamanho Obrigatório Descrição
id
int
11
Sim
Chave primária representa o
id do leiaute_relatorio
Leiaute_id
Int
11
Sim
Id do leiaute
Relatorio_id
Int
11
Sim
Id do relatório
Quadro 19: Dicionário de dados da tabela de leiautes dos relatórios.
O Quadro 20 apresenta o dicionário de dados da tabela “linha_relatorio”
Tabela: LINHA_RELATORIO
Tabela responsável por armazenar as informações relativas as linhas de cada relatório da
portaria.
Colunas:
Nome
Tipo
Tamanho Obrigatório Descrição
id
int
11
Sim
Chave primária representa o
id da linha_relatorio
Leiaute_relatorio_id Int
11
Sim
Id do leiaute relatório
Linha_id
Int
11
Sim
Id da linha
Quadro 20: Dicionário de dados da tabela de linhas relatório.
65
O Quadro 21 apresenta o dicionário de dados da tabela “importacao”
Tabela: IMPORTACAO
Tabela responsável por armazenar as informações relativas as importações da ferramenta.
Colunas:
Nome
Tipo
Tamanho Obrigatório Descrição
id
int
11
Sim
Chave primária representa o
id da importação
Data
Date
Sim
Data da importação
Hora
Time
Sim
Hora da importação
Versaosistema
Varchar 10
Sim
Versão do sistema que
exportou os dados
Entidade_id
Int
11
Sim
Id da entidade referente aos
dados.
Usuario_id
Int
11
Sim
Id do usuário que fez a
importação
mes
Int
11
Sim
Mês final que os dados foram
exportados.
Quadro 21:Dicionário de dados da tabela importação.
O Quadro 22 apresenta o dicionário de dados da tabela “leiaute_importado”
Tabela: RELATORIO_IMPORTADO
Tabela responsável por armazenar as informações relativas aos relatórios importados
Colunas:
Nome
Tipo
Tamanho Obrigatório Descrição
id
int
11
Sim
Chave primária representa o
id do relatório importado
Importacao_id
Int
11
Sim
Id da importação
Leiaute_relatorio_id Varchar 255
Sim
Id do leiaute e seu relatório
Quadro 22: Dicionário de dados da tabela de relatórios importados.
O Quadro 23 apresenta o dicionário de dados da tabela “valor_linha”
Tabela: VALOR_LINHA
Tabela responsável por armazenar as informações relativas as linhas importadas
Colunas:
Nome
Tipo
Tamanho Obrigatório Descrição
id
int
11
Sim
Chave primária
representa o id do valor
linha
Relatorio_importado_id Int
11
Sim
Id do relatório
importado
Linha_id
Int
11
Sim
Id da linha
Quadro 23: Dicionário de dados da tabela valor linha
O Quadro 24 apresenta o dicionário de dados da tabela “valor_linha_mes”
66
Tabela: VALOR_LINHA_MES
Tabela responsável por armazenar as informações relativas aos valores das linhas
importadas.
Colunas:
Nome
Tipo
Tamanho Obrigatório Descrição
id
int
11
Sim
Chave primária representa o
id da tabela
Ano
Int
11
Sim
Ano do valor
Mes
Int
11
Sim
Mes do valor
Valor_arrecadado
Double 15,5
Não
Valor arrecadado quando
receita
Valor fixado
Double 15,5
Não
Valor fixado quando despesa
Valor_Previsto
Double 15,5
Não
Valor previsto quando receita
Valor_movimentado Double 15,5
Não
Valor do movimento contabil
Valor_atualizado
Double 15,5
Não
Valor atualizado da despesa
Quadro 24: Dicionário de dados da tabela de valores das linhas por mês.
Download