研究生管理系统论文
安徽工业大学
说明书
基于Java的研究生管理系统的设计与实现
摘 要
? 自20世纪末以来,高校教育规模不断扩大,越来越多的学生能够进入? 高校研究生中深造,这就给高校的日常研究生管理带来了很大的压力。为? 如何利用软件技术为高校的日常研究生管理工作建立一套高效安全,功能?
强大的网络研究生管理平台来就显得尤为重要。 ?
本文从软件工程的角度对高校的日常研究生管理进行了认真细致的分?
? 析和梳理,力求使系统能尽量涵盖日常教学生活的每个方面,让用户能在? 系统中管理学生、老师、班级、课程、成绩、研究生培养管理、科研津贴? 以及日常管理,这样大大的减轻了用户对研究生管理的难度。在系统权限?
控制上,本系统采用了用户类型分权限的方式,将每个操作都对应到相对?
? 的类型上,大大增强了系统的安全性。在系统实现过程上,本系统采用当? 下流行的J2EE技术进行开发,运用MVC的设计模式进行系统分层的开发,装 后台使用功能强大的SQL Server数据库作为支撑,能有效提高系统运行的?
效率和系统的安全性。 ?
?
? 关键词:研究生管理系统、J2EE技术、MVC、SQL Server ? 订
?
? ?
?
? 线
?
? ?
?
?
?
?
?
?
?
?
?
?
-I-
安徽工业大学 毕业论文说明书
Abstract
Since the end of the 20th century, the scale of higher education continues to expand,
more and more students to enter post-graduate college graduate, which the university
daily Graduate School of Management has brought a lot of pressure. Graduate School of
Management how to use the software technology for the college's daily work to
establish a set of efficient and safe, and powerful network postgraduate management
platform is particularly important.
? In this paper a careful analysis and comb daily Graduate School of Management ? from the perspective of software engineering universities, and strive to enable the ? system to try to cover every aspect of daily teaching life, allowing users in the system to
students, teachers, classes, courses, the results, graduate education management, ?
? research allowance, and daily management, and thereby greatly reduce the difficulty of ? the users of the Graduate School of Management. System access control system that the ? type of user permissions, and each operation corresponds to the type, greatly enhancing ? the security of the system. In the system implementation process, the system uses the ? popular J2EE technology development using the MVC design pattern for the ? development of system stratification, the background using the powerful SQL Server ? database as a support, can effectively improve the system efficiency and system security. ?
? Keywords: graduate management system, J2EE technology, MVC, SQL Server
装
?
?
?
?
?
订
?
?
?
?
?
线
?
?
?
?
?
?
?
?
? -I-
?
?
?
?
安徽工业大学 毕业论文说明书
目 录
第一章 绪 论 ............................................................... 1
1.1 研究背景 ................................................................................................................................... 1
1.2 教务管理系统的发展与现状 ..................................................................................................... 1
1.3 本文研究的主要内容................................................................................................................. 2
1.4 论文结构 ................................................................................................................................... 3
第二章 JAVA技术介绍........................................................ 5
2.1 Java ....................................................................................................................................... 5 ?
2.2 JSP技术 ............................................................................................................................... 6 ?
2.3 Servlet技术 ........................................................................................................................... 7 ?
2.4 Ajax技术 .............................................................................................................................. 8 ?
教务管理系统的设计 .................................................. 9 第三章 ?
3.1 研究生管理系统概述................................................................................................................. 9 ?
3.2 系统需求分析 ............................................................................................................................ 9 ?
3.3 系统功能设计图 ...................................................................................................................... 11 ?
3.4 研究生管理系统的相关数据表 ............................................................................................... 11 ?
第四章 研究生管理系统的实现 ............................................... 16 ?
4.1 系统开发运行环境和工具 ........................................................................................................ 16 ?
4.1.1 前台开发工具 .................................................................................................................. 16 ?
4.1.2 后台数据库 ...................................................................................................................... 17 ?
4.1.3 系统运行服务器 .............................................................................................................. 17 装
4.1.4 系统环境和工具版本 ......................................................................................................... 18 ?
4.2 系统主要功能的实现 ................................................................................................................ 18 ?
4.2.1数据库连接 ......................................................................................................................... 18 ?
4.2.2年级管理 ............................................................................................................................. 19 ?
4.2.3. 班级管理 ........................................................................................................................... 20 ?
4.2.4 课程管理 ............................................................................................................................ 21 订
4.2.5 学生管理 ............................................................................................................................ 22 ?
4.2.6 教师管理 ............................................................................................................................ 24 ?
4.2.7 修改密码 ............................................................................................................................ 25 ?
4.2.8成绩管理 ............................................................................................................................. 26 ?
4.2.9培养管理 ............................................................................................................................. 27 ?
4.2.10科研津贴管理 ................................................................................................................... 29 线
4.2.11 日常管理 .......................................................................................................................... 30 ?
第5章 总结与展望 ......................................................... 32 ?
5.1总结 ........................................................................................................................................... 32 ?
5.2展望 ........................................................................................................................................... 32 ?
致 谢 .................................................................... 34 ?
参考文献 .................................................................. 35 ?
?
?
? -I-
?
?
?
?
安徽工业大学 毕业论文说明书
第一章 绪 论
1.1 研究背景 ?
二十一世纪是国家与国家的竞争,国家要想进入强国之列就必?
? 须正视本国人才的培养。为国家,为社会培养人才是高校的主要任
? 务之一,而研究生的培养是高校培养高层次的最基本、最重要的手? 段,因此研究生管理工作在高校各项工作中占有重要地位。 ?
自21世纪以来,高校积极响应教育部的教育振兴
,扩大学?
? 生入学率提高国民的教育素质,在短短的10年间,高校的教育规模? 发生了历史性的变化,伴随着高校扩招的同时,高校对教务信息的?
管理也提出了更高的要求,对教务处的管理由原先的校级管理分散?
? 为院级管理,更多的要求用好教务信息,充分的发掘教务的有效资
? 源,达到教务管理的信息化,高效化,共享化的目的。 装
?
?
? 1.2 教务管理系统的发展与现状 ?
? 在高校的日常管理工作中,研究生管理无疑是核心工作、重中订
? 之重。 ?
? 研究生管理系统的发展 ?
在信息技术发展还不成熟的时期,学校的研究生管理主要是依?
线 靠传统的纸质记录,学校需要腾出专门的人力和物力对研究生信息?
? 进行分类储存。研究生信息没有完全科学化,规范化,教育信息处
?
理比较缓慢,高校管理者不能得到教育信息的有效反馈,不能适时?
? 指导教育方针,影响教育质量。随着信息技术慢慢普及,学校仍然?
? 使用着较为老式的教务处系统管理研究生。 ?
? 在面对教学规模的不断扩大,学校教务管理部门和院系级的管
?
理部门之间的文档和数据交换相当频繁。传统的手工教务管理和简?
? 单的计算机辅助办公已经无法满足教务管理人员的需求,如果单纯?
依靠以往的纸质传输数据则容易导致数据传输过程耗费一定的时
间。
-1-
安徽工业大学 毕业论文说明书
近年来随着国家对教育行业的重视,各个学院开始探索并建立
起一套符合自身要求的研究生管理系统,在不断的尝试后,研究生
管理系统日趋成熟,增强高校内部研究生信息共享的能力,促进高
校教学管理的效率,大大提升高校教务管理的水平,极大的方便了
? 教师和学生及时查看教学信息。利用网络技术,实现教师和学生不?
? 管在什么时候,什么地点都能实时的参与到研究生管理活动中。
? 研究生管理系统的现状 ?
? 目前研究生管理系统结构主要分为单机版和网络版(C/S,B/S)两种模?
? 式,其开发方式主要分为自行开发,引进开发或委托开发。从系统的特点
?
上来开,当前的研究生管理系统主要存在如下几个问题: ?
? 1.个性化特点突出。不同的院校教务管理系统侧重点不同,导致不同?
? 的研究生管理模块不能相互移植。
装
2.时效性不强。随着研究生管理要求的不断提高,对研究生管理软件?
? 的要求也不断的提高,每年都会有不同的需求被加到教务管理系统中。 ?
? 3.对系统安全性和稳定性要求提高。随着高校研究生人数和信息的增?
订 加,日益增加的数据库和网络化管理对数据的安全性和系统稳定性要求越
?
来越高。 ?
? 4.学院对其研究生管理效率要求提高。新系统和老系统之间的差异较?
? 为突出,导致教师在管理过程中频繁在两个系统间使用,浪费过多的精力。 线
?
1.3 本文研究的主要内容 ?
?
本文主要研究的内容是高校日常研究生的管理。通过对高校日常?
? 研究生管理事务的研究去开发一套完成学生在校期间的学习活动主?
? 要信息的管理和相关的教务信息管理,教务管理系统内容包括学生 ?
? 的基本信息,班级课程信息,成绩管理,培养管理,科研津贴管理,
?
日常管理等功能。 ?
? 按功能菜单可分为如下几块: ?
1(基础管理;包括年级管理、班级管理、课程管理、学生管理、
教师管理和修改密码等。
-2-
安徽工业大学 毕业论文说明书
2(成绩管理:主要用户学生在本系统中新增自己的成绩信息,
老师和管理员能在系统中查看学生的成绩信息等等;
3(培养管理:主要用于管理研究生的论文答辩等一系列培养管
理的功能;
? 4(科研津贴管理:主要用于管理学生在科研活动中对津贴和论?
? 文的支取和发布情况的记录;
? 5(日常管理:主要用于记录学生在校是否注册、离校和请假信?
? 息的功能。 ?
? 在达到软件要求功能的基础上,系统最终力争达到如下的设计目
?
标: ?
? (1) 系统可运行在Internet环境下,采用B,S模式设计; ?
? (2) 功能完备、界面友好、操作方便、可维护性强、可扩展性强;
装
(3) 采用JSP技术开发; ?
? (4) 具有较好的安全保密性,使不同的操作人员具有不同的权?
? 限; ?
订 (5) 程序编制规范,操作向导细致完备; ?
?
1.4 论文结构 ?
? 本文共分五章,具体的内容安排组织如下: ?
线 第一章:绪论。简略介绍项目的研究背景、教务管理系统的发?
? 展与研究现状和本文的研究内容。
?
第二章:Java技术介绍。本章先讲述Java技术的基本概念,主?
? 要涉及Java的历史及分类,JSP 技术,Servlet技术,Ajax对象映射?
? 技术等。 ?
? 第三章:研究生管理系统的设计。系统设计进行了高校日常研?
究生管理业务需求分析,提出了研究生管理系统的基于Java技术的?
? 总体设计
。方案集成了JSP+Servlet+Ajax等框架技术。另外,?
本章还介绍了系统的功能设计和数据库设计情况。
第四章:研究生管理系统的实现。本章选取了系统比较重要的
-3-
安徽工业大学 毕业论文说明书
几个功能进行说明,并结合图片进代码对功能实现进行直观的展示。
第五章:总结与展望。对本文进行总结,并就系统存在的问题
展望下一步的工作目标。
? ? ? ? ? ? ? ? ? ? ? ? ? 装 ? ? ? ? ? 订 ? ? ? ? ? 线 ? ? ? ? ? ? ? ? ? ? ? ? ?
-4-
安徽工业大学 毕业论文说明书
第二章 Java技术介绍
2.1 Java
Java,是由Sun Microsystems公司于1995年5月推出的Java程序设计
语言和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)
显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广?
泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。 ?
? Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口?
? (Application Programming Interface、简称API)构成。Java 应用编程接口?
为Java应用提供了一个独立于操作系统的
接口,可分为基本部分和扩?
? 展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序?
? 就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序?
可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x?
? 版发展到1.2版。目前常用的Java平台基于Java1.5,最近版本为Java1.7。 装
? Java分为三个体系JavaSE(Java2 Platform Standard Edition,java平台标?
? 准版),JavaEE(Java 2 Platform,Enterprise Edition,java平台企业版),?
JavaME(Java 2 Platform Micro Edition,java平台微型版)。 ?
订 * Java SE(Java Platform,Standard Edition)。Java SE 以前称为 J2SE。?
? 它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java ?
? 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java ? Platform,Enterprise Edition(Java EE)提供基础。 线
? * Java EE(Java Platform,Enterprise Edition)。这个版本以前称为 J2EE。?
? 企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应?
用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件?
? 模型、管理和通信 API,可以用来实现企业级的面向服务体系结构?
? (service-oriented architecture,SOA)和 Web 2.0 应用程序。 ?
* Java ME(Java Platform,Micro Edition)。这个版本以前称为 J2ME。
-5-
安徽工业大学 毕业论文说明书
Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印
机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用
户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网
和离线应用程序的丰富支持。基于 Java ME 规范的应用程序只需编写一次,
就可以用于许多设备,而且可以利用每个设备的本机功能。
2.2 JSP技术
JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与?
? 一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传?
? 统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记? (tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,既?
? 能在Linux下运行,也能在其他操作系统上运行。 ?
? JSP技术优势:
?
1.一次编写到处运行。在这一点上Java比PHP更出色,除了系统之外,?
? 代码不用做任何修改。 ?
装 2.系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在?
? 任意环境中部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见? 的。 ?
? 3.强大的可伸缩性。从只有一个小的Jar文件就可以运行JSP/Servlet,订
? 到由多台服务器进行集群和负载均衡,到多台Application进行事务处理、?
消息处理,一台服务器到多台服务器,Java显示了一个巨大的生命力。 ?
? 4.多样化和功能强大的开发工具支持。这一点和ASP很像。Java已经有?
线 许多非常优秀的开发工具,而且许多都是免费得到,并且其中有许多已经可?
? 以顺利地运行于多种平台之下。
?
JSP技术的基础是Java Servlet,JSP具备了Java技术的简单易用、完全?
? 面向对象、具有平台无关性且安全可靠、主要面向Internet的所有优点。这?
? 也是我们采用JSP技术的原因。
?
JSP运作模式: ?
JSP作为J2EE的一部分,既可以用于开发小型的Web站点、也可以用
-6-
安徽工业大学 毕业论文说明书
于开发大型的、企业级的应用程序,直接使用JSP对于最小型的We b站点,
可以直接使用JSP来构建动态网页,这种站点最为简单,所需要的仅仅是简
单的留言板、动态日期等基本的功能。对于这种开发模式,一般可以将所有
的动态处理部分都放置在JSP的Scriptlet中,就像一般使用PHP或ASP开
发动态网页一样。
请求 调用 请求
web JSP容器? 浏览器 服务器 tomcat ? 数据库 ?
? ?
?
?
回传 回传 回传 ?
? 图2.2.1 jsp运行模式图 ?
?
2.3 Servlet技术 ?
? Servlet是一种应用于服务器端的Java应用程序,它具有独立于平台和装
? 协议的特性,开发者可以使用Servlet在客户端生成动态的Web页面。Servlet?
? 充当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP?
服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内?
订 部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不?
? 同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet?
? 的Java虚拟机。
? Servlet是使用Java Servlet 应用程序设计接口(API)及相关类和方法线
? 的 Java 程序。除了基本的Java Servlet接口,Servlet还可以自行添加以下?
? 额外的接口到Servlet的包中。Servlet 能在启用WEB 服务器的时候通过增?
加Servlet的接口去增强WEB服务器的处理能力。对开发者而言Servlet 是?
? 一个基于Java语言编写起来的一个服务器应用程序,它与JSP同时运行在?
? WEB容器上,但对JAVA容器来说,它其实和JSP类似,因为最终的JSP?
也要被WEB 容器翻译成Servlet,然后再进行编译。通过Servlet我们可完成
-7-
安徽工业大学 毕业论文说明书
如下功能:
(1) 创建并返回一个回应客户端请求的HTML代码。
(2) 可创建插入到JSP页面中的程序片段。
(3) 可与其他应用服务器甚至数据库服务器进行数据通信。
(4) 可用于多个客户端处理的连接,接受多个客户端的信息并广播返
回。
(5) 允许单链接传送数据的情况下通过客户端的Applet与客户端进行
? 数据通信。
?
(6) 对特殊请求采用mine的数据处理,例如图片,文件的上传。 ?
?
? 2.4 Ajax技术 ?
? Ajax即“Asynchronous JavaScript and XML” (异步JavaScript和XML),?
? ajax并不是一种新的网页编程技术,而是一种创建更好交互效果的互联网应?
用程序技术。Ajax的核心是javascript和xmphttprequest,这两种都是早已存?
? 在多年的技术。 ?
装 Ajax技术在上世纪八十年开始应用,允许客户端发送http请求到后台。?
? 到了本世纪初,随着许多事件的接口被大家多接受,于是ajax的应用技术越? 来越被大家所使用。Ajax的应用前景非常乐观,可以大大的提高系统的性能,?
? 优化用户的界面体验。 订
? 1. Ajax可以直接与后台进行http通讯,使得页面可以花更小的流量从?
服务器请求数,而不是重新请求整个页面。 ?
? 2.通过使用ajax技术的页面,用户可以实现无刷新的体验效果,不必再?
线 向从前一样一次请求往往要等待整个页面的信息返回才能操作。 ?
? 3.通过javascript的客户端技术,开发者可以实现类型富客户端的效果,?
能让用户在网页上体验到客户机的感受。 ?
? ?
?
? ?
-8-
安徽工业大学 毕业论文说明书
第三章 教务管理系统的设计
3.1 研究生管理系统概述
?
研究生管理系统是为了适应当代高校研究生教育教学的要求开发的一?
? 套系统,因近年来高校研究生招生规模的不断扩大,研究生在校人数的不断?
? 增加,给教学管理带来很很大的压力,因此在开发的过程中注意高校信息的?
整合,提升教学管理的效率,同时为了适应不断发展的教育教学要求,本系?
? 统在设计上应本着系统优化,易于扩展的原则,采用Java语言编写,运用?
? 流行的J2EE技术开发进行开发。底层架构借鉴成熟的商业架构,在系统资?
? 源安全性上采用登录验证技术对系统资源进行保护,强制用户需要登录系统?
方能操作系统,在操作安全性上采用”用户类型-权限”方式,将每个操作对装
? 应到用户类型上 ?
? 在用户功能方面,本系统将系统分为五个模块:一、基础管理。此模块?
? 主要是设置一些基础的功能,例如年级管理、班级管理、学生管理、老师管订 理等等;二、成绩管理。此模块主要是用于学生设置自己的研究生成绩的地?
? 方,老师也可以在此处查看学生的成绩。三、培养管理。此模块主要是用于?
? 管理学生论文答辩和证书获取的一系列数据。四、科研津贴。此模块主要是?
用于记录每个学生在研究生期间的津贴支取和论文发表数据。五、日常管理.线
? 此模块主要是记录学生注册和离校,请假等信息的功能等等。 ?
? 在浏览方式上,本系统采用B/S结构,用户只要一个浏览器即可实现研?
? 究生管理系统的登录和操作,更新系统时,管理员只要更新一台服务器即可?
实现整个系统的更新,大大减轻了系统维护的工作量。 ?
? ?
3.2 系统需求分析
研究生管理系统是为学校提供一个方便有效的管理平台,提高管理效
-9-
安徽工业大学 毕业论文说明书
率,降低管理风险,他需要涵盖高效日常的研究生管理工作和整合高校的基
础信息,实现整个研究生信息的共享和高效性。因此研究生管理系统应该完
成如下功能:
?基础管理:该模块的功能包括年级管理、班级管理、学生管理、课程
? 管理、老师管理以及修改个人密码等等,用于新增年级,班级,学生,课程,?
? 还有老师。
? ?成绩管理:该模块功能主要是提供给学生使用,学生可以系统中新增?
? 自己的成绩信息,老师和管理员可以在此功能上查看学生的成绩。 ?
? ?培养管理:该模块需要记录学生从论文开题到论文答辩完成以及学位
?
证书的领取信息等等。 ?
? ?科研津贴管理:该模块主要是用于记录学生在校期间科研津贴的领域?
? 和论文的发表使用的资金。
装
?日常管理:该模块主要是用于记录学生在校期间的注册、离校和请假?
? 信息等记录。 ?
? ?
订
?
?
?
?
?
线
?
?
?
?
?
?
?
?
?
-10-
安徽工业大学 毕业论文说明书
3.3 系统功能设计图
?
?
?
?
?
?
?
?
?
?
?
?
?
装
?
?
?
?
?
订
?
?
?
?
?
线 图3.3.1 系统功能设计图
? ?
?
? 3.4 研究生管理系统的相关数据表 ?
? 一个系统数据库的设计好与坏是很重要的,它直接关系到系统的好坏。
?
一个数据库的设计必须遵守实体完整性和参照完整性原则,考虑性能等因?
? 素,此数据库的设计还遵守了用户定义完整性原则。
表3.4.1 用户表
序号 字段 数据类型 是否为空 说明
1 id 否 int 主键ID
-11-
安徽工业大学 毕业论文说明书
2 yonghu varchar 登录账号
3 pwd varchar 密码
4 userType int 类型
? ?
? 表3.4.2培养表 ? 字段 数据类型 是否为空 说明 序号 ?
? 1 id 否 int 主键ID ?
2 openingname ? varchar 开题名称 ? 3 openingtime varchar 开题时间 ?
? 4 openingsquad varchar 开题小组 ?
? 5 openingopinion varchar 意见 装
6 firstpleaname ? varchar 预答辩题目 ? 7 firstpleatime varchar 预答辩时间 ?
? 8 firstpleasquad varchar 预答辩小组 ?
订 9 fopeningopinion varchar 预答辩意见 ?
10 pleaname ? varchar 答辩题目 ? 11 pleatime ? varchar 答辩时间 ? 12 pleasquad varchar 答辩小组 线
? 13 plearesult varchar 答辩结果 ?
14 popeningopinion ? varchar 答辩意见 ? 15 degreecertnum ? varchar 学位证书号 ? 16 receivetime varchar 获取时间 ?
? 17 userId int 记录人ID ?
表3.4.3 学生表
序号 字段 数据类型 是否为空 说明
1 id 否 bigint 主键ID
-12-
安徽工业大学 毕业论文说明书
2 name varchar 名称
3 sex varchar 性别
4 idcard varchar 身份证号
5 gschool varchar 毕业学校
? 6 gdate varchar 毕业时间 ?
7 gsubject ? varchar 毕业专业 ? 8 gteacher varchar 老师 ?
? 9 phone varchar 电话 ?
10 email ? varchar 邮箱 ? 11 qq ? varchar QQ ? 12 company varchar 就业单位 ?
? 13 stype int 学生类型 装
14 classId ? int 班级ID ?
15 pwd ? varchar 密码 ? 16 enterScore int 入学分数 ?
订 17 sno varchar 学号 ?
? 18 gradeId int 年级ID ?
?
?
线
? 表3.4.4 成绩表 ?
? 序号 字段 数据类型 是否为空 说明 ? 1 id 否 ? int 主键ID ? 2 term 否 bigint 学期 ?
? 3 courseId varchar 课程ID ?
4 userId varchar 学生ID
5 score varchar 分数
6 credit varchar 学分
-13-
安徽工业大学 毕业论文说明书
表3.4.5 科研津贴表 字段 数据类型 是否为空 说明 序号
1 id int 主键ID
2 kamountpaid int 津贴支取金额 3 kpaidtime ? varchar 津贴支取时间 ? 4 lamountpaid int 论文支取金额 ?
? 5 lpaidtime varchar 论文发表时间 ?
6 userId ? varchar 学生ID ?
?
? 表3.4.6 年级表 ?
? 序号 字段 数据类型 是否为空 说明 ? 1 id 否 ? int 主键ID 装 2 name varchar 名称 ?
? 3 remarks varchar 备注 ?
? ?
订 表3.4.7 日常管理表 ? 序号 字段 数据类型 是否为空 说明 ?
? 1 id 否 int 主键ID ?
2 comeregist ? int 是否注册 线 3 leaveregist ? int 是否离校 ? 4 afleave varchar 请假列表 ?
? 5 userId int 学生ID ?
6 term ? int 学期 ?
?
?
表3.4.8 课程表
序号 字段 数据类型 是否为空 说明
1 id int 主键ID
-14-
安徽工业大学 毕业论文说明书
2 cno varchar 课程号
3 name varchar 课程名
credit int 学分
coursech int 是否学位课
? term int 学期 ?
? ?
表3.4.9班级表 ?
? 序号 字段 数据类型 是否为空 说明
?
1 id 否 ? bigint 主键ID
? 2 name varchar ? 班名
? 3 gradeId varchar 年级ID ?
? 4 remarks int 备注 装
? ?
?
?
?
订
?
?
?
?
?
线
?
?
?
?
?
?
?
?
?
-15-
安徽工业大学 毕业论文说明书
第四章 研究生管理系统的实现
4.1 系统开发运行环境和工具
?
开发工具的选择是基于题目的需要,和开发工具的特点来选用的。前端?
? 开发工具选用Eclipse,操作系统是Windows 7,后台数据库选用SQL Server ? 2008 。以下几节将对它们的特点做以下介绍。 ?
?
4.1.1 前台开发工具 ?
?
本系统使用Eclipse为开发平台,为软件开发者提供了很多方便。Eclipse ?
? 平台是IBM向开发源社区捐赠的开发框架,是一个JAVA开发环境,可以帮? 助软件开发者。 ?
Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开?
装 发提供一个全功能的、具有商业品质的工业平台。它由Eclipse项目、Eclipse?
工具项目和Eclipse技术项目三个项目组成,每一个项目由一个项目管理委?
? 员会监督,并由它的项目章程管理。每一个项目由其自身的子项目组成,并? 且使用 Common Public License(CPL)版本1.0许可协议。 ?
Eclipse工具项目为不同的工具建造者提供一个焦点,以保证为Eclipse 订
? Platform创建最好的工具。Eclipse工具项目的任务是为Eclipse Platform培?
育广泛的工具的创建。工具项目提供单一的联系点以调和开放源代码工具建?
? 造者,从而使得覆盖和重复最小化,并保证共享的最大化和共同组件的创建,? 促进不同类型工具的无缝互操作。工具项目由工具开发者委员会和工具项目线
的项目管理委员会提议、选择和开发的子项目组成。 ?
? Eclipse技术项目的任务是为开放源代码开发者、研究者、学院和教育者? 提供新的管道,以参与将来Eclipse的演化。它按照研究、培育和教育三个?
? 项目流来组织,研究项目在Eclipse相关领域诸如编程语言、工具和开发环? 境方面进行探索和研究;培育项目是小型的、未正式结构化的项目,为Eclipse?
软件基础添加新的能力;教育项目聚焦于教育材料的开发、教学帮助和
。 ?
? Eclipse Platform是一个开放的可扩展的IDE。Eclipse Platform提供建造
块和构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者
独立开发与他人工具无缝集成的工具,你无须分辨一个工具功能在哪里结
束,而另一个工具功能在哪里开始。
-16-
安徽工业大学 毕业论文说明书
4.1.2 后台数据库
SQL Server 2008使用了最先进的数据库结构,与Windows DNA紧密集
成,具有强大的Web功能,它可以利用高端硬件平台以及最新网络和存储
技术,可以为最大的Web站点和企业应用提供优良的扩展和可靠性,使用?
户能够在Internet领域快速建立服务系统,为占领市场赢得宝贵的时间。同?
? 时SQL Server 2008还为用户提供了重要的安全性功能的增强,为用户的数?
? 据安全提供了可靠的保证。SQL Server 2008的特性使他更加适应当今数据?
存储和管理的需求,主要表现在以下几个方面: ?
? , 与Internet的高度集成; ?
? , 高伸缩性和适应性; ?
? , 企业级数据库功能强;
?
, 易于安装和使用; 装
? 具有决策支持的资料仓库。 ?
?
4.1.3 系统运行服务器 ?
?
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 订
? 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发? 而成。因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服?
务等开发应用系统常用的功能;而且它还在不断的 改进和完善中,任何一?
? 个感兴趣的程序员都可以更改它或在其中加入新的功能。 线 Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是?
? 很多的场合下被普遍使用,是开发和调试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.11 Released 。
-17-
安徽工业大学 毕业论文说明书
4.1.4 系统环境和工具版本
下面我们列出系统开发和运行所使用的具体的环境配置和工具版本情
况。
4.1.4.1表系统开发与运行环境及工具配置 ? 名称 版本 ? 操作系统 Windows 7 ? JDK JDK ? 应用(WEB)服务器 Tomcat7.0 ? 数据库管理系统 MS SQLServer2008 ?
集成开发环境 Eclipse ?
?
?
?
? 4.2 系统主要功能的实现 ?
?
装 4.2.1数据库连接 ?
? 根据java sqlserver驱动,为数据库写了数据库DBO,实现数据库连接,部
? 分代码如下:
? public class DBO {
? private Connection conn = null; 订 private Statement stmt = null; ? private ResultSet rs = null; ?
private PreparedStatement psmt=null; ?
?
? public DBO()
线 {
? try ? { ? Class.forName("net.sourceforge.jtds.jdbc.Driver"); ?
conn = ?
DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:1433;data?
? basename=postgraduate","sa","123456");//管理员账户:“sa”密码:“123456”
? stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
? ResultSet.CONCUR_UPDATABLE);
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
-18-
安徽工业大学 毕业论文说明书
4.2.2年级管理
年级管理是系统中最顶层的数据,所有班级和学生都归该年级,所以我
们需要先新增年级。年级管理主要提供年级的新增,修改,删除和列表的功
能。如下图4.2.2.1所示:
?
?
?
?
? ? 图4.2.2.1 年级管理列表
? 当用户点击“新增”的时候,系统会自动跳转到新增年级的界面,如下图? 4.2.1.2所示: ?
?
?
?
?
装 ? 图4.2.2.2 新增年级 ? 以下是部分年级管理的实现代码: ? public Pager getList(String str,Integer start,Integer pageSize){ ?
Pager pager = new Pager(start,pageSize); ?
String sql1 ="select count(*) from grade g where 1=1 "+str+""; 订
? String sql2 ="select * from grade g where 1=1 "+str+" order by g.id
? desc ";
? List list = new ArrayList(); ? try{ ? 线
ResultSet rs = dao.getStatement().executeQuery(sql1); ?
if(rs.next()){ ?
? pager.setTotalCount(rs.getInt(1)); ? if(pager.getTotalCount()>0){ ? ? dao.getStatement().setFetchSize(pageSize); ? dao.getStatement().setMaxRows(start+pageSize); ?
rs = dao.getStatement().executeQuery(sql2); ?
rs.absolute(start==0?1:start);
User s = null;
for(int i=0;i
"; 线 if("".equals(pwd))msg = msg +"请输入新密码!"; ?
if("".equals(msg)){ ?
p = (User)session.getAttribute("User"); ?
? int t=0;
? if(p.getUserType()==3){ ? t = ? ps.checkSPwd(p.getId().toString(),pwds.trim(),pwd.trim()); ? }else{ ?
t =
ps.checkPwd(p.getId().toString(),pwds.trim(),pwd.trim());
}
p.setWpd("");
if(t>0){
msg = "修改密码成功!";
-25-
安徽工业大学 毕业论文说明书
}else{
msg = "修改密码失败!"; }
}
4.2.8成绩管理
? 成绩查询功能主要是提供给学生新增自己学习成绩的地方,在此功能中管?
? 学生只能添加自己的成绩,老师则可以查看任意学生成绩,如下图是成绩管
? 理的列表界面: ?
?
?
?
?
?
? ?
? 图4.2.8.1 成绩管理列表页面 装
以下是新增学生成绩的界面: ?
?
?
?
?
订
?
?
?
?
? 线
图4.2.8.2 新增学生成绩界面 ?
? 以下是部分成绩管理的实现代码: ?
? public void doPost(HttpServletRequest request, HttpServletResponse
? response)
? throws ServletException, IOException { ? String call = request.getParameter("call"); ? if(request.getSession().getAttribute("User")!=null){ ?
if("list".equals(call)){
getList(request,response);
}else if("list2".equals(call)){
getList2(request,response);
}else if("del".equals(call)){
del(request,response);
-26-
安徽工业大学 毕业论文说明书
}else if("edit".equals(call)){
edit(request,response);
}else if("toEdit".equals(call)){ toEdit(request,response); }
}else{
response.sendRedirect("index.jsp"); ?
? }
? }
?
? public void toEdit(HttpServletRequest request, HttpServletResponse ? response)throws ServletException, IOException { ? String id = Tools.decode(request.getParameter("id")); ?
us = new ScoreService(); ?
Scores d; ?
? if(!"".equals(Tools.killNull(id))){ ? d = us.get(id);
? }else{ 装 d = new Scores(); ? } ?
GradeService g = new GradeService(); ?
request.setAttribute("List", g.getAll()); ?
? request.setAttribute("Object", d); 订 RequestDispatcher ? requestDispatcher=request.getRequestDispatcher("editscore.jsp"); ? requestDispatcher.forward(request,response); ?
? }
?
线 4.2.9培养管理
? 培养管理主要用户记录学生从开题答辩到学位申请的一系列数据填充过?
? 程,在成绩管理中管理员可以给任意的学生添加培养记录,而老师只能填写?
? 培养过程中的意见,学生除了意见和学位申请之后都可以填写。如下是培养
?
管理的列表界面。 ?
?
?
图4.2.9.1 培养管理列表
-27-
安徽工业大学 毕业论文说明书
当学生点击培养管的时候,学生是看不到培养管理列表的,每个学生只能看
到自己的培养记录,如下图:
?
?
?
?
? ?
图4.2.9.2学生培养记录界面 ?
? 以下是部分培养管理的实现代码: ?
public void getList(HttpServletRequest request, HttpServletResponse ?
? response)throws ServletException, IOException { ? String start =
? Tools.notEmpty(request.getParameter("start"))?Tools.killNull(request.g装 etParameter("start")):"0"; ? String pageSize = ?
Tools.notEmpty(request.getParameter("pageSize"))?Tools.killNull(reques?
t.getParameter("pageSize")):"13"; ?
? String gradeId = Tools.getValue(request, "gradeId"); 订 String classId = Tools.getValue(request, "classId"); ? String str=""; ? if(Tools.notEmpty(gradeId))str = " and s.gradeId="+gradeId; ?
if(Tools.notEmpty(classId))str = " and s.classId="+classId; ?
StudentService ss = new StudentService(); ?
线 Pager pager = ss.getList(str,Integer.valueOf(start), ? Integer.valueOf(pageSize));
? request.setAttribute("Pager", pager); ? GradeService g = new GradeService(); ? request.setAttribute("List", g.getAll()); ?
request.setAttribute("gradeId", gradeId); ?
request.setAttribute("classId", classId); ?
? RequestDispatcher
? requestDispatcher=request.getRequestDispatcher("trainlist.jsp");
requestDispatcher.forward(request,response);
}
public void del(HttpServletRequest request, HttpServletResponse
response)throws ServletException, IOException {
-28-
安徽工业大学 毕业论文说明书
String id = request.getParameter("id");
us = new TrainService();
us.del(id); response.getWriter().print("1");
}
? 4.2.10科研津贴管理
? 科研津贴管理主要是用于记录每个学生的科研记录信息。每个学生只能记?
? 录一次自己的科研记录。如下图是科研津贴的列表界面: ?
?
?
?
?
?
? ? 图4.2.10.1 科研津贴管理列表界面 ?
装 以下是新增科研津贴的列表界面: ?
?
?
?
?
订
?
?
图4.2.10.2新增科研津贴界面 ?
? 以下是部分科研津贴的实现代码: ?
线 PreparedStatement psmt;
? public ScientificService(){
? dao = new DBO(); ? } ? ?
public void edit(Scientific u){ ?
try{ ?
? String sql = "update scientific set ? kamountpaid=?,kpaidtime=?,lamountpaid=?,lpaidtime=?,userId=? where
id=?";
psmt = dao.getPreparedStatement(sql);
int j=1;
psmt.setInt(j++,u.getKamountpaid());
psmt.setString(j++, u.getKpaidtime());
psmt.setInt(j++, u.getLamountpaid());
-29-
安徽工业大学 毕业论文说明书
psmt.setString(j++, u.getLpaidtime());
psmt.setInt(j++, u.getUserId());
psmt.setInt(j++, u.getId()); psmt.executeUpdate(); }catch(Exception e){
dao.close();
e.printStackTrace(); ?
? } ? } ?
? 4.2.11 日常管理 ?
日常管理主要是用于记录学生每学期是否准时注册和离校以及请假的记?
? 录信息。日常管理主要是提供给管理员和老师用户的,学生在此功能中值有?
? 查看的权限,如下图: ?
?
?
装
?
?
? ?
图4.2.11.1 日常管理列表界面 ?
订 以下是新增日常管理的界面: ?
?
?
?
?
线
?
?
?
?
?
?
?
?
?
图 4.2.11.2 新增日常管理界面
在此系统中主要是填写6个学期的记录信息。填写完成后学生就可以通过学
生的账号进入系统去查看信息。如下是部分实现此功能的代码:
public List getAll(String userId){
-30-
安徽工业大学 毕业论文说明书
List list = new ArrayList();
try{
ResultSet rs = dao.getStatement().executeQuery("select * from dailys "+(Tools.notEmpty(userId)?("where userId="+userId):"")); while(rs.next()){
list.add(getResult(rs));
} ?
? }catch(Exception e){
? dao.close();
? e.printStackTrace();
? } ? return list; ? } ?
?
public Daily getResult(ResultSet rs){ ?
? Daily r = new Daily();
? try{r.setId(rs.getInt("id"));}catch(Exception e){} ? try{r.setAfleave(rs.getString("afleave"));}catch(Exception e){} 装 try{r.setComeregist(rs.getInt("comeregist"));}catch(Exception ? e){} ?
try{r.setLeaveregist(rs.getInt("leaveregist"));}catch(Exception ?
e){} ?
?
订 try{r.setStudentName(rs.getString("studentName"));}catch(Exception ? e){} ? try{r.setUserId(rs.getInt("userId"));}catch(Exception e){} ?
try{r.setTerm(rs.getInt("term"));}catch(Exception e){} ?
return r; ?
线 } ?
?
?
?
?
?
?
?
?
-31-
安徽工业大学 毕业论文说明书
第5章 总结与展望
5.1总结
?
经过二个月的艰苦努力,研究生管理系统的开发圆满完成。回想这段日?
? 子,是在充满压力,面对许多困难中挺过来的。首先,本系统采用J2EE平? 台里的JSP技术、JAVASCRIPT脚本语言、HTML标识语言及SQL SERVER ?
2008数据库技术综合开发出来的教务管理平台。虽然对这些技术有一定的?
? 掌握,但是对整个业务流程的了解以及功能模块的划分还是模糊。后来查阅?
了不少书籍,请教了不少老师和同学,在了解系统流程和划分模块上节约了?
? 不少的时间。其次,开发研究生管理系统首先要熟练运用JSP技术进行Web? 应用程序开发。如Web控件的应用,Servlet技术的应用,SQL语句的综合?
应用和Ajax技术应用等等实用并且常用的知识。虽然在设计当中遇到了种?
装 种坎坷,但也力求自己独立解决问题,其间也少不了查阅资料。经过这次毕? 业设计后,了解了一个教务系统的总体流程,但是该设计尚存有不足之处。?
? 总的来说该设计已经具备了一个Web研究生管理系统的雏形,经过本次毕? 业设计,不仅培养了自己不怕苦不怕难,勇往直前的精神,而且也提高了自?
己的自学能力和解决问题的能力,丰富了自己的专业知识及专业技能的锻订
? 炼。 ? ?
?
? 5.2展望
线
作为一个真正的研究生管理系统应用,仍然有一些其它因素需要考虑。?
? 其中一个很重要的因素就是稳定性和安全性,还必须更多的考虑与数据库的? 连接技术,缓存技术等。下边是关于本系统的一些后续完善的初步设想: ?
? (1).用户体验需要增强。在信息发展的今天,软件的使用已经不仅仅? 停留在数据的输入输出上,每次数据提交或读取过程中空白的页面会让用户?
感觉系统僵化没有新意。在web2.0大行其道的今天,我们应该多注重用户?
? 界面的体验效果,减少用户面对空白页的可能。
(2)系统需要进一步细化。因为设计时间有限,系统仅仅停留在初步使
用的阶段,很多功能仅能满足用户初步的要求。作为一个成熟的软件,在功
能应进一步的细化,考虑到位。
(3).界面美工不足。因为本人美工基础有限,所以基本上页面的效果
-32-
安徽工业大学 毕业论文说明书
比较单一。作为一个让用户喜欢系统,除了功能强大外还应该有漂亮的外观,
这样用户在使用上会觉得舒适不少。
(4).使用页面缓存以及数据缓存技术。减少因数据请求给服务器和数
据库带来的请求压力,提升服务器稳定性。
?
? ? ? ? ? ? ?
?
?
? ? ? 装 ? ?
?
?
? 订 ? ? ? ?
?
线
? ? ? ? ? ?
?
?
?
-33-
安徽工业大学 毕业论文说明书
致 谢
?
? ? 在这里首先感谢指导老师,感谢秦锋老师在整个毕业设计过程中的悉心?
指导和大力支持,在系统分析、设计、编程、撰写文档以及进度安排等细节?
? 工作上给予了耐心的指导和细心的帮助。再感谢教务处的赵辉老师,感谢赵
? 辉老师在整个毕业设计过程中的细心指导以及对系统设计提出的建议。此?
外,对朱真金同学的大力支持和全面辅导对能顺利完成这次毕业设计也起到?
? 了重大的作用。在此一并向老师们表示衷心的感谢。 ?
历时3个月的毕业设计已经接近尾声了,在这段时间里,遇到了很多有?
? 关系统设计方面的困难,在导师和同学的热心帮助下,通过不懈的努力,大
装 部分问题都已经得到圆满的解决。尤其值得一提的是,在程序设计的构思、?
选材、整体的布局、逻辑结构、层次体系以及部分细节的实现技巧等诸多方?
? 面,得到了许多来自老师的宝贵意见。请允许再次衷心地向老师们表示感谢。?
感谢老师们的不倦指导,感谢身边同学、同事的大力支持。同时感谢室友,?
订 在困惑时候的加油和鼓劲。
? 在此,向所有在毕业设计期间给予帮助的老师、同学表示深深的谢意。 ? ?
?
?
线 ? ? ? ? ?
?
?
? ?
-34-
安徽工业大学 毕业论文说明书
参考文献
[1] [美]Matry Hall,Larry Brown著,赵学良译. Servlet与JSP核心编程[M]. 北
? 京:清华大学出版社,2004 ? [2] Y.Daniel Liang 著,王镁,李娜 译.JAVA语言程序设计[M]. 北京:机械?
工业出版社,2002 ?
? [3] [美]Bruce Eckel 著,侯捷 译.JAVA编程思想[M]. 北京:机械工业出版,
? 2002 ?
[4] JSP完全学习手册/张银鹤, 冉小晏, 刘治国等编著[M].北京:清华大学出?
? 版社,2008
? [5] 耿祥义,张跃平JAVA大学实用教程(第2版) [M].北京:电子工业出版?
? 社,2008
? [6] 张桂元,贾燕枫.Eclipse开发入门与项目实践[M]. 北京:人民邮电出版装
社,2006 ?
? [7] 申吉红,廖学锋.JSP课程设计案例精编. [M]. 北京:清华大学出版社,
? 2007.2 ?
? [8] 钟海青(浅说高校教务管理,,,(中国大学教育,,,,,(,):,
订 ,,,, ?
[9] 戚欣.基于J2EE架构的层次结构研究及应用[J].吉林大学学?
? 报,2008,26(3):295-297. ? [10] HTML、XHTML和CSS宝典/(美) Steven M. Schafer著 黄晓磊译[M].?
北京:清华大学出版社,2011 线
? [11] 戴小平.数据库系统及应用[M]..合肥:中国科学技术大学出版社,2010.8 ?
[12] 张恒汝,虞晓东.精通Eclipse整合Web开发:Struts+Spring+Hibernate ?
? +JBPM [M]. 北京:人民邮电出版社,2008.401-450
? ?
?
?
?
-35-