计算机科学与技术系本科毕业论文《科研项目管理系统》-精品 - 图

更新时间:2024-05-31 00:29:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

学号:09416220

XX 大 学 毕业设计(论文) (2013届)

题 目 常州大学科研项目管理系统的设计与实现 学 生 学 院 信息科学与工程学院 专业班级 计 校内指导教师 专业技术职务 副教授

校外指导老师 专业技术职务

二○一三年三月

常州大学科研项目管理系统的设计与实现

摘 要:随着高校科研项目的增多,对科研项目的管理势在必行。本开发是以常州大学为例而开发的高校科研管理系统。该系统是在Tomcat服务器下,MyEclipse环境中开发,使用的语言是JAVA、数据库是MySQL。系统的用户包括三种权限:管理员、项目负责人、普通教师,每类用户各司其职,相辅相成,共同完成科研项目管理功能。管理员的权限功能包括用户权限管理、部门管理、项目类别管理、系统管理,还可以查询统计系统信息。项目负责人是对项目的审批、结题进行把关,功能包括项目审批管理、项目结题管理、系统管理。普通教师是对项目进行申报的,功能包括项目申报管理、过期项目管理、项目结题管理、系统管理。三类用户功能分工明确,权限之间没有交叉,完美地结合,为科研项目的管理提供了完美保障。

关键词:科研项目;科研管理系统;JAVA;MySQL数据库;Tomcat服务器;MyEclipse开发环境;

I

Design and implementation of scientific research project management

system of the University of Changzhou

Abstract:With the increasing of scientific research project, the management of scientific research projects is essential trend, so in this curriculum, I study the university scientific research management system, this system is developed by University of Changzhou as an example, is the subject of design and implementation of scientific research project management system of the University of Changzhou.

The system is in the Tomcat server, MyEclipse development environment, the language used is JAVA, the database is MySQL.

The user of the system includes three kinds of permissions: administrator, who is in charge of the project, the ordinary teacher, each category of users perform their respective duties, complement each other, to complete the scientific research project management. Administrator permissions, user rights management, including management, project category management, system management, can also query statistics information system. Person in charge of the project is the project examination and approval, the control of the system includes management, project approval, project completion management, system management. Ordinary teachers is to declare to the project, including project management function, project management, project completion date management, system management. Three types of user function clear division of labor, no cross between authority, the perfect combination, has provided the safeguard for the management of scientific research projects.

Key words:Research project; Scientific research management system; JAVA; MySQL database; Tomcat server; MyEclipse development environment

II

目录

1 绪论 ........................................................................................................................................ 1

1.1 系统概况 ...................................................................................................................... 1 1.2 系统目的 ...................................................................................................................... 2 1.3 本章小结 ...................................................................................................................... 2 2 开发工具 ................................................................................................................................ 3

2.1 Tomcat服务器 .............................................................................................................. 3 2.2 MyEclipse开发工具 ..................................................................................................... 3 2.3 MySQL数据库 ............................................................................................................. 4 2.4 JAVA语言 ..................................................................................................................... 5 2.5 本章小结 ...................................................................................................................... 6 3 需求分析 ................................................................................................................................ 7

3.1 功能需求 ...................................................................................................................... 7

3.1.1 登录模块 ............................................................................................................ 7 3.1.2 部门负责人功能 ................................................................................................ 7 3.1.3 管理员功能 ........................................................................................................ 8 3.1.4 普通教师功能 .................................................................................................... 9 3.2 技术需求 .................................................................................................................... 10 3.3 可行性分析 ................................................................................................................ 10 3.4 数据库需求 .................................................................................................................11 3.5 本章小结 .....................................................................................................................11 4.1 数据需求分析 ............................................................................................................ 12 4.2 数据结构分析 ............................................................................................................ 12 4.3 E-R图 ......................................................................................................................... 14 4.4 本章小结 .................................................................................................................... 15 5 系统设计与实现 .................................................................................................................. 17

5.1 登录模块 .................................................................................................................... 17 5.2 项目负责人功能模块 ................................................................................................ 18

5.2.1 项目审批管理模块 .......................................................................................... 19 5.2.2 项目结题管理模块 .......................................................................................... 21 5.3 管理员功能模块 ........................................................................................................ 23

5.3.1 用户权限管理模块 .......................................................................................... 23 5.3.2 部门管理模块 .................................................................................................. 25 5.3.3 项目类别管理模块 .......................................................................................... 27 5.3.4 查询统计系统模块 .......................................................................................... 28 5.4 普通教师功能模块 .................................................................................................... 30

5.4.1 项目申报管理模块 .......................................................................................... 30 5.4.2 过期项目管理模块 .......................................................................................... 33 5.4.3项目结题管理模块 ........................................................................................... 34 5.5 本章小结 .................................................................................................................... 36 6 系统测试 .............................................................................................................................. 37

6.1 功能测试 .................................................................................................................... 37

6.1.1 登录功能 .......................................................................................................... 37 6.1.2 审批项目功能 .................................................................................................. 38

III

6.1.3 结题项目功能 .................................................................................................. 38 6.1.4 文件上传功能 .................................................................................................. 39 6.2 本章小结 .................................................................................................................... 39 7 总结 ...................................................................................................................................... 40 参 考 文 献 ............................................................................................................................ 41 致 谢 ........................................................................................................................................ 42

IV

常州大学本科生毕业设计(论文)

1 绪论 1.1 系统概况

在如今这个核算机得到遍及运用的年代,许多往昔依靠人工进行的办理都由核算机所替代。特别在信息的存储、加工和保护上核算机能取得人所不能比拟的效果。经过核算机进行办理的首要办法是树立办理信息体系(Management Information System,MIS)。对办理信息体系有许多种解说,依照办理信息体系的创始人明尼苏达大学的Gordon B.Davis教授给出的界说,MIS是一个运用核算机硬件和软件,手作业业,剖析、方案、操控和决议方案模型,以及数据库的用户—机器体系。它能供给信息,撑持公司或安排的运转、办理和决议方案功用。我国专家薛华成则将其界说为:办理信息体系是一个以人为主导,运用核算机硬件、软件、网络通信设备以及其他办公设备,进行信息的搜集、传输、加工、存储、更新和保护,以公司战略竞优、进步功率和效益为意图,撑持公司高层决议方案、中层操控、底层运作的集成化的人机体系。虽然界说不一样,但总的说来,办理信息体系毕竟要起到一个进步办理功率、减轻办理人员担负的效果。无论关于公司或其他安排,树立一个办理信息体系都是完结其领先办理一切必要的。

常州大学应国家要求与自身发展要求,每年都承接了许多的科研项目及发表了为数众多的科技论文,对这些效果进行计算所得到的信息在该校的办理中具有重要的含义;

首要,它反映了常州大学的学术水平效果,是对该校所进行的各项评价的首要参阅依据;

第二,经过这些核算效果,可以看出常州大学的开展趋势,从而为学校开展决议方案供给重要的辅佐信息;

第三,它是查询某位研究人员的作业效果的首要办法之一;最终,这些核算信息也是上级主管部门常常需要上报的信息。

明显,需要有一套卓有成效的手法来对常州大学的科研项目申请、结题等工作进行管理。到当前为止,常州大学的科研项目办理一向选用人工办理的办法,并无一套成文的办理标准,也没有相应的专职办理人员,只要当上级部门发文需要核算项目或论文情况时才由有关人员查阅本所的各种关联文档,人工进行核算并制造报表。这种落后办理的坏处是清楚明了的。

有鉴于此,开发一个常州大学的科研项目管理系统是很有必要的。它将有助于将办理人员从烦琐的办理作业中脱节出来,使办理体系化、条理化,能敏捷取得感兴趣的信息。科研管理系统是一个一体化的系统,包含事务信息模块、常规作业模块、决议方案模块等。因此依据现有人力和时刻约束条件以及项目和论文申办的特色,树立一个完好的、具有一切功用的科研管理系统势在必行。咱们挑选开发一个相对较小的有用的数据处置体系。数据处置体系(Data Processing System,DPS)又称为电子数据处置体系(Electronic Data Processing System,EDPS)或事务处置体系(Transaction Processing System,TPS),它归于办理信息体系的领域,但不是办理信息体系的悉数。其首要特色是简略、精确和标准化。事务规模首要是事务数据的登录,数据的修正,将数据信息以文件方式存入软盘、磁带或硬盘,经过存取这些数据信息打印出报表,首要第 1 页 共 42 页

常州大学本科生毕业设计(论文)

的操作是排序、列表、更新、查询等,首要运用的运算是简略的加减乘除,其输入通常是原始的单据或表单,输出通常是分类或汇总的报表,首要运用的人员是运转人员。这一类体系因为处置的疑问处于较低的办理层,因此疑问比拟布局化,即处置进程较固定,体系布局相对比拟简略,无须很杂乱的完结技能。

1.2 系统目的

科研项目管理系统的服务对象是学院科研项目管理人员、教师等,教师是可以查看科研项目信息的,然后根据情况对其进行申报工作;科研项目管理人员根据教师提出的申报项目进行审批,项目结束了对项目进行结题工作。

其次,系统还应该有管理员对各类用户进行管理,对科研项目、科研项目类别、部门等信息进行管理,管理员是为各类用户进行服务的,以保证各类用户可以各司其职,确保科研项目管理得到很好的使用。

1.3 本章小结

这章介绍了系统开发的发展概况、目的和系统存在的问题。发展概况是对科研项目在我院发展的情况,系统的目的是从系统可以做什么方面进行了分析。

第 2 页 共 42 页

常州大学本科生毕业设计(论文)

2 开发工具

常州大学科研项目管理系统是在Tomcat服务器下运行的,使用的是MyEclipse作为开发工具、MySQL数据库、JAVA语言开发的B/S结构系统。

2.1 Tomcat服务器

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。目前最新版本是7.0。

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为7.0.39。

Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。

2.2 MyEclipse开发工具

MyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML语言,Struts架构,JSP,CSS(层叠样式表),Javascript,Spring,SQL,Hibernate。

MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。第 3 页 共 42 页

常州大学本科生毕业设计(论文)

MyEclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。[1]

根据官方最新消息,MyEclipse 2013已经正式发布!MyEclipse 2013[2]支持HTML5、JQuery和主流的Javascript 库。随着MyEclipse 2013支持Html5,你可以添加音频、视频和API元素到你的项目,从而为移动设备创建复杂的Web应用程序。你甚至还可以通过HTML5 可视化设计器设计令人难以置信的用户界面。同时,随着MyEclipse 2013支持JQuery,你可以通过插件提升性能,并添加动画效果到设计中。

在结构上,MyEclipse的特征可以被分为7类: 1.JavaEE模型 2.WEB开发工具 3.EJB开发工具

4.应用程序服务器的连接器 5.JavaEE项目部署服务 6.数据库服务

7.MyEclipse整合帮助

对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。

简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse5.5以前版本需先安装Eclipse。MyEclipse5.5以后版本安装时不需安装Eclipse。

2.3 MySQL数据库

MySQL(发音为\,不是\)是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。

由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。

MySQL这个名字,起源不是很明确。一个比较有影响的说法是,基本指南和大量的库和工具带有前缀“my”已经有10年以上,而且不管怎样,MySQL AB创始人之一的Monty Widenius的女儿也叫My。这两个到底是哪一个给出了MySQL这个名字至今依然是个迷,包括开发者在内也不知道。

MySQL的海豚标志的名字叫“sakila”,它是由MySQL AB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者Ambrose Twebaze提供。根据Ambrose所说,Sakila来自一种叫SiSwati第 4 页 共 42 页

常州大学本科生毕业设计(论文)

的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的Arusha的一个小镇的名字。

MySQL,虽然功能未必很强大,但因为它的开源、广泛传播,导致很多人都了解到这个数据库。它的历史也富有传奇性。

2.4 JAVA语言

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

Java是由Sun Microsystems公司于 1995年5月推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。由James Gosling和同事们共同研发,并在1995年正式推出。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器均支持Javaapplet。另一方面,Java技术也不断更新。(2010年Oracle公司收购了SUN)

Java由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。

Java平台由Java虚拟机(Java Virtual Machine,简称JVM)和Java 应用编程接口(Application Programming Interface,简称API)构成。Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。常用的Java平台基于Java1.4,最近版本为Java1.7。

Java分为三个体系J2SE(Java2 Platform Standard Edition,java平台标准版),J2EE(Java 2 Platform,Enterprise Edition,java平台企业版),J2ME(Java 2 Platform Micro Edition,java平台微型版)。

与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java 软件必须相互兼容。“Java 语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。

Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。

Java 平台是基于 Java 语言的平台。这样的平台非常流行。因此微软公司推出了第 5 页 共 42 页

常州大学本科生毕业设计(论文)

与之竞争的.NET平台以及模仿Java的C#语言。

2.5 本章小结

该章节介绍了系统的开发工具,包括Tomcat服务器、MyEclipse开发工具、MySQL数据库、JAVA语言,详细对每一个工具的功能、用途进行了详细的介绍。

第 6 页 共 42 页

常州大学本科生毕业设计(论文)

3 需求分析 3.1 功能需求

科研项目管理系统是以后台管理为主,是典型的管理信息系统,以下是对管理信息系统的概述。

管理信息系统(Management Information System,简称MIS)是一个以人为主导,利用计算机硬件、软件、网络通信设备以及其他办公设备,进行信息的收集、传输、加工、储存、更新和维护,以企业战略竞优、提高效益和效率为目的,支持企业的高层决策、中层控制、基层运作的集成化的人机系统。管理信息系统油决策支持系统(DSS)、工业控制系统(CCS)、办公自动化系统(OA)以及数据库、模型库、方法库、知识库和与上级机关及外界交换信息的接口组成。

本系统的用户权限有三种,分别是部门负责人、管理员、普通教师,每种权限的功能如下所示:

3.1.1 登录模块

登录功能是每种权限用户都可以实现的,只有登录了系统才可以对系统进行更好的管理。该系统的不同权限的用户有三类,分别是部门负责人、管理员、普通教师,这三类用户有各自的用户名、密码、权限来登录系统。

3.1.2 部门负责人功能

部门负责人可以实现的功能有项目审批管理、项目结题管理,每个模块的具体功能内容如下:

项目负责人功能 项目审批 项目结题 待审批列表 已审批列表 项目结题确认 已确认项目

图3. 1部门负责人功能

(1)项目审批管理:该模块包括待审批列表、已审批列表。

待审批列表展示了科研项目组所有未审批的项目信息(包括项目名称、项目类别、第 7 页 共 42 页

常州大学本科生毕业设计(论文)

开始时间、结束时间、人数、申报金额、创建时间、进度跟踪、文档下载等),项目负责人可以点击查看项目的目前进度情况信息,可以点击下载该项目的文档信息,如果在仔细查看了解了之后,确定该项目可以审批通过,项目负责人即可单击审批对该项目进行审批。

已审批列表展示了科研项目组所有已审批的项目信息(包括项目名称、项目类别、开始时间、结束时间、人数、申报金额、创建时间、进度跟踪、文档下载等),项目负责人可以点击查看项目的目前进度情况信息,可以点击下载该项目的文档信息,项目负责人可以通过在查询自己想要查看的项目审批情况。

(2)项目结题管理:该模块包括项目结题确认和已确认项目。 项目结题确认展示了项目的结题进度信息(包括项目名称、项目类别、开始时间、结束时间、人数、申报金额、创建时间、进度跟踪、文档下载等),项目负责人同样可以点击查看项目的目前进度情况信息,可以点击下载该项目的文档信息,如果在仔细查看了解了之后,确定该项目可以结题了,项目负责人即可单击确认结题对该项目进行结题确认。

已确认结题提供项目负责人查看已经结题的项目信息(包括项目名称、项目类别、开始时间、结束时间、人数、申报金额、创建时间、进度跟踪、文档下载等),项目负责人同样可以点击查看项目的目前进度情况信息,可以点击下载该项目的文档信息。

3.1.3 管理员功能

管理员可以实现的功能有用户权限管理、部门管理、项目类别管理、查询统计系统,每个模块的具体功能内容如下:

管理员功能 用户权限管理 部门管理 项目类别管理 查询统计系统 创建用户 用户管理 添加部门 部门列表 添加类别 类别列表 项目统计 成果统计

图3. 2管理员功能

1、 用户权限管理:该模块包括创建用户和用户管理。

创建用户提供管理员新建用户信息(用户名、密码、确认密码、部门、权限分配、描述),输入用户信息,实时保存即可。

第 8 页 共 42 页

常州大学本科生毕业设计(论文)

用户列表提供管理员修改、删除用户信息(用户名、密码、部门、权限、描述),描述是对用户的性质进行描述。

2、 部门管理:该模块包括添加部门和部门列表。

添加部门是提供管理员添加部门信息(部门编号、部门名称等),添加完毕保存即可。

部门列表是提供管理员对部门信息(部门编号、部门名称等)进行编辑、删除操作。 3、 项目类表管理:该模块包括添加类别和类别列表。 添加类别提供管理员添加项目类别信息(类别名称、描述),添加完毕保存即可。 项目类别列表提供管理员查看、修改、删除项目类别信息(类别名称、描述)。 4、 查询项目统计管理:该模块包括项目统计和成果统计。

项目统计是提供管理员对项目信息(项目名称、项目类别、用户、部门、开始时间、结束时间、人数、申报金额、创建时间、是否审批、是否完成、进度跟踪、文档下载)进行统计,管理员可以点击查看项目的详细信息,可以对项目进行下载。

成果统计是提供管理员成果信息(成果名称、项目、用户、部门、成果描述)进行统计的,可以实现按照用户或者部门来查询某个成果信息,如果需要查询所有成果,不输入任何成果名称即可;可以实现下载某成果信息。

3.1.4 普通教师功能

普通教师可以实现的功能有项目申报管理、过期项目管理、项目结题管理,每个模块的具体功能内容如下:

普通教师功能 项目申报管理 过期项目管理 项目结题管理 申报项目 项目申报列表 查看过期项目 图3. 3普通教师功能

未结题项目 已结题项目

1、 项目申报管理:该模块包括申报项目和项目申报列表。

申报项目即添加项目信息(项目类别、项目名称、开始日期、结束日期、人数、申报金额、相关文档资料上传、文档下载、描述)。其中项目列表、是可以在下拉框中进行选择的,日期也是可以选择的。

申报项目列表提供教师查询、修改、删除申报项目,查看项目进度跟踪,下载项目第 9 页 共 42 页

常州大学本科生毕业设计(论文)

文档。

2、 过期项目管理:该模块提供教师查看已经过期的科研项目。

该模块提供教师查看已经过期的科研项目信息,包括项目名称、项目类别、开始时间、结束时间、人数、申报金额、创建时间、进度跟踪、文档下载。如果已经过期的项目需要重新申报,教师是可以重新申报的。

3、 项目结题管理:该模块包括未结题类表和已结题列表。

未结题列表是提供教师查看未结题项目,如果需要结题,教师可以给其结题操作。 已结题列表是查看已结题项目,教师可以查看进度、下载文档、查看项目成果。

3.2 技术需求

目前,开发此类系统的技术主要有ASP、JSP技术。针对本系统的功能需求和性能需求,采用的是JSP(JAVA Server Page)技术。它是一个纯的面向对象的程序设计语言,它继承了 C++ 语言面向对象技术的核心,Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java SE 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。

3.3 可行性分析

可行性分析,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。

1、经济可行性:主要是对项目的经济效益进行评价,本系统作为一个毕业设计,无需开发经费,对于我系在经济上是可以接受的。

2、 技术上的可行性:技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。该管理系统采用了当前新兴的B/S模式进行开发,结合了Internet技术。数据库服务器选用MySQL数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。

3、管理上的可行性:主要是科研项目组管理人员大力支持,系领导认同,现有的管理制度和方法科学,规章制度齐全,原始数据正确等。规章制度和管理方法为系统的建设提供了制度保障。

综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快。因此系统的开发是完全可行的。 第 10 页 共 42 页

常州大学本科生毕业设计(论文)

3.4 数据库需求

1、 数据录入和处理的准确性和实时性 数据的输入是否准确是数据处理的前提,错误的输入会导致网站输出的不正确和不可用,从而使网站的工作失去意义。数据的输入来源是手工输入。手工输入要通过网站界面上的安排网站具有容错性,并且对操作人员要进行网站的培训。

在网站中,数据的输入往往是大量的,因此网站要有一定的处理能力,以保证迅速的处理数据。

2、 数据的安全性 本网站为企业人事管理部门设计,因此只有特定的人事管理者才能对数据实现增,删,改,查等操作。未获授权人员不能进入网站。

3、 数据的备份

要定期对数据库中的数据进行全部或新增部分的备份工作,以保证在硬件出现故障或人为原因导致无法运行时是可以快速及时的还原到原来的正常状态。

3.5 本章小结

该章节从功能需求、技术需求、可行性分析、数据库需求四个方面对需求分析进行了详细的分析,功能需求从管理员、项目负责人、普通教师三个方面对系统功能进行了分析;技术需求从系统所使用到的技术方面进行了分析;可行性分析从经济可行性、技术可行性、管理可行性三个方面进行分析;数据库需求是从数据录入和处理的准确性和实时性、数据的安全性、数据的备份三个方面进行分析。

第 11 页 共 42 页

常州大学本科生毕业设计(论文)

4 数据库分析与连接

4.1 数据需求分析

数据对象(Data Object):是性质相同的数据元素的集合,是数据的一个子集,数据对象是一种运行时的概念。可以是外部实体(例如,产生或使用信息的任何事物)、事物(例如,报表)、行为(例如,打电话)、事件(例如,响警报)、角色(例如,教师、学生)、单位(例如,会计科)、地点(例如,仓库)或结构(例如,文件)等。总之,可以由一组属性来定义的实体都可以被认为是数据对象。

合理地规划数据库,是成功实现常州大学科研项目管理系统的前提,也是使系统能够高效准确运行的关键要素之一。本系统应该建立一个稳定的后台数据库,通过该数据库管理整个科研项目管理所需的信息(用户信息、科研项目信息、项目类别信息、部门信息表、等)。

针对系统的需求,本系统站中需要建立一个数据库来存放所有数据信息,数据库构成如下:

pms数据库:用来存放系统涉及到的相关信息,包括了8个表,分别为:dept(部门信息表)、user(用户信息表)、picture(文件信息表)、project(项目信息表)、projectrecords(项目进度信息表)、projectresult(项目成果信息表)、projecttype(项目类别信息表)、type(信息表)。

4.2 数据结构分析

表1用户信息表(user)

编号 1 2 3 4 5 6

字段名称

Id Username Password Type Dept Description

数据类型 String String String Int String String

主键 是

备注 编号 用户名 密码

1、 管理员(科研处);2、部门负责人;3

普通教师(个人)

部门 用户描述

用户信息表(user)是用来存放用户信息的,字段包括6个:编号、用户名、密码、用户类型、部门、用户描述,其中编号的表的主键。

表2部门信息表(dept)

编号 1 2 3

第 12 页 共 42 页

字段名称

Id Code Name

数据类型 String String String

主键 是

备注 编号 部门编号 名称

常州大学本科生毕业设计(论文)

4

Description

String

描述

部门信息表(dept)是用来存放部门信息的,字段包括4个:编号、部门编号、名称、描述,其中编号是表的主键,部门编号是表的外键。

表3文件信息表(picture)

编号 1 2

字段名称

Id Path

数据类型 String String

主键 是

备注 编号 路径

文件信息表(picture)是用来存放文件信息的,字段包括2个:编号、路径,其中编号是表的主键。

表4科研项目信息表(project)

编号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

字段名称

Id Type Name User Startdate Enddate Person Money Description Picture Isaccept Issuccess Acceptuser Acceptdate Successdate Createdate Confirm Dept Deptname Username Projecttype

数据类型 String String String String Date Date Int Float String String Int Int String Date Date Date Int String String String String

主键 是

备注 编号 项目类型 项目名称 所属用户 开始日期 结束日期 人数 申报金额 描述 项目文档 是否审批(0否1是) 是否完成(0否1是)

审批人 审批时间 完成时间 项目创建时间 项目结题确认

部门 部门名称 用户名称 项目类型

而科研项目信息表(project)是用来存放可研项目信息的,字段包括21个:编号、

项目类型、项目名称、所属用户、开始日期、结束日期、人数、申报金额、描述、项目文档、是否审批、是否完成、审批人、审批时间、完成时间、项目创建时间、项目结题第 13 页 共 42 页

常州大学本科生毕业设计(论文)

时间、部门、部门名称、用户名称、项目类型,其中编号是表的主键。

表5项目进度信息表(projectrecords)

编号 1 2 3 4 5

字段名称

Id Project Description User Createdate

数据类型 String String String String Date

主键 是

备注 编号 项目 进度描述 录入人 录入时间

项目进度信息表(projectrecords)是用来存放项目进的信息的,字段包括5个:编号、项目、进度描述、录入人、录入时间,其中编号是表的主键。

表6项目成果信息表(projectresult)

编号 1 2 3 4 5 6 7

字段名称

Id Title Description Picture Project Username Deptname

数据类型 String String String String String String String

主键 是

备注 编号 成果名称 成果介绍 成果文档 项目 用户名 项目名

项目成果信息表(projectrecords)是用来存放项目进的信息的,字段包括7个:编号、成果名称、成果介绍、成果文档、项目、用户名、项目名,其中编号是表的主键。

表7项目类别信息表(projecttype)

编号 1 2 3

字段名称

Id Typename Description

数据类型 String String String

主键 是

备注 编号 类别名称 类别描述

项目类别信息表(projecttype)是用来存放项目类别信息的,字段包括3个:编号、类别名称、类别描述,其中编号是表的主键。

4.3 E-R图

E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。E-R方法是“实体-联系方法”(Entity-Relationship Approach)的简称。它是描述现实世界概念结构模型的有效方第 14 页 共 42 页

常州大学本科生毕业设计(论文)

法。是表示概念模型的一种方式,用矩形表示实体型,矩形框内写明实体名;用椭圆表示实体的属性,并用无向边将其与相应的实体型连接起来;用菱形表示实体型之间的联系,在菱形框内写明联系名,并用无向边分别于有关实体型连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)。

本系统中的数据对象联系如下: 管理员:用户(1:n),一个管理员可以管理多个用户 管理员:部门(1:n),一个管理员可以管理多个部门 管理员:项目(1:n),一个管理员可以管理多个项目 管理员:项目类别(1:n),一个管理员可以管理多个项目类别 管理员:文件(1:n),一个管理员可以管理多个文件 普通教师:项目(1:N),一个教师能申报多个项目 普通教师:项目进度(1:N),一个教师能查看多个项目进度 项目负责人:项目(1:n),一个项目负责人可以审批、结题多个项目

该系统实体有管理员、项目负责人、教师、项目、相册、发帖、公告信息,系统E-R图如下: 编号 名称 类型 用户 人数 金额 描述 文档 是否审批 审批人 …… 结题 1 N 结题时间 N 科研项目 N 管理 1 管理 1 管理员 1 管理 N 部门 文档 项目 用户名 名称 编号 描述 项目名 查看 N 项目进度 录入时间 1 管理 N N 申报 1 编号 密码 用户名 项目负责人 1 管理 N 项目成果 普通教师 1 编号 项目 描述 录入人 编号 名称 介绍 图4- 1E-R图

4.4 本章小结

本章从数据库分析、数据库结构分析、E-R图三个方面进行阐述的,数据库分析介绍了数据库的名称与包含的表;数据库结构分析是对系统的所有数据表的结构进行了分第 15 页 共 42 页

常州大学本科生毕业设计(论文)

析,包括字段名称、字段类型、是否是主键等几个方面,表下方还对表进行了说明。

第 16 页 共 42 页

常州大学本科生毕业设计(论文)

5 系统设计与实现

系统设计与实现是从4个部门描述的:用户登录模块、科研负责人功能模块、管理员功能模块、普通教师功能模块。每个功能模块具体功能如下所示:

5.1 登录模块

登录模块流程图如下所示:

登录界面 输入用户名、密码 重新登录 是否登录成功 功能界面

图5- 1登录流程图

功能:登录模块是提供用户登录系统的,用户类型包括项目负责人、管理员、普通教师。

第 17 页 共 42 页

常州大学本科生毕业设计(论文)

图5- 2登录模块

说明:用户只需要输入正确的“用户名称”、“登录密码”即可登录系统。 核心代码:

public class LoginAction extends BaseAction{

private static final long serialVersionUID = -6442295321182851334L; //登录

public void login(){

String userName = getRequest().getParameter(\ String password = getRequest().getParameter(\ User user = getLoginService().login(userName, password); if(user==null){

JSONUtil.writeJsonFalse(getResponse()); }else{

getSession().setAttribute(\ JSONUtil.writeJsonTrue(getResponse()); } } /** * 退出 * @return */

public String logout(){

if(getSession().getAttribute(\ return \ }

getSession().removeAttribute(\ return \ } }

5.2 项目负责人功能模块

部门负责人可以实现的功能有项目审批管理、项目结题管理,每个模块的具体功能第 18 页 共 42 页

常州大学本科生毕业设计(论文)

内容如下:

5.2.1 项目审批管理模块

该模块包括待审批列表、已审批列表。

功能:待审批列表展示了科研项目组所有未审批的项目信息(包括项目名称、项目类别、开始时间、结束时间、人数、申报金额、创建时间、进度跟踪、文档下载等),项目负责人可以点击查看项目的目前进度情况信息,可以点击下载该项目的文档信息,如果在仔细查看了解了之后,确定该项目可以审批通过,项目负责人即可单击审批对该项目进行审批。

图5- 3项目审批管理模块

说明:项目负责人查询需要审批的项目,或者查询所有项目,在需要审批的项目后面单击“审批”来对其进行审批操作。

核心代码:

/**

* 待审批列表 * @return */

public String noAcceptProjectList() throws Exception{

String searchValue = getRequest().getParameter(\ User user = (User)getSession().getAttribute(\ int pageNo = StringUtil.toInt(getRequest().getParameter(\().getParameter(\

Page projectPage = null; if(searchValue==null){ projectPage = getAdminService().getPage(pageNo, new String[]{\

}else{

searchValue = new String(searchValue.getBytes(\ projectPage = getAdminService().getPage(pageNo, searchValue, new

第 19 页 共 42 页

常州大学本科生毕业设计(论文)

String[]{\

}

getRequest().setAttribute(\ getRequest().setAttribute(\ return \ }

功能:已审批列表展示了科研项目组所有已审批的项目信息(包括项目名称、项目类别、开始时间、结束时间、人数、申报金额、创建时间、进度跟踪、文档下载等),项目负责人可以点击查看项目的目前进度情况信息,可以点击下载该项目的文档信息,项目负责人可以通过在查询自己想要查看的项目审批情况。

图5- 4已审批列表

说明:通过输入项目名称、类别查看已审批项目的详细信息,可以点击查看内容或者下载该项目信息。

核心代码:

/**

* 已审批列表 * @return */

public String acceptProjectList() throws Exception{

String searchValue = getRequest().getParameter(\ int pageNo = StringUtil.toInt(getRequest().getParameter(\().getParameter(\

Page projectPage = null; if(searchValue==null){

projectPage = getAdminService().getPageProject(pageNo, \ }else{

searchValue = new String(searchValue.getBytes(\ projectPage = getAdminService().getPage(pageNo, searchValue, new String[]{\

}

第 20 页 共 42 页

常州大学本科生毕业设计(论文)

getRequest().setAttribute(\ getRequest().setAttribute(\ return \}

5.2.2 项目结题管理模块

该模块包括项目结题确认和已确认项目。

功能:项目结题确认展示了项目的结题进度信息(包括项目名称、项目类别、开始时间、结束时间、人数、申报金额、创建时间、进度跟踪、文档下载等),项目负责人同样可以点击查看项目的目前进度情况信息,可以点击下载该项目的文档信息,如果在仔细查看了解了之后,确定该项目可以结题了,项目负责人即可单击确认结题对该项目进行结题确认。

图5- 5项目结题确认

说明:项目负责人查询需要结题的项目,或者查询所有项目,在需要结题的项目后面单击“确认结题”来对其进行结题操作。

核心代码:

/**

* 我的未结题项目列表 * @return */

public String noSuccessProjectList() throws Exception{

String searchValue = getRequest().getParameter(\ int pageNo = StringUtil.toInt(getRequest().getParameter(\().getParameter(\

User user = (User)getSession().getAttribute(\ Page projectPage = null; if(searchValue==null){ projectPage = getAdminService().getPage(pageNo, new String[]{\

}else{

searchValue = new String(searchValue.getBytes(\

第 21 页 共 42 页

常州大学本科生毕业设计(论文)

projectPage = getAdminService().getPage(pageNo, searchValue, new String[]{\

}

getRequest().setAttribute(\ getRequest().setAttribute(\ return \ }

功能:已确认结题提供项目负责人查看已经结题的项目信息(包括项目名称、项目类别、开始时间、结束时间、人数、申报金额、创建时间、进度跟踪、文档下载等),项目负责人同样可以点击查看项目的目前进度情况信息,可以点击下载该项目的文档信息。

图5- 6已确认结题

说明:项目负责人查询结题的项目,或者查询所有项目。

核心代码:

/**

* 结题 */

public void success(){ try{

String id = getRequest().getParameter(\

Project project = getAdminService().getProject(id); project.setIsSuccess(1);

project.setSuccessDate(new Date()); //审批

getAdminService().update(project); //创建操作记录

ProjectRecords projectRecords = new ProjectRecords(); projectRecords.setCreateDate(new Date());

projectRecords.setDescription(\项目结题成功等待部门负责人确认\ projectRecords.setUser((User)getSession().getAttribute(\ projectRecords.setProject(project);

第 22 页 共 42 页

常州大学本科生毕业设计(论文)

}

//保存

getAdminService().save(projectRecords); JSONUtil.writeJsonTrue(getResponse()); }catch(Exception e){

JSONUtil.writeJsonFalse(getResponse()); }

5.3 管理员功能模块

管理员可以实现的功能有用户权限管理、部门管理、项目类别管理、查询统计系统,每个模块的具体功能内容如下:

5.3.1 用户权限管理模块

该模块包括创建用户和用户管理。

功能:创建用户提供管理员新建用户信息(用户名、密码、确认密码、部门、权限分配、描述),输入用户信息,实时保存即可。

图5- 7创建用户

说明:管理员只要输入用户信息(包括用户名、密码、确认密码、部门、权限分配、描述等),单击“保存”即可实现创建用户功能。

核心代码:

/**

* 创建用户 * @return */

public String addUser(){

List deptList = getAdminService().getDeptList(); getRequest().setAttribute(\

第 23 页 共 42 页

常州大学本科生毕业设计(论文)

return \}

功能:用户列表提供管理员修改、删除用户信息(用户名、密码、部门、权限、描述),描述是对用户的性质进行描述。

图5- 8用户列表

说明:管理员在需要修改、删除的用户后面单击相应的按钮对其操作。 核心代码:

/**

* 编辑用户 * @return */

public String editUser(){

String id = getRequest().getParameter(\ User user = getAdminService().getUser(id);

List deptList = getAdminService().getDeptList(); getRequest().setAttribute(\ getRequest().setAttribute(\ return \ } /**

* 删除用户 */

public void deleteUser(){ try{

String id = getRequest().getParameter(\ getAdminService().deleteUser(id);

JSONUtil.writeJsonTrue(getResponse()); }catch(Exception e){

JSONUtil.writeJsonFalse(getResponse()); } }

第 24 页 共 42 页

常州大学本科生毕业设计(论文)

5.3.2 部门管理模块

该模块包括添加部门和部门列表。

功能:添加部门是提供管理员添加部门信息(部门编号、部门名称等),添加完毕保存即可。

图5- 9添加部门

说明:管理员只要输入部门信息(包括部门编号、部门名称、描述等),单击“保存”即可实现创建部门功能。

核心代码:

/**

* 添加部门 */

public String addDept(){ return \ } /**

* 保存部门 */

public void saveDept(){ try{

String code = getRequest().getParameter(\ String name = getRequest().getParameter(\

String description = getRequest().getParameter(\ Dept dept = getAdminService().getDept(\ if(dept==null){

dept = new Dept(); dept.setCode(code);

dept.setDescription(description); dept.setName(name);

第 25 页 共 42 页

常州大学本科生毕业设计(论文)

}

//保存

getAdminService().save(dept);

JSONUtil.writeJsonMsg(getResponse(), \ }else{

JSONUtil.writeJsonMsg(getResponse(), \ }

}catch(Exception e){

JSONUtil.writeJsonMsg(getResponse(), \}

功能:部门列表是提供管理员对部门信息(部门编号、部门名称等)进行编辑、删除操作。

图5- 10部门列表

说明:管理员在需要修改、删除的部门后面单击相应的按钮对其操作。 核心代码:

/**

* 编辑部门 * @return */

public String editDept(){

String id = getRequest().getParameter(\ Dept dept = getAdminService().getDept(id); getRequest().setAttribute(\ return \ } /**

* 删除部门 */

public void deleteDept(){ try{

String id = getRequest().getParameter(\ getAdminService().deleteDept(id);

JSONUtil.writeJsonTrue(getResponse()); }catch(Exception e){

JSONUtil.writeJsonFalse(getResponse()); }

第 26 页 共 42 页

常州大学本科生毕业设计(论文)

}

5.3.3 项目类别管理模块

该模块包括添加类别和类别列表。

功能:添加类别提供管理员添加项目类别信息(类别名称、描述),添加完毕保存即可。

图5- 11添加类别

说明:管理员只要输入项目类别信息(包括类别名称、描述等),单击“保存”即可实现创建项目类别功能。

核心代码:

/**

* 添加类别 * @return */

public String addType(){ return \ }

功能:项目类别列表提供管理员查看、修改、删除项目类别信息(类别名称、描述)。

第 27 页 共 42 页

常州大学本科生毕业设计(论文)

图5- 12创建项目类别

说明:管理员在需要修改、删除的项目类别后面单击相应的按钮对其操作。 核心代码:

/**

* 编辑类别 * @return */

public String editType(){

String id = getRequest().getParameter(\

ProjectType projectType = getAdminService().getProjectType(id); getRequest().setAttribute(\ return \ } /**

* 删除类别 */

public void deleteType(){ try{

String id = getRequest().getParameter(\ getAdminService().deleteProjectType(id); JSONUtil.writeJsonTrue(getResponse()); }catch(Exception e){

JSONUtil.writeJsonFalse(getResponse()); } }

5.3.4 查询统计系统模块

该模块包括项目统计和成果统计。

功能:项目统计是提供管理员对项目信息(项目名称、项目类别、用户、部门、开始时间、结束时间、人数、申报金额、创建时间、是否审批、是否完成、进度跟踪、文

第 28 页 共 42 页

常州大学本科生毕业设计(论文)

档下载)进行统计,管理员可以点击查看项目的详细信息,可以对项目进行下载。

图5- 13项目统计

说明:管理员可以根据用户、部门来查询相关项目信息,并可以点击查看和点击下载相关信息。

核心代码:

/**

* 项目统计 * @return */

public String countProject() throws Exception{

String searchValue = getRequest().getParameter(\ int pageNo = StringUtil.toInt(getRequest().getParameter(\().getParameter(\

Page projectPage = null; if(searchValue==null){

projectPage = getAdminService().getPageProject(pageNo); }else{

searchValue = new String(searchValue.getBytes(\ projectPage = getAdminService().getPageProject(pageNo, searchValue); }

getRequest().setAttribute(\ getRequest().setAttribute(\ return \ }

功能:成果统计是提供管理员成果信息(成果名称、项目、用户、部门、成果描述)进行统计的,可以实现按照用户或者部门来查询某个成果信息,如果需要查询所有成果,

第 29 页 共 42 页

常州大学本科生毕业设计(论文)

不输入任何成果名称即可;可以实现下载某成果信息。

图5- 14成果统计

说明:管理员可以根据用户、部门来查询相关项目信息,并可以点击查看和点击下载相关信息。

核心代码:

/**

* 成果统计 * @return */

public String countProjectResult()throws Exception{

String searchValue = getRequest().getParameter(\ int pageNo = StringUtil.toInt(getRequest().getParameter(\().getParameter(\

Page projectResultPage = null; if(searchValue==null){

projectResultPage = getAdminService().getPageProjectResult(pageNo); }else{

searchValue = new String(searchValue.getBytes(\ projectResultPage = getAdminService().getPageProjectResult(pageNo, searchValue);

}

getRequest().setAttribute(\

getRequest().setAttribute(\ return \ }

5.4 普通教师功能模块

普通教师可以实现的功能有项目申报管理、过期项目管理、项目结题管理,每个模块的具体功能内容如下:

5.4.1 项目申报管理模块

项目申报管理:该模块包括申报项目和项目申报列表。 第 30 页 共 42 页

常州大学本科生毕业设计(论文)

功能:申报项目即添加项目信息(项目类别、项目名称、开始日期、结束日期、人数、申报金额、相关文档资料上传、文档下载、描述)。其中项目列表、是可以在下拉框中进行选择的,日期也是可以选择的。

图5- 15申报项目

说明:普通教师只要输入项目信息(包括项目、项目名称、开始日期、结束日期、人数、申报金额、相关文档资料上传、文档下载、描述等),单击“保存”即可实现申报项目的功能。

核心代码:

/**

* 申报项目 * @return */

public String addProject(){

List projectTypeList = getAdminService().getProjectTypeList(); getRequest().setAttribute(\ return \ }

功能:申报项目列表提供教师查询、修改、删除申报项目,查看项目进度跟踪,下载项目文档。

第 31 页 共 42 页

常州大学本科生毕业设计(论文)

图5- 16申报项目列表

说明:普通用户在需要修改、删除的已经申报的项目后面单击相应的按钮对其操作,并且可以点击查看、点击下载相关信息。

核心代码:

/**

* 我的项目列表 * @return */

public String projectList() throws Exception{

User user = (User)getSession().getAttribute(\ int pageNo = StringUtil.toInt(getRequest().getParameter(\().getParameter(\

String searchValue = getRequest().getParameter(\ String isAccept = getRequest().getParameter(\ String isSuccess = getRequest().getParameter(\ Page projectPage = null;

if(searchValue==null && isAccept==null && isSuccess==null){

projectPage = getAdminService().getPageProject(pageNo, user); }else{

if(searchValue !=null){ searchValue = new String(searchValue.getBytes(\

}

projectPage = getAdminService().getPageProject(pageNo, user, searchValue, isAccept, isSuccess);

}

getRequest().setAttribute(\ getRequest().setAttribute(\ getRequest().setAttribute(\ getRequest().setAttribute(\ return \

第 32 页 共 42 页

常州大学本科生毕业设计(论文)

}

5.4.2 过期项目管理模块

该模块提供教师查看已经过期的科研项目。

功能:该模块提供教师查看已经过期的科研项目信息,包括项目名称、项目类别、开始时间、结束时间、人数、申报金额、创建时间、进度跟踪、文档下载。如果已经过期的项目需要重新申报,教师是可以重新申报的。

图5- 17教师查看已经过期的科研项目

说明:教师可以根据项目名称、类别来查询相关项目信息,如果已过期项目需要重新申报,只要单击对应的项目后面的“重新申报”即可实现,

核心代码:

/**

* 已过期项目 * @return */

public String oldProjectList() throws Exception{

String searchValue = getRequest().getParameter(\ if(searchValue !=null){

searchValue = new String(searchValue.getBytes(\ } int pageNo = StringUtil.toInt(getRequest().getParameter(\().getParameter(\

User user = (User)getSession().getAttribute(\ Page projectPage = getAdminService().getPageOldProject(pageNo,searchValue,user);

getRequest().setAttribute(\ getRequest().setAttribute(\ return \ }

第 33 页 共 42 页

常州大学本科生毕业设计(论文)

5.4.3项目结题管理模块

该模块包括未结题列表和已结题列表。

功能:未结题列表是提供教师查看未结题项目,如果需要结题,教师可以给其结题操作。

图5- 18未结题列表

说明:教师通过项目名称、类别查看未结题的项目,如需结题,只要单击项目后面的“结题”即可实现。

核心代码:

/**

* 我的未结题项目列表 * @return */

public String noSuccessProjectList() throws Exception{

String searchValue = getRequest().getParameter(\ int pageNo = StringUtil.toInt(getRequest().getParameter(\().getParameter(\

User user = (User)getSession().getAttribute(\ Page projectPage = null; if(searchValue==null){ projectPage = getAdminService().getPage(pageNo, new String[]{\

}else{

searchValue = new String(searchValue.getBytes(\ projectPage = getAdminService().getPage(pageNo, searchValue, new String[]{\

}

getRequest().setAttribute(\ getRequest().setAttribute(\ return \ }

功能:已结题列表是查看已结题项目,教师可以查看进度、下载文档、查看项目成第 34 页 共 42 页

常州大学本科生毕业设计(论文)

果。

图5- 19已结题列表

说明:教师通过项目名称、类别查看已结题的项目,还可以查看项目信息、点击下载项目。

核心代码:

/**

* 我的已结题列表 * @return */

public String successProjectList() throws Exception{

String searchValue = getRequest().getParameter(\ int pageNo = StringUtil.toInt(getRequest().getParameter(\().getParameter(\

User user = (User)getSession().getAttribute(\ Page projectPage = null; if(searchValue==null){ projectPage = getAdminService().getPage(pageNo, new String[]{\

}else{

searchValue = new String(searchValue.getBytes(\ projectPage = getAdminService().getPage(pageNo, searchValue, new String[]{\

}

getRequest().setAttribute(\ getRequest().setAttribute(\ return \ }

第 35 页 共 42 页

本文来源:https://www.bwwdw.com/article/ofz6.html

Top