基于Web的三层结构财务系统框架设计及实现
2018-12-24吴珊珊
吴珊珊
(陕西财经职业技术学院 管理学院, 咸阳 712000)
0 引言
传统手工财务管理的方式已经无法满足现代化企业对于财务管理的需求,目前,创建财务管理系统,实现企业财务效率的进一步提高已经属于现代企业发展的主要内容,现代企业、事业单位已经创建局域网络,在信息网络技术不断使用的过程中,将科学管理作为主要核心的财务数据管理系统及管理信息化的主要内容。为了能够将网络的作用充分的发挥出来,财务管理科学性及高效性已经成为对企业信息化程度衡量的主要标志。也就是在业务处理的过程中,要保证财务信息权威性、严肃性,从而有效实现科学化、知识化决策及管理,并且还要实现各个部门之间财务信息收集、处理,创建具备先进技术、界面美感、运行稳定的财务系统,充分使用现代化的管理方法及技术、设备,使企业数据管理朝着信息化、自动化的方向发展。因此,本文基于web的三层结构实现财务系统框架的创建。
1 系统的需求分析
企业财务管理和其他领域管理相比较为特殊,企业规模大小、管理形式及从事行业都各有不同,从而使企业财务管理流程不同。企业财务管理一般主要包括报表、核算、财务处理及请款报销等。其中财务核算指的是财务信息管理中的主要模块,主要包括财务统计、凭证录入、发票管理及税务申报等;账款管理主要包括财务结算、报销及请款3部分;财务报表指的是在某段时间种企业财务状况的综合,也是财务管理中的主要内容[1]。
本文将现有财务系统划分成为三层框架实现设计,设计内容分别为:其一,企业财务数据管理系统表示层。此表示层主要利用B/S模式实现,其具备财务数据、凭证管理、系统初始化、账簿管理、系统设置、账套管理等模块;其二,使用中间件技术。中间件能够将分布环境中异构操作系统及网络协议进行评比,并且还能够提供分布环境中的通讯技术,中间件的程序结构实现稳定高层应用环境的定义,不管底层计算机硬件及软件如何更改,只要升级中间件,并且使中间件对外接口定义不发生变化,那么其中的软件也不需要变化,能够有效促进财务数据管理业务信息管理系统的维护、升级和移植;其三,数据层的使用。数据层的主要目的就是实现信息数据结构的存储,数据访问层能够实现数据库添加、选择、删除及更新,并且还能够为业务逻辑层提供访问数据函数和接口,创建基于系统的数据库,应用程序利用此层实现数据库的访问[2]。
2 财务系统的设计
根据以上需求,软件工程设计人员要实现项目的合理设计与开发,系统框架的设计质量和系统未来运行过程中的稳定性具有密切的联系,并且影响着系统开发人员代码的实现。
2.1 财务系统框架的三层架构设计
财务系统主要包括报价系统、客户信息系统、客户交易系统、后台管理系统、处理及控制系统等部分,为了能够有效实现财务系统中的子系统模块,就要使用多种开源技术,比如三层架构[3]。三层结构示意图,如图1所示。
图1 三层结构示意图
基于逻辑分析,系统属于三层架构,财务系统三层架构通过Spring Framework进行实现,核心技术使用Struts、Spring等三个开源技术,从低到高分别为控制层、数据存储层、外部访问层等。以此不仅能够确保信息安全性,还能够便于系统维护和升级。并且利用三层开发架构,还能够降低系统耦合度,并且使系统便于维护。
2.1.1 表示层设计
财务系统表示层使用功能Struts Framework,利用此功能开源技术部署到表示层中使用[4],财务系统表示层的框架,如图2所示。
图2 财务系统表示层的框架
通过图2可以看出体系架构如何实现客户请求的响应和各部分工作原理,财务资金交易系统中的Struts Framework也使用控制器方式,在系统中使用处理风险管理、处理交易、处理用户后台管理及处理用户后台交易管理等控制器实现相应模块的调用,并且有效实现相应财务资金管理系统的页面效果。
为了能够使用Struts框架对页面导航功能进行实现,通过时序图方式实现描述,在用户对服务器端发送HttpRequst的时候,服务器端中的Controller能够有效实现页面导航Action,之后返回到JSP页面中,之后在客户端浏览器中实现系统页面的更新。另外,为了能够有效解决财务系统表示层页面刷新速度较低的问题,使财务资金汇率信息能够满足市场变化需求,财务资金交易子系统使用Ajax技术,从而实现页面的快速刷新。为了有效配合Ajax技术在页面中的广泛使用,财务系统表示层结合DWR框架,能够有效实现财务资金信息页面异步无刷新调用财务资金子系统服务器数据[5]。
2.1.2 逻辑层的设计
财务系统业务逻辑层使用Spring Framework,其中包括两个业务逻辑层配置文件。其中Appolcation_service.xml能够有效实现事务管理,并且还能够实现数据库事务管理逻辑导向的处理。Bussiness action的主要目的就是对商业事务action文件进行处理,财务资金处理交易系统数据源通过交易源数据系统中获得财务资金信息,数据源系统数据主要来源于银行,财务资金信息数据传输的流程,如图3所示。
图3 财务资金信息数据传输的流程
处理系统业务子系统主要包括交易、报价、客户及监控管理等子系统,此子系统都是利用Spring Framework中Spriing AOP实现事务管理。财务资金交易系统业务逻辑层利用Application_hibernate文件实现数据库端数据信息的处理,利用此文件实现业务逻辑独享的处理。事务管理的主要目的就是实现业务逻辑处理管理,其主要是为了能够提高系统业务逻辑合理性。所以要将客户交易、后台交易、客户信息、后台管理、报价等模块中的业务逻辑作为切面。财务资金管理系统要实现基本业务事务管理bean类的创建,将其作为切面,之后利用对管理类继承方式实现简化配置,从而实现重复使用,以此能够实现在多种不同事务切面中管理的主要目的[6]。
2.1.3 数据层的设计
J2EE传统核心技术都是利用EJB设计持久层,但是此复杂性与大量的维护使现代系统无法满足需求,但是财务系统要使用最新映射技术才能够实现数据的持久化,此种持久化就是利用Hibernate框架映射数据库。使用此种方式只需要对操作对象在接口中定义,每次只要对接口调用就能够实现数据库映射操作,以此使数据访问性能得到有效的提高。之后配以业务层Spring就能够满足系统需求。使用Spring AOP事务管理功能实现数据库切入点管理,能够有效是实现财务管理系统中的各功能模块数据库的查询、插入及删除等操作[7]。AOP数据库事务的管理框图,如图4所示。
图4 AOP数据库事务的管理框图
2.2 财务系统的模块实现
财务管理系统涉及多种功能,所以在模块划分过程中要以不同功能特点为基础实现,本文根据财务信息处理流程,使系统功能模块划分成为以下几个模块。
2.2.1 用户登录模块
登录模块的主要目的就是实现用户登录信息的验证,在验证通过之后系统会以现代用户权限字典实现用户登录界面组成,不同权限用户登录界面也各有不同。系统登录要求用户能够重新设备设置用户名及密码,并且还能够曲线登录。本文系统模块在设计过程中以人性化设计原理为基础,在进入到系统之前会出现欢迎界面,之后用户点击确认按钮,系统会对用户名是否存在或者密码是否正确进行判断,全部验证之后进入到系统操作,假如不匹配,系统就会出现错误信息[8]。用户登录流程,如图5所示。
图5 用户登录流程
在系统安装部署之后,系统管理人员会为用户发布登录网址,利用此系统网址,就能够进入到登录页面中,利用分配的登录账号就能够实现系统的登录。
以下为系统登录实现部分代码:
create schema db_database01;
use db_database01;
create table tb_user(
id int(11) not null auto_increment primary key,
username varchar(15) not null,
password varchar(20) not null,
email varchar(45) not null
);
insert into tb_user values(1,"","");
2.2.2 初始设置模块
初始设置模块能够实现银行信息的初始化设置,比如余额、码表、核算科目、会计科目等。初始化设置实现界面,如图6所示。
图6 初始化设置实现界面
2.2.3 凭证管理模块
在用户注册成功之后,就能够登录到系统中开始操作。其中凭证管理界面中包括凭证过账、审核、录入、反过账、查询等,凭证管理业务流程及凭证管理业务的实现界面,如图7所示。
图7 凭证管理业务流程
其中凭证录入信息主要包括顺序号、凭证字、结算方式、凭证号、日期、审核、结算日期及结算号等[9]。
2.2.4 固定资产管理
财务系统中的固定资产管理模块的主要目的就是对银行固定资产进行有效管理,银行中的固定资产主要包括房产、银行仪器、设备等,对银行中设备来说,因为受到使用年限限制,所以要求定期实现设备的折旧处理及报表转移等工作,以不同情况为基础,每种的固定资产要求具备一定的报表和查询系统等。
2.2.5 财务分析模块
银行财务系统中的财务分析模块属于系统的主要构成部分,本文在设计过程中主要是实现财务报表对银行进行盈利、投资、业务和工作人员工资水平实施分析。银行财务分析种类较多,本系统使用趋势分析方法,对银行近期投资等多种情况使用曲线方式实现展示,从而对银行最近投资趋势等方面的情况实现分析。总而言之,利用银行财物分析能够使人们更加的掌握银行投资运营情况,并且对银行资金走向及资本结构进行有效的控制[10],财务分析业务的流程,如图8所示。
图8 财务分析业务的流程
以下为财务分析实现主要代码:
usage = "%prog [options] message"
parser = OptionParser(usage)
parser.add_option('-p', '--port', action='store',
type='int', default=7890, dest='port',
help='port number which server listens on')
parser.add_option('-s', '--server', action='store',
type='string', dest='server_addr',
help='server address')
parser.add_option('-q', '--quiet', action='store_false',
dest='verbose', default=True,
help="don't print status message to stdout")
options, args = parser.parse_args()
3 总结
通过对系统进行测试,表示系统在运行过程中较为稳定,并且数据处理较为迅速,能够有效促进企业信息化管理持续发展。通过现代化信息技术有效促进企业财务管理,此已经成为企业未来发展趋势。本文在对财务管理系统需求进行全面的分析后,使用基于web三层架构实现了财务系统框架及模块的设计,将企业财务管理系统中的主要功能与现代化技术相结合,使系统功能得到了进一步的提高。