ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:453.07KB ,
资源ID:27283209      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27283209.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(04数据流图和数据库分析与设计下打印版本.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

04数据流图和数据库分析与设计下打印版本.docx

1、04数据流图和数据库分析与设计下打印版本软件工程之数据流图(DFD)数据库分析与设计主讲:邓少勋比特培训2015年上第1节 软件工程之数据流图和数据字典1.1 数据流图的基本成分数据流图主要由4种成分(加工、数据流,数据存储文件、数据源点或汇点)组成,如表1.1所示:表 1.1数据流图基本成分符号名称说明加工在圆中注明加工的名字与编号数据流在箭头边给出数据流的名称与编号,注意不是控制流数据存储文件文件名称为名词或名词性短语数据源点或汇点在方框中注明数据源或汇点的名称1.2 分层数据流图设计数据流图时,先画顶层数据流图(上下文数据流图),再细化为0层数据流图,然后将0层细化为1层数据流图,将1层

2、细化为2层数据流图,。一个招聘信息管理系统的分层数据流图案例如下:1.顶层数据流图(上下文数据流图)在顶层数据流图中,整个系统就用一个加工表示,从该图只能看出系统和外部实体之间的数据流交互关系。招聘信息管理系统的顶层数据流图如图 1.1所示。图 1.1 顶层数据流图2.0层数据流图0层数据流图是对顶层数据流图中加工进行细化,将顶层数据流图中的加工细化为数据存储文件、1号加工、2号加工等。招聘信息管理系统的顶层数据流图细化后对应的0层数据流图如图 1.2所示。可看出图 1.1中的加工“招聘系统”被细化为图 1.2中的加工1、加工2和“评估结果表”、“未录用的应聘者表”两个存储文件及相应的数据流图

3、,即图 1.2中虚线框住的部分。图 1.2是对图 1.1的细化,图 1.1称为父图,图 1.2称为子图。容易看出,流入和流出图 1.2中虚线框住的部分的数据流与流进和流出图 1.1中加工“招聘系统”的数据流是一致的,这称为子图和父图的平衡。图 1.2 0层数据流图3.1层数据流图 1层数据流图是对0层数据流图的细化。招聘信息管理系统的0层数据流图细化后对应的1层数据流图如图 1.3所示。在图 1.3中,加工1.1和加工1.2是对父图 1.2中加工1的细化,加工2.1、2.2和2.3是对父图 1.2中加工2的细化。图 1.2中数据流“决策”由图 1.3中“谢绝决策”和“录用决策”两条数据流组成。

4、虽然子图的数据流和父图的数据流在数量上不平衡,但是含义上却是平衡的,数据平衡指的是含义上的平衡。图 1.3 1层数据流图1.3 数据流图的基本原则在单张DFD中,必须满足以下原则 一个加工的输出数据流不能与输入数据流同名,即使它们的组成成分相同(流进和流出存储文件的数据流除外) 数据流必然有一头是加工,数据流不能存在于外部实体与外部实体之间,也不能存在于外部实体和数据存储文件或数据存储文件之间; 保持数据守恒。一个加工所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者是通过该加工能产生的数据; 每个加工必须既有输入数据流,又有输出数据流; 流向/流出数据存储文件的数据流名可以省略

5、不写。1.加工需要避免的几个现象 “黑洞”:一个加工只有输入数据流,没有输出数据流; “奇迹”:只有输出流没有输入数据流 “灰洞”:无法从输入数据流经过加工得到输出数据流。在父图与子图之间,必须满足以下原则 保持父图与子图的平衡。父图中某加工的输入(输出)数据流中的数据必须与它的子图的输入(输出)数据流中的数据在数量和名字上相同; 加工细节隐藏。根据抽象原则,在画父图时,只需画出加工和加工之间的关系,而不必画出各个加工内部的细节; 均匀分解。应该使一个数据流图中的各个加工分解层次大致相同。其它应该注意的原则 简化加工间关系。加工间的数据流越少,各加工就越相对独立目; 适当地为数据流、加工、文件

6、、源/宿命名,名字应反映该成分的实际意义,避免空洞的名字; 忽略枝节。集中精力于主要的数据流,而暂不考虑一些例外情况、出错处理等枝节性问题; 表现的是数据流而不是控制流; 在整套数据流图中,每个文件必须既有读文件的数据流又有写文件的数据流,但在某一张子图中可能只有读没有写或者只有写没有读。例:根据数据流图的设计原则(子图),阅读如图 1.4所示的数据流图,找出其中的错误之处。图 1.4带错误的部分数据流图错误如下: 外部实体A和B之间不能存在数据流; 外部实体A和数据存储H之间不能存在数据流; 加工2的输入/输出数据流名字相同; 加工4只有输入,没有输出;加工5只有输出,没有输入。1.4 DD

7、(Data Dictionary)数据字典数据字典(Data Dictionary,简称DD)就是用来定义数据流图中的各个成分的具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。它和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。1.4.1 数据字典的内容以及格式在定义数据流或数据存储组成时,使用的符号如表1.2:表 1.2数据字典中的符号举例:定义数据流组成和数据项。机票=姓名+日期+航班号+起点+终点+费用姓名=字母航班号=“Y7100”.“Y8100”终点=上海|北京|西安1.4.2 数据字典条目数据字典有以下

8、四类条目:数据流、数据项、数据存储、基本加工。1.数据流条目:数据流的定义,通常列出该数据流的各组成数据项。 数据流名称:订单 别名:无 简述:顾客订货时填写的项目 来源:顾客 去向:加工1“检验订单” 数据流量:1000份/每周 组成:编号+订货日期+顾客编号+地址+电话+银行账号+货物名称+规格+数量2.数据存储条目:数据存储条目是对数据存储的定义,其定义格式如下: 数据存储名称:库存记录 别名:无 简述:存放库存所有可供货物的信息 组成:货物名称+编号+生产厂家+单价+库存量 组织方式:索引文件,以货物编号为关键字 查询方式:要求能立即查询3.数据项条目:数据项条目是不可再分解的数据单位

9、,其定义格式如下: 数据项名称:货物编号 别名:G-No,G-num,Goods-No 简述:本公司的所有货物的编号 类型:字符串 长度:10 取值范围及含义: 第1位:进口/国产 第24位:类别 第57位:规格 第810位:品名编号4.加工条目:用来说明DFD中基本加工的处理逻辑的,其定义格式如下: 加工名称:查阅库存 编号:1.2 激发条件:接收到合格订单时 优先级:普通 输入:合格订单 输出:可供货订单、缺货订单 加工逻辑:根据库存记录IF 订单项目的数据该项目库存量的临界值THEN 可供货处理ELSE 此订单缺货,登录,待进货后再处理ENDIF第2节 数据库分析与设计在数据库分析与设计

10、中,主要涉及到的数据模型有:概念数据模型、逻辑数据模型和物理数据模型。1.概念数据模型也称信息模型,是从数据语义的角度来抽象,面向用户、面向现实世界的观点来对数据和信息建模。概念数据模型主要用来描述现实世界的概念化结构,与具体的数据库管理系统无关,主要用于数据库设计阶段。2.逻辑数据模型从数据的组织结构角度来抽象,并按计算机系统的观点对数据建模,逻辑数据模型与采用的数据库管理系统有关,主要用于DBMS的实现。用概念数据模型表示的数据必须转化为逻辑数据模型表示的数据才能在DBMS中实现。因此,逻辑数据模型既要面向用户,也要面向实现。常见的逻辑数据模型有:层次模型、网状模型、关系模型、面向对象模型

11、和对象关系模型等。3.物理数据模型描述由数据库管理系统支持的、面向计算机系统的、数据在系统内部的表示方式和存取方法,是对数据最低层的抽象。物理数据模型的具体实现是DBMS的任务,是数据库设计人员的职责,一般用户可不考虑物理级的细节。物理数据模型不仅与DBMS有关,而且与操作系统和硬件有关。概念模型在考题中主要集中体现为对实体联系图(E-R图)的考查,而逻辑模型则主要考查关系型数据库,物理模型是数据库在计算机中的实际物理存储形式,本课程主要讲解概念模型和逻辑模型。2.2 某公司销售信息管理系统需求描述甲公司的经营销售业务目前是手工处理的,随着业务量的增长,准备采用关系数据库对销售信息进行管理。经

12、销业务的手工处理主要涉及三种表:订单、客户表和产品表。在日常工作中,三表样式如图 2.1所示:图 2.1实际工作中的工作表为了用计算机管理销售信息,甲公司提出应达到以下要求:产品的单价发生变化时,应及时修改产品表中的单价。客户购货计价采用订货时的单价。订货后,即使单价发生变化,计算用的单价也不变。2.3 系统数据库概念模型设计2.3.1 提炼需求描述得到实体型分析图 2.1中客户表,很容易得出其对应的实体型为:客户(客户代码,客户名,地址,电话),其中“客户代码”为主码。分析图 2.1中产品表,很容易得出其对应的实体型为:产品(产品代码,产品名称,单价),其中“产品代码”为主码。分析图 2.1

13、订单表发现,此表比客户表和产品表都复杂得多,而初学者往往拿到这种表束手无策!图 2.2订单表可分为两部分在图 2.2中,把A部分(数量为1部分)单独提取出来,成为订单实体型:订单(订单号,订货日期,总金额)其中“订单号”为主码。注意,其中A部分中的“客户代码”和“客户名”属于“客户”实体型的属性,而非“订单”实体型中的属性。三张表分别对应的三个实体型图为:图 2.3订单实体型 图 2.4客户实体型图 2.5产品实体型2.3.2 三个实体型之间的实体联系图(E-R图)从2.2节中订单表可以看出“订单”和“产品”两实体型之间的关系是多对多的关系,而“客户”和“订单”两实体型之间是1对多的关系。图

14、2.6三实体型E-R图 思考:在图 2.2中,“产品代码”、“产品名称”等是属于订单明细的,但为什么在如图 2.6所示中,“订单明细”没有“产品代码”、“产品名称”等属性?2.4 系统数据库逻辑模型设计2.4.1 E-R图向关系数据库转换思想1. 一个实体型转换为一个关系模型,实体的属性就是关系的属性,实体的键就是关系的键。图 2.7实体型A对应的关系模式为:实体A(属性1,属性2,属性3)2. 一个联系是否要转换为一个关系模式,这取决于与该联系相关的实体之间的对应关系,不同的对应关系,遵循不同的转换原则:(1) 两个实体型之间的关系为1:1关系图 2.8 1对1联系图对应的关系模式为(假设此

15、E-R图中属性1为主属性):实体A(属性1,属性2,属性3,属性4,属性5)一对1:1的E-R图转换成关系模式时至少需要1张表,联系不需要转换成关系模式。(2) 两个实体型之间的关系为1:m关系如图 2.9所示,实体型A与实体型B的关系为1:m的关系,假设“属性1”为实体型A的码,“属性4”为实体型B的码。图 2.9 1对多联系图如图 2.9对应的关系模式为:实体A(属性1,属性2,属性3)实体B(属性4,属性5,属性6,属性1)在以上的关系模式“实体型B”中,“属性4”是主键,“属性1”是外键(参照到主键表“实体型A”表的主键“属性1”)。一对1:M的E-R图转换成关系模式时至少需要2张表,

16、联系不需要转换成关系模式。(3) 两个实体型之间的关系为m:n关系图 2.10多对多联系图这里首先把图 2.10个多对多的关系转换为两个一对多的关系,如图 2.11示:图 2.11一个多对多对应的两个一对多联系图转换以后的关系模式如下: 实体A(属性1,属性2,属性3)实体B(属性4,属性5,属性6)联系名(属性1,属性4,属性7)一对多比多的联系,需要转换成两对1对多的联系,至少需要三张表,中间的联系需要转换为一个关系模式。一个“多对多”的E-R图转换为对应的关系模式,至少需要3个二维关系表,E-R图中的联系要转换为相应的关系模式。(4) 实体型之间的关系为m:n:p关系图 2.12 m:n

17、:p实体联系图图 2.13两个“多对多”E-R图的简化方式图最终的概念模型为:实体A(属性1,属性2,属性3)实体B(属性4,属性5,属性6)实体C(属性7,属性8,属性9)联系名(属性1,属性4,属性7)1对m:n:p的E-R图转换成关系模式时至少需要4张表,中间的联系需要转换成关系模式。提醒:图 2.11和图 2.13所示的图并非标准的概念模型图,而是咱们为了把图 2.10和图 2.12所示的E-R图转换为逻辑模型而使用的一个转换图而已!所以在实际的数据库分析与设计中,这种图是没有的,考试时千万不要画这种图,但是可以借用来作为概念模型转换为逻辑模型的一种工具,一种手段!2.4.2 销售信息

18、管理系统逻辑模型设计根据“2.4.1”小节讲解,针对图 2.6可进行如下转换理解:图 2.14销售信息管理系统转换图图 2.14对应的逻辑模型(使用关系数据库模型)为:客户(客户代码,客户名,地址,电话) 产品(产品代码,产品名称,单价)订单(订单号,订货日期,总金额,客户代码) 订单明细(订单号,产品代码,数量,小计,订货序号)去掉“订货序号”和“总金额”属性得最终的关系模型为(“订货序号”可由程序生成,因为“订单明细”表中有“小计”字段,故只能留一个): 客户(客户代码,客户名,地址,电话)产品(产品代码,产品名称,单价) 订单(订单号,订货日期,总金额、客户代码)订单明细(订单号,产品代

19、码,数量)2.5 实体型和关系模式在概念模型中,实体型表示如下:实体型名(属性1,属性2,属性n),在关系模型中,关系二维表表示如下:关系名(属性1,属性2,属性n)。两者的表示非常相似,但它们有本质的区别:实体型不考虑实体之间的参照关系,而关系模式要实现表之间的参照关系,故关系二维表中除了包含主键字段外,还可能包含外键字段。2.6 子实体和属性类型1.子实体在概念模型中,一个实体可能包含1个或多个子实体,如学生实体包含班长实体、学习委员实体、支部书记实体等。实体和子实体之间绘图方式如图 2.5所示。图 2.15 实体和子实体2.属性类型假设有学生实体Students(学号,姓名,性别,年龄,

20、家庭住址,家庭成员,关系,成员联系电话),其中“家庭住址”记录了邮编、省、市、街道信息;“家庭成员,关系,联系电话”分别记录了学生亲属的姓名、与学生的关系以及联系电话。现针对以上案例对属性的类别作如下分析: 简单属性:原子的、不可再分的属性。如学生的学号、姓名、性别、年龄等属性是不可再细分的,故为简单属性。 复合属性:可以细分为更小的部分(即划分为别的属性)。如学生家庭住址可细分为邮编、省、市、街道信息等,故家庭住址为复合属性。 多值属性:在大多数情况下,属性对应一个特定的实体都只有单独的一个值。例如,对于一个特定的学生,其只有一个学号和姓名,这种的属性叫单值属性,但是,在某些特定情况下,一个属性可能对应一组值。例如,案例中学生可能有0个、1个或多个亲属,那么学生的亲属的姓名可能有多个,那么案例中一个学生对应的“家庭成员、关系、成员联系电话”可能有多个,则家庭成员、关系、成员联系电话为多值属性。为了减少数据的冗余,将数据库设计得更合理,多值属性应该单独对应一个关系模式,如案例中的家庭成员、关系、成员联系电话,再加上学生学号单独构成一个独立的关系模式为“家庭成员(成员名、关系、电话)”。 派生属性:派生属性是指通过其他属性可以计算获得结果的属性。如给学生加上一个属性“出生日期”的话,那么学生的属性年龄可通过出生日期属性计算得到,故年龄即为简单属性,同时也为派生属性。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1