APP下载

基于J2EE的企业现金结算平台的开发

2018-02-28邓小燕

电子技术与软件工程 2018年13期
关键词:数据表数据库模块

邓小燕

摘要 本文从企业现金结算平台的建设目标出发,对平台进行了需求分析以及设计,选用J2EE开发平台,采用JSH模式及PostgreSQL数据库作为企业现金结算平台的技术架构。对整个结算平台的模块设计、框架设计、数据库设计及测试等工作进行了研究。

【关键词】现金结算平台 J2EE PostgreSQL测试

本论文所设计的企业现金结算平台是一款用于提高集团公司之间现金处理效率的软件平台。此款软件对集团化公司内部的现金流入流出情况进行了合理的分类与划分,规范了各类员工的具体职权。保证了集团公司现金结算的准确与高效,提供了多种结算报表,同时也为公司已有的其他系统提供数据,实现了数据共享,以及集团公司内部的网络化办公。

1 企业现金结算平台功能模块设计

本文根据企业现金管理的工作流程,设计了一个符合企业公司业务流程,且安全性高,稳定性好,扩展性强,操作简便的ERP系统。该ERP系统不仅可以实现现金结算的网络化操作;同时还可以提供人员和部门的相关信息,并可以设定权限,对员工进行增删改查;此外,现金结算完成的数据,以及其它的一些重要数据也有专门模块进行管理,并可为企业已有的其它系统提供数据。

根据调研分析,企业现金结算平台所涉及人员有五大类,分别是:一般用户(T)、审批者(M)、会计(P)、业务人员(G)、系统管理者(S)。从业务流程的角度,我们将系统划分为四大部分:结算部分,核对查询模块,权限管理模块,结算数据管理模块(如图1所示)。

在结算部分,我们实现分模块设计的方式来完成结算流程,以控制不同员工的职权。分为四个子模块:申请,审批,税务设定,报表输出。申请模块可以由任何类型的员工进入,对本人的申请进行增删改查,并查询审批状态审批模块由审批者,即M类型的员工进入,进行申请票单的逐级审批;税务设定模块由会计和业务人员进入,即P,G类型的员工进入,进行申请票单的检查,管理备用金,对审批完成的数据进行现金支付处理,现金支付处理完的票单数据也可以进行修改(金额不能修改)。报表输出模块也是由会计和业务人员进入,即P,G类型的员工进入,在这里主要是将处理完成的票单写入流水账,转移财务系统的数据,并可以生成相应类型的报表,打印输出。

核对查询模块,可以由会计和业务人员进入,即P,G类型的员工进入,分为三个子模块:预支清算状况,延迟结算预警,个别申请详细表示。预支清算状况是显示该支付出纳所属子公司下被精算的预支申请;延迟结算预警是对未处理的数据按选择延误的时间来检索未被处理的数据,用来提醒相关操作人员及时处理被延误的数据。个别申请详细表示这里可以根据申请票单的ID号,查阅这条申请数据的详细情况。

权限管理模块分为三个子模块:人员信息,部门信息,权限设定。人员信息模块提供了根据职员编号,姓名或者昵称的模糊检索,查阅选定员工详细信息的功能。部门信息模块提供了按部门查询部门所有员工,选择员工,查看详情的功能。这两个地方是可以由任何类型的员工进入查询的。当然,最重要的是权限设定模块,这里只能由系统管理员(S类型)进入设定设计权限类别,为员工赋权限。这里使用业务.权限.角色.用户的结构来设计权限模块。

结算数据管理模块下有三个子模块,分别是结算数据月末处理模块,数据上传下载模块,银行转帐单生成模块。由系统管理员(S类型)进入。在月末处理模块里,根据结算状态进行月末处理,结算完成的数据转移到相同表结构带有LOG标记表名的数据表中。数据上传下载模块里,完成了对数据库多张表格的上传下载功能,以便与其它系统共享数据。会计税单生成模块里生成根据会计系统要求的固定格式文件。

2 企業现金结算平台的技术框架设计

企业现金结算平台需要我们采用一次规划,分期实现的增量开发模型。具有可移植性,可扩展性和跨平台性的J2EE开发平台成为我们的首选,它已经成为目前开发B/S模式的Web应用的标准平台。基于J2EE开发的框架有很多,我们选用JSH (Jsf+Spring+Hibemate)模式,将平台架构分为五个层次:客户层、web层、业务逻辑层、持久层、数据层。这里的客户层我们指的是浏览器,用户可以通过浏览器访问我们的系统。数据层指的是数据库资源。我们会在后面对web层、业务逻辑层、持久层作出分析。

企业现金结算平台的开发使用Spring的安全框架Acegi来实现权限管理。JSF实现了模型与视图之间的完全解耦,使用MVC的设计模式,分离了视图层,模型层和控制层,提高了软件的可扩展性和稳定性;Spring作为一种实现了Ioc与Aop的轻量级容器,降低了Web开发的复杂度;Acegi作为Spring的安全架构,提供了丰富的安全解决方案。Hibernate对JDBC进行了轻量级的对象封装,方便开发人员使用面向对象编程的思想来操纵数据库。实践证明,使用整合JSH的开发平台,可以充分发挥各框架的优点,提高系统开发的效率和质量,降低Web开发的复杂度。

3 系统数据库设计

对于基于J2EE的web系统的开发来说,设计一个合理的数据库系统,是整个开发过程中的重要一环。一个优良的数据库系统,不仅可以简化开发的流程,降低代码的冗余度,还可以增加数据的独立性,安全性,提供系统运行的效率。因此,本系统在数据库的设计、开发过程中,关键的步骤就是数据表的设计。需要使用正确的数据结构,方便对数据的存取操作,即要使数据库规范化。本平台使用第三范式3NF来设计数据库,避免数据冗余。在比较了常见数据库系统的特点后,本系统根据自身的需要选用了PostgreSQL数据库系统。

我们在设计企业现金结算平台的数据库时把数据表分为三大类。一类是存放我们现金结算业务的数据表,一类是存放人员和部门信息的数据表,还有就是与权限相关的数据表。

3.1 业务相关数据表

根据现金结算业务的需求分析,为了便于系统的查询与审核数据功能的实现,我们首先得有一张用来存储申请数据的表格;其次数据被审核的状态,每条数据审核的状态,由谁做的审核,也应该有一张专表存储;最后,结算完成的数据也应整理到一张表格中;还有就是针对按月处理的结算完成的数据的备份表格了,本文设计了12张与现金结算业务相关的数据表,如表1。

3.2 系统信息相关数据表

我们来分析用来存放人员和部门信息的数据表。在遵循第三范式原则的基础上,我们可以将人员和部门信息拆分7张表,分别是:人事信息表、员工详细资料表、子公司表、部门表、部长信息表、职种表、技术工作类型表、人员关系表。

3.3 权限相关数据表

为了避免数据冗余和acegi框架配置的需要,我们在权限这里设计三张表:系统用户表、系统权限表、用户与权限关系表(如图2所示)。

(1) mt_auth表:系统权限表。用来存放用户权限配置信息,其中,authority字段存放以“role”开头的权限标志串。auth_type存放权限类型protected_res字段存放受保护的资源字符串。display字段存放权限显示名称。

(2) mt user info表:系统用户表。用来存放用户信息,即员工编号、姓名、密码。

(3) mt_user_auth表:用户与权限关系表。使用id worker和auth id作為复合主键。mtauth表和mt user mfo表是多对多关联,使用mt user auth作为关联表。

4 企业现金结算平台功能测试

系统测试是保证软件质量的关键步骤,是对系统设计是否全面,流程是否得以实现的最后复查。在测试阶段,我们对该系统进行了功能测试,用以检测该结算平台是否合理的实现了结算业务流程,能否满足客户的要求。在测试的策略上,我们采用了业务流程测试、非法数据测试、默认数据测试、数据是否清空测试、必填项测试、按钮功能测试、回车键和delete键测试、半角全角测试、确认提示信息测试、Javascript脚本错误检查等策略。

5 总结

该现金结算平台是根据集团公司之间现金结算业务流程而分析设计的一款ERP软件。旨在实现结算管理的网络化解决方案,提高结算的效率。利用ERP软件对金额进行系统化的统计与结算,降低人工纸面操作可能带来的数据错误。通过权限的设置实现了不同员工对模块的访问控制,解决了资金信息外露等问题。

参考文献

[1]张海藩.软件工程导论[M].北京:清华大学出版社,2008.

[2]惠刚,付超,使用JSF、Spring、Hibernate开发web应用[J].微计算机信息,2008,24 (3-3).

[3]路鹏,殷兆麟,基于Spring的Acegi安全框架认证与授权的分析及扩展[J],计算机工程与设计,2007 (06): 48-51.

[4]张美娜.基于J2EE银行信息安全监控系统设计与实现[D].厦门:厦门大学,2016.

猜你喜欢

数据表数据库模块
28通道收发处理模块设计
“选修3—3”模块的复习备考
基于列控工程数据表建立线路拓扑关系的研究
图表
基于VSL的动态数据表应用研究
集成水空中冷器的进气模块