孙 瑜
(黑龙江工业学院,黑龙江鸡西 158100)
职业院校划款网络平台的设计与实现
孙 瑜
(黑龙江工业学院,黑龙江鸡西 158100)
职业院校大多资金短缺,无力承担数百万元的数字化校园建设,我们提出一种整合学校现有软硬件的网络平台,来实现划款及校园内消费的基本功能。新方法不但节约资金,而且不必淘汰现有的软硬件设施,还可以有效提升收费工作的效率。
划款;java;Struts;actionform
目前,职业院校多采用多套软硬件实现收费及校园消费功能,例如:收缴学费用收费软件,学生食堂用食堂消费软件,学生电费、网费等大都采用人工处理,收费工作缺乏整体性,给师生员工带来较多不便,因此,急需构建统一的划款平台,改变落后的收费方式,提升收费工作的效率。
学校应与开设基本账户的银行合作,确保在校学生每人都有一张银行卡(该卡与银行应签过扣款及代发协议)。我们利用网络平台及网上银行实现银行卡和食堂饭卡互通(食堂卡机基本上都是由相关公司免费提供给学校)。这样我们可以通过大量设立食堂卡机来方便学生消费(包括水费、电费、网费等)。利用该网络平台及银行卡实现学生学费、宿费的代扣工作等。
网络平台架构是基于Java语言建立的,我们考虑到智能手机已经人手一部,在开发程序上我们选择了Java。Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。Java的魅力在于跨平台、动态的Web、Internet计算。在建设网络平台的同时,我们也开发手机APP,最终来实现终端和手机的并行操作。
2.1 本系统的需求分析
需求分析是软件开发的第一步,需求分析的目的是对系统进行评估、采集,分析系统的需求,理解系统需要解决的问题,重视系统实用性。本系统主要功能为学校收费软件和食堂划卡软件及银行卡的数据交互。
2.2 本系统的逻辑设计
该网络平台采用网络结构即B/S结构,包括表示层、业务逻辑层、数据访问层及数据层。表示层采用Struts构架,将Struts压缩包中lib目录下的所有jar包复制至web应用项目目录下,Struts框架实现MVC模型,使行显示、控制和模型部分相互分离,提高代码的可重复使用性。逻辑层使用Spring来实现,Spring的配置方法与Struts基本相同,框架中的jar包也需要在根目录下进行相关配置,Spring框架使用依赖注入的方式,使得逻辑组件在运行期被注入,提高了系统的可维护性,而且利用Spring框架的AOP,可以从面向对象的角度更好地强化系统中各个组件之间的兼容性,Spring的事务管理功能也是Spring框架的一个重要内容。数据访问层,该层主要完成“对象-关系”映射的建立,通过Spring使得开发中不再使用SQL语句来编写复杂的数据库访问程序,简化了对数据库的访问操作,提升了开发效率。同时通过映射的配置,可以建立业务对象之间的复杂关系。在这一层中主要使用Hibernate框架来实现,Hibernate是一个数据驱动代码自动生成工具,能够根据数据库中的内容生成相应的业务实体对象及数据访问对象。数据层主要是数据库,该系统中使用的是MYSQL数据库。数据访问层主要完成对数据库的访问,系统中要用到DAO类,有ManagerDAO StudentDAO等,这些DAO分别实现了各自的接口也继承了BaseRootDAO类 ,并实现了抽象类RootDAO。
2.3 具体设计
2.3.1 登陆模块。
为了增加系统的安全性,设置只有通过系统身份验证的用户才能使用本系统,为此必须要增加系统登录功能模块,用户登陆后根据权限显示相应数据信息。登陆模块我们事先将学生和教师的基础数据表导入数据库,包括学生收费号、身份证号、姓名、银行卡号、班级、联系电话、权限(见表1)。学生和教师可以通过权限进行不同的操作,学生可以更改自已的基本信息(不包括身份证和收费号),教师可以查询更改全部学生的所有信息。
表1 用户信息表结构
数据库中我们以身份证号为各个系统中的唯一识别号,这样我们就可以通过该平台与收费软件、食堂软件、网上银行进行互通。
2.3.2 学(宿)费的代扣模块。
(1)学校财务人员事先将每一年度的学生学(宿)费收费明细上传至数据库,学生通过收费号或身份证号查询所有年度的缴费额度(见表2)。
(2)学生在确认银行卡有足够额度的前提下,在平台上提交交费申请。
(3)财务人员每天下载一次申请扣款学生数据,并通过学校网银进行扣款。
(4)财务人员将扣款成功的数据导入学生收费软件进行开票并回传至数据库,学生可通过查询确认是否缴费成功,并到指定地点领取收据。
表2 学生查询数据库
注意在该数据库中,每个学生可以有多条信息,当学生进行查询时,显示该生全部的缴费信息,并且可以选择没有交费的年度进行交费,如交费成功,我们通过修改是否交费信息来做好标记。
表3 学生交费临时表
我们在下载临时表(见表3)后进行清空该表操,是为了避免财务人员重复下载数据。
2.3.3 银行卡转款至食堂卡模块
由于银行卡本身不能在食堂、水吧等进行直接消费,学生每当食堂卡没有额度时,都要去排队充值,通过该平台网络申请划账,不但可以让学生随时充值,也免除了食堂充值人员的工作量。具体方案如下:
(1)学生在平台上提交转账申请,由财务人员下载申请数据,通过学校网银进行扣款。学生通过标记确认扣款成功。
(2)食堂财务人员根据当日扣款成功数据,进行批量充值。
(3)当学生毕业时,方可通过网络平台申请注销食堂卡,食堂人员将注销人员数据报财务处,由财务人员统一将食堂卡余额通过网银批量划入学生银行卡中(见表4)。
表4 学生银行卡转款食堂卡数据库
3.1 建立视图
在Eclipse中用Struts建立视图。Struts是Apache软件研究基金下的jakarta项目的子项目,Struts是开源的框架。在本系统中Struts是一个很好的选择。在MVC模式中,视图是最重要的组成部分,它显示从模型中采集的数据,并负责用户输入数据和请求的传递,实现数据交互,并将这些数据和请求传递给控制器和模型。在Struts框架中,视图部分主要包括JSP页面和ActionForm。JSP页面用来控制模型中的数据、收集用户输入的数据。此外,在Struts框架中,与JSP相关的组件还有Struts的标签库。这样一来,我们在编写程序的过程中没有了复杂的Java代码,只是一些与显示相关的内容,实现了MVC中显示和逻辑相分离的要求。
3.2 设计ActionForm
ActionForm在Struts中专门用来传递表单数据,因此其方法包含了对表单初始化的reset()方法和验证表单的validate()方法。ActionForm也是javabean,在ActionForm中也包含了getXXX()方法和setXXX()方法。ActionForm在Struts中有两种:一种是静态ActionForm,另一种是动态ActionForm。在本系统中,Struts使用了DynaActionForm,即动态ActionForm。DynaActionForm采用声明的方式,将表单的属性在配置文件中设定,如果需要改变某些属性,只需改变配置文件即可,不存在代码重新编译的问题。
3.3 建立DAO类
要在Eclipse中使用Hibernate建立DAO类,DAO对象主要完成对数据库的访问。传统对数据库的访问通过JDBC来完成,但是使用jdbc来访问数据库一方面SQL语句比较复杂,另一方面访问程序中重复的代码较多。在本系统里我们使用Hibernate来解决这个问题,在访问中使用HQL语句来访问对象,使程序变得非常简单,同时Hibernate将数据源的各种参数定义在配置文件中,使开发变得更加简单。
该网络平台的优点在于投入小,可以整合现有数据资源,让学生不再去窗口交费充值,减少了财务人员在窗口等待收费的工作量。由于该平台是由学校、学生、银行三方构成,学校为中间方,可以保证学生及学校资金的安全。该网络划账平台由于不是自动划账,学生在交费后不能时时查看结果,需要在次日才能进行平台数据更新,造成了一定延时,并且财务人员和食堂工作人员需要定时下载和上传数据,将传统的收费模式变为数据处理。
[1]陈强.Java开发技术:由浅入深领会高效开发之道[J].清华大学出版社,2013.
[2]李钟尉.学通Java 的24堂课 [M].北京:清华大学出版社,2012.
[3]张元亮.布局JavaEE企业级开发 [M].北京:清华大学出版社,2013.
Class No.:TP311 Document Mark:A
(责任编辑:宋瑞斌)
Design and Implementation of Transferring Money Network Platform for Vocational College
SunYu
(Heilongjiang University of Technology, Jixi, Heilongjiang 158100,China)
Most of the vocational colleges are short of funds and unable to bear the millions of digital campus construction. Now we put forward a network platform which integrated existing hardware and software, to achieve the basic function of the transferring money and the consumption on campus. The new method not only save money, and there is no need to eliminate the existing hardware and software facilities.
transferring money; Java; Struts; ActionForm
孙瑜,硕士,讲师,黑龙江工业学院。
1672-6758(2017)08-0048-4
TP311
A