毕业设计(论文)-MVC+Struts2+Hibernate企业资金财务管理系统设计.doc

上传人:哈尼dd 文档编号:3945990 上传时间:2019-10-10 格式:DOC 页数:41 大小:1.62MB
返回 下载 相关 举报
毕业设计(论文)-MVC+Struts2+Hibernate企业资金财务管理系统设计.doc_第1页
第1页 / 共41页
毕业设计(论文)-MVC+Struts2+Hibernate企业资金财务管理系统设计.doc_第2页
第2页 / 共41页
毕业设计(论文)-MVC+Struts2+Hibernate企业资金财务管理系统设计.doc_第3页
第3页 / 共41页
毕业设计(论文)-MVC+Struts2+Hibernate企业资金财务管理系统设计.doc_第4页
第4页 / 共41页
毕业设计(论文)-MVC+Struts2+Hibernate企业资金财务管理系统设计.doc_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《毕业设计(论文)-MVC+Struts2+Hibernate企业资金财务管理系统设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-MVC+Struts2+Hibernate企业资金财务管理系统设计.doc(41页珍藏版)》请在三一文库上搜索。

1、摘 要资金是企业财务活动中一项值得高度重视的、高流动性的资产,是企业高效运营的重要保障。资金管理系统基于Java EE技术,采用B/S模式,以MySQL作为后台数据库,Tomcat作为Web服务器,采用MyEclipse作为开发环境,使用Struts2+Hibernate技术开发完成。该系统从软件体系结构模式的角度入手,首先构建一个MVC(Model-View-Controller)模式的应用软件开发框架,然后在此基础上设计和实现了账务管理系统。在介绍MVC模式、Struts2和 Hibernate等相关理论的基础上,分析整个系统的功能需求,着重研究如何使用这些框架和技术开发跨平台、框架灵活、

2、稳定实用的资金管理系统的问题,并给出了网站系统整体架构设计。论文最后讨论了目前的资金管理系统有待完善和进一步研究的问题。关键词 账务管理 MVC模式 Struts2 Hibernate AbstractFunding, which is a worthwhile enterprise financial activities of high priority, high-liquidity assets, is an important guarantee for efficient operations business. In this paper, it firstly begins w

3、ith the software architecture patterns, then constructs an application software development framework which is built upon the MVC(Model-View-Controller) pattern, next describes the design and implementation of the Financial Management System. On the basis of introducing MVC model struts2 and Hiberna

4、te and other related theories.The paper focuses on how to use these technologies and development frameworks to build a cross-platform, flexible framework and stability practical Financial Management System. It also gives the implementation of the systems overall framework for designing based on Stru

5、ts, Hibernate, Ajax in the paper. The main advantages of this structure are as follows, it solves the problems of maintainability and extendibility in traditional website systems; it enhances the flexibility of the system and provides a good user experience. Finally, the paper discusses the points t

6、o be perfected and the problems to be further studied in the current Financial Management System.Key words financial management MVC pattern Struts2 Hibernate目 录摘要Abstract第一章 绪论 11.1 项目背景 11.2 项目研究目标 31.3 本文主要研究内容及章节结构4第二章 相关理论与工具 52.1 开发平台介绍 52.2 相关技术62.2.1 MVC模式的应用62.2.2 Struts 2框架的应用82.2.3 Hiberna

7、te 框架的应用6第三章 系统需求分析 93.1 管理人员功能的需求分析 93.2 决策人员功能的需求分析103.3 普通用户功能的需求分析113.4 系统功能结构图12第四章 系统总体设计124.1 系统整体构架图124.2 数据库设计144.3 资金管理系统构架的优势和不足17第五章 系统实现18 5.1 总体构架的实现18 5.2 业务收支模块的实现19 5.2.1 表示层实现19 5.2.2 逻辑层实现21 5.2.3 持久层实现22第六章 测试 236.1 软件测试介绍 23 6.1.1 软件测试概念23 6.1.2 软件测试内容246.2 系统主要模块的测试结果24 6.2.1 查

8、询收款记录测试24 6.2.2 增加收款记录测试25 6.2.3 修改收款记录测试26 6.2.4 删除收款记录测试27第七章 结论与展望 287.1 本文总结287.2 资金管理系统存在的不足287.3 系统的展望29致谢 31参考文献 32 38 第一章 绪论1.1 项目背景随着科技发展和社会进步,尤其是计算机大范围的普及,计算机应用逐渐由大规模科学计算的海量数据处理转向大规模的事务处理和对工作流的管理,这产生了以台式计算机为核心的管理信息系统在大规模的事务处理和对工作流的管理等方面的应用,在账务管理之中的应用日益增加。近年来我国信息产业发展迅速,采用IT技术提高服务质量和管理水平势在必行

9、。目前,对外开放必然趋势使企业直面全球企业的直接挑战,因此,企业必须提高其工作效率,改善其工作环境。这样,账务管理的信息化势在必行。在传统的账务管理中,其过程往往是很复杂的,繁琐的,账务管理以入帐和出帐两项内容为核心,在此过程中又需要经过若干道手续,效率十分低下,且由于他们之间关联复杂,统计和查询的方式各不相同;且会出现信息的重复传递问题,因此该过程需要进行信息化,以利用计算机进行账目管理。系统开发的整体任务是实现资金管理的系统化、规范化、自动化和智能化,从而达到提高企业管理效率的目的。本系统最关键的问题是要将企业经营中的账务进出记录流程电子化。具体通过部署企业服务器,资金进出记录中各环节的工

10、作人员通过操作终端来完成各项功能,对输出记录要有自动按升序或降序排序的功能。主要有以下几个难点:1、要完整并准确的实现企业的业务流程,由于企业内部运作情况错综复杂,以往的管理中有许多不易用程序简单实现的环节,需要对企业运作状况深入了解分析,与有关资金进出记录的各部门工作人员进行沟通,深刻理解他们的需求。2、资金进出记录系统的电子化要提高资金进出记录全部环节的效率,帮助企业员工提高效率,比如对于输入的数据进行验证,预防粗心造成错误。3、由于现代企业生产经营过程复杂,整个业务流程中涉及大量的数据,资金进出记录系统在将流程电子化的同时,也存储了企业的经营定单数据,这些数据对于企业领导经营决策,内部效

11、益分析都是非常有用的,所以数据的可靠性要求极高。系统要有完善的数据一致性保护机制,定期自动备份机制等等。4、企业生产流程变化极大,对于资金进出记录系统的需求也不会是一成不变的,因此系统应该有良好的架构,保证未来便于进行功能的修改和集成其他系统。要为企业其他环节的系统,例如人事管理,财务管理等系统预留接口。本账务管理系统是针对以上问题开发的,其用户主要面向中小企业的资金管理相关人员,也可用于个人,甚至扩展到大型企业,具有广泛的应用基础。款项管理系统采用B/S架构,更能提高网络在公司中发挥的重要作用。资金管理系统不断的提高公司的信息化程度,加快公司的信息化建设,有助于提高公司在信息时代的竞争能力,

12、适应当今计算机信息化高度发达的社会。1.2 项目研究目标设计、开发、实现账务的计算机自动化管理。随着计算机新技术的发展和应用的普及,人类已从工业时代迈向信息时代。大量复杂信息的产生和传播,随着信息技术的高速发展,在推动社会发展和经济的同时,也增加了个人和组织处理信息工作量和信息存储量。面对这种情况,以计算机等信息技术作为信息处理的重要工具,开发和应用信息系统是个人和组织的迫切需要,也是迎接信息挑战的唯一出路。信息管理系统是一门综合管理科学,信息科学,系统科学,计算机科学和通讯技术的新兴学科,用计算机管理日常事务即自动化管理已取代了传统的管理方式。款项管理系统属于信息管理系统。系统开发的总体任务

13、是实现与资金相关的各种信息的系统化、规范化和自动化,从而为用户带来更丰厚的利润和持续的竞争优势。1.3 本文主要研究内容及结构章节本文主要负责账务管理系统设计和实现的工作,重点探讨了系统整体架构设计与实现的问题。论文在需求分析的基础上进行了功能模块设计和数据库设计,结合MVC三层结构的经典实现框架Struts2,描述了利用此经典框架进行开发的一个具体实例资金管理系统。论文共分为七章,各章节的具体组织如下:本章主要叙述了项目提出的背景,项目的研究目标以及论文的组织结构。第二章探讨了MVC模式,Struts2框架,Hibernate框架等相关理论,并介绍了系统的开发工具。第三章简要说明了款项管理系

14、统的需求分析,并给出系统功能结构图。第四章详细分析了系统的总体设计。这一章重点介绍基于MVC软件构件模式的资金管理系统总体架构设计,以及数据库的设计,向读者展示了系统的流程。读者在读完这一章后对系统的总体框架设计能够有深入的理解。第五章详细介绍了系统的实现。首先介绍了总体架构的实现,然后以业务收支模块为例分别介绍了系统表示层、逻辑层和持久层的具体实现。第六章是系统的测试部分,本次开发过程中以黑盒测试为主,白盒测试为辅,本章中将对部分用例做简单说明。最后总结了全文,指出了系统的需要改进的地方和进一步的研究方向。第二章 相关理论与工具2.1 开发平台介绍系统的开发平台采用的是MySql5.0+To

15、mcat6.0+Jdk1.6.0+MyEclipse7.0,下面分别对这些开发工具进行介绍。1数据库MySql5.0作为一个支持并发连接、多用户、多线程的关系数据库系统,MySql在Java应用的开发中得到了越来越广泛的应用。MySql提供C、C+、Java等多种语言的API接口,而且它还支持多种平台,拥有灵活和安全的权限系统,对密码进行加密,可以处理大型数据。MySql是开源项目,可以方便地从网上下载,它不像Oracle数据库管理系统那样复杂、庞大,因此MySql被业界认为是Eclipse开发环境中数据库应用开发的最佳搭档。2 服务器Tomcat6.0Tomcat全名是Jakarta Tom

16、cat。它是在Sun公司的JSWDK的基础上发展起来的一款优秀的Servlet/JSP容器,也是Apacher-Jakarta组织的一个子项目。Tomcat是一种免费的开放源代码的Servlet容器。Tomcat作为一个Servlet容器,负责处理客户端的请求,把请求传送给Servlet并把结果返回给客户端。Tomcat服务器除了能够运行Servlet和JSP,还提供Web服务器的功能。3 集成开发环境MyEclipse7.0MyEclipse是在Eclipse集成开发环境中提供Web应用程序开发的插件,在目前软件开发的领域中,MyEclipse是一个使用非常广泛的工具,在该项目开发中选择的版

17、本是MyEclipse7.0。2.2 相关技术资金管理系统采用MVC模式,运用Struts2+Hibernate的技术进行设计和开发,这些框架和技术组合在一起具有很好的可扩展性和可维护性。下面分别介绍这些技术在资金管理系统中的应用。2.2.1 MVC模式的应用MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。模型(Model)

18、就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。业务模型还有一个很重要的模型那就是数据模型。数据模型主要指实体对象的数据保存(持久化)。控制(Controller)可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求,形象的说,是一个分发器。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。MVC模式的处理流程如图2.1所示。图2.1 MVC处理流程当用户请求、数据的采集和处理通过控制器

19、传递给模型,告诉模型做什么,选择符合要求的视图返回给用户;如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都将反映到这些变化。在本系统中,操作员在页面上选择添加业务收支信息,而Action将接受这种请求以及数据,并将这种请求以及信息传递给模型,由模型进行处理,保存到数据库中,下次用户需要查看所有业务收支信息时,模型经过Action将数据在页面显示出来。在本系统中,模型即是数据模型。2.2.2 Struts2 框架的应用系统采用Struts2,Sturts2可以自动封装从页面来的各种数据,这样节省了开发者大量的工作,并且Struts2也提供其他一些很好的功能如拦截器和类

20、型转换。Struts2的工作流程图如图2.2所示:2.2.3 Hibernate 框架的应用Hibernate实现了对象和关系数据库的互操作,封装了数据库的底层实现细节,并向应用逻辑提供接口,实现关系型数据库的透明访问。因而,Hibernate具备层次架构的特点,可以作为单独的层存在,负责数据处理逻辑,实现应用逻辑与数据库的交互。 Hibernate使用映射文件实现持久化类和数据库表的映射关系,在映射文件中,可以定义持久化类之间的各种关系,并使用特定的配置反映到数据库表的结构上,比如:持久化的关联关系,对应到数据库中,就是数据库表之间一对多或者多或多的关系。 在Hibernate配置文件中设置

21、数据库连接信息,导入映射文件后,通过特定的实现启动Hibernate,然后由Hibernate管理数据库的连接以及持久化类和数据库的映射关系;同时,向应用逻辑提供访问接口,实现数据的操作。Hibernate提供了很多可选的扩展接口,你可以通过实现它们来定制你的持久层的行为。第三章 系统需求分析根据资金管理系统的实际需求,系统的用户包括普通员工、决策人员和管理人员,所以系统角色有普通用户、决策人员和管理人员。不同角色的功能需求也不相同,下面是对上述不同角色的需求分析。3.1 管理人员功能的需求分析1)系统初始设置功能:在使用系统前,管理人员需对系统做一些初始设置,例如,对资金账户、部门、收入/支

22、出类别、往来类别等信息的初始化。2)用户信息管理功能:由于此系统为公司内部系统,没有设置注册功能,只能是管理人员根据公司要求分配用户账号,并给一个默认的密码000000;管理员可以修改用户信息,不包括用户名和密码;管理员可以查看用户信息,安全起见,其中密码显示为*。3)数据备份与恢复功能:一些突发情况可能导致数据丢失,为了不影响公司的正常运作,系统设计了数据备份与恢复功能,可以定期备份现有数据。4)收款/付款记录管理功能:管理人员可以通过时间段查询收款/付款记录;管理人员增加新的收款/付款记录,添加单据编号、收款/付款日期、收款/付款项目、付款/收款方、资金账户、金额、责任人、部门等信息;管理

23、人员修改或删除收款/付款记录。在进行这些操作时,其所对应的资金账户余额也需要相应改变,两个操作必须都完成,或者都不完成。5)管理人员对应付/应收记录的管理:管理人员可以通过时间段查询应付/应收记录;管理人员增加新的应收/应付记录,添加单号、收款/付款项目、往来单位、应收/应付款日期、应收/应付金额、实际已收/已付金额、余额、责任人、部门等信息;管理人员修改或删除应收/应付记录。在进行这些操作时,不需对资金账户余额做任何改变。管理人员可以查看每条应收/应付记录对应的已收/已付记录集合;管理人员也可以为某条应收/应付记录添加已收/已付记录,同时也要在收款/付款记录中增加对应的一条记录,并且应收/应

24、付记录中的实际已收/已付金额和余额都要有所修改,这几个操作也是必须都完成,或者都不完成;管理人员也可以修改和删除已收/已付记录,对应的已收/已付记录和收款/付款记录也要修改。6)管理人员对账户转账的管理:管理人员可以通过时间段查询账户转账记录;管理人员增加新的账户转账记录,添加日期、转出账户、转入账户、金额、流转编号等信息;管理人员修改或删除账户转账记录。在对账户转账进行操作时,资金账户的余额也要随之修改,两操作必须都完成,或者都不完成。7)修改密码功能:此系统所有账号密码初始设置为000000,且不同的操作员有不同的权限,为了安全起见,操作员都应该修改自己的密码,确保任何人都不能通过登录其他

25、人账号以获得非法权限。3.2 决策人员功能的需求分析1)查询收款/付款记录功能:决策人员能够通过输入日期间隔查询这段时间内所有收款/付款记录,并导出Excel文件。2)查询账户转账记录功能:决策人员能够通过输入日期间隔来查询这段时间内账户转账记录,并导出Excel文件。3)查询资金余额功能:决策人员可以查询所有资金账户余额,并导出Excel文件。4)查询日记账功能:决策人员可通过输入日期间隔来查询每天的每笔记录,并导出Excel文件。5)查询日期汇总记账功能:决策人员可通过输入日期间隔来查询收入支出金额,通过选择可以以年报、月报、日报的形式显示,并导出Excel文件。6)查询部门报表功能:决策

26、人员可通过输入日期间隔来查询部门报表,并导出Excel文件。7)查询收入/支出项目报表功能:决策人员可通过输入日期间隔来查询收入/支出项目报表,并导出Excel文件。8)查询往来单位报表功能:决策人员可通过输入日期间隔来查询往来单位报表,并导出Excel文件。9)修改密码功能:此系统所有账号密码初始设置为000000,且不同的操作员有不同的权限,为了安全起见,操作员都应该修改自己的密码,确保任何人都不能通过登录其他人账号以获得非法权限。3.3 普通用户功能的需求分析1)查询收款/付款记录功能: 普通用户能够通过输入日期间隔查询自己所在部门的收款/付款记录,并导出Excel文件。2)查询应收/应

27、付记录功能:普通用户能够通过输入日期间隔查询自己所在部门的应收/应付记录(包括已收/已付记录),并导出Excel文件。3)修改密码功能:此系统所有账号密码初始设置为000000,且不同的操作员有不同的权限,为了安全起见,操作员都应该修改自己的密码,确保任何人都不能通过登录其他人账号以获得非法权限。3.4 系统功能结构图图3.1 资金管理系统功能结构图第四章 系统总体设计根据需求分析,这一节详细讨论了资金管理系统的总体框架和数据库的设计方案。4.1 系统整体构架图系统采用MVC模式,运用Struts2+Hibernate框架完成。图4.1为系统整体架构图。图4.1系统整体架构图下面是对图4.1中

28、各层的角色和功能说明以及架构的流程。(1)View层:视图是与用户交互的部分,数据从后台转发过来使用JSP的方式,然后在客户端转换成HTML页面的格式,借助JavaScript和CSS进行显示。(2)Controller层:控制器部分对应系统核心控制器和业务逻辑控制器,系统核心控制器为Struts2框架提供的FilterDispatcher,它根据请求自动调用相应的Action。而业务逻辑控制器是指开发人员自行定义的一系列Action,在Action中负责调用相应的业务逻辑组件来完成处理。(3)Model层:模型是程序的状态表示,其状态包括,消息中传递的状态,以及共享状态或一次会话中的状态,以

29、及持久状态。而操作这些状态的流程也同样包括在模型中。这些模型也就是业务的总体运作流程和数据。在本系统中Hibernate将model层中的Java类映射到数据表并且提供数据查询、恢复等机制,实现数据层对象的持久性。框架的结构流程如下所述:来自客户端的HTTP请求送到Struts2框架中的控制器FilterDispatecher等候处理。FilterDispatecher包括一组基于配置的ActionMapper对象,每个ActionMapper对象实现了一个请求到一个具体的Model部分中Action处理器对象之间的映射。当接收到一个HttpRequest后,FilterDispatecher

30、会根据请求去查找相应的ActionMapper。如果找到了相应的ActionMapper它将会将控制权限交给ActionProxy,ActionProxy将会通过ConfigurationManager来查找配置struts.xml。下一步将会通过ActionInvocation来负责命令模式的实现。在实现过程中,调用业务逻辑模块,由Hibernate在“幕后”完成与数据库的交互。业务逻辑类里通过HQL语句操作业务对象;Hibernate把HQL转换成SQL,通过O/R映射文件实现具体对数据库的操作,即穿过持久层映射到具体的数据库表。一旦action返回,会查找相应的Result,Result

31、类型可以是JSP或者另一个Action等。这些组件和ActionMapper一起返回给请求的url。综上所述,资金管理系统选用基于Structs2+Hibernate的MVC开发框架是十分可取的。它既可以使开发人员在短时间内开发出系统,效率高,同时,也能满足系统的可维护性等需求,节省二次开发时的人力和物力。4.2数据库设计数据库是信息系统的核心和基础,把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。数据库是信息系统的各个部分能否紧密地结合在一起以及如何结合的关键所在。数据库设计是信息系统开发和建设的重要组成部

32、分。在设计和操作维护数据库时,关键的步骤就是要确保数据正确地分布到数据库的表中。使用正确的数据结构,不仅便于对数据库进行相应的存取操作,而且可以极大地简化应用程序的其他内容(查询、窗体、报表、代码等)。款项管理系统的系统角色主要有三个:管理员,决策人员,普通用户。这三个角色的信息在数据库中都是存储在users表中,users表如表4-1所示:表4-1 users表列名数据类型可否为空说明UserIDint(4)NOT NULL用户ID(主键)UserNamevarchar(50)NOT NULL用户名称UserPasswordvarchar(50)NOT NULL用户密码DepartmentI

33、Dint(4)NOT NULL所在部门(外键)(表departments )UserRightsvachar(6)NOT NULL用户权限(分为管理员、决策人员、普通用户三类)revenue表主要存储所有收入信息,如表4-2所示:表4-2 revenue表列名数据类型可否为空说明RevenueIDint(4)NOT NULL单据ID(主键)DateOfRevenuedateNOT NULL收款日期ItemOfRevenueIDint(4)NOT NULL收款项目ID(外键)(表itemsOfRevenue)PartnerIDint(4)NOT NULL付款方(外键)(表partners)Acc

34、ountIDint(4)NOT NULL资金帐户ID (外键)(表accounts )Amountdouble(12)NOT NULL收款金额ChiefNamevarchar(50)NOT NULL责任人DepartmentID int(4)NOT NULL部门ID (外键)(表departments )ReceivedIDint(4)NULL已收记录ID(外键)(表received)categoriesOfRevenue表主要存储收入类别信息,如表4-3所示:表4-3 categoriesOfRevenue表列名数据类型可否为空说明CatOfRevenueIDint(4)NOT NULL收入

35、类别ID(主键)CatOfRevenueNamevarchar(50)NOT NULL收入类别名称itemsOfRevenue表主要存储收入项目信息,如表4-4所示:表4-4 itemsOfRevenue表列名数据类型可否为空说明ItemOfRevenueIDint(4)NOT NULL收入项目ID(主键)CatOfRevenueIDint(4)NOT NULL类别(外键)(表categoriesOfRevenue)ItemsOfRevenueNamevarchar(50)NOT NULL收入项目名称categoriesOfContact表表主要存储往来类别信息,如表4-5所示:表4-5 ca

36、tegoriesOfContact表列名数据类型可否为空说明CatOfContactIDint(4)NOT NULL往来类别ID(主键)CatOfContactNamevarchar(50)NOT NULL往来类别名称partners表主要存储往来单位信息,如表4-6所示:表4-6 partners表列名数据类型可否为空说明PartnerIDint(4)NOT NULL往来单位ID(主键)CatOfContactIDint(4)NOT NULL类型(外键)(表categoriesOfContact)PartnerNamevarchar(50)NOT NULL往来单位名称Telephonevar

37、char(15)NOT NULL电话Faxvarchar(15)NOT NULL传真ContactPersonvarchar(50)NOT NULL联系人Addressvarchar(50)NOT NULL地址accounts表主要存储所有资金账户信息,如表4-7所示:表4-7 accounts表列名数据类型可否为空说明AccountIDint(4)NOT NULL账户ID(主键)AccountNamevarchar(50)NOT NULL账户名称OpeningAmountdouble(12)NOT NULL期初金额Balancedouble(12)NOT NULL余额departments表

38、主要存储所有部门信息,如表4-8所示:表4-8 departments表列名数据类型可否为空说明DepartmentIDint(4)NOT NULL部门ID(主键)DepartmentNamevarchar(50)NOT NULL部门名称receivable表主要存储应收记录信息,如表4-9所示:表4-9 receivable表列名数据类型可否为空说明ReceivableIDint(4)NOT NULL单据ID(主键)ItemOfReceivableIDint(4)NOT NULL收款项目ID(外键)(表itemsOfRevenue)PartnerIDint(4)NOT NULL付款方(外键)

39、(表partners)DateOfReceivabledateNOT NULL应收日期Amountdouble(12)NOT NULL应收金额ReceivedAmountdouble(12)NULL实际收回Balancedouble(12)NOT NULL余额Chiefint(4)NOT NULL责任人(外键)(表users )DepartmentID int(4)NOT NULL部门ID (外键)(表departments )UserIDint(4)NULL录入员(外键)(表users )DateOfRecorddateNULL录入日期received表主要存储应收记录的已收记录信息,如表4

40、-10所示:表4-10 received表列名数据类型可否为空说明ReceivedIDint(4)NOT NULL单据ID(主键)ReceivableIDint(4)NOT NULL应收记录ID(外键)(表receivable)DatedateNOT NULL收款日期AccountsIDint(4)NOT NULL资金账户ID (外键)(表accounts )Amountdouble(12)NOT NULL金额UserOfRecordint(4)NULL录入员(外键)(表users )DateOfRecorddateNULL录入日期4.3款项管理系统构架的优势和不足款项管理系统采用MVC模式,

41、运用Struts2+Hibernate框架完成。Struts2框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。一个模型可对应多个视图,可以减少代码的复制及代码的维护量,一旦模型发生改变,也易于维护。模型返回的数据与显示逻辑分离。应用被分隔为三层,降低了各层之间的耦合,提供了应用的可扩展性。控制层把不同的模型和不同的视图组合在一起,完成不同的请求。因此,控制层可以说是包含了用户请求权限的概念。MVC更符合软件工程化管理的精神。不同的层各司其职,每一层的组件具有相同的特征,有利于通过工程化和工具化产生管理程序代码。在带来这些优势的同时,此架构也存在一些不足。

42、 1增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。 2视图与控制器间的过于紧密的连接。视图与控制器是相互分离,但确是联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。3视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。第五章 系统实现本系统采用B/S模式架构,选择B/S架构的原因:1B/S对安全以及访问速度的多重考虑,建立在需要更加优化的基础上。2B/S模

43、型的多重结构,要求构件相对独立的功能,能够相对较好的重用。3B/S构件组成方面构件个别的更换,实现系统的无缝升级。系统维护开销减到最小,用户从网上下载安装就可以实现升级。4B/S建立在广域网上,面向不同的用户群,分散地域,这是C/S无法作到的,与操作系统平台关系最小。5B/S建立在浏览器上,有更加丰富和生动的表现方式与用户交互,并且大部分难度减低,降低开发成本。5.1总体架构的实现Struts 2使用核心的FilterDispatcher来过滤用户请求,一旦FilterDispatcher拦截到用户请求后,用户请求将直接转入Struts 2体系内。实际上,Struts 2的FilterDisp

44、atcher只会拦截匹配*.action的请求,因此应用中所有的表单请求都以.action作为结尾,而且系统中所有的超级链接都是通过Sruts 2控制器进行转发。通过这种方式,可以让Struts 2控制器进行转发,让Struts 2处理用户请求,即使对于普通JSP页面也必须先通过Struts 2的过滤,这样就保证了用户无法直接浏览任何页面,保证安全性。 Web.xml文件中配置过滤器的片段代码如图5.1所示。图5.1 配置过滤器的片段代码5.2业务收支模块实现款项管理系统按功能分为四个模块:初始设置模块、业务收支模块、资金报表模块和系统维护模块。此处只以业务收支模块为例说明系统的具体实现。系统将业务分为表现层、

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1