
数据库设计的典型.docx
31页◊学生选课管理系统的需求分析◊学生选课管理系统的ER图◊ 学生选课管理系统的关系数据库模式◊ 学生选课管理系统数据库的建立在第 7 章里我们已经学习了有关数据库设计的基本理论和方法本章通过学生选课 管理系统数据库设计案例,实际讲授数据库的设计方法,加深对第七章的理解,提高我 们的综合设计的能力1 案例的系统需求简介1.1 总体需求简单介绍需求分析阶段是数据库应用系统开发的最重要阶段需求分析要求应用系统的开发 人员按照系统的思想,根据收集的资料,对系统目标进行分析,对业务的信息需求、功 能需求以及管理中存在的问题等进行分析,抽取本质的、整体的需求,为设计一个结构 良好的数据库应用系统的逻辑模型奠定坚实的基础高等学校的学生选课管理系统,在不同的学校会有不同的特点,因为作为教务工作 部分它和学校本身的行政制度有关本章的目的在于,作为数据库设计和应用开发的运 用对象,对业务进行适度的简化,突出比较核心的成分,如院系算作一个级别的概念而 且直接管理班(跳过专业一级的设置),学生的免修重修等情况处理、教师的管理没有细 化等1.2 用户总体业务构造学生选课管理业务,包括4 个主要部分:学生的学籍及成绩管理、制定教学计划、 学生选课管理以及教学调度。
各部分具体的内容:(1) 学籍及成绩管理包括:各院系的教务员完成学生学籍注册、毕业、转学等处理, 各授课教师完成所讲授课成绩的录入,然后教务员进行学生成绩的审核认可2) 制定教学计划包括:由教务部门完成指导性教学计划、培养方案的确定,开设课 程的注册和调整3) 学生选课包括:学生根据开设课程和培养计划(和自己的状况)选择自己本学期所 选修课程,教务员对学生所选修课程的确认处理注意:一般的必修课程是由 教务员统一处理,只有辅修的课程才经过学生的选择过程)(4) 执行教学调度包括:教务员根据本学期所开设的课程、教师上课的情况以及学生 选课情况完成排课、调课等1.3 其它要求如安全性,系统环境要求(根据现有的设备情况进行系统运行)等,这些不是本章的 核心内容,所以就不再进一步叙述1.4 系统功能设想这里的功能划分,是根据第一阶段需求调查基础上进行的初步划分随着需求调查 的深入,功能模块随着对需求了解的明确得到调整教务管理业务的4 个主要部分,可以将系统应用程序划分为对应得4 个子模块:包 括学籍及成绩管理子系统、教学计划管理子系统、学生选课管理子系统以及教学调度子 系统根据各业务子系统所包括业务内容,还可以将各个子系统继续细化划分为更小的功能模块。
划分的准则主要遵循模块的内聚性要求和模块间的低聚合性如图所示表示 个教务管理系统功能模块结构图教学计划的 录入和修改课程资料的录入和修改学籍注册成绩管理学生转学及毕业处理选课输入和调整选课数据审核教学安排教学调整图 1 选课管理系统功能结构图1.5 业务流程分析一个简化的选课系统业务流程如图2 所示:图 2 选课管理系统业务流程2 需求描述本阶段的成果的内容形式主要包括数据流图(Data Flow Diagram)和数据字典(Data Dictionary)数据流图和数据字典是描述用户需求的重要工具以及阶段成果表达形式 它作为需求分析的成果和用户交流的主要手段和依据,是后续数据库设计的前提设计 人员从数据流图中可以比较充分地了解软件的结构,所以也是软件设计的重要依据调查了解用户的需求后,需要进一步表达用户的需求,分析和表达用户需求的方法 很多,目前最常用的还是结构化分析法该方法是基于数据流的需求分析方法,它利用 了图形的方式进行表达,容易学习和运用结构化分析法采用的是自顶向下、逐层分解的方式分析系统,即将系统的功能从宏 观层面逐渐细化,达到最终的结构化分析方法主要使用以下几个工具:数据流图 (DataFlow Diagram简称DFD)、数据字典(Data Dictionary简称DD)、判定表和判定树等。
数据流图描述了数据的来源和去向,以及所经过的处理;而数据字典是对数据流图 中的数据流、数据存储和处理的明细描述判定树和判定表用来描述据加工的逻辑构造不同的应用环境,对数据描述的细化程度会有所不同,常常应实际情况而定下面 就使用这两种工具来描述本例的用户需求,体现他们在实际中的应用方法2.1 数据流图数据流图是通过系列符号及其组合来描述系统功能的输入、输出、处理或加工构造 数据流图中使用的符号在各种书籍和资料上表达不尽相同,目前许多常用的一些流 行的数据库辅助设计工具如 Microsoft Visio、 Sybase PowerDesigner、 Oracle Designer、 Rational Rose、Erwin等符号都不统一,我们这里以比较容易上手的Visio工具为例,针 对 Gane-Sarson 模板中的符号作为参考:数据源点或终点, 或者外部实体数据流加工或处理数据存储图 3 Gane-Sarson 模板中数据流图的基本元素注意:DFD表示数据被加工或处理的过程,箭头只是表示数据流动的方向,不能有 分支、循环的情况数据流图命名规则之一:数据流图的中加工、处理过程一般采用动词及其短语;数 据源点或终点、数据存储(数据文件或表单形式)、数据流(一项或多项数据)等一般为名词 或名词短语。
数据流图命名规则之二:流图中的命令所使用的语言要基本上反映实际的情况,在 整个DFD中必须要唯一,尽量避免含有像加工、处理、存储这样的元名称系统的全局数据流图 系统的全局数据流图,在具体的设计工具中往往也称为第0 层或顶层数据流图,主 要是从整体上描述系统的数据流,反映系统中数据的整体流向,是设计者针对用户和开 发者表达出来的一个总体描述我们经过对教学管理业务的调查、数据的收集和信息流程分析处理,明确了该系统 的主要功能,分别为:制定学校各专业各年级的教学计划以及课程的设置;学生根据学 校对所学专业的培养计划以及自己的兴趣,选择自己本学期所要学习的课程;学校的教务部门对新入学的学生进行学籍注册,对毕业生办理学籍档案的归档工作,任课教师在 期末时登记学生的考试成绩;学校教务部门根据教学计划进行课程安排、期末考试时间 地点的安排等,如图所示课程数据清单排课单P1 教学计划和课 程管理教学计划处理信息课程处理信息学籍变更信息教学计划变更信息S2 教学计划信息安排信息P4 教学安排成绩审核命令课程数据变更信息.学生选课请求考试成绩课表S5 学生选课信息S4 学生学籍信息学生课程选择数据院系信息S3 课程信息选课审核教学计划数据P3选课管理学生S1 教师档案学生学籍信息P2 学籍和成绩管理学生成绩数据S7 学生成绩信息S6排课信息—排课信息- 学生选课数据教师业务数据任课老师教务员图 4 简化的选课管理系统0 层数据流图2。
系统局部数据流图 全局数据流图,从整体上描述了数据流向和加工处理过程但是一个较为复杂的系 统来讲,要清楚地描述系统数据的流向和加工处理的每一个细节,仅用全局数据流图难 以完成因此需要在全局数据流图的基础上,对全局数据流图的某些局部单独放大,进 一步细化,细化可以采用多级方式进行,便是所谓的分级数据流图来描述这里以制定 教学计划/学籍及成绩管理和选课等处理功能作细化的分析对象制定教学计划处理,主要分为4 个子处理过程:教务员根据自己已有的课程信息, 增补新开设的课程信息;调整课程信息;查询本学期的教学计划;制定新学期的教学计 划任课教师可以查询自己的教学计划其处理过程如图5 所示图 5 0层 P1 的 1 层数据流图:制定教学计划学籍及成绩管理相对比较复杂,教务员需要新生的学籍注册,毕业生的学籍和成绩 的归档管理,任课教师输入学生的考试成绩后,需教务员审核并作认可处理,经确认的 学生成绩不允许他人修改其处理过程如图6 所示教务员成绩审核命令要求变更的学生学籍信息查询条件厂P2.1P2.2..学籍状态处理学籍变更信息—课程成绩查询条件未经审核成绩单P2.4 .课程成绩审核S4学生学籍信息学籍信息查询丿学生学籍信息状态变更成绩查询请求课程成绩查询丿—返回成绩信息审核更改数据任课老师考试成绩P2.5 课程成绩录入学生成绩数据S7学生成绩信息图6 0层P2的1层数据流图:学籍和成绩管理选课管理中,学生根据学校对其专业制定的教学计划,录入本学期所选课程,教务 员对学生选课记录进行审核,经审核得到的选课就为本学期的选课。
其处理过程如图 7 所示学生)教学计划查询请求S2教学计划信息P3.1.查询教学计划.教学计划数据图7 0层P3的1层数据流图:选课管理0 层 P4 的 1 层数据流图请读者自行描述我们可以使用许多的设计工具完成数据流图的创建,这些工具不但可以实现常用的 数据流图的绘制,而且可以对多层的数据流图中的元素及其关系的正确性实现有效的检 验,能帮助我们学习和理解数据流图的实现技术本章有关的数据流图均使用Microsoft Visio工具进行绘制,相关的工具还有Sybase公司的Power Designer以及Oracle的 Designer等,有兴趣的可以参考相关的资料或者下载试用版2.2 数据字典数据流图表达了数据与处理的关系,数据流图作为直观的了解系统运行机理的手段, 并没有具体描述各类数据的细节,只有通过数据字典进一步细化才能对系统的需求得到 具体而确切的了解数据字典用来说明数据流图中出现的所有元素的详细的定义和描述 包括数据流、加工处理、数据存储、数据的起点和终点或外部实体等数据字典包括的项目有:数据项、数据结构、数据流、数据存储、加工逻辑和外部 实体可使用一些符号来表示数据结构、数据流和数据存储的组成。
由于本实例涉及的数据字典项目较多,此处列举"P3选课管理"处理功能中包含的几 个对象加以描述数据流表 1 P3 中数据流的描述序号数据流名来源流向组成说明1(学生)教学计 划查询请求需要选课的学生P3.1班级号或学号注意查询类 别的区别2教学计划数据S2教学计划信 息P3.1班级号+课程编号+开课学年+ 开课学期3学生课程选择 数据P3.2S5学生 选课信息课程编号+年号+学期号4选课信息查询教务员P3.3班级号+课程号+学年+学期2数据存储表 2 P3 中数据存储的描述序 号数据文件文件组成关键标识组织1S2教学计划信息班级号+课程编号+开课 学年+开课学期全部按开课学年,学期,班级降序2S3学生选课信息学号+课程编号+开课学 年+开课学期全部按开课学年,学期,班级降序3S5课程数据清单课程编号+课程名称+课 程说明课程编号课程编号排序3处理过程逻辑表 3 P3 中处理过程逻辑的描述序号处理过程编号输入输出处理逻辑查询教学计划P3.1针对的教学计划选课信息录入P3.2针对的教学计划学生课程选择数据选课信息查询P3.3选课信息查询+选课数据没经确认的选课选课信息确认P3.4选课审核+没经。
