第5章 面向数据流的分析方法课件_第1页
第5章 面向数据流的分析方法课件_第2页
第5章 面向数据流的分析方法课件_第3页
第5章 面向数据流的分析方法课件_第4页
第5章 面向数据流的分析方法课件_第5页
已阅读5页,还剩99页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本章内容组织导引(结构化分析方法)5.1数据流图5.2数据字典5.3小说明5.4实体-关系图第五章面向数据流的分析方法第5章面向数据流的分析方法导引--结构化分析方法需求分析方法一种建立需求模型的方法一组建模的语言机制一些规则和经验知识常见的需求分析方法1.面向对象的分析方法2.原型开发技术3.结构化分析方法第5章面向数据流的分析方法结构化分析结构化分析(SA,StruturedAnalysis)是由美国YOURDON公司在70年代中期提出。是一种简单实用,使用很广的需求分析方法。第5章面向数据流的分析方法SA法的基本思想定义:结构化分析方法用抽象模型的概念,按照软件内部数据传递和变换的关系,自顶而下,逐步求精分解,直到找到满足功能要求的所有可实现的软件为止结构化分析方法的本质是1)数据传递和变换;2)自顶而下,逐步求精分解。第5章面向数据流的分析方法SA的思想的实现-自顶向下、逐层分解第5章面向数据流的分析方法SA的思想的实现-自顶向下、逐层分解顶层抽象地描述了整个系统,底层具体地画出了系统的每个细部,而中间层则是从抽象到具体地逐步过渡。第5章面向数据流的分析方法SA的思想的实现-自顶向下、逐层分解第5章面向数据流的分析方法SA的描述方式尽量采用图形表示,易于理解。第5章面向数据流的分析方法SA的描述方式第5章面向数据流的分析方法5.1数据流图数据流图的图形记号(数据流图的语言机制)例子1由外向内画数据流图应注意的问题分层的数据流图自顶而下画数据流图例子2数据流图的改进补充第5章面向数据流的分析方法5.1数据流图(DFD)

数据流图数据流是数据的流动数据流图是刻画数据流和转换的信息系统建模技术,也就是结构化的需求分析方法。依据IPO模型,本质上讲,软件功能的作用就是转换数据的格式,把一种数据格式转换为另外一种格式。一个基于计算机的信息处理系统由数据流和一系列的转换构成,这些转换将输入数据流转换为输出数据流。据此,把握了待开发问题的数据流的转换,就等于把握了软件的功能需求。数据流图建模的本质1)数据传递和变换;2)自顶而下,逐步求精分解。第5章面向数据流的分析方法数据流图的图形记号(1/6)外部实体转换数据的源点和终点,位于软件系统边界之外的信息生产者或消费者.变换数据的加工,转换数据的处理过程,又称泡(bubble)数据源又称数据存储(文件),为一个和多个转换提供数据源或数据存储服务的缓冲区、文件或数据库数据源必须理解数据流图的图形记号数据流第5章面向数据流的分析方法数据源点/终点外部实体并不需要在开发系统的过程中设计和实现,它并不属于数据流通的核心内容,只不过是目标系统的外围工作环境部分(人,设备)。通常数据源点/终点命名时采用它们在问题域中习惯使用的名字。第5章面向数据流的分析方法数据流数据流由一组固定成分的数据组成在转换之间有向流动的数据项或数据项集合。有单向数据流和双向数据流第5章面向数据流的分析方法数据流第5章面向数据流的分析方法数据流第5章面向数据流的分析方法加工转换加工或者对数据进行的操作,加工的命名问题(什么样的操作)加工并不一定是一个程序,一个处理框可以代表一系列程序或者一个人工处理过程。第5章面向数据流的分析方法文件数据源或

文件

文件或数据源又称数据存储(文件),为一个和多个转换提供数据源或数据存储服务的缓冲区、文件或数据库第5章面向数据流的分析方法文件文件和数据流都是数据,仅仅所处的状态不同。文件是处于静止状态的数据,数据流是处于运动状态的数据第5章面向数据流的分析方法小结A第5章面向数据流的分析方法小结B第5章面向数据流的分析方法例子1假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。第5章面向数据流的分析方法例子1分析第一步可以从问题描述中提取数据流图的4种成分:首先考虑数据的源点和终点,从上面对系统的描述可以知道“采购部每天需要一张定货报表”,“通过放在仓库中的CRT终端把事务报告给定货系统”,所以采购员是数据终点,而仓库管理员是数据源点。第5章面向数据流的分析方法第一步分析结果确定系统的源点和终点

仓库管理员是数据源点采购员是数据终点加工(处理)订货系统这一功能数据流

CRT终端把事务报告给定货系统系统要把定货报表送采购部第5章面向数据流的分析方法定货系统的基本系统模型任何系统的基本模型都由若干个数据源点/终点以及一个处理组成,这个处理就代表了系统对数据加工变换的基本功能。对于上述的定货系统可以画出下面这样的基本系统模型。定货系统的基本系统模型仓库管理员采购员订货系统事务订货报表第5章面向数据流的分析方法分析1.从基本系统模型这样非常高的层次开始画数据流图是一个好办法。在这个高层次的数据流图上是否列出了所有给定的数据源点/终点是一目了然的,因此它是很有价值的通信工具。2.然而,上图太抽象了,从这张图上对定货系统所能了解到的信息非常有限。3.下一步应该把基本系统模型细化,描绘系统的主要功能。

仓库管理员采购员订货系统事务订货报表第5章面向数据流的分析方法X1321.11.21.41.32.12.21.1.11.1.22.1.32.1.22.1.12.2.22.2.32.2.1顶层中间层底层先全局后局部,先整体后细节,先抽象后具体.0图1图2图2.1图2.2图分层DFD图1.1图第5章面向数据流的分析方法第二步分析考虑数据流和数据存储:系统把定货报表送给采购部,因此定货报表是一个数据流;事务需要从仓库送到系统中,显然事务是另一个数据流。产生报表和处理事务这两个处理在时间上明显不匹配——每当有一个事务发生时立即处理它,然而每天只产生一次定货报表。因此,用来产生定货报表的数据必须存放一段时间,也就是应该有一个数据存储。注意,并不是所有数据存储和数据流都能直接从问题描述中提取出来第5章面向数据流的分析方法定货系统的功能级数据流图

图中给处理和文件都加了编号,这样做的目的是便于引用和追踪。细化后的数据流图中增加了两个文件:1.处理事务需要“库存清单”数据;2.产生报表和处理事务在不同时间,因此需要存储“定货信息”。第5章面向数据流的分析方法第三步进一步细化当发生一个事务时必须首先接收它;随后按照事务的内容修改库存清单;最后如果更新后的库存量少于库存量临界值时,则应该再次定货,也就是需要处理定货信息.因此,把“处理事务”这个功能分解为下述3个步骤,这在逻辑上是合理的:“接收事务”、“更新库存清单”和“处理定货”。第5章面向数据流的分析方法进一步分解后的数据流图把处理事务的功能进一步分解后的数据流图第5章面向数据流的分析方法由外向里画数据流图1第5章面向数据流的分析方法由外向里画数据流图2第5章面向数据流的分析方法由外向里画数据流图3第5章面向数据流的分析方法由外向里画数据流图3第5章面向数据流的分析方法由外向里画数据流图4第5章面向数据流的分析方法分层的数据流图第5章面向数据流的分析方法分层的数据流图第5章面向数据流的分析方法分层的数据流图顶层图被称为下层图的“父图”,下图为上图的“子图”第5章面向数据流的分析方法由顶向下画数据流图第5章面向数据流的分析方法由顶向下画数据流图第5章面向数据流的分析方法由顶向下画数据流图第5章面向数据流的分析方法由顶向下画数据流图当文件作为某些加工之间的交界面时,文件必须画出来,一旦文件作为数据流图中的一个独立成份画出来了,那么他同其他成份之间的联系也应同时表达出来。第5章面向数据流的分析方法第5章面向数据流的分析方法第5章面向数据流的分析方法例2用数据流图的方法为下系统建模

医院病房监护系统第5章面向数据流的分析方法产生病情报告监视病情更新病历第5章面向数据流的分析方法医院病房监护系统病症监视器安置在每个病床,将病人的组合病症信号(例如由血压、脉搏、体温组成)实时地传送到中央监护系统进行分析处理。在中心值班室里,值班护士使用中央监护系统对病员的情况进行监控,监护系统实时地将病人的病症信号与标准的病症信号进行比较分析,当病症出现异常时,系统会立即自动报警,并打印病情报告和更新病历。同时,根据护士的要求随时打印病人的病情报告,系统定期自动更新病历。第5章面向数据流的分析方法医院病房监护系统系统功能要求经过初步的需求分析,得到系统功能要求:1、监视病员的病症(血压、体温、脉搏等)。2、定时更新病历。3、病员出现异常情况时报警。4、随机地产生某一病员的病情报告。第5章面向数据流的分析方法分析过程如下:第一步源点来自病人本身或者护士;终点是护士,因为一切报告和告警信息应汇集到护士处;加工(处理)是病房监视系统;数据流包括病情信号,报告,告警信息和要求报告;数据存储是指病员病历第5章面向数据流的分析方法顶层:病员护士护士病员监护系统病员日志病症信号要求报告病症报告报警信息例2医院病房监护系统顶层图第5章面向数据流的分析方法第二步对系统分析后,划分出一个床边监视器实现本地监控;在护士办公室实现中央监视;病人病历的更新;护士办公室提出报告。第5章面向数据流的分析方法第一层:病员护士护士中央监视病员日志病症信号要求报告病症报告报警局部监视生成报告病员极限更新日志病员数据格式化病员数据生理信号极限值1324日志数据日志数据医院病房监护系统系统功能级DFD图第5章面向数据流的分析方法1.加工“局部监视”用于监视病员的病症(血压、体温、脉搏等),因此该加工一定有来自病员的输入数据流“病症信号”,输入的病症信号是模拟信号,经过“局部监视”加工后,转换为数字信号,因此该加工应该有数值型的输出数据流“病员数据”2.加工“中央监视”显然是系统中最重要的加工。它要接受来自局部监视的病员数据,同时要将病员数据与标准的“病员极限文件”中的“生理信号极限值”进行比较,一旦超过,立即报警。为了定时更新病历,还需要输出“格式化病员数据”。第5章面向数据流的分析方法3.加工“更新日志”定时更新病历的功能就由加工“更新日志”完成,它接收由加工“中央监视”输出的已格式化病员数据,对数据进行整理分类等加工后写入“病员日志文件”(病历。4.加工“生成报告”为了实现根据医生要求,随机地产生某一病员的病情报告,需要从病员日志文件中提取病员日志数据,由加工“生成报告”进行格式转换,生成并打印输出“病症报告”第5章面向数据流的分析方法第二层:加工“中央监视”分解计算超过极限值否病员数据超过极限值报警开解信号产生报警信息病员极限格式化病员数据体温血压、体温脉搏生理信号极限值时间脉搏血压日期时钟格式化病员数据3.13.23.33.4医院病房监护系统二层DFD图第5章面向数据流的分析方法第三步进一步分解将中央监视系统划分为四个处理部分:分解病员信号;检查是否超出界限;产生告警信息;整理病员数据第5章面向数据流的分析方法计算超过极限值否病员数据超过极限值报警开解信号产生报警信息病员极限格式化病员数据体温血压、体温、脉搏生理信号极限值时间脉搏血压日期时钟格式化病员数据3.13.23.33.4第二层:加工“中央监视”分解图2..15第一层格式化病员数据生理信号极限值病员护士护士中央监视病员日志病症信号要求报告病症报告报警局部监视生成报告病员极限更新日志病员数据1324日志数据图2..16医院病房监护系统分层DFD图第5章面向数据流的分析方法数据流图的改进(1/4)第5章面向数据流的分析方法数据流图的改进(2/4)第5章面向数据流的分析方法数据流图的改进(3/4)第5章面向数据流的分析方法数据流图的改进(4/4)第5章面向数据流的分析方法5.2数据字典5.2.1数据字典和数据流图5.2.2数据字典条目的类型5.2.3.数据字典的实现5.3.4用形式语言定义数据5.3.5小说明-加工的描述第5章面向数据流的分析方法5.2.1数据字典和数据流图元数据第5章面向数据流的分析方法5.2.2数据字典条目的类型(1/8)第5章面向数据流的分析方法(2/8)第5章面向数据流的分析方法(3/8)文件是用来存储数据的,每个文件都有一个名字。(文件都是通过名字来访问的)第5章面向数据流的分析方法(4/8)数据单项是指不可再分解的数据项。数据元素,即数据流及文件的组成成分第5章面向数据流的分析方法(5/8)基本加工是加工的分量,是数据流图中不可再分解的加工。有小说明和相应的描述构成。基本加工=小说明+相应的描述小说明的描述方法有:结构化自然语言,判定表,判定树第5章面向数据流的分析方法(6/8)第5章面向数据流的分析方法(7/8)第5章面向数据流的分析方法(8/8)第5章面向数据流的分析方法5.2.3.数据字典的实现(1/4)实现数据字典的方法有三种:全人工过程、全自动过程、混合过程。无论用那种方法实现,数据字典应具有以下特点:(1)通过名字能方便地查阅数据定义(2)没有冗余(3)尽量不重复在规格说明的其他组成部分中已出现的信息(4)容易修改和更新(5)能单独处理描述每个数据元素的信息(6)定义的书写方法简便而严格第5章面向数据流的分析方法5.2.3..数据字典的实现(2/4)第5章面向数据流的分析方法卡片-订货报表(3/4)文件名字:订货报表别名:订货信息描述:每天一次送给采购员的需要订货的零件表定义:订货报表=零件编号+零件名称+订货数量+目前价格+主要供应者+次要供应者位置:输出到打印机第5章面向数据流的分析方法卡片-零件编号(4/4)数据项名字:零件编号别名:描述:唯一的标识库存清单中一个特定的零件的关键域定义:零件编号=8{字符}8位置:订货报表 订货信息 库存清单事务第5章面向数据流的分析方法5.3.4用形式语言定义数据(1/5)定义数据的方法VS定义加工的方法1.形式语言的语法机制描述数据条目2.基本加工=小说明+相应的描述小说明的描述方法有:结构化自然语言,判定表,判定树第5章面向数据流的分析方法采用形式语言定义数据的方法(2/5)数据字典中所有的定义都应是严密的、精确的,不可有半点含混,不可有二义性,必须遵循精确、简洁的原则,并能为用户方和开发方共同理解。虽然可以使用自然语言描述由数据元素组成数据的关系,但是为了更加清晰简洁建议采用形式语言的语法机制描述数据条目的内容第5章面向数据流的分析方法形式语言的语法机制描述数据条目(3/5)在定义数据流或文件时,使用下表给出的符号。将这些条目按照一定的规则组织起来,构成数据词典第5章面向数据流的分析方法再看一例(4/5)航班信息文件={航空公司名称+航班号+起点+终点+日期+起飞时间+降落时间}航空公司名称=2{字母}4

航班号=3{十进制数字}3

字母=“A”…“Z”十进制数字=“0”…“9”起点=终点=1{汉字}10

起飞时间=降落时间=时+分第5章面向数据流的分析方法

时=“00”…“23”

分=“00”…“59”

日期=年+月+日年=[2000|2001|2002|2004]

月=“01”…“12”

日=“01”…“31”定义数据的方法(5/5)第5章面向数据流的分析方法5.3.5小说明-加工的描述加工的描述第5章面向数据流的分析方法5.3.4小说明-加工的描述例如有一个加工为统计房产的功能可写为:——————————————————加工编号:3.4加工名:统计房产加工逻辑:读房产文件,按面积分类,统计已分和未分配的住房数,输出统计表有关信息:有统计要求时执行此加工——————————————————第5章面向数据流的分析方法5.3小说明-加工的描述第5章面向数据流的分析方法5.3小说明-加工的描述第5章面向数据流的分析方法结构化语言小说明的形式如下1.加工编号:在数据流图中某个加工的编号(圆中的编号)2.加工名:在数据流图中某个加工的名字(圆中的名字)3.加工逻辑:此加工中实行的操作(接受事务-〉打开文件,读取数据更新库存-〉打开数据库,找到数据项,更新,关闭数据库)4.有关信息:执行此加工的条件(使得加工得到执行的条件)第5章面向数据流的分析方法5.4实体—关系图(E-R图)需求分析的重要任务是,对复杂的数据及数据关系进行分析、建模(数据密集型)。实体—关系图是数据模型的基础,它描述数据对象、属性、及其关系。

第五章面向数据流的分析方法第5章面向数据流的分析方法5.4.1数据对象、属性与关系数据对象数据属性数据关系数据对象、属性与关系5.2实体-关系图第5章面向数据流的分析方法1数据对象数据对象现实世界具有不同特征和属性的实体或事务的标识,计算机软件描述并处理的一组信息。如,事件、行为、角色、组织、地点、结构等。数据对象只封装数据,包括:数据流、数据源、外部实体的数据部分,不封装操作。数据对象是相互关联的。5.2实体-关系图第5章面向数据流的分析方法2数据对象的属性属性用“标识符、符号串和值”标识,描述数据对象的性质。包括:(1)命名标识数据对象(2)描述描述数据对象的性质(3)引用建立数据对象之间的联系数据对象的属性是原子数据项,不包含内部数据结构。数据对象的任何属性有且仅有一个属性值。现实世界的实体具有许多属性,分析人员只能考虑与应用问题有关的属性。5.2实体-关系图第5章面向数据流的分析方法数据对象描述例汽车销售管理问题的数据对象描述表.

汽车属性制造商型号标识码车体类型颜色买主

5.2实体-关系图第5章面向数据流的分析方法3数据对象的关系关系数据对象按照某种关系相互连接用对象-关系偶描述数据对象关系的命名及内涵应反映描述的问题删除与问题无关的关系5.2实体-关系图第5章面向数据流的分析方法4数据对象、属性与关系数据对象、属性和关系问题的数据对象与其它数据对象存在各种形式的关联。数据模型研究,数据对象、数据对象的属性、数据对象之间的关系。基于数据的对象、属性与关系构成应用问题数据模型的基本要素。5.2实体-关系图第5章面向数据流的分析方法

数据对象、属性与关系例汽车销售问题的数据对象、属性与关系

数据对象数据对象关系制造商汽车生产购车用户汽车购买5.2实体-关系图第5章面向数据流的分析方法5.4.2实体—关系图数据对象的描述用基数和形态两个参数实体—关系图描述系统所有数据对象的组成和属性,描述数据对象之间关系的图形语言。5.2实体-关系图第5章面向数据流的分析方法1数据对象的基数和形态

基数cardinality

一对象与另一对象关联个数的度量。取值“一对一”(1:1)一个对象A关联一个对象B,反之,一个对象B关联一个对象A。如,夫妻。“一对多”(1:N)一个对象A关联多个对象B,反之,一个对象B关联一个对象A。如,父子。“多对多”(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论