毕业论文-开封市科研项目综合管理系统—后台管理模块设计_第1页
毕业论文-开封市科研项目综合管理系统—后台管理模块设计_第2页
毕业论文-开封市科研项目综合管理系统—后台管理模块设计_第3页
毕业论文-开封市科研项目综合管理系统—后台管理模块设计_第4页
毕业论文-开封市科研项目综合管理系统—后台管理模块设计_第5页
已阅读5页,还剩41页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、开封市科研项目综合管理系统 后台管理模块设计Integrated Management System of KaiFeng Scientific Research ProjectsModule-designed of Backstage Management院系名称:计算机学院班 级:软件102学 号:学生姓名: 指导教师: 2014 年 5 月摘 要随着计算机技术的发展,互联网的应用越来越普及。互联网的发展为人类的生产生活提供了极大的便利,当今社会越来越多的单位机构将科研管理与互联网融合在一起,目的是方便与项目的申报者进行沟通,并且快速有效的管理申报用户。开封科研项目综合管理系统就是在这样的

2、社会时代背景下开发的。开封科研项目综合管理系统采用先进的、易于交流的B/S体系结构,应用系统是基于Web进行开发的。本系统的主要功能有申报功能、项目管理功能、系统人员管理功能、查看个人信息并可以更改等功能。本系统可以极大的提高科研项目管理效率,不仅可以实现对科研项目的高效管理和控制,而且能满足科研管理单位的决策者对科研活动的宏观跟踪和查看的需要。最重要的是,本系统可以直接反应研究所研究人员的工作状况和项目的评审状况。开封科研项目综合管理系统将系统用户、科研项目、科研成果、用户权限等管理有机的结合到一起。为了满足本系统的性能需求,同时也检验本人的学习能力,本系统采用MVC架构,该架构通过SSH2

3、来实现。通过MVC架构实现静态与动态页面的相互分离,使得系统的可维护性大大提高,耦合性极大的降低。关键词:科研管理;Web服务;信息管理效率AbstractWith the development of computer science and technology, the application of the Internet more and more popular. In todays society, the development of the Internet provides great convenience for the production of human life

4、, more and more scientific research management combine with Internet. The purpose is to facilitate communication with the project declaration, and effective management for users. Integrated management system of Kaifeng scientific research project is developed under such a social background.Integrate

5、d management system of Kaifeng scientific research project is structured by B/S structure advanced and conveniently communicate. The application program is developed based on Web. The main function of the system is to declare the project and to manage the project and to manage and view users of the

6、system, and users can change his/her information if he/she has access. This system can greatly improve the efficiency of scientific research project management, not only can realize the effective management and control of the project, but also meet the needs of scientific research management unit of

7、 decision makers macro tracking for research activities and view. Most importantly, the program can directly reflect the condition of the researchers in a unit and a projects status of assessment.Integrated management system of Kaifeng scientific research project will combine the system users, resea

8、rch projects, research results, user authority management organic together. In order to meet the performance requirements of the system, and to test of my ability of learning, the system uses the MVC architecture, the architecture is realized by SSH2. To separate the static and dynamic pages through

9、 the MVC framework, which makes the system maintainability is improved greatly and reduce the coupling of the great.Key Words: Scientific Research Management; Web Service; Information Management Efficiency 目 录摘 要IAbstractII目 录III第1章 绪论11.1 课题来源11.2 研究领域的发展现状和发展前景21.2.1 国内外发展现状21.2.2 科研管理系统的发展前景31.3

10、研究内容31.3.1 界面设计31.3.2 系统录入31.3.3 科研项目处理31.3.4 科研系统展示41.4 论文组织与结构41.4.1 论文组织41.4.2 论文结构4第2章 系统需求分析62.1 项目描述62.1.1 开发背景62.1.2 开发目的62.1.3 业务范围62.1.4 术语说明72.2 开发环境与软硬件需求72.3 功能性需求82.4 非功能性需求82.4.1 性能需求82.4.2 可扩展性82.4.3 可用性82.4.4 安全性92.4.5 易用性92.4.6 界面要求92.5 小结9第3章 管理模块研究和技术支持103.1 模块研究103.1.1 计划科模块研究103

11、.1.2 科技局模块研究103.1.3 财政局模块研究103.1.4 管理员模块研究113.2 科研管理系统技术支持113.2.1 JSP技术支持113.2.2 SSH框架支持123.2.3 数据库连接池143.3 小结15第4章 系统设计与实现164.1 项目总体设计164.1.1 SSH总体框架实现图164.1.2 科技计划管理的基本流程174.1.3 管理系统概况图174.2 UI设计与实现174.2.1 主界面174.3 管理系统后台模块的设计与实现184.3.1 系统用户信息的数据表设计184.3.2 计划科管理员模块的设计194.3.3 科技局领导模块的设计204.3.4 财政局领

12、导模块的设计214.3.5 系统管理员模块的设计214.4 后台模块的实现224.4.1 系统管理员模块实现224.4.2 其他模块的实现224.5 小结23第5章 系统测试245.1 不同浏览器兼容性测试245.2 系统功能测试245.2.1 注册模块测试245.2.2 专家移除模块测试265.2.3 项目分配专家测试285.3 小结29第6章 总结与展望316.1 总结316.2 发展与展望32参考文献33致谢34附录35附录A:主要源程序35V中原工学院计算机学院毕业(设计)论文第1章 绪论1.1 课题来源进入21世纪以来,伴随着国民经济的快速提高、社会的不断进步和综合国力的不断增强、科

13、学技术的不断发展创新,科学研究、科技进步和知识创新日益成为国家和社会高度的关注点和国家重视的焦点。科研项目作为科学研究、科技进步的核心,同样是世界各国、高等院校、科研单位以及整个社会关注的重点1。整个社会对于自动化的办公具有较高的要求,一方面来说,自动化办公减少了人力物力的消耗,在更短的时间内,可以准确的完成之前的任务。另一方面,自动化办公也成为政府部门不可或缺的一种资源有效整合手段。对于发展中的开封来说,科研项目综合管理系统不仅能更加方便的管理和统计开封的科研项目,也是开封不断为国家和社会建设贡献力量的一个标志。虽然,开封在以前科研项目管理中成绩突出,但是为了能更好、更快的管理科研项目,自动

14、化科研项目管理系统有必要开发和运行。到目前为止,全国各地区都在筹建具有本地特色的科研综合管理网站,并通过该网站来相互监督和核实科研项目,减少科研项目的管理成本,减少了各个科研项目的审批时间,降低了申请科研项目的时间难度,但同时提高了科研项目的可信度、真实性,使得科研项目可以追踪到人、落实到单位。同时各国政府也加大力度来开发科研项目综合管理的网站,每年都从国家财政预算中划出相当一部分来鼓励各地区和相关单位来来建设和维护科研项目综合管理系统2。科研项目综合管理系统主要目的是使得科研项目实行制度化和科学化的管理,保证科研计划圆满完成,出成果、出人才、出效益,提高竞争力,科研项目可以运用在国际合作课题

15、国家、(省、市、区)科技部门立项及中标课题、上级下达的科研项目和研究任务、学院立项或者研究所自选的课题、合作课题(有经费支持)等一系列课题和任务当中,科研项目管理系统在这其中发挥着不可或缺的作用。近年来,作为科技信息化重点工作之一的科技计划管理信息化工作发展较快。为适应新时期科技计划管理工作的要求,科技计划管理信息化工作重点放在两个方面:一是科技计划项目在线申报平台的建设,二是科技计划项目管理服务平台的建设。这两方面的工作通过以科技基础性建设工作进行建设,部门、地方科技计划管理部门结合实际情况,在资金、人力和物力等方面给予比较大的投入,整合资源,依托各种渠道,建立起数据库和相应的网络平台,初步

16、形成地方、部门的科技计划信息资源和信息服务网络3。1.2 研究领域的发展现状和发展前景1.2.1 国内外发展现状伴随着计算机科学技术的发展,网络的应用越来越普及,同时为人们提供了 极大的方便,现在越来越多的事业单位和研究、高等院校等都将科研管理与网络融合到一起,以方便管理者与项目申报者进行沟通,减少时间的浪费。科研管理系统就是在在这样一个社会的大背景下发展起来的。从20世纪80年代开始, 我国的科研事业单位院长负责制的科研机构, 通过体制改革, 改变原有的单人管理, 僵化的管理体制,科研院所具有更大的自主权和能动性。21世纪以来,公益类科研机构启动改革,一部分有市场能力的科研院所进行企业化经营

17、;对于不能面向市场,没有营利能力又确实需要政府支持的科研机构逐渐向具有独立性、自治性的我国非营利性科研机构转型。在分配与激励制度上, 目前我国很多非营利性科研机构通过各种方法试图改变原有的吃大锅饭、平均分配的机制, 拉开不同人员之间的收入差距, 使收入的天平向优秀人才和重点学科倾斜。通过相当一部分收入从科研课题和经营开发活动中支出,力图使承担科研任务多或创收能力强的人员拿到较高的收入,这是通过科技体制改革出现的一些积极变化。科研院所改制以来,科研工作的运行和管理逐渐向规范、有序、效率的方向发展。非营利性科研机构的项目课题来源主要是政府,企业委托的课题比例逐年下降。在课题研究方式上,科研机构和企

18、业合作研究的课题在不断下降, 独立研究的合作课题的比例不断上升。经过十多年的科技体制改革,我国科研机构在人事制度上已较普遍地实行了院(所)长负责制、专业技术职务聘任制等管理机制, 这有效地激发了广大科技人员的创新精神和工作积极性。然而,随着科技体制改革的步步深化,我国还存着许多不足,还需要向国外学习,我们以下来看国外的高校科研管理体系。国外注重行政与学术相离,注重学术自由,充分发挥自由的个人或者自由的团队科研优势,其二国外灵活的学术评定政策及用人机制给国外的科研更加新鲜的血液,虽然美国高校的相当部分教授的论文只有寥寥数篇,但这些论文的影响因子极高都发表在国际顶级杂志比如nature或scien

19、ce上。为了更好的发挥科研人员创造性思维,美国高校在网络系统中针对跨行业发展、横向课题等方面添加专门对每位科研人员介绍的模块,内容包括:教育背景、目前研究方面、发表的论文、以及感兴趣的研究方向等方面有着详细的介绍4。1.2.2 科研管理系统的发展前景近年来,伴随着以技术创新为主要方向的经济发展时时刻刻影响世界格局和全球竞争的变化,企业单位、事业单位不断创造富有创新力的新技术来使得自己立于不败之地。在这种形式之下,科研的管理也逐渐显出重要性,一种好的科研管理方法不仅能提高科研的成功率,最重要的是缩短整体的开发时间,加快科研项目的实施。可见,随着社会的不断进步,开封也必定会朝着这个方面努力,开封科

20、研管理系统也是紧随时代潮流而生的。1.3 研究内容1.3.1 界面设计对于界面设计,本系统采用JSP来显示内容,结合CSS来美化页面的设计和显示,同时也结合JavaScript来保证页面交互的及时性和真确性。界面设计本着易于交互的原则,从而实现界面美观大方,易读和易用这些特性。1.3.2 系统录入开封市科研项目综合管理系统录入分为三部分,以下是三个部分的说明。第一部分是主要是系统用户录入,主要由管理者录入,自己不能自由注册。这保证了系统的顺利运行,并且去除了无关的、无效的身份的肆意破坏,从而有保证系统的稳定和为管理者节约时间。第二部分主要是系统单位的录入,主要由管理者录入,自己单位不能随便录入

21、,这样就保证了单位信息的真实性和及时性。第三部分主要是系统项目的录入,主要由申报用户来完成,在项目录入时候必须要填写适当的信息,为上级的管理者管理项目提供真实可靠的依据。1.3.3 科研项目处理项目处理分为几个步骤,从刚开始的录入一直到项目审批完成并且得到财政局领导审批,这中间任何一个环节没有通过,那么上一级的管理者都无法对该项目继续评审;如果项目的流程还没有走到一个部门,那么该部门对于项目的处理方法只能是等待。1.3.4 科研系统展示科研系统的展示,通过JSP(Java Server Pages)结合OGNL表达式(Object-Graph Navigation Language)和CSS来

22、显示系统的各个部分,达到页面实用、简单、可审视的目标。1.4 论文组织与结构1.4.1 论文组织论文第一章介绍了开封科研项目综合管理系统的开启背景与设计初衷,概要的讲解了国内外科研体制和科研管理的状况,并且对系统做了大致的讲解;第二章主要对系统做了详细需求分析;第三章从理论研究、方案设计和开发等角度进行了技术研究,并得出了本论文的设计与开发方案;第四章具体描述了系统设计与实现,对系统的实现方案行了说明;第五章对系统的测试进行描述;第六章主要总结本次毕业设计,对系统的发展前景进行展望。最后感谢母校和指导教师对本人的悉心指导。1.4.2 论文结构 第一章是绪论部分,主要通过课题来源,研究背景与国内

23、外技术发展概况,研究内容几个方面来向大致的介绍开封科研项目综合管理系统。 第二章是系统需求分析部分,分为项目描述,约束及假定,功能性需求,非功能性需求四个方面。第三章是后台模块研究和技术支持模块,介绍系统管理员模块、财政局领导模块、科技局领导模块、计划科管理员模块的主要功能。通过对比分析,确定系统的主要使用技术和框架技术,然后对所用到的技术做研究分析。第四章是系统设计与实现本分,本章节主要介绍系统总体框架、系统管理流程,同时介绍UI的实现,深入剖析系统管理员模块、财政局领导模块、科技局领导模块,对科研项目综合管理系统后台模块进行实现。第五章是系统测试部分,系统测试分为兼容性测试和功能测试两部分

24、,分别对开封科研项目综合管理系统在不同浏览器间的兼容性以及对系统部分功能模块进行测试。第六章是总结和展望部分,通过本次毕业设计所做的项目,分别从项目设计、项目实现、项目贡献三方面对项目进行总结。展望部分主要描述系统设计和实现的不足,有待完善的地方。最后结合本次系统开发的经验,给自己做一个肯定。第2章 系统需求分析2.1 项目描述2.1.1 开发背景本论文研究对象是开封市科研项目综合管理系统-后台管理模块设计。随着互联网的迅速崛起,科研管理制度的不断完善和信息技术的不断发展,科研项目综合管理系统已经是一种对科研项目管理的必然趋势。近年来,作为科技信息化重点工作之一的科技计划管理信息化工作发展较快

25、。为适应新时期科技计划管理工作的要求,科技计划管理信息化工作重点放在两个方面:一是科技计划项目在线申报平台的建设,二是科技计划项目管理服务平台的建设。这两方面的工作通过以科技基础性建设工作进行建设,部门、地方科技计划管理部门结合实际情况,在资金、人力和物力等方面给予比较大的投入,整合资源,依托各种渠道,建立起数据库和相应的网络平台,初步形成地方、部门的科技计划信息资源和信息服务网络。从一般意义上说,科技计划管理信息化工作涉及到信息的收集、加工、整理、传播、研究和利用各个环节,它以规范的基础数据与信息为前提,以统一的技术平台为基础,是产业化环境建设的重要组成部分。在科技计划管理的实践中,信息化工

26、作具有非常重要的现实意义。科研立项、计划执行、成果评价、技术转化与产业化,以及科技计划方式的转变等方面需要科技计划资源和信息网络的支撑。科技计划管理信息化工作为国家科技创新体系、产业化环境建设发挥着重要的支撑作用。2.1.2 开发目的开封市科研项目综合管理系统的目标是为开封管理本市科研项目提供方便和快捷,一方面来提高政府审批的效率,加快政府的办公流程,另一方面,缩短了项目的开发时间。通过该科研项目综合管理系统,势必加快开封的企业竞争力。2.1.3 业务范围该系统应用程序模块主要按照角色进行分割,角色主要包括用申报用户、单位用户、业务科管理员、计划科管理员、评审专家、科技局领导、财政局领导、系统

27、管理员,所以,系统也对应八个模块,本人主要负责是计划科管理员、财政局领导、科技局领导、系统管理员四个模块。管理员主要功能有:1) 系统人员的注册管理2) 单位的录入管理3) 单位信息的查看4) 项目的详细信息查看5) 评审专家的移除6) 个人信息的查看更改财政局、科技局、计划科的功能主要是对项目进行处理,主要功能是查看个人信息、修改个人密码,项目查看,项目更改等。2.1.4 术语说明本系统相关缩写、术语解释如表2.1所示。表2.1 缩写、术语说明缩写、术语解 释STPPScience Technology Plan Project科研管理项目(项目名称)项目状态各个角色处理前后项目的状态申报用

28、户申请科研项目的用户单位管理员申报用户所属的单位管理员业务科管理员业务科管理员计划科管理员计划科管理员评审专家评审专家科技局领导科技局领导财政局领导财政局领导2.2 开发环境与软硬件需求(1) 软件约束STPP系统采用J2EE(Java 2 Platform Enterprise Edition)平台企业版技术进行开发。开发及运行的软件环境为:MyEclipse 10 ,Tomcat7.X,JDK 7.0本系统开发所需的操作系统:Windows 7或Windows 8本系统开发的集成开发环境:MyEclipse 10(2) 环境约束Windows7 32位或64位/ Windows8 32位或

29、64位/ Windows XP 32位操作系统。运行内存至少1G,硬盘存储容量至少在20G。浏览器可以是:IE8.0以上,Firefox 20以上,Google 25以上。2.3 功能性需求(1) 系统管理员模块本模块的需求可以描述为系统管理员对系统参加人员的管理和对该系统所涉及的单位进行管理。另外,系统管理员可以移除未评审的专家。(2) 财政局领导模块本模块的需求可以描述为财政局领导对项目进行审核并且决定是否对该项目进行财政拨款。(3) 科技局领导模块本模块的需求可以描述为科技局领导对项目进行查看评审,主要是为财政局领导对项目处理提供意见。(4) 计划管理员模本模块的需求可以描述为计划科管理

30、员对项目进行评审,并对该项目所用到的评审专家进行分配,对已经分配专家的项目进行查看。需要主要的是,每个项目只能分配一次专家,对于已经分配过专家的项目不能再次分配,只能查看分配的结果。2.4 非功能性需求2.4.1 性能需求系统处理操作响应时间不超过10秒。2.4.2 可扩展性新增功能需要进行一整套的设计,包括页面设计、后台代码的设计,但是底层设计已经做好,具有十分强的可扩展性。修改、删除功能引起的工作量十分小,完全符合系统可扩展性要求。2.4.3 可用性系统要保证在Windows XP/7/8操作系统上使用,并且必须是运行内存在1GB,硬盘容量在20GB以上的计算机上使用,系统上必须配置的浏览

31、器是IE8以上,最好是Firefox和Google浏览器。2.4.4 安全性针对系统在操作期间出现的异常,系统在设计时候已经经过处理,运行的异常不会对系统造成影响,而对于致命性异常(也即错误)系统会停止运行。该系统严格按照谁申请谁使用,最小放权的标准进行角色权限管理,保证系统的使用安全。2.4.5 易用性系统使用者也就是有权限登录该系统的用户,都能根据说明和清晰的导航方便的使用系统。该系统能保证一个对计算机应用不熟练的用户,根据自己的角色,方便的使用系统。2.4.6 界面要求系统的界面采用JSP和CSS、JavaScript等多项技术,主要通过三者来保证界面的美观性、实用性、及时性、易操作性。

32、2.5 小结本章节主要对开封科研项目综合管理系统进行描述,针对项目所需要的开发环境进行说明,同时对系统的功能性要求和非功能性要求进行概述。第3章 管理模块研究和技术支持3.1 模块研究3.1.1 计划科模块研究根据开发需要,初步研究确定计划科的功能需求如下:1) 查看项目的详细信息2) 根据项目进度计划,对项目进行评审3) 对于通过计划科评审的项目,一次性分配专家4) 查看修改个人信息5) 修改个人密码对于流程没有走到计划科的项目而言,计划科管理员只能等待流程;如果项目流程在进行到计划科之前就被其他用户拒绝通过,那么,计划科管理员将没有权限对项目进行评审,项目就此终止,不再继续进行。对于前者而

33、言,计划科必须先通过项目评审,然后才能选择专家进行评审(专家只能选择一次,第二次则不能进行专家选择)。3.1.2 科技局模块研究根据开发流程需要,科技局领导是项目的最终审核者,科技局领导的意见直接决定着项目可实施性,经过研究确定科技局领导的功能如下:1) 查看项目详细信息2) 按照项目进度计划,对项目进行立项审批3) 浏览并且更改个人信息4) 修改个人密码科技局领导同样也需要等待流程,对于能走到该角色的流程才具有评审的权利。科技局领导也只能评审一次。3.1.3 财政局模块研究根据开发流程需要,财政局领导是主要的经费的支持者,一个项目可以有财政支持,也可以没有资金支持这都是财政局领导根据项目的详

34、细信息来决定的。财政局领导的功能如下:1) 查看项目详细信息2) 按照计划进度对项目进行资助审批3) 浏览并且更改个人信息4) 修改个人登录密码财政局领导作为资助审批者,有权利拒绝支持某个项目,也有可能使得某个项目不会通过,从而终止项目的流程。3.1.4 管理员模块研究处于系统核心角色的管理员,是整个系统最重要的组成部分。经过研究,系统管理员的主要功能确定如下:1) 对系统的参与者(除申报用户)进行注册登记2) 对项目详细信息进行查看3) 对已经分配评审专家的项目,但是未对项目进行评论的专家进行移除评论权限的操作4) 事业单位信息的登记和查看5) 企业单位信息的登记和查看6) 查看个人详细信息

35、7) 更改个人登录密码8) 对已经存在的且可登录的用户进行角色的分配管理员模块是本人研究中的一个重要模块,只有保证管理员的权限,才能使得整个系统顺利流畅的运行。3.2 科研管理系统技术支持开封科研项目综合管理系统的后台模块设计,不仅需要有页面技术的支持,还需要有强大的框架支持。以下就简单介绍以下该系统主要的技术支持。3.2.1 JSP技术支持JSP(全称Java Server Pages)技术是以JAVA语言作为脚本语言的,它是在最常用的HTML文件中插入JAVA程序片段和JSP标记(Tag)来组成的。凡是用JSP开发的Web应用程序都是跨平台的,不但能在最常见的Windows系统上运行,而且

36、也能在Linux系统上运行。JSP与后台交互的相当流畅,它既可以访问JAVA的函数库,也有自己对应的标签库,例如EL(Expression Language)表达式,该表达式的目标就是:为了使JSP写起来更加简单。因此使用JSP方便了开发人员的开发,加快了项目的开发进度,同时也有一次开发,处处运行的优点。3.2.2 SSH框架支持1. Struts支持Struts 2是Struts 1的升级版本,Struts 2是在 Struts1和WebWork技术的基础上进行了整合和改进而来的。Struts 2全新的体系结构与Struts 1的体系结构差别很大,Struts 2是以WebWork为核心,采

37、用拦截器的运行机制来处理用户的请求,这种设计也使得业务逻辑控制器能够与Servlet API完全脱离开5。 Struts2是实现MVC(Model-View-Control)基础,Struts相当于控制器,仅仅从用户接收请求,然后将View和Model匹配在一起,共同完成用户的请求,Struts也相当于分发器,选择怎样的模型,选择怎样的视图,完成用户什么样的请求。Struts的配置文件struts.xml就是将具体的请求,通过匹配分发到一定的Action,然后根据Action的返回值,该配置文件再选取给用户哪个视图(也就是JSP页面)6。2. Hibernate支持Hibernate是一个开放

38、源代码的ORM(对象关系映射)框架,该框架对JDBC进行了轻量级的对象封装,使得Java程序员可以根据自己的意愿来使用对象编程思维来操纵数据库,开创了操作数据库不需要再写复杂SQL的新篇章。 Hibernate可以应用在任何使用JDBC的场景下,不但可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最重要的一点是Hibernate可以完成数据持久化的重任7。Hibernate的核心接口一共有6个,它们分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration。以上6个核心接口在任何项目开

39、发中都要用到,在该系统中也同样用到。在程序中,除了HQL语句之外,有时候处于需要,写最原始的SQL语句不可避免,在这种情况下,这几个接口的使用体现得完美。举个简单的例子来说,比如通过某一表的Id主键来删除,除了用delete(Object obj)之外,还可以使用如下的方法:public void deleteById(String hql) /得到Session对象Session session=this.getHibernateTemplate().getSessionFactory().openSession();/创建查询语句Query query=session.createQuer

40、y(hql);/开始提交事务session.beginTransaction();query.executeUpdate();session.getTransaction().commit();session.flush();/关闭Sessionsession.close();上述的方法直接而且明显的用到了Hibernate的Session、Transaction、Query、SessionFactory接口。3. Spring支持Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架,它是在J2EE的基础上构建起来的。但是相对于J2EE而言,Spring框架具有容易维护、

41、分层清晰、开发速度和运行速度快、代码少、支持最新的ORM和AOP等优点,除此之外Spring还有如下优点:面向接口编程,而不是针对特定类编写程序8。Spring将使用接口的复杂度大大降低;编写的代码易于测试。在设计上Spring框架也非常重视简单性和一致性,简单明了的配置文档风格,各个组件实现一致性,小到一个包名、一个类名等都提现一种统一的风格。下面着重讲解Spring的几个模块,这几个模块在该系统中时时刻刻使用,如图3.1所示。图3.1 Spring七大模块图1) 核心容器核心容器是Spring框架基础的部分,它提供了依赖注入(DependencyInjection)特征来实现容器对Bean

42、的管理。这里最基本的概念是 BeanFactory,它是任何Spring应用的核心。BeanFactory是工厂模式的一个实现,它使用IOC将应用配置和依赖说明从实际的应用代码中分离出来。2) 对象/关系映射集成模块Spring在自己的AOP模块中提供了对面向切面编程的强大支持。ORM映射模块是Spring应用中实现切面编程的基础和重点。为了确保Spring与其它AOP框架的互用性,Spring的AOP支持基于AOP联盟定义的API。AOP联盟是一个开源项目,它的目标是通过定义一组共同的接口和组件来促进AOP的使用以及不同的AOP实现之间的互用性。3.2.3 数据库连接池(1) 连接池的作用介

43、绍举一个简单的例子,一个简单的数据库应用,由于对于数据库的访问不是很频繁,那么就可以在需要访问数据库时,创建一个连接,用完后就关闭它,这样做不会带来明显的性能上开销。但是对于一个复杂的数据库应用,频繁的建立、关闭连接,会极大的影响一个运行系统的性能,原因是对于连接的使用成了系统性能好坏的瓶颈。数据库连接池的作用就是:通过建立数据库连接池以及连接使用管理策略,使得一个数据库连接可以得到高效、安全的复用,降低数据库连接频繁建立、关闭的开销,提高系统的性能。(2) 连接池配置具体实现在开封科研项目综合管理系统中,数据库连接池使用的是DBCP,部分配置如图3.2。图3.2 本系统数据库连接池配置3.3

44、 小结本章主要针对自己所要完成的开封科研项目综合管理系统的后台模块设计进行分析,对主要用到的技术难点和技术要点进行分析,主要包括对JSP页面的讲解分析,SSH2(Struts2-Hibernate3-Spring3)框架进行总结分析,为该科研系统的实现提供技术支持。通过本章的研究分析,开封科研项目综合管理系统在技术上可以说都能行得通,也为下一章的写作打下一个基础。第4章 系统设计与实现4.1 项目总体设计4.1.1 SSH总体框架实现图Hibernate持久层DaoPOService浏览器ControlDB数据库请求数据转化VO数据模块视图模型JSP反馈图4.1 本系统使用SSH2的原理图4.

45、1.2 科技计划管理的基本流程图4.2 科技管理的基本流程图4.1.3 科研项目管理系统概况图图4.3 开封科研管理项目系统概况4.2 UI设计与实现4.2.1 主界面(1)主界面设计架构主界面分为四个层次:第一层主要设计的是页面上部分,显示项目名称、当前登录用户、注销退出。第二层主要设计的是页面左部分,显示系统管理的模块项,通过点击相应模块来切换相应的模块。第三层主要设计的是页面中间部分,用来显示点击左边部分之后从数据库得到的相关数据。第四层主要设计的是主页底部,采用图片和div来显示系统的所有权。 (2)主界面的实现第一层的主要目的是两个,第一是显示项目名,第二是显示系统登陆用户名。实现方

46、式是当用户登陆之后,把用户信息存在session中,然后通过Struts标签来显示出来。第二层主要显示功能模块导航链接,每个角色的权限不同,那么左边显示的权限列表就不同,一个用户登录之后,通过判断session中存放的角色来加载不同的权限列表。第三层主要显示点击左边权限列表的某一链接之后从数据库得到数据,然后将信息通过JSON或者OGNL表达式,并且结合DIV+CSS+Table 实现数据的显示。第四层主要目的是为了使得整体页面显得更加完美而加上去的,通过在一个层里面放了一些系统使用者的信息来实现该层。4.3 管理系统后台模块的设计与实现本人负责的模块分为系统管理员模块、财政局领导模块、科技局

47、领导模块、计划科管理员模块四个模块。4.3.1 系统用户信息的数据表设计表4.1 用户登录表字段名字段类型字段说明备注idint(11)用户idloginNamevarchar(20)注册用户名loginPwdvarchar(20)用户密码rolevarchar(20)角色申报用户、单位管理员、(科室)业务管理员、计划科管理员、评审专家、科技局领导、财政局领导、系统管理员statusint(11)状态1:用户不具备使用系统主要功能2:用户可以使用系统 relatedIdint(11)具体信息相关id表4.2 用户基本信息表字段名字段类型字段说明备注idint(11)用户编号namevarCha

48、r(20)姓名prjNamevarchar(60)项目名称可以记录项目的参与者所参与的项目sexvarChar(20)性别birthdayvarchar(20)出生年月educationvarChar(20)学历titlevarChar(20)职称positionvarChar(20)职务unitvarChar(60)工作单位phonevarChar(20)联系电话mobilevarChar(20)手机号rolevarchar(20)角色emailvarchar(20)用户的邮箱表4.1和表4.2实现了系统人员参与人员的信息存储:对于可以登录系统的用户来说,这两个数据库表主要用来登记登陆者的密

49、码和详细信息;对于某一个项目的参与者来说,这两个表只需要填写第二个表即可,由于项目的参与者没有使用系统的权利,不需要给参与者用户名和密码。4.3.2 计划科管理员模块的设计 图4.4 计划科管理员的用例图从上面的用例图可以看出,计划科管理员的权限有:评审项目、分配专家、查看更改个人信息、查看项目信息、修改登录密码。对于评审项目功能来说,该角色的权限可分为等待系统流程、不能评审项目、项目评审,由于一个项目的状态是多个角色共同来控制的,所以当该角色的要查看的项目被其他角色拒绝的时候,该项目就不能被评审,也就是项目已经终止。如果一个项目没有被终止,那么该计划科管理员就可以进行等待或者评审项目。下面是

50、详细的顺序图,能更详细的反应出对项目的操作,如图4.5所示。图4.5 计划科管理员评审项目的时序图以上时序图描述计划科管理员评审项目的顺序,通过时序图可以很明显的反映出评审项目的一种流程,给程序的设计和实施提供良好的思路。其他的几个功能暂时不做一一介绍。4.3.3 科技局领导模块的设计图4.6 科技局领导模块用例图通过以上用例图,可以很清楚的看到科技局领导的主要权限是:立项审批,查看项目,更改个人信息,修改登录密码。对于立项审批权限和4.3.2章节里相同,不在此介绍。4.3.4 财政局领导模块的设计图4.7 财政局领导模块用例图通过以上用例图,可以很清楚的看到科技局领导的主要权限是:立项审批,

51、查看项目,更改个人信息,修改登录密码。对于资助审批权限和4.3.2章节里相同,不在此赘述。4.3.5 系统管理员模块的设计图4.8 系统管理员模块用例图系统用户可以分为系统管理员、财政局领导、科技局领导、计划科管理员、评审专家、业务科管理员、单位管理员、申报用户;系统管理员没有注册申报用户的权限,其他用户系统管理员都可以注册。单位登记主要功能有事业单位登记、企业单位登记。由于二者不是在同一个数据表中存储,并且考虑现实情况,企业单位、事业单位的名称不能重复,所以在实现时候必须通过一定的技术判断是否唯一。系统用户角色也就是系统用户,在系统用户角色管理中,可以批量选择用户,然后通过程序修改某些用户的

52、角色。操作成功后,被修改的用户就能进入相应角色的模块。需要注意的是:系统管理员的角色是唯一的,不能被修改。4.4 后台模块的实现4.4.1 系统管理员模块实现本模块实现主要分为用户注册实现,企事业单位登记查看实现、角色管理实现,下面分别介绍实现方式。系统用户注册实现:输入用户名判断是否存在,存在就不能注册,必须更改用户名。在Action中使用的方法是checkUserName( ),当所有信息填写符合要求后就调用Action中的register( )方法进行注册。在Service层中,一方面要增加登录表,另一方面要在用户信息表中加入该注册用户的信息。企事业单位登记实现:必须确保单位名称唯一,在

53、Action中调用isNotExist( )方法,在Service层中要操作两个数据表:企业单位信息表和事业单位信息表,分别从这两个表中查询,如果不存在也即可用返回True,否则返回false。当所有信息符合要求后就调用Action中的Add方法增加到对应的库中。角色管理模块的实现:用户信息封装在本系统新建的一个类UserInfo中,通过SQL语句查询数据库,将用户登录表和用户信息表查到的信息封装成一个类。在Action中,通过partInfoUser( )方法,得到用户信息,将用户信息封装到JSON中,传递给视图。页面更改后通过changRole( )方法来更改用户角色。4.4.2 其他模块

54、的实现对于财政局模块、科技局模块、计划科模块而言,三个模块的实现方式基本一样,下面分析计划科模块的实现。计划科评审模块的实现:用户提交数据通过控制器传递到Action中的AddComment( )方法,然后在Service层的addComment( )方法中处理数据,最终数据提交到数据库。计划科分配专家模块:用户选择一个项目需要分配的专家,通过控制器调用fpExpert( )方法,将所选择专家存储到数据表中。4.5 小结本章对开封科研项目综合管理系统的后台模块设计的四个部分做了详细的讲解,通过图表形式,展示了用户具有的功能权限。本章详细讲解系统管理员模块的功能实现,其他模块(财政局模块、科技局

55、模块、计划科模块)都做了实现讲解和阐述。第5章 系统测试系统测试的目标是验证最终软件系统是否满足用户规定的需求。系统测试在整个项目开发过程中是重要的一部分,测试能够及时的发现问题并且修复问题,如果一个系统未经过系统测试而直接投入使用的话,很可能会给用户带来极大地不方便甚至惨重的损失。虽然各个模块测试没有问题,但当系统集成后才能投入使用,所以本章的测试是在系统集成后测试的,也就是集成测试。 5.1 不同浏览器兼容性测试通常所说的浏览器兼容性问题,指的是因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况。在大多数情况下,我们要求无论用户用哪种浏览器来查看我们的网站或者登陆我们的系统,都应该是统一的显示效果。所以浏览器的兼容性问题是前端开发人员经常会碰到和必须要解决的问题。不

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论