周一至周五 | 9:00—22:00

期刊论文网 > 管理论文 > 科研管理论文 > 最新科研管理类论文 长治学院科研信息管理系统的设计与实现--项目管理与经费

最新科研管理类论文 长治学院科研信息管理系统的设计与实现--项目管理与经费

2018-12-06 10:44:12来源:组稿人论文网作者:婷婷

  摘 要:目前高校从事科研人数、各级各类科研项目在逐渐增加,科研经费快速增长,科研管理工作的复杂度也日益剧增,如何使用信息化手段对高校科研工作进行科学高效的管理非常值得研究。本课题基于长治学院科研管理现状,针对长治学院科研信息管理需求,拟开发长治学院科研信息管理系统,服务于长治学院科研人员、科研管理人员及管理决策人员,达到科学、高校科研管理的目的。本系统拟采用B/S架构,结合J2EE、HTML5、Ajax技术,并使用MVC模式进行开发,以实现一个用户界面美观,功能齐全,稳定可靠的科研信息管理系统。

  本文主要叙述了项目管理和经费管理两个模块的设计思路与实现方法,在项目管理模块,实现了项目的申请与审核,项目类别与项目的增加、删除、修改与查询操作,并重点实现了项目的高级检索功能;在经费管理模块,实现了经费类别的基本管理及经费的申报,在经费申报中,由于需要经费的即时更新,采用Ajax技术实现了异步数据加载,局部页面刷新效果。项目管理与经费管理模块开发完成后,进行相关测试,与同组成员进行系统整合后,完成了项目的部署工作。

  关键词:科研管理;Java;MySQL;MVC模式

  1 前 言

  1.1 科研信息管理的现状

  目前,长治学院科研处仍使用Excel、word等办公软件来处理大量的科研数据信息,这种方式难以及时有效的统计出最新的科研情况,为科研管理带来了许多工作量,为领导进行有效的科学决策带来不利影响,同时使科研处和广大科研人员缺少一种快捷高效的沟通方式。这种管理方式存在着许多的缺点,如:效率低、浪费人力物力、安全性低等;另外,如果时间一长,会积累大量的文件和数据,对查找、更新、维护和保管科研信息带来很大的麻烦。

  1.2 科研信息管理的意义

  在信息化时代的今天,随着我校从事科研人数、科研项目的增多,科研经费也在急剧增加。对每一笔科研经费的有效监管是我校科研部门必须认真思考的问题,而解决这个问题的最好办法就是实现项目经费的公开透明,因此开发一套简单实用,且适应长治学院科研管理现状的科研信息系统变得尤为必要。

  2 需求分析

  本课题面向的研究方向为长治学院科研信息管理,是有利于提高学校科研信息管理效率、保障信息的安全性等各方面的。为了实现多用户的交互,考虑了管理员和负责人两个用户权限的登录。管理员权限需要实现系统管理、人员管理、项目管理和经费管理;负责人角色需要实现项目管理和查看信息。我负责的模块为项目管理和经费管理。以下为本系统涉及的管理员身份登录后的项目管理模块和经费管理模块的具体需求。

  2.1 系统对象分析

  项目管理和经费管理联系紧密,每一个项目都有相应的经费对应。在我负责的模块中涉及到的实体类有以下几个:Admin类、Attendee类、Department类、ManageLogin类、Money类、Position类、Pro类、Work类、ProjectAttendee类、ProjectMoney类和ProjectType类。

  2.2 系统功能分析

  项目管理包括对项目、项目类别与项目申请的操作。在对项目的操作中需要包括项目的增加、删除、修改、查询以及项目的审核,而项目的查询需要涉及到按照项目名称、项目类别、项目所属系别、项目第一负责人、项目第二负责人、项目进展状态及项目审核状态等项目相关属性的查询;在对项目类别管理的操作中用到管理项目类别,并进行相应的增删改查;项目申请主要是管理员直接帮项目申请者进行的项目申请。

  经费管理与项目管理相联系,对经费的操作包括相应经费按类别的增删改查和按项目名称的增删改查。

  具体涉及的用例图如图1所示:

  图1 管理员用例图

  2.3 系统状态转换图分析

  在管理员登录系统时需要进行身份的验证。验证成功后便可以进入管理员主界面。在该界面中我主要负责的模块为项目管理和经费管理。项目管理包括查看项目、项目类别和项目申请,经费管理中包括经费类别和经费查看。具体状态转换图如图2所示:

  图2 管理员状态转换图

  2.4 性能需求分析

  本系统中的性能需求主要有可靠性、适用性和实用性需求,本系统应满足的具体需求如下。

  (1) 可靠性需求

  系统必须有高度的可靠性去保证系统的正确运行,同时才能保证数据的正确性。

  (2) 适用性需求

  管理员并在使用一段时间后可以熟练操作该系统,用户可以在打开网页后便使用系统;数据库可以及时更新以适应数据资源的变化。

  (3) 实用性需求

  能够运用信息化的手段对高校科研工作进行科学高效的管理。

  3 系统设计

  3.1 系统结构

  系统结构设计是对系统的整体功能结构分析。本系统中涉及管理员角色登录和负责人角色登录。当管理员角色登录后进行可以进行人员管理、系统管理、项目管理和经费管理。我负责对项目管理和经费管理的实现。

  (1)在项目管理中,具体分析后得出查看项目、项目类别和项目申请功能项。

  查看项目中主要包括项目名称、项目类别、项目所属系别、项目第一负责人、项目第二负责人、项目进展状况和项目审核状况。这些分别通过下拉列表来选择相应的查询类别,然后在对应的文本框中输入关键字,点击查询按钮便可以显示匹配的项目信息。在每条具体的项目记录后面有删除、修改和查看参加人员的链接,分别实现删除、修改和查看具体项目参加人员的功能。考虑到项目与经费的一一对应关系,在项目经费后面加上超链接可以实现每一个项目对应申请经费的类别额度。

  (2)在经费管理中,具体分析后得出经费类别和经费查看的功能项。

  经费类别主要是设置每个项目经费的花费类别。例如项目负责人申请经费,该经费又由多个经费小项组成。主要包括经费名称、所持比例最高和所持比例最低等属性。这里包括经费类别的增删改查功能。

  经费查看主要按项目查询和经费类别查询。选择项目下拉列表中的具体项目名称,点击右边的“按项目名查看”按钮便可以显示出相应检索。同理,选择具体经费类别,点击右边的“按经费类别查看”按钮便可以显示出按经费类别查出的项目信息。

  系统的整体功能结构如图3所示:

  图3 科研信息管理系统功能结构图

  3.2 业务流程图

  在项目管理和经费管理模块中会出现大量的业务流程图,由于每个流程图的实现原理比较相似,以管理员项目查询和管理员经费查看流程为例,进行详细的介绍。

  管理员在进行项目查询时,首先需要在登录界面对输入的用户名和密码进行校验,身份校验通过后管理员进入管理员主界面,点击左侧菜单栏中的查看项目,在右侧显示区域中会出现查看项目界面。选择好要查询的项目类别后,在文本框中输入相应类别的关键字,然后点击查询按钮就可以显示出相应的查询信息。具体的流程图如图4所示:

  图4 管理员项目查询流程图

  管理员在进行经费查看时,与上述经费查看同样的方式进入管理员主界面。这时可以通过两种方式进行经费的查看,第一种为直接点击经费菜单栏中的经费查看,选择要查找的项目名称或经费类别进行查看;第二种为进入项目管理菜单栏中的项目查看,找到具体的项目后点击该记录中的项目经费中的超链接进行经费的具体查看。具体的流程图如图5所示:

  图5 管理员经费查看流程图

  3.3 开发及运行环境

  系统开发平台:Eclipse

  开发语言:Java

  数据库管理系统软件:MySql

  运行平台:Windows xp/Windows 7

  3.3.1 Ajax技术

  经费管理模块的经费申报子模块中,由于需要经费的即时更新,采用Ajax技术实现了异步数据加载,局部页面刷新效果。

  Ajax(Asynchronous Javascript And XML)是异步加载数据的技术。在设计开发中使用此技术不会刷新整体界面,而只会刷新界面中的某些数据,以达到异步访问的目的。推荐使用jquery的ajax写法,可以更方便的传递参数和获取返回值。实现思路是将要访问的URL,JSON格式的参数,访问成功调用的回调函数放置在ajax的声明结构中,可以使用界面标签的某一事件触发ajax,使其访问后台,后台再经过数据库访问到数据后返回结果至servlet,由servlet的输出流输出值至ajax的回调函数。最后根据回调函数的data值更新界面效果。

  3.3.2程序开发模式—MVC

  本系统中整体采用MVC开发模式,简化开发流程,提高开发效率。

  MVC即Model(模型)、View(视图)、Controller(控制器)的缩写。M负责业务逻辑,包含业务数据和业务处理逻辑两层;V负责显示界面和用户交互;C是M和V之间的桥梁,用于控制流程。MVC模式将整个程序中的业务逻辑、数据和界面显示的代码隔离开,强制性的将程序的输入、处理与输出分离开来,使得程序结构化,提高应用程序可扩展性和可维护性。

  4 系统实现

  4.1 数据库

  4.1.1 数据库概要说明

  数据库是按照数据结构来组织、存储和管理数据的仓库,目前主流数据库有Oracle、DB2、SQLServer、MySQL等,同其他数据库相比,MySQL数据库作为开源数据库,同时具备体积小、速度快、总体拥有成本低等特点,基于本系统的应用特性和对数据的处理需求,采用MySQL作为本系统的数据库。

  4.1.2 实体—联系图

  由需求分析可知,系统有管理员、参加项目人员、项目负责人、项目、项目经费等实体。管理员与参加项目人员、项目负责人、项目和经费都是一对多的管理;而项目负责人与项目、参加项目人员为多对多的关系;项目与项目经费之间为一对多的关系。具体的E-R图如图6所示:

  图6 科研信息管理系统实体联系图

  4.1.3 主要数据表的结构

  系统数据库名称为“srms”,由以上实体属性图和E-R图可以导出项目负责人表(admin)、参加人员表(attendee)、系别表(department)、管理员表(manage_login)、经费表(money)、职位表(position)、项目表(pro)、项目参加人员映射表(project_attendee)、项目经费映射表(project_money)、项目类别映射表(project_type)和单位表(work)。库中的数据表见表1—表11。

  负责人表(admin):用来存储项目负责人详细信息。该表的结构如表1所示:

  表1 负责人表

  字段名数据类型长度描述关键字备注adm_idvarchar50负责人ID是主键adm_namevarchar100负责人姓名非空adm_pwdvarchar100负责人密码非空dep_idvarchar50系别ID非空pos_idvarchar50职位ID非空adm_telvarchar20电话号码非空adm_notevarchar255备注可空参加人员表(attendee):用来存储项目的参加人员信息。该表结构如表2所示:

  表2 参加人员表

  字段名数据类型长度描述关键字备注att_idvarchar50参加人员ID是主键att_namevarchar100参加人员名称非空dep_idvarchar50系别ID可空wor_idvarchar50单位ID可空att_notevarchar255备注可空系别表(department):用来存储项目参加人员或负责人的系别信息。该表的结构如表3所示:

  表3 系别表

  字段名数据类型长度描述关键字备注dep_idvarchar50系别ID是主键dep_namevarchar100系别名称非空职位表(position):用来存储项目参加人员的职位信息。该表的结构如表4所示:

  表4 职位表

  字段名数据类型长度描述关键字备注pos_idvarchar50职位ID是主键pos_namevarchar50职位名称非空经费表(money):用来存储项目经费的所占比例信息。该表的结构如表5所示:

  表5 经费表

  字段名数据类型长度描述关键字备注mon_idvarchar50经费ID是主键mon_namevarchar50经费名非空mon_scale_maxdouble50所持经费最高比例非空mon_scale_mindouble200所持经费最低比例非空管理员表(manage_login):用来存储管理员的登录信息。该表的结构如表6所示:

  表6 管理员表

  字段名数据类型长度描述关键字备注man_idvarchar50管理员ID是主键man_pwdvarchar100管理员密码非空man_namevarchar100管理员姓名非空pos_idvarchar50职位ID非空项目表(pro):用来存储项目具体信息。该表的结构如表7所示:

  表7 项目表

  字段名数据类型长度描述关键字备注pro_idvarchar50项目ID是主键pro_namevarchar100项目名称非空pro_type_idvarchar200项目类别ID非空adm_idvarchar50第一负责人ID非空adm_id_secondvarchar50第二负责人ID非空pro_money_amountdouble20项目经费总额非空dep_idvarchar50系别ID非空pro_ratechar3进展情况非空pro_startdate0项目开始时间非空pro_pre_finishdate0项目预结题时间非空pro_enddate0项目结题时间非空pro_truevarchar5项目是否审核非空pro_notevarchar200备注可空项目参加人员映射表(project_attendee):用来存储项目与参加人员的映射信息。该表的结构如表8所示:

  表8 项目参加人员映射表

  字段名数据类型长度描述关键字备注pro_att_idvarchar50项目参加人映射ID是主键pro_idvarchar50项目ID非空att_idvarchar50参加人ID非空项目经费映射表(project_money):用来存储项目与经费的映射信息。该表的结构如表9所示:

  表9 项目经费映射表

  字段名数据类型长度描述关键字备注pro_mon_idvarchar50项目经费映射ID是主键pro_idvarchar100项目ID非空mon_idvarchar200经费ID非空pro_mon_moneydouble20项目申请金额非空pro_mon_paydouble20项目已花费金额非空submit_timedate0项目申请时间非空pro_mon_notevarchar255备注非空项目类别映射表(project_type):用来存储项目与项目类别的映射信息。该表的结构如表10所示:

  表10 项目类别映射表

  字段名数据类型长度描述关键字备注pro_type_idvarchar50项目类别ID是主键pro_type_namevarchar30项目类别名称非空单位表(work):用来存储项目参加人员的单位信息。该表的结构如表11所示:

  表11 单位表

  字段名数据类型长度描述关键字备注wor_idvarchar50单位ID是主键wor_namevarchar50单位名非空4.2 登录模块

  4.2.1 登录模块概述

  本系统中有两种登录角色,管理员和负责人。管理员或负责人输入用户名和密码,若账号信息错误,提示“用户名或密码错误”,重新登录;否则成功登录,跳转到相应界面,如图7所示。

  图7 科研信息管理系统登录界面图

  4.2.2 登录模块的实现

  登录界面选用单选按钮实现“管理员”或“负责人”身份登录,选定身份后,将JSP页面输入的数据传到LoginServlet中,与数据库中相应的账号信息进行匹配,若匹配失败,先跳转到错误信息提示界面,随后跳转回登录界面,继续登录;若信息匹配成功,将当前登录用户信息存到session中,通过转发方式跳转到相应后台管理界面。

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

  图8 科研信息管理系统登录流程图

  4.3 主窗体

  4.3.1 管理员主窗体概述

  管理员主界面分为三部分:上方有学校的校徽及网站的标题、首页按钮、退出按钮、个人资料修改和当前系统时间五个显示区域;左侧导航栏有四个导航链接:人员管理、项目管理、经费管理和系统管理;右侧部分用于显示左侧导航项的具体内容。每点击一次左侧链接,右侧都会局部刷新,显示更新后的内容。在此页面提供了相应功能的视图,如图9所示:

  图9 科研信息管理系统管理员主窗体界面图

  4.3.2 负责人主窗体概述

  选择“负责人”身份登录成功后,页面将跳转到负责人主窗体界面。该界面与管理员主窗体界面格式一样,最大的不同就是在窗口的左侧导航栏有两个导航链接:项项目管理和查看信息。项目管理中包括项目申请和查看项目;查看信息中包括查看负责人信息和参加项目人信息。具体界面设计如图10:

  图10 科研信息管理系统负责人主窗体界面图

  4.4 项目管理模块

  4.4.1 项目管理模块概述

  管理员项目管理模块包括查看项目,项目类别和项目申请三大部分。

  查看项目模块中,管理员可以按照“项目名称”、“项目类别”、“项目所属系别”、“项目第一负责人”、“项目第二负责人”、“项目进展状态”及“项目审核状态”进行高级检索;管理员可以修改项目信息,审核项目;可以删除项目及查看项目的参加人员;可以添加参加人员。

  项目类别模块中,管理员可以对项目类别进行增加、删除、修改与查询。

  项目申请模块中,管理员可以申请新项目。

  具体界面设计如图11:

  图11 科研信息管理系统管理员项目管理界面图

  4.4.2 项目管理模块的实现

  管理员项目管理模块包括查看项目,项目类别和项目申请三大部分。

  查看项目

  ①项目高级检索的实现:点击“查看项目”超链接,加载出所有项目信息。管理员可以按照“项目名称”、“项目类别”、“项目所属系别”、“项目第一负责人”、“项目第二负责人”、“项目进展状态”及“项目审核状态”进行高级检索,这几个高级检索执行过程类似,以按“项目名称”检索为例:选择检索条件“项目名称”,按格式要求输入检索关键字,点击查询按钮,JSP页面向MaHighSearchProByProNameServlet传递检索参数proName,MaHighSearchProByProNameServlet调用BusinessService,BusinessService调用ProDao,完成相应检索,转发到findprosByProName.jsp页面展示检索结果。

  ②项目修改的实现:点击“修改”按钮,ProId作为参数传递进入MaUpdateProUIServlet,并由MaUpdateProUIServlet转发至updatePro.jsp,加载出当前所选项目的具体信息。管理员可以修改除项目编号外的其他信息,在该步骤中,管理员可以审核所选项目,信息填写完成后,点击“修改”按钮,信息提交至MaUpdateProjectServlet,执行servlet-service-dao流程,完成项目信息的修改。

  ③项目删除的实现:点击“删除”按钮,系统提示是否确认删除,若确认删除,发送删除项目请求,进入MaDeleteProServlet,执行servlet-service-dao的操作,完成项目信息的删除,数据库内容更新。

  ④查看参加人员的实现:点击“查看参加人员”,queryType作为参数传递进入MaFindAttServlet,执行servlet-service-dao流程,在showAtt.jsp页面显示所选项目的参加人员信息。

  项目类别

  项目类别模块中,管理员可以对项目类别进行增加、删除、修改与查询。

  增加和修改项目类别时,要遵循相应格式;可以模糊查询项目类别;删除项目类别操作执行前会有相应提示信息,是否确认删除,若确认删除,才会真正执行删除操作。各项流程都是按照servlet-service-dao执行,具体调用关系可以参加“查看项目”模块。

  项目申请

  管理员可以在后台申请新项目,申请项目就是项目的添加操作,点击“项目申请”超链接,进入applyPro.jsp,管理员按格式要求完成项目申请信息的填写,完成后点击“申请项目”按钮,信息提交至AdmAddProServlet,AdmAddProServlet调用BusinessService,BusinessService调用ProDao的addPro()方法,完成项目申请操作。新申请的项目默认都未审核,管理员可以在“查看项目”模块进行项目的审核。

  以上流程按照servlet-service-dao执行,具体流程图如图12:

  图12 各层调用顺序图

  4.5 经费管理模块

  4.5.1 经费管理模块概述

  管理员经费管理模块包括经费类别和经费查看两部分。

  经费类别模块中,管理员可以对经费类别进行增加、删除、修改与查询。

  经费查看模块中,管理员可以分别按“项目名称”和“经费类别”查看经费信息,同时也可以进行经费信息增加,修改和删除。

  经费管理总体界面设计图如图13:

  图13 科研信息管理系统管理员经费管理界面图

  点击经费链接,可以加载出当前项目的经费明细,可以直观的查看项目与各类别经费的对应关系。

  项目经费明细界面设计如图14:

  图14 科研信息管理系统管理员项目经费明细界面图

  管理员可以针对某项目的经费申报情况,按第一次报销和非第一次报销进行单项经费的添加。

  添加单项经费界面设计如图15:

  图15 科研信息管理系统管理员添加单项经费界面图

  4.5.2 经费管理模块的实现

  经费类别及经费信息的增加,删除,修改及查询操作遵循servlet-service-dao执行流程,具体执行流程与项目管理模块类似,此处不再赘述。

  此处重点介绍单项经费添加模块的实现:

  单项经费添加采用Ajax技术实现,分两种情况,某类别的经费第一次报销和非第一次报销。第一次报销,管理员需填写单项经费总额及已花经费,且单项经费总额不能超过项目剩余经费总额;非第一报销,管理员无需填写单项经费总额,需填写已花经费,且已花经费不能超过该类别经费的剩余可用总额,报销日期为当前系统时间。

  5 系统测试

  5.1 测试方法简介

  由于在程序编写过程中已使用白盒测试完成对模块功能的测试,所以在最终测试中主要使用黑盒测试方法。

  黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,通过程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部功能,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。

  5.2 项目管理模块测试

  对项目管理的测试包括修改项目信息、删除项目信息、查询项目信息、查询参加人员、查询参加类别等。测试项目及结果如表12所示:

  表12 项目管理模块测试表

  测试项目测试内容预期结果实际结果修改项目信息将项目一“未审核”改为“审核”项目信息显示是否审核发生变化与预期结果相同删除项目信息删除“项目一”提示删除成功,显示页数据消失与预期结果相同查询项目信息查询“项目一”提示没有该条数据与预期结果相同查看参加人员查询“项目二”中的参加人员显示出该项目中的参加人员与预期结果相同查看项目类别模糊查询“国家级”类别显示“国家级”数据信息与预期结果相同

  5.3 经费管理模块测试

  经费管理模块的测试主要包括经费类别的增删改查,经费的分类查询,目前实现的查询为项目名查询和项目类别的查询。测试项目及结果如表13所示:

  表13 经费管理模块测试表

  测试项目测试内容预期结果实际结果查询经费类别在查询文本框输入“燃油费”正常显示燃油费记录与预期结果相同添加经费类别点击添加按钮,输入经费类别的相关信息显示出新添加的信息与预期结果相同删除经费类别点击“燃油费”后面的删除按钮提示删除记录成功并在显示区域中消失与预期结果相同修改经费类别修改“燃油费”所占最低比例为10%提示修改成功并显示修改后数据与预期结果相同按项目名查看经费在项目名下拉列表中选中“项目二”点击按项目查询显示出“项目二”的经费信息与预期结果相同按项目类别查看经费在项目类别下拉列表中选中“国家级”点击按项目查询显示出“国家级”的所有经费使用情况与预期结果相同删除项目记录点击“项目一”后面的删除按钮提示删除记录成功并在显示区域中消失与预期结果相同修改项目信息修改“项目二”经费为12000修改成功并显示修改后数据与预期结果相同

  5.4 测试总结

  在本次的黑盒测试中,我所负责的项目都通过了测试,本文涉及的两个模块实现了系统的功能需求,并且在适用性和稳定性上均能满足要求。

  6 总结与展望

  本毕业设计运用软件工程原理,通过需求分析、系统设计、系统实现等完成了科研信息管理系统的项目管理与经费管理两个重要模块。在与同组成员完成项目整合后,实现了一个满足长治学院科研信息管理需求、功能完善、页面简洁美观的科研信息管理系统。

  本系统开发采用MVC模式,利用Servlet进行前后台交互,并通过Ajax技术实现局部页面刷新。采用最基本的开发模式,在降低对数据库操作难度的同时,也大大减少了代码的冗余。但由于时间关系和对软件开发相关技术的掌握不够熟练,本文涉及的两个模块还存在一些不足,比如:项目的高级检索以及经费申报的完整实现模块中还有待进一步完善。

栏目分类