学生选课系统的设计与实现.docx
- 文档编号:10217687
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:36
- 大小:594.86KB
学生选课系统的设计与实现.docx
《学生选课系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《学生选课系统的设计与实现.docx(36页珍藏版)》请在冰豆网上搜索。
学生选课系统的设计与实现
青岛农业大学
毕业论文(设计)
题目:
学生选课系统的设计与实现
姓名:
学院:
理学与信息科学学院
专业:
计算机科学与技术
班级:
学号:
指导教师:
2015年5月30日
学生选课系统的设计与实现
摘要:
基于JSP的学生选课系统是一套典型的B/S架构的网络系统,其开发的主要方面是后台数据库的建立和维护,次要部分为前台应用程序的设计。
本系统功能完善,可使高校的选课系统从纯手工中解脱出来,使高校的学生选课变的高效,方便,有序,其实用性强,用户界面友好,有助于加快高校的信息传递和智能建设,并为高校整体实现信息化管理体系作好铺垫。
关键词:
MYSQL;JSP;学生学生选课;B/S
StudentcourseselectionsystembasedonWeb
(SchoolofInformationScienceandEngineering,ShandongNormalUniversity)
Abstract:
BasedonJSPstudentcourseselectionsystemisatypicalB/Snetworksystem,itsdevelopmentmainlyincludestheapplicationdevelopmentintheprecedingandthebackstagedatabasetheestablishmentandthemaintenanceoftwoaspects.Thesystemhasperfectfunction,canmakethecoursesystemofcollegesanduniversitiesfreedfromthehand,torealizetheautomationoftheelectivesystem,standardization,rationalization,scientific,practicability,friendlyuserinterface,helptospeeduptheinformationtransmissionandtheintelligentconstruction,andforthehighschoolinformationmanagementsystemforthewholebedding.
Keywords:
MYSQL;JSP;Studentcourseselection;B/S
引言
当今社会,计算机技术迅速向着集成化、网络化方向发展。
传统的只能在个人计算机上自己使用的软件正在逐渐退出舞台,支持在网络上使用、并且支持可以存储多种数据信息(多媒体)的网络版应用软件变成了当前软件潮流的主流,而目前网络版软件中存在着两种不同的结构,一种是采用客户端——服务器来构成软件主体的的C/S结构应用系统,这类软件具有结构严谨,运行效率高,服务器端压力小,安全性好等优点,同时其应用程序升级和客户端维护比较困难。
而另一种,是本毕业设计所采用的,也是在现在的java开发中最常用的一种结构浏览器——服务器的B/S结构应用系统,它的特点是将客户端直接采用了功能强大的浏览器软件作为替代,其优点在于软件开发效率高,客户端不受操作平台的限制、也不受地域的限制,网络传输量少,既适合在局域网上使用,也适合在Internet上使用,而且投资小、见效快,用户可以不必进行服务器方面的投资,而是去租用,甚至是免费使用ISP的服务器资源,因而受到越来越多中小型单位的青睐[1]。
本系统运用了B/S结构开发的。
科技在以惊人的速度不断的发展,更新,于此同时,计算机技术的发展尤为引人注目,其强大的功能已为人们所认识,所熟知,它已进入人类社会的各个领域并发挥着越来越重要的作用。
使用基于web的学生选课系统对学生选课信息进行管理,具有手工管理所无法比拟的优点.例如:
查找很方便、检索速度快、存储量大、可靠性高、保密性好、寿命长、成本低等。
这些优点能够极大地提高学校管理学生课程安排的效率,也是科学化、条理化管理,与世界接轨的重要条件。
第1章.集成环境及开发工具
1.1系统环境配置
●WINDOWS/Unix/Linux操作系统
●MySQL数据库
●WEB服务器:
Tomcat6.0
1.2硬件要求
●内存:
最低512MB(推荐配置1GB)
●硬盘:
40G
1.3开发工具
●MyEcplise
MyEclipse是Eclipse的插件集成,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。
●MySql
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL的SQL语言是用于访问数据库的最常用标准化语言。
MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。
●Tomcat
Tomcat服务器是一个免费的开放源码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下使用的很多,对于Jsp的调试开发很方便。
对于新手来说,可以理解为当一台计算机上配置好APache服务器,可以用它响应对HTML页面的访问请求。
实际上tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立进程单独运行的。
第2章.系统分析
2.1需求分析
本系统主要是针对各个高校的学生选课进行管理,系统满足以下几点要求:
●系统安全性。
由于此系统中的操作都是由用户操作的,所以对于用户的权限设置很严格。
在数据库中,不同的用户设置不同的权限,不同权限进入不同的界面,为了防止数据出现并发的现象,不同的数据的操作必须由对应数据的用户来操作,并且对于管理员来说,不同的管理员只允许对自己所管理的信息进行编辑,无权对其他管理员管理的信息进行操作。
●系统内容的全面性。
学生学生选课系统不仅是对课程信息的基本管理,而且还对课程的维修、删除各方面都有很好的管理,并且拥有不同的管理权限的用户可操作的内容也是不同的,因此,本系统不仅能够很好的满足管理人员的需要,还能使普通用户可以快捷、简便、安全地使用本系统。
●可扩展性。
站点的数据承载量、功能模块的单个或整体调整都可以满足变化的需要,这种适应性称为可扩展性。
学生选课系统的可扩展性,体现在不同用户需要处理不同类型的数据、数据与用户之间进行交互、数据要符合个人用户的使用需求、多表查询系统化、避免性能下降等方面。
●易维护性。
由于本系统采用B/S结构,因此系统的升级只需要在服务器端完成,更新软件系统的数据库、文件也只需要在服务器端更新即可。
在进行系统的维护时,只需要远程登录服务器系统,减少了维护系统的成本和周期[3]。
2.2可行性分析
学生课程种类繁多,数据量大,采用人工的方法进行管理控制不仅工作量大而且容易出错。
因此采用B/S管理显得方便准确许多。
技术上:
建立学生选课系统可以采用常用的设计语言——JSP语言,用MYSQL数据库完成。
管理上:
系统简单易操作,只要对管理员进行简单的培训,并且制定相应的规章制度,即可立即投入使用。
经济上:
系统的建立可降低管理成本。
通过本系统,把本校的学生信息,课程信息和学生成绩数据有效的组织起来。
有效的管理学生信息和选课情况,提高工作效率,减轻工作量。
第3章.系统设计
3.1系统目标
学生选课信息系统以计算机为工具,让学生选课更方便,通过对教务管理所需的信息管理,减轻行政人员的工作负担,使教学办公室对学生课程的管理更方便,把管理人员从繁琐的数据安排处理中解脱出来,使其有更多的精力从事教学计划的制定执行和教学质量的监督检查[4],从而全面提高教学质量。
计算机的功能是受到限制的,因此要充分利用JSP的功能,设计出功能强大的软件,同时要尽可能减少对系统资源的占用。
3.2系统功能描述
学生选课系统主要实现的是对学生的学籍、课程和成绩的管理。
首先,对用户设置不同的权限,根据不同的权限进入不同的页面[5]。
其次,对于所输入的用户名和密码进行验证。
最后,成功登录的话:
1、如果是学生页面,登录到个人管理页面,其中包括个人信息、个人课表、所选课程、成绩查询及密码修改。
2、如果是管理员页面,管理员可以对出错学生信息进行修改,对课程进行添加、修改、删除,也可以查看所有学生的成绩,所有选修了该课程的学生,以及对教师信息进行添加、修改、删除,查看教师是否已经提交学生成绩。
3、如果是教师页面,可以对教师个人信息进行修改,密码修改,所任教的课程学生成绩的录入等等。
系统功能主要划分学生管理子系统、教师管理子系统、管理员管理子系统3大模块。
其中学生操作模块包括个人信息维护、选课管理、成绩查询这几个小模块。
管理员操作包括后台学生信息管理、选修课程信息管理、教师信息管理、成绩管理这几个小模块。
教师管理子系统包括课程成绩录入、教师个人信心修改等。
系统根据登录用户的身份,进入不同的界面,进行不同的功能操作。
系统的3个大模块划分如图3-1所示。
图3-1系统模块结构图
1、学生管理子系统包括以下几个模块,如图3-2所示:
图3-2学生管理子系统结构图
在学生操作管理系统中,方便学生在网上查询个人信息、成绩、选课以及维护个人信息。
下面具体介绍每个子功能模块。
(1)学籍信息管理:
该模块包括不可录入的基本信息和可录入的基本信息,学生可以核对不可录入的信息,对于有错的信息可以通过管理员来修改。
其它可录入的信息,学生可以进行修改,提交后数据库更新相关信息。
此模块完成的就是学生个人信息的查询、更新这些维护管理操作。
(2)选课管理:
该模块包括对课程选择和查看。
课程表列出了所有开设的课程,同时列出授课教师,上课时间,教室等这些数据项信息。
学生可以根据自己的情况将课号输入选择框中,点提交就可以添加该课程,学生如果想换课程,可单击所选课程后面的删除,重新选择课程[6]。
(3)成绩管理:
添加此模块,可以方便学生在网上直接查看自己的成绩,不用特意到学校去咨询,或等待邮寄信。
这样不紧方便了学生,也减轻了教务处的负担,也正是该系统方便、快捷、及时的特点。
1、管理员操作管理包括以下几个模块,如图3-3所示
图3-3管理员子系统结构图
管理员子系统是主要的管理系统,方便管理学生信息,教师信息和课程信息。
便于查询学生学籍信息,添加学生学籍信息及修改。
下面具体介绍模块功能。
(1)学生信息管理:
该模块包括学生信息的查询,添加,修改及删除功能,方便管理学生信息,
(2)教师信息管理:
该模块包括教师个人信息管理和教师所教课程成绩管理功能,方面查看教师信息。
(3)课程信息管理:
该模块包括课程添加,修改,查询及删除功能,方便管理课程信息。
1、教师管理子系统包括以下几个方面,如图3-4所示。
图3-4教师管理子系统结构图
教师管理子系统是用来管理学生成绩,便于教师录入学生成绩而添加的功能。
下面具体介绍几个模块的功能[7]。
(1)教师个人信息管理:
登陆密码的修改及个人信息的修改,便于教师修改个人信息。
(2)学生成绩管理:
方便教师添加学生成绩和修改学生成绩。
第4章.数据库设计
4.1数据库总体设计
需要创建的四个实体有学生,管理员,教师,课程。
各个表的参数[10]为:
(1)学生表student表(学号xuehao,性别sex,年龄age,姓名name,籍贯jiguan,院系dept,登陆密码mima,专业apart,民族minzu,学制xuezhi);关键字是学号xuehao。
(2)管理员表admin表(登录名name,密码mima);关键字name。
(3)教师表teacher表(工号gonghao,姓名tname,密码mima,课程号cno,职称zhicheng);关键字是工号gonghao。
(4)课程表course表(课程号cno,课程名cname,学分score,先修课pxiu,时间sj,上课教室skjs);关键字是课程号cno。
(5)选课表cno表(课程号cno,学号xuehao,分数grade);关键字是课程号cno和学号xuehao。
4.2实体E-R图
下图所示:
图4-5数据库E-R图
4.3数据库的创建语句
1、创建admin表的语句,
CREATETABLE`admin`(
`mima`char(255)NOTNULLDEFAULT'',
`name`char(255)DEFAULTNULL,
PRIMARYKEY(`mima`)
)ENGINE=InnoDBDEFAULTCHARSET=utf8
2、创建course表的语句,
CREATETABLE`course`(
`cno`char(255)NOTNULL,
`cname`char(255)DEFAULTNULL,
`score`char(255)DEFAULTNULL,
`pxiu`char(255)DEFAULTNULL,
`sj`char(255)DEFAULTNULL,
`skjs`char(255)DEFAULTNULL,
PRIMARYKEY(`cno`)
)ENGINE=InnoDBDEFAULTCHARSET=utf8
3、创建sc表的语句,
CREATETABLE`sc`(
`cno`char(255)NOTNULL,
`xuehao`char(255)NOTNULL,
`grade`char(255)DEFAULTNULL,
PRIMARYKEY(`cno`,`xuehao`)
)ENGINE=InnoDBDEFAULTCHARSET=utf8
4、创建student表的语句,
CREATETABLE`student`(
`xuehao`char(255)NOTNULLDEFAULT'',
`sex`char(255)DEFAULTNULL,
`age`int(11)DEFAULTNULL,
`name`char(255)NOTNULL,
`jiguan`char(255)DEFAULTNULL,
`dept`char(255)DEFAULTNULL,
`mima`char(255)DEFAULTNULL,
`apart`char(255)DEFAULTNULL,
`minzu`char(255)DEFAULTNULL,
`xuezhi`char(11)DEFAULTNULL,
PRIMARYKEY(`xuehao`)
)ENGINE=InnoDBDEFAULTCHARSET=utf8
5、创建teacher表的语句,
CREATETABLE`teacher`(
`gonghao`char(255)NOTNULL,
`tname`char(255)DEFAULTNULL,
`mima`char(255)DEFAULTNULL,
`zhicheng`char(255)DEFAULTNULL,
`cno`char(255)DEFAULTNULL,
PRIMARYKEY(`gonghao`)
)ENGINE=InnoDBDEFAULTCHARSET=utf8
第5章.系统模块程序实现
5.1登陆界面设计
学生,教师和管理员通过一个登陆界面登陆系统,选择不能权限进入系统,跳转不同的管理页面。
登陆界面设计如图5-6所示,管理员,学生和老师根据自己的实际情况选择相应的身份,输入自己的登录名和密码,然后点击下面的登录图标,如果登录名和密码输入正确,就可以正式进入系统,,进行相应的操作,否则,则会提示错误信息。
图5-6登陆界面设计
实现登陆界面源代码
if(xuehao.equals("")||mima.equals("")){
response.sendRedirect("index.jsp");
}
else{
admina=newadmin();
ResultSetrs=a.sload1(xuehao);
Stringmima1;
try{
if(rs.next()){
mima1=rs.getString("mima");
if(mima.equals(mima1)){
ResultSetr=a.sload(xuehao);
if(r.next()){
response.sendRedirect("student.jsp?
xuehao="+xuehao);
}
else{
response.sendRedirect("alert.jsp");
}
}
else{
response.sendRedirect("alter.jsp");
}
}
else{
response.sendRedirect("alter.jsp");
}
rs.close();
}catch(SQLExceptione){
response.sendRedirect("alter.jsp");
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
if(kind.equals("teacher")){
Stringmima,gonghao;
gonghao=request.getParameter("name");
gonghao=newString(gonghao.getBytes("ISO-8859-1"));
mima=request.getParameter("mima");
mima=newString(mima.getBytes("ISO-8859-1"));
if(gonghao.equals("")||mima.equals("")){
response.sendRedirect("index.jsp");
}else{
admina=newadmin();
ResultSetrs=a.tload(gonghao);
Stringmima1;
try{
if(rs.next()){
mima1=rs.getString
(1);
if(mima.equals(mima1)){
ResultSetr=a.tload1(gonghao);
if(r.next()){response.sendRedirect("teacher.jsp?
gonghao="+gonghao);
}
}
else{
response.sendRedirect("alter.jsp");
}
}
else{
response.sendRedirect("alter.jsp");
}
rs.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
}
if(kind.equals("admin")){
Stringname,mima;
name=request.getParameter("name");
name=newString(name.getBytes("ISO-8859-1"));
mima=request.getParameter("mima");
mima=newString(mima.getBytes("ISO-8859-1"));
if(name.equals("")||mima.equals("")){
response.sendRedirect("index.jsp");
}
else{
admina=newadmin();
ResultSetrs=a.load(name);
Stringmima1;
try{
if(rs.next()){
mima1=rs.getString("mima");
if(mima.equals(mima1)){
response.sendRedirect("administraterpage.jsp?
adminname="+name);
}
else{
response.sendRedirect("alter.jsp");
}
}
else{
response.sendRedirect("alter.jsp");
}
rs.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
5.2学生管理子系统
学生管理子系统包括选课管理、修改登陆密码和查询学生成绩和个人信息等功能。
本模块是专门针对学生查询成绩等信息,进行选课等操作而进行设计,学生在正确登录系统后,可以根据自己的需要进行学籍信息查询、选课、成绩查询、修改密码等操作。
登陆学生管理系统的界面如图5-7所示,
图5-7查询学生成绩
众所周知,学校学生课程繁多,如果仅仅依靠人工操作进行选课,那么就会造成所用时间繁多,而且容易出错。
给学生的正常上课造成麻烦,而通过选课管理模块,学生就可以自己通过本系统进行选课,而且还可以在规定的时间内进行更改自己所选择的课程。
选课管理的界面如图5-8所示,学生在选课时可以查看课程号,课程名,学分,选课时间,上课教室等信息,便于学生根据自己的实际情况选择自己需要的课程。
图5-8选课管理界面
学校学生众多,而对学生的信息进行管理又是极其重要而又繁重的工作,如果仅仅依靠少量的工作人员势必不能满足学生的需要。
设计次模块的目的就是为了方便工作人员和学生进行相应的管理。
学生和管理人员可以在本模块中修改自己可以修改的信息,例如手机号码,电子邮箱等可能会变更的信息。
学生信息管理的界面如图5-9所示,
图5-9学生信息管理
在本系统中,每个人都有自己相应的登录名和密码,确保自己的用户名和密码的安全性是十分重要的,因为一旦自己的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 选课 系统 设计 实现