完整版学生选课管理系统的数据库设计.docx
- 文档编号:1334625
- 上传时间:2022-10-20
- 格式:DOCX
- 页数:28
- 大小:257.01KB
完整版学生选课管理系统的数据库设计.docx
《完整版学生选课管理系统的数据库设计.docx》由会员分享,可在线阅读,更多相关《完整版学生选课管理系统的数据库设计.docx(28页珍藏版)》请在冰豆网上搜索。
完整版学生选课管理系统的数据库设计
第六章(续)数据库设计的典型案例
本章要点
学生选课管理系统的数据库设计
本章学习目标
学生选课管理系统的需求分析学生选课管理系统的ER图
学生选课管理系统的关系数据库模式学生选课管理系统数据库的建立
在第6章里我们已经学习了有关数据库设计的基本理论和方法。
本章通过学生选课管理系统数据库设计案例,实际讲授数据库的设计方法,加深对第七章的理解,提高我们的综合设计的能力。
6.1案例的系统需求简介
6.1.1总体需求简单介绍
需求分析阶段是数据库应用系统开发的最重要阶段。
需求分析要求应用系统的开发人员按照系统的思想,根据收集的资料,对系统目标进行分析,对业务的信息需求、功能需求以及管理中存在的问题等进行分析,抽取本质的、整体的需求,为设计一个结构良好的数据库应用系统的逻辑模型奠定坚实的基础。
高等学校的学生选课管理系统,在不同的学校会有不同的特点,因为作为教务工作部分它和学校本身的行政制度有关。
本章的目的在于,作为数据库设计和应用开发的运用对象,对业务进行适度的简化,突出比较核心的成分,如院系算作一个级别的概念而且直接管理班(跳过专业一级的设置),学生的免修重修等情况处理、教师的管理没有细化等。
6.1.2用户总体业务构造
学生选课管理业务,包括4个主要部分:
学生的学籍及成绩管理、制定教学计划、学生选课管理以及教学调度。
各部分具体的内容:
(1)学籍及成绩管理包括:
各院系的教务员完成学生学籍注册、毕业、转学等处理,各授课教师完成所讲授课成绩的录入,然后教务员进行学生成绩的审核认可。
(2)制定教学计划包括:
由教务部门完成指导性教学计划、培养方案的确定,开设课程的注册和调整。
(3)学生选课包括:
学生根据开设课程和培养计划(和自己的状况)选择自己本学期所
选修课程,教务员对学生所选修课程的确认处理。
(注意:
一般的必修课程是由
教务员统一处理,只有辅修的课程才经过学生的选择过程)
(4)执行教学调度包括:
教务员根据本学期所开设的课程、教师上课的情况以及学生选课情况完成排课、调课等。
6.1.3其它要求
如安全性,系统环境要求(根据现有的设备情况进行系统运行)等,这些不是本章的
核心内容,所以就不再进一步叙述。
6.1.4系统功能设想
这里的功能划分,是根据第一阶段需求调查基础上进行的初步划分。
随着需求调查的深入,功能模块随着对需求了解的明确得到调整。
教务管理业务的4个主要部分,可以将系统应用程序划分为对应得4个子模块:
包
括学籍及成绩管理子系统、教学计划管理子系统、学生选课管理子系统以及教学调度子系统。
根据各业务子系统所包括业务内容,还可以将各个子系统继续细化划分为更小的功能模块。
划分的准则主要遵循模块的内聚性要求和模块间的低聚合性。
如图所示表示一个教务管理系统功能模块结构图。
图6.1选课管理系统功能结构图
6.1.5业务流程分析
一个简化的选课系统业务流程如图6.2所示:
图6.2选课管理系统业务流程
6.2需求描述
本阶段的成果的内容形式主要包括数据流图(DataFlowDiagram)和数据字典(Data
Dictionary)。
数据流图和数据字典是描述用户需求的重要工具以及阶段成果表达形式。
它作为需求分析的成果和用户交流的主要手段和依据,是后续数据库设计的前提。
设计人员从数据流图中可以比较充分地了解软件的结构,所以也是软件设计的重要依据。
调查了解用户的需求后,需要进一步表达用户的需求,分析和表达用户需求的方法很多,目前最常用的还是结构化分析法。
该方法是基于数据流的需求分析方法,它利用了图形的方式进行表达,容易学习和运用。
结构化分析法采用的是自顶向下、逐层分解的方式分析系统,即将系统的功能从宏
(Data
观层面逐渐细化,达到最终的结构化分析方法主要使用以下几个工具:
数据流图
FlowDiagram简称DFD)、数据字典(DataDictionary简称DD)、判定表和判定树等。
数据流图描述了数据的来源和去向,以及所经过的处理;而数据字典是对数据流图中的数据流、数据存储和处理的明细描述。
判定树和判定表用来描述据加工的逻辑构造。
不同的应用环境,对数据描述的细化程度会有所不同,常常应实际情况而定。
下面就使用这两种工具来描述本例的用户需求,体现他们在实际中的应用方法。
6.2.1数据流图
数据流图是通过系列符号及其组合来描述系统功能的输入、输出、处理或加工构造。
数据流图中使用的符号在各种书籍和资料上表达不尽相同,目前许多常用的一些流
行的数据库辅助设计工具如MicrosoftVisio、SybasePowerDesigner、OracleDesigner、RationalRoseErwin等符号都不统一,我们这里以比较容易上手的Visio工具为例,针
对Gane-Sarson模板中的符号作为参考:
图6.3Gane-Sarson模板中数据流图的基本元素
注意:
DFD表示数据被加工或处理的过程,箭头只是表示数据流动的方向,不能有分支、循环的情况。
数据流图命名规则之一:
数据流图的中加工、处理过程一般采用动词及其短语;数
据源点或终点、数据存储(数据文件或表单形式卜数据流(一项或多项数据)等一般为名词或名词短语。
数据流图命名规则之二:
流图中的命令所使用的语言要基本上反映实际的情况,在整个DFD中必须要唯一,尽量避免含有像加工、处理、存储这样的元名称。
1。
系统的全局数据流图
系统的全局数据流图,在具体的设计工具中往往也称为第0层或顶层数据流图,主
要是从整体上描述系统的数据流,反映系统中数据的整体流向,是设计者针对用户和开发者表达出来的一个总体描述。
我们经过对教学管理业务的调查、数据的收集和信息流程分析处理,明确了该系统的主要功能,分别为:
制定学校各专业各年级的教学计划以及课程的设置;学生根据学校对所学专业的培养计划以及自己的兴趣,选择自己本学期所要学习的课程;学校的教
务部门对新入学的学生进行学籍注册,对毕业生办理学籍档案的归档工作,任课教师在期末时登记学生的考试成绩;学校教务部门根据教学计划进行课程安排、期末考试时间地点的安排等,如图所示。
图6.4简化的选课管理系统0层数据流图
2。
系统局部数据流图
全局数据流图,从整体上描述了数据流向和加工处理过程。
但是一个较为复杂的系统来讲,要清楚地描述系统数据的流向和加工处理的每一个细节,仅用全局数据流图难
以完成。
因此需要在全局数据流图的基础上,对全局数据流图的某些局部单独放大,进一步细化,细化可以采用多级方式进行,便是所谓的分级数据流图来描述。
这里以制定教学计划/学籍及成绩管理和选课等处理功能作细化的分析对象。
制定教学计划处理,主要分为4个子处理过程:
教务员根据自己已有的课程信息,
增补新开设的课程信息;调整课程信息;查询本学期的教学计划;制定新学期的教学计划。
任课教师可以查询自己的教学计划。
其处理过程如图6.5所示。
教务员
图6.50层P1的1层数据流图:
制定教学计划
学籍及成绩管理相对比较复杂,教务员需要新生的学籍注册,毕业生的学籍和成绩的归档管理,任课教师输入学生的考试成绩后,需教务员审核并作认可处理,经确认的学生成绩不允许他人修改。
其处理过程如图6.6所示。
图6.60层P2的1层数据流图:
学籍和成绩管理
选课管理中,学生根据学校对其专业制定的教学计划,录入本学期所选课程,教务
员对学生选课记录进行审核,经审核得到的选课就为本学期的选课。
其处理过程如图6.7
所示。
图6.70层P3的1层数据流图:
选课管理
0层P4的1层数据流图请读者自行描述。
我们可以使用许多的设计工具完成数据流图的创建,这些工具不但可以实现常用的数据流图的绘制,而且可以对多层的数据流图中的元素及其关系的正确性实现有效的检验,能帮助我们学习和理解数据流图的实现技术。
本章有关的数据流图均使用Microsoft
Visio工具进行绘制,相关的工具还有Sybase公司的PowerDesigner以及Oracle的
Designer等,有兴趣的可以参考相关的资料或者下载试用版。
622数据字典
数据流图表达了数据与处理的关系,数据流图作为直观的了解系统运行机理的手段,并没有具体描述各类数据的细节,只有通过数据字典进一步细化才能对系统的需求得到具体而确切的了解。
数据字典用来说明数据流图中出现的所有元素的详细的定义和描述,包括数据流、加工处理、数据存储、数据的起点和终点或外部实体等。
数据字典包括的项目有:
数据项、数据结构、数据流、数据存储、加工逻辑和外部实体。
可使用一些符号来表示数据结构、数据流和数据存储的组成。
由于本实例涉及的数据字典项目较多,此处列举"P3选课管理”处理功能中包含的几
个对象加以描述。
1。
数据流
表6.1P3中数据流的描述
序号
数据流名
来源
流向
组成
说明
1
(学生)教学计划查询请求
需要选课的学生
P3.1
班级号或学号
注意查询类别的区别
2
教学计划数据
S2教学计划信息
P3.1
班级号+课程编号+开课学年+开课学期
3
学生课程选择
数据
P3.2
S5学生
选课信息
课程编号+年号+学期号
4
选课信息查询
教务员
P3.3
班级号+课程号+学年+学期
2。
数据存储
表6.2P3中数据存储的描述
序
号
数据文件
文件组成
关键标识
组织
1
S2教学计划信息
班级号+课程编号+开课学年+开课学期
全部
按开课学年,学期,班级降序
2
S3学生选课信息
学号+课程编号+开课学年+开课学期
全部
按开课学年,学期,班级降序
3
S5课程数据清单
课程编号+课程名称+课程说明
课程编号
课程编号排序
3。
处理过程逻辑
表6.3P3中处理过程逻辑的描述
序号
处理过程
编号
输入
输岀
处理逻辑
1
查询教学计划
P3.1
学生选课查询请求+教学计划数据
针对的教学计划
针对选课请求进行查询
2
选课信息录入
P3.2
针对的教学计划
学生课程选择数据
根据学生对应的教学计划选择课程
3
选课信息查询
P3.3
选课信息查询+选课数据
没经确认的选课
根据班级和课程号检查对应的未确认的选课清单清单
4
选课信息确认
P3.4
选课审核+没经确认的选课
经确认的选课信息
选择选课清单进行确认
4。
数据项
表6.4P3中数据项的说明
序号
数据项
数据对象说明
数据构成
1
学号
1{英文|数字}10
入学年号+班级序号+顺序号:
2
选课时间
4{数字}-2{数字}-2{数字}
年+月+日
3
课程名称
1{汉字|英文|数字}20
4
班级号
1{英文|数字}6
5
教师编号
1{英文|数字}10
6
开课学年
4{数字}
7
开课学期
{1|2}
6
课程说明
0{汉字|英文|数字}100
英文=
['a'…’
z'|'A…’Z']
数字=
[‘。
’…’
9']
6.3概念设计
上述的数据流图和数据字典共同构成了对用户需求的表达,它们是系统分析员(数据
库管理员)在需求调查过程中和用户反复交互得到的。
建设系统实际要处理的数据基本上
已经在数据流图中得到体现,整个设计过程的后续步骤
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 学生 选课 管理 系统 数据库 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)