高校课题申报管理系统Word格式.docx
《高校课题申报管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《高校课题申报管理系统Word格式.docx(37页珍藏版)》请在冰豆网上搜索。
2.耿祥义.JAVA大学实用教程.北京:
清华大学出版社,2009.
四、要求的设计(调查/论文)成果
1.课程设计报告
2.课程设计软件
五、进程安排
布置任务,查阅与课题相关的资料、需求分析1天
总体设计1天
详细设计1天
实现、编制源程序4天
测试与完善1天
撰写课程设计报告2天
六、主要参考资料
[1]广彬等.Java课程设计案例精编.第2版.北京:
清华大学出版社,2011.
[2]耿祥义.JAVA大学实用教程.北京:
[3]阿奇主编.《JSP实用教程》.北京:
电子工业出版社,2008.
[4]卫琴编著.《Tomcat与JavaWeb开发技术详解》(第2版).北京:
电子工业出版社,2009.
指导教师(签名):
20年月日
绪论………………………………………………………………………………………1
1需求与总体设计………………………………………………………………………………2
1.1需求分析……………………………………………………………………………………2
1.2系统设计目标………………………………………………………………………………2
1.3系统网络结构…………………………………………………………………………3
1.4系统采用的开发技术简介…………………………………………………………………3
1.5可行性分析…………………………………………………………………………………5
1.6功能分析……………………………………………………………………………………6
2详细设计…………………………………………………………………………………8
2.1数据库设计分析……………………………………………………………………………8
2.2数据流图……………………………………………………………………………………8
2.3数据库设计…………………………………………………………………………………9
2.4数据库的逻辑结构设计……………………………………………………………………11
3编码实现…………………………………………………………………………………14
3.1申报员登录实现……………………………………………………………………………14
3.2科研课题申报实现………………………………………………………………………15
3.3个人信息修改实现………………………………………………………………………17
3.4查询成果或课题申报………………………………………………………………………18
3.5科研审批登录功能…………………………………………………………………………19
3.6JavaBean的设计…………………………………………………………………………21
4系统测试…………………………………………………………………………………23
4.1系统测试的目的及要求……………………………………………………………………23
4.2功能测试……………………………………………………………………………23
4.3测试截图………………………………………………………………………………25
总结…………………………………………………………………………………34
绪论
随着高校和一些大企业对科研的重视和广大教师及科研工作者对科研工作的极大热情,高校和大企业的科研有了长足发展。
科研工作者本人对科研信息的管理和高校及企业对科研信息的统计及管理己经成为一个突出的问题。
科研统计管理,一是为了高校和企业统计、管理本单位的科研信息情况,二是为科研人员本人管理科研信息。
但是,传统的科研统计,常常是科研管理部门下发通知各单位用excel或其他表格文本上报科研信息。
从下发通知到各部门,各部门下发通知到具体人员,具体人员把本人的科研成果上报到本部门,各部门统计科研成果后上报科研管理部门,往往持续很长时间,花费大量的人力、物力是一项庞大的工作。
每到科研成果统计的时间,从科研管理部门到各部门再到具体人员,都感到是一件棘手的事情。
而且,由于手工操作,极易出现错误影响最后的统计结果。
具体的科研人员,对自己的科研成果的管理,往往是保存科研成果的相关书面材料,到统计时,可能对自己的科研成果情况不能上报完整,也会影响统计的准确性。
所以,开发具有结构设计合理科学,有利于科研人员在日常工作中录入、管理个人的科研成果信息,有利于学校和相关部门或个人管理、统计科研成果信息,有利于提高日常管理效率、降低管理成本等优点的科研项目成果综合管理信息系统具有很大的迫切性。
在网络技术逐渐渗入社会生活各个层面的今天,网上统计、管理科研成果是一个重要的向。
网上统计、管理科研成果系统是一个网络数据库和Internet处理的实时处理系统可以随时录入科研成果,帮助教师管理个人的科研信息,便科研管理部门管理并准确统计结果。
总之,网上科研统计管理系统具有降低统计成本,解决繁重的统计工作的优点。
免去了广大科研人员的大量上报的繁琐工作和相关人员的统计工作,统计等工作由系统自动完成,大大提高了工作效率。
1需求与总体设计
1.1需求分析
科研院所的科研开发、试验分析、生产经营等各项活动,每时每刻都会产生大量信息。
这些信息需要在企业部上下之间、部门之间、总部与分部、外部供应商与企业以及企业与客户之间,进行输人、处理、输出、反馈。
但目前,这些重要的信息大部分或被分散保存在各个互不兼容、自成一体的计算机系统中,或被锁文件柜和抽屉中,甚至没有形成文字,或者文字资料不完整,从而形成了一个个“信息孤岛”。
本次设计想通过建立一套适用于我校科研管理工作的科研项目管理信息平台,从而实现对科研项目管理和规划。
图1-1总体设计图
1.2系统的设计目标
(1)将人员、项目、成果、权限等管理有机结合,形成高效率的科研管理平台。
(2)改善传统科研成果申报管理业务中存在的诸多弊端,充分发挥计算机软件的管理优势,有效地提高了科研管理水平和效率。
(3)操作简单便,无论是专业人员还是非技术人员,都可以轻松上手。
系统始终以为专业人员开发便、实用的管理平台和为专家教授开发易用的评审平台为目标,注重通过高技术解决实际问题。
(4)采用先进的、开放的客户机/服务器模式(B/S)体系结构。
应用系统基于Web技术开发,确保系统具有高超的性能,并使系统具有较高的管理水平。
(5)基于SQLserver数据库系统,可以对大量科研课题进行有效管理,保证数据的安全性。
1.3系统网络结构
在开发科研成果申报管理系统之前,需要对其网络结构有一个总体的了解。
科研成果申报管理系统的网络结构可以分为三部分:
第一部分是面向用户的客户端计算机。
第二部分是存放信息的服务器,包括数据库服务器和Web服务器。
第三部分是连接这两者的Internet。
图1-2网络结构
1.4系统采用的开发技术简介
1.4.1JSP技术
JSP是JavaServerPage的缩写,是由SUN公司倡导,多公司参与,于1999年推出的一种动态网页技术标准。
JSP是基于JavaServlet以及整个Java体系的Web开发技术,利用这一技术可以建立安全的、跨平台的先进动态。
同其他开发技术相比,JSP具有以下的特点:
(1)将容的生成和显示进行分离用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态容。
生成容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。
由于核心逻辑被封装在标识和JavaBeans中,所以Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响容的生成。
在服务器端,JSP引擎解释JSP标识和脚本,生成所请求的容,并且将结果以HTML(或者XML)页面的形式发送回浏览器。
这既有助于作者保护自己的代码,又能保证任基于HTML的Web浏览器的完全可用性。
(2)可重用组件
绝大多数JSP页面依赖于可重用的、跨平台的组件来执行应用程序所要求的复杂的处理。
开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者和客户团体所使用。
基于组件的法加速了总体开发过程,并且使得各种组织在现有的技能和优化结果的开发努力中得到平衡。
(3)采用标识
JSP技术封装了多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态容生成所需要的。
标准的JSP标识能够访问和实例化JavaBeans组件、设置或者检索组件属性、下载Applet以及执行用其他法难于编码和耗时的功能。
(4)适应平台
几乎所有平台都支持Java,JSP+JavaBeans几乎可以在所有平台下通行无阻。
从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译,因为Java字节码都是标准的、与平台无关的。
(5)数据库连接
Java中连接数据库的技术是JDBC,Java程序通过JDBC驱动程序与数据库相连,执行查询、提取数据等操作。
Sun公司还开发了JDBC-ODBCbridge,利用此技术Java程序可以访问所有带有ODBC驱动程序的数据库。
由于JSP页面的置脚本语言是基于Java的,而且所有的JSP页面都被编译成为JavaServlet,所以JSP页面具有Java技术的所有好处,包括健壮的存储管理和安全性。
作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。
1.4.2javaBeanr技术
JavaBean是一种JAVA语言写成的可重用组件。
为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。
JavaBean通过提供符合一致性设计模式的公共法将部域暴露成员属性。
众所知,属性名称符合这种模式,其他Java类可以通过自身机制发现和操作这些JavaBean属性。
JavaBean是一个可重复使用的软件组件。
JavaBean是一种Java类,通过封装属性和法成为具有某种功能或者处理某个业务的对象,简称Bean。
由于JavaBean是基于Java语言的,因此JavaBean不依赖平台,可以实现代码的重复利用、易编写、易维护、易安装。
可以在任安装了Java运行环境的平台上使用,而不需要重新编译。
在JSP页面中,数据的处理过程指派给一个或几个Bean来完成,我们只需要在JSP页面中调用这个Bean即可,这样可以有效的分离静态工作部分和动态工作部分。
当用户从浏览器访问系统时,也就是用户向服务器发出请求时,由JSP来接收这次请求,然后调用JavaBean做具体的数据存取逻辑运算等处理,把结果返回给JSP,JSP把得到的结果通过浏览器返回给用户,系统的整体流程如图所示。
图1-3JSP+JavaBean开发模式
1.4.3SQLServer技术
MicrosoftSQLServer2000是微软公司最新推出的,一个分布式的关系型数据库管理系统,具有客户机/服务器体系结构,采用了Transact-sql的sql语言在客户机与服务器间传递客户机的请求与服务器的处理结果。
Transact-SQL强化了原有的SQL关键字以进行数据的存取、储存及处理等功能。
而且还扩充了流程控制指定,可以便的编写功能强大的存储过程。
这些存储过程存放在服务器端,并预先编译过,执行速度非常块。
触发器是一种特殊的存储过程,用来确保SQLServer数据库引用的完整性。
开发人员可以建立插入、删除和更新触发器以控制相关的表格中对数据列的插入、删除和更新。
还可以使用规则(Rule)、缺省(default)以及限制(Constraints),来协助将新的数值套用到表格中去。
SQLServer2000能够满足今天的商业环境要求不同类型的数据库解决案。
它是一种应用广泛的数据库管理系统,具有多显著的优点:
易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与多其他服务器软件紧密关联的集成性、良好的性价比等。
从数据管理和分析角度看,将原始数据转化为商业智能和充分利用Web带来的机会非常重要。
作为一个完备的数据库和数据分析包,SQLServer2000为快速开发新一代企业级商业应用程序,为企业赢得核心竞争优势打开了胜利之门。
作为重要的基准测试可伸缩性和速度奖的记录保持者,SQLServer2000是一个具备完全Web支持的数据库产品,提供了对可扩展标记语言(XML)的核心支持以及在Internet上对防火墙外进行查询的能力。
MicrosoftSQLServer2000数据库管理系统包括:
SQLServer管理工具的使用、SQLServer的安全性与权限管理、服务器LoGin\ID的管理、服务器职能组的管理、数据库用户的管理、数据库职能组的管理。
1.5可行性分析
1.5.1技术可行性分析
JavaServerPages(JSP)技术提供了一种建立动态网页的简单法,而且也简化
了构造Web程序的工作。
JavaServerPages技术可以让Web开发人员和设计人员非常容易的创建和维护动态网页。
作为JavaTM技术的一部分,JSP能够快速开发出基于Web、独立于平台的应用程序。
一个JSP网页就是在HTML网页中包含了能够生成动态容的可执行应用程序代码。
此应用程序可能包含JavaBeanTM,JDBCTM对象,EnterpriseJavaBeanTM(EJB)和RemoteMethodInvocation(RMI)对象,所有的部分都可以非常容易的从JSP网页上访问到。
例如,一个JSP网页可以包含HTML代码所显示的静态文本和图像,也可以调用一个JDBC对象来访问数据库;
当网页显示到用户界面上以后,JSP页面将包含静态HTML容和从数据库中找到相应的动态信息。
在JSP网页中,要把用户界面和应用程序分开可以考虑在网页设计人员和开发人员之间执行一个非常便的授权任务。
它也允开发人员去建立灵活的代码,从而非常容易的进行更新和重复利用。
由于JSP网页能够根据需要自动进行编译,Web设计人员无须重新编译应用程序逻辑就可以改变表述代码。
这也使得JSP与Javaservlet相比成为一种可以更灵活生成动态Web容的法。
1.5.2经济可行性分析
传统的科研申报系统由信函等式提出书面请求,人工记录申请容,分类申报类型,审批是否可行,然后以信函等式把审批结果反馈给申报人。
这些看似简单的工作,当申报项目越来越多的时候,会既浪费人力又浪费时间。
用网络实现这些功能是简单可行的,可以大大节省人力资源,同时具有高效性,使申报期缩短,并且给申报人提供网络浏览,网上申请等更多的便,使申报变的简单。
1.5.3操作可行性分析
自从我国正式接入互联网以来,短短的数年时间,互联网在我国得到了飞速的发展。
据中国互联网信息中心(CNNIC)调查显示,我国上网用户人数每半年都以超过50%的速度增长。
人们在网上不仅进行购物、交流等一系列娱乐活动,而且还在网上开展工作,如科研申报、科研审批等。
科研成果申报管理系统的操作界面简洁明了,对不同的用户进行了精细的功能模块划分。
不同的用户在登陆系统后,无需进行再进一步的操作,相应的功能菜单就可以在界面上完全的显示。
这些都有助于进行第一次申报工作的申报员操作。
1.6功能分析
根据需求分析能够将系统划分为申报流程、科研申报、科研审批以及信息查询大功能模块。
其中各个功能模块具体说明如下:
申报流程模块:
该模块主要负责介绍科研申报的流程,对于首次使用,以及不熟悉本申报系统的用户提供说明。
科研申报模块:
该模块主要负责科研的申报,包括读成果申报、课题申报、修改个人信息、查询成果申报以及查询课题申报五个子模块。
科研审批模块:
该模块主要负责科研申报的审批,包括未入库课题、未入库成果、已入库课题、已入库成果、查看用户信息以及添加用户信息六个子模块。
信息模块:
该模块主要负责课题信息的查询,包括课题查询以及成果查询两个子模块。
科研成果申报管理系统
成果申报
课题申报
修改个人信息
未入库成果
添加用户信息
查询申报信息
已入库成果
查看用户信息
成果查询
申报流程
科研申报
未入库课题
查询课题申报
已入库课题
课题查询
信息查询
科研审批
图1-4系统模块总图
2详细设计
2.1数据库设计分析
2.1.1数据库设计基础
数据库设计是数据库生命期中非常重要的阶段,它先于除需求收集和分析之外的所有其他阶段。
如果数据库设计不规得到的数据库很可能不能满足用户的性能要求它自身就有两个缺点存在数据不良和使用不必要的磁盘空间。
数据的规化是测试数据库中存在的表发现表的列中间某些依赖性的过程。
如果存在这样的依赖性该表被重新构造成多个(通常是两个)表消除任列依赖。
因此在数据库的设计过程中要格按照先进的设计思想进行数据库设计
(1)面向对象的数据库结构设计
在系统分析过程中我们确定了系统的对象模型列出了系统所涉及到的对象类及其属性、关联关系等。
在实际的系统中数据信息也都是围绕着这些对象类及其之间的关系展开的。
面向对象的数据库设计的核心在于对象模型向数据库模型的映射也就是将对象模型通过数据库的二维表及其之间的关系描述出来。
(2)数据库优化
数据库设计是系统设计中的重要组成部分,一个成功的数据库设计不但能够极大的提高系统的整体性能,提高开发效率和开发质量,而且便了日后系统的进一步升级和扩展。
所以要在初步设计的基础上,通过对数据库进行优化,使其达到以下目标,数据库功能强大数据库能准确的表示业务数据,数据库容易使用和维护,数据库对最终用户的响应时间合理,便于数据库结构的改进,便于数据检索和修改,很少的数据库维护工作,有效的安全机制确保数据安全,冗余数据最少,便于数据备份和恢复,数据库结构对最终用户透明。
2.1.2数据库设计过程
数据库是数据库应用程序的中重要组成部分设计结构合理、功能齐全的数据库,对于提高数据库应用程序的性能都是非常重要的数据库的设计过程大致如下
(1)根据用户需求:
确定数据库要保存的数据信息。
对用户需求进行分析是数据设计的第一个阶段,不断地调查与研究用户需求了解相关业务运作流程和系统需设计概念模型的基础。
(2)设计数据的概念模型:
概念模型是按用户的观点来对数据建模,概念模型是用于进行信息世界建模的工具。
(3)逻辑结构设计:
逻辑结构是把概念结构转化为与所采用的数据库管理系统所支持的数据模型相符合的过程。
2.2数据流图
数据流图(DataFlowDiagram,简称DFD),是SA法中用于表示系统逻辑模型的一种工具。
它是从“数据”和“对数据的加工”两面表达数据处理系统工作过程的一种图形表示法,以图形的式描述数据在系统中流动和处理的过程,具有直观、易于被用户和软件人员双都能理解的一种表达系统功能的描述式。
由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。
数据流图有四种基本图形符号:
箭头表示数据流;
圆或椭圆表述加工;
双杠表示数据存储;
框表示数据的源点或终点。
图2-1数据流图
2.3数据库设计
由此针对系统需要实现的功能,故可以进行如下简单的设计E-R图
图2-2用户E-R图
图2-3课题E-R图
图2-4系统联系实例图
2.4数据库的逻辑结构设计
(1)tb_Person人员信息表,用于保存申报和审批人员的基本信息
图2-5tb_Person人员信息表
(2)tb_Task课题申报表,用于保存申报课题的基本信息
图2-6tb_Task课题申报表
(3)tb_Result成果信息表,用于保存申报成果的基本信息
图2-7tb_Result成果信息表
(4)tb_Con关系表,用于保存课题和成果名称
图2-8tb_Con关系表
3编码实现
3.1申报员登录实现
在登录窗口中为了减少输入的误差和防止其他人非法登录,在登录窗口中对输入文本框中的信息进行判断,检验输入的信息不能为空。
登录界面中的函数check()代码如下:
functioncheck(){
if(form1.name.value=="
"
){
alert("
请输入你的登录名称"
);
form1.name.focus();
//法focus()使当前的文本框获得焦点
returnfalse;
}
if(form1.password.value=="
请输入你的密码"
form1.password.focus();
}
当用户输入空白信息时,check()函数调用法alert()输出相对应的反馈信息,并调用focus()法使当前的文本框获得焦点。
为了使计算机能够识别用户的合法性,判断申报员ID和密码是否有效,当填入申报员ID和密码不为空时,单击“登录”按钮,系统自动从数据库人员信息表中判断是否存在相同的申报员ID和密码,如果有则进入系统,如果不存在则提示用户名或密码有错误,在程序中上述功能是有check.jsp实现的,关键代码如下:
<
%
Condbcon=newCondb();
//创建一个连接数据库的对象
Showshow=newShow();
//创建一个系统提示出错页面的对象
//置对象request调用getParameter()法获得页面框中的信息
Stringname=request.getParameter("
name"
Stringpassword=request.getParameter("
password"
Stringsql="
select*fromtb_PersonwhereUsername='
+name+and
Password='
+password+"
'
;
//定义查找语句sql
ResultSetrs=con.executeQuery(sql);
//连接对象con调用executeQuery()法实现对数据库的操作,并将操作结果返回给一个结果集rs
if(rs.next()){//将游标移动到下一行
intstr=rs.getInt(11);
if(str==1){//置对象session调用法setAttribute将信息
添加到session对象中
response.sendR