完整版基于JSP的学生选课系统的设计与实现毕业论文.docx
《完整版基于JSP的学生选课系统的设计与实现毕业论文.docx》由会员分享,可在线阅读,更多相关《完整版基于JSP的学生选课系统的设计与实现毕业论文.docx(30页珍藏版)》请在冰豆网上搜索。
完整版基于JSP的学生选课系统的设计与实现毕业论文
廊坊师范学院
本科毕业论文
学号:
姓名:
李永兴
年级:
2009级
专业:
计算机科学与技术
论文题目:
基于JSP的学生选课
系统的设计与实现
指导教师:
万里威
廊坊师范学院本科生毕业论文(设计)
论文题目:
基于JSP的学生选课系统的设计与实现
论文摘要:
目前,运用先进的信息管理系统及软件平台对信息进行科学化和网络化管理己经成为高校信息管理系统的发展趋势,先进的信息管理手段极大提高了信息管理过程的效率和质量。
学生选课过程是高校信息管理的一个重要环节,传统的学生选课过程往往采用人工方式进行管理,管理方法落后、效率低、质量差,对学生选课过程进行信息化管理势在必行。
本系统主要是针对本院系学生进行公共课选修所开发的一款系统,主要采用的是MVC三层架构和JSP+Servlet+JavaBean技术。
本系统的开发严格遵循软件工程的开发过程。
在开发过程中首先进行需求分析,确定了其主要的业务流程和信息交互的内容,然后又结合了学校对选课过程的管理标准和要求对系统进行功能设计和数据库设计,最后用Java语言编码实现。
关键词:
JSP;Servlet;Javabean;MVC
Title:
DesignandimplementationofstudentcourseselectionsystembasedonJSP
Abstract:
Atpresent,theuseofadvancedinformationmanagementsystemandsoftwareplatformtoconductscientificinformationandnetworkmanagementmanagementsystem,advancedinformationmanagementtoolscangreatlyimproveefficiencyandqualityintheprocessofinformationmanagement.Studentcourseselectionprocessisanimportantlinkinuniversityinformationmanagement;traditionalstudentselectionprocessoftenusesartificialmanagementwayandbackwardmanagementmethods,whichleadstolowefficiencyandpoorquality.Usinginformationmanagementwayforstudentselectionprocessisimperative.Thissystemismainlyaimedatthecollegestudentsofpublicelectivecourse,anditusesthethreelayersoftheMVCarchitectureandJSP+Servlet+Javabeantechnology.Thedevelopmentprocessofthissystemstrictlyfollowsthesoftwareengineering.Intheprocessofdevelopingtherequirementanalysisiscarriedfirstly,whichdeterminesthemainbusinessprocessandinformationcommunicationinteractivecontent,andthenmakesthefunctionaldesignandthedatabasedesignofthesystemcombinedwiththeschoolonthecourseofprocessmanagementstandardsandrequirementsof,finallyusingJavalanguagecode.
Keywords:
JSP;Servlet;Javabean;MVC
第1章绪论1
1.1系统开发背景及意义1
1.2研究论文内容1
1.2.1即时通信原理1
1.2.2swing技术2
1.3可行性分析2
1.3.1技术可行性2
1.3.2经济可行性2
1.3.2硬件可行性2
第2章需求分析2
2.1系统基本功能分析3
2.2系统的非功能性需求7
2.2.1正确性要求7
2.2.2健壮性要求7
2.2.3精度要求7
2.2.4易用性要求7
2.2.5安全性要求7
2.2.6时间特性要求8
第3章系统设计8
3.1系统总体设计原则8
3.2系统设计思想8
3.2.1cs设计模式介绍8
3.3数据库设计9
3.3.1数据库表设计9
3.4系统类设计10
第4章系统实现12
4.1系统开发技术介绍12
4.2系统开发工具介绍13
4.3系统主要功能的实现13
4.3.1注册功能的实现13
4.3.2登录功能的实现14
4.3.3聊天功能的实现15
4.3.4密码修改的实现17
4.3.5用户管理的实现18
第5章软件测试与分析19
5.1系统测试的目的及意义19
5.2软件测试的常用方法20
5.3测试环境20
5.4测试总结20
第6章结束语21
参考文献22
致谢23
第1章绪论
1.1系统开发背景及意义
计算机的出现给人类社会带来了第三次工业革命,计算机和计算机网络已经深入到了各行各业、各个领域。
21世纪是一个信息化的时代,现代计算机技术的发展,为各行各业的发展创造了一个全新的时代背景,人们的生活、工作已经越来越离不开计算机技术的运用。
当前的管理信息系统已经发展为集成了计算机网络技术、通信技术、信息处理技术,对信进行收集、传递、存储及加工处理,用于辅助决策进行事务管理的一种人机交互的智能化计算机系统。
在学校中,信息管理系统已经涉及到教育教学的各个方面,从学生教师管理到考试安排、成绩统计等,都通过信息管理系统来高效地运作。
同时,学校管理中的学生选课过程也提出了相应的要求。
为了满足学生选课管理的要求,需要设计与制作一个学生选课系统。
传统的学生选课过程往往采用人工方式进行管理,管理方法落后、效率低、质量差,而基于计算机技术的学生选课系统实现了对整个学生选课过程的系统化、规范化、无纸化管理。
学生选课系统对用户而言操作起来简便快捷,能减轻学生、教师的劳动强度,提高工作效率与管理水平,具有很大的使用价值。
1.2研究现状
现在很多学校仍然采用手工方式管理学生选课过程,随着学校学生人数的增加和新课程的不断开设,必然会造成工作效率低、错误增加等严重问题。
有些高校已经意识到自己学生选课管理过程中存在的问题,并且开始着手设计与开发现代化的学生选课系统;个别高校的学生选课系统已经开始投入运行,并受到全体学生和老师的一致好评。
由于学校与学校之间对学生选课环节的具体管理标准和要求不同,设计与开发针对本校的学生选课系统仍旧势在必行。
1.3可行性分析
可行性分析也称为可行性研究,是在调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会等方面进行分析和研究,以避免投资失误,保证新系统的开发成功[2]。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
下面将分别从技术、经济、社会三个方面对网络教学平台的建设进行分析和研究。
1.3.1技术可行性
技术可行性:
系统采用Java语言进行开发,主要使用MVC三层结构进行系统架构,采用JSP+Servlet+Javabean技术实现。
JSP页面主要实现视图层;Servlet实现控制器部分,负责进行流程控制;Javabean实现模型部分,主要负责封装数据及实现业务逻辑。
整个系统层次划分清晰、明确。
现有的技术已较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目标。
同时,考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发的。
学生选课系统的开发在技术上可行。
1.3.2经济可行性
传统学生选课过程主要采用手工方式进行管理,管理效率低、质量差、错误多,需要耗费大量的人力、物力。
各大高校具有信息化的处理设施,并且拥有支持本系统的应用平台,因此无需再投入资金购买其他设施。
系统的开发基于本人对程序开发的实践学习而来,学校无需资金投入,并且软件开发过程投入的成本不高,因此开发经费完全可以接受。
学生选课系统的开发在经济上可行。
1.3.3社会可行性
本系统的社会可行性主要从法律因素、用户使用可行性两方面进行研究。
(1)法律因素
本系统是根据学生选课的实际情况开发研制的,是通过大量的调研得出的,系统的软件设计是在独立的环境下完成的,无可供抄袭的软件产品。
(2)用户使用可行性
本系统对用户的要求,除了需要具备在MicrosoftWindows平台上使用个人电脑的知识外,并不需要特别的技术能力。
使用系统的管理员,需要具备对Tomcat服务器的使用能力,在投入使用前,无需对操作系统的人员进行培训。
这样既减少投入成本又简化了操作环节。
、
由以上分析可知,本系统具有社会可行性。
第2章需求分析
2.1学生选课系统介绍
学生选课管理工作是学校教务管理系统中一个非常重要的环节,它负责安排整个学校学生和教师的上课情况。
高效、现代化的学生选课管理可以提高学校教务管理的效率,降低人力、物力的投入,减少选课过程中发生的错误。
学生选课系统是一个面向学校教务管理人员、任课教师和学生,可以为他们提供高效、现代化、科学的选课管理过程,是现代高校进行选课管理必不可少的办公软件。
学生选课系统采用BS模式开发。
2.2系统的功能性需求
通过对学生选课系统进行需求分析,可以确定学生选课系统主要有三类用户:
系统管理员、教师和学生。
每类用户实现的功能各不相同,下面分别针对每类用户介绍系统的功能。
系统管理员通过本系统可以实现密码修改功能、系统管理功能、课程管理功能、老师管理功能、课表管理功能、学生管理功能、登录功能。
管理员的系统用例图如下图所示。
图2-1管理员用例图
学生通过本系统可以查看个人信息、在线选课、查看课表、登录系统。
学生用例图如下图所示。
图2-2学生用例图
教师通过本系统可以查看个人信息、登录系统、查看课表。
教师用例图如下图所示。
图2-3教师用例图
通过对系统功能的进一步分析,可以得到各个用例的详细描述。
由于系统用例过多,现选取登录系统、在线选课、查看课表等几个系统主要用例进行详细描述。
如下表所示。
表2-1用例描述表
用例名称
用例描述
登录系统
Ø用例说明:
用户对登录系统功能的使用
Ø前置条件:
系统运行正常
Ø基本事件流:
1.用户发出使用系统请求
2.系统显示登录页
3.用户输入用户名和密码
4.系统进行用户验证
5.系统显示用户登录后首页
Ø次要事件流:
4.1.1用户输入的用户名或密码不正确
4.1.2系统给出相应提示
4.1.3返回基本事件流2
Ø后置条件:
系统准备处理下一个用户请求
在线选课
Ø用例说明:
学生实现在线选课功能
Ø前置条件:
学生已成功登录系统且系统运行正常
Ø基本事件流:
1.学生向系统发出选课请求
2.系统向学生显示选课列表
3.学生选择相应课程
4.系统对能否选课进行判断
5.系统向用户显示选课成功
Ø次要事件流:
4.1.1当前课程不可重复选择
4.1.2系统给出提示
4.1.3返回基本事件流2
后置条件:
无
查看课表
Ø用例说明:
用户实现查看课表功能
Ø前置条件:
用户成功登陆系统
Ø基本事件流:
1.用户向系统发出查看课表请求
2.系统检索当前课表
3.系统向用户显示课表
Ø次要事件流:
2.1.1当前系统中无课表信息
2.1.2系统向用户无课表信息
2.1.3返回基本事件流1
Ø后置条件:
无
密码修改
Ø用例说明:
管理员实现修改密码功能
Ø前置条件:
管理员成功登录系统
Ø基本事件流:
1.管理员向系统发出修改密码请求
2.系统提示管理员输入原密码和新密码
3.管理员输入原密码和新密码
4.系统验证管理员输入是否为空
5.系统验证原密码是否正确
6.系统处理管理员修改密码请求
7.系统向管理员显示密码修改成功的消息
Ø次要事件流:
4.1.1管理员输入的原密码和新密码中至少存在一项为空
4.1.2系统提示管理员新密码或原密码为空
4.1.3返回基本事件流2
5.1.1管理员输入的原密码不正确
5.1.2系统提示管理员原密码不正确
5.1.3返回基本事件流2
Ø后置条件:
密码修改成功
添加课表
Ø用例描述:
管理员实现添加课表功能
Ø前置条件:
管理员成功登录系统
Ø基本事件流:
1.管理员向系统发出添加课表请求
2.系统向管理员显示添加课表界面
3.管理员向系统发出添加课程请求
4.系统显示当前课添加课程
5.管理员添加课程
6.管理员添加上课时间、节次、上课教室
7.管理员添加任课教师
8.管理员发出添加完成请求
9.系统处理请求
10.课表添加完成
Ø次要事件流:
4.1.1系统中不存在课程信息
4.1.2系统给出系统中不存在课程信息的提示
4.1.3返回基本流1
7.1.1系统中不存在任课教师信息
7.1.2系统给出不存在任课教师信息的提示
7.1.1返回基本流1
9.1.1管理员添加课表与原有课表冲突
9.1.2系统给出课表与原有课表冲突的提示信息
9.1.3返回基本流1
Ø后置条件:
表2-1用例描述表
2.3系统的非功能性需求
2.3.1正确性要求
系统能够正确地将用户分为系统管理员、教师和学生三类,并能够分类处理每类用户的请求。
系统应能够准确获取外部信息以及用户操作,并进行正确的数据处理,最后将结果存入数据库中。
学生在线选课过程中,要求系统对学生的重复选课选课做出正确判断并给出相应提示信息。
2.3.2健壮性要求
该系统部署后,在硬件条件和支持软件条件没有发生变化的情况下,能够一直保持运行状态,直到系统被升级或替代。
本系统出现的错误多为数据库错误,应经常对数据库进行备份,必要时能够采取数据库恢复措施,解决系统出现的问题,保证系统正常运行。
2.3.3精度要求
系统处理的主要信息为学生、管理员、教师三类用户的个人信息以及涉及到选课的课程信息和课表信息,对数据精度无特殊要求。
2.3.4易用性要求
界面要求清晰醒目、布局合理、功能明确。
对各个功能辅以已让使用者容易接收的图标,并用色彩的区别加以提示,是使用者能够快速、准确的掌握正确使用该系统的方法和技巧。
对电脑使用熟练的用户适应操作方法所需时间不超过半个小时,知道电脑基本操作的用户经过简单培训,一小时就可以熟练掌握软件的使用方法。
2.3.5安全性要求
本系统不影响其他软件的正常运行,而且不会被人故意修改或植入恶意程序。
不会造成内存泄露,数据丢失等问题。
应能够保证用户数据和账号的安全。
2.3.6时间特性要求
对于信息查询操作,考虑到网络数据传输速度的影响,系统应在5秒之内给出结果。
对于其他操作,系统应在3秒内给出处理结果。
第3章系统设计
3.1系统总体设计原则
本系统为了设计、实现和后期维护的方便,以及系统用户使用的便利,所以必须采取一定的设计原则。
其主要设计原则有:
简单性:
在实现系统的功能的同时,尽量让系统界面简洁清晰、操作简单易懂,这对于一个系统来说是非常重要的。
针对性:
本系统设计是针对高校学生选课的需求定向开发设计,所以具有专业突出性和很强的针对性。
实用性:
要求本系统能够满足高校学生选课管理的需要,因此具有良好的实用性。
一致性:
页面整体设计风格以及命名规则的一致性:
整体框架和用图用色风格及变量、类名和其他元素的命名规则保持一致。
功能一致性:
完成同样的功能应该尽量使用同样的元素。
元素风格一致性:
界面元素的美观风格、摆放位置在同一个界面和不同界面之间都应该是一致的。
变量命名规则的一致性:
变量应该用统一的规则进行命名,做到任意变量均能从上下文推断其义。
3.2系统设计思想
3.2.1MVC设计模式介绍
MVC架构模式是模型(Model)、视图(View)和控制器(Controller)3个英文单词的首字母组合。
MVC模式是目前用的比较多的一种设计模式。
MVC包括三类对象:
Model是应用对象,View是在屏幕上的表示,Controller定义用户界面对用户输入的响应方式。
MVC应用程序设计结构有助于将应用分割成若干逻辑部件,是程序设计变得更加容易。
模型(Model):
“数据模型”(Model)用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。
“模型”有对数据直接访问的权力,例如对数据库的访问。
“模型”不依赖“视图”和“控制器”,也就是说,模型不关心它会被如何显示或是如何被操作。
但是模型中数据的变化一般会通过一种刷新机制被公布。
为了实现这种机制,那些用于监视此模型的视图必须事先在此模型上注册,从而,视图可以了解在数据模型上发生的改变。
视图(View):
视图代表用户交互界面,用来组织模型中的内容,从模型中获得数据并指定这些数据如何表现。
当模型变化时,视图负责维持数据表现的一致性。
视图同时将用户请求告知控制器。
一个应用程序可能有很多不同的视图,MVC设计模式对视图的处理仅限于视图上数据的采集和处理以及用户请求,而不包括在视图上的业务流程的处理。
业务流程交予模型处理。
控制器(Controller):
控制器的工作就是根据用户的输入,控制用户界面数据显示和更新模型对象状态。
控制器定义了应用程序的行为:
负责对来自视图的用户要求进行解释,并把这些要求映射成相应的行为,这些行为由模型负责实现。
模型所实现的行为包括处理业务和修改模型的状态。
根据用户要求和模型行为的结果,控制器选择一个属兔作为对用户请求的的应答。
通常一组相关功能集对应一个控制器。
MVC模式内部模型、视图和控制器三者之间的关系如下图所示。
图3-1MVC之间的关系图
3.3.2设计思想
本系统采用MVC设计模式进行设计,分别详细设计MVC中的模型、视图和控制器部分。
系统采用面向对象的设计方法,用实体类实现MVC中的模型部分,主要负责数据的封装和业务逻辑的实现;用边界类实现MVC中的视图部分,边界类即系统中负责数据显示的页面;用控制类实现MVC中的控制器部分,负责处理系统的业务流程。
3.3数据库设计
数据库设计是系统设计中非常重要的一个环节。
数据是一切系统设计的基础,通俗地说,数据库设计就像高楼大厦的根基一样,如果设计的不合理、不完善,将在系统开发过程中,甚至到后期的系统维护、功能变更和功能扩充时,引起较多问题,严重时甚至要重新设计,重做大量已完成工作。
3.3.1数据库表设计
(1)管理员信息表(t_admin)
管理员信息表主要用于系统管理员的信息,主要字段包括:
管理员编号、登陆账号、登陆密码。
表4-1管理员信息表(t_admin)
字段名
数据类型
字段描述
长度
约束
userId
Int
管理员编号
4
主键
userName
varchar
登陆账号
50
userPw
varchar
登陆密码
50
(2)课程信息表(t_kecheng)
课程信息表主要存储管理员发布的课程信息,主要字段包括:
课程编号、课程号、课程名称、课时。
表4-2课程信息表(t_kecheng)
字段名
数据类型
字段描述
长度
约束
id
int
课程编号
4
bianhao
varchar
课程号
50
主键
mincheng
varchar
课程名称
5000
keshi
varchar
课时
4
(3)学生信息表(t_xuesheng)
学生表主要存储学生的基本信息,主要字段包括:
学生编号、学号、姓名、性别、年龄、班级、登录帐号、登录密码等。
表4-3学生信息表(t_xuesheng)
字段名
数据类型
字段描述
长度
约束
id
int
学生编号
4
xuehao
varchar
学号
50
主键
xingming
varchar
姓名
50
xingbie
varchar
性别
50
nianling
int
年龄
4
banji
varchar
班级
50
loginname
varchar
登录帐号
50
loginpw
varchar
登陆密码
50
(4)老师信息表(t_laoshi)
老师信息表主要存储老师的基本信息,主要字段包括:
教师编号、教师号、姓名、性别、年龄、登录帐号、登录密码等。
表4-4老师信息表(t_laoshi)
字段名
数据类型
字段描述
长度
约束
id
int
教师编号
10
bianhao
varchar
教师号
50
主键
xingming
varchar
姓名
50
xingbie
varchar
性别
50
nianling
int
年龄
50
zhicheng
varchar
职称
50
loginname
varchar
登录账号
50
loginpw
varchar
登陆密码
50
(5)课表信息表(t_kebiao)
老师信息表主要存储课表的基本信息,主要字段包括:
课表编号、课程id、上课时间、节次、上课教室、老师id。
表4-5课表信息表(t_kebiao)
字段名
数据类型
字段描述
长度
约束
id
int
课表编号
10
kecheng_id
int
课程id
4
主键
外键
shijian
varchar
上课时间
50
主键
jieci
varchar
节次
50
jiaoshi
varchar
上课教室
50
laoshi_id
int
老师id
4
主键
外键
(6)学生选课信息表(t_xuesheng_xuanke)
老师信息表主要存储学生选课的基本信息,主要字段包括:
编号、学生id、课表id等。
表4-6学生选课信息表(t_xuesheng_xuanke)
字段名
数据类型
字段描述
长度
约束
id
int
编号
4
xuesheng_id
int
学生id
4
主键
外键
kebiao_id
int
课表id
4
主键
外键
3.4系统详细设