新疆国税网络发票系统的设计与实现.docx
《新疆国税网络发票系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《新疆国税网络发票系统的设计与实现.docx(61页珍藏版)》请在冰豆网上搜索。
![新疆国税网络发票系统的设计与实现.docx](https://file1.bdocx.com/fileroot1/2023-6/5/03835350-5b08-4473-a923-b60a07e51c57/03835350-5b08-4473-a923-b60a07e51c571.gif)
新疆国税网络发票系统的设计与实现
专业学位硕士学位论文
新疆国税网络发票系统的设计与实现
DesignandImplementationofNetworkedInvoiceSystemforXinjiangTaxBureau
作者姓名:
李建
工程领域:
软件工程
学号:
40817364
指导教师:
完成日期:
2010年4月30日
大连理工大学
DalianUniversityofTechnology
大连理工大学学位论文独创性声明
作者郑重声明:
所呈交的学位论文,是本人在导师的指导下进行研究工作所取得的成果。
尽我所知,除文中已经注明引用内容和致谢的地方外,本论文不包含其他个人或集体已经发表的研究成果,也不包含其他已申请学位或其他用途使用过的成果。
与我一同工作的同志对本研究所做的贡献均已在论文中做了明确的说明并表示了谢意。
若有不实之处,本人愿意承担相关法律责任。
学位论文题目:
新疆国税网络发票系统的设计与实现
作者签名:
日期:
年月日
摘要
我国的税收信息化建设已经有了近30年的历史,在这30年里,税收信息化建设突飞猛进,已由最初进行文字录入发展为对数据、信息的广域采集、广泛共享、深度利用,引发了税收征管、行政管理、决策支持、外部信息利用、为纳税人服务等多项变革,推动着税收事业大步迈向现代化、规范化、高效化。
作为税收信息化工作的一个重要方面,网络发票是指利用互联网技术为纳税人提供一个普通发票使用平台,完成了发票开具、发票作废、发票缴销、发票验旧、信息自动采集等一系列功能,既加强了税源管理,又强化了纳税服务。
本文通过新疆国税网络发票系统的设计与实现,全面实践了现代的面向互联网开发的软件工程。
论文首先对本系统开发使用的相关技术进行了描述,阐述了新疆国税网络发票系统开发的项目背景。
与传统的软件开发,尤其是系统性软件开发不同,论文摒弃了传统的概要需求与详细需求的定义方法,提出了面向互联网特征的需求分析。
遵照软件工程开发设计原则,对网络发票系统从体系架构、及功能结构的整体设计及数据库进行设计,在系统实现阶段展示了功能,最后,在测试阶段阐述了测试策略及其方法。
关键词:
软件工程;互联网;网络发票;
DesignandImplementationofNetworkedInvoiceSystemforXinjiangTaxBureau
Abstract
ThehistoryofITapplicationofChinaTaxationwasabout30years.Duringthose30years,ITapplicationoftaxationhashadtremendousdevelopment,insteadoforiginalwordtyping,developedmultiplecollectionsofdataandinformation,broadsharing,anddeeputilization,aswellastaxationmanagement,governmentmanagement,decisionsupport,externalinformationutilization,andotherinnovativeservicesfortaxpayers.Thoseinnovationsimprovedtaxationindustrymovinguptomodern,regularization,andeffectiveness.AsanimportantpartofITapplicationoftaxation,networkinvoiceisanormalinvoiceusageplatformfortaxpayersbyusinginternettechnologywhichcanrealizeserialfunctionsofinvoicereceipt,invoicevoid,invoicerevoke,invoicecheck,andITautomationaswell.Thosefunctionsnotonlyenhancedtaxationmanagement,butalsoenforcedtaxservices.ThethesisstatesthedesignandexecutionofnetworkinvoicesystemofXinJiangstatetaxationthatcanfullyrealizemoderninternetorientedsoftwareengineeringdevelopment.
Thethesisdescribestherelativetechnologyusedfordevelopmentofthissystem,andillustratestheprojectbackgroundofnetworkinvoicesystemofXinJiangStateTaxation.Comparedwithtraditionalsoftwaredevelopment,especiallysystemsoftwaredevelopment,thisthesisbringsupthedefinitionofrequirementthataimsatinternetfeaturewhileabandonstraditionaldefinitionmethodofgeneralrequirementanddetailedrequirement.Obeysthesoftwareengineeringdevelopmentprincipleofdesign,carriesonthesystemstructureandthefunctionstructureoveralloutlinedesigntothenetworkinvoicesystem,finallyitdemonstratesteststrategyandmethodintestphase.
Keywords:
SoftwareEngineering;Internet;NetworkedInvoice;
引言
如果以20世纪80年代初期税务部门开始在税收工作中应用计算机为标志,我国的税收信息化建设已经有了近三十年的历史,但税收信息化的快速发展始于1994年实施以增值税为核心的税制改革。
1994年实行凭专用发票扣税的增值税制后,对保证税收收入稳定增长,促进社会经济健康发展起了非常积极的作用。
但在实施过程中,出现了犯罪分子利用增值税专用发票大量偷、骗国家税款的问题,犯罪活动一度非常猖獗。
传统的工作方法和工作手段已难以适应新形势的需要,我们不得不把目光转向了日益发展的现代化技术手段。
1994年,作为金税工程一期的增值税发票交叉稽核系统在50个大中城市试点,对加强增值税征收管理起到了积极作用、但金税工程一期并未能解决好信息录入的准确性和完整性问题,网络也没有覆盖全国,没有完全实现预期的效果,但它给我们提供了利用高科技手段解决增值税专用发票管理问题必须保证信息的准确性和完整性的启示。
于是以“一个平台、四个系统”为内容的金税工程二期应运而生了。
2000年,在总结实践经验的基础上,完善了金税二期的建设思路,提出了整体方案,加快了建设步伐。
国家税务总局到省、市、县国税局的四级网络全部联通。
金税工程二期的建成,实现把征管业务放到网上运行这样一种现代化的征管方式,有效解决犯罪分子利用增值税专用发票偷骗国家税款的问题,虚开增值税专用发票大要案下降趋势明显。
税务机关对增值税的征管工作逐步实现了系统化和规范化,以及不同环节在信息共享基础上的相互制约[1][2]。
以增值税专用发票防伪税控系统和交叉稽核系统为代表的金税二期工程,有效的解决了增值税专用发票通过网络进行开具、认证和全国交叉稽核的问题,有效的控制了税款的流失,但增值税专用发票仅针对于一般纳税人使用,虽然一般纳税人的普通发票也可以通过“一机多票”形式在防伪税控系统中使用,但还有80%多的小规模纳税人,在开具普通发票时不能使用这一系统,只能通过税务监制纸质发票(传统纸质发票),它以“定额撕开税务监制纸质发票”、“手工填写税务监制纸质发票”、“税控机具开具套打税务监制纸质发票”、“离线计算机开具套打税务监制纸质发票”等4种形式存在。
这四种方式全部都缺少不了存在税务监制的纸质发票管理问题。
上述方式中,“定额撕开税务监制纸质发票”、“手工填写税务监制纸质发票”属手工开具范畴,“税控机具开具套打税务监制纸质发票”、“离线计算机开具套打税务监制纸质发票”属电脑套打开具范畴。
除“税控机具开具套打税务监制纸质发票”可以在每月申报时通过存储介质将纳税人开票情况汇总到现有的征管系统外,其余三种只能在纳税人需要购买空白发票时在报税大厅里由税务系统工作人员对开具的每本、每张发票的开具情况进行验旧录入,这一过程耗时、耗力,通常一本发票由操作熟练的工作人员录入大约需要5分钟时间,工作人员和纳税人普遍存在怨言,由于是手工录入,也难免会出现错误。
对于发票的这种管理方式,难以有效的反映纳税人的真实开票情况,假票、借开、乱开、代开发票等违法行为泛滥,造成国家税款的大量流失。
在当前,从实现业务目标角度出发,提升普通发票管理的最关键即是对传统发票进行利于快捷数据采集和方便数据利用的数字化管理。
利用各种计算机或税控机具加强对税务监制的“纸质发票”开具打印管理,会加强纸质发票的数字防伪性能,以及对纸质发票开具信息采集的快速和准确。
为加强普通发票管理,从源头上遏制制假、贩假、用假、代开、转借、虚开普通发票的违法行为,提高税源监控能力,按照总局信息管税的思路和“简并票种、统一票样、网络开票、建立平台”的要求,新疆国税着手设计、开发“网络发票系统”。
本系统利用互联网,采用“网络在线开具发票”方式,虽说同样存在税务监制纸质发票管理问题,属“传统纸质发票”范畴,但是“网络在线开具发票”方式通过互联网,利用“电脑套打在线开具”加强了纸质发票开具信息采集的“实时性”,从而在时效上加强了税务机关对纸质发票使用监管措施。
1项目背景与相关技术
1.1项目背景
从建国以来到90年代,我国的发票管理基本上通过手工操作来实现的。
90年代初期,随着计算机的普及,将发票管理内容及发票的流程编制出计算机程序,将发票纳入计算机管理,以此来提高工作效率。
从此,发票管理现代化进入了起步期。
自1994年起,国家对增值税专用发票的管理投入了大量的人力、财力,着手研制了金税工程,与此同时普通发票管理现代化也取得了长足的发展,各种税控收款机被研制、应用,但税控收款机普及率并不高,从技术上并没有彻底解决普通发票流程的全过程监控,增值税防伪税控系统采用发票的存根联信息与发票联(抵扣联)信息进行比对来证实发票使用的真实性。
但普通发票管理仅限于发票的收、发、存方面的管理,对纳税人的发票使用过程毫无监控能力。
理想的发票管理是发票纯电子化模式,它是以纯电子数据形态进行发票开具,税务监管的也只是纯电子形态的数据信息,进销双方纳税人通过下载电子数据获得发票信息。
该模式一般通过联机服务器端进行在线开具,或是通过离线发票数字化开票工具进行无纸化的离线电子开具。
理论上发票可实现无纸化和纯电子数据化,并以采取过严密技术防伪措施的电子数据为最终法律依据。
无纸化的发票电子数据还可通过收付款双方发票数据进行碰头“票票比对”和双方分别纳税申报时的“表票稽核”来进一步验证发票数据的真实性。
新疆国税目前发票管理还是传统的收、发、存模式,也开发过一些普通发票使用系统,但这些系统都处于离线状态。
考虑到当前财会制度的制约,新疆国税现在不可能真正把发票纯电子化代替传统的纸质发票,只能将传统的离线开票模式转变为再线开票模式,并将现有种类复杂的普通发票种类简化为少数几种。
根据前期关于普通发票开发经验和总结各省国税系统关于在线开票系统的使用经验,按照总局信息管税的思路和“简并票种、统一票样、网络开票、建立平台”的要求,新疆国税着手设计、开发“网络发票系统”。
1.2相关技术
1.2.1J2EE技术
(1)J2EE技术概念
Java2Platform,EnterpriseEdition(J2EE)是Sun公司推出了一种全新的概念模型,它与传统的互联网应用程序模型相比有着不可比拟的优势。
[3]
J2EE平台提供了一个多层结构的分布式应用程序模型,该模型具有重用组件的能力、基于扩展标记语言(XML)的数据交换、统一的安全模式和灵活的事务控制;使开发人员不仅可以比过去更快应对业务的改变而作出新的解决方案,而且其独立于平台、基于组件的J2EE解决方案不再受任何提供商的产品和应用程序编程界面的限制。
(2)J2EE技术架构
J2EE平台使用了一个多层的分布式应用程序模型。
应用程序的逻辑根据其实现的不同功能被封装到组件中,组成J2EE应用程序的大量应用程序组件根据其所属的层被安装到不同的机器中。
如图1.1描述了一个分布式J2EE应用程序,它可以分为如下四层:
①客户层
主要用来处理用户界面,一个J2EE客户端既可以是一个Web客户端,也可以是一个应用程序客户端。
客户端可以直接和运行在J2EE服务器中的业务逻辑层进行通信;如果是一个运行在浏览器中的客户端,也可以通过运行在Web层中的JSP页面或Servlet进行通信。
②WEB层(表现逻辑层)
主要用来生成和处理显示给用户的各种界面,并处理一些简单的业务逻辑,通常采用的技术是JSP和Servlet技术
③商业逻辑层(业务逻辑层)
图1.1多层结构的应用程序
Fig.1.1J2EEstructurediagram
商业逻辑层负责处理应用系统各部分功能模块的业务规则和商业逻辑,它由运行在业务逻辑层的enterprisebean处理。
一个enterprisebean可以从客户端接受数据,对它进行处理,并将其发送到企业信息系统层以作存储;同时它也可以从存储器获取数据,处理后将其发送到客户端应用程序。
④企业信息层
主要存放企业应用所需要的各种数据,主要包括各种数据库及相关的数据采集传输设备。
(3)J2EE技术优点
①简化结构
J2EE平台支持简化的、基于组件开发模型,由于J2EE基于Java编程语言和J2SE平台,它提供了编写一次,随处运行的可移植性,遵循J2EE标准的所有服务器都支持该模型。
EJB组件使编写应用程序更为简单。
尽管EJB体系结构复杂,但应用程序开发人员一般都必再编写访问系统服务的代码,EJB容器会实现系统级的服务,例如,事务、安全性等。
另外,J2EE还支持异构环境。
基于J2EE的应用程序不依赖任何特定操作系统、中间件或硬件,因此,设计合理的基于J2EE的程序只需开发一次就可以部署到各种平台,这在典型的异构企业环境中是十分关键的。
J2EE标准还允许客户订购与J2EE兼容的第三方的现成组件,把其部署到异构环境中,节省了由自己制订整个方案所需的费用。
2提高开发效率
由于组件技术的使用,可以按照开发人员的技能对应用程序开发进行分工,并行开发,提供整体开发效率。
例如:
图形设计师创建JSP模板,商业逻辑由该领域的专家完成,JSP页面和EJB由Java工程师完成,应用程序的装配和部署由团队中其他的成员完成,其中许多工作可以同时进行,有助于加速应用程序的开发。
3可移植性强
除了Java语言固有的可移植性外,EJB体系结构在Bean和支持该Bean的容器之间提供了一套标准化的应用程序编程接口,这使开发人员能够将Bean从一种操作环境移植到另一种操作环境,而无需重新编写其源代码。
4重用性好
由于在EJB模型中,各个软件组件都是严格分离的,因此,可以从现有的软件组件装配出服务器端应用程序,这与从现有的JavaBean可以装配出客户端应用程序一样,使软件能够重用。
5易于维护
基于组件的设计简化了应用程序的维护。
由于组件可以被独立地更新和替代,通过更新应用程序中特定的组件,新的功能可以被很容易地增加。
6可伸缩性
企业必须要选择一种服务器端平台,以便满足那些在它们系统上进行商业动作大批新客户。
基于J2EE平台的应用程序可被部署到各种操作系统上,例如,可被部署到高端UNIX或其他的大型机系统上。
J2EE领域的供应商提供了更为广泛的负载平衡策略,能消除系统中的瓶颈,允许多台服务器集成部署,实现可高度伸缩的系统,满足未来商业应用的需要。
7被广泛接受
目前主要的IT供应用商都采纳EJB体系结构,不同供应商的产品只要符合EJB体系结构,就都是可互操作的。
1.2.2MVC框架模型
(1)MVC技术介绍
在使用JAVA技术建立Web应用的实例中,由于JSP技术的发展,很快这种便于掌握和可实现快速开发的技术就成了创建Web应用的主要技术。
JSP页面中可以非常容易地结合业务逻辑(jsp:
useBean)、服务端处理过程(jsp:
scriplet)和HTML(),在JSP页面中同时实现显示业务逻辑和流程控制,从而可以快速地完成应用开发。
现在很多的Web应用就是由一组JSP页面构成的。
这种以JSP为中心的开发模型我们可以称之为Model1。
[4]
当这种开发模式在进行快速和小规模的应用开发时,是有非常大的优势,但是从工程化的角度考虑,它也有一些不足之处:
首先应用的实现一般是基于过程的,一组JSP页面实现一个业务流程,如果要进行改动,必须在多个地方进行修改。
这样非常不利于应用扩展和更新。
其次由于应用不是建立在模块上的,业务逻辑和表示逻辑混合在JSP页面中没有进行抽象和分离。
所以非常不利于应用系统业务的重用和改动,在这种情况下,要想开发大型Web应用时必须采用不同的设计模式---也就是采用Model2。
Model2是基于MVC模式的框架,MVC是Model-View-Controller的简写。
"Model"代表的是应用的业务逻辑(通过JavaBean、EJB组件实现),模型包含应用程序的核心的业务处理功能。
"View"是应用的表示面(由JSP页面产生),视图提供模型的表示。
它是应用程序的外观。
"Controller"是提供应用的处理过程控制(一般是一个Servlet),控制器对用户的输入作出反应。
它创建并设置相关业务处理模型对象(相当于任务分发中心)。
通过这种设计模型可以有效地分离数据处理和数据表现,从而弥补了Model1的不足。
模型--视图--控制器(Model-View-Controller,MVC)体系突出了Servlets和JSP的优点,同时也令它们的缺点最小化。
在实现中,用户请求被发送到一个控制器Servlet,该Servlet决定请求的性质,并且根据请求的类型传送给适合的处理器。
每个处理器都和一个特别的模型相关,里面封装有商业逻辑来执行一些特别的函数集合。
处理完毕后,结果会发送回处理器,处理器选择适合的视图显示它。
系统的体积架构图如图1.5所示:
图1.2MVC体系架构图
Fig.1.2MVCstructurediagram
(2)MVC的应用特点
应用的业务逻辑由MVC中的模式也就是EJB、javaBean来表现。
模式必须处理由控制器传递过来的对数据的访问请求。
多个页面组成了MVC中的视图,这些视图必须随模式一起更新。
控制器是一系列接收用户动作的对象,他们把用户的请求转换成模式可理解的请求,并决定显示那一个页面当模式处理完请求后。
通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。
这些组件可以进行交互和重用。
从而弥补了Model1的不足。
同时Model2具有组件化的优点从而更易于实现对大规模系统的开发和管理,但是开发MVC系统比简单的JSP开发要复杂许多,它需要更多的时间学习和掌握。
同时新东西的引入会带来新的问题。
这是因为必须基于MVC组件的方式重新思考和设计应用结构。
原来通过建立一个简单的JSP页面就能实现的应用现在变成了多个步骤的设计和实现过程。
所有的页面和组件必须在MVC框架中实现,所以必须进行附加地开发工作。
1.2.3Oracle技术
新疆国税网络发票系统是一个典型的OLTP系统,因此必需选择一个安全、稳定、可靠运行和易于维护的数据库,当前业界流行的数据库产品很多,有Sybase、Oracle、SQLServer、DB2等,本系统选择了Oracle10,因为Oracle在新疆国税具有以下优势:
(1)广泛的技术支持
新疆国税97年开始就开始使用Oracle7作为数据库、Developer2000作为开发工具,开发了核心税收征管系统,当时采用的区县级数据集中模式,该系统的开发和维护工作均为新疆国税信息中心的技术人员所承担,直到2003年总局在全国推广现在使用的C/S结构的综合征管软件才停止使用。
同时国税总局所推广的其他应用系统90%均采用Oracle数据库,总局的技术支持中心也有很多Oracle技术专家在日常在线进行问题的解答。
新疆国税每年都为全地区的计算机技术人员举办为期半年的Oracle技术培训班,经过多年的学习,新疆国税的技术力量足以支持今后系统的开发和维护,
(2)真正的企业级大型数据库
在近年来,Oracle数据库系统已经成为了遍及全球的主流数据库平台,多年来Oracle在全球数据库市场排名第一。
在中国,Oracle在金融保险业、电信、制造业、科技教育、能源交通、政府机关和航天航空到军队均拥有广泛的客户群体。
Oracle支持大数据库、多用户的高性能事务处理、分布式数据库和分布处理、高扩展能力等众多优势是其它数据库所无法比拟的。
(3)支持广泛的操作系统
新疆国税目前有上百台小型机和PC服务器,小型机有不同档次的IBM和HP,运行着和同版本的UNIX操作系统,PC服务器操作系统基本上是WINDOWS和LINUX,Oracle数据库目前支持操作系统最多的数据库,新疆国税目前所有已安装的操作系统均有相应的Oracle版本与之对应。
2需求分析
任何一个软件产品的开发过程都是从产品需求的确定开始的,在作为软件工程诞生的里程碑的“瀑布模型”中,需求被作为软件开发的四个阶段之一独立存在着。
一个产品如果需求定义错误,后期导致的成本代价就比较高。
以渐增型开发过程模型为导向的新疆国税网络发票系统的开发当然以需求分析开始。
2.1传统的需求分析方法
需求分析自从软件诞生以来一直就是软件开发的首要问题,但是长时间以来,需求定义都没有得到充分的重视。
自60年代爆发软件危机到今天,需求工程开始引起越来越人们的关注。
特别是我们目前正在走向“面向服务(Service-Oriented)”的软件工程时代,需求工程将占据空前重要的位置。
从软件工程诞生起就被认为是一项独立的任务,并随着软件工程的发展而发展。
80年代之前,需求工程领域最受人关注的是功能分解。
这是基于软件工程大师迪杰克斯特拉当时提出的分解概念,即把一个问题不断分解成几个部分,每次分解都有新的东西加进去。
后来由Rational公司提出统一