选课系统用于管理学校报告正 本文关键词:选课,用于,学校,报告,系统
选课系统用于管理学校报告正 本文简介:目录第1章绪论3第2章需求分析32.1任务概述42.2用户特点42.3功能需求42.4界面需求52.5操作需求52.6输入输出需求5第3章总体设计63.1设计思想63.2总体设计63.3系统层次结构图63.4接口设计63.5数据库设计73.6出错处理设计7第4章数据库设计94.1E-R图94.2数据
选课系统用于管理学校报告正 本文内容:
目录
第1章
绪论3
第2章
需求分析3
2.1任务概述4
2.2用户特点4
2.3功能需求4
2.4界面需求5
2.5操作需求5
2.6输入输出需求5
第3章
总体设计6
3.1设计思想6
3.2总体设计6
3.3系统层次结构图6
3.4接口设计6
3.5数据库设计7
3.6出错处理设计7
第4章
数据库设计9
4.1
E-R图9
4.2数据库关系模型设计9
4.3表的建立10
第5章
详细设计12
5.1数据库系统实现12
5.2
管理员模块实现13
第6章
结论19
学习体会19
致谢19
参考文献19
第1章
绪论
数据库是按照数据结构来组织、存储和管理数据的仓库。在经济管理的日常工作中,常常需要把某些相关的数据放进这样的“仓库”,并根据管理的需要进行相应的处理。它是从60年代初发展起来的计算机技术,经过四十来年的发展,数据库技术己经趋于成熟。数据库的诞生和发展给计算计信息管理带来了一场巨大的革命,随着应用的扩展与深入,数据库的数量和规模越来越大,就应用而言,也呈现出多样化的应用空间,例如学校的各种管理信息系统、电子出版物、电子商务、远程教育系统等的出现,给web数据库技术提出了更多、更高的要求。还有一些医学院校开发出的网上诊所、远程诊断系统等等,都是基于互联网的应用系统的开发,正蓬勃发展并且发挥着较大的作用。
网上选课系统是针对高等院校的在校学生和教师使用。从学生角度来说,由于学校教学制度的改革,传统的教学模式已经不能适应大部分高等院校开始实行的学生自主选课模式的教学手段,如果仍然通过传统的纸上方式选课,一方面浪费大量的人力、物力资源,另一方面浪费时间以及在人为的统计过程中不可避免出现的差错等情况。随着高校人数的增多,这种弊端会越来越多的暴露出来。因此,利用网络,只要学生只要在计算机前输入自己的个人选课信息即可完成原来几倍的作业量。从教师的角度来说,同样是节省了大量的工作量,由于教师课程发布的工作较学生选课而言更加的复杂,因此通过网上进行课程发布能大幅度的减少教师的工作量,减少错误的发生几率。作为教师,也只要通过自己的电脑来操作即可,不用奔波于教务处和办公室之间。
课题研究背景
国外的教学科研软件与国内相比开发的早而且比较成熟。早在七十年代末,美国就建成了NSFNET(国家科学基金网),其课题的申报及课题的进展情况汇报都在网上进行。其网上教学教务管理系统也十分完善,世界各地的学生可以坐在家里通过互联网完成入学报名、选课、考试、毕业论文、取得学位这一学习生活的全过程。目前,国际上已具规模的远程教育学校就有数百所之多,网上教育正在各地发挥着巨大的作用,为世界各国培养出大批人才。所有这些都表明,基于Internet的校园网的应用已深入到校园内的各个方面。
课题研究意义
高等院校要想切实提高教学管理工作,就必须在管理制度的改革方面有新的突破,实现信息化管理。而网上选课系统从课程形式、内容的多样性和选择性上提供了可能,充分体现了学生的自主性。它既倡导开设多种类型的课程,可打破原有的系别、班级限制,重新组合上课,以满足不同水平、不同兴趣学生的需要,又倡导“三个自主”的原则,即在教师指导下,学生具有自主选择课程内容,自主选择任课教师,自主选择上课时间的自由度,这就给我们学校课程教学提出了新的研究课题。此外,一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,效率低、出错频率高。另外,时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
第2章
需求分析
2.1任务概述
选课系统用于管理学校的课程、学生、教授相关信息,除了基本的查询、添加功能外,还应有统计功能。同时操作方面应尽量简单。
2.2用户特点
1)
系统管理员:该用户可以对课程信息、学生信息、教授信息进行维护,同时用户自己也能修改自己的密码与基本信息。
2)
学生:该用户可以自行选课、退课、查看可表、查看成绩、查看应缴费用,同时用户自己也能修改自己的密码与基本信息。
3)
教授:该用户可以选择要上的课程,取消课程,查看、等级学生成绩,同时用户自己也能修改自己的密码与基本信息。
2.3功能需求
功能需求图如下图3-1所示:
图2-1
系统功能需求
用例图:
图2-2
各模块具体说明如下:
1)
登陆页面:用户输入合法的用户名和密码完成登陆,如果用户名或密码错误,应输出提示。
2)
学生页面:显示当前用户的名字,以及相关功能连接、按钮。
3)
教授页面:显示当前用户的名字,以及相关功能连接、按钮。
4)
管理员页面:显示当前用户的名字,以及相关功能连接、按钮。
2.4界面需求
界面简洁美观。
2.5操作需求
操作简洁,符合人们通常使用习惯。
2.6输入输出需求
要求输入数据合法,如果非法会跳出出错提示。
第3章
总体设计
3.1设计思想
该选课系统用于对课程信息、教授信息、学生信息的维护与查看统计。能够方便管理员对各种信息的维护,教授、学生对自己相关需求功能的使用,它将具有以下特点:
?
运行速度快
?
占用资源少
?
界面简洁
?
操作简单
3.2总体设计
1)
以用户登陆后的界面为平台,将各模块功能放于该页面
2)
采用SSH框架
3)
灵活性要求:视图与业务逻辑分开,低耦合。采取接口方式编程便于系统的维护以及移植。
4)
输入输出要求:要求输入数据合法,如果非法会跳出出错提示。
3.3系统层次结构图
图3-1
系统层次结构图
3.4接口设计
用户接口:通过鼠标与键盘操作。
内部接口:使用数据流提供的接口操作各个模块。
3.5数据库设计
概念结构设计是指将需求分析得到的用户需求抽象为信息结构。描述概念模型的有力工具是E-R模型。本系统E-R图如下图所示:
图3-2
用户E-R图
图3-3
教授E-R图
图3-4
学生E-R图
图3-5
课程E-R图
图3-6
学生选课E-R图
图3-7
教授选课E-R图
图3-8
管理员E-R图
图3-9
系统E-R图
3.6出错处理设计
以下列出了可能的错误情况及其对应的错误信息:
1)
用户名或密码有误,提示:您输入的用户名或密码有误,请重新输入。
2)
管理员模块:
a)
课程信息维护:
?
如果增加一门已存在的课程,输出提示:该课程已存在。
?
如果删除一门不存在的课程,输出提示:该课程不存在。
b)
教授信息维护:
?
如果增加一名已存在的教授,输出提示:该教授已存在。
?
如果删除一名不存在的教授,输出提示:该教授不存在。
c)
学生信息维护:
?
如果增加一名已存在的学生,输出提示:该学生已存在。
?
如果删除一名不存在的学生,输出提示:该学生不存在。
a)
修改密码:输入的原密码不正确,应提示错误
3)
学生模块:
如果选择的课程冲突,输出提示:课程已选择。
4)
教授模块:
如果选择的课程冲突,输出提示:课程已选择。
第四章
数据库设计
4.1
E-R图
图4-1
4.2数据库关系模型设计
E-R图向关系模型转换:一个实体型转换为一个关系模式,实体的属性即为关系模式的属性,实体的标识符即为关系模式的键。
根据E-R图,本系统的关系模型为:
1)
用户(用户ID,登陆ID,密码,权限);
2)
教授(教授ID,姓名,性别,电话,传真,系别,地址,email)
3)
学生(学生ID,姓名,性别,电话,系别,地址,email)
4)
管理员(管理员ID,姓名,性别,电话,email)
5)
课程(课程ID,课程名,课程性质,上课日期,节次,学分,系别)
6)
教授选课(教授选课ID,教授ID,课程ID)
7)
学生选课(学生选课ID,教授ID,课程ID,学生ID,成绩)
4.3表的建立
(1).Pupils表:
图4-2
(2).Gives表:
图4-3
(3).Scores表:
图4-4
(4).Subjects表:
图4-5
(5).Models表:
图4-6
(6).Managers表:
图4-7
(7).Departments表:
图4-8
(8).Teachers表:
图4-9
第五章
详细设计
5.1数据库系统实现
(1)学生表(Pupils)
Create
table
Pupils
(PNO
char(9)
primary
key,PNAME
char(8)
not
null,PW
varchar(20)
check(len(PW)>=6),PSEX
char(2)
check
(PSEX
in
(
男,女
)),PZY
varchar(50),DNO
char(2),foreign
key
(DNO)
references
Departments(DNO)
);
(2)教师表(Teachers)
Create
table
Teachers
(TNO
char(9)
primary
key,TNAME
char(8)
not
null,TZC
varchar(20),PW
varchar(20)
check(len(PW)>=6),DNO
char(2),foreign
key
(DNO)
references
Departments(DNO)
);
(3)系科表(Departments)
Create
table
Departments
(DNO
char(2)
primary
key,DNAME
varchar(50)
not
null);
(4)课程表(Subjects)注意:保证SNO自动编号;
Create
table
Subjects
(SNO
smallint
primary
key,SNAME
varchar(50)
not
null,SCREDIT
smallint,SLIMITS
smallint
check
(SLIMITS>0),SBRIEF
varchar(200),TNO
char(9),VERIFYFLAG
tinyint
default
0
);
(5)成绩表(Scores)
Create
table
Scores
(PNO
char(9),SNO
smallint,GRADE
int,foreign
key
(PNO)
references
Pupils(PNO),foreign
key
(SNO)
references
Subjects(SNO)
);
(6)授课表(Gives)注意:GID要自动编号
Create
table
Gives
(GID
int
primary
key,TNO
char(9),SNO
smallint,TERM
varchar(20),CLASSTIME
varchar(30),CLASSROOM
varchar(30),foreign
key
(TNO)
references
Teachers(TNO),foreign
key
(SNO)
references
Subjects(SNO)
);
(7)管理员表(Managers)
Create
table
Managers
(MNO
char(9)
primary
key,MNAME
char(8)
not
null,PW
varchar(20)
check(len(PW)>=6)
);
(8)功能表(Models)注意:保证FNO自动编号;
Create
table
Models
(FNO
smallint
primary
key,FSTATUS
BIT
check(FSTATUS=0
or
FSTATUS=1),FINFO
varchar(50)
);
5.2
管理员模块实现
图5-1
图5-2
系统功能状态列表
功能标识
功能说明
当前状态
设置
图5-3
个人信息修改成功!“);
out.println(““);
}
catch(Exception
ex)
{
out.println(“个人信息修改失败“);
out.println(““);
}
}
}
else
{
out.println(“您还未登录!“);
%>
图5-4
图5-5
第6章
结论
课程设计是对数据库知识的综合实践。通过一个星期的高校网上选课系统的课程设计使我加深了对数据库的基本原理与应用的认识,提高了分析问题、解决问题的能力。
本系统使在web方式下实现的选课系统。系统实现从数据库的设计开始,根据用户需求设计E-R模型,再转换成数据库的逻辑结构,最终实现了这个选课系统。
(1)数据库的逻辑结构设计是从E-R模型来出发的,但是根据实际实现的要求,做了一些调整,比如:PW的长度改成50以便容纳生成的MD5的长度,否则会出错。数据库中的数据冗余是不可避免的,但是却保证了数据库的一致性。
(2)系统实现过程用到了视图、存储过程以及事务,这些的使用简化了代码、提高了效率。
在老师和同学的帮助下,我实现了选课的基本功能,但是也还是存在很多问题:比如数据库的设计上还有缺陷,有些没有必要的冗余存在,数据库的一致性还有可能被一些操作破坏;代码的重用性不够,有很多代码是重复使用的等等
第7章
学习体会
在短短的一个星期之内,我一边加深数据库的理论知识,一边把理论应用于实践,在实践中发现并解决问题,真正做到了学以致用。我在课程设计期间学到了很多东西,不仅是专业知识,还有认真严谨的态度,更主要的一点是持之以恒的精神!
通过这次课程设计,我学会了很多网页制作的东西,平时在课上学到的东西,原来都不知道如何将他们连起来,而通过课程设计我对理论知识很好的用到了实践中。以前从来没有完整的做过一个网页制作,觉得很难,无从下手,这次的课程设计让我对网页制作产生了浓厚的兴趣。这次课程设计让我受益匪浅
致谢
通过对客户信息管理系统的开发,查找了相关知识的文档和书籍,巩固了以前所学的知识,可以说是一次复习,也是一次考试,我在其中获益良多。同时,在王红艺老师的指导下和自身对技术的努力钻研中,我也掌握了软件开发的基本方法,了解了当今软件开发的一些新技术。
在这里,非常感谢王老师的指导,还有我的好哥们汪杰的无私帮助,牺牲休息时间来助我一臂之力,我还会努力做到更好,谢谢你们!
参考文献
[1]邓子云,张赐.JSP网络编程
[M]
.北京:电子工业出版社,2005
[2]刘中兵,李伯华.
JSP数据库项目案例导航
[M]
.北京:清华大学出版社,2006.
[3]李曙光.JSP开发实例完全剖析[M].北京:中国电力出版社,2006.
[4]邓文渊.ASP.NET2.0(C#)大学实用教程
机械工业出版社
2009-01出版.
[5]沈士根、汪承焱、许小东,Web程序设计:ASP.NET.实用网站开发清华大学出版社
2009-05出版.
[6]林信良.
JSP
&
Servlet学习笔记[M].
清华大学出版社,2012
[7]张军.JSP网络应用开发例学与实践[M].
北京:清华大学出版社,2006.
[8]魏茂军,张文建.JSP案例开发
[M]
.北京:中国水利水电出版社,2005.
[9]汪孝宜,刘中兵,徐佳晶.JSP数据库开发实例精粹[M].北京:电力工业出版社,2006.
19