课程设计范例
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
密码
用户类 型
用户名
管理员
开始选 课时间
终止选 课时间
选课时间 段
面向专 业编号
课程编 号
学分
限选性
质 课程名
称
课程
最大选 课人数
通知内
容 通知标
通知时 间
题
是否为
通知编
“热点”
号
选课通知
图 2-1 排课过程实体及其属性
12
选课时间段
n
设置 1
管理员 1
时间 排课
1 发布
地点
n
n
课程
选课通知
图 2-2 排课过程 E-R 图
(1) 管理员{用户名,密码,用户类型}
(2) 课程{课程编号,面向专业编号,学分,限选性质,教师编号,考察方式,
最大选课人数,课程名称,开课院系编号,面向的年级}
(3) 选课通知{通知编号,通知标题,通知内容,通知时间,是否为“热点”}
(4) 选课时间段{开始选课时间,终止选课时间}
2 E-R 模型如图 2-1、2-2 所示。
15
图 2-6 数据库关系图
2.2 系统模块设计
模块设计的主要方法是结构化方法,主导思想是以系统的逻辑功能设计和数 据流关系为基础,采用“自顶向下,逐步求精”的设计方法,将本系统分解为功 能明确,易于修改,大小适中的模块结构。 本系统主要分为三大模块:登录模 块、排课模块、选课模块。系统各模块功能图如下所示:
1.2.1 业务流程分析
(1) 网上选课系统总体业务流程图如下所示:
2
系统管 理员
与排课相关 的信息
学生选课信 息
登录 排课
选课 登录
学生
选课公 告
排课信息 教师
登录
教师反馈
图 1-1 系统总体业务流程图
(2) 登录子系统主要验证不同的用户身份并取得不同的用户权限,进行不同 的系统操作。其业务流程图如下所示:
5
学生
进入选课系统
选课公告 排课信息
教师反馈
开始选课 检测选课冲突 显示选课结果
完成选课 退课
学生选课信息
图 1-4 选课子系统业务流程图
1.2.2 数据流分析
根据业务流程分析,我们可以得到系统的数据流图。 (1) 网上选课系统顶层数据流图如图 1-5 所示。
6
管理员
排课结果 选课结果 教师反馈
编号,教师名称,面向专业编号,学生学号,学生姓名。
根据上面的逻辑结构设计,设计相应的表结构如下所示。
1.排课表(Arrange)
该表记录了排课的相关信息,包括排课编号、上课教室号、上课时间、课程
设置号,其结构如表 2-1 所示:
表 2-1 Arrange
字段
说明
类型(长度)
备注
ARRANGE_ID
排课编号
16
登录
选则不同身份(管理 员、教师、学生)登录
修改密码
退出
已排排课表
网
上
备份排课表
选 排课
课
系
导入排课表
统
对未排的课程排课
发布选课信息
设定选课时间段
查看教师反馈
查看可选择的课程信息
选课
提交选课申请
在选课时段内退课
显示学生选课表
图 2-7 系统功能模块图
系统各模块功能说明: 1 登录模块 (1) 选择不同身份登录系统 本系统有三种类型的用户:管理员、教师和学生。当不同的用户登录系统 选择不同的用户类型时,他们就会分别拥有不同的权限。管理员的权限最大,主
8
学生
1.5
新密码
用户名、密码 和用户类型
系统用户信 息表
修改密 码
正确的 输入信息
1.2
查询系 统用户 正确的 信息表 输入信息
1.3
进入系 统
用户名、密码 和用户类型
是否首次登录
1.1
输入登 录信息
非首次 登录
首次登录
用户名、密码
错误的输入信息
1.5
查询学 生信息
表
用户名 密码
1.6
写入用 户信息
……此处省略若干
合并上述 E-R 图,得到系统的总 E-R 图,如图所示。
选课时间段
n
设置
时间
1
管理员 1
排课
1 发布
地点
n
成绩
n
课程
n
选课
m 学生
选课通知
系统的总 E-R 图
13
2.1.2 逻辑结构设计
根据以上的分析,将 E-R 模型转换成逻辑模型,设计出本系统数据库。根据 需要,设计了 14 个数据表,2 个视图。如下所示:
字段
说明
类型(长度)
备注
STUDENT_ID
学生学号
Varchar(20)
主键,不为空
STUDENT_NAME
学生姓名
Nvarchar(10)
不为空
DEPT_ID
所属院系编号
Char(10)
外键,不为空
MAJOR_ID
专业号
Varchar(20)
不为空
…… 根据以上的分析,可以作出各表的关系图,如图 2-6 所示。在建立数据表的 过程中应尽量避免冗余,并且在各相关的表之间建立约束,以从数据库本身来避 免数据冲突,保持数据的完整性和一致性。
表 2-2 DeptInfo
字段
说明
类型(长度)
备注
DEPT_ID
院系编号
Char(10)
主键,不为空
DEPT_NAME
院系名称
Nchar(10)
不为空
3.学生信息表(StudentInfo)
该表列出了所有在校学生的信息,包括学生学号、学生姓名、所属院系编号、
专业号,其结构如表 4-3 所示:
表 2-3 StudentInfo
4
系统管 理员
课程信息 教学楼信息
教师信息 院系信息
进入排课系统 选课时间段
对课程进行排 课
设置选课时间 段
检测排课冲突
排课信息
选课公告
备份排课
备份排课信 息
图 1-3 排课子系统业务流程图
(4)选课子系统主要完成面向学生的选课功能,包括查询课程信息、提交 选课申请、撤销申请、查询选课情况等。其业务流程图如下所示:
● 排课表:该表记录了排课的相关信息,包括排课编号、上课教室号、上 课时间、课程设置号。
● 院系信息表:该表记录了开课院系的相关信息,包括院系编号 、院系名 称。
……
以上是在数据库中的基本表。在具体查询过程中,如果全部直接从基本表查
询,则要建立多重的联合(内联)查询,这样用起来很不方便,也容易出错;同
网上选课 系统
选课信息 选课结果
学生
选 排教 课 课师 结 结反
果 果馈
Hale Waihona Puke Baidu
教师
图 1-5 系统顶层数据流图
(2) 网上选课系统第一层数据流图如图 1-6 所示。
选课结果
3 选课
选课公告 排课结果
1 登录
用户名,密码 和用户类型
学生选课表 选课结果
用户名,密码
反馈信息
和用户类型
管理员
教师反馈表
学生
1 登录
和用户类型
1.2
输入信息 1.3
系统用户信 息表
查询系 统用户 正确的 信息表 输入信息
进入系 统
用户名、密码 和用户类型
是否首次登录
1.1 非首次
输入登 登录 录信息
首次登录
用户名、密码
错误的输入信息
1.5
查询教 师信息
表
用户名 密码
1.6
写入用 户信息
表
用户名 密码
教师信息表
1.4 退出
图 1-8 教师登录数据流图
《数据库原理与应用》课程设计
题 目: 网上选课系统的分析与实现
姓 名: XXX、XXX、XXX
专 业: 计算机科学与技术
班 级:
0905091
指导教师:
周蓓
计算机科学与工程学院 2011
1
1 系统简介
1.1 系统基本功能描述
网上选课系统是依据大学的选修课的网上申请和管理需求而进行设计的,目 的是实现选修课的网上设置、申请功能。
int
主键,不为空
CLASSROOM_ID
上课教室号
int
外键,不为空
DAY_TIME
上课时间
Varchar(20)
不为空
SETTING_ID
课程设置号
datetime
外键,不为空
2.院系信息表(DeptInfo)
14
该表记录了开课院系的相关信息,包括院系编号 、院系名称,其结构如表
2-2 所示:
备份排课表
排课表 2.3
备份排 课表 排课表
选课通知表
图 1-10 排课过程数据流图
(5) 选课过程的数据流图如图 1-11 所示。
9
排课表 选课通知表 教师反馈表
新增的 3.3 选课信息
变化的选课信息
学生选课表
退课
3.1
查阅选 课程号 课信息
无冲突的 3.2
课程号
选择课 程 有冲突的 课程号
减少的 选课信息
17
要是拥有排课权限、设置选课时段权限和发布选课信息权限。教师的主要权限是 反馈排课信息。学生的主要权限是进行选课,退课。
(2) 修改密码 每个用户登录后,都可更改初始密码,以增强系统的安全性。 (3) 退出 每个用户登录系统后单击退出,就可退出系统。这样,他们遗留在 Session 对象中的信息就会被清除,同样增强了系统的安全性。 2 排课模块 本模块是选课系统的基础。 (1) 已排排课表 管理员在排课过程中,可以点击已排排课表来显示已经排好的选课信息,并 可对此信息进行增、删、改、查。在排课者提交排课表后,系统应当确保该排课 方案中没有时间冲突和教室冲突。如果有冲突,系统应该提示排课者具体冲突产 生的原因。 (2) 备份排课表 管理员对排课信息进行修改后,可以点击备份排课表,对新的排课信息进行 备份。 (3) 导入排课表 管理员可以把以前的排课信息导入到排课表,这样可以增加排课的灵活性 和方便性。此外,管理员还可以把以前的排课信息删除。 (4) 对未排的课程排课 排课者可以对课程信息表,院系信息表,教师表中的信息进行联合查询后, 在教学楼信息表中选择相应的教室,并选则相应的时间。在排课者提交排课表后, 系统应当确保该排课方案中没有时间冲突和教室冲突。如果有冲突,系统应该提 示排课者具体冲突产生的原因。 (5) 设定选课时间段 排课者应该设定选课时间段。学生只能在此设定的时间段内选课。如果学生 不在选课时间段内选课,系统应该显示提示信息。 (6) 发布选课信息 排课完成以后,排课者可以在选课系统中发布关于选课的各种消息。 (7) 查看教师反馈
3
系统管 理员
教师
学生
输入登录信息 验证登录信息
系统用户 信息
教师信息
输入登录信息 验证登录信息
输入登录信息 学生信息
验证登录信息
显示验证结果
修改密码
进入系统
登录失败 退出
退出系统
图 1-2 登录子系统业务流程图
(3) 排课子系统主要完成设置选课时段、限制最大选课人数、排课并检测排 课冲突、发布选课信息等功能。其业务流程图如下所示:
……[对系统功能进行简要的叙述]
1.2 系统需求分析
通过对系统需求进行分析,我们可以确定系统中有三类用户:管理员、教 师和学生。各类用户的具体描述如下:
(1)管理员 描述:管理员维护整个系统,包括设置选课时段,选课前学生不可登录; 选课结束,学生只可查询,管理员对选课结果进行统计;查询选课情况,对学生 的选课申请进行处理,进行用户管理;限制最大选课人数;排课、发布选课信息; 数据备份和恢复等。 (2)教师 …… (3) 学生 ……
课程表等
2 排课
选课公告 排课结果
选课公告表
排课结果
排课结果
反馈信息
4
撰写教 师反馈
排课结果 选课公告
1 登录
排课表
教师
用户名,密码 和用户类型
排课结果 选课公告
图 1-6 网上选课系统第一层数据流图
(3) 根据不同的用户权限,展开登录处理过程,数据流图如图 1-7、1-8、 1-9 所示。
7
错误的输入信息
系统管 理员
用户名、密码 和用户类型
1.1
输入登 录信息
用户名、密码 和用户类型
用户名、密码 和用户类型
1.2 正确的 查询系 输入信息 统用户 信息表
1.3
进入系 统
系统用户信 息表
正确的
1.5
输入信息
新密码
修改密 码
1.4 退出
图 1-7 管理员登录数据流图
教师
1.5
新密码
修改密 码
正确的
用户名、密码
表
用户名 密码
学生信息表
1.4 退出
图 1-9 学生登录数据流图
(4) 排课过程的数据流图如图 3-10 所示。
课程名、最大 选课人数等
课程信息表 教学楼信息
表 教师信息表
院系信息表
教学楼名 教师名 院系名
2.1
排课结果 对课程 进行排
课
有冲突的 2.2 排课结果
检测排 无冲突的 课冲突 排课结果
备份排课表 备份排课表
时影响系统效率。因此建立 2 个视图,方便查询。
(1)排课信息视图(VIEW_Arrange)包括课程编号,课程名称,教师编号,
教师姓名,限选性质,学分,考察方式,面向专业编号,最大选课人数,教室名
称,教室属性,开课院系名称,教学楼名称,教学楼编号,上课时间,课程设置
编号,排课号,教室编号。
(2)选课信息视图(VIEW_Select)包括排课号,课程编号,课程名称,教师
(3) 设定选课时间段
系统名:网上选课系统
条目名:设定选课时间段
输入:选课时间段表
输出:选课时间段表
描述:
排课者应该设定选课时间段。学生只能在此设定的时间段内选课和退课。
……
11
2 系统设计
2.1 数据库设计
2.1.1 概念结构设计
(一) 排课子系统
1 系统涉及到的实体
排课中所涉及的主要实体及其属性有:
1.2.3 数据字典
图 1-11 选课过程数据流图
根据数据流程分析,对系统数据进行分析和汇总,建立系统数据字典。下面 列出部分数据字典内容。
(1) 排课
系统名:网上选课系统 条目名:排课 输入:课程信息表,教学楼信息表,教师信息表,院系信息表 输出:排课表,选课通知表 描述:
排课者按年级排课。排课表内容包括课程代号,课程名称,受课院系,专业代码,专业 名称,教师代号,考察方式,学分,开课时间,上课时间,地点,开课院系,最大上课人数 和课程选则限制(必修或选修)等。
在排课过程中,排课者可以查询教室使用情况和院系课程设置。 在排课者提交排课表以后,系统应当确保该排课方案中没有时间冲突和教室冲突。如果 有冲突,系统应该提示排课者具体冲突产生的原因。
(2) 选课
10
系统名:网上选课系统 条目名:选课 输入:排课表,选课通知表,教师反馈表 输出:学生选课表 描述:
学生可以在规定的时间段内选课。该规定时间段由排课者通过发布消息通知教师和学 生。选课过程如下:学生在选课表上单击课程号,则该信息被提交到服务器,并显示学生的 选课结果。选课表的内容包括排课表的全部内容。如果一门课程已经达到最大选课人数,则 不能再选择这门课程。如果有学生退课,则该门课程的已选人数减 1。