科研项目申报系统毕业论文

发布时间:2018-05-03 11:57:36

摘要

在网络技术逐渐渗入社会生活各个层面的今天,传统的项目申报方式也面临着变革,而网上申报则是一个很重要的方向。基于Web技术的网上项目申报系统可以借助于遍布全球的因特网进行,因此申报既可以在本地进行,也可以在异地进行,大大拓展了申报的灵活性。项目申报管理系统开发成本低,投入资金少。可以使项目申报的各项管理工作,变得方便快捷,不仅节省了时间,还节省了人力,提高了准确性。项目管理部门通过自己的网站,能够大大提高工作的透明度以及工作效率。

本文介绍的项目申报系统是以JSP语言编写的,使用的主要开发工具有Dreamwave 8TOMCAT6.0JDK1.5.0SQL2000等,结合软件工程的生命周期法,通过对项目申报系统进行可行性分析及需求分析和设计逐步将一个项目申报系统的开发过程呈现出来,本项目比较系统地设计了项目申报系的项目申报、项目评审、综合评定等主要功能,完成了网上项目申报的大部分流程的设计和实现。

关键词科研项目管理,JSPSQL2000



Abstract

Today, when network technology permeate social life every layer surface gradually, the project of tradition is reported way is also faced with transform, online report is a very important direction. report system based on the project online of Web technology may have the aid of in spread all over the internet of whole world go on , report therefore may go on here, also may in go on differently, have extended greatly report flexibility. project report the development cost of management system low , input capital lose . may make project report every management work, become convenient shortcut, have not only saved time, have still saved manpower, have raised accuracy. Project man--agreement department pass through own website, can raise working efficiency as well as the transparency of work greatly.

The project of the introduction of this paper report system is compiled with JSP language, the major development tool of use have Dreamwave 8Tomcat6.0, JDK 1.5.0 and SQL2000, the life period law of combination software project carries out feasibility analysis and demand through reporting system for project analyse and design , report a project step by step, the development process of system presents , this project is designed fairly systematicly project is reported the project of department is reported , project evaluation, comprehensive assessment and such major function, have completed the project online report realization and the design of all processes.

Keywords: Project report, JSP, SQL2000





1 引言

1.1 背景

随着计算机网络技术的飞速发展,传统的项目申报方式对在异地,远程申请者带来了很大不便,而评审人员的工作量更是繁重,目前也有部分基于网络的项目申报系统,但其不是真正意义上的基于Web的项目申报系统,这些系统只是将项目书及申报文件以Word文档的方式放站网站上,申请者再从网站下载申报的格式进行填写,然后在发回到网站,显然这一过程只是还是没有改变从前的那种操作方式,为彻底改变这一传统的操作方式,我们将项目申报过程、评审所涉及到的知识要点进行模块化,制定了一个统一的申报、评审模块,并将这几个模块组合在一起,构成了一个完整的项目申报系统,该系统可以在网上进行申报、评审、管理大大提高工作的透明度以及工作效率。

1.2 研究内容

软件工程中可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决,其实质就是要进行一次大大简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。至少要从三个方面研究其可行性:技术可行性、经济可行性、操作可行性。

其中技术可行性,就是指能否使用现有的技术实现这个系统。实现基于JSP的网络系统主要采用一种三层分布的结构:浏览器—Web服务器数据库服务器。该结构的核心部分是Web Server,它负责接收远程或本地的HTTP查询请求,然后根据查询的条件到数据库服务器获取相关数据,再将结果翻译成HTML和各种Script语言传送到提出查询请求的浏览器。同样,浏览器也会将更改、删除、新增数据库记录的请求传送到Web服务器,由后者与数据库联系完成这些工作。在这三层结构中,数据库服务器将扮演完成数据操作的角色,而Web Server则专心接受HTTP请求,到数据库里查询,然后进行答复。而这项B/S(客户机/服务器)结构的技术目前已经发展的非常成熟,所以本系统在技术上具有很强的可行性。

而对于经济上的可行性来说开发这个工程并不需要过多的时间、资源、人力和金钱,只需有一个好的设计方案逐步进行就能够实现,而且这个系统的经济效益能远远超过它的开发成本。

操作上,该系统操作简便,管理人员将大大提高工作的透明度以及工作效率。

综上所述,我们设计的基于JSP网上科研项目申报系统是有着一定的市场潜力和开发前景的。



2 系统需求分析

2.1 功能分析

项目申报系统主要有项目申报,项目评审,实施管理等过程,管理中要求有查询,打印,统计分析等功能,管理系统功能主要包括项目申报,评估,审查通过等业务环节,针对这些需求,整个项目申报管理系统的主要目标和要求是:

1基于在线方式的项目网上申报后台信息实时、分级管理服务,操作简便、实用;

2申报项目的全部信息在网上填报,有利于管理部门审查和通过,以及后台检索、汇总和打印;

3项目申报、审查评审、项目打分、专家分配等都可以由管理委员会进行管理。

4实时、交互式工作流程,申报单位可以随时修改申报项目并查看申报结果;

5友好的操作,集数据录入、修改、查询、打印以及系统设置于一体;

6基于J2EE的系统,具有很好的安全性、扩展性、可维护性、维护工作在服务器进行,客户端不需要进行软件安装。

2.2 功能需求

1申报项目

在管理员的批准后,其下属单位会从管理员处得到专属本单位唯一的帐号密码.在本系统的项目申报页面登陆后,可以进行项目申报等一系列申报工作。让传统的项目申报工作轻松完成。

2由管理员对申报项目进行复核(项目的规范性)

在下属单位进行项目申报后,系统后台会自动规范申报项目,在管理员的浏览分配后,权威专家会对下属单位申报的项目进行评审。在专家利用其丰富的专业知识评审后,会得到相应的可行性结果。

3挑选评审专家

评审专家的来源一是管理员的储备,来源二是申报单位的推荐。在管理员的管理中,可以自动分配专家评审项目,也可以自由分配浏览,由系统随即分配专家评审项目。

4专家评审

在管理员分配专家后,专家登陆后即可对所分配的项目进行评审,利用其专业的知识和经验背景,对项目的每个细节进行专业评审打分,给出评审结果。



3 系统的总体设计

3.1 系统层次模块

系统总体框架设计如图3-1所示。

3-1 系统层次模块图

3.2 工作流程

申报单位,项目管理委员会和评审专家在此系统中存在的工作流程关系详细关系如图3-2所示。

提交项目申请书 委托评审项目

通告审批结果 项目评审意见

3-2 系统工作流程图

3.3 系统流程

单位申报平台及专家评审平台系统流程如图3-3所示。

3-3 系统流程图

3.4 系统文件结构

系统的文件结构如图3-4所示。

3-4 系统文件结构图

3.5 项目申报流程



4 数据库设计

4.1单位登陆表

标识:I_s_logon

数据来源:前台页面取得。

单位登录表如表4-1所示。

4-1 单位登录表

字段名称

单位代号

Unit_ID

nvarchar(10)

Yes

No

单位密码

password

nvarchar(10)

No

No

4.2申报单位信息表

标识:I_s_info

数据来源:前台页面取得。

申报单位信息表如表4-2所示。

4-2 申报单位信息表

单位代号

Unit_ID

nvarchar(10)

Yes

No

单位名称

unit_name

nvarchar(60)

No

Yes

ename

nvarchar(60)

No

Yes

营业证号

cardno

nvarchar(30)

No

Yes

corporation

nvarchar(10)

No

Yes

公司性质

property

nvarchar(30)

No

Yes

所属行业

trade

nvarchar(30)

No

Yes

注册资金

investment

nvarchar(8)

No

Yes

公司规模

stuff

nvarchar(4)

No

Yes

经营范围

business

nvarchar(16)

No

Yes

connectman

nvarchar(20)

No

Yes

tel

nvarchar(10)

No

Yes

fax

nvarchar(10)

No

Yes

E_mail

email

nvarchar(20)

No

Yes

address

nvarchar(60)

No

Yes

zipcode

nvarchar(6)

No

Yes

公司简介

introduction

Text(16)

No

Yes

4.3项目信息表

标识:I_s_item

数据来源:前台页面取得。

项目信息表如表4-3所示。

4-3 项目信息表

字段名称

项目代号

ItemID

Int(4)

Yes

No

单位代号

unit_ID

nvarchar(20)

No

No

项目名称

item_name

nvarchar(60)

No

No

1

sort1

nvarchar(40)

No

Yes

2

sort2

nvarchar(40)

No

Yes

开始日期

begin_date

datetime

No

Yes

结束日期

finish_date

datetime

No

Yes

applicant

nvarchar(10)

No

Yes

grade

nvarchar(10)

No

Yes

education

nvarchar(10)

No

Yes

所在单位

unit_name

nvarchar(40)

No

Yes

填报日期

fill_date

datetime

No

Yes

本课题研究意义

purport

text(16)

No

Yes

现状述评

status

text(16)

No

Yes

应用前景

future

text(16)

No

Yes

思想、观点

point

text(16)

No

Yes

内容、重点和难点分析

analysis

text(16)

No

Yes

研究方法

way

text(16)

No

Yes

最终预期研究成果

moment

text(16)

No

Yes

预期研究成果

result

text(16)

No

Yes

参考文献和参考资料

reference

text(16)

No

Yes

应用推广或市场分析

market

text(16)

No

Yes

推荐单位意见

commend_mind

text(16)

No

Yes

专家评审委员会意见

expert_mind

text(16)

No

Yes

审批意见

leading_mind

text(16)

No

Yes

是否通过审批

pass

Char(1)

No

Yes

4.4经费预算表

标识:I_s_money

数据来源:前台页面取得。

经费预算表如表4-4所示。

4-4 经费预算表

字段名称

经费代码

moneyID

Int(4)

Yes

No

项目代码

itemID

Int(4)

No

Yes

支出项目

outItem

nvarchar(20)

No

Yes

支出金额(万元)

sMoney

float

No

Yes

4.5专家登陆表

标识:I_p_log

数据来源:前台页面取得。

专家登录表如表4-5所示。

4-5 专家登录表

字段名称

identityID

nvarchar(10)

Yes

No

专家姓名

expert_name

nvarchar(10)

No

Yes

Password

nvarchar(10)

No

Yes

4.6专家信息表

标识:I_p_info

数据来源:前台页面取得。

专家信息表如表4-6所示。

4-6 专家信息表

字段名称

identityID

nvarchar(10)

Yes

No

专家姓名

expert_name

nvarchar(10)

No

Yes

nation

nvarchar(10)

No

Yes

sex

nvarchar(10)

No

Yes

bir_date

Datetime

No

Yes

单位代码

unit_ID

nvarchar(10)

No

Yes

所在单位

unit_name

nvarchar(20)

No

Yes

grade

nvarchar(10)

No

Yes

研究领域

domain

nvarchar(40)

No

Yes

适评专业1

sort1

nvarchar(40)

No

Yes

适评专业2

sort2

nvarchar(40)

No

Yes

E_mail

Email

nvarchar(10)

No

Yes

address

nvarchar(60)

No

Yes

zipcode

nvarchar(6)

No

Yes

tel

nvarchar(20)

No

Yes

introduction

Text16

No

Yes

是否通过

pass

Smallint(2)

No

Yes

4.7项目评审专家分配表

标识:I_distribute

数据来源:前台页面取得。

项目评审专家分配表如表4-7所示。

4-7 项目评审专家分配表

字段名称

itemID

nvarchar(4)

Yes

No

item_name

nvarchar(40)

No

No

identityID

nvarchar(20)

Yes

No

专家姓名

expert_name

nvarchar(10)

No

Yes

0

score0

Int(4)

No

Yes

1

Score1

Int(4)

No

Yes

2

Score2

Int(4)

No

Yes

3

Score3

Int(4)

No

Yes

4

Score4

Int(4)

No

Yes

5

Score5

Int(4)

No

Yes

6

Score6

decimal(9)

No

Yes

Mind

Nchr(20)

No

Yes

专家意见

expert_mind

Text(16)

No

Yes

4.8申报评审时间设定表

标识:I_itemSetup

数据来源:前台页面取得。

申报评审时间设定表如表4-8所示。

4-8 申报评审时间设定表

字段名称

dateID

Int(4)

Yes

No

申报开始时间

S_beginDate

Datetime(8)

No

No

申报结束时间

S_finishDate

Datetime(8)

No

No

评审开始时间

P_beginDate

Datetime(8)

No

Yes

评审结束时间

P_finishDate

Datetime(8)

No

No

4.9管理员登陆表

标识:I_z_log

数据来源:前台页面取得。

管理员登录表如表4-9所示。

4-9 管理员登录表

字段名称

管理员号

adminID

Nvarchar(8)

Yes

No

password

Nvarchar(10)

No

No



5 系统的实现

5.1 综合评定管理项目模块

评审专家登录

评审专家从这里登录。在系统的首页上点击"项目评审"栏后屏幕显示出单位登录界面,参加评审的专家通过填写专家姓名、身份证号和密码后,点击登录,如果登录成功系统就会显示出登录成功的界面。密码为在推荐专家时设定的,如果忘记密码,请和管理人员联系。

专家信息管理

    评审专家登录成功后,点击"专家信息"进入专家信息管理界面。评审专家可以添加或修改个人信息。

项目评审

评审专家登录成功后,点击"项目评审"后就会看到本次网络评审工作中委托该专家评审的项目列表。

下一步就可以进行项目评审工作。在项目名称上点击要评审的项目名称,则显示申报项目的具体信息,评审专家可以在线浏览,也可以把网页保存到硬盘上脱机浏览。项目评审结束之后,在对应的项目名称后面点击"填写评审意见表"即可填写该项目的评审意见。项目的总分将根据各项得分自动合成,不需要填写。填写完毕后,按"提交",评审意见即被保存。如果要对评审意见进行修改(针对已评完项目),点击"修改",即可进行修改。

5.1.1 综合管理模块功能结构

系统综合模块包括单位信息、项目信息、专家信息、分配浏览、申报设置修改密码六个模块。具体形式如图5-1所示。

5-1综合管理模块结构图

5.1.2 管理登录

理员的超级管理登陆窗口,在本窗口输入相应的帐号密码,即可以登陆后台,对系统进行设置等,登录介面如图5-2所示。

5-2 管理登录页面

登录成功后将会跳转至管理员管理介面,用户登录相关代码如下:

<%

String z_Loginmessage=(String)session.getValue("z_loginSign");

String adminID=(String)session.getValue("adminID");

if(z_Loginmessage!="OK")

{

response.sendRedirect("index4.jsp");

}

%>

5.1.3 系统管理页面

超级管理员登陆后,就会跳转到该页面,可以给新的单位分配权限,浏览项目信息,分配专家,浏览专家信息,添加专家。对项目申报,评审进行时间设置。还可以修改自己的密码,如图5-3所示。

5-3 管理模块

5.1.4 单位信息

点击单位信息后,系统会跳转至该页面,浏览到当前所有的单位信息。并且还可以添加新的单位信息,如图5-4所示。

5-4单位信息

如果需要添加单位,则点击添加单位图标,页面跳转至单位添加页面如图5-5所示。

5-5 添加单位

最后点击提交,页面跳转至主页面如图5-6所示。

5-6 添加单位后显示图

5.1.5 项目信息

进入管理页面后,就可以点击项目信息,就可以浏览到当前所有申报的项目信息,如图5-7所示。

5-7 项目信息

5.1.6 分配浏览

点击项目浏览,可对当前申报项目进行专家分配,总分设置,如图5-8所示。

5-8 项目设置分配浏览

5.1.7 专家信息

点击专家信息,可以查看当前系统所有的专家,点击专家姓名可以浏览专家的详细信息,在此页面还有一个重要的功能,就是批准专家的资格。批准后,专家才有资格进行项目评定,防止申报单位作弊的可能性,如图5-9所示。

5-9 专家信息

如果需要添加专家,则可点击添加专家图标,页面跳转至添加专家介面,如图5-10所示。

5-10 添加专家

点击提交,添加完毕。

5.1.8 申报设置

项目设置页面可以对项目申报和项目评审时间进行设置,如图5-11所示。

5-11 项目设置

5.1.9 修改密码

本页面可以对管理员帐号密码进行修改,如图5-12所示。

5-12 密码修改

管理员密码修改代码如下:

String unit_ID=request.getParameter("unit_ID");

String oldpassword=request.getParameter("oldPassword");

String newpassword=request.getParameter("newPassword");

String sql="select * from I_s_logon where unit_ID='"+unit_ID+"' and password='"+oldpassword+"'";

ResultSet rs=s_change.executeQuery(sql);

if(rs.next()){

rs.close();

s_change.closeStmt();

s_change.closeConn();

String strSQL="update I_s_logon set password='"+newpassword+"' where unit_ID='"+unit_ID+"' and password='"+oldpassword+"'";

s_change.executeUpdate(strSQL);

response.sendRedirect("s_pwOK.jsp");

}

else{

rs.close();

s_change.closeStmt();

s_change.closeConn();

String msg="管理员代码或密码错误!";

session.putValue("s_changeMessage",msg);

response.sendRedirect("s_changePw.jsp");

}

5.2 项目申报模块

5.2.1 项目申报模块功能结构

项目申报模块包括单位登录、单位信息查询、项目申报、推荐专家、修改密码五个模块,模块结构如图5-13所示。

5-13 项目申报模块结构图

5.2.2 单位登录

处理:判断单位代码和密码是否有效。添入单位代码和密码后点击【登录】按钮,系统自动从数据库中申报单位信息表判断是否存在相同的单位代码和单位密码,如果有则进入系统,如果不存在则提示用户名和密码有错误信息。

输出:登录成功,进入申报单位的系统使用资源页面,不成功显示错误信息页面。申报单位从这里登录。在系统的首页上点击【项目申报】按钮后屏幕将显示出登录界面,如图5-14所示,按要求输入单位代码、密码。

5-14 用户登录

5.2.3 单位信息查询

1)导入单位信息。申报单位登录校正通过后,点击单位信息链接系统自动从数据库中申报单位信息表取出相应的单位信息显示到页面上。

2)修改单位信息。申报单位读取后可以继续修改,修改后系统从前台页面取得修改信息,重新录入数据库申报单位信息表,供其他人进行查询,如图5-15所示。

5-15 单位信息

5.2.4 单位信息查询/修改模块实现

单位登录以后,单位信息就有可能进行修改,所以我们就必须提供修改功能,在为每个项目提供输入框的同时,还要提示修改者保持原有信息,这样的系统功能才是完全从用户方面考虑,才是友好的。

首先要从数据库中提取需要的字段值。

用户输入完修改项目后,必须对其校验,才能更新到数据库中,以免把垃圾信息录入。

下面是实现校验功能的一段脚本语言代码:

5.2.5 项目申报模块

功能:发布单位,评审项目信息,使专家,管理员方便地进行查询

修改单位密码以及单位。申报项目信息供主管和专家查询,专家可以查询相关项目的各种资料以便进行打分,填写评审意见。

1)显示评审项目的信息。申报单位登录校订通过后,点击【项目申报】按钮,在前台显示每个已申请的评审项目的项目代码供其选择查看申报项目的详细信息。

2)所有查询结果以分页方式显示,每页10条,可以迅速跳转到某一页,也可以按上一页、下一页、首页、尾页方式连接到相应的页。

3)所有查询结果都以列表方式显示,点击【项目名称】按钮,链接系统将自动从数据库中的项目信息表中取出相应的项目信息并显示到页面上供其浏览,如果还在申报期内,则可以进行修改,修改之后重新录入数据库项目信息表,供专家、高级主管查询,如果评审期已过,则可以查询评审专家意见,以及评审结果。

4)如果在申报期内,则单位可以申报新的申报项目,填写项目信息。

输出:申报项目的详细信息,评审结果的详细信息。在图4-10所示的功能界面中,点击【项目申报】按钮后进入如图5-16所示的界面。

5-16 专家添加

5.2.6 项目申报

显示申报项目信息。点击【项目名称】按钮,可显示项目信息。在项目申报期间可对已申报项目内容进行修改,不在项目申报期间的,只可查阅不能修改。项目申报信息如图5-17所示。

5-17 项目申报信息

项目祥细内容录入如图5-18所示。

5-18 项目申报详细信息录入

录入相关代码如下:

String itemID=request.getParameter("itemID");

String sql="select * from I_s_item where itemID='"+itemID+"'";

ResultSet rs=s_showitem.executeQuery(sql);

//定义数据类型并初始化

String item_name1=""; //项目名称

String sort1=""; //

String sort2="";

String begin_date1=""; //起止年限

String finish_date1=""; //起止年限

String applicant1=""; //

String grade1=""; //

String education=""; //

String unit_name1=""; //所在单位

String fill_date1=""; //填报日期

String purport1=""; //本课题的研究意义

String status1=""; //国内外研究现状述评

String future1=""; //预期应用前景

String point1=""; //主要思想、观点

String analysis1=""; //主要内容、重点和难点分析

String way1=""; //研究方法

String moment1=""; //阶段及最终预期研究成果

String result1=""; //预期研究成果

String reference1=""; //本课题前期研究成果,主要的外文参考文献和参考资料

String market1=""; //应用推广或市场分析

String commend_mind1=""; //推荐单位意见

String expert_mind1=""; //专家评审委员会意见

String leading_mind1=""; //审批意见

String pass1=""; //是否通过审批

String sum="";

if(rs.next())

{

item_name1=rs.getString("item_name");

sort1=rs.getString("sort1");

sort2=rs.getString("sort2");

begin_date1=rs.getString("begin_date");

finish_date1=rs.getString("finish_date");

applicant1=rs.getString("applicant");

grade1=rs.getString("grade");

education=rs.getString("education");

unit_name1=rs.getString("unit_name");

fill_date1=rs.getString("fill_date");

purport1=rs.getString("purport");

status1=rs.getString("status");

future1=rs.getString("future");

point1=rs.getString("point");

analysis1=rs.getString("analysis");

way1=rs.getString("way");

moment1=rs.getString("moment");

result1=rs.getString("result");

reference1=rs.getString("reference");

market1=rs.getString("market");

commend_mind1=rs.getString("commend_mind");

expert_mind1=rs.getString("expert_mind");

leading_mind1=rs.getString("leading_mind");

pass1=rs.getString("pass");

rs.close();

s_showitem.closeStmt();

s_showitem.closeConn();

}

String begin_year=begin_date1.substring(0,4);

String begin_month=begin_date1.substring(5,7);

String finish_year=finish_date1.substring(0,4);

String finish_month=finish_date1.substring(5,7);

String fill_year=fill_date1.substring(0,4);

String fill_month=fill_date1.substring(5,7);

String fill_day=fill_date1.substring(8,10);

String sql2="select * from I_s_money where itemID='"+itemID+"'";

ResultSet rs2=s_showitem.executeQuery(sql2);

String sql3="select sum(sMoney) as ssum from I_s_money where itemID='"+itemID+"'";

ResultSet rs3=s_showitem.executeQuery(sql3);

if(rs3.next()){ sum=rs3.getString("ssum");}

String pSql="select * from I_distribute where itemID='"+itemID+"'";

ResultSet pRs=s_showitem.executeQuery(pSql);

String expert[]={"专家一","专家二","专家三","专家四","专家五"};

%>

</span><span class='_19'>项目申报</span><span class='_19'>

相关推荐