《面向数据流的分析方法精选文档.ppt》由会员分享,可在线阅读,更多相关《面向数据流的分析方法精选文档.ppt(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向数据流的分析方法本讲稿第一页,共四十页第第5章章面向数据流的分析方法面向数据流的分析方法面向数据流的分析方法(面向数据流的分析方法(dataflow-oriented analysis method)与面向数据、面向对象的分析方法,都是需求)与面向数据、面向对象的分析方法,都是需求建模方法。它们均有一组规范的语言表达机制,用于需建模方法。它们均有一组规范的语言表达机制,用于需求分析人员表达用户需求、构造软件系统模型。此外,求分析人员表达用户需求、构造软件系统模型。此外,它们还含有一些规则和经验知识,指导分析人员提取需它们还含有一些规则和经验知识,指导分析人员提取需求信息,促进用户需求精确化
2、、全面化和一致化。求信息,促进用户需求精确化、全面化和一致化。面向数据流的分析方法是结构化分析方法系列中的一支,面向数据流的分析方法是结构化分析方法系列中的一支,具有明显的结构化特征。结构化分析方法的雏形出现于具有明显的结构化特征。结构化分析方法的雏形出现于20世纪世纪60年代后期。但是,直到年代后期。但是,直到1979年才由年才由DeMarco将其作将其作为一种需求分析方法正式提出。由此,结构化分析方法得为一种需求分析方法正式提出。由此,结构化分析方法得到了迅速发展和广泛应用。到了迅速发展和广泛应用。本章主要介绍广为使用的数据流方法。本章主要介绍广为使用的数据流方法。本讲稿第二页,共四十页5
3、.1 数据流图与数据字典数据流图与数据字典一个基于计算机的信息处理系统由数据一个基于计算机的信息处理系统由数据流和一系列的转换构成,而这些转换将流和一系列的转换构成,而这些转换将输入数据流变换为输出数据流。输入数据流变换为输出数据流。数据流图就是用来刻画数据流和转换的数据流图就是用来刻画数据流和转换的信息系统建模技术。它用简单的图形记信息系统建模技术。它用简单的图形记号分别表示数据流、转换、数据源以及号分别表示数据流、转换、数据源以及外部实体,如下图所示。外部实体,如下图所示。本讲稿第三页,共四十页数据流图的图形记号数据流图的图形记号外部实体外部实体位于软件系统边界之外位于软件系统边界之外的信
4、息生产者或消费者的信息生产者或消费者转换转换转换数据流的处理过程,转换数据流的处理过程,又称泡(又称泡(bubble)数据源数据源数据流数据流为一个或多个转换提供数据源或数据为一个或多个转换提供数据源或数据存储服务的缓冲区、文件或数据库存储服务的缓冲区、文件或数据库在转换之间有向流动的在转换之间有向流动的数据项或数据项集合数据项或数据项集合 “与与”,即同时输入,即同时输入/出;出;+“或或”,即至少一项输入,即至少一项输入/出;出;“异或异或”,即非同时输入,即非同时输入/出出*本讲稿第四页,共四十页数据流图数据流图数据流图提供了层次结构,让分析人员数据流图提供了层次结构,让分析人员能够方便
5、地表示任意抽象级别上的信息能够方便地表示任意抽象级别上的信息系统或其子系统,并支持问题分解、逐系统或其子系统,并支持问题分解、逐步求精的分析方法。步求精的分析方法。初始时,整个信息处理系统可以用图初始时,整个信息处理系统可以用图5-1-2所示的顶级(第所示的顶级(第0级)数据流图表示。级)数据流图表示。本讲稿第五页,共四十页图图5-1-2 “家庭保安系统家庭保安系统”顶级数据流图顶级数据流图警报类别警报类别显示信息显示信息电话拨号音频电话拨号音频传感数据传感数据用户命令用户命令家庭保家庭保安系统安系统控制面板控制面板传感器传感器显示器显示器电话机电话机警报器警报器本讲稿第六页,共四十页 随着需
6、求分析活动的逐渐深入,较高抽象级别上的复杂转换随着需求分析活动的逐渐深入,较高抽象级别上的复杂转换可以精化为一系列相互关联的数据流和子转换,如图可以精化为一系列相互关联的数据流和子转换,如图5-1-3所所示。在数据流方法中,对数据(数据流)的精化是伴随着对示。在数据流方法中,对数据(数据流)的精化是伴随着对转换的逐步精化而同步进行的。转换的逐步精化而同步进行的。Z2Y2X2N1M1D1D1C1C1E1E1B0A0A0F1F3FF2F4F5F41F42F43F44B0第第0级级第第1级级第第2级级图图5-1-3 数据流图的精化与层间平衡数据流图的精化与层间平衡本讲稿第七页,共四十页建立数据流模型
7、要遵循以下的原则建立数据流模型要遵循以下的原则1每每个个加加工工至至少少应应有有一一个个输输入入数数据据流流(反反映映被被处处理理数数据据的的来来源)和一个输出数据流(反映加工的结果)。源)和一个输出数据流(反映加工的结果)。2数数据据流流图图中中各各构构成成元元素素的的名名称称必必须须具具有有明明确确的的含含义义且且能能够代表对应元素的内容或功能。够代表对应元素的内容或功能。3对对某某个个加加工工进进行行细细化化生生成成的的下下层层数数据据流流图图,称称为为其其上上层层图图的的子子图图。应应保保证证分分层层数数据据流流图图中中任任意意对对应应的的父父图图和和子图的输入子图的输入/输出数据流保
8、持一致。输出数据流保持一致。4应应按按照照层层次次给给每每个个加加工工编编号号,用用于于表表明明该该加加工工所所处处的的层层次次及及上上、下下层层的的父父图图与与子子图图的的关关系系。编编号号的的规规则则为为:顶顶层层加加工工不不用用编编号号;第第一一层层加加工工的的编编号号为为1,2,n。第第二二层加工的编号为层加工的编号为11,12,21,22,n1,n2,等,以此类推。等,以此类推。本讲稿第八页,共四十页建立数据流模型要遵循以下的原则建立数据流模型要遵循以下的原则5在在父父图图中中不不要要出出现现子子图图中中涉涉及及的的局局部部数数据据存存储储文文件件。通通常常除除底底层层数数据据流流图
9、图中中需需表表明明所所有有数数据据存存储储外外,为为保保持持画画面面整整洁洁,各各中间层数据流图只需显示处于加工之间的接口文件即可。中间层数据流图只需显示处于加工之间的接口文件即可。6数数据据流流图图只只能能由由四四种种基基本本符符号号组组成成,是是实实际际业业务务流流程程的的客客观观映映象象,用用于于说说明明系系统统应应该该“做做什什么么”,而而不不需需要要指指明明系系统统“如何做如何做”。7数数据据流流图图的的分分解解速速度度应应保保持持适适中中。通通常常一一个个加加工工每每次次可可分分解解为为24个个子子加加工工,最最多多不不要要超超过过七七个个,否否则则会会增增加加用用户户的理解难度。
10、同时要注意,逐层精化必须适可而止。的理解难度。同时要注意,逐层精化必须适可而止。8 如果为了便于数据流图在计算机上的输入和输出,应免除如果为了便于数据流图在计算机上的输入和输出,应免除斜线、弧线、圆等符号。斜线、弧线、圆等符号。本讲稿第九页,共四十页5.3 基于数据流的分析方法基于数据流的分析方法 5.3.1 创建数据流模型创建数据流模型数据流图是目标软件系统中各个处理子功能以及它们之间的数数据流图是目标软件系统中各个处理子功能以及它们之间的数据流动的图形表示。数据流图的精化过程实际上是处理子功能据流动的图形表示。数据流图的精化过程实际上是处理子功能和数据流的细化过程。随着这一过程的进行,用户
11、需求逐步精和数据流的细化过程。随着这一过程的进行,用户需求逐步精确化、一致化和完备化。确化、一致化和完备化。创建用户需求的数据流模型应遵循以下创建用户需求的数据流模型应遵循以下5条规则条规则:1)首首先先建建立立顶顶级级数数据据流流图图,其其中中只只含含有有一一个个代代表表目目标标软软件件系系统整体处理功能的转换。统整体处理功能的转换。根根据据软软件件系系统统与与外外部部环环境境的的关关系系确确定定顶顶级级数数据据流流图图中中的的外外部实体以及它们与软件系统之间的数据流。部实体以及它们与软件系统之间的数据流。本讲稿第十页,共四十页例如例如图图5-1-2 “家庭保安系统家庭保安系统”顶级数据流图
12、顶级数据流图警报类别警报类别显示信息显示信息电话拨号音频电话拨号音频传感数据传感数据用户命令用户命令家庭保家庭保安系统安系统控制面板控制面板传感器传感器显示器显示器电话机电话机警报器警报器本讲稿第十一页,共四十页创建数据流模型的创建数据流模型的5条规则条规则2)对对用用户户需需求求的的文文字字描描述述进进行行语语法法分分析析,其其中中的的名名词词和和名名词词短短语语构构成成潜潜在在的的外外部部实实体体、数数据据源源或或数数据据流流,动动词词构构成成潜潜在在的处理功能。的处理功能。结结合合分分析析人人员员对对问问题题域域和和用用户户需需求求的的理理解解,确确定定软软件件系系统统的的主主要要功功能
13、能以以及及它它们们之之间间的的数数据据流流,产产生生“家家庭庭保保安安系系统统”1级数据流图如图级数据流图如图5-3-1所示。所示。本讲稿第十二页,共四十页图图5-3-1 “家庭保安系统家庭保安系统”1级数据流图级数据流图警报类别警报类别电话拨电话拨号音频号音频传感信息传感信息配置数据配置数据传感数据传感数据配置数据配置数据原口令原口令口令有效口令有效/口令无效口令无效口令口令配置数据配置数据配置命令配置命令显示信息显示信息启动启动/停止时停止时的显示信息的显示信息口令有效口令有效启动启动/停止停止命令命令用户命令用户命令配置信息配置信息控制面板控制面板用用户户命命令处理令处理系统系统配置配置
14、口令口令核对核对信息信息显示显示启动启动/停止停止处理处理显示面板显示面板传感器传感器监测监测传感器传感器警报器警报器电话机电话机本讲稿第十三页,共四十页创建数据流模型的创建数据流模型的5条规则条规则3)采采用用通通常常的的功功能能分分解解方方法法,按按照照“强强内内聚聚、松松耦耦合合”的的原原则则逐逐个个对对处处理理功功能能进进行行精精化化;与与此此同同时时逐逐步步完完成成对对数数据据流流的的精精化化,并并针针对对被被精精化化的的处处理理功功能能生生成下一级数据流图。成下一级数据流图。“强强内内聚聚、松松耦耦合合”的的原原则则对对于于目目标标软软件件系系统统的的可可修修改改性性、可可扩扩充充
15、性性大大有有益益处处,因因为为开开发发人人员员可可以缩小软件修改或扩充的影响传播范围。以缩小软件修改或扩充的影响传播范围。对对数数据据流流的的精精化化包包含含两两个个方方面面的的意意义义。首首先先,伴伴随随着着功功能能分分解解的的进进行行,数数据据流流的的内内容容及及各各项项特特征征将将逐逐步步彰彰显显,所所以以要要将将其其作作为为数数据据字字典典的的一一个个条条目目,并并不不断断精精化化、调调整整内内容容。其其次次,在在父父数数据据流流图图中中的的复复合合数数据据项项可可被被分分解解为为子子数数据据项项,这这种种数数据据流流分分解解不不能能违违背背平平衡衡原则。原则。本讲稿第十四页,共四十页
16、图图5-3-2 “家庭保安系统家庭保安系统”2级数据流图:级数据流图:对对“传感器监测传感器监测”的分解的分解传感器传感器ID,类别类别传感数据传感数据(内部表示)(内部表示)传感传感数据数据报警信息报警信息电话拨电话拨号音频号音频配置数据配置数据报警类别报警类别电话号码电话号码传感信息传感信息配置信息配置信息读取传读取传感数据感数据生成报生成报警信号警信号异常数异常数据判别据判别电话电话拨号拨号本讲稿第十五页,共四十页创建数据流模型的创建数据流模型的5条规则条规则4)精化过程中必须维持各级数据流图之间)精化过程中必须维持各级数据流图之间的数据流平衡。的数据流平衡。5)精化过程应适可而止,避免
17、涉及软件设)精化过程应适可而止,避免涉及软件设计细节。一般说来,如果某子功能可以计细节。一般说来,如果某子功能可以用一段简洁、精确的文字描述清楚,就用一段简洁、精确的文字描述清楚,就无需进一步分解。无需进一步分解。本讲稿第十六页,共四十页5.3.2 过程规格说明过程规格说明对对于于数数据据流流图图中中不不再再分分解解的的处处理理功功能能,分分析析人人员员要要借借助助结结构构化化自自然然语语言言对对其其功功能进行精确、简洁的描述。能进行精确、简洁的描述。图图5-3-1中中“口口令令核核对对”子子功功能能分分解解出出来来的的“设置口令设置口令”子功能可描述如下页:子功能可描述如下页:本讲稿第十七页
18、,共四十页过程规格说明举例过程规格说明举例“设置口令设置口令”子功能子功能1参数:口令;类别:字符串参数:口令;类别:字符串2处理步骤:处理步骤:1)检检查查系系统统是是否否已已有有口口令令。若若有有,则则验验证证用用户户输输入入口口令令的的有有效效性性。如如果果有有效效,则则显显示示提提示示信信息息要要求求输输入入新口令;否则,显示失败信息并退出。新口令;否则,显示失败信息并退出。2)检检查查口口令令长长度度是是否否合合法法。如如果果非非法法,则则显显示示提提示示信信息息要求重新输入。要求重新输入。3)要要求求用用户户再再次次键键入入合合法法口口令令,以以便便用用户户确确认认和和记记忆忆。如
19、果两次键入的口令不符,则返回。如果两次键入的口令不符,则返回。4)将将确确认认后后的的口口令令按按某某种种加加密密方方法法转转换换为为另另一一字字符符串串存存放于系统配置文件中。显示成功信息并退出。放于系统配置文件中。显示成功信息并退出。3约约束束条条件件:在在上上述述1)、2)、3)步步骤骤中中,用用户户重重试试的机会不超过的机会不超过3次。次。本讲稿第十八页,共四十页思考思考l某医院打算开发一个以计算机为中心的某医院打算开发一个以计算机为中心的患者监护系统,请分层画出描述本系统患者监护系统,请分层画出描述本系统功能的数据流图。功能的数据流图。l基本要求是随时接受每个病人的生理信基本要求是随
20、时接受每个病人的生理信号(脉搏、体温、血压等)定时记录病号(脉搏、体温、血压等)定时记录病人情况以形成患者日志,当某个病人的人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向生理信号超出医生规定的安全范围时向值班护士发出警告信息。此外,护士在值班护士发出警告信息。此外,护士在需要时还可以要求系统输出某个确定病需要时还可以要求系统输出某个确定病人的病情报告。人的病情报告。本讲稿第十九页,共四十页图图5-2-1 “患者监护系统患者监护系统”顶级数据流图顶级数据流图病情报告病情报告报警信息报警信息 要求报告要求报告时间时间生理信号生理信号患患者者监监护系护系 统统病人病人时钟时钟护
21、士护士护士护士护士护士本讲稿第二十页,共四十页 图图5-2-2 “患者监护系统患者监护系统”1级数据流图级数据流图时间时间报警报警信息信息要求要求报告报告生理生理信号信号报报警警信息信息病情报告病情报告订时取订时取样生理样生理信号信号产生报产生报警信息警信息分析信分析信号号产生病产生病情报告情报告接收信接收信号号更新更新日志日志患者日志患者日志患者安全范围患者安全范围病病人人护护士士护护士士生生理理信信号号时时钟钟生生理理信号信号定时定时生理生理信号信号日志数据日志数据日志数据日志数据本讲稿第二十一页,共四十页数据字典数据字典数据流图机制没有描述数据流的内容。数据流图必须与描述数据流图机制没有
22、描述数据流的内容。数据流图必须与描述并组织数据条目的数据字典配套使用。并组织数据条目的数据字典配套使用。表表5-1 数据字典中的基本符号及其含义数据字典中的基本符号及其含义符号符号含义含义说明说明=表示定义为表示定义为用于对用于对=左边的条目进行确切的定义左边的条目进行确切的定义+表示与关系表示与关系X=a+b表示表示X由由a和和b共同构成共同构成|或或,表示或关系表示或关系X=a|b与与X=a,b的等价,表示的等价,表示X由由a或或b组成组成()表示可选项表示可选项X=(a)表示表示a可以在可以在X中出现,也可以不出现中出现,也可以不出现 表示重复表示重复大括号中的内容重复大括号中的内容重复
23、0到多次到多次m n表示规定次数的重复表示规定次数的重复重复的次数最少重复的次数最少m次,最多次,最多n次次“”表示基本数据元素表示基本数据元素“”中的内容是基本数据元素,不可再分中的内容是基本数据元素,不可再分.连接符连接符Month=1.12表示表示month可取可取112中的任意值中的任意值*表示注释表示注释两个星号之间的内容为注释信息两个星号之间的内容为注释信息本讲稿第二十二页,共四十页数据字典中每一数据条目包含的内容数据字典中每一数据条目包含的内容1数据流图中标识数据流、数据源或外部数据流图中标识数据流、数据源或外部 实体的名称与别名;实体的名称与别名;2数据类型;数据类型;3所有以
24、它作为输入流或输出流的转换的所有以它作为输入流或输出流的转换的 列表;列表;4如何使用该数据条目的简要说明;如何使用该数据条目的简要说明;5数据条目的解释性说明;数据条目的解释性说明;6其他补充说明,例如取值范围与缺省值其他补充说明,例如取值范围与缺省值 有关的设计约束等。有关的设计约束等。本讲稿第二十三页,共四十页数据字典数据字典数据条目的定义必须遵循以下原则:数据条目的定义必须遵循以下原则:精确、精确、简洁,简洁,能为用户方和软件开发方共同理解。能为用户方和软件开发方共同理解。例如,可以使用形式语言中的语法定义机制例如,可以使用形式语言中的语法定义机制 描述数描述数 据条目的内容。原子语法
25、成据条目的内容。原子语法成 分则用简单明了的自然语言予以描述。分则用简单明了的自然语言予以描述。本讲稿第二十四页,共四十页数据字典举例数据字典举例家庭保安系统中的家庭保安系统中的“电话号码电话号码”数据条目可以定义如下:数据条目可以定义如下:电话号码分机号电话号码分机号|外线号码外线号码分机号分机号1816|1817|1858外线号码外线号码9+(市话号码(市话号码|长话号码)长话号码)长话号码长话号码0+(区号(区号+市话号码)市话号码)区号区号*任何长度为任何长度为3的数字串的数字串*市话号码局号市话号码局号+分局号分局号局号局号395|396|397|303|304|305分局号分局号*
26、任何长度为任何长度为4的数字串的数字串*本讲稿第二十五页,共四十页数据流图与数据字典数据流图与数据字典综上所述,综上所述,利用数据字典可以对数据流图中的数据流、数据源利用数据字典可以对数据流图中的数据流、数据源以及外部实体进行描述、组织和管理。以及外部实体进行描述、组织和管理。对于转换,也需要一种比图形记号更为详尽的表示机对于转换,也需要一种比图形记号更为详尽的表示机制,这就是结构化的文字描述。分析人员可以在数据制,这就是结构化的文字描述。分析人员可以在数据流图的任一转换上附加一段文字,用以说明转换的功流图的任一转换上附加一段文字,用以说明转换的功能、性能要求及设计约束等,这种说明应尽可能简洁
27、、能、性能要求及设计约束等,这种说明应尽可能简洁、清晰、易于理解。清晰、易于理解。本讲稿第二十六页,共四十页思考思考l某高校可用的电话号码有以下几类:校某高校可用的电话号码有以下几类:校内电话号码由内电话号码由4位数字组成,第位数字组成,第1位数字位数字不是不是0;校外电话又分为本市电话和外地;校外电话又分为本市电话和外地电话两类,拨校外电话先拨电话两类,拨校外电话先拨0,如果是本,如果是本地电话再接着拨地电话再接着拨8位电话号码(第位电话号码(第1位不位不是是0),如果是外地号码则先拨),如果是外地号码则先拨3位区码,位区码,再拨再拨8位电话号码(第位电话号码(第1位不是位不是0)。)。本讲
28、稿第二十七页,共四十页5.2 实体实体-关系图关系图在数据密集型应用问题中,对复杂数据及数据之间复在数据密集型应用问题中,对复杂数据及数据之间复杂关系的分析和建模将成为需求分析的重要任务。杂关系的分析和建模将成为需求分析的重要任务。实体实体-关系图关系图在数据流分析方法中适合于复杂在数据流分析方法中适合于复杂数据建模的工具。数据建模的工具。5.2.1 数据对象、属性与关系数据对象、属性与关系 数据对象:是现实世界中实体的数据表现;数据对象:是现实世界中实体的数据表现;是省略了功能和行为的实体。是省略了功能和行为的实体。数据源数据源;数据对象包括:数据对象包括:外部实体的数据部分外部实体的数据部
29、分;数据流的内容。数据流的内容。本讲稿第二十八页,共四十页5.2.1 数据对象、属性与关系数据对象、属性与关系数据对象由其属性刻画。通常属性包括:数据对象由其属性刻画。通常属性包括:1命名性属性:对数据对象的实例命名,其中必命名性属性:对数据对象的实例命名,其中必 含有一个或一组关键属性,以便含有一个或一组关键属性,以便 唯一地标识数据对象的实例。唯一地标识数据对象的实例。2描述性属性:对数据对象实例的性质进行刻画。描述性属性:对数据对象实例的性质进行刻画。3引用性属性:将自身与其他数据对象的实例关引用性属性:将自身与其他数据对象的实例关 联起来。联起来。一般而言,现实世界中任何给定实体都具有
30、许多属性,分一般而言,现实世界中任何给定实体都具有许多属性,分析人员应当并且只能考虑与应用问题有关的属性。例如,析人员应当并且只能考虑与应用问题有关的属性。例如,在汽车销售管理问题中,汽车的属性可能有:制造商、型在汽车销售管理问题中,汽车的属性可能有:制造商、型号、标识码、车体类型、颜色和买主。号、标识码、车体类型、颜色和买主。本讲稿第二十九页,共四十页5.2.1 数据对象、属性与关系数据对象、属性与关系应应用用问问题题中中的的任任何何数数据据对对象象都都不不是是孤孤立立的的,它它们们与其他数据对象一定存在各种形式的关联。与其他数据对象一定存在各种形式的关联。例例如如,在在汽汽车车销销售售管管
31、理理问问题题中中,“制制造造商商”与与“汽汽车车”之之间间存存在在“生生产产”关关系系,“购购车车者者”与与“汽车汽车”之间存在之间存在“购买购买”关系。关系。当当然然,关关系系的的命命名名及及内内涵涵因因具具体体问问题题而而异异。分分析析人员必须善于剔除与应用问题无关的关系。人员必须善于剔除与应用问题无关的关系。基于数据对象、属性与关系,分析人员可以为应用问基于数据对象、属性与关系,分析人员可以为应用问题建立数据模型。题建立数据模型。本讲稿第三十页,共四十页5.2.1 数据对象、属性与关系数据对象、属性与关系建立数据模型的规范化规则:确保一致性并消除冗余建立数据模型的规范化规则:确保一致性并
32、消除冗余 1数据对象的任何实例对每个属性必须有且仅有数据对象的任何实例对每个属性必须有且仅有 一个属性值。一个属性值。2属性是原子数据项,不能包含内部数据结构。属性是原子数据项,不能包含内部数据结构。3如果数据对象的关键属性多于一个,那么其他如果数据对象的关键属性多于一个,那么其他 的非关键属性必须表示整个数据对象而不是部的非关键属性必须表示整个数据对象而不是部 分关键属性的特征。分关键属性的特征。4所有的非关键属性必须表示整个对象而不是部所有的非关键属性必须表示整个对象而不是部 分属性的特征。分属性的特征。例例如如,在在“汽汽车车”数数据据对对象象中中增增加加“经经销销商商”属属性性并并将将
33、其其与与标标识识码码一一起起作作为为关关键键属属性性。如如再再添添加加“经经销销商商地地址址”属属性性就就违违背背了了规规则则3。因因其其仅仅仅是仅是“经销商经销商”的特征,它与汽车的的特征,它与汽车的“标识码标识码”无关。无关。例例如如,在在“汽汽车车”数数据据对对象象中中,增增加加“油油漆漆名名称称”属属性性,就就违违背背了了规规则则4,因为它仅仅与,因为它仅仅与“颜色颜色”有关,而不是整个有关,而不是整个“汽车汽车”的特征。的特征。本讲稿第三十一页,共四十页5.2.2 实体实体-关系图关系图实实体体-关关系系(Entity-Relation)图图简简称称E-R图图,是是表表示示数数据对象
34、及其之间关系的图形语言机制。据对象及其之间关系的图形语言机制。数数据据对对象象(实实体体)用用长长方方形形、关关系系用用菱菱形形、属属性性用用椭椭圆圆表表示示。数数据据对对象象之之间间数数量量上上的的对对应应关关系系的的表示如下图所示:表示如下图所示:0:1 1:1 0:多多 1:多多为了便于区分,在为了便于区分,在E-R模型中的实体、关系和属模型中的实体、关系和属 性都应在对应的框中写上各自的名字。性都应在对应的框中写上各自的名字。本讲稿第三十二页,共四十页5.2.2 实体实体-关系图关系图图图5-2-2 实体实体-关系图实例关系图实例制造商制造商生产生产经销商经销商汽车汽车经销经销存储存储
35、标识码标识码颜色颜色型号型号制造商制造商车体类型车体类型买主买主本讲稿第三十三页,共四十页例如,例如,在教学管理中,学校开设若干门课程,一个教师可在教学管理中,学校开设若干门课程,一个教师可以教授其中的一门或多门课程,每位学生也需要学习其中以教授其中的一门或多门课程,每位学生也需要学习其中的几门课程。因此,教学管理中涉及的对象(实体型)有的几门课程。因此,教学管理中涉及的对象(实体型)有学生、教师和课程。用学生、教师和课程。用E-RE-R图描述它们之间的联系,如图所图描述它们之间的联系,如图所示。其中,学生与课程是多对多的联系,而教师与课程的联示。其中,学生与课程是多对多的联系,而教师与课程的
36、联系是一对多。系是一对多。教学管理E-R图本讲稿第三十四页,共四十页下下面面用用图图所所示示的的教教学学管管理理的的例例子子说说明明如如何何进进行行规规范范化化。有有三三个个实实体体类类型型,即即:课课程程、学学生生和和教教师师,用用三个关系分别保存它们的有关信息:三个关系分别保存它们的有关信息:本讲稿第三十五页,共四十页思考思考l请为某仓库的管理设计一个请为某仓库的管理设计一个ER模型,模型,该仓库主要管理零件的订购和供应等该仓库主要管理零件的订购和供应等事项。仓库向过程项目供应零件,并事项。仓库向过程项目供应零件,并且根据需要向供货商订购零件。且根据需要向供货商订购零件。本讲稿第三十六页,
37、共四十页习题习题l银行计算机存储系统的工作过程大致如下银行计算机存储系统的工作过程大致如下:储户填写的储户填写的存款单或取款单由业务员键入系统存款单或取款单由业务员键入系统,如果是存款则系如果是存款则系统记录存款人姓名、住址(或电话号码)、身份统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;如及密码(可选)等信息,并印出存单给储户;如果是取款而且取款时留有密码,则系统首先核对果是取款而且取款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系储户密码,若密码正确
38、或存款时未留密码,则系统计算利息并印出利息清单给储户。统计算利息并印出利息清单给储户。l请用数据流图描绘本系统,并用实体请用数据流图描绘本系统,并用实体联系图描绘联系图描绘系统中的数据对象。系统中的数据对象。本讲稿第三十七页,共四十页储户储户记录存款记录存款信息信息打印存款打印存款存单存单核对密码核对密码计算计算利息利息打印利息打印利息清单清单储户储户存款利息存款利息存款存单存款存单存款利息存款利息 利息值利息值存款利息存款利息利利息息清清单单D1存款利息存款利息存款利息存款利息存款单存款单取款单取款单银行计算机存储系统的数据流图银行计算机存储系统的数据流图银行计算机存储系统的数据流图银行计算
39、机存储系统的数据流图本讲稿第三十八页,共四十页存取款存取款到期日期到期日期储户储户银行银行住址住址电话号码电话号码姓名姓名数额数额类型类型利率利率密码密码名称名称地址地址电话号码电话号码身份证号码身份证号码MN帐号帐号银行计算机存储系统银行计算机存储系统银行计算机存储系统银行计算机存储系统E-RE-R图图图图本讲稿第三十九页,共四十页l电话号码电话号码 校内电话号码校内电话号码|校外电话号码校外电话号码 l校内电话号码非校内电话号码非0 0数字数字 +3+3位数字位数字l校外电话号码校外电话号码 本市号码本市号码|外地号码外地号码 l本市号码本市号码0+80+8位数字位数字l外地号码外地号码0+30+3位数字位数字+8+8位数字位数字l非非0 0数字数字1|2|3|4|1|2|3|4|9|9 l3 3位数字位数字3 3数字数字3 3l8 8位数字非位数字非0 0数字数字 +7+7数字数字7 7l数字数字 0|1|2|3|4|5|6|7|8|9 0|1|2|3|4|5|6|7|8|9 本讲稿第四十页,共四十页
限制150内