您的当前位置:首页正文

学生选课管理系统(数据库课程设计)

2022-10-01 来源:星星旅游


数据库系统原理及其应用教程

设计题目 指导教师

课程设计报告

选修课程管理系统的设计与实现

第 1

摘 要

随着计算机技术的日新月异,极大的推动的各个行业的信息化进程。各大高校也急需进行信息化改革,以促进教学质量和工作效率快速提升。

本文是在对各大高校全校公开课学生选课情况进行实地调查后,进行详细分析讨论后撰写的学生选课管理系统数据库设计报告。全文从最初的系统规划,到需求分析、概念设计、逻辑设计、物理设计。每一阶段都进行了详细的分析。接下来的实现、运行与维护阶段,还

2 页 第

进行了对本系统的测试,最后是本次项目开发的心得和体会以及本文的参考文献。

本系统主要功能是对学生选课及相关信息进行管理。较行业同类产品而言,本系统人机界面设计更加合理、人性化,用户操作简单方便。数据库的安全性更高,对用户访问权限进行了严格控制。数据存取速度更快,使用年限更长。可以很好的满足高校公开课学生选课的要求,极大的提高了学校的工作效率。

关键字:学生选课管理系统;分析;设计

目 录

一、概述 ..................................................................................................................................... 4

1.1 设计背景 ....................................................................................................................... 26 1.2 设计目的 ...................................................................................................................... 28 1.3 设计内容 ....................................................................................................................... 32

二、需求分析 ......................................................................................................................... 15

2.1 功能分析 ......................................................................................................................... 7 2.2 工作流图 ......................................................................................................................... 6 2.3 数据流图 ......................................................................................................................... 7

3 页 第

2.4 数据字典 ....................................................................................................................... 11

三、概念模型设计 .............................................................................................................. 14

3.1 实体之间的联系 ........................................................................................................... 14 3.2 E-R图 ............................................................................................................................. 15

四、逻辑设计 ......................................................................................................................... 18

4.1 概念模型向关系模型的转换 ....................................................................................... 19 4.2 概念模型的优化 ........................................................................................................... 20

五、源代码及查询截图 ................................................................................................... 21

5.1 数据库的存储结构 ....................................................................................................... 21 5.2 实现 ............................................................................................................................... 24 5.3 人机界面设计 ............................................................................................................... 26 5.4 系统测试 ...................................................................................................................... 28 5.5 运行维护 ....................................................................................................................... 32

六、总结 ................................................................................................................................... 32 参考文献 ................................................................................................................................... 33

一、 概述

1.1设计背景

可行性研究的目的是用最小的代价在尽可能的短的时间内确定数据库系统是否可能开发、是否值得开发、是否可以开发(在该报告中主要是考查《学生选课管理系统》是否可能开发、是否值得开发、是否可以开发)。其实质是在较高层次上以较抽象方式进行的、简化的压缩的需求分析和概要设计过程。

4 页 第

1.2设计目的

系统实现后,极大的方便对学生进行选课和选课后临时班级的安排管理,学生选课信息的管理。避免在安排课程信息的滞后,减少信息交流的烦琐过程及其带来的开销。促进高校教育的计算机信息化进程,提高学校的工作效率。对于系统的本身而言,应该具有较高的实用性、安全性。能够极大的满足学生选课,以及学校对选课信息的管理。

1.3设计内容

调查学校教务处,设计用于管理全校学生选修课活动的系统。主要功能有: ①全校选修计划课程管理; ②全校选修开课课程管理; ③全校学生选课管理; ④全校选修课成绩管理;

能够实现课程的查询,修改与删除功能。

二、 需求分析

2.1 功能分析

主要功能:

教师和学生登陆系统的帐号和密码,初始都分别为教师和学号,登陆后密码可以修改。其中教师的职位可以是管理员。管理员和非管理员的老师及学生对系统的操作具有不同的权限。管理员登陆系统,对学生选课情况进行管理,包括发布选课信息,对学生的选课情况进行查看。管理员还可以对授课老师的信息进行增加、删除、修改、查询。教师登陆系统,能查看自己的个人信息,及所授课的

5 页 第

班级的所有学生的本门课程的成绩信息,并能进行增加和修改。学生登陆系统,能进行选课,查看管理员发布的选课信息,自己的选课情况,本人的基本信息,以及课程的成绩。系统自动分配学生选课后的临时班级。 性能要求:

管理员发布的信息、学生选课的信息以及管理员和学生对系统操作的信息必须及时的反映在本系统上,且无差错。 输入要求:

具有很好的容错性和兼容性 输出要求:

应迅速、准确、实时

2.2工作流图

系统需求:

用户的需求具体体现在选课信息和用户信息的提供、保存、更新和查询的方面。这就要求数据库的设计必须合理,使之能够充分满足各种信息的输入和输出,保证数据存储的可靠性,并且能够快速取出和存入。而前台显示部分,应具有人性化的界面,方便用户操作。因各个学校的实际情况不同,系统应该具有兼容性。例如:一些学校学生人数较多,同时登陆系统,系统承载的负荷就很大。系统需要同时处理很大的数据量,这时系统不会因此崩溃。系统还应该具有较强的安全性,保证身份不同的用户,不能越权操作。非合法用户不能对数据进行操作。 功能需求:

通过系统功能的分析,结合需求分析员在各大高校实地考查,调查的对象涵盖了,学校的教职工、在校师生。特别是对已经运行了与本系统同类产品的学校的师生使用选课管理系统心得体会进行了分析,总结出如下的需求信息:

(1) 学生的需求:能进行选课,查看管理员发布的选课信息,自己的选课情况,本人的基本信息,课程的成绩;

(2)教师的需求:能查看自己的个人信息,及所授课的班级的所有学生的本门课程的成绩信息,并能进行增加和修改;

6 页 第

(3)管理员的需求:对学生选课情况进行管理,包括发布选课信息,对学生的选课情况进行查看。管理员还可以对授课老师的信息进行管理。

2.3数据流图

系统顶层图:

根据系统主要信息的处理功能,整个系统可以看作登陆管理,用户选课管理两个部分。从而得出了学生选课管理系统的顶层图如下所示:

F9 D1 用户信息库 F3 F4 F5 D2 选课信息库 F10 用户 F1 P1 登陆管理 F2 P2 用户选课管理 F6 F7 F8 学生选课管理系统顶层图

注: F1:用户登陆信息 F2:用户注册信息 F3:用户基本信息 F4:用户基本信息

F5:学生选课信息清单 F6:学生选课信息 F7:登陆错误信息 F8:系统反馈用户信息 F9:用户信息清单 F10:修改密码后的用户信息 数据流程图一层分解图

(1)用户登陆管理。用户在登陆时,系统会进行判断。用户一共有三种类型,分别是学生,教师和管理员。其中,一部分教师是管理员。在登陆的只有学生和教师两种类型,管理员的身份由系统自行判断。在判定时需要查询用户信息库。用户信息库,包括学生注册信息,教师注册信息,管理员信息等。学生选课管理系统一层分解图——登陆管理,如下图所示:

7 页 第

D1 用户信息库 F3 F7.1 用户 F1 F10 F1 P1.1 用户身份判断 P1.2 修改密码 F2.1 F2.2 F2.3 P2 用户操作管理 F7.2 学生选课管理系统一层分解图——登陆管理

注:F2.1:学生登陆信息 F2.2:教师登陆信息 F2.3:管理员登陆信息 F7.1:用户身份信息 F7.2:修改密码的错误信息

(2)用户操作管理。在登陆管理进行判断后,发送学生登陆信息,教师登陆信息,管理员登陆信息的其中一种。根据用户身份信息的不同,进入不同的管理界面,相应的操作的功能,权限都有所不同。如下图所示:

D1 用户信息库 F6.1 F3.1 D2 选课信息库 F5.1 P2.1 学生 F2.1 学生管理 F8.1 学生选课管理系统一层分解图——学生管理

注:F3.1:原始学生信息 F5.1:学生更新后的选课信 F6.1:学生查询的选课信息 F8.1:学生操作后返回的信息

页 第 8

D1 用户信息库 F6.2 F3.2 D2 选课信息库 F5.2 P2.2 教师 F2.2 教师管理 F8.2 学生选课管理系统一层分解图——教师管理

注:F3.2:原始教师信息 5.2:教师更新后的选课信息 F6.2:教师查询的选课信息 F8.1:教师操作后返回的信息

D1 用户信息库 F9.1 F6.3 F3.3 P2.3 管理员 F2.3 管理员管理 D2 选课信息库 F5.3 F8.3 学生选课管理系统一层分解图——管理员管理

注:F3.3:原始管理员信息F9.1更新后的用户信息F6.3:管理员查询的选课信息F8.1:管理员操作后返回的信息 F5.3:管理员更新后的选课信息 数据流程图二层分解图

(1)学生管理。将P2.1进行分解,学生管理包括,查看选课信息和个人信息,进行选课、重新选课。学生选课管理系统二层分解图——学生管理如下图所示:

页 第 9

学生 F2.1 F8.1 F8.1 P2.1.1 个人信息查询 F2.1 P2.1.2 选课信息查询 F2.1 P2.1.3 增加选课 F8.1 F8.1 P2.1.4 删除选课 F2.1 F3.1 F3.1 F6.1 F5.1.1 F5.1.2 D1 用户信息库 D2 选课信息库 学生选课管理系统二层分解图——学生管理

注:F3.1:学生个人信息 F5.1.1:增加后的选课信息F5.1.2: 删除后的选课信息

(2)教师管理。将P2.2进行分解,教师管理包括,查看选课信息和个人信息,填写学生的成绩。学生选课管理系统二层分解图——学生管理如下图所示:

D1 用户信息库 F3.2.1 F2.2 F8.2 P2.2.1 个人信息查询 教师 F2.2 F8.2 P2.2.3 查询选课信息 F6.2 F8.2 P2.2.4 填写学生成绩 F5.2.2 D2 选课信息库 F8.2 学生选课管理系统二层分解图——教师管理

注:F3.2.1:教师个人信息 F3.2.2:学生个人信息

F5.2.2:增加后的学生成绩信息 F5.2.3:修改后的学生成绩信息

页 第 10

(3)教师管理。将P2.3进行分解,管理员管理包括,1.管理学生信息,包括对学生信息的查询、增加,修改,删除;2.管理教师信息,包括对教师信息的查询、增加,修改,删除;3.选课信息管理,包括发布选课信息,增加,修改,删除选课课程等。学生管理系统二层分解图——学生管理如下图所示:

D1 F3.3.1 D2 F9.1.2 F3.3.2 F3.3.3 用户信息库 F9.1.1 选课信息库 F9.1.3 F3.3.3 F9.1.4 P2.2.3 管理学生信息 P2.2.3 管理教师信息 P2.2.3 管理课程信息 F8.3 F2.3 P2.2.3 管理班级信息 F8.3 F2.3 F2.3 F8.3 F2.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:登陆管理 用户在登陆时输入的账号、密码和验证码 11 页 第

组成 编号 来源 简述 组成 用户名+密码+身份+验证码 用户身份信息数据流条目 F2 P1:登陆管理 数据流名称 去向 用户身份信息 P2:用户操作管理 登陆系统判断用户身份后发送的信息 用户名+密码+身份+验证码 用户注册信息数据流条目 编号 来源 简述 组成 F3 用户信息库 数据流名称 去向 用户注册信息 P1:登陆管理 系统从用户信息库中查询出来的用户注册信息 [学生注册信息]+[教师注册信息]+[管理员注册信息] 用户基本信息数据流条目 编号 来源 简述 组成 F4 D1:用户信息库 数据流名称 去向 用户基本信息 P2:用户操作管理 系统从用户信息库中查询出来的用户基本信息 [学生信息]+[教师信息]+[管理员信息] 用户基本信息数据流条目 编号 来源 简述 组成 F5 P2:用户操作管理 数据流名称 去向 学生选课信息清单 D2:选课信息库 用户操作数据后存入选课信息库中的信息 学号+课程号+成绩 用户基本信息数据流条目 编号 来源 简述 组成 F6 D2:选课信息库 数据流名称 去向 学生选课信息 P2:用户操作管理 用户操作数据后存入选课信息库中的信息 学号+课程号+成绩+[班级信息] 12 页 第

用户基本信息数据流条目

编号 来源 简述 组成 F7 D2:选课信息库 数据流名称 去向 登陆错误信息 P2:用户操作管理 用户登陆时,输入的用户名,密码或验证码错误 错误信息 用户基本信息数据流条目 编号 来源 简述 组成 F8 D2:选课信息库 数据流名称 去向 系统反馈用户信息 P2:用户操作管理 用户进行操作后,系统反馈给用户信息 查询或操作显示的信息,或错误提示信息 用户基本信息数据流条目 编号 来源 简述 组成 F9 P2:用户选课管理 数据流名称 去向 用户信息清单 D1:用户信息库 用户操作数据后存入用户信息库中的信息 [学生信息]+[教师信息]+[管理员信息] 用户基本信息数据流条目 编号 来源 简述 组成 F10 P1:登陆管理 数据流名称 修改密码后的用户信息 去向 D1:用户信息库 用户修改密码后存入用户信息库的信息 用户名+密码+身份

数据处理

登陆管理数据处理 编号 P1 名称 登陆管理 13 页 第

输入流 简述 处理 F1、F3 对登陆信息进行管理 输出流 F2、F7、F10 判断用户登陆时输入登陆信息是否正确 用户操作管理数据处理

编号 输入流 简述 处理 P2 F2、F4、F6 用户相关操作的管理 名称 输出流 用户操作管理 F5、F8 根据用户的不同,进行不同的的用户操作管理 数据存储

数据存储处理 编号 D1 D2 数据存储名 用户信息库 选课信息库 输入数据流 F9、F10 F6 删除数据流 F3、F4 F5 流量 大 大

三、概念模型设计

3.1 实体之间的联系

根据需求分析,归结出合适的联系:

1、一个学生最多能够选两门课,一门课可以被多个学生选 2、一个老师最多能教一门课,一门课可以被多个老师教授, 3、教师中只有一个是管理员

4、一个学生可以属于不超过两个临时班级,一个临时班级可以有多名学生 5、一名教师可以在多个临时班级上课,一个临时班级只有一名教师教授

14 页 第

3.2 E-R图 局部E-R图

(1)学生课程联系E-R图

学号 姓名 课程号 课程名 学分 性别 学生 M 选修 N 课程 上课时间 年龄 系部 密码 成绩 结束时间 学生课程联系E-R图

开始时间

(2)教师课程关系E-R图

15 页 第

教师名 教师号 课程号 课程名 性别 学分 教师 N 1 课程 上课时间 讲授 年龄 密码 身份 开始时间 结束时间 教师课程关系E-R图

(3)学生临时班级联系E-R图

学号 姓名 班级号 班级名 性别 学生 M 属于 N 临时班级 年龄 人数 系部 密码 地点 学生临时班级联系E-R图

(4)管理员教师关系实体E-R图

16 页 第

管理员 1 N 教师号 教师 密码 身份 教师名 性别 年龄 管理员教师关系E-R图

(5)教师班级关系实体E-R图

教师名 教师号 班级号 性别 班级名 教师 1 任教 N 临时班级 年龄 密码 身份 人数 地点 教师临时班级联系E-R图

17 页 第

(6)课程临时班级关系实体E-R图

课程名名 上课时间 课程号 班级号 班级名 课程 1 开设 N 临时班级 开课时间 结束时间 学分 人数 地点 课程临时班级联系E-R图

全局E-R图

成绩 学生 M 属于 M 选修 N 课程 1 教授 N 1 开设 N N 班级 N 任教 1 教师 1 管理员 N 学生选课全局E-R图

18 页 第

四、逻辑设计

4.1 概念模型向关系模型的转换

根据需求分析中的E-R图,通过对实体的属性和之间的联系的分析,我们将其由概念模型向关系模型转化,并且根据范式化理论进行优化

1:N联系的转化的关系模式

(1)教师课程联系概念模型向关系模型的转化

教师表(教师号,教师名,性别,年龄,身份,密码,课程号) 课程表(课程号,课程名,学分,上课时间,开课时间,结束时间) (2)教师临时班级联系概念模型向关系模型的转化

教师表(教师号,教师名,性别,年龄,身份,密码) 临时班级表(班级号,班级名,人数,地点,教师号) (3)课程临时班级联系概念模型向关系模型的转化

临时班级表(班级号,班级名,人数,地点,课程号)

课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)

M:N联系的转化的关系模式

(1)学生选课联系概念模型向关系模型的转化

学生表(学号,姓名,性别,年龄,系部,密码)

课程表(课程号,课程名,学分,上课时间,开课时间,结束时间) 选课表(学号,课程号,成绩)

(2)学生班级联系概念模型向关系模型的转化

学生表(学号,姓名,性别,年龄,系部,密码) 临时班级表(班级号,班级名,人数,地点) 学生班级关系表(学生号,班级号)

19 页 第

4.2 概念模型的优化 确定范式级别

根据上述分析所归结出来的数据依赖的种类和在本系统实际的开发过程中,需要涉及多表的查询及表的修改和删除,且存在多值依赖的实际情况下,其关系模式应达到BCNF。

实施规范化处理

由于学生选课联系的关系模式、学生班级的关系模式和教师管理员联系的关系模式已经不存非平凡且非函数依赖额多值依赖,所以在这里不需要做处理。

各个关系模式的函数依赖集如下:

教师课程联系:F={教师号→教师名,教师号→性别,教师号→年龄, 教师号→身份,教师号→密码,教师号→课程号}

班级临时班级联系:F={班级号→班级名,班级号→人数,班级号→地点,班级号→教师号}

课程临时班级联系:F={班级号→班级名,班级号→人数,班级号→地点, 班级号→课程号}

选课联系:F={(学号,课程号)→成绩} 学生班级联系:F={(学生号,班级号)} (1)教师课程联系概念模型向关系模型的优化

教师表(教师号,教师名,性别,年龄,身份,密码)

课程表(课程号,课程名,学分,上课时间,开课时间,结束时间) 教师课程联系(教师号,课程号)

(2)教师临时班级联系概念模型向关系模型的优化

教师表(教师号,教师名,性别,年龄,身份,密码) 临时班级表(班级号,班级名,人数,地点) 教师临时班级关系(班级号,教师号)

(3)课程临时班级联系概念模型向关系模型的优化

临时班级表(班级号,班级名,人数,地点)

课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)

20 页 第

课程临时班级关系(班级号,课程号) 经过规范化处理后的所有关系模如下:

学生表(学号,姓名,性别,年龄,系部,密码)

课程表(课程号,课程名,学分,上课时间,开课时间,结束时间) 教师表(教师号,教师名,性别,年龄,身份,密码) 临时班级表(班级号,班级名,人数,地点) 教师课程关系(教师号, 课程号) 教师临时班级关系(班级号,教师号) 选课表(学号,课程号,成绩)

学生临时班级关系表(学生号,班级号) 课程临时班级关系(班级号,课程号)

五、源代码及查询截图

5.1 数据库的存储结构

通过需求分析,概要设计和逻辑设计流程得到本系统的数据库结构。

数据库的表设计

进一步确定上一章逻辑设计中设计好的关系模式中各个数据项的类型和长度,将每个关系转换为数据库中的二维表格,并确定了各个表的主键和外键,得到以下表结构:

学生表 字段名称 Sno Sname 字段含义 学号 姓名 数据类型及长度 varchar(15) varchar(15) 约束 主键 非空 默认值 21 页 第

Ssex Sage Sclass Sdept Spass 性别 年龄 班级 系部 密码 varchar(2) int varchar(15) varchar(20) varchar(15) 教师表 >0或<40 非空 男 字段名称 Tno Tname Tsex Tage Tpass Status 字段名称 Cno Cname Credit Ctime Cbegintime 字段含义 教师号 姓名 性别 年龄 密码 身份 字段含义 课程号 课程名 学分 年龄 班级 数据类型及长度 varchar(15) varchar(15) varchar(2) int varchar(15) varchar(10) 课程表 约束 主键 非空 >0或<100 约束 主键 非空 默认值 男 默认值 数据类型及长度 varchar(15) varchar(15) int varchar(15) varchar(15) 临时班级表 字段名称 Csno Csname Address Number 字段含义 课程号 课程名 地址 人数 数据类型及长度 varchar(15) varchar(15) varchar(15) Int 选课表 约束 主键 非空 >=0或<=100 默认值 字段名称 Sno 字段含义 课程号 数据类型及长度 varchar(15) 22 页 第

约束 主键,外键 默认值

Cname Grade 课程名 成绩 varchar(15) Int 学生临时班级关系表 主键,外键 >=0或<=100 字段名称 Sno Csno 字段含义 学号 班级号 数据类型及长度 varchar(15) varchar(15) 教师课程关系表 约束 主键,外键 主键,外键 默认值 字段名称 Tno Cno 字段含义 教师号 课程号 数据类型及长度 varchar(15) varchar(15)

教师临时班级关系表

约束 主键,外键 外键 默认值 字段名称 Csno Tno 字段含义 班级号 教师号 数据类型及长度 varchar(15) varchar(15) 课程临时班级关系表

约束 主键,外键 外键 默认值 字段名称 Csno Cno 字段含义 班级号 课程号 数据类型及长度 varchar(15) varchar(15) 约束 主键,外键 外键 默认值 数据的存放位置的设计

根据本系统的数据库的使用情况,主数据文件信息量大且使用频繁将其存储在高速存储器(硬盘)上。将表和表上的索引存储在不同的磁盘上以便提高查询效率,同时这样可以提高物理I/O读写效率。数据库备份文件和日志文件等文件因为使用频率小而且数据量非常大,存放在低速存储设备上。

23 页 第

关系模式的存取方法

关系模式采用索引存取方法与聚簇存取方法共用。

数据库安全性

在数据库中,由于用户的身份不同,对数据库的访问权限也就不同。管理员几乎能够对所有的用户自定义表进行操作(包括增、删、改、查)。但根据实际情况,学生一旦选课成功,管理员是无法对其选课信息进行修改。同样,学生与教师对数据库的访问权限就更加小了。这样也就保证了数据库安全性。

另外一方面,数据库表中,各表之间根据实体完整性、参照完整性、域完整性设置了各种约束。一旦一张表被非法操作,如删除,修改。也会影响其它的表。所以这就要求DBA定时进行备份,防止当数据丢失时,引起不可估量的损失。

5.2实现

根据概要设计和逻辑设计的结果,在计算机上建立实际的数据库结构,导入数据进行程序调试。

数据库的实现

(1)创建数据库Student

create database Student on ( name='学生选课管理库', filename='E:\\db\\学生选课管理库.mdf', size=5, maxsize=15,

)

filegrowth=2

24 页 第

视图的实现

(1)创建查询可供选择课程的视图

create view cinfo as select

course.cname,course.ccredit,class.address,course.ctime,course.cbegintime,course.cendtime,class.number,course.cno,class.csname,class.csno from course,tc,class,cc

where course.cno=tc.cno and course.cno=cc.cno and class.csno=cc.csno

(2)创建教师信息视图

create view tinfo as

select teacher.tno,teacher.tname,teacher.tsex,teacher.tage,status,course.cname from teacher,course,tc

where teacher.tno=tc.tno and tc.cno=course.cno;

(3)创建教师教师授课视图

create view tcinfo as

select teacher.tno,teacher.tname,course.cno,course.cname from teacher,course,tc

where teacher.tno=tc.tno and tc.cno=course.cno

(4)学生的选课信息视图

create view scinfo as

select

student.sname,course.cname,course.ccredit,course.ctime,course.cbegintime,course.cendtime,student.sno

from student,course,sc

where student.sno=sc.sno and course.cno=sc.cno

(5)教师任教情况

create view ctinfo as

select teacher.tno,teacher.tname,class.csno,class.csname from class,teacher,ct

where class.csno=ct.csno and ct.tno=teacher.tno

(6)教师课程班级之间关系的视图

create view tcs as

select tc.cno,tc.tno,cc.csno from cc,tc where cc.cno=tc.cno

(7)学生课程班级之间的关系的视图

create view scc as

select scs.sno,scs.csno,cc.cno from scs,cc where scs.csno=cc.csno select * from sc

(8)学生的已选课程的成绩

25 页 第

create view scgrade as

select

scc.csno,class.csname,scc.sno,student.sname,scc.cno,course.cname,student.sclass,sc.grade

from scc,course,class,student,sc

where scc.cno=course.cno and scc.csno=class.csno and scc.sno=student.sno and scc.sno=sc.sno and scc.cno=sc.cno

(9)创建查询可供选择课程的视图

create view cinfo as

select course.Cname, course.Ccredit,

class.address,course.CTime,course.Cbegintime,course.Cendtime,class.number,course.Cno,class.CSname,class.CSno,teacher.Tname from tcs,teacher,class,course

where tcs.tno=teacher.tno and class.csno=tcs.csno and course.cno=tcs.cno

(10)创建查询已选可供选择的课程的视图

create view scinfo

as select student.sno,student.sname,course.cname,course.ccredit,course.ctime, course.cbegintime,course.cendtime,course.cno,sc.grade from sc,student,course

where sc.sno=student.sno and sc.cno=course.cno

5.3人机界面设计

用户登陆界面

用户登陆界面是每一个用户,在登陆本系统时出现的界面,如要用户输入用户名、密码和验证码,以及确定用户身份。其界面如下图:

用户登陆界面

26 页 第

学生选课管理界面

学生登陆成功后,进入学生管理模块,其界面如下:

学生选课管理界面

教师管理界面

教师成功登陆系统后,教师管理界面如下图:

教师管理界面

管理员管理界面

管理员成功登陆系统后,管理员管理模块界面如下图:

27 页 第

管理员管理界面

5.4 系统测试

用户登陆测试

(1)登陆信息验证测试。有一名用户,用户名为:S01001 密码为:hongfeng,其身份为学生。当其在登陆界面所有的信息输入正确时将进入如图6-2的界面。如果该用户输入的为abcdef,系统就会提示用户出错,出错界面如下:

登陆错误提示1

(2)如果用户在输入登陆信息时不符合规范,将弹出错误提示。如:验证码要求输入4位数字,现在输入4位字符或3位数字,将会弹出一下提示框:

登陆错误提示2

28 页 第

学生选课管理测试

(1)学生选课测试。一名学生用户,登陆系统后,进入图6-2界面,选择学生选课,进行选课。如下图:

课程安排

(2)该用户选择了考研数学和汽车概论两门课程,点击选课按钮,系统提示选课成功。选课成功后,返回课程安排界面,如下图:

选课后的课程安排

(3)课程安排界面,点击已选课程,进入如下界面:

已选课程

教师管理测试

(1)一名教师,登陆系统成功后,进入如图6-3界面,点击教师授课信息,显

29 页 第

示该名教师临1101班任教,如下图:

教师授课班级信息

(2)在图6-7-1界面,点击查看临1101班的信息,进入如下界面:

修改前的学生成绩

(3)在界面点击修改,将“萧萧”的成绩修改成90,修改后的界面如下:

修改后的学生成绩

管理员管理测试

(1)“王军”是本系统唯一一名管理员,登陆系统后,进入图6-4界面,下面对其对学生的管理进行测试。点击学生信息,进入如下图界面:

30 页 第

学生信息管理

(2)添加一个学号为“S01005”,姓名为“刘宏”,性别为“男”,22岁,计算机学院,计科0901班的学生信息,添加成功后,如下图

增加学生信息后的学生信息

(3)在上述界面,输入“男”作为关键字,点击查询后,如下图:

搜索后学生信息

(3)在图上述界面,在第6行,点击修改,将“刘娇”的性别改成男,修改成

31 页 第

功后,如下图:

修改后学生信息

5.5 运行维护

经过实际的测试和运行,已经可以满足高校公开课学生选课该,系统运行稳定,日后的使用和维护中DBA应该注意进行定期备份数据库,以免丢失数据库。定期清理数据库中的无效数据,以提高运行效率。对软件及运行环境进行日常维护。

六、总结

(设计过程中遇到的问题以及解决方法;课程学习及设计的体会)

在此次的课程设计当中,我们遇到很多困难,同时也学习到很多。最重要的是深刻体会到了团队的重要性。

在课程设计刚开始的时候,由于我们在没有进行详细的数据库分析的情况下,就盲目的编写程序。使得在数据库表结构,关系模式出现问题或变动的时候,花费了大量时间来修改代码。造成了工作进度落后于预期进度。给以后的工作带来的很多的不便。这个时候已经离项目交付日期不到两周。我们的开发团队马上

32 页 第

组织起来,召开紧急会议,总结了发生错误的原因。最后一起进行讨论,协商,决定改变以前的错误方针,重新进行详细的合理的数据库分析。踏踏实实的从可行性分析开始,经过需求分析、逻辑设计和物理设计。三天后,一份详细的数据库分析报告摆在大家的面前。此后,程序的编写就十分方便了。

我们采用MVC模式的Servlet+JSP+JavaBean技术进行数据库的连接和界面的开发。在开发过程遇到最大的困难是,地址跳转的问题。由于本系统是基于Web的,所以在从一个页面到另一个页面的跳转,地址的确定就极为重要。而恰恰开始的时候这方面大家掌握的并不是很好,所以总是出现了问题。大家针对这个问题,重新进行有关知识的学习。通过一边学习,一边解决遇到的问题。我们对这个方面的知识有了深刻的认识。

总之,完成这次课程设计,我们都获益匪浅,对以后的项目开发有很大帮助。

为了完成我的数据库课程设计,我从上学期就开始做了。了解到 C++ 在数据库方面的应用比较麻烦,也考虑到想在课程设计的过程中学到更多的东西,于是我从开头开始学 C# ,一门全面的面向对象的编程语言。我从图书馆借了大量关于 C# 的书,并在短时间内把 C# 的基本语句和功能看懂,之后就开始看 C# 在数据库方面的应用。前期知识准备差不多的时候,就开始动工做我的课程设计。 在 开始的时候,总会遇到这样或那样的问题,在做的过程中,慢慢摸索和研究,把其中的一个个问题逐个解决。为了更好地完成课程设计,我利用了软件工程的思想, 对系统进行需求分析,系统设计,数据库设计等。使程序设计的过程更加合理化、系统化,同时也提高了我的编程思想和应用能力。

33 页 第

对 于每一次课程设计,我都独立地去完成。这一次也不例外,课程设计从上学期期末就已经开展。在暑假的时候,我要到外地去实习,时间不是很充裕,但我尽了一切 的可能,挤出时间来做完我的课程设计。这个过程是艰苦的,但我从这个过程中,学到了很多的东西。不但可以巩固我的数据库应用方面的知识,我又学会了一门新 的语言。提高了自己动手实践的能力,把书本的知识转化为实

际应用中去,丰富了自己的实践经验。

参考文献

[1] 陆琳,刘桂林.数据库技术与应用-SQL Server 2005[M].长沙:中南大学出版社,2010

[2] 何旭洪,余建英.PowerBuilder数据库开发实例导航[M].北京:人民邮电出版社,2003

[3] 王小玲,刘卫国.数据库应用基础教程[M].北京:中国铁道出版社,2008 [4] 施伯乐,丁宝康,汪卫.数据库系统教程[M].第3版.北京:高等教育出版社,2008

[5] 程云志,张帆,崔翔.数据库原理与SQL Server2005应用教程 [M].北京:机械工业出版社,2006

[6] 苗雪兰,刘瑞新,宋会群.数据库技术与应用[M].北京:机械工业出版社,2006

[7] 李春葆,曾平.数据库原理与应用:基于SQL Server200[M].北京:清华大学出版社,2006

34 页 第

[8] 宁洪,赵文涛,贾丽丽.数据库系统原理[M].北京:北京邮电大学出版社,2005

[9] 何玉洁.数据库基础及应用技术[M].第二版.北京:清华大学出版社,2004

35 页 第

因篇幅问题不能全部显示,请点此查看更多更全内容