学生选课管理系统数据库课程设计Word文档格式.docx
《学生选课管理系统数据库课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《学生选课管理系统数据库课程设计Word文档格式.docx(27页珍藏版)》请在冰点文库上搜索。
能够极大的满足学生选课,以及学校对选课信息的管理。
1.2.2要求
主要功能:
教师和学生登陆系统的帐号和密码,初始都分别为教师和学号,登陆后密码可以修改。
其中教师的职位可以是管理员。
管理员和非管理员的老师及学生对系统的操作具有不同的权限.管理员登陆系统,对学生选课情况进行管理,包括发布选课信息,对学生的选课情况进行查看。
管理员还可以对授课老师的信息进行增加、删除、修改、查询。
教师登陆系统,能查看自己的个人信息,及所授课的班级的所有学生的本门课程的成绩信息,并能进行增加和修改。
学生登陆系统,能进行选课,查看管理员发布的选课信息,自己的选课情况,本人的基本信息,以及课程的成绩。
系统自动分配学生选课后的临时班级。
性能要求:
管理员发布的信息、学生选课的信息以及管理员和学生对系统操作的信息必须及时的反映在本系统上,且无差错。
输入要求:
具有很好的容错性和兼容性
输出要求:
应迅速、准确、实时
完成期限:
预计五个星期,即截止20**年12月30日。
1.2.3条件假定和限制
建议软件寿命:
未知
经费来源:
自费
硬件条件:
IntelPentium4、1G内存同等性能及以上的硬件条件
运行环境:
WindowXP、Tomcat5.5、JDK1.6
数据库:
MicrosoftSQLserver2005
投入运行最迟时间:
20**年1月5日
1.2.4决定可行性的主要因素
技术可行,现有技术可完全承担开发任务。
操作可行,软件能被操作人员快速接受.
经济可行,为小型系统软件,支出较小。
社会可行,使用软件全部为正版,且本软件在法律允许范围之内
3技术可行性分析
技术上的可行性分析要考虑现有技术条件能否顺利完成开发工作及将来要采用的硬件和软件技术能否满足用户提出的要求。
1.3。
1技术的支持能力
本系统采用J2EE企业级开发方案,其中MyEclipse8。
5作为系统前台应用程序开发工具,采用SQLServer2005工具建立数据库,并通过JDBC使两者进行连接从而进行系统软件开发。
此前,我们已使用相同技术开发过类似软件系统,具有一定开发经验。
此外,从开发人员的水平考虑,本系统的软件开发人员,都具有较强软件开发能力,且之前开发都参加过类似软件系统的开发,经验丰富.
1.3.2技术的优势
一、J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求;
二、开发效率、代码重用率高;
三、跨平台,编写一次,随处运行;
四、开发界面友好,智能。
3。
3技术的难点
一、数据库设计和维护
二、系统负荷和安全问题
1.4经济可行性分析
4.1预期支出
基础投资:
计算机10台:
5000*10=5万
人员工资:
5000元*2月*10人=10万
宣传费用:
1万
其他不可知支出:
2万
支出共计:
18万
本学生选课管理系统其它所需的硬件(计算机及相关硬件)和软件环境(MyEclipse8。
5+Tomcat5。
5+JDK1。
6+SQLServer2005),市场上都容易购买到或从相关网站下载。
其中JDK1.5为开源免费软件。
而SQLserver2005本软件采用的是学习版,也是免费的,MyEclipse8。
5以前已经购得,开发成本较小.
1.4.2预期收益
预期发售价格:
2万/套
目标客户:
全国各大高校
预期发售量:
40套/年
预期收益:
40*2=80万
预期收益>
预期支出,开发本系统能够为投资者带来较高的收益。
5社会可行性分析
5.1法律因素
开发使用的所有软件都选用正版,其中JDK1.5为开源免费软件.而SQLserver2005本软件采用的是学习版,也是免费的。
1.5.2用户使用可行性
本软件操作简单,界面友好,功能完备,有一定计算机基础的人员就能进行操作。
1.6意见结论
根据上述分析,技术、经济、社会可行性都可行,可以立即进行开发.
第二章需求分析
2.1系统需求
用户的需求具体体现在选课信息和用户信息的提供、保存、更新和查询的方面。
这就要求数据库的设计必须合理,使之能够充分满足各种信息的输入和输出,保证数据存储的可靠性,并且能够快速取出和存入。
而前台显示部分,应具有人性化的界面,方便用户操作.因各个学校的实际情况不同,系统应该具有兼容性.例如:
一些学校学生人数较多,同时登陆系统,系统承载的负荷就很大。
系统需要同时处理很大的数据量,这时系统不会因此崩溃。
此外,系统还应该具有较强的安全性,保证身份不同的用户,不能越权操作。
非合法用户不能对数据进行操作。
2功能需求
通过系统功能的分析,结合需求分析员在各大高校实地考查,调查的对象涵盖了,学校的教职工、在校师生。
特别是对已经运行了与本系统同类产品的学校的师生使用选课管理系统心得体会进行了分析,总结出如下的需求信息:
(1)学生的需求:
能进行选课,查看管理员发布的选课信息,自己的选课情况,本人的基本信息,课程的成绩;
(2)教师的需求:
能查看自己的个人信息,及所授课的班级的所有学生的本门课程的成绩信息,并能进行增加和修改;
(3)管理员的需求:
对学生选课情况进行管理,包括发布选课信息,对学生的选课情况进行查看。
管理员还可以对授课老师的信息进行管理。
3数据流图
2.3。
1系统顶层图
根据系统主要信息的处理功能,整个系统可以看作登陆管理,用户选课管理两个部分。
从而得出了学生选课管理系统的顶层图如下所示:
注:
F1:
用户登陆信息F2:
用户注册信息F3:
用户基本信息F4:
用户基本信息
F5:
学生选课信息清单F6:
学生选课信息F7:
登陆错误信息F8:
系统反馈用户信息
F9:
用户信息清单F10:
修改密码后的用户信息
3.2数据流程图一层分解图
(1)用户登陆管理.用户在登陆时,系统会进行判断.用户一共有三种类型,分别是学生,教师和管理员.其中,一部分教师是管理员。
在登陆的只有学生和教师两种类型,管理员的身份由系统自行判断。
在判定时需要查询用户信息库。
用户信息库,包括学生注册信息,教师注册信息,管理员信息等.学生选课管理系统一层分解图——登陆管理,如下图所示:
注:
F2。
1:
学生登陆信息F2。
2:
教师登陆信息F2.3:
管理员登陆信息
F7。
用户身份信息F7。
修改密码的错误信息
(2)用户操作管理。
在登陆管理进行判断后,发送学生登陆信息,教师登陆信息,管理员登陆信息的其中一种。
根据用户身份信息的不同,进入不同的管理界面,相应的操作的功能,权限都有所不同.如下图所示:
F3.1:
原始学生信息F5。
学生更新后的选课信
F6.1:
学生查询的选课信息F8。
1:
学生操作后返回的信息
F3.2:
原始教师信息5.2:
教师更新后的选课信息
F6。
教师查询的选课信息F8.1:
教师操作后返回的信息
F3.3:
原始管理员信息F9。
1更新后的用户信息F6。
3:
管理员查询的选课信息F8.1:
管理员操作后返回的信息F5.3:
管理员更新后的选课信息
3数据流程图二层分解图
(1)学生管理.将P2.1进行分解,学生管理包括,查看选课信息和个人信息,进行选课、重新选课。
学生选课管理系统二层分解图——学生管理如下图所示:
F3。
学生个人信息F5.1。
增加后的选课信息F5。
1.2:
删除后的选课信息
(2)教师管理.将P2。
2进行分解,教师管理包括,查看选课信息和个人信息,填写学生的成绩.学生选课管理系统二层分解图——学生管理如下图所示:
F3.2.1:
教师个人信息F3。
学生个人信息
F5.2.2:
增加后的学生成绩信息F5.2。
修改后的学生成绩信息
(2)教师管理。
将P2。
3进行分解,管理员管理包括,1。
管理学生信息,包括对学生信息的查询、增加,修改,删除;
2.管理教师信息,包括对教师信息的查询、增加,修改,删除;
选课信息管理,包括发布选课信息,增加,修改,删除选课课程等。
学生管理系统二层分解图-—学生管理如下图所示:
F3.3.1:
原始学生信息F3。
3.2:
原始教师信息F3。
3.3:
原始课程信息
F3.3。
4:
原始教室信息F9。
修改后学生信息F9。
修改后的教师信息F9.1。
修改后的课程信息F9.1.3:
修改后的班级信息
4数据字典
4.1数据流条目
表2.1用户登陆信息数据流条目
编号
F1
数据流名称
用户登陆信息
来源
用户
去向
P1:
登陆管理
简述
用户在登陆时输入的账号、密码和验证码
组成
用户名+密码+身份+验证码
表2.2用户身份信息数据流条目
F2
用户身份信息
P1:
P2:
用户操作管理
登陆系统判断用户身份后发送的信息
表2.3用户注册信息数据流条目
F3
用户注册信息
用户信息库
系统从用户信息库中查询出来的用户注册信息
[学生注册信息]+[教师注册信息]+[管理员注册信息]
表2.4用户基本信息数据流条目
F4
D1:
P2:
系统从用户信息库中查询出来的用户基本信息
[学生信息]+[教师信息]+[管理员信息]
表2。
5用户基本信息数据流条目
F5
学生选课信息清单
D2:
选课信息库
用户操作数据后存入选课信息库中的信息
学号+课程号+成绩
6用户基本信息数据流条目
F6
学生选课信息
学号+课程号+成绩+[班级信息]
表2.7用户基本信息数据流条目
F7
登陆错误信息
用户登陆时,输入的用户名,密码或验证码错误
错误信息
表2.8用户基本信息数据流条目
F8
D2:
用户进行操作后,系统反馈给用户信息
查询或操作显示的信息,或错误提示信息
表2.9用户基本信息数据流条目
F9
用户信息清单
用户选课管理
用户操作数据后存入用户信息库中的信息
[学生信息]+[教师信息]+[管理员信息]
10用户基本信息数据流条目
F10
用户修改密码后存入用户信息库的信息
用户名+密码+身份
4。
2数据处理
11登陆管理数据处理
P1
名称
输入流
F1、F3
输出流
F2、F7、F10
对登陆信息进行管理
处理
判断用户登陆时输入登陆信息是否正确
表2.12用户操作管理数据处理
P2
F2、F4、F6
F5、F8
用户相关操作的管理
根据用户的不同,进行不同的的用户操作管理
2.4。
3数据存储
表2.13数据存储处理
数据存储名
输入数据流
删除数据流
流量
D1
F9、F10
F3、F4
大
D2
第三章概念设计
3.1实体之间的联系
根据需求分析,归结出合适的联系:
1、一个学生最多能够选两门课,一门课可以被多个学生选
2、一个老师最多能教一门课,一门课可以被多个老师教授,
3、教师中只有一个是管理员
4、一个学生可以属于不超过两个临时班级,一个临时班级可以有多名学生
5、一名教师可以在多个临时班级上课,一个临时班级只有一名教师教授
3.2E-R图
2.1局部E—R图
(1)学生课程联系E-R图
(2)教师课程关系E—R图
(3)学生临时班级联系E-R图
(4)管理员教师关系实体E-R图
(5)教师班级关系实体E—R图
(6)课程临时班级关系实体E-R图
2全局E—R图
第四章逻辑设计
4.1概念模型向关系模型的转换
根据需求分析中的E-R图,通过对实体的属性和之间的联系的分析,我们将其由概念模型向关系模型转化,并且根据范式化理论进行优化
1.11:
N联系的转化的关系模式
(1)教师课程联系概念模型向关系模型的转化
教师表(教师号,教师名,性别,年龄,身份,密码,课程号)
课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)
(2)教师临时班级联系概念模型向关系模型的转化
教师表(教师号,教师名,性别,年龄,身份,密码)
临时班级表(班级号,班级名,人数,地点,教师号)
(3)课程临时班级联系概念模型向关系模型的转化
临时班级表(班级号,班级名,人数,地点,课程号)
2M:
(1)学生选课联系概念模型向关系模型的转化
学生表(学号,姓名,性别,年龄,系部,密码)
课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)
选课表(学号,课程号,成绩)
(2)学生班级联系概念模型向关系模型的转化
学生表(学号,姓名,性别,年龄,系部,密码)
临时班级表(班级号,班级名,人数,地点)
学生班级关系表(学生号,班级号)
4.2概念模型的优化
2.1确定范式级别
根据上述分析所归结出来的数据依赖的种类和在本系统实际的开发过程中,需要涉及多表的查询及表的修改和删除,且存在多值依赖的实际情况下,其关系模式应达到BCNF.
2实施规范化处理
由于学生选课联系的关系模式、学生班级的关系模式和教师管理员联系的关系模式已经不存非平凡且非函数依赖额多值依赖,所以在这里不需要做处理
各个关系模式的函数依赖集如下:
教师课程联系:
F={教师号→教师名,教师号→性别,教师号→年龄,
教师号→身份,教师号→密码,教师号→课程号}
班级临时班级联系:
F={班级号→班级名,班级号→人数,班级号→地点,班级号→教师号}
课程临时班级联系:
F={班级号→班级名,班级号→人数,班级号→地点,
班级号→课程号}
选课联系:
F={(学号,课程号)→成绩}
学生班级联系:
F={(学生号,班级号)}
(1)教师课程联系概念模型向关系模型的优化
教师表(教师号,教师名,性别,年龄,身份,密码)
课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)
教师课程联系(教师号,课程号)
(2)教师临时班级联系概念模型向关系模型的优化
教师表(教师号,教师名,性别,年龄,身份,密码)
教师临时班级关系(班级号,教师号)
(3)课程临时班级联系概念模型向关系模型的优化
临时班级表(班级号,班级名,人数,地点)
课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)
课程临时班级关系(班级号,课程号)
经过规范化处理后的所有关系模如下:
学生表(学号,姓名,性别,年龄,系部,密码)
课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)
教师表(教师号,教师名,性别,年龄,身份,密码)
教师课程关系(教师号,课程号)
选课表(学号,课程号,成绩)
学生临时班级关系表(学生号,班级号)
第五章物理设计
5.1数据库的存储结构
通过需求分析,概要设计和逻辑设计流程得到本系统的数据库结构。
5。
1.2数据库的表设计
进一步确定上一章逻辑设计中设计好的关系模式中各个数据项的类型和长度,将每个关系转换为数据库中的二维表格,并确定了各个表的主键和外键,得到以下表结构:
表5.1学生表
字段名称
字段含义
数据类型及长度
约束
默认值
Sno
学号
varchar(15)
主键
Sname
姓名
非空
Ssex
性别
varchar
(2)
男
Sage
年龄
int
>
0或〈40
Sclass
班级
Sdept
系部
varchar(20)
Spass
密码
表5.2教师表
Tno
教师号
Tname
Tsex
Tage
0或<
100
Tpass
Status
身份
varchar(10)
表5。
3课程表
Cno
课程号
Cname
课程名
Credit
学分
Ctime
Cbegintime
表5.4临时班级表
Csno
Csname
Address
地址
Number
人数
Int
=0或〈=100
5选课表
主键,外键
Grade
成绩
〉=0或〈=100
6学生临时班级关系表
班级号
主键,外键
表5.7教师课程关系表
外键
表5.8教师临时班级关系表
9课程临时班级关系表
5.1。
3数据的存放位置的设计
根据本系统的数据库的使用情况,主数据文件信息量大且使用频繁将其存储在高速存储器(硬盘)上。
将表和表上的索引存储在不同的磁盘上以便提高查询效率,同时这样可以提高物理I/O读写效率.数据库备份文件和日志文件等文件因为使用频率小而且数据量非常大,存放在低速存储设备上。
4关系模式的存取方法
关系模式采用索引存取方法与聚簇存取方法共用.
5.1.5。
数据库安全性
在数据库中,由于用户的身份不同,对数据库的访问权限也就不同.管理员几乎能够对所有的用户自定义表进行操作(包括增、删、改、查)。
但根据实际情况,学生一旦选课成功