网上选课系统毕业论文模版.docx
《网上选课系统毕业论文模版.docx》由会员分享,可在线阅读,更多相关《网上选课系统毕业论文模版.docx(19页珍藏版)》请在冰豆网上搜索。
网上选课系统毕业论文模版
1引言
计算机网络的发展给我们的生活带来了显而易见的提升,计算机网络的应用广泛,也使之成为我们生活中不可或缺的一份子,利用网络技术不仅可以节约成本,同时还可以提高效率、安全性等等。
对于处理大量的、复杂的繁琐信息,计算机进行信息管理会将其高速、方便快捷的优点体现的淋漓尽致。
所以计算机进行信息管理有着不可或缺的作用以及极其明显的优点,本系统就是为了体现计算机对于学生选课信息处理的快捷性、便捷性和高速性。
对于每个高校来说,学生选课阶段都是一个信息需要高速处理,而且不能丢失出错的信息集聚区,因为在这个时间段有大量的信息需要进行反复处理,而且还容不得半点错误,如果说这些信息都是人工处理的话,那就是一个相当大的工程,而网上选课系统就能将这个看似庞大的工程变得简单快捷。
网上选课系统的出现对于每个高校来说都是至关重要的,而且相对于以前的人工方式的处理管理有着各种明显的优越性。
首先在效率方面,人工处理的效率大家可想而知,而且对于大量的信息肯定是还得需要一个团队来处理,分批进行处理;而计算机管理不仅可以处理大量的信息而且可以同时对于所有人的信息进行处理。
其次就是方便性,网上选课系统很明显就是可以支持同学可以在线同时进行选课,比较方便快捷的就能完成选课。
再一个就是对于长时间积累的大量数据信息,人工处理方式要进行查找起来可以说是很麻烦,而对于系统处理来说就是一个简单快捷的操作。
所以说,网上选课系统对于每一个高校来说都是一个必不可少的部分,不管是对于学校的管理者还是对于学生都提供了一个方便快捷的平台,在此系统的支配下,不仅节约了管理学生选课的人力资源,更有效的在短时间内把选课的各类信息整理到一块,而且使数据能够安全正确的保存。
2需求分析
需求分析对于开发一个系统起着至关重要的作用,它的作用就是通过分析要清楚的了解用户所需要的各种需求,并能够清晰的、准确的表达出这些需求。
试想一下,如果没有做好这些准备工作,如果一个系统投入了大量的人力、物力和财力,最终却不能达到用户的要求,那么所做的一切都是徒劳,所有投入进去的一切都将是浪费。
所以,根据之前做的一些调查在此详细的进行了描述,主要是有系统主要的用户群,以及对于不同的用户需要满足相应的功能要求,还有就是要达到什么样的用户界面效果,怎样的页面才能更加受用户群体的青睐,以下就是对这些方面进行的详细描述。
用户分类
该系统主要有两大用户:
学生和系统管理员。
网上选课系统就是为各高校提供快捷简单的选课服务,所以也是主要为学生和管理选课事务的管理员提供服务。
然后在针对在选课中学生以及管理员需要哪些功能要求,进行功能设计。
对于该学生管理系统会为学生和学校管理员提供不同的功能:
学生用户:
注册、密码找回、登录、个人信息、选择课程、查看已选和修改密码。
系统管理员:
登录、查看专业、查看课程、添加专业和课程、选课信息管理以及修改自己的登录密码和查看学生信息。
功能需求分析
1.学生用户的功能需求
(1)学生注册:
学生可在该页面进行信息注册,成功注册后会进入填写信息页面,主要是对于学生的一些信息进行填写,填写完成后会直接进入学生页面。
(2)学生登录:
学生通过在对应框中填入相应信息,如果填入正确的用户名和密码,则会在数据库中找到该用户信息,就会登陆成功;同时呢,也会查找到和该用户有关的信息,否则会出现登录失败提示。
(3)学生信息:
在学生登陆成功后,会自行进入展示该学生信息的页面,这些信息都是保存于学生表里的信息。
在学生成功登录的同时会把该同学所有的信息在数据库进行查找,并在此页面中显示。
(4)选择新课程:
通过点击选择新课程就会在页面中显示出该同学可以选择的课程,由于课程有专业限制,所以页面中显示的并不是所有的公选课,而是该同学所属专业可选的并且还未选择的。
通过点击课程进行课程选择。
如果想查看该课程的详细信息,可以通过点击课程名称进入到详细课程信息页面,这些课程信息主要包括:
课程简介、课程学分、授课教师、上课地点和上课时间等。
同时,对于没门课程都有人数上限,如果人数已达上限,则不能再进行选择。
(5)查询已选课程:
在该页面显示的是在之前就已经选好的课程信息,主要存在里面的信息有名字、老师、学分、在哪里上课以及上课的教室。
同样的,如果想查看有关课程更加全面的信息,这样的话,就可以通过点击显示在页面上的课程名,这样有关的信息就会展示出来了。
(6)修改密码:
同学可在本页面对自己的登录密码进行修改,以方便学生设置自己熟悉并且容易记住的密码,不至于在登录时忘记原密码。
该页面主要就是填写旧密码和新密码,在点击确认修改按钮时,会检测该同学输入的旧密码是否和数据库中的一致,如果校对成功则可以修改成功,如果校对失败则会出现提示,则修改密码失败。
(7)找回密码:
可以帮助用户找回忘记的密码。
2.系统管理员
(1)管理员登录:
管理员通过输入用户名和密码进行登录,但是在数据库中会有标识,如果标识信息是学生的话会进入学生主页,识别的信息是管理员,就会进入管理员主页。
(2)管理员主页面:
主要是对管理员所能执行的操作做一些陈述。
(3)专业管理:
管理员会在该页面看到专业介绍,并且可以添加专业,主要填写的信息就是届数、专业名称和学制。
(4)课程管理:
显示的所有公选课,其中的信息包括所属专业、课程名称、上课时间、上课地点、学分和授课教师。
同时还设有搜索框,以方便管理员查找到符合条件的课程信息。
此外,管理员还可以在此添加新课程,填写的信息主要是上面所描述的课程的详细信息。
(5)统计信息查看:
主要是查看对所有课程所被选择的情况,通过查看按钮可以展示选择该课程的所有同学,在同学名单中可以查看到学生姓名、学号和联系电话。
(6)修改密码:
该功能也和同学功能一样,填入信息校对成功则修改成功,否则就会提示信息修改失败。
页面显示需求分析
对于本系统的界面要求,主要秉承干净整洁、排版得体、操作简捷易懂,在显示上非常的简洁大方,没有复杂的排版,这样可以使用户快捷操作,简洁而不失美感。
对于页面设计规则,需要按照以下几点:
1.页面之间风格一致,简洁大方而不失美感,页面之间的协调性要保持的很好,同时页面编写要符合并遵循编写规范;
2.界面的设计一定要让管理者和学生感觉到舒适,无论是从管理员的角度还是学生的角度,界面设计让用户体验到的舒适度都相当重要;
3.操作要求简单,没有繁琐复杂的要求,这样使用好感会增强;
4.完善系统应有的功能,尽最大限度满足用户需求;
5.页面设计结构上要清晰,无论是排版还是展示一定要合理而且连贯性好;
3系统设计
该选课系统的设计主要是为了满足学生和管理员两个用户群体,面向高效的学生选课系统可以为高校减少在人力和物力上的投入,同时方便快捷,更重要的是可以长时间的存储海量的信息群。
该系统为学生和管理员提供一个快捷、方便的选课和管理平台,学生可以通过该系统在学生选课系统开放阶段选择自己希望选择的课程,管理员也可以对课程和专业进行相应操作。
根据用户以及用户功能对于系统怎样设计,以及设计出什么样子,根据用户群体的不同分别进行描述。
1.首先是对学生用户群体的设计
对于一般的学生来说,除了满足学生基本的功能操作:
个人信息展示、找回密码和修改密码等。
同时呢,对于学生用户来说有些操作是有限制的,比如说,对于个人基础信息的修改、课程信息的管理,这些都是学生用户无权干涉的。
2.其次就是对管理员用户群的设计
对于管理员用户应该达到这些功能设计要求:
专业管理、课程管理、添加专业和课程、选课信息管理等。
3.区分管理员和学生不同用户群
因为本系统采用的是同意登录界面,无论是学生还是管理员都是在这个页面进入系统,所以区分用户群也是一个非常重要的任务,对此系统是根据表示在不同用户上的标识信息来进行识别的。
识别不同的信息,进入相应主题页面。
系统功能设计
根据系统的不同用户群,以及不同用户群所要满足的功能要求,系统应该划为不同的模块,不同的模块中用户进行相应的功能操作,这也是对学生选课系统所进行的结构化设计,这样根据这样的结构化设计,我们就能详细的看出系统分为哪些模块,以及模块中所适用的不同用户群体,还是这些用户群体不同的功能要求。
本系统的模块设计,如图3-1所示:
图3-1系统功能图
3.1.1学生用户模块
在学生用户模块中,应满足以下功能要求:
1.学生登录:
通过正确用户名和密码进入系统。
2.学生信息浏览:
页面中展示该学生相应的个人信息。
3.选择新课程:
学生通过点击该页面来选择想要相应的课程,在选择课程的同时还以对该课程的详细信息进行查看。
4.查看已选课程:
对已经选择的课程详细信息进行查看。
5.密码修改:
通过此模块可以修改自己的登录密码。
6.退出系统:
点击退出系统,回到登录页面。
3.1.2管理员模块
在管理员用户模块中,应满足以下功能要求:
1.管理员登录:
通过正确用户名和密码进入系统。
2.专业管理:
在该页面可查看所有的专业信息,同时还可以对专业进行添加。
3.课程管理:
在该页面可查看所有的专业信息,同时还可以对专业进行添加,同时还可以在搜索栏输入信息进行搜索。
4.统计信息查看:
主要是对选课的信息进行查看,查看选择某课程的所有学生信息。
5.修改密码:
管理员可以在此修改密码。
6.退出系统:
点击退出网上选课系统,返回到初始页面。
4.数据库设计
网上选课系统需要对大量的数据信息进行处理,需要有一个后台数据库来存储信息。
本系统设计中采用的是SQLServer2008。
该数据库有着安全性高的优越性,而且操作简单,不仅确保了储存信息的安全性;而且它容量比较大,能够存储庞大的数据,这样就符合了本系统对庞大数据交互的设计要求。
系统E-R图
概念结构设计对于数据库设计来说是至关重要的,在此环节设计出满足数据库设计的E-R图,这样才能根据要求设计出相应的数据库。
根据需求要首先分析出重要的几个实体,然后就是表示出实体的所有属性,还有就是实体之间存在什么样的联系,只有清楚地表示出了实体、属性和联系,这样我们就能轻松的按照要求审计处想要的数据库。
系统E-R图如下所示:
图4-1系统E-R图
数据表设计
1.用户信息表(userlogin)主要记录所有用户信息,包括所有的有关用户的信息,其中对于不同的用户,在表的设计上有信息来对它们进行识别,下面是表的结构展示:
表4-1 userLogin表
字段名称
字段的类型
字段的长度
主键(是或否)
空值(是或否)
userId
int
10
是
自增编号
loginName
varchar
20
否
是
pwd
varchar
20
否
是
type
int
1
否
是
mail
varchar
50
否
是
2.学生信息表(stuuser),该表主要是是储存学生的详细信息,表的具体结构如下所示:
表4-2 stuMessage表
字段名称
字段的类型
字段的长度
主键
空值(是或否)
StuId
Int
10
是
自增编号
stuName
varchar
20
否
否
specialtyId
Int
1
否
否
stuSex
varchar
2
否
否
Birthday
Varchar
20
否
否
homeAddr
Varchar
50
否
否
Tel
Varchar
20
否
否
Add
Varchar
50
否
否
3.学生选课信息表(stucourse),包括学生学号以及所选课程的编号,表的具体结构如下表所示:
表4-3 yixuanMessage表
字段名称
字段的类型
字段的长度
是否为主键
空值(是或否)
stucourseID
int
20
是
自增编号
Stuid
Int
10
否
否
CourseID
Int
10
否
否
4.课程信息表(course)主要是储存的课程的有关信息,course表的具体结构如下表所示:
表4-4 courseMessage表
字段名称
字段的类型
字段的长度
是否为主键
空值(是或否)
courseId
Int
10
是
自增编号
Name
Varchar
20
否
是
Schooltime
Varchar
50
否
是
add
Varchar
50
否
是
credit
int
1
否
是
courseInfo
Varchar
50
否
是
Teachname
Varchar
20
否
是
Teachinfo
Varchar
50
否
是
isFinish
Bit
1
否
是
SpecialtyID
Int
1
否
是
5.专业表(Specialid)主要是储存学校专业的有关信息,它的表的具体结构如下表所示:
表4-5 Specialid表
字段名称
字段的类型
字段的长度
是否为主键
是否为空
SpecialId
Int
10
是
编号自增长
enterYeay
Varchar
20
否
是
name
Varchar
40
否
是
lengthYean
Varchar
10
否
是
idFinish
bit
1
否
是
部分数据表设计代码:
CREATETABLEtb_course(
idintNOTNULL,
namevarchar(40)NOTNULL,
schooltimevarchar(40)NOTNULL,
addrvarchar(50)NOTNULL,
creditdecimal(3,0)NOTNULL,
courseInfovarchar(100)NOTNULL,
teacherNamevarchar(20)NOTNULL,
teacherInfovarchar(100)NOTNULL,
isFinishbitNOTNULL,
specialtyIdintNOTNULL,
PRIMARYKEY(id)
);
5.系统的应用实现
系统流程图
用户只要在登录时,输入的用户名和登录密码都是正确的,就能正常的进入系统,成功登录后,根据自己的用户群不同而进行不同的权限操作;如果是管理员,就可进行管理员操作;如果是学生,则会获取所有的学生操作权限。
通过这些操作来实现用户的操作流程,具体的系统流程图如下:
图5-1系统流程图
数据库的连接
对于数据库连接用的是hiberna技术,以下是数据库连接的配置代码:
--配置数据源,这里为DBCP数据库连接池-->
;databasename=db_database26"/>
--配置session工场-->
class="">
页面设计与实现
5.3.1注册页面
系统注册界面如图5-1所示,学生可在该页面进行信息注册,如果注册成功后,会在数据库中的用户表中进行信息存储,同时会进入信息填写页面,对于该学生的相应个人信息进行填写。
填写完成后这些信息会存入到学生表中,存入的ID信息会与注册时存入到用户表中的ID一致。
图5-1注册界面
图5-2填写个人信息
5.3.2登录页面展示
网上选课系统的用户登录界面如图5-2所示,学生只要在登录时,输入的用户名和密码都是正确的,就能进行登录操作,在学生进行登录时,在此期间,填写的数据会在数据库中进行查找,如果找到的相应的数据,则该用户会成功进入到系统,登录的同时,会在数据库中搜索到该学生的相关信息;如果没有找到相应信息,则会出现登录失败。
图5-3登录界面
5.3.3学生信息
学生个人信息界面如下图所示,在本页面中主要展示的是该学生的相应信息。
在学生成功登录的同时会把该同学所有的信息在数据库进行查找,并在此页面中显示。
图5-4个人信息展示界面
展示个人信息主要代码如下:
DynaActionFormstu1=(DynaActionForm)form;
Studentuseruser1=newStudentuser();
((Integer)().getAttribute("bianhao"));
("xingming"));
("xuehao"));
("zhuanyebianhao")));
("xingbie"));
("sehngria"));
("zhuzhi"));
("dianhua"));
("xianzhuzhi"));
(user1);
Specialtyspecialty=());
("stuUser1",user1);
("specialty1",specialty1);
return("welcome1");
}
5.3.4新课程的选择
在该页面可进行选择,页面展示如图5-4所示,通过点击选择新课程就会在页面中显示出该同学可以选择的课程,由于课程有专业限制,所以页面中显示的并不是所有的公选课,而是该同学所属专业可选的并且还未选择的。
通过点击课程可以进行课程选择。
同时对于课程的详细信息,通过操作课程的名称就能查看该课程的详细信息,这些信息包括课程简单介绍、课程可以获得学分、课程的授课教师、上课地点和上课时间等。
图5-5选择新课程界面
5.3.5查看已经选择好的课程
查看已选课程界面如图5-5所示,在该页面显示的是在之前就已经选好的课程信息,主要存在里面的信息有名字、老师、学分、在哪里上课以及上课的教室。
同样的,如果想查看有关课程更加全面的信息,这样的话,就可以通过点击显示在页面上的课程名,这样有关的信息就会展示出来了。
图5-6已选课程查看界面
该部分的主要实现代码如下:
dao层主要方法:
publicList
Stringsql="FROMStuUserstu,Coursec,StuCoursescWHERE=?
AND=And=";
Queryq=getSession().createQuery(sql);
(0,id);
List
if(!
()){
Object[]o=(0);
Coursecourse=(Course)o[1];
}
returnlist;
}
5.3.6课程详细信息界面
产品对比界面如图5-6所示,该页面的主要是展示的某一门课程的详细信息,主要包括:
课程名称、课程可获得学分、什么时间上课、在哪里上课和授课教师等信息。
图5-7课程详细界面
该部分主要功能实现代码如下:
dao层中的主要方法:
publicStuUserfindById(Integerid){
StuUseruser=(StuUser)getHibernateTemplate().get,id);
returnuser;
}
5.3.7修改密码
修改密码界面如图5-7所示,学生可在本页面对自己的登录密码进行修改,以方便学生设置自己熟悉并且容易记住的密码,不至于在登录时忘记原密码。
该页面主要就是填写旧密码和新密码,在点击确认修改按钮时,会检测该同学输入的旧密码是否和数据库中的一致,如果校对成功则可以修改成功,如果校对失败则会出现提示,则修改密码失败。
图5-8修改密码界面
修改密码界面实现代码如下:
action中实现dao层的重要方法:
Stringyonghuming=(String)().getAttribute("yonghuming");
Stringpasswwwd=("passwwwd");
Stringpasswwwd1=("passwwwd1");
Stringyouxiang=("youxiang");
IntegeryonghuId=(yonghuming,passwwwd,mail);
if(id==-1){
("cuowu","没能成功修改密码");
}else{
(yonghuId,passwwwd1);
("cuowu","竟然修改成功了!
");
}
if("leixing").equals("mm")){
"mm");
return("updatepassword");
}else{
"uu");
return("stuUpdatepassword");
}
}
5.3.8管理员主页
管理员登录界面如图5-8所示,在主页中会对管理员的功能做简要的介绍。
图5-9管理员首页界面
5.3.9专业管理界面
对于专业进行管理的界面如图5-9所示,管理员登录成功之后对学校的有关专业进行管理操作,管理员会在该页面看到专业介绍,并且可以添加专业,主要填写的信息就是届数、专业名称和学制。
图5-10专业显示界面
图5-11专业添加界面
该部分主要功能的实现代码如下:
dao层中的主要方法:
publicvoidinsert(Specialtyspecialty){
getHibernateTemplate().save(specialty);
}
5.3.10课程信息管理
课程管理界面如图5-10所示,该页面显示所有的课程信息,这些课程信息保存在课程表中,这些信息包括该课程所属专业、在哪里上课、上课的时间、学分和授课教师。
同时还设有搜索框,以方便管理员查找到符合条件的课程信息。
此外,管理员还可以在此添加新课程,填写的信息主要是上面所描述的课程的详细信息。
图5-12显示课程信息界面
图5-13添加课程界面
图5-14搜索课程成功界面
页面实现功能代码:
action中实现方法:
ListList1=();
Mapmap=newHashMap();if("zhuanyeshu")!
=null&&!
("specialtyId").equals("-1")){
("specialtyId",("specialtyId"));
}if("zhuanyeming")!
=null&&!
("name").equals("")){