学生选课管理系统讲解Word下载.docx
《学生选课管理系统讲解Word下载.docx》由会员分享,可在线阅读,更多相关《学生选课管理系统讲解Word下载.docx(35页珍藏版)》请在冰点文库上搜索。
![学生选课管理系统讲解Word下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/4/5eb75463-5792-47df-992e-e37014de761c/5eb75463-5792-47df-992e-e37014de761c1.gif)
避免在安排课程信息的滞后,减少信息交流的烦琐过程及其带来的开销。
促进高校教育的计算机信息化进程,提高学校的工作效率。
对于系统的本身而言,应该具有较高的实用性、安全性。
能够极大的满足学生选课,以及学校对选课信息的管理。
1.3设计内容
调查学校教务处,设计用于管理全校学生选修课活动的系统。
主要功能有:
1全校选修计划课程管理;
2全校选修开课课程管理;
3全校学生选课管理;
4全校选修课成绩管理;
能够实现课程的查询,修改与删除功能。
需求分析
2.1功能分析
主要功能:
教师和学生登陆系统的帐号和密码,初始都分别为教师和学号,登陆后密码
可以修改。
其中教师的职位可以是管理员。
管理员和非管理员的老师及学生对系统的操作具有不同的权限。
管理员登陆系统,对学生选课情况进行管理,包括发布选课信息,对学生的选课情况进行查看。
管理员还可以对授课老师的信息进行增加、删除、修改、查询。
教师登陆系统,能查看自己的个人信息,及所授课的
班级的所有学生的本门课程的成绩信息,并能进行增加和修改。
学生登陆系统,能进行选课,查看管理员发布的选课信息,自己的选课情况,本人的基本信息,以及课程的成绩。
系统自动分配学生选课后的临时班级。
性能要求:
管理员发布的信息、学生选课的信息以及管理员和学生对系统操作的信息必须及时的反映在本系统上,且无差错。
输入要求:
具有很好的容错性和兼容性
输出要求:
应迅速、准确、实时
2.2工作流图
系统需求:
用户的需求具体体现在选课信息和用户信息的提供、保存、更新和查询的方面。
这就要求数据库的设计必须合理,使之能够充分满足各种信息的输入和输出,保证数据存储的可靠性,并且能够快速取出和存入。
而前台显示部分,应具有人性化的界面,方便用户操作。
因各个学校的实际情况不同,系统应该具有兼容性。
例如:
一些学校学生人数较多,同时登陆系统,系统承载的负荷就很大。
系统需要同时处理很大的数据量,这时系统不会因此崩溃。
系统还应该具有较强的安全性,保证身份不同的用户,不能越权操作。
非合法用户不能对数据进行操作。
功能需求:
通过系统功能的分析,结合需求分析员在各大高校实地考查,调查的对象涵盖了,学校的教职工、在校师生。
特别是对已经运行了与本系统同类产品的学校的师生使用选课管理系统心得体会进行了分析,总结出如下的需求信息:
(1)学生的需求:
能进行选课,查看管理员发布的选课信息,自己的选课情况,本人的基本信息,课程的成绩;
(2)教师的需求:
能查看自己的个人信息,及所授课的班级的所有学生的本门课程的成绩信息,并能进行增加和修改;
(3)管理员的需求:
对学生选课情况进行管理,包括发布选课信息,对学
生的选课情况进行查看。
管理员还可以对授课老师的信息进行管理。
2.3数据流图
系统顶层图:
根据系统主要信息的处理功能,整个系统可以看作登陆管理,用户选课管理
两个部分。
从而得出了学生选课管理系统的顶层图如下所示:
F9
学生选课管理系统顶层图
注:
F1:
用户登陆信息F2:
用户注册信息F3:
用户基本信息F4:
用户基本信息
F5:
学生选课信息清单F6:
学生选课信息F7:
登陆错误信息F8:
系统反馈用户信息F9:
用户信息清单F10:
修改密码后的用户信息
数据流程图一层分解图
(1)用户登陆管理。
用户在登陆时,系统会进行判断。
用户一共有三种类
型,分别是学生,教师和管理员。
其中,一部分教师是管理员。
在登陆的只有学生和教师两种类型,管理员的身份由系统自行判断。
在判定时需要查询用户信息库。
用户信息库,包括学生注册信息,教师注册信息,管理员信息等。
学生选课管理系统一层分解图一一登陆管理,如下图所示:
学生选课管理系统一层分解图一一登陆管理
F2.1:
学生登陆信息F2.2:
教师登陆信息F2.3:
管理员登陆信息
F7.1:
用户身份信息F7.2:
修改密码的错误信息
(2)用户操作管理。
在登陆管理进行判断后,发送学生登陆信息,教师登
陆信息,管理员登陆信息的其中一种。
根据用户身份信息的不同,进入不同的管
理界面,相应的操作的功能,权限都有所不同。
如下图所示:
学生选课管理系统一层分解图一一学生管理
F3.1:
原始学生信息F5.1:
学生更新后的选课信
F6.1:
学生查询的选课信息F8.1:
学生操作后返回的信息
学生选课管理系统一层分解图一一教师管理
F3.2:
原始教师信息5.2:
教师更新后的选课信息
F6.2:
教师查询的选课信息F8.1:
教师操作后返回的信息
学生选课管理系统一层分解图一一管理员管理
F3.3:
原始管理员信息F9.1更新后的用户信息F6.3:
管理员查询的选课信息
F8.1:
管理员操作后返回的信息F5.3:
管理员更新后的选课信息
数据流程图二层分解图
(1)学生管理。
将P2.1进行分解,学生管理包括,查看选课信息和个人信息,进行选课、重新选课。
学生选课管理系统二层分解图一一学生管理如下图所示:
学生选课管理系统二层分解图一一学生管理
学生选课管理系统二层分解图一一教师管理
注:
F3.2.1:
教师个人信息F3.2.2:
学生个人信息
F5.2.2:
增加后的学生成绩信息F5.2.3:
修改后的学生成绩信息
(3)教师管理。
将P2.3进行分解,管理员管理包括,1.管理学生信息,包括对学生信息的查询、增加,修改,删除;
2.管理教师信息,包括对教师信息的查询、增加,修改,删除;
3.选课信息管理,包括发布选课信息,增加,修改,删除选课课程等。
学生管理系统二层分解图一一学生管理如下图所示:
学生选课管理系统二层分解图一一管理员管理
F3.3.1:
原始学生信息F3.3.2:
原始教师信息F3.3.3:
原始课程信息
F3.3.4:
原始教室信息F9.1.1:
修改后学生信息F9.1.2:
修改后的教师信息
F9.1.3:
修改后的课程信息F9.1.3:
修改后的班级信息
2.4数据字典
数据流条目
用户登陆信息数据流条目
编号
F1
数据流名称
用户登陆信息
来源
用户
去向
P1:
登陆管理
简述
用户在登陆时输入的账号、密码和验证码
组成
用户名+密码+身份+验证码
用户身份信息数据流条目
F2
用户身份信息
P2:
用户操作管理
登陆系统判断用户身份后发送的信息
用户注册信息数据流条目
F3
用户注册信息
用户信息库
系统从用户信息库中查询出来的用户注册信息
[学生注册信息]+[教师注册信息]+[管理员注册信息]
用户基本信息数据流条目
F4
D1:
系统从用户信息库中查询出来的用户基本信息
[学生信息]+[教师信息]+[管理员信息]
F5
学生选课信息清单
P2:
D2:
选课信息库
用户操作数据后存入选课信息库中的信息
学号+课程号+成绩
F6
学生选课信息
D2选课信息库
学号+课程号+成绩+[班级信息]
F7
登陆错误信息
用户登陆时,输入的用户名,密码或验证码错误
错误信息
F8
系统反馈用户信息
用户进行操作后,系统反馈给用户信息
查询或操作显示的信息,或错误提示信息
用户信息清单
用户选课管理
D1:
用户操作数据后存入用户信息库中的信息
F10
用户修改密码后存入用户信息库的信息
用户名+密码+身份
数据处理
登陆管理数据处理
P1
名称
输入流
F1、F3
输出流
F2、F7、F10
对登陆信息进行管理
处理
判断用户登陆时输入登陆信息是否正确
用户操作管理数据处理
P2
F2、F4、F6
F5、F8
用户相关操作的管理
根据用户的不同,进行不同的的用户操作管理
数据存储
数据存储处理
数据存储名
输入数据流
删除数据流
流量
D1
F9、F10
F3、F4
大
D2
三、概念模型设计
3.1实体之间的联系
根据需求分析,归结出合适的联系:
1、一个学生最多能够选两门课,一门课可以被多个学生选
2、一个老师最多能教一门课,一门课可以被多个老师教授,
3、教师中只有一个是管理员
4、一个学生可以属于不超过两个临时班级,一个临时班级可以有多名学生
5、一名教师可以在多个临时班级上课,一个临时班级只有一名教师教授
3.2E-R图
局部E-R图
(1)学生课程联系E-R图
学生课程联系E-R图
(2)教师课程关系E-R图
开始时间
结束时一间--
学分
课程号
身份
性别
系部
年龄
班级名
N
属于
人数
地点
密码
学号
姓名
教师名
教师号
讲授
课程名
教师课程关系E-R图
(3)学生临时班级联系E-R图
课程
教师
临时班级
学生
学生临时班级联系E-R图
(4)管理员教师关系实体E-R图
管理员教师关系E-R图
(5)教师班级关系实体E-R图
教师临时班级联系E-R图
(6)课程临时班级关系实体E-R图
课程临时班级联系E-R图
全局E-R图
学生选课全局E-R图
四、逻辑设计
4.1概念模型向关系模型的转换
根据需求分析中的E-R图,通过对实体的属性和之间的联系的分析,我们将其由概念模型向关系模型转化,并且根据范式化理论进行优化
1:
N联系的转化的关系模式
(1)教师课程联系概念模型向关系模型的转化
教师表(教师号,教师名,性别,年龄,身份,密码,课程号)
课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)
(2)教师临时班级联系概念模型向关系模型的转化
教师表(教师号,教师名,性别,年龄,身份,密码)
临时班级表(班级号,班级名,人数,地点,教师号)
(3)课程临时班级联系概念模型向关系模型的转化
临时班级表(班级号,班级名,人数,地点,课程号)
M:
(1)学生选课联系概念模型向关系模型的转化
学生表(学号,姓名,性别,年龄,系部,密码)
选课表(学号,课程号,成绩)
(2)学生班级联系概念模型向关系模型的转化
临时班级表(班级号,班级名,人数,地点)
学生班级关系表(学生号,班级号)
4.2概念模型的优化
确定范式级别
根据上述分析所归结出来的数据依赖的种类和在本系统实际的开发过程中,需要涉及多表的查询及表的修改和删除,且存在多值依赖的实际情况下,其关系模式应达到BCNF
实施规范化处理
由于学生选课联系的关系模式、学生班级的关系模式和教师管理员联系的关系模式已经不存非平凡且非函数依赖额多值依赖,所以在这里不需要做处理。
各个关系模式的函数依赖集如下:
教师课程联系:
F={教师号-教师名,教师号一性别,教师号一年龄,
教师号—身份,教师号—密码,教师号—课程号}
班级临时班级联系:
F={班级号—班级名,班级号一人数,班级号一地点,班级号一教师号}
课程临时班级联系:
F={班级号—班级名,班级号—人数,班级号—地点,班级号—课程号}
选课联系:
F={(学号,课程号)—成绩}
学生班级联系:
F={(学生号,班级号)}
(1)教师课程联系概念模型向关系模型的优化
教师表(教师号,教师名,性别,年龄,身份,密码)
教师课程联系(教师号,课程号)
(2)教师临时班级联系概念模型向关系模型的优化
教师临时班级关系(班级号,教师号)
(3)课程临时班级联系概念模型向关系模型的优化
课程临时班级关系(班级号,课程号)
经过规范化处理后的所有关系模如下:
学生表(学号姓名,性别,年龄,系部,密码)
教师表(教师号,教师名,性别,年龄,身份,密码)临时班级表(班级号,班级名,人数,地点)
教师课程关系(教师号,课程号)
学生临时班级关系表(学生号,班级号)
五、源代码及查询截图
5.1数据库的存储结构
通过需求分析,概要设计和逻辑设计流程得到本系统的数据库结构
数据库的表设计
进一步确定上一章逻辑设计中设计好的关系模式中各个数据项的类型和长
度,将每个关系转换为数据库中的二维表格,并确定了各个表的主键和外键,得到以下表结构:
学生表
字段名称
字段含义
数据类型及长度
约束
默认值
Sno
varchar(15)
主键
Sname
非空
Ssex
varchar
(2)
男
Sage
int
>
0或<
40
Sclass
班级
Sdept
varchar(20)
Spass
教师表
Tno
Tname
Tsex
Tage
0或<
100
Tpass
Status
varchar(10)
课程表
Cno
Cname
Credit
Ctime
Cbegintime
临时班级表
Csno
Csname
Address
地址
Number
Int
=0或<
=100
选课表
主键,外键
1
Grade
成绩
学生临时班级关系表
班级号
教师课程关系表
外键
教师临时班级关系表
课程临时班级关系表
数据的存放位置的设计
根据本系统的数据库的使用情况,主数据文件信息量大且使用频繁将其存储在高速存储器(硬盘)上。
将表和表上的索引存储在不同的磁盘上以便提高查询效率,同时这样可以提高物理I/O读写效率。
数据库备份文件和日志文件等文件因为使用频率小而且数据量非常大,存放在低速存储设备上。
关系模式的存取方法
关系模式采用索引存取方法与聚簇存取方法共用。
数据库安全性
在数据库中,由于用户的身份不同,对数据库的访问权限也就不同。
管理员几乎能够对所有的用户自定义表进行操作(包括增、删、改、查)。
但根据实际情况,学生一旦选课成功,管理员是无法对其选课信息进行修改。
同样,学生与教师对数据库的访问权限就更加小了。
这样也就保证了数据库安全性。
另外一方面,数据库表中,各表之间根据实体完整性、参照完整性、域完整性设置了各种约束。
一旦一张表被非法操作,如删除,修改。
也会影响其它的表。
所以这就要求DBA定时进行备份,防止当数据丢失时,引起不可估量的损失。
5.2实现
根据概要设计和逻辑设计的结果,在计算机上建立实际的数据库结构,导入
数据进行程序调试。
数据库的实现
(1)创建数据库Student
createdatabaseStudent
on
(
name='
学生选课管理库'
filename=学生选课管理库.mdf'
size=5,
maxsize=15,
filegrowth=2
)
视图的实现
(1)创建查询可供选择课程的视图
createviewcinfo
as
select
course.cname,course.ccredit,class.address,course.ctime,course.cbegintime,course.cendtime,class.number,course.cno,class.csname,class.csno
fromcourse,tc,class,cc
wherecourse.cno=tc.cnoandcourse.cno=cc.cnoandclass.csno=cc.csno
(2)创建教师信息视图
createviewtinfo
selectteacher.tno,teacher.tname,teacher.tsex,teacher.tage,status,course.cnamefromteacher,course,tc
whereteacher.tno=tc.tnoandtc.cno=course.cno;
(3)创建教师教师授课视图
createviewtcinfo
selectteacher.tno,teacher.tname,course.cno,course.cname
fro