为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

科研信息管理系统毕业设计

2017-10-14 50页 doc 392KB 24阅读

用户头像

is_852287

暂无简介

举报
科研信息管理系统毕业设计科研信息管理系统毕业设计 专业,计算机应用 班级, 08高职计算机应用 编号, 毕业论文 新农职院科研信息管理系统的 设计与实现 学 院:信息技术学院 专 业:计算机应用 姓 名:xx 班 级:2008高职计算机应用班 指导教师: 二〇一〇 年 十一 月 十九 日 新疆农职院科研信息管理系统的设计与实现 何毅 目录 摘要 ..............................................................................................
科研信息管理系统毕业设计
科研信息管理系统毕业 专业,计算机应用 班级, 08高职计算机应用 编号, 毕业论文 新农职院科研信息管理系统的 设计与实现 学 院:信息技术学院 专 业:计算机应用 姓 名:xx 班 级:2008高职计算机应用班 指导教师: 二〇一〇 年 十一 月 十九 日 新疆农职院科研信息管理系统的设计与实现 何毅 目录 摘要 ........................................................................................................................................................... 4 引 言 ..................................................................................................................................................... 5 第一章 开发工具及相关介绍 ................................................................................................................. 6 1.1 开发运行环境 ................................................................................................................................ 6 1.2 相关知识点介绍 ............................................................................................................................ 6 1.2.1 Eclipse.................................................................................................................................. 6 1.2.2 MYSQL ..................................................................................................................................... 6 1.2.3 Tomcat.................................................................................................................................... 6 1.2.4 MVC模式................................................................................................................................. 7 第二章 系统需求分析 ........................................................................................................................... 7 2.1 任务概述 ........................................................................................................................................ 7 2.1.1 目标 ....................................................................................................................................... 7 2.1.2 建设内容................................................................................................................................ 8 2.1.3 系统实现目标........................................................................................................................ 8 2.2 用户特点 ........................................................................................................................................ 8 第三章 科研信息管理系统主要模块详细设计...................................................................................... 9 3.1系统结构设计................................................................................................................................. 9 3.2 子模块的设计 ................................................................................................................................ 9 3.2.2 项目管理模块........................................................................................................................ 9 3.2.3 成果管理模块...................................................................................................................... 10 3.2.4 经费管理模块...................................................................................................................... 10 3.2.5 统计查询模块...................................................................................................................... 10 3.2.6 系统设置模块...................................................................................................................... 10 3.2.7 用户管理模块...................................................................................................................... 10 3.3 系统的目录组织结构图 .............................................................................................................. 10 3.4 数据库选择与设计 ...................................................................................................................... 11 3.4.1 系统的E-R图...................................................................................................................... 11 4.4.2 MySQL数据库中创建表及插入数据 ................................................................................... 12 第四章 科研信息管理系统的实现 ....................................................................................................... 18 4.1 系统的主界面: ........................................................................................................................... 18 4.2 项目管理模块的实现: ............................................................................................................... 19 4.2.1 项目的添加:...................................................................................................................... 20 4.2.2 项目的修改.......................................................................................................................... 20 4.2.3 项目的浏览.......................................................................................................................... 21 4.2.4 项目的删除.......................................................................................................................... 21 4.3 经费管理模块的实现: ............................................................................................................... 22 4.3.1 项目经费登记功能 .............................................................................................................. 23 4.3.2 经费修改功能...................................................................................................................... 23 4.3.3 经费删除功能...................................................................................................................... 24 4.3.4 经费浏览功能...................................................................................................................... 24 4.4 用户管理模块实现 ....................................................................................................................... 25 4.4.1 用户登录.............................................................................................................................. 25 4.4.2 用户的注册.......................................................................................................................... 25 4.4.3 用户的删除.......................................................................................................................... 26 新疆农职院科研信息管理系统的设计与实现 何毅 4.4.4 用户的修改.......................................................................................................................... 27 第五章 总 结 ......................................................................................................................................... 28 致 谢 ................................................................................................................................................... 29 参考文献 ................................................................................................................................................. 30 附录 ......................................................................................................................................................... 31 COM.CONNDB.JAVA ............................................................................................................................. 31 COM. PAGERESULTSET.JAVA ................................................................................................................. 31 IMONEYDB.JAVA .................................................................................................................................. 33 MONEY.JAVA ......................................................................................................................................... 33 MONEYDB.JAVA ................................................................................................................................... 34 IPROJECTDB.JAVA ................................................................................................................................ 37 PROJECT.JAVA ....................................................................................................................................... 37 PROJECTDB.JAVA ................................................................................................................................. 38 IUSERDB.JAVA ..................................................................................................................................... 38 USER.JAVA ............................................................................................................................................ 38 USERDB.JAVA ....................................................................................................................................... 39 新疆农职院科研信息管理系统的设计与实现 何毅 摘要 现代高等学校开发科研信息管理系统对加强科研管理非常迫切和需要,而科研信息管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库,而对于后者则要求应用程序功能完备,易使用等特点。 在本论文中,主要从以下的几个方面对新农职院科研信息管理系统进行介绍:首先介绍了系统开发工具的运行环境、功能和特点。系统使用MyEclipse作为前台开发工具,使用MySQL作为系统数据库。接着详细的论述了系统的需求分析,即建设的内容、目标和用户特点等。接着对系统的主要模块的功能进行了阐述,其主要功能是项目的管理、成果的管理和经费的管理,实现信息登记,其中包括项目登记、论文登记、成果登记等的登记;实现信息查询,其中包括论文信息、成果信息、经费信息等的查询;实现对系统库的维护。同时有实现用户登录、用户查询以及修改用户信息。 然后,介绍了系统整体结构和数据库设计,并给出了主要数据库表的详细定义以及ER图进行解释说明。最后,说明了系统的模块组成,主要模块的功能,以及这些模块的具体实现方法和程序核心代码 ,并附带了一些主要的窗口。 主要采用MVC模式进行开发,主要采用JSP+ MySQL的方式,其具有安全可靠、简单易用、跨平台性等特点。 关键词: 科研信息管理、JSP、MySQL、MVC; -4- 新疆农职院科研信息管理系统的设计与实现 何毅 引 言 随着人类社会的不断进步,计算机技术的广泛应用以及现代社会信息量的急剧增加,科学技术有了长足的发展,尤其是在当今这个知识经济时代,知识的大爆炸带来全球网络的飞速发展,网络为科技的发展做出了巨大的贡献。对于一些高校来说科研工作更是一项非常重要的事情,而目前许多的高校任处于手工管理阶段,传统的人工信息管理体系已经远远不能满足快节奏、高效率的现代生活的需要,落后的管理技术严重阻碍了信息的交流与共享。同时,网络技术的普及,如何通过网络来实现对高校科技信息的远程访问和与远程管理,从而实现对信息的共享和交流成为当务之急。同时,国家科教兴国战略的制定和西部大开发战略的深入实践,我国高校有了历史性的发展,为科研工作的迅速发展奠定了基础。 随着科研规模的不断扩大和科研管理水平的不断提升,以及高校科研成果数量增加较快,教师的科研内容较为复杂,涉及范围极其广泛,而且为了公平合理的推动教师队伍的科研学建设,为今后科研信息的查找提供方便、快捷的服务,鉴于此目的基于JSP技术的科研信息管理系统为我们提供了强有力的应用工具。该系统可以达到用户检索迅速,查找方便,录入简单,可靠性高,存储量大,保密性好的要求。 科研信息管理是高等教育中的一个重要环节,是整个院校管理的重要的一部分。随着学校师资力量逐渐加强,面对种类繁多的数据和报表,手工处理方式已经很难跟上现代化管理的步伐,随着计算机及通讯技术的飞速发展,高等教育对科研成果管理工作提出了更高的要求。传统的管理方法、手段以及工作效率已不能适应新的发展需求,无法及时准确地打印出所需的报表,尽快改变传统的管理模式,运用现代化手段进行科学管理,已经成为整个教育系统亟待解决的课题之一。 科研信息管理系统对这种状况有很大的改进,可以实现科研工作的网络化管理,形成一个动态的科研数据中心和科研管理沟通平台,全面、实时、准确提供学校的有关科研信息,服务于高校科研工作人员的工作,辅助领导进行科研管理决策,从而为科研管理人员开展工作提供极大的便利。不但提高了工作的效率,而且方便了人员的管理以及老师对科研的申报等。这使得只要有网络的地方,你就能方便的管理自己的科研项目、登记自己的项目、管理科研的经费等,为学校的科研工作节省了很大的开支,也将学院的科研工作提到了很大的一个平台上。 -5- 新疆农职院科研信息管理系统的设计与实现 何毅 第一章 开发工具及相关介绍 1.1 开发运行环境 本系统是以Windows系统为操作平台,开发环境搭建: Eclipse+ MyEclipse + Tomcat5.0 + j2sdk;服务端采用MySql数据库,Tomcat服务器;客户端采用JDBC接口,利用java,JSP作为设计,完成一个可移植的、安全的科研信息管理系统的设计与实现。 1.2 相关知识点介绍 1.2.1 Eclipse Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就基本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境,幸运的是,Eclipse附带了一个的插件集,包括Java开发工具。Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前也有人通过插件使其作为其它计算机语言比如C++和Python的开发工具,Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其它功能相对固定的IDE软件很难有灵活性,所以许多软件开发商以Eclipse为框架开发自己的IDE。兼于此,选择Eclipse为开发环境。 1.2.2 MYSQL MYSQL 是Microsoft 公司推出的MYSQL 数据库管理系统的新版本。该版本继承了MYSQL 7.0 版本的优点,同时又比它增加了许多更先进的功能,具有使用方便、可伸缩性好、与相关软件集成程度高等优点。可跨越从运行Microsoft Windows 98 的膝上型电脑,到运行Microsoft Windows 2008 的大型多处理器的服务器等多种平台使用。 1.2.3 Tomcat Web应用服务器:Tomcat5.0及其以上版本。其功能强大、方便易用,适应于中小型系统的开发。同时Tomcat可以从网站免费下载。从而降低开发成本。 1.2.4 MyEclipse MyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持。 MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。 -6- 新疆农职院科研信息管理系统的设计与实现 何毅 1.2.5 MVC模式 MVC架构是"Model-View-Controller"的缩写,中文翻译为"模型-视图-控制器"。MVC应用程序总是由这三个部分组成。Event(事件)导致Controller改变Model或View,或者同时改变两者。只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。类似的,只要Controller改变了View,View会从潜在的Model中获取数据来刷新自己。 MVC三个部分在J2EE架构中处于什么位置,这样有助于我们理解MVC架构的实现。MVC与J2EE架构的对应关系是:View处于Web Tier或者说是Client Tier,通常是JSP/Servlet,即页面显示部分。Controller也处于Web Tier,通常用Servlet来实现,即页面显示的逻辑部分实现。Model处于Middle Tier,通常用服务端的javaBean或者EJB实现。 图2-1 MVC流程图 第二章 系统需求分析 目前,随着信息技术的飞速发展,高校的科研工作量以及科研的项目不断的扩大,原来的人工方式进行管理已经不能满足需要了,这样的方式也存在很多的缺陷,比如:科研管理者的负担和工作量加大;科研工作的效率不高;科研信息不能实时的发布等。 为了弥补上述的不足之处,便于科研工作者的需求,提高科研的质量,提高科研的管理效率,从而开发了科研信息管理系统,以实现方便、高效、合理的管理。 通过调研之后,对科研信息管理系统的设计开发做了一个详细的概述。 2.1 任务概述 2.1.1 目标 科研信息管理系统是新疆农职院各级科研工作者进行交流的平台,目标是实现科研项目管理、科研成果管理、科研经费管理、信息统计及综合查询。实现各分院(教师个人)申报科研项目(成果),科研处审批设置的工作流程。实时统计打印项目信息和成果等,统计分析科研工作 -7- 新疆农职院科研信息管理系统的设计与实现 何毅 量,设置各种标准和编码,系统也设置了人性化的项目结题提醒以及消息系统。解决学院科研信息发布、工作流转、交流沟通、科技统计上报等问题,提升工作效率,畅通学院内部的信息交流与共享以及与《全国普通高等学校科技统计年报系统》的结合。 2.1.2 建设内容 系统数据流图: 其他人员教师 科研信息 管理系统 管理员学院领导 图3-1数据流图 科研信息管理系统为两层B/S结构的应用系统,通过Web浏览器即可进行所有的科研项目管理、成果管理、经费管理、综合统计、科研通信等工作。系统利用Intranet建立有效的行政办公体系,为提高学院科研管理工作效率服务。同时,根据数据流图可将其划分为如下几个主要模块如图3-1所示: 科研信息管理系统 项成经统系代人 目果费计统码员 管管管查设维管 理理理询置护理 图3-2系统主要模块图 2.1.3 系统实现目标 a、系统内各种信息资源的共享。 b、加强用户间的交流、提高整体工作效率。 c、提供信息发布,以备事后查询,方便领导及时了解内部科研情况,为领导决策提供数据支持。 d、方便科研人员对自己的科研项目、论文、成果及经费等进行查询和管理。 2.2 用户特点 《科研信息管理系统》将面向新疆农职院使用,本系统采用B/S结构,使用方法类似平时的上网,对用户要求不高,如用户没有上网经验,只需简单培训即可上手使用本系统。其操作人员是学院各级管理部门工作人员、科研人员用户及学院领导等。 -8- 新疆农职院科研信息管理系统的设计与实现 何毅 第三章 科研信息管理系统主要模块详细设计 3.1系统结构设计 本子系统的模块可以分为项目管理、成果管理、经费管理、统计查询、系统设置、用户管理等六部分组成。系统结构如图4-1所示: 项目浏览成果分类方式 成果浏览项目统计报表项目管理成果单位个人成果登记项目查询 成果入库成果管理 经费设置成果统计报表 经费浏览经费管理科研查询项目信经费统计报表息管查询成果统计查询理系统科研工作量 系统初始化 人员库维护系统设置 代码维护 权限设置 添加用户 修改用户用户管理 删除用户 图4-1 系统结构图 用户登录 3.2 子模块的设计 系统为用户提供统一的科研项目管理与统计信息系统资源的访问入口,用户只需从门户系统中选择正确的角色登录,即可漫游访问科研项目管理与统计信息系统中集成的所属权限下的各种信息资源和管理系统。用户登录后即可显示用户有权访问的业务系统,用户可直接访问相关的功能,获得项目数据,而无需在系统中重新登录。 3.2.2 项目管理模块 , 项目浏览:可以分为三种方式浏览(按单位个人、按项目类别和按项目来源)。 , 项目统计报表:提供多种形式的统计查询,查询的数据可以导出到Excel表中,也可生成报表直接打印或导出为Word、PDF等格式用于排版和编辑。 , 项目查询:主要是对上传项目、论文等进行登记和浏览等管理。 -9- 新疆农职院科研信息管理系统的设计与实现 何毅 3.2.3 成果管理模块 , 成果浏览:主要是方便用户对科研成果的管理、浏览,也可实现成果的简单统计,可分为两种方式(成果的分类方式和单位个人方式)。 , 成果登记:用户可根据具体的情况管理论文、相关证书图片的上传等,可以分为(论文登记窗口、获奖登记窗口、著作登记窗口、鉴定登记窗口、专利登记窗口、软件登记窗口)。 , 成果入库:主要是实现对各二级单位登记成果的二级审核入库工作,可将审核过的内容永久加入到数据库中。 , 成果统计报表:该功能设计了多种成果统计查询功能,可以将查询的数据以Excel、PDF、Word格式导出或直接生成表报打印。 3.2.4 经费管理模块 , 经费设置:用户可以登记项目经费的拨入和拨出,同时提醒项目的主持人经费已拨入和拨出。 , 经费浏览:该功能实现对单位个人所属项目的经费信息进行查询和统计。 , 经费统计报表:该功能实现用户统计项目的经费,可以导出Excel,或者打印报表。 3.2.5 统计查询模块 , 查询项目:该功能实现用户自定义查询条件,查询项目数据,并可以导出或者打印结果。 , 查询成果:该功能实现用户自定义查询条件,查询成果(论文、获奖、鉴定、著作、专利、软件登记)数据,并可以导出或者打印结果。 , 科研工作量:该功能主要是为了统计某个单位个人的科研情况(项目、成果),既可以查询全部数据,也可以指定某个时间段进行查询。可以将结果导出Excel,或者打印报表。 3.2.6 系统设置模块 , 系统初始化:对系统数据进行清零处理。 , 代码维护:对项目代码、类别代码、学院代码等进行维护和管理。 , 人员库维护:增加人员、删除人员等。 , 权限设置:对项目权限、统计权限、成果权限等进行设置。 3.2.7 用户管理模块 , 添加用户:添加新的用户。 , 修改用户:对用户进行密码等修改。 , 删除用户:删除用户。 , 用户登录:对用户的登录进行管理。 3.3 系统的目录组织结构图 本系统的目录组织结构如图4-2所示: -10- 新疆农职院科研信息管理系统的设计与实现 何毅 图4-2:系统目录组织结构图 3.4 数据库选择与设计 数据库是数据管理的最新技术,是计算机科学的重要分支。十年来,数据库管理系统已从专用的应用程序包发展成为通用系统软件。由于MySql数据库具有数据结构化、最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点,较大的信息系统都是建立在MySql数据库设计之上的。它可以在不同的环境下工作,包括移动计算环境、嵌入式数据库和工作组服务器,能存放和读取大量的数据,管理众多并发的用户,故选用MySql数据库。 3.4.1 系统的E-R图 该系统包含的实体主要有:项目、用户、成果、经费等,下面就以用户表与项目表将分别介绍各实体及实体间的E-R图 用户的E-R图,如图4-3所示: 用户名用户ID用户 密码 图4-3:用户E-R图 项目表E-R图,如图4-4所示: -11- 新疆农职院科研信息管理系统的设计与实现 何毅 项目类型项目主持项目级别人 研究内容止研日期 项目 项目ID项目编号 项目名称项目来源起研日期 图4-4:项目表E-R图 经费表E-R图,如图4-5所示: 图4-5:经费表E-R图 4.4.2 MySQL数据库中创建表及插入数据 系统其中主要的8张表:用户基本信息表、角色表、权限表、项目表、成果论文表、成果获奖表、经费表,下面将对其中的项目表如表4-1、用户基本信息表如表4-2、经费信息表如表4-3、成果获奖信息表如表4-4、成果论文信息表如表4-5、权限表如表4-6进行详细介绍。 -12- 新疆农职院科研信息管理系统的设计与实现 何毅 表4-1:项目表 字段名称 数据类型 字段大小 是否主键 是否为空 备注 ID Int 10 是 否 编号 Kind varchar 255 否 否 项目类别 Source varchar 100 否 否 项目来源 Level varchar 100 否 否 项目级别 String content 255 否 否 项目内容 Project_number int 20 否 否 项目编号 name varchar 50 否 否 项目名称 begin_date Date 20 否 否 起研日期 end_date Date 20 否 否 止研日期 director Varchar 50 否 否 主持人 institution Varchar 50 否 否 主持单位 建立本表的SQL语句如下: create table project( id int(10) NOT NULL auto_increment, kind varchar(255) default null, source varchar(100) default null, level varchar(100) default null, content text, project_number varchar(20) default null, name varchar(50) default null, begin_date DATE NOT NULL DEFAULT 0, end_date DATE NOT NULL DEFAULT 0, director varchar(50) default null, institution varchar(50) default null, primary key (id)); -13- 新疆农职院科研信息管理系统的设计与实现 何毅 表4-2:用户基本信息表 字段名称 数据类型 字段大小 是否主键 是否为空 备注 ID Int 10 是 否 编号 SID varchar 255 否 否 系统ID Name varchar 100 否 否 姓名 Sex varchar 4 否 否 性别 Nation varcha 4 否 否 族别 Education varcha 20 否 否 学历 Mobile varcha 50 否 否 移动电话 Email varcha 50 否 否 电子邮件 IDCard varcha 20 否 否 身份证号 建立本表的SQL语句如下: CREATE TABLE member_info ( id int(10) unsigned NOT NULL auto_increment, sid varchar(255) default NULL, name varchar(100) default NULL, sex varchar(4) default NULL, nation varchar(4) default NULL, education varchar(20) default NULL, email varchar(50) default NULL, mobile varchar(50) default NULL, idCard varchar(20) default NULL, primary key (id)); -14- 新疆农职院科研信息管理系统的设计与实现 何毅 表4-3:经费表 字段名称 数据类型 字段大小 是否主键 是否为空 备注 ID Int 4 是 否 编号 name varchar 50 否 否 项目名称 earnings_expenses varchar 10 否 否 收入或支出 amount varchar 50 否 否 金额 content text 否 否 经费内容 Project_number varchar 50 否 否 项目编号 certificate_NO varchar 50 否 否 凭证号 date Date 否 否 日期 memo text 否 否 备注 是否主 ifNotice Varchar 4 否 否 持人 建立本表的SQL语句: create table funding( id int(4) NOT NULL auto_increment, project_NO varchar(50) default NULL, name varchar(50) default NULL, earnings_expenses varchar(10) default null, date DATE NOT NULL DEFAULT 0, amount varchar(50) default NULL, certificate_NO varchar(50) default NULL, content text, memo text, ifNotice varchar(4) default NULL, primary key (id)); -15- 新疆农职院科研信息管理系统的设计与实现 何毅 表4-4:成果获奖信息登记表 字段名称 数据类型 字段大小 是否主键 是否为空 备注 ID Int 10 是 否 编号 consequent_number varchar 50 否 否 成果编号 context Text 否 否 获奖内容 name varchar 255 否 否 获奖名称 varchar level 50 否 否 获奖等级 kind varchar 100 否 否 等级类别 modus varchar 255 否 否 成果形式 date Date 否 否 获奖日期 institution Varchar 100 否 否 颁奖单位 person Varchar 255 否 否 总人数 pic Varchar 255 否 否 图片预览 建立本表的SQL语句: CREATE TABLE consequent_awards( id int(10) unsigned NOT NULL auto_increment, consequent_number varchar(50) default NULL, context text, name varchar(225) default NULL, level varchar(50) default NULL, kind varchar(100) default NULL, modus varchar(225) default NULL, date DATE NOT NULL DEFAULT 0, institution varchar(100) default NULL, person varchar(225) default NULL, pic varchar(100) default NULL, primary key (id)); -16- 新疆农职院科研信息管理系统的设计与实现 何毅 表4-5:成果论文信息登记表 字段名称 数据类型 字段大小 是否主键 是否为空 备注 ID Int 10 是 否 编号 consequent_number varchar 50 否 否 成果编号 name_cn varchar 50 否 否 论文名称 level varchar 50 否 否 获奖等级 varchar kind 100 否 否 论文类别 subject_kind varchar 50 否 否 学科类别 date Date 否 否 发表日期 periodical_cn Varchar 50 否 否 期刊名称 cycle Varchar 50 否 否 期数 page Varchar 50 否 否 页数 publication_number Varchar 50 否 否 出版号 publication_place Varchar 50 否 否 出版地 建立本表的SQL语句: CREATE TABLE consequent_dissertatlon ( id int(10) unsigned NOT NULL auto_increment, consequent_number varchar(50) default NULL, name_cn varchar(50) default NULL, level varchar(10) default NULL, kind varchar(50) default NULL, subject_kind varchar(50) default NULL, date DATE NOT NULL DEFAULT 0, periodical_cn varchar(50) default NULL, cycle varchar(50) default NULL, page varchar(50) default NULL, publication_number varchar(50) default NULL, publication_place varchar(50) default NULL, pic varchar(100) default NULL, primary key (id) ); -17- 新疆农职院科研信息管理系统的设计与实现 何毅 表4-6:权限表 字段名称 数据类型 字段大小 是否主键 是否为空 备注 ID Int 10 是 否 编号 sid varchar 10 否 否 系统编号 purview varchar 255 否 否 权限 建立本表的SQL语句: create table member_purview( id int(4) NOT NULL auto_increment, sid varchar(10) default null, purview varchar(255) default null, primary key (id)); 第四章 科研信息管理系统的实现 4.1 系统的主界面: 通过用户名登录以后进入,可以浏览使用的用户名,以及今天的日期;可以实现一些通知公告的浏览、友情链接、以及一些功能的导航页面。如图5-1所示: 图5-1 首页 主代码:„„ -18- 新疆农职院科研信息管理系统的设计与实现 何毅 href= „„
首页 /checkOut/listSubByUser.jsp" target="_blank">项目查询成果查询
4.2 项目管理模块的实现: 主要代码:import java.util.Collection; public interface IProjectDB { „„ -19- 新疆农职院科研信息管理系统的设计与实现 何毅 //添加项目 public int addProject (Project projects); „„} public class Project { private int linkId; „„ public Project (int ld, String lt„„) {this.linkId = ld; this.linkTitle = lt; .kind=kd; this this.linkLevel=lv; „„} ProejctDB类等进行后台的处理。 使用了IProject接口、project类、 4.2.1 项目的添加: 该页面主要实现项目的详细信息的添加,最后保存到数据库中。如图5-2所示: 图5-2 项目添加页面 4.2.2 项目的修改 该页面主要是从数据库中调出数据,进行项目的修改。如图5-3所示: -20- 新疆农职院科研信息管理系统的设计与实现 何毅 图5-3 项目修改页面 4.2.3 项目的浏览 该页面主要实现从数据库调出项目,将数据库的信息呈现给用户。如图5-4所示: 图5-4 项目浏览页面 4.2.4 项目的删除 该页面主要实现项目的删除,通过项目的编号、名称调出数据并删除。如图5-5所示: -21- 新疆农职院科研信息管理系统的设计与实现 何毅 图5-5 项目删除页面 4.3 经费管理模块的实现: 主要代码:import java.util.Collection; public interface IMoneyDB { //获取经费的详细信息 public Money getMoney (int id); //添加经费 public int addMoney (Money moneys); //删除项目经费 public int deleteMoney (int id); //修改项目经费 public int modifyMoney (Money moneys); //项目经费查询列表 public Collection getMoney (); //添加查重 public boolean find(String key); //修改查重 public boolean isModify(String key,int id);} public class Money { private int linkId; private int project_number; private String name=null; private String earnings_expenses = null;„„ public Money (int ld, int pn, String na, String ee, int bd, float at, int cn, String ct, String mo, String in) {this.linkId = ld; this.project_number=pn;„„} public int getLinkId (){ return this.linkId;} public void setId(int ld){ this.linkId=ld; }„„} -22- 新疆农职院科研信息管理系统的设计与实现 何毅 使用了IMoney接口、Money类、MoneyDB类等进行后台的处理。 4.3.1 项目经费登记功能 该页面主要实现项目的经费登记。如图5-6所示: 图5-6 经费登记页面 4.3.2 经费修改功能 该页主要实现对已有的项目经费,进行具体的修改。如图5-7所示: 图5-7 项目经费修改页面 -23- 新疆农职院科研信息管理系统的设计与实现 何毅 4.3.3 经费删除功能 该页面主要是实现项目经费的删除。如图5-8所示: 图5-8 经费删除页面 4.3.4 经费浏览功能 该页面主要实现从数据库中对已有的项目的经费进行浏览。如图5-9所示: 图5-9 经费浏览页面 -24- 新疆农职院科研信息管理系统的设计与实现 何毅 4.4 用户管理模块实现 主要代码:public interface IUserDB { public boolean userExist(String username); public boolean isValidUser (String username, String password); public User getUser (int id);„„} public class User { private int userid =0; private String username = null; String rname = null; private private String sex = null;„„ public User (int uid, String un, String rn, String sx,String pwd, String ema, String phone, String nt, String ed,int ic) { addr, String dt, int this.userid = uid; this.username = un; this.rname=rn; „„} public int getId () { return this.userid;} public String getUsername () {return this.username;}„„} package user; import java.sql.*; import java.util.*; import com.ConnDB1; public class UserDB extends ConnDB1 implements IUserDB{„„} 主要使用了IUserDB接口、User类、UserDB类等。 4.4.1 用户登录 该页面主要实现用户的登录,通过用户名、密码以及登录的角色,如果未注册必须先进行注册。如图5-10所示: 图5-10 用户登录页面 4.4.2 用户的注册 该页面主要实现用户信息的注册,包括:用户名、真实姓名、密码等;同时带有*号的项为 -25- 新疆农职院科研信息管理系统的设计与实现 何毅 -11所示: 必填项。如图5 图5-11 用户注册页面 4.4.3 用户的删除 该页面主要用于管理员删除未使用的用户名,对系统进行维护。如图5-12所示: 图5-12 用户信息删除 -26- 新疆农职院科研信息管理系统的设计与实现 何毅 4.4.4 用户的修改 该页主要是用于用户对自己的一些信息进行修改。如图5-13所示: 图5-13 用户修改页面 -27- 新疆农职院科研信息管理系统的设计与实现 何毅 第五章 总 结 到现在为止,科研信息管理系统的开发已全部完毕,我这次毕业设计的任务是为学院开发一个科研信息管理系统,它用到的开发工具是JSP环境Java语言,MYSQL数据库。其中大部分功能已经基本可以实现了,如:用户的注册,项目的添加,成果的添加等功能模块基本已经能实现了。 在设计的开始阶段为了尽快熟悉JSP开发环境和Java语言,我详细翻阅有关该方面的资料,对书中的基本理论知识逐章逐节地分析,同时还上机操作来加深理解。特别是对书中的一些典型实例,认真学习它的编程思想,吸取它的编程技巧,弄懂程序中每句话的含义。在对所要应用的技术有了一个基本认识之后,就开始构思自己的系统设计。认真听老师对设计要求的讲解,根据任务书的要求将整个系统分为几个模块,每个模块具体又要实现哪些功能,然后就逐个模块去一一详细设计,设计的过程中不时地翻阅资料,用一些巧妙的技术来优化程序。 当然,对于我来说系统的开发并不是一件简单的事情,无论是最初的系统需求的调研,还是在具体代码的编写过程中,最后的代码的调试都遇到了许多的困难,这些都必须自己不断的去学习,不断的去找各种资料来解决,其实能写出代码固然重要,最重要的是能从已有的代码中找出问题并解决它,让代码更加的优化,更加的完美中可能更能锻炼我的能力。对于这些自己最初真的不是很懂在老师和同学的共同的努力下,我不断的去学习,不断的去探索,很多问题都能解决,这也让我学到了许多的心得知识。 总之,通过一个月的毕业设计,让我感受了一个系统的开发的整个过程。我想毕业设计不仅是对我在大学所学知识的一个综合运用,也是一次增长知识积累经验的好机会,同时也使我学会了许多处理、解决问题的方法,大大提高了自己的动手能力,为即将走上工作岗位打下了良好的基础。 -28- 新疆农职院科研信息管理系统的设计与实现 何毅 致 谢 回首三年的学习生活可能没有这半个月过的充实和忙碌了,在看到自己的最后的成果时我不禁的笑了,也长长的缓了一口气,对最后的结果还是比较满意的。 对我来说这半个月是忙碌的也是最累的半个月了,我不但要面临期末的考试,毕业的答辩也要忙于自己的毕业设计,可谓是失败成功酸甜苦辣都尝试过了。但是,最后我还是做出了一些成果,这也是一种成功~ 通过此次的毕业设计使我进一步巩固加深对所学的基础理论、基本技能和专业知识的掌握,使之系统化、综合化。培养了我的独立工作、独立思考和综合运用已学知识解决实际问题的能力,尤其增加了我独立获取新知识的能力,以及独立思考解决问题的能力。使自己树立了具有符合生产实际的正确设计思想和观点;树立严谨、负责、实事求是、刻苦钻研、勇于探索、具有创新意识、善于与他人合作的工作作风。 当然,在这里面也离不开老师和同学的帮助。俗话说的好:“饮其流时思其源,成吾学时念吾师。”在论文完成之际,谨向我尊敬的导师李老师致以诚挚的谢意和崇高的敬意。非常幸运成为您的学生,在这短短的时间里,聆听着您孜孜不倦的教诲,感受着您严谨进取的治学精神和乐观向上的生活态度,我不仅体会到知识与研究的魅力,也学会了许多做人的道理。感谢您从本论文开始一路指导直至完成,正是因为您才使我的毕业论文有了极大的写作空间。您的悉心点拨,耐心引导,在项目的开发以及论文的写作过程中给了我很大的帮助,毕业在即,在此谨向您表示我最衷心的感谢,同时,祝您工作顺利,身体健康~ 大学生活即将匆匆忙忙地过去,在三年里面我收获了很多,无论是做人的道理,还是与他人的相处,团队的合作,都会给我很大的帮助,为我以后的学习和工作积累了宝贵的经验。就要离开学校,走上工作岗位了,这是我人生的一个结束点,但又一个新的起点,在此也希望我的大学恩师们,学弟学妹们,以及学院明天更美好~ -29- 新疆农职院科研信息管理系统的设计与实现 何毅 参考文献 1、jsp+Ajax网站开发经典实例。 作者:张银呵、唐友明、王俊伟 编著 出版社:电子工业出版社 出版时间:2009年01月 2、《我的J2EE成功之路》 作者:郭峰 编著 出版社:电子工业出版社 出版时间:2009年11月 3、数据库应用技术:Mysql 简明教程。 出版社:高等教育出版社 出版时间:2009年01月 作者:李存斌 主编 4、《jsp动态web技术实例教程》 作 者:聂哲 编著 出版社:机械工业出版社 出版时间:2002年02月 5、《java范例完全自学手册》作 者:李钟尉 编著 出版社:人民邮电出版社 出版时间:2009年10月 6、《基于三层架构的科研管理信息系统》 作者:郎青 7、《21天学通java web开发》 作 者:卜炟 编著 出版社:电子工业出版社 出版时间:2009年4月 8、《基于WEB的文科科研管理系统的设计与实现》作 者:耿文霞 编著 9、《试谈高职院校科研管理系统的运用及建设》作 者:宋峥嵘 编著 出版社:浙江医药高等专科学校, 出版时间:2010年3月 10、《科研管理系统的网络框架研究》作 者:孟梅,邓俊兰 编著 出版社:武汉理工大学,科学技术发展院 出版时间:2010年3月 -30- 新疆农职院科研信息管理系统的设计与实现 何毅 附录 Com.connDB.java package com; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; public class ConnDB1 { //The Data Source name is "smis" static String url = "jdbc:odbc:kkk"; protected static Connection aConnection; static Statement aStatement; public static void initialize() {try { // load the jdbc - odbc bridge driver for Windows Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // create connection instance aConnection = DriverManager.getConnection(url, "", ""); // create statement object instance for this connection aStatement = aConnection.createStatement();} catch (ClassNotFoundException e) {System.out.println(e);} catch (SQLException e) { System.out.println(e); } } // close the database connection public static void terminate() {try { // close everything aStatement.close();aConnection.close();} catch (SQLException e){ System.out.println(e); } }} Com. PageResultSet.java package com; -31- 新疆农职院科研信息管理系统的设计与实现 何毅 java.util.*; import /** *

Title: PageResultSet

**

Description:分页类

**

Copyright: Copyright (c) 2007

** @author:HE YI* @version 1.0*/ public class PageResultSet { /** * 分页数据 */ private Collection data = null; /*** 当前页*/ private int curPage; /** * 每页显示的记录数 */ private int pageSize; /*** 记录行数 */ private int rowsCount; /*** 页数 */ private int pageCount; public PageResultSet(Collection data) {„„} /** * getCurPage:返回当前的页数** @return int*/ public int getCurPage() { return curPage; } /** * getPageSize:返回分页大小* * @return int*/ public int getPageSize() { return pageSize;} /*** getRowsCount:返回总记录行数** @return int */ public int getRowsCount() { return rowsCount;} /*** getPageCount:返回总页数** @return int*/ public int getPageCount() { return pageCount;} /*** 第一页* @return int*/ public int first() { return 1;} /*** 最后一页* @return int*/ public int last() {return pageCount;} /*** 上一页* @return int */ public int previous() {return (curPage - 1 < 1) ? 1 : curPage - 1; } /*** 下一页* @return int */ public int next() { return (curPage + 1 > pageCount) ? pageCount : curPage + 1; } /*** 第一页* @return boolean*/ public boolean isFirst() {return (curPage==1)?true:false;} -32- 新疆农职院科研信息管理系统的设计与实现 何毅 第一页 * @return boolean*/ /*** public boolean isLast() {return (curPage==pageCount)?true:false;} /*** 获取当前页数据* @return Collection*/ public Collection getData() { „„}} IMoneyDB.java package money; import java.util.Collection; public interface IMoneyDB { //获取经费的详细信息 Money getMoney (int id); public //添加经费 public int addMoney (Money moneys); //删除项目经费 public int deleteMoney (int id); //修改项目经费 public int modifyMoney (Money moneys); 项目经费查询列表 // public Collection getMoney (); //添加查重 public boolean find(String key); //修改查重 public boolean isModify(String key,int id); } Money.java package money; public class Money { private int linkId; private int project_number; private String name=null; private String earnings_expenses = null; private int begin_date; private float amount; private int certificate_NO; private String content = null; private String memo = null; private String ifNotice = null; public Money (int ld, int pn, String na, String ee, int bd, float at, int cn, String ct, String mo, String in) {this.linkId = ld;„„} public int getLinkId () {return this.linkId; } public void setId(int ld) {this.linkId=ld; } „„} -33- 新疆农职院科研信息管理系统的设计与实现 何毅 MoneyDB.java package money; import java.sql.*;import java.util.*;import com.ConnDB1; public class MoneyDB extends ConnDB1 implements IMoneyDB{ //Connection connection; private ArrayList moneydb; public MoneyDB ()throws Exception { // } public Money getMoney (int id) {try { ConnDB1.initialize(); // create database connection PreparedStatement preparedStatement = aConnection.prepareStatement ( "SELECT linkId, project_number, name,earnings_expenses,begin_date, amount, certificate_NO, content, memo,ifNotice FROM projectmoney " + "WHERE linkId = ?"); preparedStatement.setInt (1, id); ResultSet resultSet = preparedStatement.executeQuery (); if (resultSet.next()) { Money projects = new Money ( resultSet.getInt (1), resultSet.getInt (2), resultSet.getString (3), resultSet.getString (4), resultSet.getInt (5),resultSet.getFloat (6), resultSet.getInt (7), resultSet.getString (8), resultSet.getString (9), resultSet.getString (10) ); preparedStatement.close (); ConnDB1.terminate(); return projects; }else{ preparedStatement.close (); ConnDB1.terminate(); return null;}} catch (SQLException e) { ConnDB1.terminate(); return null; } } public int addMoney(Money moneys) { int rowsAffected = 0;try{ ConnDB1.initialize(); // create database connection PreparedStatement preparedStatement = aConnection.prepareStatement ( "INSERT INTO projectmoney(project_number, name, earnings_expenses, begin_date, amount, certificate_NO, content, memo, ifNotice) VALUES (?,?,?,?,?,?,?,?,?)"); preparedStatement.setInt (1, moneys.getProject_number()); preparedStatement.setString (2, moneys.getName()); preparedStatement.setString (3, moneys.getEarnings_expenses()); preparedStatement.setInt (4, moneys.getBegin_date()); preparedStatement.setFloat (5, moneys.getAmount()); preparedStatement.setInt (6, moneys.getCertificate_NO()); preparedStatement.setString (7, moneys.getContent()); -34- 新疆农职院科研信息管理系统的设计与实现 何毅 preparedStatement.setString (8, moneys.getMemo()); preparedStatement.setString (9, moneys.getIfNotice()); //判断是否重复添加 if(find(moneys.getName())){rowsAffected =2; } else{ rowsAffected = preparedStatement.executeUpdate (); } preparedStatement.close (); ConnDB1.terminate();} catch (SQLException e){ ConnDB1.terminate(); return 0; } return rowsAffected;} public int deleteMoney (int id) {int rowsAffected = 0; try{ ConnDB1.initialize(); // create database connection PreparedStatement preparedStatement = aConnection.prepareStatement ( "DELETE FROM projectmoney WHERE linkId = ?"); preparedStatement.setInt (1, id); rowsAffected = preparedStatement.executeUpdate (); preparedStatement.close (); ConnDB1.terminate();} catch (SQLException e){ ConnDB1.terminate(); return 0;} return rowsAffected;} public int modifyMoney (Money moneys) { int rowsAffected = 0; try{ ConnDB1.initialize(); // create database connection PreparedStatement preparedStatement = aConnection.prepareStatement ( "UPDATE projectmoney SET project_number=?, name=?, earnings_expenses=?, begin_date=?, amount=?, certificate_NO=?, content=?, memo=?,ifNotice=? WHERE linkId =?"); preparedStatement.setInt (1, moneys.getProject_number()); preparedStatement.setString (2, moneys.getName()); preparedStatement.setString (3, moneys.getEarnings_expenses()); preparedStatement.setInt (4, moneys.getBegin_date()); preparedStatement.setFloat (5, moneys.getAmount()); preparedStatement.setInt (6, moneys.getCertificate_NO()); preparedStatement.setString (7, moneys.getContent()); preparedStatement.setString(8, moneys.getMemo()); preparedStatement.setString (9, moneys.getIfNotice()); preparedStatement.setInt (10, moneys.getLinkId()); //判断是否重复修改 if(isModify(moneys.getName(),moneys.getLinkId())){ rowsAffected =2; } else{ rowsAffected = preparedStatement.executeUpdate ();} preparedStatement.close (); ConnDB1.terminate();} catch (SQLException e) {ConnDB1.terminate();return 0;} return rowsAffected; } public Collection getMoney () {moneydb = new ArrayList (); -35- 新疆农职院科研信息管理系统的设计与实现 何毅 try{ ConnDB1.initialize(); // create database connection PreparedStatement preparedStatement = aConnection.prepareStatement ( "SELECT linkId, project_number, name,earnings_expenses,begin_date, amount, certificate_NO, content, memo,ifNotice FROM projectmoney"); ResultSet resultSet = preparedStatement.executeQuery (); while (resultSet.next ()) {Money pj = new Money( resultSet.getInt (1), resultSet.getInt (2), resultSet.getString (3), resultSet.getString (4), resultSet.getInt (5),resultSet.getFloat (6), resultSet.getInt (7), resultSet.getString (8), resultSet.getString (9), resultSet.getString (10)); moneydb.add(pj);} preparedStatement.close ();} catch (SQLException e){ return null;} ConnDB1.terminate(); //Collections.sort(booktype); return moneydb;} public boolean find(String key) { boolean gotIt=false; try{ ConnDB1.initialize(); // create database connection PreparedStatement preparedStatement = aConnection.prepareStatement ( "SELECT linkId FROM projectmoney WHERE linkTitle = ?"); preparedStatement.setString (1, key); ResultSet resultSet = preparedStatement.executeQuery (); if (resultSet.next ()) {gotIt=true; preparedStatement.close (); ConnDB1.terminate(); } else{ preparedStatement.close (); ConnDB1.terminate(); //return isValid;}} catch (SQLException e){ ConnDB1.terminate(); //return gotIt;}return gotIt;} public boolean isModify(String key,int id) { boolean modifyIt=false; try{ ConnDB1.initialize(); // create database connection PreparedStatement preparedStatement = aConnection.prepareStatement ( "SELECT linkId FROM projectmoney WHERE name = ? and linkId <> ? "); preparedStatement.setString (1, key); preparedStatement.setInt (2, id); ResultSet resultSet = preparedStatement.executeQuery (); if (resultSet.next ()){ modifyIt=true; preparedStatement.close (); ConnDB1.terminate();} else{ preparedStatement.close (); ConnDB1.terminate(); -36- 新疆农职院科研信息管理系统的设计与实现 何毅 //return isValid;}} catch (SQLException e){ ConnDB1.terminate(); //return gotIt;} return modifyIt;}} IProjectDB.java package project; import java.util.Collection; public interface IProjectDB { //获取项目的详细信息 public Project getProject (int id); //添加项目 public int addProject (Project projects); //删除项目 public int deleteProject (int id); //修改项目 public int modifyProject (Project projects); //项目查询列表 public Collection getProject (); //添加查重 public boolean find(String key); //修改查重 public boolean isModify(String key,int id);} Project.java package project; public class Project { private int linkId; private String linkTitle=null; private String kind = null; private String linkLevel = null; private int project_number; private String director = null; private int begin_date; private String institution = null; private int end_date; private float funding; private String source = null; private String cooperation_institution = null; private int audit_number; private String plan = null; private String content = null; public Project (int ld, String lt, String kd, String lv, int pn, String dc, int bd, String it, int ed, float fd, String su, String ci, int an, String pl, String ct) { this.linkId = ld;„„ } public int getLinkId () { return this.linkId;} public void setId(int ld) { this.linkId=ld;} „„} -37- 新疆农职院科研信息管理系统的设计与实现 何毅 ProjectDB.java package project; import java.sql.*; import java.util.*; import com.ConnDB1; public class ProjectDB extends ConnDB1 implements IProjectDB{ //Connection connection; private ArrayList projectdb; public ProjectDB ()throws Exception { } public Project getProject (int id) {„„} public int addProject(Project projects) {„„} public int deleteProject (int id) {„„} public Collection getProject () {„„} public boolean find(String key) { „„} public boolean isModify(String key,int id) { „„}} IUserDB.java package user; import java.util.Collection; public interface IUserDB { public boolean userExist(String username); public boolean isValidUser (String username, String password); public User getUser (int id); public User getUser (String username); public int addUsers (User users); public int deleteUser (int id); public int modifyUser (User users); public Collection getUser (); public boolean find(String key); public boolean isModify(String key,int id);} User.java package user; public class User { private int userid =0; private String username = null; private String rname = null; private String sex = null; private String password = null; private String email = null; private String address = null; private String datetime = null; private int tel; private String nation = null; -38- 新疆农职院科研信息管理系统的设计与实现 何毅 private String education = null; private int idCard; public User (int uid, String un, String rn, String sx,String pwd, String ema, String addr, String dt, int phone, String nt, String ed,int ic) { this.userid = uid;„„} public int getId () { return this.userid;} public String getUsername () „„} { return this.username;} UserDB.java package user; import java.sql.*; import java.util.*; import com.ConnDB1; public class UserDB extends ConnDB1 implements IUserDB{ private ArrayList user; public UserDB () throws Exception{ } public boolean userExist(String username){ „„} public boolean isValidUser (String username, String password) {boolean isValid=false;try{ ConnDB1.initialize(); // create database connection PreparedStatement preparedStatement = aConnection.prepareStatement ( "SELECT username, password FROM user WHERE username = ? and password= ?"); preparedStatement.setString (1, username); preparedStatement.setString (2, password); ResultSet resultSet = preparedStatement.executeQuery (); if (resultSet.next ()){isValid=true; preparedStatement.close (); ConnDB1.terminate(); }else{ preparedStatement.close (); ConnDB1.terminate(); //return isValid;}} catch (SQLException e) {ConnDB1.terminate(); //return isValid; } return isValid;} public boolean find(String key) { „„} public User getUser (String username) {„„} public int addUsers (User users) {„„ } public int deleteUser (int id) {„„ } public int modifyUser (User users) {„„} public Collection getUser () {„„} public boolean isModify(String key,int id) { „„}} -39- 新疆农职院科研信息管理系统的设计与实现 何毅 新疆农业职业技术学院软件技术学院毕业论文考核表 指导教师对毕业论文的评语, 指导教师, ,签名, 年 月 日 答辩小组或评阅人对毕业论文的评语及能否参加答辩的, -40-
/
本文档为【科研信息管理系统毕业设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索