基于jsp的在线选课系统.doc_第1页
基于jsp的在线选课系统.doc_第2页
基于jsp的在线选课系统.doc_第3页
基于jsp的在线选课系统.doc_第4页
基于jsp的在线选课系统.doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录1 前言.11.1 开发背景.31.2 开发目标.41.3 项目意义.42 系统分析.52.1 需求分析.5 2.1.1 功能需求.5 2.1.2 性能需求.52.1.3 其他需求.52.1.4 业务流分析.52.1.5 数据流分析.62.2 可行性研究报告.62.3 数据库选择.62.4 运行环境.73 概要设计3.1 功能模块划分.83.2 数据流程图.94 详细设计4.1 系统E-R图示.104.2 模块设计.124.3 数据表.155 系统实现5.1 管理员登陆界面.185.2 学生登陆界面图.225.3 学生课程查询.225.4 学生选课信息管理页面.235.5 教师管理页面.246 系统测试及分析 6.1 测试目的及意义.24 6.2 软件测试的常用方法.25 6.3 测试环境.25 6.4 测试结果.26总结致谢摘要 本文是通过Eclipse开发工具,MySQL进行后台数据库的开发,使用JDBC(Java Data Base Connectivity)控件进行数据库的连接。开发主要包括后台数据库的建立和维护以及前端应用程序开发两个方面。本文还着重论述了系统分析,选课系统的功能及实现,包括数据关系的图,学生选课设置,用户管理等。本系统可以使学生选课更加方便,操作更加简易,人机页面也会更加友好。ABSTRACTThis article is through the Eclipse development tools, MySQL backend database development, using the JDBC (Java Data Base Connectivity) controls for database connection. Development mainly includes the establishment and maintenance of database and front-end application development two aspects. This paper also emphatically discusses the system analysis, function and realization of the elective system, including data relations of e-r diagram, student course Settings, user management, etc. This system can make students course selection more convenient, more simple and easy operation, also will be more friendly man-machine page.1前言1.1 开发背景随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能人们深刻认识,它已进入人类社会各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生课程进行管理,与手动管理相比,具有明显优势,例如:检索迅速,查找方便,可靠性高,存储量大,寿命长,成本低等优点。所以,学生选课系统应时而生,成为各大高校必备的一项优秀的管理工具。学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。学生选课系统需要满足来自三方面的需求,这三个方面分别是学生、教师和管理员。学生的需求是查询院系的课程、学生选课情况及学生信息的修改;教师对选课系统学生选课情况进行操作,同时形成学生选课查看确认;选课管理员的功能最为复杂,包括对学生、教师、选课进行管理和统计,及系统状态的查看、维护并生成选课报表。学生可以直接查看选课情况,学生可以根据本人学号和密码登录系统,还可以进行本人学科成绩情况的查询和维护部分个人信息。一般情况下,学生只应该查询和维护本人的选课情况和个人信息,若查询和维护其他学生的选课及成绩查询信息,就要知道其他学生的学号和密码。这些是很难得到的,特别是密码,所以不但满足了学生的要求,还保护了学生的个人隐私。所以,一个良好的选课系统已经各大高校的必备用品了,研究开发选课系统已经成为一项有意义的项目了。 1.2 开发目标本选课系统需要克服一定的难重点,例如系统的稳定性,操作的难易性,界面设计的美观程度等。所以本系统的开发目标则是运行流畅,操作易懂,界面友好等。而且,一个操作简单,运行流畅,成本低廉,界面友好的选课系统,能够使得无论是学生还是老师,都可以享受到网上选课的便捷。可以更加愉快地去学习,去享受课程。为各大高校省去不少人力物力,值得推广。1.3 项目意义学生选课系统是一个学校学生管理中不可缺少的一部分,对于学校的决策者和管理者来说都至关重要。传统选课方式是以随堂报名为主,这就存在教师无法预见课程选修实际人数问题,造成浪费教学资源。传统选课方式已经很难适应高校发展新环境。随着计算机及互联网的普及,使用计算机对选课信息进行管理,具有手工管理所无法比拟的优点。这些优点能够极大地提高教学工作者管理效率,也是学校的科学化、正规化管理与世界接轨的重要条件。在线选课系统在我国起步比较晚,但发展很快。随着互联网的普及和网上选课系统的更趋向于成熟化,将会有越来越多的学校和培训机构选择网上选课系统。本选题以现代网络技术环境为依托,利用现代计算机网络技术实现在线选课管理,方便学生在线选课和教师即时掌握课程信息,同时也提高教学工作者管理效率,为高校学生选课工作提供一个高效、便捷的信息化平台。2 系统分析2.1 需求分析2.1.1 功能需求 本系统主要实现教师信息管理,管理员信息管理,学生信息管理。(1) 管理员信息管理模块中管理员必须以管理员身份账号及密码才能进入选课系统,否则不能进入选课系统。管理员登录后,可以对系统进行全面的管理,可以对院系、专业等进行增加,删除,也可以查询各类信息,同时也可以进行修改。(2) 老师信息管理模块中老师必须以老师身份账号及密码才可以进入选课系统,否则不能进入选课系统。可以查询课程、学生信息,也可以担任学生课程。(3) 学生信息管理模块中学生必须以学生身份账号及密码登录,才可以进入选课系统,才可以对信息的查询,以及课程的选择。2.1.2 性能需求 系统的性能要求通常指系统需要的存储容量以及后援存储,重新启动以及安全性,和运行效率等方面的考虑。 本系统运行环境为单环境,在运算时对对系统整体性能要求较高,要求: 软件系统环境:Eclipse,tomcat 6.0,mySQL。 硬件系统环境:32MB(RAM) 500MB(HD),系统运行时对数据的保密性要求不高,一般运行数据无需加密,此外对其他软件几乎没有依赖性,系统独立性较高。2.1.3 其他需求 硬件条件:处理器:Intel PII 450或更好,内存:256M或更大。 软件条件:Microsoft windows 95/98或其他更高版本的操作系统。2.1.4 业务流分析 学生选课系统的业务流程:首先由管理员或者老师等具有录入权限的用户将各自权限范围内的信息进行录入处理,然后更新到数据库中。有权限的用户可以对这些库信息进行修改和删除。所有用户可以对信息进行查询。2.1.5 数据流分析 学生选课系统的数据流程:首先由管理员或者老师等具有录入权限的用户将各自权限范围内的信息进行录入处理,然后更新到数据库中。有权限的用户可以对这些库信息进行修改和删除。所有用户可以对信息进行查询。2.2 可行性研究报告 1.技术可行性:本系统采用Java语言进行开发,主要使用MVC三层结构进行系统架构,采用Jsp+Servelet+JavaBean技术实现。Jsp页面主要实现视图层;Servlet实现控制器部分,负责进行流程控制,JavaBean实现模型部分,主要负责封装数据以及实现业务逻辑。整个系统层次分明,清晰。现有技术已经较为成熟,硬软件性能,环境条件良好,估计以现有技术条件可以实现该系统的功能目标。所以,学生选课系统的开发在技术上可行。2.经济可行性:选课系统与传统的学生选课方法相比,具有管理效率高,质量高,错误少等优点,而且传统选课方式需要耗费大量的人力,物力,非常不可取。放眼当前,各大高校都具有良好的信息化处理设施。且拥有支持本系统的应用平台,所以无需投入太多资金购买设备。另外,本系统的开发基于本人对程序开发的实践经验二来,学校无需资金投入,且开发过程中投入的成本不高,所以,综合来看,学生 的开发在经济上是可行的。3.社会可行性:本系统的社会可行性主要从法律因素来看,本系统是本人根据学生选课的实际情况开发研制的,且都是在独立环境下完成的,无可供抄袭的软件产品。从用户使用方面来看,本系统只需要使用者具有基本的电脑知识即可,无需另外的技术能力。总而言之,本系统具有社会可行性。2.3 数据库选择 随着信息技术的发展,计算机的处理数据的方式也发生着变化,数据库的选择面临了多样性。而选课系统的后台数据库,我选择了MySQL来编写,MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。与其他数据库软件相比,MySQL具有以下优点:1. 使用 C和C+编写,并使用了多种编译器进行测试,保证了源代码的可移植性。2. 支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。3. 优化的SQL查询算法,有效地提高查询速度。4. 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。5. MySQL 是开源的,所以你不需要支付额外的费用。6. MySQL是可以定制的,采用了GPL协议,你可以修改源码来开发自己的 MySQL 系统。7. 在线 DDL/更改功能,数据架构支持动态应用程序和开发人员灵活性 所以,综合考虑,此次我选择了MySQL软件来作为数据库的编写软件。 此外,本系统的数据库详细设计如下: 数据库一共有Student表,Teacher表,Admin 表,Course表四张表。其中教师表有教师姓名、教师工号、教师职称、教师所属系等属性;学生表有学生姓名、性别、密码、籍贯、学生学号和学生所在系等属性;课程表有课程名称、学分、课程性质、开课系、课程人数;管理员表有管理员工号、姓名、密码、性别等属性。2.4运行环境 本系统运行环境为单环境,在运算时对对系统整体性能要求较高,要求: 软件系统环境:Eclipse,tomcat 6.0,mySQL。 硬件系统环境:32MB(RAM) 500MB(HD)3 概要设计3.1 功能模块划分 在本系统中,有三类用户:系统管理员,教师和学生。三种用户所具有的操作权限是不一样的,其相应的操作功能模块也是不同的。管理员用户:(1) 课程信息的添加:管理员用户登陆以后,进入课程信息管理功能单元,输入开课学年,开课学期,课程编号,课程名称,课程类型等数据后进行提交,完成课程信息的添加操作。(2) 课程信息的统计:管理员用户登陆以后,进入课程信息管理功能单元,可以查询已开设的课程的相关信息。(3) 教师信息的添加:管理员用户登陆以后,进入教师信息管理功能单元,可以点击添加教师按钮,输入教师姓名、教师工号、教师职称、教师所属系等教师基本信息,提交后,即可以添加学生用户。(4) 教师信息的删除:管理员用户登陆以后,进入教师信息管理功能单元,可以点击删除教师按钮,选择需要删除的教师用户,提交后,即可以删除选定的教师用户了。(5) 学生信息的添加:管理员用户登陆以后,进入学生信息管理功能单元,可以进行学生基本信息的添加管理,在输入学生姓名、性别、密码、籍贯、学生学号和学生所在系等基本信息后,进行提交,即可以完成学生用户的添加操作。(6) 学生信息的删除:管理员用户登陆以后,进入学生信息管理功能单元,选择删除学生按钮,便可以选定学生,进行删除操作,提交后,该名学生用户便从数据库中移除。(7) 登录密码的修改:管理员用户登陆以后,进入修改密码功能单元,可以进行登陆密码的修改,当输入新密码并确认新密码之后点击确定,即修改密码成功。(8) 教师信息查询:管理员用户登陆以后,进入教师信息管理功能单元,可以点击统计管理,便可以根据条件进行对教师的基本信息的浏览。(9) 学生信息查询:管理员用户登陆以后,进入学生信息管理功能单元,可以点击统计管理,便可以根据条件进行对学生的基本信息的浏览。教师用户:(1) 查看课程信息:教师用户登陆以后,进入课表管理功能单元,可以查看已开设的课程具体信息,如课程名称、学分、课程性质、开课系、课程人数等具体信息。(2) 登陆密码的修改:教师用户登陆以后,进入密码修改单元,可以进行密码的修改,在确认新密码之后,进行提交,便可以成功地修改密码。(3) 查看学生信息:教师用户登陆以后,进入学生信息单元,可以以多种方式进行查询,例如按系别查询或者按学号查询又或者按姓名查询,可以浏览学生基本信息。学生用户:(1) 查看课程信息:学生用户登陆以后,进入课表管理功能单元,可以查看已开设的课程具体信息,如课程名称、学分、课程性质、开课系、课程人数等具体信息。(2) 学生选课:学生用户登陆以后,进入选课管理功能单元,可以进行对课程的选择,点击现阶段可选课程,便选课成功了。(3) 登陆密码的修改:学生用户登陆以后,进入密码修改单元,可以进行密码的修改,在确认新密码之后,进行提交,便可以成功地修改密码。 3.2 数据流程图4. 详细设计4.1 系统E-R图示图1为学生信息实体E-R图账号学生班级学号籍贯姓名年级系别性别年龄已修学分密码 图1图2为教师信息实体E-R图教师工号账号职称系别姓名密码性别籍贯 图2图3为管理员实体E-R图管理员性别密码账号工号姓名 图3图4为课程实体E-R图课程类别名称学分课程编号学时学年学期 图44.2 模块设计 学生选课系统主要分为三个模块,管理员模块,教师模块,学生模块,三者既有联系又有区别,每一个模块都有不同的功能与权限,如管理员模块,可以对课程的开设,可以对教师及学生进行管理,可以增加学生,也可以删除老师,是拥有最大权限的用户。而教师与学生的权限便少了很多,只能进行简单的信息查询,查询课程和选择课程了。1管理员管理模块 管理员模块是本系统中权限最大的模块,拥有多个系统管理功能。所以,管理员模块拥有多个子模块,分别是教师管理模块,学生管理模块,个人信息修改模块,课程管理模块。教师和学生管理模块是对教师和学生基本信息的管理,可以对学生和教师进行简单的添加与删除。课程管理模块主要的功能是查询已开设课程的详细信息,及开设新的课程。个人信息管理模块主要是对个人登录密码的修改。管理员模块的流程图如下图。 管理员模块主要涉及的jsp文件与Java文件如下表功能名称页面设计(jsp)功能代码(Java)开设课程addCourse.jspaddCourse.java查看课程lviewCourse.jsplviewCourse.java添加教师addTeacher.jspaddTeacher.java删除教师deleteTeacher.jspdeleteTeacher.java查询教师viewTeacher.jspviewTeacher.java添加学生addStudent.jspaddStudent.java删除学生deleteStudent.jspdeleteStudent.java查询学生viewStudent.jspviewStudent.java修改密码updateKey.jspupdateKey.java2教师管理模块 教师模块功能相对于管理员模块较少,主要涉及于教师基本信息管理,例如修改个人登录密码,和基本的课程信息查询。教师模块的流程图如下图。教师模块主要涉及的jsp文件与Java文件如下表功能名称页面设计(jsp)功能代码(Java)查询课程信息viewCourse.jspaddCourse.java修改密码updateKey.jspupdateKey.java查看学生信息viewStudent.jspviewStudent.java3 学生管理模块 学生模块主要功能为选择课程,此外,还具有简单的查询功能,与修改个人密码。 学生用户登录后可以对已开设的课程进行查询,更加方便课程的选择,从而进行选课,也可以更改自己的登录密码。具体设计如下。学生模块流程图如下学生模块主要涉及的jsp文件与Java文件如下表功能名称页面设计(jsp)功能代码(Java)查询课程信息viewCourse.jspaddCourse.java修改密码updateKey.jspupdateKey.java选择课程selectCourse.jspselectCourse.java4.3 数据表 数据库的设计涉及于表的各个成员属性,本系统共有四张表,admin表,teacher表,student表,course表。各个的表的详细信息及数据如下图。所有数据表的具体信息如下图:Student列名 数据类型数据长度是否为空账号 int 4否姓名Varchar20否系别Varchar20否年龄Int4否已修学分Int4否密码Varchar30否性别Varchar20否年级Varchar20否籍贯Varchar20否班级Varchar20否学号 int 4否 输入数据后,Student表Teacher列名 数据类型数据长度是否为空账号 int 4否姓名Varchar20否系别Varchar20否职称Varchar20否密码Varchar30否性别Varchar20否籍贯Varchar20否工号 int 4否输入数据后,如下表Admin 表列名 数据类型数据长度是否为空账号 int 4否姓名Varchar20否密码Varchar30否性别Varchar20否工号 int 4否当表内键入数据时Course表列名 数据类型数据长度是否为空课程编号 int 4否名称Varchar20否学年Varchar20否学期Varchar20否学时Varchar30否学分Varchar20否类别Varchar20否5系统实现5.1管理员登陆界面管理员登录界面的实现,学生,教师,管理员三类用户共用一个登录页面,当选择管理员登录后,输入用户名及密码,点击登录进行系统验证。如果登录成功则跳转到管理员操作界面,否则则会提示错误。 用户登录页面:登录错误时提示页面:登录成功跳转页面:当管理员登录成功后,即可以对学生,教师进行管理。当管理员点击添加学生时会系统则会显示添加学生界面,管理员需要输入账号,学号,姓名等信息,即可完成添加。添加学生添加学生成功如若需要删除学生则可以点击删除学生,便会跳转到删除学生界面。删除学生删除成功管理员还可以多种方式进行查询学生信息按系别查询学生信息查询结果按姓名查询查询结果按学号查询查询结果5.2 学生登录界面图学生登录时,页面通教师管理员登录界面是一样,当输入账号及密码后,若正确后则进入学生管理页面,便可以查询课程,然后进行选择,当然也可以进行查询已选课程。学生管理页面如下:5.3 学生课程查询当学生输入正确的账号及密码后,验证完毕后跳转到相应的页面,当点击选择课程时会出现相应的课程查询页面,可以浏览课程详细信息,然后进行选择。查询课程5.4 学生选课信息管理页面当学生选择好课程,便可以进行选课了。选择课程然后点击确定,选课成功当然,如果学生不确定自己选择了什么课程也可以查询已选课程查询已选课程5.5 教师管理页面当以教师的账号及密码登录时,页面会跳转到教师管理页面教师界面教师主要权限为查询课程,当教师用户登录成功后,可以查询课程。查询已开设的课程6 系统测试及分析6.1 测试目的及意义 软件危机曾经是软件界甚至整个计算机界最热门的话题,为了解决这场危机,大量的从业人员和专家人士做出了许多的努力。如今,人们已逐渐认识到所谓的软件危机在实际情况上,只是软件中有错误。而错误通通都是人们在作业中产生的,如果人们可以尽可能去避免错误的产生和消除已发生的错误,那么,软件危机便不复存在。这便是需要我们在软件作业时加倍细心,格外认真,但是,更需要我们在作业完成后更加仔细地去进行系统测试,所以软件的测试时必不可少的。6.2软件测试的常用方法 软件测试主要方法通常分为两大类:白盒测试和黑盒测试。 白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。白盒法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。白盒法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。 黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。 6.3 测试环境 处理器:Intel PII 450或更好 内存:256M或更大 硬盘:250GB 操作系统:Windows7 数据库:MySQL 服务器:tomcat6.06.4 测试结果学生选课系统(Test)选课系统有多个子功能重点测试以下窗体1 Test01:用户修改密码2 Test02: 用户登录3 Test03: 添加学生信息4 Test04: 学生选课Test01(用户修改密码)测试功能:要求在不同的用户情况下,不同的用户都能够修改自己的密码,然后测试新密码是否能够登录测试时间:2016年4月18日测试角色:管理员,教师,学生测试数据用户名旧密码新密码确认新密码admin(管理员)admin111111123(教师)001222333123(学生)001空空测试结果编号测试对象结果原因1admin 正确2123正确3123不正确在设计数据库时不许为空结果分析编号分析1在编码的时候采用跟踪用户名,就可以的对他的密码进行更改2在编号必须使得两个密码一致,不然无法修改3在设计数据库时不允许为空,但编码时没有考虑到当为空时也可以修改密码会出错解决方案编号解决方法3在编程时设置为空时不可以对数据库进行操作,否则出错且有错误提示Test02(用户登录)测试功能:检测各个用户是否可以通过账户密码与数据库进行连接。测试时间:2016年4月19号测试数据:编号用户名密码1070312342070001aaa测试结果编号测试对象测试结果原因10703成功登陆密码正确2070001登陆失败密码不正确测试分析编号分析1当用户输入正确的用户名和密码就可以配置好服务器,这样通过公共变量记录连接数据sql语句,再通过类模块实现对数据库的连接,访问。2输入不正确,类模块就连接数据库有错误Test03(添加学生信息)测试功能:测试是否可以添加学生信息,这是管理员的功能,教师跟学生不可以操作这个界面。测试时间:2016年4月20日测试角色:管理员测试数据:账号学号姓名系别年龄已修学分密码性别年级籍贯班级200704200704王凯软件工程1851234男2007河南省2测试结果:对象测试结果200704添加成功测试分析:对象分析200704通过点击添加按钮进行添加学生的基本信息,输入完后点击确定就可以完成添加。Test04(学生选

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论