资源简介 (共40张PPT)数据库系统设计第5章目录01数据库系统设计概述02需求分析03概念结构设计04逻辑结构设计05物理结构设计06数据库实施07数据库运行和维护本章主要内容本章主要介绍数据库系统设计的整体过程及具体设计过程中使用的相关方法和技术。从数据库设计的概念出发,引出了数据库系统设计的内容、特点、使用的方法、基本过程和步骤;重点介绍需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护等阶段的具体设计内容和步骤,并详细介绍需求分析、概念结构设计、逻辑结构设计的模型设计方法和模型创建步骤。准备知识模型是对事物、对象、过程等客观系统中人们感兴趣的内容的模拟和抽象表达,是理解系统的思维工具。数据模型也是一种模型,是计算机世界对现实世界数据特征的抽象、表示和处理的工具。数据库不仅要反映数据本身内容,而且要反映数据之间的联系,而这种模拟是通过数据模型实现的。数据模型是数据库的框架,是数据库的核心和基础。需求分析第5章025.2.1 需求的类型需求可以分为业务需求、用户需求和系统需求3类。(1)业务需求:从组织机构的角度明确待开发系统的发展方向、工作内容、目标客户和产品价值等。(2)用户需求:从系统用户的角度确定待开发系统需要完成的功能(或提供的服务)和要达到的指标或要求(例如性能、存储空间要求、吞吐量、安全性、可靠性、容错性)。(3)系统需求:从设计人员的角度详细、准确地描述系统应该完成的功能和非功能性需求。5.2.1 需求的类型需求分析是数据库系统设计的基础,它的结果是否准确,直接影响后续各个阶段设计的正确性,设计管理人员一定要强调并认真对待这个阶段的工作。调查了解、收集并获取不同角色用户的需求。分析用户需求,确定新系统的边界。使用规格说明描述用户需求,编写系统分析报告。需求验证。5.2.2 需求分析的步骤1. 调查了解、收集并获取不同角色用户的需求首先,需要了解管理对象的组织机构情况,弄清所设计的数据库系统与哪些部门相关,这些部门及下属各个单位的联系和职责是什么;其次,了解相关部门的业务活动情况。设计人员需要明确数据库中的信息内容、数据处理内容,以及数据的安全性和完整性需求。2. 分析用户需求,确定新系统的边界明确哪些功能现在就由计算机完成;哪些功能将来准备让计算机完成;哪些功能或活动由人工完成。3. 使用规格说明描述用户需求,编写系统分析报告系统分析报告也称为需求规格说明书,它是对需求分析阶段的一个总结。编写系统分析报告是一个不断反复、逐步深入和逐步完善的过程。系统分析报告应包括系统概况、系统的原理和技术,以及对原系统的改善、 系统总体结构与子系统结构说明、系统功能说明、 数据处理概要、工程体制和设计阶段的划分、系统方案及技术、经济、功能和操作上的可行性6部分内容。随系统分析报告还需要提供系统的硬件、软件支持环境的选择及规格要求(所选择的数据库管理系统、操作系统、汉字平台、计算机型号及其网络环境等)、 组织机构图、组织之间的联系图和各机构功能业务一览图、数据流图、功能模块图和数据字典等图表。4. 需求验证完成系统的分析报告后,在项目单位的领导下,软件开发项目组要组织有关技术专家评审系统分析报告,通过后,项目方和开发方的领导签字认可。5.2.3 获取需求的常用方法调查方法是设计人员获取需求使用的重要手段,是设计数据库系统不可缺少的环节。在调查进行之前,软件开发机构需要进行一些必要的准备工作,成立项目领导小组(包括客户项目组和开发项目组)。在调查时,设计人员需要深入到应用待开发系统的组织机构和业务领域,与具有业务领域知识和行业背景的人员反复沟通、确认,并用计算机知识和建模技术清晰、准确地描述用户需求,获得用户认可的需求文档。其中,用户的积极参与配合是做好调查的关键。常用的调查方法(1)跟班作业调查法(2)开调查会(3)请专人介绍(4)填写调查表(5)资料查阅5.2.4 需求分析创建模型的方法为了准确描述系统能够“做什么”,方便设计人员、用户及其他相关人员之间的沟通,设计人员需要使用相应的需求建模方法创建需求模型(数据流图和数字字典,或状态转换图、序列图、协作图、类图、部署图等),从而真实、准确、完整地描述目标系统的业务需求和用户需求。常用的需求建模方法有结构化分析(Structured Analysis,SA)方法和面向对象的(Object-Oriented)方法。1. 结构化分析方法由美国Yourdon公司和密歇根大学于20世纪70年代中期在开发ISDOS系统工具时提出。采用“自顶向下,化繁为简,由外到内,逐层分解”的分治策略,把复杂的信息处理系统分解为若干个人们易于分析和描述的子系统,用各方人员易于理解的数据流图表示待开发系统的模型,验证模型是否满足用户对目标系统的需求,并在设计过程中逐渐把与实现有关的细节加入模型中,直至最终使用程序实现模型。分治策略示意图如右所示。2. 面向对象的方法基于面向对象的程序设计思想,以统一建模语言(Unified Modeling Language,UML)和相应的需求建模工具(比较知名的有PowerDesigner、StarUML、Netbeans UML Plugin、Rational Rose等)为基础,从获取到的需求信息中抽象出重点业务领域中的类与对象,确定类之间的关系,并建立简单、准确和易于理解的用例图、序列图、协作图、状态转换图、类图、部署图等需求模型。面向对象的方法一般分两个步骤进行需求建模:(1)问题分析阶段(2)应用分析阶段5.2.5 数据流图数据流图是描述系统内部的业务处理流程,表达软件系统功能需求的模型。它从数据传递、数据加工和数据存储的角度,以图形的方式刻画数据从输入到输出的变换过程。1. 数据流图的模型数据流图模型示意图:1. 数据流图的模型数据流图由4个基本元素组成。(1)数据源点和终点:表示数据的来源和最终去向,通常用方框表示。它们均代表软件系统外的实体,如用户或其他软件系统。(2)数据流:是一组数据项组成的数据,通常用带标识的有向弧表示。(3)处理(也称加工或变换):主要用于描述对数据进行的操作或变换,通常用圆圈或椭圆表示。(4)文件(也称数据存储):是存放数据的逻辑单位,通常用图形符号“ ”“ ”“ ”分别表示加工写文件、读文件和读写文件。在相应的图形符号中还要给出文件名。1. 数据流图的模型某培训中心学员报名缴费信息管理系统的数据流图1. 数据流图的模型注意:(1)数据流可以由单个数据项组成,也可以由一组数据项组成;另外,数据流要有一个合适的名字。(2)数据流可以从处理流向处理,从源点流向处理,从处理流向终点,从处理流向文件,从文件流向处理。(3)从处理流向文件或从文件流向处理的数据流可不指定数据流名,给出文件名即可。(4)两个处理之间允许有多股数据流。数据流不分先后次序,处理只描述具体功能——“做什么”,不需要考虑“怎么做”。2. 分层的数据流图对于较为复杂的问题的数据处理过程,用一个数据流图往往不够,这是因为用一个图表示全部数据处理过程会面临两个问题:(1)数据处理过程多而复杂,不容易理解(2)如果系统过于复杂,数据流图占用的篇幅过大,难以表示全部数据处理过程。为了准确、清晰、简单地表示数据处理过程,一般采用化繁为简、逐层分解的方法,用分层的数据流图来反映待开发系统的层次结构。2. 分层的数据流图根据层次关系,一般将数据流图分为顶层数据流图、中间层数据流图和底层数据流图。(1)顶层数据流图(又称0层数据流图):用于表示系统的边界,即系统的输入/输出。顶层数据流图需要抽象出与待开发系统交互的外部实体(即数据源点与终点)及待开发系统的处理名称。(2)中间层数据流图:把上一层的数据处理过程进一步分解,描述外部实体与具体处理过程中涉及的数据流入、流出、存储、加工或转换过程。其组成部分可进一步细分。(3)底层数据流图:由一些不可再分的处理组成,这些处理功能单一、含义明确、足够简单,也称为基本处理。2. 分层的数据流图逐层分解的目的是把复杂的处理分解成比较简单和易于理解的基本处理,但分解的层次不宜太深,否则会影响数据流图的可理解性,一般分解的层次不宜超过7层或8层。达到底层的分解标准,要满足两个条件:(1)处理用几句或十几句话就可以准确、清晰地描述其含义。(2)一个处理只有一个输入流和一个输出流。3. 分层数据流图的绘制方法一般来说,绘制分层数据流图分为3个步骤。(1)确定待开发系统的输入/输出数据流、数据的源点和终点。(2)将基本系统模型加上源点和终点,构成顶层数据流图。(3)按照分层原则,绘制各层的数据流图。3. 分层数据流图的绘制方法绘制各层的数据流图时需要遵循以下原则。(1)对组织机构中开展的业务进行功能分析和过程分析,从中抽象出重点业务中的基本概念、属性和操作,集中精力找出数据流。(2)找到数据流后,标识该数据流,然后分析该数据流的组成成分及来去方向,并将其与处理连接。标识处理,继续寻找其他的数据流。(3)当处理需要用到共享和暂存数据时,设置文件及其标识。(4)分析处理的内部,如果处理还比较抽象或其内部还有数据流,需要将该处理进一步分解,直到达到底层图。(5)为所有的数据流命名。(6)为所有的处理编号。编号方法:处理编号应从第1层开始,处理的编号按顺序为1、2、3、…;对于子图的编号,通常是父类图中相应被分解处理的编号+小数点号+子图中局部处理的顺序号。(7)将所有软件的输入/输出数据流用一连串处理连接起来。(8)顶层数据流图只有一个,只有一个处理,该加工不用编号。3. 分层数据流图的绘制方法例:绘制教务管理系统数据流图用户需求描述如下:(1)学生的需求:选课,查看自己的选课情况、课表及课程成绩。(2)教师的需求:能查看自己的个人信息、授课课表、所授课班级的所有学生的名单,并提交课程成绩。(3)系统管理员的需求:对院系信息、学生信息、教师信息、课程信息、教室信息及学生选课信息进行管理。(4)学院管理员的需求:管理开课信息、教师授课信息。3. 分层数据流图的绘制方法教务管理系统的业务流程:(1)超级教务管理员设置院系信息(包含院系编号、院系名、院系位置、院系办公电话等信息)、学生信息(包括学号、姓名、性别、年龄、系编号等信息)、教师信息(包括教工号、姓名、性别、入职日期、职称、系编号等信息)、课程信息(包括课程号、课程名称、课程类型、学时、学分等信息)、教室信息(包括教室号、教室类别、地点、容量等信息)等。(2)一般学院管理员设置每个班级的每门课程的任课教师。(3)超级教务管理员编排课表,生成教师授课表(教工号,课程号)。(4)学生选课。(5)选课后,生成学生选课表(学号,课程号,成绩)。(6)教师录入成绩,发布、查看、打印成绩。(7)学生查看课程成绩信息。(8)一些限制规定:3. 分层数据流图的绘制方法教务管理系统的顶层数据流图:3. 分层数据流图的绘制方法教务管理系统的1层数据流图:3. 分层数据流图的绘制方法教务管理系统的2层数据流图:3. 分层数据流图的绘制方法教务管理系统的2层数据流图:5.2.6 数据字典数据字典是数据流图中涉及的各类数据的集合,即对元数据的描述,它从数据含义、数据结构组成和属性等方面对数据进行详细的描述,与数据流图互为注释。数据字典通常包含数据项、数据结构、数据流、数据存储和处理过程5部分内容。1. 数据项数据项是组成数据的最小单位,不可再分。一个数据项由数据项名、数据项含义说明、别名、数据类型、长度、取值范围、与其他数据项的逻辑关系7部分组成;其中,“取值范围”和“与其他数据项的逻辑关系”两项定义了数据的完整性约束条件,它们是设计数据完整性检验功能的依据。2. 数据结构数据结构反映了数据项之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成或由若干数据项和数据结构混合组成。一个数据结构通常由数据结构名、含义说明、数据项或数据结构组成3部分组成。3. 数据流数据流是数据结构在系统内传输的路径,它由数据流名、说明、数据流来源、数据流去向、数据结构组成、平均流量、高峰期流量7部分组成。其中,“流出过程”说明该数据流来自哪个过程;“流入过程”说明该数据流将到哪个过程中去;“平均流量”是指在单位时间(每天、每周、每月等)里传输的次数;“高峰期流量”是指在高峰时期的数据流量。4. 数据存储数据存储是数据及其结构停留或保存的地方,也是数据流的来源和去向之一。一个数据存储通常由数据存储名、说明、编号、输入的数据流、输出的数据流、数据结构组成、数据量、存取频度和存取方式9部分组成。其中,“数据量”说明每次存取多少数据;“存取频度”指每小时或每天或每周存取几次、每次存取多少数据等信息;“存取方式”指是批处理还是联机处理,是检索还是更新,是顺序检索还是随机检索等;“输入的数据流”指出数据的来源处;“输出的数据流”指出数据的去向处。5. 处理过程处理过程是对数据流图中处理过程的描述性说明信息,一般需要结合判定表、判定树、IPO图等工具来描述具体处理逻辑。一个处理过程通常由处理过程名、说明、输入的数据流、输出的数据流、处理的简要说明5部分组成。其中,“简要说明”中主要说明该处理过程用来做什么,而不是怎么做及处理频度要求,如单位时间里处理多少事务、多少数据量、响应时间要求等。3. 数据流数据流是数据结构在系统内传输的路径,它由数据流名、说明、数据流来源、数据流去向、数据结构组成、平均流量、高峰期流量7部分组成。其中,“流出过程”说明该数据流来自哪个过程;“流入过程”说明该数据流将到哪个过程中去;“平均流量”是指在单位时间(每天、每周、每月等)里传输的次数;“高峰期流量”是指在高峰时期的数据流量。 展开更多...... 收起↑ 资源预览