《教务管理系统之学生管理子系统毕业论文.docx》由会员分享,可在线阅读,更多相关《教务管理系统之学生管理子系统毕业论文.docx(66页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、毕 业 设 计(论 文)教务管理系统之学生管理子系统系 别:机电信息学院专业名称:计算机科学与技术学生姓名: 学 号:1001020110指导教师姓名、职称: 完成日期2013年12月24日摘 要教务信息管理系统是一种融合管理科学、信息科学、系统科学和计算机技术为一体的综合性先进管理手段。其中学生信息的管理是一项非常繁琐与复杂的一项工作,对于一个学校而言,更应该运用一些本地资源,提高学生管理的力度。本系统结合了我们学校的实际情况,解决了学校学生管理中存在一些实际问题,设计并开发出了教务管理系统的部分模块,本系统是基于B/S模式的教务信息管理系统,基于JAVAEE的JSPServlet+SQLS
2、ERVER2005数据库进行开发。系统主要分为四大模块管理员管理模块、二级院系管理模块、教师管理模块和学生管理模块。其中教务管理系统之学生管理模块的开发,解决了高校对学生的查询、导入和导出,可以满足高校教务管理工作的高效化、无纸化和网络化的需求,提高高校教务的工作质量与效率。关键词:jsp;servlet;教务管理系统;学生管理系统AbstractAcademic information management system is a fusion of management science, information science, system science and computer te
3、chnology as an integrated advanced management tools. Student information management which is a very tedious and complicated a task for a school, should use some local resources to improve student management efforts。In this paper, the various school management system, to solve the problems in school
4、management, designed and developed the educational management system, and the system is based on the WINDOWS operating system based on B/S mode of academic information management system based on J2EE the JSP + Servlet + SQLSERVER2005 database development. The system consists of four modules administ
5、rator management module, two faculty management module, teacher and student management module management module. Which through the application of educational management system student management system to solve the queries, import and export of college students meet efficient, paperless and networki
6、ng needs of university educational management, improve the quality of work and college dean efficiency。Keywords:JSP;SERVLET;Educational information management system;student mannagement system目 录1绪论11.1.课题的研究背景与意义11.1.1.国内外现状11.1.2.课题的研究意义和目的11.2.系统的定义及内容简介21.2.1.系统的定义21.2.2.系统的内容简介22系统中主要用到的技术32.1H
7、TML方面32.1.1HTML32.1.2CSS32.1.3JavaScript32.2JAVAWEB方法32.2.1Java32.2.2JSP42.2.3Servlet42.3扩展插件42.3.1Juqery validate42.3.2AJAX52.3.3SWFUpload52.3.4POI52.3.5commons-fileupload62.4 数据库方面62.3.1SQL Server2005数据库62.3.2PowerDesiner63教务管理系统的设计与实现73.1开发和运行环境选择73.2系统设计73.2.1系统功能分析73.2.2系统功能模块设计73.2.3WEB系统架构设计8
8、3.3学生管理子系统功能分析93.4数据库设计94教务系统公共模块设计144.1院系设置144.2考试类型144.3教室类型144.4教室管理154.5用户管理154.6专业设置154.7修改个人信息165模块详细设计(学生管理子模块)175.1学生基本信息条件查询175.1.1学生基本信息界面设计175.1.2学院和专业级联设计185.1.3专业和班级级联查询服务器关键代码195.2学生信息从Excel批量导入205.2.1客户端swfUpload组件205.2.2上传组件commons-upload235.2.3解析Excel工具poi255.3学生信息增加275.4学生信息修改305.5
9、学生信息导出到Excel315.6学生功能模块设计之学生权限345.6.1学生权限基本界面345.6.2验证码的制作356系统测试与维护376.1系统的测试目标376.2单位测试介绍376.3系统测试376.4系统维护39附 录40参考文献60致谢61IV第一章 绪论1.1. 课题的研究背景与意义1.1.1. 国内外现状教学管理系统现在已经成为大中专院校普遍使用的教学管理手段之一。就技术而言,实现教学管理系统的各种技术已经非常成熟。由于系统开发工具的不断推新,虽然系统框架没有变、具体要求没变,但某些具体实现技术在变化,所以要对教务管理系统进行更新升级。教务管理系统是在国外许多大学已经开展了好多
10、年,其管理模式基本上是面向全局的综合教务管理系统。由于多年运行不断使用和改进,国外的这种管理模式已处于比较完善的稳定运行阶段。近年来,高等教育办学规模持续扩大,教育教学体制改革不断深化,这对教务管理工作提出了新的要求。教务管理信息化是指在教务管理过程中广泛运用以计算机技术、多媒体技术和网络通信技术为基础的现代化信息技术,是信息资源的开发和利用及信息社会所有的重要组织和理论管理方式在教育教学领域中饰演的一系列过程。很多高校经过长期的探索与研究,已经完成了教务管理信息系统的建设工作,并且有多数高校已经自助研发出基于计算机网络技术的教务管理信息系统,实现了教务管理的网络化。1.1.2. 课题的研究意
11、义和目的对于高校教务处而言,最主要的是管理学生的基本信息、学生的创建、学生课程选择、教师信息管理。对于一个上万学生的高校而言,学生信息管理会非常繁琐,管理起来也很有可能出错。为了方便教务人员的管理工作,提高工作效率,同时为了更好地为学生、教师提供服务,有必要开发教务管理系统,使学校的教务管理走上信息化之路,克服人为的种种弊端。教务管理系统之学生管理系统的开发可以较好的解决高校学生管理的难度,提高教务管理的效率和质量。1.2. 系统的定义及内容简介1.2.1. 系统的定义本子系统是方便学校教务人员管理学生信息开发的。现今全国各学校的管理系统正逐步与网络信息技术接轨,对学校的学员信息能够更方便地进
12、行管理,运用教务管理系统实现管理模式的科学化、现代化,大大提高学校教务管理的运行效率和管理水平。因此,在科技、信息和网络技术高速发展的带动下,教务管理系统趋向于集计算机网络技术、科学管理方法等于一体,方便处理教务工作。由于学校教务管理的特殊性,决定了教务服务的综合性较其他服务更为突出和特殊,而学校教务对用于辅助管理的管理系统要求就相对更高。对于学校教务而言,具有实用意义的管理系统,在硬件上应采用互联网、办公自动化等信息技术,在软件上应融入当代各学校最优秀的管理思想,从而更好地辅助教务人员的管理工作。本课题就基于教务管理的理念和信息技术的结合这样一个出发点而提出的需要。我国的各学校教师、学生人数
13、众多,学校需要一个足够完善的教务管理系统来管理学生的基本新、选课和教师的授课安排等,所以本子系统提供了对学生的基本信息管理、批量学生信息导入、学生信息下载等功能,基本满足教务人员管理学生信息日常的教务工作。1.2.2. 系统的内容简介教务管理系统为教务管理人员管理日常教务工作提供了方便。学生可以使用此系统查询自己已修完课程的成绩、查看自己的学籍信息、选课等;教师可以使用此系统给学生所选的课程打分、查看自己的信息及课程安排情况等;二级院系可以对本学院的课程进行管理;管理员可以使用此系统添加相关用户信息、备份数据等。因此本系统主要实现学生功能、教师功能、二级院系功能、管理员功能。学生功能:个人信息
14、查询、修改;密码修改等。教师功能:教师信息查询、修改;密码修改;教师课表;教学实施计划查询;二级院系功能:教学计划安排;每学期课程安排;管理员功能:教师信息修改、删除;管理员信息修改、删除(有权限之分);课程信息添加、修改、删除;学生学籍信息查询、修改、删除(有权限之分)等。教务管理系统之学生管理系统完成的主要功能:1:学生权限下,登陆、学生基本信息查询和修改;2:管理员权限下的学生信息添加、查询与修改、学生批量信息导入和导出;第二章 系统中主要用到的技术2.1 HTML方面2.1.1 HTMLHTML(HyperText Markup Language)即超文本标记语言,也就是我们平时说的网
15、页,一网页就是一个HTML文件,一般以.html或者.html为扩展名,可以用任何文本编辑器进行编辑。2.1.2 CSS层叠样式表(Cascading Style Sheets,简写CSS),又称串样式列表,一种用来为结构化文档(如HTML文档或XML应用)添加样式(字体、间距和颜色等)的计算机语言,CSS的最大优点就是能够实现将文件的内容与显示分隔开来,展现同样的内容只需修改css就可以实现不同的页面展示效果。2.1.3 JavaScriptJavaScript,一种基于浏览器的脚本语言,最早是在HTML网页上使用,用来给HTML网页增加动态功能。现在多用于客户端的表单验证,随着HTML5的
16、出现JS变的更加流行。JavaScript的一个重要功能就是面向对象的功能,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发。是一种解释性脚本语言(代码不进行预编译)。主要用来向HTML页面添加交互行为。可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。2.2 JAVAWEB方法2.2.1 JavaJAVA不仅是一门编程语言,更是一个平台,拥有面向对象,跨平台,多线程,分布式等特点,具体可以分为JAVASE,JAVAEE,JAVAME。其中,JAVASE是java的基础,也是java的核心,JAVA SE:JAVA Platform,Standar
17、d Edition,前身J2SE,2005年之后更名为JAVA SE,主要包含面向对象思想,JVM,底层调用等待。JAVA EE即java Platform ,Enterprise Edition 企业级开发应用技术,主要包括JSP,Servlet,Ejb等等;JAVA ME,JAVA Micro Edition嵌入式移动设备开发技术,主要做游戏开发,通讯设备。Java语言的特定:简介有效、可移植性、面向对象、解释性、适合分布式计算、有良好的性能,健壮、防患于未然、用多线程处理能力、有较高的安全性能、是一门动态语言、是一种中型的结构 。java的最大特色跨平台,这个全靠底层的JVM(JAVA
18、Virtual Machine)来实现的,JVM通过读取与平台无关的class文件实现跨平台。2.2.2 JSPJSP是目前最常用的三种动态网页语言ASP(Active Server pages),JSP(JavaServer Pages),PHP (Hypertext Preprocessor)之一,由Sun Microsystems公司倡导和许多公司参与共同建立的一种使软件开发者可以响应客户端请求,而动态生成HTML、XML或其他格式文档的Web网页的技术标准。JSP,即java Server Page JSP被JSP编译器编译成Java Servlet。一个JSP编译器可以把JSP编译成
19、JAVA代码写的servlet然后再由JAVA编译器来编译成机器码,也可以直接编译成二进制码。其实,SUN(现被Oracle公司收购)早期没有jsp,只有Servlet,用Servlet的输出流动态拼接这html,因为效率太低,SUN公司就借鉴了Asp开发了一套类似ASP的服务器脚本技术JSP。使得JSP得到快速的发展。2.2.3 ServletServlet是服务器端小程序,只要是jsp能干的事情,servlet都能干,但是一般情况下我们规定,servlet只干三件事情,即:判断、跳转和调用。即以后这jsp只能找servlet,不能找jsp。这样做可是实现程序的分层实现。Jsp作为前台页面展
20、示,里面可以写java代码,但是一般不允许写,servlet只能用来接收jsp页面的请求,进行判断,调用业务逻辑方法。这样就是网页很好的实现了分层结构,遵循MVC设计模式。2.3 扩展插件2.3.1 Juqery validateJquery是一个优秀的javascript框架。它是轻量级的js库,拥有强大的选择器,出色的DOM操作,可靠的事件处理、完善的兼容性和链式操作等功能,这些优点使得很多的开发者学习和研究它。Jquery是开源和免费的,开发者可以自己编写插件,jquery很小只有压缩版只有30kb左右。Jquery在对Ajax,表单验证等方面也做的很好。类似的jquery的插件插件还有
21、很多,如Prototype、Dojo、Ext Js、MooTools等等,但是Jquery以写得少,做得多(writer less,do more)的理念赢得了很多开发者的青睐。jquery.validate.js是jquery旗下的一个验证框架,借助jquery的优势,我们可以迅速验证一些常见的输入,并且可以自己扩充自己的验证方法,并且对国际化也有很好的支持。2.3.2 AJAXAJAX即“Asynchronous JavaScript and XML”(异步JavaScript和XML),AJAX并非缩写词,而是由Jesse James Gaiiett创造的名词,是指一种创建交互式网页应用
22、的网页开发技术。Ajax的核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。Ajax是一门老技术,但是注入了新思想。现在在互联网中大量的使用,如:google suggest,Google Map,视频网站的视频评论等。2.3.3 SWFUploadSWFUpload是一个客户端文件上传工具,它通过整合Flash与JavaScript技术为WEB开发者提供了一个具有丰富功能继而超越传统标签
23、的文件上传模式。他的主要特点可以归纳为:支持多文件同时上传,ajax实现的无刷新上传,可显示进度条,有良好的浏览器兼容性,支持文件格式的筛选。支持一些常见的javascript封装库,同时支持多个版本的flash。SWFUpload不同于其他基于Flash构建的上传工具,它有着优雅的代码设计,开发者可以利用XHTML、CSS和JavaScript来随心所欲的定制它在浏览器下的外观;它还提供了一组简明的JavaScript事件,借助它开发者可以方便的在文件上传过程中更新页面内容来营造各种动态效果。看到组件这么好果断放弃了传统的input上传方式,学习了一下这个组件。2.3.4 POIApache
24、 POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供APIcrosoft Office格式档案读和写的功能。Apache POI功能比较强大,可以提供对word,ppt和Excel文件格式的读写。我的项目中用到了对Excel数据的读写功能,POI确是强大支持多个版本的Excle数据进行操作。当然类似的工具也还有,比如JXl,这个插件是专门针对Excel进行开发的,也不错。2.3.5 commons-fileuploadWEB文件上传可能是网站建设中最常用的功能之一,常用的web上传组件有commons-fileupload和Smartupload。其中co
25、mmons-fileupload是Apahce 软件基金会下面的一个开源项目,专注文件的上传于下载,支持一个或者多多文件上传,对中文支持友好,社区活跃,更新迅速,支持大文件上传,可以限制上传文件的大小和格式,接口简单方便好用。2.4 数据库方面2.3.1 SQL Server2005数据库 在windows上开发的用数据库当然少不了用Microsoft的东西,之前我们学过了SQL Server 2000,这是一个微软十几年前的产品,现在太陈旧了,如同window xp一样,确实经典,但有些陈旧了。话说数据库产品很多,如Oracle数据库、mysql数据库也都不错,但是在易用性上面说,个人觉得还
26、是 Microsoft SQL Server的产品更胜一筹。于是我就选择SQL Server 2005。2.3.2 PowerDesiner听同学说有一种工具学了之后,就不用写SQL语句了,而且支持常见的数据库,只要设计好E-R图,就可以产生针对不同数据库厂商的不同版本自动生成sql语句,这就是Power Designer,它是Sybase公司的CASE工具集,使用它可以方便地对管理信息系统进行分析设计,他几乎包括了数据库模型设计的全过程。利用Power Designer可以制作数据流程图、概念数据模型、物理数据模型,还可以为数据仓库制作结构模型,也能对团队设计模型进行控制。他可以与许多流行的
27、数据库设计软件,例如PowerBuilder,Delphi,VB等相配合使缩短开发时间和使系统设计更优化。于是果断选择了powerDesiner。第三章 教务管理系统的设计与实现3.1 开发和运行环境选择教务管理系统主要用于学校内部资源管理(如学生信息管理、老师信息管理、教学计划查询等),充分利用现代高度信息化手段来接受学生信息的咨询和反馈,形成目前学校内部受欢迎的教务产品,同时也方便了教务管理人员的管理工作,也方便了学生对自己个人信息的实时了解。1、 开发工具的选择开发环境:java平台开发工具:myEclipse和intellig ideaweb服务器:Tomcat数据库:Microsof
28、t SQLServer 2005辅助工具:Dreamweaver2、运行环境要求操作系统:Windows xp 或 window 73.2 系统设计3.2.1 系统功能分析教务管理系统主要具有以下功能要求:学生功能:个人信息查询、修改;密码修改等。教师功能:教师信息查询、修改;密码修改;教师课表;教学实施计划查询;二级院系功能:教学计划安排;每学期课程安排;管理员功能:教师信息修改、删除;管理员信息修改、删除(有权限之分);课程信息添加、修改、删除;学生学籍信息查询、修改、删除(有权限之分)等。3.2.2 系统功能模块设计根据系统功能要求分析,可以将系统分解成以下几个功能模块来设计,如图3-1
29、所示:教务管理系统学生管理子系统教学计划管理教师管理子系统学生基本信息导出年度教学计划查询与导出教学计划查询与导出教学计划查询与导出课程信息查询教师基本信息导出教师基本信息修改教师基本信息导入教师基本信息查询学生基本信息修改增加学生基本信息导入学生基本信息查询图3-1 系统功能模块图3.2.3 WEB系统架构设计数据库DateBase浏览器browserJSPServletJavabeanControlModelView图3-2 WEB系统MVC三层结构设计3.3 学生管理子系统功能分析1 教务处登陆图 教务管理系统学生信息修改学生信息多条件查询学生信息批量导出下载学生信息从Excel批量导入
30、学生登录授权登陆图3-3 学生管理子系统之教务处登陆功能模块图2.学生登陆图登陆教务管理系统学生基本信息查看学生基本信息的修改3-4 学生管理子管理之学生登陆功能模块图3.4 数据库设计本教务系统在设计之初,计划包含的模块比较多,下面就需要的数据库设计进行详细介绍。根据数据库结构的设计,可知在数据库中需建立15张表。本系统创建的数据库为eduManager,该数据库由学生信息表(student)、教师信息表(teacher)、二级院表(dept)、用户表(User)、考试类型表(tb_examType)、教室类型表(tb_classRoomType)、专业班级基本表(ClassTa)、学期教学
31、计划表(perTermSchedu)、教室基本表(classRoom)、课程基本表(rankCourse)、开课学院基本表(tb_startCourseDept)、班级课程表(classRankCourse)、人才培养计划表(educationOutline)、专业基本表(major)、课程安排表(rankCourseTimePlace)组成,在设计中所用到的关系表及其结构分别如下所示。1、学生信息表(student),如图3-5示。图3-5 学生信息表2、教师信息表(teacher),如图3-6示。图3-6教师信息表3、二级院系表(dept)如图3-7示。图3-7 二级院系表4、用户表(Us
32、er)如图3-8示。图3-8 用户表5、考试类型表(tb_examType)如图3-9所示。图3-9考试类型表6、教室类型表(tb_classRoomType)如图3-10所示。图3-10教室类型表7、专业班级基本表(ClassTa)如图3-11所示。图3-11专业班级基本表8、学期教学计划表(perTermSchedu)如图3-12所示。图3-12学期教学计划表9、教室基本表(classRoom)如图3-13所示。图3-13教室基本表10、课程基本表(rankCourse)如图3-14所示。图3-14课程基本表11、开课学院基本表(tb_startCourseDept)如图3-15所示。图3
33、-15开课学院基本表12、班级课程表(classRankCourse)如图3-16所示。图3-16班级课程表13、人才培养计划表(educationOutline)如图3-17所示。图3-17人才培养计划表14、专业基本表(major)如图3-18所示。图3-18专业基本表15、课程安排表(rankCourseTimePlace)如图3-19所示。图3-19课程安排表第四章 教务系统公共模块设计4.1 院系设置基本模块-院系设置如图4-1所示。图4-1 院系设置4.2 考试类型基本模块-考试类型如图4-2所示。 图4-2 考试类型4.3 教室类型基本模块-考试类型如图4-3所示。图4-3 教室
34、类型4.4 教室管理基本模块-考试类型如图4-4所示。图4-4 教室管理4.5 用户管理基本模块-用户管理如图4-5所示。图4-5 用户管理4.6 专业设置基本模块-专业设置如图4-6所示。图4-6 专业设置4.7 修改个人信息基本模块-修改个人信息如图4-7所示。图4-7 修改个人信息第五章 模块详细设计(学生管理子模块)5.1 学生基本信息条件查询5.1.1 学生基本信息界面设计管理员权限-学生信息查询如图5-1所示:图5-1 学生基本信息查询多条件查询服务器端关键代码:/ 1.获取客户端提交的参数String deptId = request.getParameter(deptId);
35、/ 学院String mId = request.getParameter(majorId); / 专业String cId = StrUtil.codeStr(request.getParameter(classId); / 班级String startYear = StrUtil.codeStr(request.getParameter(startYear); / 入学年份/ 2.分页工具条参数String cPage = request.getParameter(currentPage); /当前显示的页数String pSize = request.getParameter(pageS
36、ize); / 每页显示的条数/ 3.pageBean参数设置PageBean pb = new PageBean();int totalRecord = studentBiz.findMaxRows(pSize, deptId, mId, cId, startYear);List list = studentBiz.findAll(StrUtil.parseInt(cPage, 1), StrUtil.parseInt(pSize, pb.pSize),deptId, mId, cId, startYear);pb.setMaxRows(totalRecord);pb.setPageList
37、(list);pb.setpSize(StrUtil.parseInt(pSize, pb.pSize);pb.setcPage(StrUtil.parseInt(cPage, 1);request.setAttribute(pb, pb);/ 4.其他参数request.setAttribute(deptId, deptId);request.setAttribute(majorId, mId);request.setAttribute(classId, cId);request.setAttribute(startYear, startYear);request.getRequestDis
38、patcher(/page/classes/stuList.jsp).forward(request, response);5.1.2 学院和专业级联设计学院和专业级联,如图5-2所示:图5-2 学院和专业级联示意图1 学院和专业班级级联查询客户端关键代码var $mId ; var $cId; $(function() $mId = $(selectname=mId); /专业 $cId = $(selectname=classId); / 班级 / 1. 页面加载成功之后 ajaxRequest(); / 2. 当专业被改变的时候 $mId.change(function(e) ajaxR
39、equest(); ); ); function ajaxRequest() var ajaxurl = page/classes/Student;var ajaxdata = m:7,majorId:$mId.val();$.ajax(url:ajaxurl, /请求的urltype:post,/ 请求的方式,post,get,putdata:ajaxdata,/请求的数据,get,这里是nulldataType:xml,/设置回传数据的格式,不设置,会只能判断,并解析success:function(xmlObj, state)/ 设置成功接收数据的会回调函数$cId.empty();/清
40、空班级$cId.append($();$(xmlObj).find(class).each(function() /遍历每一个叫class的节点var classTa = $(this);var cId = classTa.text();$cId.append($(+ cId +);); 5.1.3 专业和班级级联查询服务器关键代码专业和班级级联,如图5-3所示:图5-3 专业和班级级联示意图专业和班级级联查询服务器关键代码protected void changeClassByMajor(HttpServletRequest request,HttpServletResponse respo
41、nse) throws ServletException, IOExceptionString mId = request.getParameter(majorId); /接收ajax post提交的传递的参List cIdList = classTaBiz.findByMid(mId); Document document = new Document(); / 生成根节点Element root = new Element(classes);document.setRootElement(root); / 设置根元素Iterator it = cIdList.iterator();whil
42、e(it.hasNext()String cId = it.next();/ 拼装xmlElement classeTa = new Element(class);classeTa.setText(cId);root.addContent(classeTa);response.setContentType(text/xml); /注意回传数据的格式OutputStream out = response.getOutputStream();JdomXMLUtil.sendDom(document, out);/JdomXMLUtil.sendDom(document, System.out);5
43、.2 学生信息从Excel批量导入5.2.1 客户端swfUpload组件上传组件swfuplaod,如图5-4所示:图5-4 上传组件swfUploadSwfupload上传指定后缀示意图,如图5-4所示:图5-5 上传组件swfUpload指定上传文件后缀Swfupload多文件上传队列示意图,如图5-6所示:图5-6 上传组件swfUpload上传文件管理上传插件SWFUpload客户端关键代码:var swfu;window.onload = function () swfu = new SWFUpload(upload_url: ,post_params: name : hulian
44、g,m:10,/ File Upload Settingsfile_size_limit : 100 MB,/ 100MB/file_types : *.*,file_types : *.xls;*.xlsx,file_types_description : 所有文件,file_upload_limit : 20,/上传文件个数限制file_queue_error_handler : fileQueueError,file_dialog_complete_handler : fileDialogComplete,/选择好文件后提交file_queued_handler: fileQueued,upload_progress_handler : uploadProgress,upload_error_handl