基于JavaEE的工程项目审计管理系统的设计与实现.docx
《基于JavaEE的工程项目审计管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于JavaEE的工程项目审计管理系统的设计与实现.docx(46页珍藏版)》请在冰豆网上搜索。
基于JavaEE的工程项目审计管理系统的设计与实现
、
毕业设计
题目基于JavaEE的工程项目审计管理
系统的设计与实现
学院信息科学与工程学院
专业计算机科学与技术
班级xxxxxx
学生xxxxxx
学号xxxxxxxxxxx
指导教师xxxx
xxxxxxxx年xx月xx日
摘要
随着计算机互联网技术的普及,能够运用科学、先进的信息管理系统,对高校的工程项目审计工作进行信息化管理,使办公更加网络化、科学化,己经成为各高校工程项目审计的发展趋势。
政府审计部门积极顺应了这一趋势,前些年,提出了“金审工程”,现在已经取得了显著的阶段性成果,这积极促进了各高校加快工程项目审计管理信息化的步伐。
在功能上,本系统在充分了解了高校工程项目审计管理工作的基础上,进行需求分析,根据工程项目审计的两种审计状况:
一次性审计和长期跟踪审计,最终确定了两个主要的功能模块:
结算审计模块和跟踪审计模块,分别对工程项目进行一次性审计和长期跟踪审计。
在技术的详细设计上,本系统基于JavaEE开发平台,运用Struts2、Spring、Hibernate三个开源框架,对系统进行分层架构,降低了各层之间的耦合度,提高了开发效率以及系统可移植性和可扩展性。
通过本论文对高校工程项目审计管理系统的设计与实现,代替了传统的、手工形式的工程审计管理业务流程,一方面,使得工程项目审计工作更加规范化与网络化,另一方面,使审计工作从“有纸办公”中解脱出来,节约了成本,提高了高校工程项目审计管理的工作效率和质量。
关键词:
高校审计系统;工程项目审计;JavaEE;SSH三大框架;
ABSTRACT
Inthispaper,The21stcentury,wehaveenteredtheinformationage,astheglobalinformationtechnologycontinuestodevelop,thepopularityofcomputerInternettechnology,abletousescience,advancedinformationmanagementsystem,theprojectAuditingofUniversitiesinformationmanagement,makingofficemorenetworking,scientific,ithasbecomethedevelopmenttrendoftheuniversityprojectaudit.Governmentauditdepartmentstoactivelyconformtothistrendafewyearsago,heproposeda"GoldenAuditProject"hasnowachievedsignificantinitialresults,whichactivelypromotestheuniversityaccelerateprojectauditmanagementinformationpace.
Functionally,thesystemfullyunderstandthebasisforengineeringprojectmanagementauditwork,needsanalysis,accordingtotwoauditsAvailabilityProjectAudit:
Audit-timeandlong-termfollow-upaudit,finalizedtwomajorfunctionsModule:
BillingAuditModuleandtrackauditmodule.Inthedetaileddesigntechnology,thissystemisbasedonJavaEEdevelopmentplatform,usingStruts2,Spring,Hibernatethreeopensourceframework,butalsoborrowedJ-Hirapiddevelopmentplatform,thesystemisalayeredarchitecturetoreducethecouplingbetweenlayersimprovethedevelopmentefficiencyandsystemportabilityandscalability.
Throughthispaperthedesignandimplementationofengineeringprojectmanagementsystemforaudit,insteadofthetraditional,handintheformofprojectauditmanagementbusinessprocesses,ontheonehand,makingtheprojectmorestandardizedauditworkandnetworking,ontheotherhand,tomaketheauditworkfreedfrom"paperlessoffice"outcostsavings,improveefficiencyengineeringprojectmanagementandqualityaudit.
Keywords:
universitiesauditsystem;projectaudit;JavaEE;SSHthreeframework;J-Hiplatform
1前言
1.1选题背景
随着全球信息化的不断发展,计算机互联网技术越来越广泛与普及,使得人们在生活、学习、工作中对信息技术的依赖越来越大。
各行各业都顺应了信息化这一潮流,从而极大地节约了成本,提高了效率。
审计信息化也成为审计环境中一个大的趋势,为了顺应新时代这一信息化的潮流,在1999年以及2001年,国家审计署,分别进行了两次重大的审计战略决策,制定审计工作信息化发展计划与规则,而且在之后的两年之中启动了家喻户晓的“金审工程”。
在这审计信息化建设的新发展阶段,审计机关的审计工作与办公更加自动化、科学化、规范化,我们在这新发展阶段下,也应该顺应潮流,紧追其发展步伐。
并且,随着全国各大高校的快速发展,使得各高校对校内基础工程项目设施建设的投资增多,从而对工程项目审计的要求越来越大。
传统的工程项目审计方式已满足不了这种发展的要求,制约了高校工程项目审计的发展。
使得高校必须也要顺应全球信息化的潮流,运用新的工程项目审计管理方法和手段,因此,建立一套工程项目审计管理系统迫在眉睫。
1.1.1国外研究现状
由于国外发达国家计算机技术发展与应用相对比较早,而且计算机相对于国内也更加普及,因此从20世纪60年代开始,美国、英国、欧洲、加拿大等国外的一些发达国家就开始对审计信息系统进行研究与开发,再加上近几十年的快速发展,明显的展现出相对于国内的巨大的优势。
例如,英国的计算机辅助审计技术,即,(ComputerAssistedAuditTechniquesCAAT),通过二十多年的研究与发展,现在已经较为完善,并且已经处于世界领先水平。
在德国,财政部与联邦审计院的联网系统平台已经运行差不多十年了。
意大利,早在1975年,就已经建立了连通意大利财政部和审计院的共享网络,从而能够实时调取与共享所需要的数据信息资料。
1.1.2国内研究现状
与国外发达国家相比较,我国计算机技术起步晚,发展也相对比较慢,因此,和国外相比,国内在审计信息化方面,还存在一定差距。
但是,自从我国加入世界贸易组织(简称,WTO)后,信息化技术便得到了大力的推广以及广泛的应用。
目前,我们国内已经慢慢开始出现一些较规范、系统化的审计管理系统,例如,中审博大研发的《审计之星》、北京中审华科研发的《审易》、中普软件研发的《中岳通用审计软件》等。
这些审计管理软件系统的出现与存在,使得工程项目审计中信息处理手段落后的局面与状况从根本上改变了,同时也为推进工程项目审计管理的信息化以及高效化做出了巨大贡献。
但是,由于目前我国在审计的管理与监督上还比较缺乏流程化与产业化,因此,国内的审计机构对审计管理系统还存在很大的需求。
1.2选题意义
传统的工程项目审计管理大都是通过手工和书面文档来完成,这种审计方式不仅效率低,而且工作量大,严重制约了工程项目审计的发展。
为改变这种现状,充分利用现代计算机信息技术,实现工程项目审计信息化管理,为各高校工程项目审计工作提供流程化、规范化服务,从而实现了“无纸审计”,提高了审计效率。
2相关技术介绍
2.1J-Hi快速开发平台
(1)J-Hi平台简介
J-Hi平台是一个快速开发平台,本平台解决的问题就是“提高开发效率,降低开发成本”,目的是将主流的框架,比如(Struts2、Spring、Hibernate等)集成到该平台当中,呈现一个高效、稳定、可复用、低耦合、通用化并且功能齐全、用户体验友好的套件产品。
该平台是平台开发团队多年来做企业级系统开发经验的总结,平台大致可以分为三个部分:
生成器、支撑系统、通用应用服务。
首先,生成器可以生成全部基础的功能,使开发人员可以从简单、枯燥的重复劳动中解放出来,将精力更多的放在系统的业务需求上;然后,平台为开发人员提供了大量的通用的API与工具类,从而进一步加快开发速度,提高代码质量;而且,平台本身包含一些通用的功能模块,如权限管理、菜单管理、部门管理等等,使得开发人员不用再花费额外的时间与精力在这些功能上,直接用就可以,从而,进一步提高了开发效率,降低了开发成本。
(2)J-Hi平台系统结构
以下是J-Hi快速开发平台的系统结构图:
图2.1J-Hi快速开发平台的系统结构图
2.2SSH三大框架
目前,大部分基于JavaEE平台的企业级应用系统中,SSH(Struts2、Spring、Hibernate)框架已经成为企业主流的应用框架。
使用SSH框架的系统一般会分为三层:
表示层、业务逻辑层、持久层,其中Struts2用于系统表示层,实现页面与业务逻辑的控制;Hibernate用于数据的持久化;Spring相当于一个大的容器,用于对Struts2、Hibernate、Bean等的管理。
2.2.1Struts2框架
Struts2是WebWork和Struts合并后的,全新的基于MVC(Model、View、Controller)思想的框架。
该框架屏蔽了Servlet原始的API,简化了代码,并且提供了大量的数据校验器,大大方便了数据的校验,还有Struts2标签库,大大简化了JSP页面输出逻辑的实现。
2.2.2Spring框架
Spring框架使由世界著名的JavaEE大师RodJohnson发明,目的是可有效地解决企业应用开发的复杂性。
是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。
Spring就像一个容器,有效地组织、整合其他框架,比如(Struts2、Hibernate等),将他们整合为一个高效运转的整体。
2.2.3Hibernate框架
Hibernate框架是一个对象/关系映射的解决方案,也就是说,将Java中对象与对象之间的关系映射到关系数据库中表与表之间的关系。
这使得,开发人员可以使用面向对象的方式来操纵数据库。
3系统需求分析
3.1可行性分析
3.1.1技术可行性分析
随着全球信息化的快速发展,计算机信息化技术已经非常成熟,从而为高校工程项目审计信息化建设提供了必要的技术支持。
本系统基于JavaEE开发平台,采用SSH(Struts2+Spring+Hibernate)三大框架,该技术目前已经得到大部分软件企业的广泛应用,成为了软件行业最为主流和普遍的应用开发技术,发展已经非常成熟,可大量可供参考的资料,并且在众多行业或领域都有着成功的研发案例可供参考。
在此基础上,本系统还采用J-Hi快速开发平台,相关的学习资料也比较多。
因此,开发本系统,在技术上是可行的。
3.1.2经济可行性分析
在开发本系统的过程中,学校提供了非常完善的软、硬件开发环境,以及方便的网络环境。
并且,在系统的开发过程中,使用的是免费开发工具,以及附带的免费的服务器平台,使得,本系统的开发成本并不是很大。
况且本系统开发完成后,投入使用,可以极大的提高工程项目审计效率、减少审计成本,带来比较客观的经济效益。
因此,进行本系统的开发,在经济上是可行的。
3.1.3社会可行性分析
本系统严格遵守我国法律法规以及规章制度,按照系统的需求分析,以及业务流程进行开发,没有任何违反法律的问题存在。
因此,本系统,具有社会可行性。
3.2功能需求分析
本工程项目审计管理系统主要面向各高校的审计部门人员使用,系统所要完成的主要业务功能有三个:
工程项目结算审计、工程项目跟踪审计以及基础资料。
根据业务需要,本系统划分为三类角色,分别为:
普通组员、专职、领导。
系统功能结构图如下所示:
图3.1系统功能结构图
3.2.1结算审计需求分析
结算审计,主要是针对可以一次性审计完成的工程项目,该模块包含的具体功能模块如下:
(1)结算审计登记:
对需要结算审计的工程项目进行登记操作,包括:
登记(增加)工程项目,删除工程项目,修改工程项目,查询工程项目,启动工程项目。
并能实现报表导出操作。
登记后工程项目审计状态为草稿状态,启动后为待审核状态。
(2)结算审计管理:
以工程项目编号为主线对登记并启动的工程项目进行各种审计操作,包括对结算审计预审、负责人审核、结算审计报审资料、结算审计意见书、复核人审核意见书、领导审核意见书、工作备忘录七个方面的审核。
各审核具体操作如下:
1.结算审计预审:
由专职操作,能够进行修改、提交、驳回、导出操作,修改时编辑审核意见、送审时间,驳回后使审计项目处于草稿状态,预审提交后,预审表不能再做修改只能导出,并且预审提交后才能进行负责人审核。
2.负责人审核:
由领导操作,预审提交后才能进行负责人审核,能够进行修改、提交、驳回操作,修改时编辑负责人意见、日期、负责人,驳回后再由专职进行重新预审,提交后审计项目状态变为已审核状态,普通员工才能进行结算审计意见书。
3.结算审计报审资料:
能够对报审资料进行上传、下载、查看、导出等操作。
4.结算审计意见书:
能够进行修改、启动、导出操作,编辑原报工程造价、应付工程价款、主审、复核人、审计负责人、备注,并且审减(增)金额是原报工程造价与应付工程价款之差,启动后使得复核状态为待审核,领导审核状态为草稿,只能进行导出操作,并且提交给专职审核。
5.复核人审核意见书:
由专职操作,结算审计意见书启动后,进行意见书审核,编辑复核意见、复核日期,若提交,则再交由领导审核,此时,复核状态为已审核,领导审核状态为待审核;若驳回,则再由普通组员再次修改结算审计意见书。
6.领导审核意见书:
由领导操作,复核人审核意见书提交后,进行意见书再次审核,编辑负责人意见、负责人审核日期,若提交,则领导审核状态为已审核;若驳回,则复核状态为待审核,领导审核状态为草稿。
7.工作备忘录:
可以增加备忘录、删除备忘录、修改备忘录、查看备忘录信息。
(3)结算审计台账:
根据过滤条件查询审计项目台账信息。
在结算审计模块中,划分为三个角色:
普通组员、专职、领导。
其中,普通员工可以进行的操作有:
结算审计的登记、结算审计报审资料的编辑、结算审计意见书的填写、工作备忘录的编辑。
专职人员可以进行的操作有:
结算审计的预审、结算审计报审资料的编辑、复核人审核意见书的填写、工作备忘录的编辑。
领导可以进行的操作有:
负责人审核的填写、结算审计报审资料的编辑、领导审核意见书的填写、工作备忘录的编辑。
结算审计模块用例图如下所示:
图3.2结算审计模块用例图
结算审计模块业务流程:
首先,由普通组员对需要审计的工程项目进行登记,登记完成后,启动,交由专职进行第一级审核,专职若驳回,则再由普通组员修改;若提交,交由领导进行第二级审核,领导若驳回,则再由专职进行一级审核;若提交,则普通组员可进行结算审计意见书的编辑,编辑完,启动,再由专职和领导进行二级审核。
结算审计模块业务流程图如下所示:
启动
NO/驳回
NO/驳回
YES/提交
YES/提交
启动
NO/驳回
YES/提交
NO/驳回
YES/提交
图3.3结算审计模块业务流程图
3.2.2跟踪审计需求分析
跟踪审计,主要针对需要长期跟踪审计的工程项目,模块包含的具体功能模块如下:
(1)跟踪审计登记:
对需要跟踪审计的工程项目进行登记操作,包括:
登记(增加)工程项目、删除工程项目、修改工程项目、查询工程项目,并能实现报表导出操作。
(2)跟踪审计管理:
以工程项目编号为主线对登记的工程项目进行各种跟踪审计操作,包括跟踪审计记录、工程进度款管理、审计费管理、审计情况报告书、审核人员意见、负责人意见。
各审核具体操作如下:
1.跟踪审计记录:
维护跟踪审计记录,包括添加审计记录、删除审计记录、修改审计记录、查询审计记录。
2.工程进度款管理:
维护建设方工程进度款,包括添加工程进度款、删除工程进度款、修改工程进度款、查询工程进度款。
其中,进度款审定金额是合同付款、变更付款与签证付款的总和。
3.审计费管理:
记录维护建设方以及施工方审计费,包括添加审计费、删除审计费、修改审计费、查询审计费。
其中,主表中建设方承担额是子表中建设方支付金额的总和。
4.审计情况报告书:
编辑合同金额、报审金额、审定金额、审减金额、审减率、变更报审金额、变更审定金额、变更审减金额、变更审减率等。
其中,审减金额是报审金额与审定金额之差,审减率是审减金额与报审金额之商,变更审减金额是变更报审金额与变更审定金额之差,变更审减率是变更审减金额与变更报审金额之商,实际审减金额是审减金额与审增金额之和,启动之后交由专职审核。
5.审核人员意见:
由专职操作,编辑审核人员意见、审核日期,并可进行意见书的提交和驳回,若提交,则交由领导审核;若驳回,则交由普通组员再次修改审计情况报告书。
6.负责人意见:
由领导操作,编辑负责人意见、审核日期,并可进行意见书的提交和驳回,若驳回,则交由专职再次审核;若提交,本工程审计项目才可以在跟踪审计台账中查询。
(3)跟踪审计台账:
根据过滤条件查询审计项目台账信息。
在跟踪审计模块中,划分为三个角色:
普通组员、专职、领导。
其中,普通员工可以进行的操作有:
跟踪审计的登记,跟踪审计记录的编辑,工程进度款管理,审计费管理,审计情况报告书的编辑。
专职人员可以进行的操作有:
审核人员意见的编辑。
领导可以进行的操作有:
负责人意见的编辑。
跟踪审计模块用例图如下所示:
图3.4跟踪审计模块用例图
跟踪审计模块业务流程:
首先,由普通组员对需要审计的工程项目进行登记,登记完成后,就可以长期、分阶段地进行跟踪审计记录、工程进度款管理、审计费管理,最后进行编辑审计情况报告书,启动后,交由专职和领导进行二级审核。
跟踪审计模块业务流程图如下所示:
图3.5跟踪审计模块业务流程图
3.2.3基础资料需求分析
各个子模块能够进行增删改查操作,为工程项目结算审计和跟踪审计提供查找带回数据。
本模块包括所在校区维护、工程地点维护、报送单位维护、施工单位维护、设计单位维护、监理单位维护、招标单位维护、基建部门维护、工程造价维护以及建设单位维护。
3.3非功能需求分析
主要功能需求包括:
实用性:
本系统具有较好的实用性,这是一个信息系统开发成功与否的基本标准,更是系统在功能模块的设计当中所要遵循的首要原则。
可扩展性:
在系统设计当中,充分考虑了其扩展性来满足用户需求的不断变化,以及功能的拓展,提高用户的体验,包括对工程项目审计管理系统总体功能模块的设计规划,各层次系统间的访问接口确定,等等,为将系统的进一步发展与优化提供扩展性。
美观性:
本系统界面美观,进一步提高用户体验效果。
4系统总体设计
4.1技术架构设计
为了降低代码耦合度,提高开发效率以及提高系统可移植性,本系统基于JavaEE开发平台,采用分层的架构方式,将系统架构划分成三大层:
表示层、业务逻辑层、持久层。
表示层:
这是JavaEE系统与用户进行直接交互的层面,它实现了Web前段界面及业务流程控制功能,表示层使用业务逻辑层提供的服务(Service)来满足用户各种各样的需求。
业务层:
由一个个Service构成,每个Service作为一个程序模块(组件)完成一种特定的应用功能,而Service之间则相互独立。
Service调用DAO接口中公开的方法,经由持久层间接地操作后台数据库。
持久层:
主要由DAO组件、持久化POJO类等构成,它屏蔽了底层JDBC连接和操作数据库的细节,为业务逻辑层Service提供了简洁、统一、面向对象的数据访问接口。
下图为轻量级JavaEE系统的分层模型:
图4.1轻量级JavaEE系统的分层模型
4.2功能模块设计
本系统主要的功能模块包括:
结算审计模块、跟踪审计模块。
4.2.1结算审计模块
结算审计模块包括三个子模块:
结算审计登记、结算审计管理、结算审计台账,其中,结算审计管理模块包括七个子模块:
结算审计预审、负责人审核、结算审计报审资料、结算审计意见书、复核人审核意见书、领导审核意见书、工作备忘录。
以下为结算审计功能模块图:
图4.2结算审计功能模块图
4.2.2跟踪审计模块
跟踪审计模块包括三个子模块:
跟踪审计登记、跟踪审计管理、跟踪审计台账,其中,结算审计管理模块包括六个子模块:
跟踪审计记录、工程进度款管理、审计费管理、审计情况报告书、审核人员意见、负责人意见。
以下为跟踪审计功能模块图:
图4.3跟踪审计功能模块图
4.3数据库设计
表4.1结算审计表(settlement)
字段
类型
长度
备注
说明
id
int
20
主键
num
string
30
非空
工程编号
name
string
30
非空
工程名称
campus_id
Lookup
查找带回
所在校区id
campus_name
Lookup
主带回、非空
所在校区
sub_id
Lookup
查找带回
报送单位id
sub_name
Lookup
主带回、非空
报送单位
funds_num
string
30
非空
项目经费编号
funds_name
string
30
非空
项目经费名称
budget
float
30
非空
项目预算
pro_director
string
30
非空
项目负责人
tel
string
30
非空
联系方式
con_id
Lookup
查找带回
施工单位id
con_dep_name
Lookup
主带回、非空
施工单