摘要:
本文讨论了某省地税财税库行横向联网系统开发方法的选择与应用,该系统以国库为信息交换中心,以税收征管信息系统、电子申报中间业务平台、同城电子支付系统和国库综合业务核算系统为依托,主要实现征收税款实时清算入库税款自动销号、信息自由查询等功能。在项目开展期间,我担任系统分析师职责。本文以该系统为例,主要论述了信息系统开发方法在该系统中的具体应用。在需求阶段,通过用户访谈、问卷调查等方式获取用户需求,以完成系统的规划与分析;在构建阶段,通过分析该系统包含的对象、对象的属性及对象的关联来产生初始对象模型,以构造初始原型;在迭代阶段,通过和地税专家组交流,在完善需求的基础上完善对象模型,以建造出最终系统。通过以上技术使得项目顺利上线,获得用户一致好评。
(交流备考794896774)
正文
2012年2月,我所在的单位承接了某省地税财税库行横向联网系统的开发与设计,我在项目中担任系统分析岗位。该系统是由财政、国税、地稅、人民银行和商业银行等多家单位共同组成的电子缴税入库系统,是以国库为信息交换中心,以税收征管信息系统、电子申报中间业务平台、同城电子支付系统和国库综合业务核算系统为依托,实现征收税款实时清算、入库税款自动销号、相关信息自由查询的管理信息系统。纳税人不必专门到税务机关办理税收申报,足不出户就可以完成缴税。
该系统涵盖的机构包括(市、县区级)中心支库、专业行代理支库、财政前置与信息管理中心、国税地税海关前置、商业银行前置,并可以扩展至乡镇级支库。该系统应用软件主要由四部分组成,包括编码中心子系统、财税库行横向联网业务子系统、系统管理子系统、查询分析子系统。编码中心子系统主要提供联网系统的编码维护功能;横向联网业务子系统是由财政、税务、国库、银行等部门]业务系统联网进行财政收入管理的业务系统,它可实现实时扣款;系统管理主要提供参数设置、用户管理、用户日志、编码维护、系统数据备份恢复等系统功能;查询分析子系统主要提供给联网业务单位业务共享的編码信息、政策法规、国民经济参数等信息,以方便财政监督部门可以实时监控、网络查账,体现财政监督的灵敏与高效。因此要高质量的完成该系统,选择一种合适的开发方法至关重要。
目前常用的开发方法主要有三种,包括结构化方法、原型法、面向对象法。结构化方法把整个系统的开发过程分为若干阶段,然后一步一步地依次进行,前一阶段是后一阶段的工作依据。该方法比较注重开发过程的整体性和全局性,理论基础严密,但开发周期长,文档、设计说明繁琐,工作效率低,且不能很好地应对变化。原型法与结构化方法不同,原型法的核心在于先快速开发一个原型系统,然后通过反复修改来实现用户的最终系统需求。该方法适于用户需求开始时定义不清、管理决策方法结构化程度不高的系统开发,更宜被用户接受。面向对象方法强调从现实世界中客观存在的事物(对象)出发来认识问题,使系统开发者大大减少了对问题域的理解难度,从而使系统能更准确地反映问题域;改善了人员之间的交流和协作,对软件复用提供了强有力的支持。
结合上述分析,我们最终决定采用快速原型法与面向对象法组合应用的开发方案。该方案把软件生命周期分为4个阶段:需求阶段、构建阶段、迭代阶段和验收阶段;本文着重从前3个阶段来展开论述。
1、需求阶段
需求阶段的目标是完成系统的规划与分析。由于该系统涉及部门众多,用户需求很难一次性收集完整,加之地税局业务人员对财税库行横向联网具体能完成些功能不是很明确。我采用用户访谈、问卷调查等方式取得了用户的基本需求,在些基础上利用UML工具 Powerdesigner设计出系统基本用例图,明确系统大概范围,勾勒出大致系统边界。系统整体架构我们决定采用三层C/S、B/S混合方式,因为系统存在“内外有别“的制约,采用单一的架构不能满足系统需求,“内外有别”是指系统与外单位(如银行)数据库不能相互访问,需要通过应用服务器(本系统又称为前置机)来完成纳税人基本信息向银行传递与接收银行返回的纳税人缴纳信息,提高系统安全性和性能;对地税内部,通过浏览器完成纳税人批量代扣税款登记管理、对帐以及统计分析等业务。
2、构建阶段
构建阶段的目标是构造初始原型。在基本调查的基础上,尽量完整的分析现该系统包含的对象、对象的属性及对象的关联,产生一个初始对象模型,再由对象产生系统数据结构的初始框架,对对象活动、驱动这些活动的事件以及对象在这些事件驱动下的前后状态变化进行分析,进而产生系统的用户界面,得到系统的一个最初始的原型,这个原型只是—个系统框架,很多操作只是空动作,目的是向用户说明系统的功能和操作方法,以后随着开发进程以及需求眀确再逐步求精。如与银行通讯服务功能只有收发数据包等基本功能,安全性及性能暂时不考虑。整个构建过程,让用户也参与到我的设计中来,地税部门成立了一个业务专家小组,里面有业务处室领导、信息技术人员以及来自一线的税收管理人员与操作人员。他们为我构建这个模型提供了工作流程方面、业务领域方面不可或缺的经验,也为以后模型通过评审提供了有力支持。
3、迭代阶段
迭代阶段的目标是通过反复循环最终建造出系统。在每一次迭代过程中,通过和地税专家组交流,在完善需求的基础上,完善对象模型。同时,在完善需求交互的基础上进一步明确用户界面间关系,通过交互完成功能模型,并验证它的正确性。每一次迭代开发都是一个小项目,对要求的用例进行分析、设计、编码、测试和集成。完成一次迭代后向用户演示,并完成系统测试表明所要求的用例可以移到下一次迭代中去开发。每一次迭代过程都利用面向对象的技术来实现,而且都必须是增量式的:增加功能,修改缺陷,这一阶段中,面向对象技术的易维护和扩充、便于复用的优点得到充分体现。在迭代过程中,地税专家组向我们提出一个需求“在较短时间内完成纳税人税款申报缴纳,不能让纳税人等待”,但无法明确"较短时间”是多少合适。为完成这一需求,通过现场观摩、问卷调查的方式,明确了这个时间应该在2分钟内,并反复修改原型,完成了这一迭代需求。
通过快速原型法与面向对象方法的成功运用,使系统在较短时间内交付使用。迭代过程中地税专家组积极参与,间接减少了系统测试与上线培训时间。经过6个月的设计开发,最终项目于2021年8月顺利上线,交付给用户一个高质量、高可靠性、高易用性的系统,用户也给予我们较髙的评价。但开发过程中也不是一帆风顺、尽善尽美。原型开发我们团队使用了RAD开发工具,有些开发人员为了节约时间,同时也要有较好的用户体验,使用了一些未经验证的第三方免费控件,这些控件在开发时没有问题,也确实起到了美化界面的作用,但在测试时发现部分控件有漏洞,我们不得不在迭代过程中更换控件,导致工期有轻度延误。在这方面,我们制定了团队内部开发规范,指定相关开发人员只能使用公司内部控件,从而有效避免这个问题。
结尾:
实践证明,面向对象开发与原型开发组合应用是按期完成任务的一种成功开发方法,今后需要研究的是如何设计和建立一个使用这种方法开发平台,使用开发过程自动化、规律化;同时研究原型迭代与满足用户需求之间平衡问题。