基于jsp的在线选课系统方案.docx
《基于jsp的在线选课系统方案.docx》由会员分享,可在线阅读,更多相关《基于jsp的在线选课系统方案.docx(34页珍藏版)》请在冰豆网上搜索。
![基于jsp的在线选课系统方案.docx](https://file1.bdocx.com/fileroot1/2023-8/18/e4a5319a-3a7b-40f0-9c8d-4787f7a3f147/e4a5319a-3a7b-40f0-9c8d-4787f7a3f1471.gif)
基于jsp的在线选课系统方案
1前言.....................................................1
1.1开发背景............................................3
1.2开发目标............................................4
1.3项目意义............................................4
2系统分析..................................................5
2.1需求分析.............................................5
2.1.1功能需求.............................................5
2.1.2性能需求.............................................5
2.1.3其他需求.............................................5
2.1.4业务流分析...........................................5
2.1.5数据流分析...........................................6
2.2可行性研究报告............................................6
2.3数据库选择................................................6
2.4运行环境..................................................7
3概要设计
3.1功能模块划分..............................................8
3.2数据流程图................................................9
4详细设计
4.1系统E-R图示...............................................10
4.2模块设计..................................................12
4.3数据表....................................................15
5系统实现
5.1管理员登陆界面.............................................18
5.2学生登陆界面图.............................................22
5.3学生课程查询...............................................22
5.4学生选课信息管理页面......................................23
5.5教师管理页面...............................................24
6系统测试及分析
6.1测试目的及意义..............................................24
6.2软件测试的常用方法..........................................25
6.3测试环境....................................................25
6.4测试结果....................................................26
总结
致谢
摘要
本文是通过Eclipse开发工具,MySQL进行后台数据库的开发,使用JDBC(JavaDataBaseConnectivity)控件进行数据库的连接。
开发主要包括后台数据库的建立和维护以及前端应用程序开发两个方面。
本文还着重论述了系统分析,选课系统的功能及实现,包括数据关系的E-R图,学生选课设置,用户管理等。
本系统可以使学生选课更加方便,操作更加简易,人机页面也会更加友好。
ABSTRACT
ThisarticleisthroughtheEclipsedevelopmenttools,MySQLbackenddatabasedevelopment,usingtheJDBC(JavaDataBaseConnectivity)controlsfordatabaseconnection.Developmentmainlyincludestheestablishmentandmaintenanceofdatabaseandfront-endapplicationdevelopmenttwoaspects.Thispaperalsoemphaticallydiscussesthesystemanalysis,functionandrealizationoftheelectivesystem,includingdatarelationsofe-rdiagram,studentcourseSettings,usermanagement,etc.Thissystemcanmakestudents'courseselectionmoreconvenient,moresimpleandeasyoperation,alsowillbemorefriendlyman-machinepage.
1前言
1.1开发背景
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能人们深刻认识,它已进入人类社会各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生课程进行管理,与手动管理相比,具有明显优势,例如:
检索迅速,查找方便,可靠性高,存储量大,寿命长,成本低等优点。
所以,学生选课系统应时而生,成为各大高校必备的一项优秀的管理工具。
学生选课系统是一个学校不可缺少的部分,它的容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。
学生选课系统需要满足来自三方面的需求,这三个方面分别是学生、教师和管理员。
学生的需求是查询院系的课程、学生选课情况及学生信息的修改;教师对选课系统学生选课情况进行操作,同时形成学生选课查看确认;选课管理员的功能最为复杂,包括对学生、教师、选课进行管理和统计,及系统状态的查看、维护并生成选课报表。
学生可以直接查看选课情况,学生可以根据本人学号和密码登录系统,还可以进行本人学科成绩情况的查询和维护部分个人信息。
一般情况下,学生只应该查询和维护本人的选课情况和个人信息,若查询和维护其他学生的选课及成绩查询信息,就要知道其他学生的学号和密码。
这些是很难得到的,特别是密码,所以不但满足了学生的要求,还保护了学生的个人隐私。
所以,一个良好的选课系统已经各大高校的必备用品了,研究开发选课系统已经成为一项有意义的项目了。
1.2开发目标
本选课系统需要克服一定的难重点,例如系统的稳定性,操作的难易性,界面设计的美观程度等。
所以本系统的开发目标则是运行流畅,操作易懂,界面友好等。
而且,一个操作简单,运行流畅,成本低廉,界面友好的选课系统,能够使得无论是学生还是老师,都可以享受到网上选课的便捷。
可以更加愉快地去学习,去享受课程。
为各大高校省去不少人力物力,值得推广。
1.3项目意义
学生选课系统是一个学校学生管理中不可缺少的一部分,对于学校的决策者和管理者来说都至关重要。
传统选课方式是以随堂报名为主,这就存在教师无法预见课程选修实际人数问题,造成浪费教学资源。
传统选课方式已经很难适应高校发展新环境。
随着计算机及互联网的普及,使用计算机对选课信息进行管理,具有手工管理所无法比拟的优点。
这些优点能够极大地提高教学工作者管理效率,也是学校的科学化、正规化管理与世界接轨的重要条件。
在线选课系统在我国起步比较晚,但发展很快。
随着互联网的普及和网上选课系统的更趋向于成熟化,将会有越来越多的学校和培训选择网上选课系统。
本选题以现代网络技术环境为依托,利用现代计算机网络技术实现在线选课管理,方便学生在线选课和教师即时掌握课程信息,同时也提高教学工作者管理效率,为高校学生选课工作提供一个高效、便捷的信息化平台。
2系统分析
2.1需求分析
2.1.1功能需求
本系统主要实现教师信息管理,管理员信息管理,学生信息管理。
(1)管理员信息管理模块中管理员必须以管理员身份账号及密码才能进入选课系统,否则不能进入选课系统。
管理员登录后,可以对系统进行全面的管理,可以对院系、专业等进行增加,删除,也可以查询各类信息,同时也可以进行修改。
(2)老师信息管理模块中老师必须以老师身份账号及密码才可以进入选课系统,否则不能进入选课系统。
可以查询课程、学生信息,也可以担任学生课程。
(3)学生信息管理模块中学生必须以学生身份账号及密码登录,才可以进入选课系统,才可以对信息的查询,以及课程的选择。
2.1.2性能需求
系统的性能要求通常指系统需要的存储容量以及后援存储,重新启动以及安全性,和运行效率等方面的考虑。
本系统运行环境为单环境,在运算时对对系统整体性能要求较高,要求:
软件系统环境:
Eclipse,tomcat6.0,mySQL。
硬件系统环境:
32MB(RAM)500MB(HD),系统运行时对数据的保密性要求不高,一般运行数据无需加密,此外对其他软件几乎没有依赖性,系统独立性较高。
2.1.3其他需求
硬件条件:
处理器:
IntelPII450或更好,存:
256M或更大。
软件条件:
Microsoftwindows95/98或其他更高版本的操作系统。
2.1.4业务流分析
学生选课系统的业务流程:
首先由管理员或者老师等具有录入权限的用户将各自权限围的信息进行录入处理,然后更新到数据库中。
有权限的用户可以对这些库信息进行修改和删除。
所有用户可以对信息进行查询。
2.1.5数据流分析
学生选课系统的数据流程:
首先由管理员或者老师等具有录入权限的用户将各自权限围的信息进行录入处理,然后更新到数据库中。
有权限的用户可以对这些库信息进行修改和删除。
所有用户可以对信息进行查询。
2.2可行性研究报告
1.技术可行性:
本系统采用Java语言进行开发,主要使用MVC三层结构进行系统架构,采用Jsp+Servelet+JavaBean技术实现。
Jsp页面主要实现视图层;Servlet实现控制器部分,负责进行流程控制,JavaBean实现模型部分,主要负责封装数据以及实现业务逻辑。
整个系统层次分明,清晰。
现有技术已经较为成熟,硬软件性能,环境条件良好,估计以现有技术条件可以实现该系统的功能目标。
所以,学生选课系统的开发在技术上可行。
2.经济可行性:
选课系统与传统的学生选课方法相比,具有管理效率高,质量高,错误少等优点,而且传统选课方式需要耗费大量的人力,物力,非常不可取。
放眼当前,各大高校都具有良好的信息化处理设施。
且拥有支持本系统的应用平台,所以无需投入太多资金购买设备。
另外,本系统的开发基于本人对程序开发的实践经验二来,学校无需资金投入,且开发过程中投入的成本不高,所以,综合来看,学生的开发在经济上是可行的。
3.社会可行性:
本系统的社会可行性主要从法律因素来看,本系统是本人根据学生选课的实际情况开发研制的,且都是在独立环境下完成的,无可供抄袭的软件产品。
从用户使用方面来看,本系统只需要使用者具有基本的电脑知识即可,无需另外的技术能力。
总而言之,本系统具有社会可行性。
2.3数据库选择
随着信息技术的发展,计算机的处理数据的方式也发生着变化,数据库的选择面临了多样性。
而选课系统的后台数据库,我选择了MySQL来编写,MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于 Oracle 旗下公司。
MySQL最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件之一。
与其他数据库软件相比,MySQL具有以下优点:
1.使用C和 C++编写,并使用了多种编译器进行测试,保证了源代码的可移植性。
2.支持 AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统。
3.优化的 SQL查询算法,有效地提高查询速度。
4.支持大型的数据库。
可以处理拥有上千万条记录的大型数据库。
5.MySQL是开源的,所以你不需要支付额外的费用。
6.MySQL是可以定制的,采用了 GPL协议,你可以修改源码来开发自己的MySQL系统。
7.在线DDL/更改功能,数据架构支持动态应用程序和开发人员灵活性
所以,综合考虑,此次我选择了MySQL软件来作为数据库的编写软件。
此外,本系统的数据库详细设计如下:
数据库一共有Student表,Teacher表,Admin表,Course表四表。
其中教师表有教师、教师工号、教师职称、教师所属系等属性;学生表有学生、性别、密码、籍贯、学生学号和学生所在系等属性;课程表有课程名称、学分、课程性质、开课系、课程人数;管理员表有管理员工号、、密码、性别等属性。
2.4运行环境
本系统运行环境为单环境,在运算时对对系统整体性能要求较高,要求:
软件系统环境:
Eclipse,tomcat6.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数据流程图
用户
图1数据流图
F8
核对
F5
更新
F1
被选
信息
F3
已接
选课
F4
已更新信息
1.1
查看
选课
1.2
接受
选课
1.3
更新
信息
1.4
处理
信息
D4信息
F6
提交
D4选课信息
F7
生成
1.5
生成
查询
F2
发送
信息
F9
修改
信息
F10
更新
信息
D4课程信息
1.6
课程
管理
F11
修改
信息
管理员
F13
修改
信息
1.7
学生
管理
F12
更新
信息
D2学生信息
1.7
管理
F15
查看
信息
F14
修改
信息
4.详细设计
4.1系统E-R图示
图1为学生信息实体E-R图
图1
图2为教师信息实体E-R图
图2
图3为管理员实体E-R图
图3
课程
课程编号
学年
名称
学分
学期
学时
类别
图4为课程实体E-R图
图4
4.2模块设计
学生选课系统主要分为三个模块,管理员模块,教师模块,学生模块,三者既有联系又有区别,每一个模块都有不同的功能与权限,如管理员模块,可以对课程的开设,可以对教师及学生进行管理,可以增加学生,也可以删除老师,是拥有最大权限的用户。
而教师与学生的权限便少了很多,只能进行简单的信息查询,查询课程和选择课程了。
1管理员管理模块
管理员模块是本系统中权限最大的模块,拥有多个系统管理功能。
所以,管理员模块拥有多个子模块,分别是教师管理模块,学生管理模块,个人信息修改模块,课程管理模块。
教师和学生管理模块是对教师和学生基本信息的管理,可以对学生和教师进行简单的添加与删除。
课程管理模块主要的功能是查询已开设课程的详细信息,及开设新的课程。
个人信息管理模块主要是对个人登录密码的修改。
管理员模块的流程图如下图。
管理员模块主要涉及的jsp文件与Java文件如下表
功能名称
页面设计(jsp)
功能代码(Java)
开设课程
addCourse.jsp
addCourse.java
查看课程
lviewCourse.jsp
lviewCourse.java
添加教师
addTeacher.jsp
addTeacher.java
删除教师
deleteTeacher.jsp
deleteTeacher.java
查询教师
viewTeacher.jsp
viewTeacher.java
添加学生
addStudent.jsp
addStudent.java
删除学生
deleteStudent.jsp
deleteStudent.java
查询学生
viewStudent.jsp
viewStudent.java
修改密码
updateKey.jsp
updateKey.java
2教师管理模块
教师模块功能相对于管理员模块较少,主要涉及于教师基本信息管理,例如修改个人登录密码,和基本的课程信息查询。
教师模块的流程图如下图。
教师模块主要涉及的jsp文件与Java文件如下表
功能名称
页面设计(jsp)
功能代码(Java)
查询课程信息
viewCourse.jsp
addCourse.java
修改密码
updateKey.jsp
updateKey.java
查看学生信息
viewStudent.jsp
viewStudent.java
3学生管理模块
学生模块主要功能为选择课程,此外,还具有简单的查询功能,与修改个人密码。
学生用户登录后可以对已开设的课程进行查询,更加方便课程的选择,从而进行选课,也可以更改自己的登录密码。
具体设计如下。
学生模块流程图如下
学生模块主要涉及的jsp文件与Java文件如下表
功能名称
页面设计(jsp)
功能代码(Java)
查询课程信息
viewCourse.jsp
addCourse.java
修改密码
updateKey.jsp
updateKey.java
选择课程
selectCourse.jsp
selectCourse.java
4.3数据表
数据库的设计涉及于表的各个成员属性,本系统共有四表,admin表,teacher表,student表,course表。
各个的表的详细信息及数据如下图。
所有数据表的具体信息如下图:
Student
列名
数据类型
数据长度
是否为空
账号
int
4
否
Varchar
20
否
系别
Varchar
20
否
年龄
Int
4
否
已修学分
Int
4
否
密码
Varchar
30
否
性别
Varchar
20
否
年级
Varchar
20
否
籍贯
Varchar
20
否
班级
Varchar
20
否
学号
int
4
否
输入数据后,Student表
Teacher
列名
数据类型
数据长度
是否为空
账号
int
4
否
Varchar
20
否
系别
Varchar
20
否
职称
Varchar
20
否
密码
Varchar
30
否
性别
Varchar
20
否
籍贯
Varchar
20
否
工号
int
4
否
输入数据后,如下表
Admin表
列名
数据类型
数据长度
是否为空
账号
int
4
否
Varchar
20
否
密码
Varchar
30
否
性别
Varchar
20
否
工号
int
4
否
当表键入数据时
Course表
列名
数据类型
数据长度
是否为空
课程编号
int
4
否
名称
Varchar
20
否
学年
Varchar
20
否
学期
Varchar
2