首页 计算机科学与技术系本科毕业论文《科研项目管理系统》

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

举报
开通vip

计算机科学与技术系本科毕业论文《科研项目管理系统》学号:09416220XX大学毕业设计(论文)(2013届)题目常州大学科研项目管理系统的设计与实现学生学院信息科学与工程学院专业班级计校内指导教师专业技术职务副教授校外指导老师专业技术职务二○一三年三月常州大学科研项目管理系统的设计与实现摘要:随着高校科研项目的增多,对科研项目的管理势在必行。本开发是以常州大学为例而开发的高校科研管理系统。该系统是在Tomcat服务器下,MyEclipse环境中开发,使用的语言是JAVA、数据库是MySQL。系统的用户包括三种权限:管理员、项目负责人、普通教师,每类用户各司其职,...

计算机科学与技术系本科毕业论文《科研项目管理系统》
学号:09416220XX大学毕业设计(论文)(2013届)题目常州大学科研项目管理系统的设计与实现学生学院信息科学与工程学院专业班级计校内指导教师专业技术职务副教授校外指导老师专业技术职务二○一三年三月常州大学科研项目管理系统的设计与实现摘要:随着高校科研项目的增多,对科研项目的管理势在必行。本开发是以常州大学为例而开发的高校科研管理系统。该系统是在Tomcat服务器下,MyEclipse环境中开发,使用的语言是JAVA、数据库是MySQL。系统的用户包括三种权限:管理员、项目负责人、普通教师,每类用户各司其职,相辅相成,共同完成科研项目管理功能。管理员的权限功能包括用户权限管理、部门管理、项目类别管理、系统管理,还可以查询统计系统信息。项目负责人是对项目的审批、结题进行把关,功能包括项目审批管理、项目结题管理、系统管理。普通教师是对项目进行申报的,功能包括项目申报管理、过期项目管理、项目结题管理、系统管理。三类用户功能分工明确,权限之间没有交叉,完美地结合,为科研项目的管理提供了完美保障。关键词:科研项目;科研管理系统;JAVA;MySQL数据库;Tomcat服务器;MyEclipse开发环境;DesignandimplementationofscientificresearchprojectmanagementsystemoftheUniversityofChangzhouAbstract:Withtheincreasingofscientificresearchproject,themanagementofscientificresearchprojectsisessentialtrend,sointhiscurriculum,Istudytheuniversityscientificresearchmanagementsystem,thissystemisdevelopedbyUniversityofChangzhouasanexample,isthesubjectofdesignandimplementationofscientificresearchprojectmanagementsystemoftheUniversityofChangzhou.ThesystemisintheTomcatserver,MyEclipsedevelopmentenvironment,thelanguageusedisJAVA,thedatabaseisMySQL.Theuserofthesystemincludesthreekindsofpermissions:administrator,whoisinchargeoftheproject,theordinaryteacher,eachcategoryofusersperformtheirrespectiveduties,complementeachother,tocompletethescientificresearchprojectmanagement.Administratorpermissions,userrightsmanagement,includingmanagement,projectcategorymanagement,systemmanagement,canalsoquerystatisticsinformationsystem.Personinchargeoftheprojectistheprojectexaminationandapproval,thecontrolofthesystemincludesmanagement,projectapproval,projectcompletionmanagement,systemmanagement.Ordinaryteachersistodeclaretotheproject,includingprojectmanagementfunction,projectmanagement,projectcompletiondatemanagement,systemmanagement.Threetypesofuserfunctioncleardivisionoflabor,nocrossbetweenauthority,theperfectcombination,hasprovidedthesafeguardforthemanagementofscientificresearchprojects.Keywords:Researchproject;Scientificresearchmanagementsystem;JAVA;MySQLdatabase;Tomcatserver;MyEclipsedevelopmentenvironment目录11绪论11.1系统概况21.2系统目的21.3本章小结32开发工具32.1Tomcat服务器32.2MyEclipse开发工具42.3MySQL数据库52.4JAVA语言62.5本章小结73需求分析73.1功能需求73.1.1登录模块73.1.2部门负责人功能83.1.3管理员功能93.1.4普通教师功能103.2技术需求103.3可行性分析113.4数据库需求113.5本章小结124.1数据需求分析124.2数据结构分析144.3E-R图154.4本章小结175系统设计与实现175.1登录模块185.2项目负责人功能模块195.2.1项目审批管理模块215.2.2项目结题管理模块235.3管理员功能模块235.3.1用户权限管理模块255.3.2部门管理模块275.3.3项目类别管理模块285.3.4查询统计系统模块305.4普通教师功能模块305.4.1项目申报管理模块335.4.2过期项目管理模块345.4.3项目结题管理模块365.5本章小结376系统测试376.1功能测试376.1.1登录功能386.1.2审批项目功能386.1.3结题项目功能396.1.4文件上传功能396.2本章小结407总结41参考文献42致谢1绪论1.1系统概况在如今这个核算机得到遍及运用的年代,许多往昔依靠人工进行的办理都由核算机所替代。特别在信息的存储、加工和保护上核算机能取得人所不能比拟的效果。经过核算机进行办理的首要办法是树立办理信息体系(ManagementInformationSystem,MIS)。对办理信息体系有许多种解说,依照办理信息体系的创始人明尼苏达大学的GordonB.Davis教授给出的界说,MIS是一个运用核算机硬件和软件,手作业业,剖析、 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 、操控和决议方案模型,以及数据库的用户—机器体系。它能供给信息,撑持公司或安排的运转、办理和决议方案功用。我国专家薛华成则将其界说为:办理信息体系是一个以人为主导,运用核算机硬件、软件、网络通信设备以及其他办公设备,进行信息的搜集、传输、加工、存储、更新和保护,以公司战略竞优、进步功率和效益为意图,撑持公司高层决议方案、中层操控、底层运作的集成化的人机体系。虽然界说不一样,但总的说来,办理信息体系毕竟要起到一个进步办理功率、减轻办理人员担负的效果。无论关于公司或其他安排,树立一个办理信息体系都是完结其领先办理一切必要的。常州大学应国家要求与自身发展要求,每年都承接了许多的科研项目及发表了为数众多的科技论文,对这些效果进行计算所得到的信息在该校的办理中具有重要的含义;首要,它反映了常州大学的学术水平效果,是对该校所进行的各项评价的首要参阅依据;第二,经过这些核算效果,可以看出常州大学的开展趋势,从而为学校开展决议方案供给重要的辅佐信息;第三,它是查询某位研究人员的作业效果的首要办法之一;最终,这些核算信息也是上级主管部门常常需要上报的信息。明显,需要有一套卓有成效的手法来对常州大学的科研项目申请、结题等工作进行管理。到当前为止,常州大学的科研项目办理一向选用人工办理的办法,并无一套成文的办理 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 ,也没有相应的专职办理人员,只要当上级部门发文需要核算项目或论文情况时才由有关人员查阅本所的各种关联文档,人工进行核算并制造报表。这种落后办理的坏处是清楚明了的。有鉴于此,开发一个常州大学的科研项目管理系统是很有必要的。它将有助于将办理人员从烦琐的办理作业中脱节出来,使办理体系化、条理化,能敏捷取得感兴趣的信息。科研管理系统是一个一体化的系统,包含事务信息模块、常规作业模块、决议方案模块等。因此依据现有人力和时刻约束条件以及项目和论文申办的特色,树立一个完好的、具有一切功用的科研管理系统势在必行。咱们挑选开发一个相对较小的有用的数据处置体系。数据处置体系(DataProcessingSystem,DPS)又称为电子数据处置体系(ElectronicDataProcessingSystem,EDPS)或事务处置体系(TransactionProcessingSystem,TPS),它归于办理信息体系的领域,但不是办理信息体系的悉数。其首要特色是简略、精确和标准化。事务规模首要是事务数据的登录,数据的修正,将数据信息以文件方式存入软盘、磁带或硬盘,经过存取这些数据信息打印出报表,首要的操作是排序、列表、更新、查询等,首要运用的运算是简略的加减乘除,其输入通常是原始的单据或表单,输出通常是分类或汇总的报表,首要运用的人员是运转人员。这一类体系因为处置的疑问处于较低的办理层,因此疑问比拟布局化,即处置进程较固定,体系布局相对比拟简略,无须很杂乱的完结技能。1.2系统目的科研项目管理系统的服务对象是学院科研项目管理人员、教师等,教师是可以查看科研项目信息的,然后根据情况对其进行申报工作;科研项目管理人员根据教师提出的申报项目进行审批,项目结束了对项目进行结题工作。其次,系统还应该有管理员对各类用户进行管理,对科研项目、科研项目类别、部门等信息进行管理,管理员是为各类用户进行服务的,以保证各类用户可以各司其职,确保科研项目管理得到很好的使用。1.3本章小结这章介绍了系统开发的发展概况、目的和系统存在的问题。发展概况是对科研项目在我院发展的情况,系统的目的是从系统可以做什么方面进行了分析。2开发工具常州大学科研项目管理系统是在Tomcat服务器下运行的,使用的是MyEclipse作为开发工具、MySQL数据库、JAVA语言开发的B/S结构系统。2.1Tomcat服务器Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet2.4和JSP2.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.2MyEclipse开发工具MyEclipse,是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序HYPERLINK"http://baike.baidu.com/view/133203.htm"\t"_blank"服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML语言,Struts架构,JSP,CSS(层叠样式表),Javascript,Spring,SQL,Hibernate。MyEclipse是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开源产品的专属eclipse开发工具。[1]根据官方最新消息,MyEclipse2013已经正式发布!MyEclipse2013[2]支持HTML5、JQuery和主流的Javascript库。随着MyEclipse2013支持Html5,你可以添加音频、视频和API元素到你的项目,从而为移动设备创建复杂的Web应用程序。你甚至还可以通过HTML5可视化设计器设计令人难以置信的用户界面。同时,随着MyEclipse2013支持JQuery,你可以通过插件提升性能,并添加动画效果到设计中。在结构上,MyEclipse的特征可以被分为7类:1.JavaEE模型2.WEB开发工具3.EJB开发工具4.应用程序HYPERLINK"http://baike.baidu.com/view/133203.htm"\t"_blank"服务器的连接器5.JavaEE项目部署服务6.数据库HYPERLINK"http://baike.baidu.com/view/133203.htm"\t"_blank"服务7.MyEclipse整合帮助对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEclipse5.5以前版本需先安装Eclipse。MyEclipse5.5以后版本安装时不需安装Eclipse。2.3MySQL数据库MySQL(发音为"myesscueel",不是"mysequel")是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。由于MySQL是开放源代码的,因此任何人都可以在GeneralPublicLicense的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。MySQL这个名字,起源不是很明确。一个比较有影响的说法是,基本指南和大量的库和工具带有前缀“my”已经有10年以上,而且不管怎样,MySQLAB创始人之一的MontyWidenius的女儿也叫My。这两个到底是哪一个给出了MySQL这个名字至今依然是个迷,包括开发者在内也不知道。MySQL的海豚标志的名字叫“sakila”,它是由MySQLAB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者AmbroseTwebaze提供。根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的Arusha的一个小镇的名字。MySQL,虽然功能未必很强大,但因为它的开源、广泛传播,导致很多人都了解到这个数据库。它的历史也富有传奇性。2.4JAVA语言Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME)的总称。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。Java是由SunMicrosystems公司于1995年5月推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。由JamesGosling和同事们共同研发,并在1995年正式推出。用Java实现的HotJava浏览器(支持Javaapplet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器均支持Javaapplet。另一方面,Java技术也不断更新。(2010年Oracle公司收购了SUN)Java由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(JavaAPI)。Java平台由Java虚拟机(JavaVirtualMachine,简称JVM)和Java应用编程接口(ApplicationProgrammingInterface,简称API)构成。Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。常用的Java平台基于Java1.4,最近版本为Java1.7。Java分为三个体系J2SE(Java2PlatformStandardEdition,java平台标准版),J2EE(Java2Platform,EnterpriseEdition,java平台企业版),J2ME(Java2PlatformMicroEdition,java平台微型版)。与传统程序不同,Sun公司在推出Java之际就将其作为一种开放的技术。全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。“Java语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。Sun公司对Java编程语言的解释是:Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。Java平台是基于Java语言的平台。这样的平台非常流行。因此微软公司推出了与之竞争的.NET平台以及模仿Java的C#语言。2.5本章小结该章节介绍了系统的开发工具,包括Tomcat服务器、MyEclipse开发工具、MySQL数据库、JAVA语言,详细对每一个工具的功能、用途进行了详细的介绍。3需求分析3.1功能需求科研项目管理系统是以后台管理为主,是典型的管理信息系统,以下是对管理信息系统的概述。管理信息系统(ManagementInformationSystem,简称MIS)是一个以人为主导,利用计算机硬件、软件、网络通信设备以及其他办公设备,进行信息的收集、传输、加工、储存、更新和维护,以企业战略竞优、提高效益和效率为目的,支持企业的高层决策、中层控制、基层运作的集成化的人机系统。管理信息系统油决策支持系统(DSS)、工业控制系统(CCS)、办公自动化系统(OA)以及数据库、模型库、方法库、知识库和与上级机关及外界交换信息的接口组成。本系统的用户权限有三种,分别是部门负责人、管理员、普通教师,每种权限的功能如下所示:3.1.1登录模块登录功能是每种权限用户都可以实现的,只有登录了系统才可以对系统进行更好的管理。该系统的不同权限的用户有三类,分别是部门负责人、管理员、普通教师,这三类用户有各自的用户名、密码、权限来登录系统。3.1.2部门负责人功能部门负责人可以实现的功能有项目审批管理、项目结题管理,每个模块的具体功能内容如下:图3.1部门负责人功能(1)项目审批管理:该模块包括待审批列表、已审批列表。待审批列表展示了科研项目组所有未审批的项目信息(包括项目名称、项目类别、开始时间、结束时间、人数、申报金额、创建时间、进度跟踪、文档下载等),项目负责人可以点击查看项目的目前进度情况信息,可以点击下载该项目的文档信息,如果在仔细查看了解了之后,确定该项目可以审批通过,项目负责人即可单击审批对该项目进行审批。已审批列表展示了科研项目组所有已审批的项目信息(包括项目名称、项目类别、开始时间、结束时间、人数、申报金额、创建时间、进度跟踪、文档下载等),项目负责人可以点击查看项目的目前进度情况信息,可以点击下载该项目的文档信息,项目负责人可以通过在查询自己想要查看的项目审批情况。(2)项目结题管理:该模块包括项目结题确认和已确认项目。项目结题确认展示了项目的结题进度信息(包括项目名称、项目类别、开始时间、结束时间、人数、申报金额、创建时间、进度跟踪、文档下载等),项目负责人同样可以点击查看项目的目前进度情况信息,可以点击下载该项目的文档信息,如果在仔细查看了解了之后,确定该项目可以结题了,项目负责人即可单击确认结题对该项目进行结题确认。已确认结题提供项目负责人查看已经结题的项目信息(包括项目名称、项目类别、开始时间、结束时间、人数、申报金额、创建时间、进度跟踪、文档下载等),项目负责人同样可以点击查看项目的目前进度情况信息,可以点击下载该项目的文档信息。3.1.3管理员功能管理员可以实现的功能有用户权限管理、部门管理、项目类别管理、查询统计系统,每个模块的具体功能内容如下:SHAPE\*MERGEFORMAT图3.2管理员功能1、用户权限管理:该模块包括创建用户和用户管理。创建用户提供管理员新建用户信息(用户名、密码、确认密码、部门、权限分配、描述),输入用户信息,实时保存即可。用户列表提供管理员修改、删除用户信息(用户名、密码、部门、权限、描述),描述是对用户的性质进行描述。2、部门管理:该模块包括添加部门和部门列表。添加部门是提供管理员添加部门信息(部门编号、部门名称等),添加完毕保存即可。部门列表是提供管理员对部门信息(部门编号、部门名称等)进行编辑、删除操作。3、项目类表管理:该模块包括添加类别和类别列表。添加类别提供管理员添加项目类别信息(类别名称、描述),添加完毕保存即可。项目类别列表提供管理员查看、修改、删除项目类别信息(类别名称、描述)。4、查询项目统计管理:该模块包括项目统计和成果统计。项目统计是提供管理员对项目信息(项目名称、项目类别、用户、部门、开始时间、结束时间、人数、申报金额、创建时间、是否审批、是否完成、进度跟踪、文档下载)进行统计,管理员可以点击查看项目的详细信息,可以对项目进行下载。成果统计是提供管理员成果信息(成果名称、项目、用户、部门、成果描述)进行统计的,可以实现按照用户或者部门来查询某个成果信息,如果需要查询所有成果,不输入任何成果名称即可;可以实现下载某成果信息。3.1.4普通教师功能普通教师可以实现的功能有项目申报管理、过期项目管理、项目结题管理,每个模块的具体功能内容如下:SHAPE\*MERGEFORMAT图3.3普通教师功能1、项目申报管理:该模块包括申报项目和项目申报列表。申报项目即添加项目信息(项目类别、项目名称、开始日期、结束日期、人数、申报金额、相关文档资料上传、文档下载、描述)。其中项目列表、是可以在下拉框中进行选择的,日期也是可以选择的。申报项目列表提供教师查询、修改、删除申报项目,查看项目进度跟踪,下载项目文档。2、过期项目管理:该模块提供教师查看已经过期的科研项目。该模块提供教师查看已经过期的科研项目信息,包括项目名称、项目类别、开始时间、结束时间、人数、申报金额、创建时间、进度跟踪、文档下载。如果已经过期的项目需要重新申报,教师是可以重新申报的。3、项目结题管理:该模块包括未结题类表和已结题列表。未结题列表是提供教师查看未结题项目,如果需要结题,教师可以给其结题操作。已结题列表是查看已结题项目,教师可以查看进度、下载文档、查看项目成果。3.2技术需求目前,开发此类系统的技术主要有ASP、JSP技术。针对本系统的功能需求和性能需求,采用的是JSP(JAVAServerPage)技术。它是一个纯的面向对象的程序设计语言,它继承了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的指针(以引用取代)、运算符重载(operatoroverloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在JavaSE1.5版本中,Java又引入了泛型编程(GenericProgramming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。3.3可行性分析可行性分析,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。1、经济可行性:主要是对项目的经济效益进行评价,本系统作为一个毕业设计,无需开发经费,对于我系在经济上是可以接受的。2、技术上的可行性:技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。该管理系统采用了当前新兴的B/S模式进行开发,结合了Internet技术。数据库服务器选用MySQL数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。3、管理上的可行性:主要是科研项目组管理人员大力支持,系领导认同,现有的 管理制度 档案管理制度下载食品安全管理制度下载三类维修管理制度下载财务管理制度免费下载安全设施管理制度下载 和方法科学,规章 制度 关于办公室下班关闭电源制度矿山事故隐患举报和奖励制度制度下载人事管理制度doc盘点制度下载 齐全,原始数据正确等。规章制度和管理方法为系统的建设提供了制度保障。综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快。因此系统的开发是完全可行的。3.4数据库需求1、数据录入和处理的准确性和实时性数据的输入是否准确是数据处理的前提,错误的输入会导致网站输出的不正确和不可用,从而使网站的工作失去意义。数据的输入来源是手工输入。手工输入要通过网站界面上的安排网站具有容错性,并且对操作人员要进行网站的培训。在网站中,数据的输入往往是大量的,因此网站要有一定的处理能力,以保证迅速的处理数据。2、数据的安全性本网站为企业人事管理部门设计,因此只有特定的人事管理者才能对数据实现增,删,改,查等操作。未获授权人员不能进入网站。3、数据的备份要定期对数据库中的数据进行全部或新增部分的备份工作,以保证在硬件出现故障或人为原因导致无法运行时是可以快速及时的还原到原来的正常状态。3.5本章小结该章节从功能需求、技术需求、可行性分析、数据库需求四个方面对需求分析进行了详细的分析,功能需求从管理员、项目负责人、普通教师三个方面对系统功能进行了分析;技术需求从系统所使用到的技术方面进行了分析;可行性分析从经济可行性、技术可行性、管理可行性三个方面进行分析;数据库需求是从数据录入和处理的准确性和实时性、数据的安全性、数据的备份三个方面进行分析。4数据库分析与连接4.1数据需求分析数据对象(DataObject):是性质相同的数据元素的集合,是数据的一个子集,数据对象是一种运行时的概念。可以是外部实体(例如,产生或使用信息的任何事物)、事物(例如,报表)、行为(例如,打电话)、事件(例如,响警报)、角色(例如,教师、学生)、单位(例如,会计科)、地点(例如,仓库)或结构(例如,文件)等。总之,可以由一组属性来定义的实体都可以被认为是数据对象。合理地规划数据库,是成功实现常州大学科研项目管理系统的前提,也是使系统能够高效准确运行的关键要素之一。本系统应该建立一个稳定的后台数据库,通过该数据库管理整个科研项目管理所需的信息(用户信息、科研项目信息、项目类别信息、部门信息表、等)。针对系统的需求,本系统站中需要建立一个数据库来存放所有数据信息,数据库构成如下:pms数据库:用来存放系统涉及到的相关信息,包括了8个表,分别为:dept(部门信息表)、user(用户信息表)、picture(文件信息表)、project(项目信息表)、projectrecords(项目进度信息表)、projectresult(项目成果信息表)、projecttype(项目类别信息表)、type(信息表)。4.2数据结构分析表1用户信息表(user) 编号 字段名称 数据类型 主键 备注 1 Id String 是 编号 2 Username String 用户名 3 Password String 密码 4 Type Int 1、管理员(科研处);2、部门负责人;3普通教师(个人) 5 Dept String 部门 6 Description String 用户描述用户信息表(user)是用来存放用户信息的,字段包括6个:编号、用户名、密码、用户类型、部门、用户描述,其中编号的表的主键。表2部门信息表(dept) 编号 字段名称 数据类型 主键 备注 1 Id String 是 编号 2 Code String 部门编号 3 Name String 名称 4 Description String 描述部门信息表(dept)是用来存放部门信息的,字段包括4个:编号、部门编号、名称、描述,其中编号是表的主键,部门编号是表的外键。表3文件信息表(picture) 编号 字段名称 数据类型 主键 备注 1 Id String 是 编号 2 Path String 路径文件信息表(picture)是用来存放文件信息的,字段包括2个:编号、路径,其中编号是表的主键。表4科研项目信息表(project) 编号 字段名称 数据类型 主键 备注 1 Id String 是 编号 2 Type String 项目类型 3 Name String 项目名称 4 User String 所属用户 5 Startdate Date 开始日期 6 Enddate Date 结束日期 7 Person Int 人数 8 Money Float 申报金额 9 Description String 描述 10 Picture String 项目文档 11 Isaccept Int 是否审批(0否1是) 12 Issuccess Int 是否完成(0否1是) 13 Acceptuser String 审批人 14 Acceptdate Date 审批时间 15 Successdate Date 完成时间 16 Createdate Date 项目创建时间 17 Confirm Int 项目结题确认 18 Dept String 部门 19 Deptname String 部门名称 20 Username String 用户名称 21 Projecttype String 项目类型而科研项目信息表(project)是用来存放可研项目信息的,字段包括21个:编号、项目类型、项目名称、所属用户、开始日期、结束日期、人数、申报金额、描述、项目文档、是否审批、是否完成、审批人、审批时间、完成时间、项目创建时间、项目结题时间、部门、部门名称、用户名称、项目类型,其中编号是表的主键。表5项目进度信息表(projectrecords) 编号 字段名称 数据类型 主键 备注 1 Id String 是 编号 2 Project String 项目 3 Description String 进度描述 4 User String 录入人 5 Createdate Date 录入时间项目进度信息表(projectrecords)是用来存放项目进的信息的,字段包括5个:编号、项目、进度描述、录入人、录入时间,其中编号是表的主键。表6项目成果信息表(projectresult) 编号 字段名称 数据类型 主键 备注 1 Id String 是 编号 2 Title String 成果名称 3 Description String 成果介绍 4 Picture String 成果文档 5 Project String 项目 6 Username String 用户名 7 Deptname String 项目名项目成果信息表(projectrecords)是用来存放项目进的信息的,字段包括7个:编号、成果名称、成果介绍、成果文档、项目、用户名、项目名,其中编号是表的主键。表7项目类别信息表(projecttype) 编号 字段名称 数据类型 主键 备注 1 Id String 是 编号 2 Typename String 类别名称 3 Description String 类别描述项目类别信息表(projecttype)是用来存放项目类别信息的,字段包括3个:编号、类别名称、类别描述,其中编号是表的主键。4.3E-R图E-R图也称实体-联系图(EntityRelationshipDiagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。E-R方法是“实体-联系方法”(Entity-RelationshipApproach)的简称。它是描述现实世界概念结构模型的有效方法。是表示概念模型的一种方式,用矩形表示实体型,矩形框内写明实体名;用椭圆表示实体的属性,并用无向边将其与相应的实体型连接起来;用菱形表示实体型之间的联系,在菱形框内写明联系名,并用无向边分别于有关实体型连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)。本系统中的数据对象联系如下:管理员:用户(1:n),一个管理员可以管理多个用户管理员:部门(1:n),一个管理员可以管理多个部门管理员:项目(1:n),一个管理员可以管理多个项目管理员:项目类别(1:n),一个管理员可以管理多个项目类别管理员:文件(1:n),一个管理员可以管理多个文件普通教师:项目(1:N),一个教师能申报多个项目普通教师:项目进度(1:N),一个教师能查看多个项目进度项目负责人:项目(1:n),一个项目负责人可以审批、结题多个项目该系统实体有管理员、项目负责人、教师、项目、相册、发 行书字帖3500常用字图幼儿笔画描红字帖田字格空白字帖簪花小楷字帖乐善堂 、公告信息,系统E-R图如下:SHAPE\*MERGEFORMAT图4-1E-R图4.4本章小结本章从数据库分析、数据库结构分析、E-R图三个方面进行阐述的,数据库分析介绍了数据库的名称与包含的表;数据库结构分析是对系统的所有数据表的结构进行了分析,包括字段名称、字段类型、是否是主键等几个方面,表下方还对表进行了说明。5系统设计与实现系统设计与实现是从4个部门描述的:用户登录模块、科研负责人功能模块、管理员功能模块、普通教师功能模块。每个功能模块具体功能如下所示:5.1登录模块登录模块流程图如下所示:SHAPE\*MERGEFORMAT图5-2登录流程图功能:登录模块是提供用户登录系统的,用户类型包括项目负责人、管理员、普通教师。图5-1登录模块说明:用户只需要输入正确的“用户名称”、“登录密码”即可登录系统。核心代码:publicclassLoginActionextendsBaseAction{privatestaticfinallongserialVersionUID=-6442295321182851334L;//登录publicvoidlogin(){StringuserName=getRequest().getParameter("userName");Stringpassword=getRequest().getParameter("password");Useruser=getLoginService().login(userName,password);if(user==null){JSONUtil.writeJsonFalse(getResponse());}else{getSession().setAttribute("user",user);JSONUtil.writeJsonTrue(getResponse());}}/***退出*@return*/publicStringlogout(){if(getSession().getAttribute("user")==null){return"login";}getSession().removeAttribute("user");return"login";}}5.2项目负责人功能模块部门负责人可以实现的功能有项目审批管理、项目结题管理,每个模块的具体功能内容如下:5.2.1项目审批管理模块该模块包括待审批列表、已审批列表。功能:待审批列表展示了科研项目组所有未审批的项目信息(包括项目名称、项目类别、开始时间、结束时间、人数、申报金额、创建时间、进度跟踪、文档下载等),项目负责人可以点击查看项目的目前进度情况信息,可以点击下载该项目的文档信息,如果在仔细查看了解了之后,确定该项目可以审批通过,项目负责人即可单击审批对该项目进行审批。图5-3项目审批管理模块说明:项目负责人查询需要审批的项目,或者查询所有项目,在需要审批的项目后面单击“审批”来对其进行审批操作。核心代码:/***待审批列表*@return*/publicStringnoAcceptProjectList()throwsException{StringsearchValue=getRequest().getParameter("searchValue");Useruser=(User)getSession().getAttribute("user");intpageNo=StringUtil.toInt(getRequest().getParameter("pageNo"))==0?1:StringUtil.toInt(getRequest().getParameter("pageNo"));Page<Project>projectPage=null;if(searchValue==null){projectPage=getAdminService().getPage(pageNo,newString[]{"isAccept","dept"},newObject[]{0,user.getDept()});}else{searchValue=newString(searchValue.getBytes("ISO8859-1"),"UTF-8");projectPage=getAdminService().getPage(pageNo,searchValue,newString[]{"isAccept","dept"},newObject[]{0,user.getDept()});}getRequest().setAttribute("searchValue",searchValue);getRequest().setAttribute("projectPage",projectPage);return"noAcceptProjectList";}功能:已审批列表展示了科研项目组所有已审批的项目信息(包括项目名称、项目类别、开始时间、结束时间、人数、申报金额、创建时间、进度跟踪、文档下载等),项目负责人可以点击查看项目的目前进度情况信息,可以点击下载该项目的文档信息,项目负责人可以通过在查询自己想要查看的项目审批情况。图5-4已审批列表说明:通过输入项目名称、类别查看已审批项目的详细信息,可以点击查看内容或者下载该项目信息。核心代码:/***已审批列表*@return*/publicStringacceptProjectList()throwsException{StringsearchValue=getRequest().getParameter("searchValue");intpageNo=StringUtil.toInt(getRequest().getParameter("pageNo"))==0?1:StringUtil.toInt(getRequest().getParameter("pageNo"));Page<Project>projectPage=null;if(searchValue==null){projectPage=getAdminService().getPageProject(pageNo,"isAccept",1);}else{searchValue=newString(searchValue.getBytes("ISO8859-1"),"UTF-8");projectPage=getAdminService().getPage(pageNo,searchValue,newString[]{"isAccept"},newObject[]{1});}getRequest().setAttribute("searchValue",searchValue);getRequest().setAttribute("projectPage",projectPage);return"acceptProjectList";}5.2.2项目结题管理模块该模块包括项目结题确认和已确认项目。功能:项目结题确认展示了项目的结题进度信息(包括项目名称、项目类别、开始时间、结束时间、人数、申报金额、创建时间、进度跟踪、文档下载等),项目负责人同样可以点击查看项目的目前进度情况信息,可以点击下载该项目的文档信息,如果在仔细查看了解了之后,确定该项目可以结题了,项目负责人即可单击确认结题对该项目进行结题确认。图5-5项目结题确认说明:项目负责人查询需要结题的项目,或者查询所有项目,在需要结题的项目后面单击“确认结题”来对其进行结题操作。核心代码:/***我的未结题项目列表*@return*/publicStringnoSuccessProjectList()throwsException{StringsearchValue=getRequest().getParameter("searchValue");intpageNo=StringUtil.toInt(getRequest().getParameter("pageNo"))==0?1:StringUtil.toInt(getRequest().getParameter("pageNo"));Useruser=(User)getSession().getAttribute("user");Page<Project>projectPage=null;if(searchValue==null){projectPage=getAdminService().getPage(pageNo,newString[]{"user","isSuccess","isAccept"},newObject[]{user,0,1});}else{searchValue=newString(searchValue.getBytes("ISO8859-1"),"UTF-8");projectPage=getAdminService().getPage(pageNo,searchValue,newString[]{"user","isSuccess","isAccept"},newObject[]{user,0,1});}getRequest().setAttribute("searchValue",searchValue);getRequest().setAttribute("projectPage",projectPage);return"noSuccessProjectList";}功能:已确认结题提供项目负责人查看已经结题的项目信息(包括项目名称、项目类别、开始时间、结束时间、人数、申报金额、创建时间、进度跟踪、文档下载等),项目负责人同样可以点击查看项目的目前进度情况信息,可以点击下载该项目的文档信息。图5-6已确认结题说明:项目负责人查询结题的项目,或者查询所有项目。核心代码:/***结题*/publicvoidsuccess(){try{Stringid=getRequest().getParameter("id");Projectproject=getAdminService().getProject(id);project.setIsSuccess(1);project.setSuccessDate(newDate());//审批getAdminService().update(project);//创建操作记录ProjectRecordsprojectRecords=newProjectRecords();projectRecords.setCreateDate(newDate());projectRecords.setDescription("项目结题成功等待部门负责人确认");projectRecords.setUser((User)getSession().getAttribute("user"));projectRecords.setProject(project);//保存getAdminService().save(projectRecords);JSONUtil.writeJsonTrue(getResponse());}catch(Exceptione){JSONUtil.writeJsonFalse(getResponse());}}5.3管理员功能模块管理员可以实现的功能有用户权限管理、部门管理、项目类别管理、查询统计系统,每个模块的具体功能内容如下:5.3.1用户权限管理模块该模块包括创建用户和用户管理。功能:创建用户提供管理员新建用户信息(用户名、密码、确认密码、部门、权限分配、描述),输入用户信息,实时保存即可。图5-7创建用户说明:管理员只要输入用户信息(包括用户名、密码、确认密码、部门、权限分配、描述等),单击“保存”即可实现创建用户功能。核心代码:/***创建用户*@return*/publicStringaddUser(){List<Dept>deptList=getAdminService().getDeptList();getRequest().setAttribute("deptList",deptList);return"addUser";}功能:用户列表提供管理员修改、删除用户信息(用户名、密码、部门、权限、描述),描述是对用户的性质进行描述。图5-8用户列表说明:管理员在需要修改、删除的用户后面单击相应的按钮对其操作。核心代码:/***编辑用户*@return*/publicStringeditUser(){Stringid=getRequest().getParameter("id");Useruser=getAdminService().getUser(id);List<Dept>deptList=getAdminService().getDeptList();getRequest().setAttribute("deptList",deptList);getRequest().setAttribute("user",user);return"editUser";}/***删除用户*/publicvoiddeleteUser(){try{Stringid=getRequest().getParameter("id");getAdminService().deleteUser(id);JSONUtil.writeJsonTrue(getResponse());}catch(Exceptione){JSONUtil.writeJsonFalse(getResponse());}}5.3.2部门管理模块该模块包括添加部门和部门列表。功能:添加部门是提供管理员添加部门信息(部门编号、部门名称等),添加完毕保存即可。图5-9添加部门说明:管理员只要输入部门信息(包括部门编号、部门名称、描述等),单击“保存”即可实现创建部门功能。核心代码:/***添加部门*/publicStringaddDept(){return"addDept";}/***保存部门*/publicvoidsaveDept(){try{Stringcode=getRequest().getParameter("code");Stringname=getRequest().getParameter("name");Stringdescription=getRequest().getParameter("description");Deptdept=getAdminService().getDept("code",code);if(dept==null){dept=newDept();dept.setCode(code);dept.setDescription(description);dept.setName(name);//保存getAdminService().save(dept);JSONUtil.writeJsonMsg(getResponse(),"2");}else{JSONUtil.writeJsonMsg(getResponse(),"1");}}catch(Exceptione){JSONUtil.writeJsonMsg(getResponse(),"3");}}功能:部门列表是提供管理员对部门信息(部门编号、部门名称等)进行编辑、删除操作。图5-10部门列表说明:管理员在需要修改、删除的部门后面单击相应的按钮对其操作。核心代码:/***编辑部门*@return*/publicStringeditDept(){Stringid=getRequest().getParameter("id");Deptdept=getAdminService().getDept(id);getRequest().setAttribute("dept",dept);return"editDept";}/***删除部门*/publicvoiddeleteDept(){try{Stringid=getRequest().getParameter("id");getAdminService().deleteDept(id);JSONUtil.writeJsonTrue(getResponse());}catch(Exceptione){JSONUtil.writeJsonFalse(getResponse());}}5.3.3项目类别管理模块该模块包括添加类别和类别列表。功能:添加类别提供管理员添加项目类别信息(类别名称、描述),添加完毕保存即可。图5-11添加类别说明:管理员只要输入项目类别信息(包括类别名称、描述等),单击“保存”即可实现创建项目类别功能。核心代码:/***添加类别*@return*/publicStringaddType(){return"addType";}功能:项目类别列表提供管理员查看、修改、删除项目类别信息(类别名称、描述)。图5-12创建项目类别说明:管理员在需要修改、删除的项目类别后面单击相应的按钮对其操作。核心代码:/***编辑类别*@return*/publicStringeditType(){Stringid=getRequest().getParameter("id");ProjectTypeprojectType=getAdminService().getProjectType(id);getRequest().setAttribute("projectType",projectType);return"editType";}/***删除类别*/publicvoiddeleteType(){try{Stringid=getRequest().getParameter("id");getAdminService().deleteProjectType(id);JSONUtil.writeJsonTrue(getResponse());}catch(Exceptione){JSONUtil.writeJsonFalse(getResponse());}}5.3.4查询统计系统模块该模块包括项目统计和成果统计。功能:项目统计是提供管理员对项目信息(项目名称、项目类别、用户、部门、开始时间、结束时间、人数、申报金额、创建时间、是否审批、是否完成、进度跟踪、文档下载)进行统计,管理员可以点击查看项目的详细信息,可以对项目进行下载。图5-13项目统计说明:管理员可以根据用户、部门来查询相关项目信息,并可以点击查看和点击下载相关信息。核心代码:/***项目统计*@return*/publicStringcountProject()throwsException{StringsearchValue=getRequest().getParameter("searchValue");intpageNo=StringUtil.toInt(getRequest().getParameter("pageNo"))==0?1:StringUtil.toInt(getRequest().getParameter("pageNo"));Page<Project>projectPage=null;if(searchValue==null){projectPage=getAdminService().getPageProject(pageNo);}else{searchValue=newString(searchValue.getBytes("ISO8859-1"),"UTF-8");projectPage=getAdminService().getPageProject(pageNo,searchValue);}getRequest().setAttribute("searchValue",searchValue);getRequest().setAttribute("projectPage",projectPage);return"countProject";}功能:成果统计是提供管理员成果信息(成果名称、项目、用户、部门、成果描述)进行统计的,可以实现按照用户或者部门来查询某个成果信息,如果需要查询所有成果,不输入任何成果名称即可;可以实现下载某成果信息。图5-14成果统计说明:管理员可以根据用户、部门来查询相关项目信息,并可以点击查看和点击下载相关信息。核心代码:/***成果统计*@return*/publicStringcountProjectResult()throwsException{StringsearchValue=getRequest().getParameter("searchValue");intpageNo=StringUtil.toInt(getRequest().getParameter("pageNo"))==0?1:StringUtil.toInt(getRequest().getParameter("pageNo"));Page<ProjectResult>projectResultPage=null;if(searchValue==null){projectResultPage=getAdminService().getPageProjectResult(pageNo);}else{searchValue=newString(searchValue.getBytes("ISO8859-1"),"UTF-8");projectResultPage=getAdminService().getPageProjectResult(pageNo,searchValue);}getRequest().setAttribute("searchValue",searchValue);getRequest().setAttribute("projectResultPage",projectResultPage);return"countProjectResult";}5.4普通教师功能模块普通教师可以实现的功能有项目申报管理、过期项目管理、项目结题管理,每个模块的具体功能内容如下:5.4.1项目申报管理模块项目申报管理:该模块包括申报项目和项目申报列表。功能:申报项目即添加项目信息(项目类别、项目名称、开始日期、结束日期、人数、申报金额、相关文档资料上传、文档下载、描述)。其中项目列表、是可以在下拉框中进行选择的,日期也是可以选择的。图5-15申报项目说明:普通教师只要输入项目信息(包括项目、项目名称、开始日期、结束日期、人数、申报金额、相关文档资料上传、文档下载、描述等),单击“保存”即可实现申报项目的功能。核心代码:/***申报项目*@return*/publicStringaddProject(){List<ProjectType>projectTypeList=getAdminService().getProjectTypeList();getRequest().setAttribute("projectTypeList",projectTypeList);return"addProject";}功能:申报项目列表提供教师查询、修改、删除申报项目,查看项目进度跟踪,下载项目文档。图5-16申报项目列表说明:普通用户在需要修改、删除的已经申报的项目后面单击相应的按钮对其操作,并且可以点击查看、点击下载相关信息。核心代码:/***我的项目列表*@return*/publicStringprojectList()throwsException{Useruser=(User)getSession().getAttribute("user");intpageNo=StringUtil.toInt(getRequest().getParameter("pageNo"))==0?1:StringUtil.toInt(getRequest().getParameter("pageNo"));StringsearchValue=getRequest().getParameter("searchValue");StringisAccept=getRequest().getParameter("isAccept");StringisSuccess=getRequest().getParameter("isSuccess");Page<Project>projectPage=null;if(searchValue==null&&isAccept==null&&isSuccess==null){projectPage=getAdminService().getPageProject(pageNo,user);}else{if(searchValue!=null){searchValue=newString(searchValue.getBytes("ISO8859-1"),"UTF-8");}projectPage=getAdminService().getPageProject(pageNo,user,searchValue,isAccept,isSuccess);}getRequest().setAttribute("searchValue",searchValue);getRequest().setAttribute("isAccept",isAccept);getRequest().setAttribute("isSuccess",isSuccess);getRequest().setAttribute("projectPage",projectPage);return"projectList";}5.4.2过期项目管理模块该模块提供教师查看已经过期的科研项目。功能:该模块提供教师查看已经过期的科研项目信息,包括项目名称、项目类别、开始时间、结束时间、人数、申报金额、创建时间、进度跟踪、文档下载。如果已经过期的项目需要重新申报,教师是可以重新申报的。图5-17教师查看已经过期的科研项目说明:教师可以根据项目名称、类别来查询相关项目信息,如果已过期项目需要重新申报,只要单击对应的项目后面的“重新申报”即可实现,核心代码:/***已过期项目*@return*/publicStringoldProjectList()throwsException{StringsearchValue=getRequest().getParameter("searchValue");if(searchValue!=null){searchValue=newString(searchValue.getBytes("ISO8859-1"),"UTF-8");}intpageNo=StringUtil.toInt(getRequest().getParameter("pageNo"))==0?1:StringUtil.toInt(getRequest().getParameter("pageNo"));Useruser=(User)getSession().getAttribute("user");Page<Project>projectPage=getAdminService().getPageOldProject(pageNo,searchValue,user);getRequest().setAttribute("searchValue",searchValue);getRequest().setAttribute("projectPage",projectPage);return"oldProjectList";}5.4.3项目结题管理模块该模块包括未结题列表和已结题列表。功能:未结题列表是提供教师查看未结题项目,如果需要结题,教师可以给其结题操作。图5-18未结题列表说明:教师通过项目名称、类别查看未结题的项目,如需结题,只要单击项目后面的“结题”即可实现。核心代码:/***我的未结题项目列表*@return*/publicStringnoSuccessProjectList()throwsException{StringsearchValue=getRequest().getParameter("searchValue");intpageNo=StringUtil.toInt(getRequest().getParameter("pageNo"))==0?1:StringUtil.toInt(getRequest().getParameter("pageNo"));Useruser=(User)getSession().getAttribute("user");Page<Project>projectPage=null;if(searchValue==null){projectPage=getAdminService().getPage(pageNo,newString[]{"user","isSuccess","isAccept"},newObject[]{user,0,1});}else{searchValue=newString(searchValue.getBytes("ISO8859-1"),"UTF-8");projectPage=getAdminService().getPage(pageNo,searchValue,newString[]{"user","isSuccess","isAccept"},newObject[]{user,0,1});}getRequest().setAttribute("searchValue",searchValue);getRequest().setAttribute("projectPage",projectPage);return"noSuccessProjectList";}功能:已结题列表是查看已结题项目,教师可以查看进度、下载文档、查看项目成果。图5-19已结题列表说明:教师通过项目名称、类别查看已结题的项目,还可以查看项目信息、点击下载项目。核心代码:/***我的已结题列表*@return*/publicStringsuccessProjectList()throwsException{StringsearchValue=getRequest().getParameter("searchValue");intpageNo=StringUtil.toInt(getRequest().getParameter("pageNo"))==0?1:StringUtil.toInt(getRequest().getParameter("pageNo"));Useruser=(User)getSession().getAttribute("user");Page<Project>projectPage=null;if(searchValue==null){projectPage=getAdminService().getPage(pageNo,newString[]{"user","isSuccess"},newObject[]{user,1});}else{searchValue=newString(searchValue.getBytes("ISO8859-1"),"UTF-8");projectPage=getAdminService().getPage(pageNo,searchValue,newString[]{"user","isSuccess"},newObject[]{user,1});}getRequest().setAttribute("searchValue",searchValue);getRequest().setAttribute("projectPage",projectPage);return"successProjectList";}5.5本章小结本章从各个权限用户出发介绍了不同权限用户的功能操作,每个模块从功能、界面、说明、核心代码几个方面进行阐述的。6系统测试系统测试是保证系统质量与可靠性的最后关口,是对整个系统开发包括系统分析,系统设计和系统实施的最终审查。虽然在系统开发的各个阶段都采取了严格的技术措施,希望能尽快发现问题并改正,但难免会留下差错,如果在正式投入运行前没有发现问题,在工作中暴露出来,将给学校带来很大的损失。因此,对系统进行测试,是系统开发中必不可少的阶段。6.1功能测试6.1.1登录功能用户名:dept1、密码dept1。图6-9用户登录输入名称、密码后点击“登录”便可进入主界面。6.1.2审批项目功能图6-10审批项目点击“审批”弹出提示窗口,显示操作成功。6.1.3结题项目功能图6-11结题项目点击“结题”首先提示是否确认结题,点击“确定”、“取消”实现两种不同功能。6.1.4文件上传功能图6-12文件上传文件上传功能实现。6.2本章小结本章介绍了系统的配置信息,并对主要模块进行了测试。7总结由于时间的关系本文初步的完成了常州大学科研项目管理系统中的主窗体创建、用户管理模块的创建、添加项目类别窗体的创建和查询项目信息窗体的创建、结题模块等。本毕业设计论文对系统的需求分析、可行性分析、设计和实现作了较详细地叙述,表明了面向对象的思想在系统开发中的优越性。也正因此使该原型系统在可扩展性、可移植性、代码重用性、系统维护上有明显的优势。学习心得:1.在程序的设计过程中,通过各种资料的阅读,更深一步的了解了学院科研项目信息,它的发展史、技术要点和设计思路。为今后开发和设计信息系统和数据库系统打下了深厚的基础。2.在开发软件的过程中,对编程工具Java从了解到较熟练的应用,不仅新学会了一种功能强大的编程语言,而且提高了独立自学的能力。在学习过程中,遇到了许多的问题,经过努力,我终于冲破了这些难点。由于每个软件的自身设计思路是不一样的,在各种功能的实现上多存在着差异,这使我走了许多的弯路。但同时使我了解了一种新的思路,使我获益匪浅。3.在毕业设计过程中,我还学到了很多其他方面的道理。关于学习与实践:学到的知识是有限的,面对的实践应用是多种多样的,所学很可能无法满足所用,必须在实践中、在应用中不断学习不断提高,这次完成毕业设计的过程中我学到了许多从前闻所未闻的知识和技能。关于理论与实用:作为一个计算机专业的毕业生,毕业设计是一次重要的实践机会,完成的必须是一件实用的作品。总之,这次设计是我受益匪浅。对我以后的工作、学习打下了坚实的基础。尤其是软件的设计过程和思路的开拓益处更多。参考文献[1]黄梯云.管理信息系统教程[M].高等教育出版社,2000.[2]闪四清.数据库系统原理与应用[M].清华大学出版社,1999.[3]李玉梅.动态Web数据库应用研究[D].昆明:昆明理工大学,2001. [4]求是科技.SQL Server2000数据库开发技术与工程实践[M].北京:人民邮电出版社,2005:23-25. [5]唐学忠.SQL Server2000数据库教程[M].北京:电子工业出版社,2006:12-34.[6]张海藩.软件工程[M].北京:人民邮电出版社,2006.[7]黄红海.基于B/S结构的Web信息系统的研究与实现[D].上海:华东理工大学2003.[8]高洪岩.至简SSH/精通JavaWeb实用开发技术[M].北京:电子工业出版社,2009.[9]赛奎春,白伟明.JSP信息系统开发实例精选[M].北京:机械工业出版社,2005:2-10.[10]耿祥义.JSP基础教程[M].北京:清华大学出版社,2005:2-10,138-142.[11]刘永华,于春花,李晓利.Java网络编程技术[M].北京:清华大学出版社,2008.[12]汪晓平,贾敬习,李功.精通Java网络编程[M].北京:清华大学出版社,2009.[13]王国辉.JavaWeb开发实战宝典[M].北京:清华大学出版社,2010.[14]张峰,李慧丽.JavaWeb2.0架构开发与项目实战[M].北京:清华大学出版社,2009.[15]张海藩,倪宁.软件工程[M].北京:人民邮电出版社,2010.[16]江苏工业学院.毕业论文教学指导手册.常州:江苏工业学院.致谢经过几个月毕业设计,每天忙忙碌碌,一步一步走来,今天终于迎来了自己的成果。在这期间,经常遇到各种各样的问题,时常为不能解决的问题而一筹莫展,但这并未因此打消我的信心,而是使我更加专著的去解决问题,也因此这相对短暂的时间却是四年来过得最为充实的日子,充满了挑战的艰辛与乐趣。在老师的指导和督促下,经过这几个月的紧张设计与开发,我的毕业设计常州大学科研项目管理系统终于开发完成了。通过本系统的开发使我所学的专业知识得到了综合的运用,对以前很多抽象、枯燥的理论知识加深了理解,同时也使我学会了利用结构化程序设计思想开发管理信息系统,并用模块化方法加以实现。能够顺利的完成这次毕业设计,也得益于指导刘锁兰老师的帮助,在她的帮助下,通过到网上查资料,借阅图书等一些途径,使困难很快的得到解决。经过这几个月,终于按照设计说明书的要求完成了自己的毕业设计,由于时间有限、自身知识水平不足,我的设计还难免存在着很多不足的地方,请各位老师给予指正和提出宝贵的建议,我坚信在今后的工作中我会做得更好。项目负责人功能待审批列表已审批列表项目审批项目结题项目结题确认已确认项目管理员功能创建用户用户管理用户权限管理部门管理添加部门部门列表项目类别管理查询统计系统添加类别类别列表项目统计成果统计普通教师功能申报项目项目申报列表项目申报管理过期项目管理查看过期项目项目结题管理未结题项目已结题项目科研项目管理员项目负责人普通教师项目成果部门项目进度管理管理管理管理管理结题申报查看1NN1111NN1N11NNN编号名称介绍文档项目用户名项目名名称编号描述编号项目描述录入人录入时间编号密码用户名编号名称类型用户人数金额描述文档是否审批审批人结题时间……登录界面输入用户名、密码功能界面重新登录是否登录成功
本文档为【计算机科学与技术系本科毕业论文《科研项目管理系统》】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_270070
暂无简介~
格式:doc
大小:2MB
软件:Word
页数:0
分类:
上传时间:2019-11-18
浏览量:0