高校学生选课系统数据库设计.docx
- 文档编号:30083132
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:40
- 大小:1.78MB
高校学生选课系统数据库设计.docx
《高校学生选课系统数据库设计.docx》由会员分享,可在线阅读,更多相关《高校学生选课系统数据库设计.docx(40页珍藏版)》请在冰豆网上搜索。
高校学生选课系统数据库设计
数据库原理课程设计
——高校学生选课系统
学院:
1
学号:
111
姓名:
1111
专业:
11
年级:
11
日期:
112013/12/24
摘要
随着计算机技术的日新月异,极大的推动的各个行业的信息化进
程。
各大高校也急需进行信息化改革,以促进教学质量和工作效率快
速提升。
本文是在对各大高校全校公开课学生选课情况进行实地调查后,
进行详细分析讨论后撰写的学生选课管理系统数据库设计报告。
全文
从最初的系统规划,到需求分析、概念设计、逻辑设计、物理设计。
每一阶段都进行了详细的分析。
接下来的实现、运行与维护阶段,还
进行了对本系统的测试,最后是本次项目开发的心得和体会以及本文
的参考文献。
本系统是采用MVC模式(jsp+javabean+servlet)进行的J2EE企
业级开发,主要功能是对学生选课及相关信息进行管理。
较行业同类
产品而言,本系统人机界面设计更加合理、人性化,用户操作简单方
便。
数据库的安全性更高,对用户访问权限进行了严格控制。
数据存
取速度更快,使用年限更长。
可以很好的满足高校公开课学生选课的
要求,极大的提高了学校的工作效率。
关键字:
高校学生选课系统;Mysql;JSP
第一章系统开发可行性分析
分析系统的可行性,说明该软件开发项目的实现在技术上、经济上和操作上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。
1.1技术可行性
技术可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。
本课题是以jsp平台和Myeclipse作为开发工具,运用java等语言进行开发,所使用的数据库是Mysql,数据库小巧、速度快,而且功能也十分完善,非常适合软件的开发。
而且,平台降低开发和管理他们的数据基础设施的时间和成本,使得系统可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。
因此,系统的软件开发平台已成熟可行。
硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。
综上所述,本系统所使用的技术完全可以满足该系统的开发。
1.2经济可行性
本课题开发所涉及的操作平台、开发工具基本上都是实验室机房已具备的软件,都是免费使用的,而且如今的市场情况是:
其他都在涨价,就电子类产品在降价。
而且我们可以免费参阅图书馆的书籍、期刊,免费下载相关文献资料,所以在经济上不存在很大的负担。
1.3操作可行性
由于本系统是以数据、图表作为人机交互载体的,在整个系统的使用过程中,需要用户输入相关信息,根据相应提示进行选择即可,操作简单,人机交互界面友好,系统具有较强的亲和性和易用性,用户只需要阅读用户手册,或者观看别人演示,即可熟练掌握本系统的使用。
因此从操作可行性方面来说,本系统也是完全可行的。
第二章需求分析
2.1引言
为了规范、有条理的进行本系统的设计以及合理的满足使用者的需求,为使后续的开发维护工作变得可靠而轻松,编写本系统需求分析说明书,旨在开发过程中进行参考,使系统在需求的范围之内进行开发,避免重复劳动,加快开发进度以及提高开发效率,同时也是为以后系统维护服务提供指南。
2.1系统需求
用户的需求具体体现在选课信息和用户信息的提供、保存、更新和查询的方
面。
这就要求数据库的设计必须合理,使之能够充分满足各种信息的输入和输出,
保证数据存储的可靠性,并且能够快速取出和存入。
而前台显示部分,应具有人
性化的界面,方便用户操作。
因各个学校的实际情况不同,系统应该具有兼容性。
例如:
一些学校学生人数较多,同时登陆系统,系统承载的负荷就很大。
系统需
要同时处理很大的数据量,这时系统不会因此崩溃。
此外,系统还应该具有较强
的安全性,保证身份不同的用户,不能越权操作。
非合法用户不能对数据进行操
作。
2.2编写目的
本软件需求说明旨在分析、确定本系统的任务,以及明确系统在功能、性能、操作使用上、运行环境、与外界的数据接口、输入/输出等各相关方面的要求,用来给本系统的开发人员和用户阅读,同时也作为开发过程中的开发标准,当双方确认之后,以供开发参考。
预期读者是系统设计人员、数据库设计人员。
2.3功能需求
通过系统功能的分析,结合需求分析员在各大高校实地考查,调查的对象涵
盖了,学校的教职工、在校师生。
特别是对已经运行了与本系统同类产品的学校
的师生使用选课管理系统心得体会进行了分析,总结出如下的需求信息:
1)学生的需求:
能进行选课,查看管理员发布的选课信息,自己的选课情况,本人的基本信息,课程的成绩;
2)教师的需求:
能查看自己的个人信息,及所授课的班级的所有学生的本门课程的成绩信息,并能进行增加和修改;
3)管理员的需求:
对学生选课情况进行管理,包括发布选课信息,对学生的选课情况进行查看。
管理员还可以对授课老师的信息进行管理。
第三章数据库分析与设计
3.1编写目的
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,是管理信息系统的一个核心部分。
为了便于程序与数据库的连接以及对数据库的管理维护,特编写本章,意在作为编程人员的参考以及数据库管理员维护数据的参考。
3.2逻辑模型的建立
3.2.1数据流图
(1)系统顶层图
图3.2.1学生选课系统环境图
3.2.2数据流程图一层分解图
(1)用户登陆管理。
用户在登陆时,系统会进行判断。
用户一共有三种类
型,分别是学生,教师和管理员。
其中,一部分教师是管理员。
在登陆的只有学
生和教师两种类型,管理员的身份由系统自行判断。
在判定时需要查询用户信息
库。
用户信息库,包括学生注册信息,教师注册信息,管理员信息等。
学生选课
管理系统一层分解图——登陆管理,如下图所示:
图3.2.2学生选课系统顶层数据流图
注:
F1:
用户登陆信息F2:
用户注册信息F3:
用户基本信息
F4:
用户基本信息F5:
学生选课信息清单F6:
学生选课信息
F7:
登陆错误信息F8:
系统反馈用户信息
F9:
用户信息清单F10:
修改密码后的用户信息
图3.2.3学生选课系统一层分解图—登陆管理
注:
F1:
用户修改信息F2:
密码修改反馈信息F3:
用户登陆信息
F4:
用户登陆反馈信息F5:
修改后的密码信息F6:
库中的用户信息
F7:
学生登陆信息F8:
教师登陆信息F9:
管理员登陆信息
(2)用户操作管理。
在登陆管理进行判断后,发送学生登陆信息,教师登陆信息,管理员登陆信息的其中一种。
根据用户身份信息的不同,进入不同的管理界面,相应的操作的功能,权限都有所不同。
如下图所示:
图3.2.4学生选课系统一层分解图—学生管理
注:
F1:
学生提交的操作信息F2:
学生操作后反馈信息F3:
原始学生信息
F4:
学生查询选课信息F5:
学生操作后返回的信息
图3.2.5学生选课系统一层分解图—教师管理
注:
F1:
教师提交的操作信息F2:
教师操作后反馈信息F3:
原始教师信息
F4:
教师查询选课信息F5:
教师操作后返回的信息
图3.2.6学生选课系统一层分解图—管理员管理
注:
F1:
管理员提交的操作信息F2:
管理员操作后反馈信息
F3:
原始管理员信息F4:
管理员查询选课信F5:
管理员更新后的选课信息
3.2.3数据流程图二层分解图
(1)学生管理。
将P2.1进行分解,学生管理包括,查看选课信息和个人信息,进行选课、重新选课。
学生选课管理系统二层分解图——学生管理如下图所示:
图3.2.7学生选课系统二层分解图—学生管理
注:
F1:
提交的个人查询信息F2:
查询个人信息后的反馈信息
F3:
查询选课信息后的反馈信息F4:
提交的选课查询信息
F5:
选课信息F6:
提交选课信息后的反馈信息
F7:
删除选课信息后的反馈信息F8:
删除选课信息
F9:
原始个人信息F10:
原始用户信息F11:
原始选课信息
F12:
增加选课的信息F12:
删除选课的信息
(2)教师管理。
将P2.2进行分解,教师管理包括,查看选课信息和个人信息,填写学生的成绩。
学生选课管理系统二层分解图——学生管理如下图所示:
图3.2.8学生选课系统二层分解图—教师管理
注:
F1:
选课信息F2:
提交选课信息后的反馈信息
F3:
填写学生成绩信息后的反馈信息F4:
提交的学生成绩信息
F5:
提交的个人查询信息F6:
查询个人信息后的反馈信息
F7:
原始个人信息F8:
需要修改的选课信息
F9:
修改后的学生信息F10:
原始的选课信息
(3)管理员管理。
将P2.3进行分解,管理员管理包括,1.管理学生信息,包括对学生信息的查询、增加,修改,删除;2.管理教师信息,包括对教师信息的查询、增加,修改,删除;3.选课信息管理,包括发布选课信息,增加,修改,删除选课课程等。
学生管理系统二层分解图——学生管理如下图所示:
图3.2.9学生选课系统二层分解图—管理员管理
注:
F1:
提交的操作学生信息的条件F2:
提交管理学生信息后的反馈信息
F3:
提交的操作教师信息的条件F4:
提交管理教师信息后的反馈信息
F5:
提交的操作管理员信息的条件F6:
提交管理管理员信息后的反馈信息
F7:
原始学生信息F8:
调用用户信息库F9:
调用用户信息库
F10:
原始教师信息F11:
原始课程信息F12:
调用选课信息库
3.2.4数据字典
表1
项目
描述
数据存储编号
D1
数据存储名称
用户表
简述
其中存放着学生,教师,管理员的信息
数据存储组成
[学号+姓名+性别+年龄+专业|+密码|
教师号+教师姓名+性别+职称+工资+补助+年龄+专业+密码|管理员号+姓名+密码]
相关联的处理
人员信息管理
表2
项目
描述
数据存储编号
D2
数据存储名称
选课表
简述
其中存放着学生选课的信息和教师教课的信息
数据存储组成
[学号+课程号+成绩+学年+学期|
教师号+课程号]
相关联的处理
对选课,退课,登记成绩,查询
表3
处理逻辑名称
身份验证
简述
检查输入信息的合法性
输入的数据流
学号+密码
处理过程
根据输入的学号和密码,检索用户,确定用户类别,以确定该用户的权限,显示查询信息
输出的数据流
学生选课信息,学生成绩,学生学籍,密码修改
处理频率
频繁
表4
处理逻辑名称
查询登记
简述
查询专业表及课程表,成绩表
输入的数据流
教师名+教师号+密码
处理过程
根据输入的信息,确定用户类别,根据用户类别,显示查询信息
输出的数据流
学生成绩,课程表
处理频率
频繁
第四章系统UML建模
4.1系统需求分析
学生选课系统主要满足来自三方面的需求,这三个方面分别是学生用户、教师用户和管理员用户,也即是三类用户角色。
(1)学生用户是主要的需求者,主要需求功能是查询可选课程、查看自己选课情况及进行选课、退课操作等;
(2)教师用户主要需求功能是查看自己所教授的课程、课程有哪些学生选修、以及利用本系统提交学生的成绩;
(3)管理员用户的功能需求较为复杂,包括对学生信息、教师信息、课程信息进行管理。
在学生信息管理子模块中,实现对学生信息的添加、修改、删除操作,还可以输入查询条件进行查询操作。
在教师管理子模块中,实现对教师信息的添加、修改、删除、查询等操作。
在课程管理子模块中,实现对课程信息的添加,添加时为其分配任课教师、上课时间和地点,实现对课程的修改、删除、查看某个课程的详细信息等。
本系统将管理员用户、教师用户、学生用户的身份及权限进行严格的划分,让管理员拥有最高权限,可以查看、维护系统中的所有信息,如添加学生,添加课程,修改课程信息等;让教师拥有查看自己开设的课程的信息,以及提交所开设课程成绩的权限;让学生拥有选课和退选的权限;而修改密码模块的权限每个用户都可拥有,用以修改自己的密码信息。
通过进行严格的权限划分,可以更好地进行管理,也可更好地保护用户信息安全。
4.2系统用例图
(1)管理员用例图
图4.1管理员用例图
(2)教师用例图
图4.2教师用例图
(3)教师用例图
图4.3学生用例图
4.3系统时序图
4.3.1学生时序图
学生首先使用自己的帐号和密码登录系统,登录模块会将学生的ID保存在系统缓存中并提交给课程查询模块。
课程查询模块提示学生输入查询条件,学生输入适当的查询条件后查询模块显示符合查询条件的课程列表。
学生得到课程列表后,提交自己想要选修的课程ID。
生成提交单并提交给数据模块进行保存,保存成功后,选修模块提示学生选修该课程成功。
图4.3.1学生时序图
4.3.2教师时序图
教师首先使用自己的帐号和密码登录系统,登录模块会将教师的ID保存在系统缓存中并提交给课程查询模块。
学生查询模块提示学生输入查询条件,教师输入适当的查询条件后查询模块显示符合查询条件的学生列表。
教师得到学生列表后,提交自己要录入分数的学生信息。
生成提交单并提交给数据模块进行保存,保存成功后,录入成绩模块提示教师录入成绩成功。
图4.3.2教师时序图
4.3.3管理员时序图
管理员首先使用自己的帐号和密码登录系统,登录模块会将管理员的ID保存在系统缓存中并提交给操作模块。
管理员进入需操作模块,选择自己需操作的选项,生成提交单并提交给数据模块进行保存,保存成功后,操作模块提示管理员此次操作成功。
图4.3.3管理员时序图
第五章总体设计
5.1系统功能结构
图5.1系统功能结构图
5.2系统流程图
图5.2系统总体流程图
第六章概念设计
6.1实体之间的联系
根据需求分析,归结出合适的联系:
1)一个学生最多能够选多门课,一门课可以被多个学生选
2)一个老师最多能教一门课,一门课可以被多个老师教授
3)管理员一定是教师
6.2E-R图
6.2.1局部E-R图
(1)学生实体及其属性图
图6.2.1学生实体及其属性图
(2)课程实体及其属性图
图6.2.2课程实体及其属性图
(3)专业实体及其属性图
图6.2.3专业实体及其属性图
(4)专业实体及其属性图
图6.2.4专业实体及其属性图
(5)学生课程联系E-R图
图6.2.5学生课程联系E-R图
(6)教师课程关系E-R图
图6.2.6教师课程关系E-R图
(7)管理员教师关系E-R图
图6.2.7教师课程关系E-R图
6.2.2全局E-R图
图6.2.8学生选课全局E-R图
第七章逻辑设计
根据需求分析中的E-R图,通过对实体的属性和之间的联系的分析,我们将其由概念模型向关系模型转化,并且根据范式化理论进行优化
7.1.1联系的转化的关系模式
教师表(教师号,教师名,性别,职称,工资,补助,年龄,专业号,密码)
课程表(课程号,课程名,先行课,课时,学分,上课地点,开课时间,
结束时间)
学生表(学号,学生名,性别,生日,专业号,密码)
专业表(专业号,学院名,专业名)
管理员表(教师号,管理员名,密码)
学生选课表(学号,课程号,分数,学年,学期)
教师选课表(教师号,课程号)
注:
画红线的是主键,画红波浪线的是外键
第八章物理设计
8.1.1数据库的存储结构
通过需求分析,概要设计和逻辑设计流程得到本系统的数据库结构。
8.1.2数据库的表设计
进一步确定上一章逻辑设计中设计好的关系模式中各个数据项的类型和长度,将每个关系转换为数据库中的二维表格,并确定了各个表的主键和外键,得到以下表结构:
表8.1.2学生表
字段名称
字段含义
数据类型及长度
约束
默认值
Sno
学号
Varchar(10)
主键
Sname
学生姓名
Varchar(20)
非空
Sex
性别
Varchar
(2)
男
Brith
生日
Char
(2)
Dno
专业号
Varchar(20)
外键
Password
密码
Varchar(20)
表8.2.3教师表
字段名称
字段含义
数据类型及长度
约束
默认值
Tno
教师号
Varchar(10)
主键
Tname
教师名
Varchar(10)
非空
Sex
性别
Varchar
(2)
Prof
职称
Varchar(10)
Sal
工资
Int
Comm
补助
Int
Brith
生日
Varchar(20)
Dno
专业号
Varchar(20)
外键
Password
密码
Varchar(20)
表8.2.4管理员表
字段名称
字段含义
数据类型及长度
约束
默认值
Ano
管理员号
Varchar(10)
主键
Aname
管理员姓名
Varchar(20)
非空
Password
密码
Varchar(20)
表8.2.5课程表
字段名称
字段含义
数据类型及长度
约束
默认值
Cno
课程号
Varchar(10)
主键
Cname
课程名
Varchar(20)
非空
Cpno
先行课
Varchar(10)
Chour
课时
Int
Ccredit
学分
Int
Address
上课地点
Varcahr (20)
Starttime
开课时间
Varchar(20)
Endtime
结课时间
Varchar(20)
表8.2.6学生选课表
字段名称
字段含义
数据类型及长度
约束
默认值
Sno
学号
Varchar(10)
主键
Cno
课程号
Varchar(20)
主键
Score
成绩
Int
Sctime
选课学年
Varchar(20)
非空
Scxq
选课学期
Varchar(20)
非空
表8.2.7教师教课表
字段名称
字段含义
数据类型及长度
约束
默认值
Tno
教师号
Varchar(10)
主键
Cno
课程号
Varchar(10)
主键
表8.2.8专业表
字段名称
字段含义
数据类型及长度
约束
默认值
Dno
专业号
Varchar(10)
主键
Academy
学院号
Varchar(20)
非空
Dept
专业名
Varchar(20)
非空
8.1.3数据的存放位置的设计
根据本系统的数据库的使用情况,主数据文件信息量大且使用频繁将其存储在高速存储器(硬盘)上。
将表和表上的索引存储在不同的磁盘上以便提高查询效率,同时这样可以提高物理I/O读写效率。
数据库备份文件和日志文件等文件因为使用频率小而且数据量非常大,存放在低速存储设备上。
8.1.4关系模式的存取方法
关系模式采用索引存取方法与聚簇存取方法共用。
8.1.5.数据库安全性
在数据库中,由于用户的身份不同,对数据库的访问权限也就不同。
管理员几乎能够对所有的用户自定义表进行操作(包括增、删、改、查)。
但根据实际情况,学生一旦选课成功,管理员是无法对其选课信息进行修改。
同样,学生与教师对数据库的访问权限就更加小了。
这样也就保证了数据库安全性。
另外一方面,数据库表中,各表之间根据实体完整性、参照完整性、域完整
性设置了各种约束。
一旦一张表被非法操作,如删除,修改。
也会影响其它的表。
所以这就要求DBA定时进行备份,防止当数据丢失时,引起不可估量的损失。
第九章实现、运行与维护
9.1实现
根据概要设计和逻辑设计的结果,在计算机上建立实际的数据库结构,导入
数据进行程序调试。
9.2人机界面设计
9.2.1高校学生选课登陆界面
图7.2.1高校学生选课登陆界面
9.2.2高校学生选课管理员登陆欢迎界面
图7.2.2高校学生选课管理员登陆欢迎界面
9.2.3高校学生选课教师登陆欢迎界面
图7.2.3高校学生选课教师登陆欢迎界面
9.2.4高校学生选课学生登陆欢迎界面
图7.2.4高校学生选课教师登陆欢迎界面
9.2.5高校学生选课学生信息界面
图7.2.5高校学生选课学生信息界面
7.2.6高校学生选课学生查看自己选课界面
图7.2.6高校学生选课查看自己选课界面
9.2.7高校学生选课教师录入成绩界面
图9.2.7高校学生选课教师录入成绩界面
9.2.8高校学生选课教师查看自己教课界面
图9.2.8高校学生选课教师查看自己教课界面
9.2.9高校学生选课修改个人信息界面
图9.2.9高校学生选课修改个人信息界面
9.2.10高校学生选课增加课程信息界面
图9.2.10高校学生选课增加课程信息界面
9.2.11高校学生选课查看课程界面
图9.2.11高校学生选课查看课程信息界面
9.2.12高校学生选课增加教师与课程界面
图9.2.12高校学生选课教师与课程界面
9.2.13高校学生查看教师教课界面
图9.2.13高校学生选课界面
9.2.14添加学生信息界面
图9.2.14高校学生添加学生信息界面
9.2.15学生信息列表界面
图9.2.15学生信息列表界面
9.2.16添加教师信息界面
图7.2.16添加教师信息界面
9.2.17教师信息列表界面
图7.2.16教师信息列表界面
9.2.18指定学期学生所选总学分数
图7.2.17指定学期学生所选总学分数
9.2.19指定学年没有被选的课程名
图7.2.17指定学年没有被选的课程名
9.2.20统计各老师课程的学生人数
图7.2.17统计各老师课程的学生人数
7.4运行维护
经过实际的测试和运行,已经可以满足高校公开课学生选课该,系统运行稳定,日后的使用和维护中DBA应该注意进行定期备份数据库,以免丢失数据库。
定期清理数据库中的无效数据,以提高运行效率。
对软件及运行环境进行日常维护。
第八章总结
在此次的课程设计当中,我们遇到很多困难,同时也学习到很多。
最重要的是深刻体会到了团队的重要性。
在课程设计刚开始的时候,由于我们在没有进行详细的数据库分析的情况下,就盲目的编写程序。
使得在数据库表结构,关系模式出现问题或变动的时候,花费了大量时间来修改代码。
造成了工作进度落后于预期进度。
给以后的工作带来的很多的不便。
这个时候已经离项目交付日期不到两周。
我们的开发团队马上组织起来,召开紧急会议,总结了发生错误的原因。
最后一起进行讨论,协商
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高校学生 选课 系统 数据库 设计