《第5章(面向数据流的分析方法)》由会员分享,可在线阅读,更多相关《第5章(面向数据流的分析方法)(103页珍藏版)》请在金锄头文库上搜索。
1、本章内容组织导引(结构化分析方法) 5.1数据流图 5.2数据字典 5.3小说明 5.4实体-关系图第五章 面向数据流的分析方法安徽工程大学计算机与信息学院导引-结构化分析方法需求分析方法需求分析方法 一种建立需求模型的方法一种建立需求模型的方法一组建模的语言机制一组建模的语言机制一些规则和经验知识一些规则和经验知识l l常见的常见的 需求分析方法需求分析方法 1.1.面向对象的分析方法面向对象的分析方法 2.2.原型开发技术原型开发技术 3.3.结构化分析方法结构化分析方法安徽工程大学计算机与信息学院结构化分析l结构化分析(SA,Strutured Analysis )是由美国YOURDON
2、公司在70年代中 期提出。l是一种简单实用,使用很广的需求分 析方法。安徽工程大学计算机与信息学院SA法的基本思想l定义:结构化分析方法用抽象模型的 概念,按照软件内部数据传递和变换的 关系,自顶而下,逐步求精分解,直到 找到满足功能要求的所有可实现的软件 为止l结构化分析方法的本质是1)数据传递 和变换;2)自顶而下,逐步求精分解。安徽工程大学计算机与信息学院SA 的思想的实现-自顶向下、逐层分解安徽工程大学计算机与信息学院SA 的思想的实现-自顶向下、逐层分解l顶层抽象地描述了整个系统,l底层具体地画出了系统的每个细部,l而中间层则是从抽象到具体地逐步过渡。安徽工程大学计算机与信息学院SA
3、 的思想的实现-自顶向下、逐层分 解安徽工程大学计算机与信息学院SA的描述方式l尽量采用图形表示,易于理解。安徽工程大学计算机与信息学院SA的描述方式安徽工程大学计算机与信息学院5.1数据流图l数据流图的图形记号(数据流图的语言机制)l例子1l由外向内画数据流图应注意的问题l分层的数据流图l自顶而下画数据流图l例子2l数据流图的改进l补充安徽工程大学计算机与信息学院5.1数据流图(DFD) l数据流图 数据流是数据的流动 数据流图是刻画数据流和转换的信息系统建模技术, 也就是结构化的需求分析方法。l依据IPO模型,本质上讲,软件功能的作用就是转 换数据的格式,把一种数据格式转换为另外一种格 式
4、。l一个基于计算机的信息处理系统由数据流和一系列 的转换构成,这些转换将输入数据流转换为输出数 据流。l据此,把握了待开发问题的数据流的转换,就等于 把握了软件的功能需求。l数据流图建模的本质 1)数据传递和变换;2)自 顶而下,逐步求精分解。安徽工程大学计算机与信息学院数据流图的图形记号(1/6)外部实体转换数据的源点和终点,位于软件 系统边界之外的信息生产者或 消费者.变换数据的加工,转换数据的处理过程 ,又称泡(bubble)数据源又称数据存储(文件),为一 个和多个转换提供数据源或数据存储服务的 缓冲区、文件或数据库数据源必须理解 数据流图 的图形记 号数据流安徽工程大学计算机与信息学
5、院数据源点/终点外部实 体 并不需要在开发系统的过程中设计和实现,它并 不属于数据流通的核心内容,只不过是目标系统 的外围工作环境部分(人,设备)。通常数据源点/终点命名时采用它们在问题域中习 惯使用的名字。安徽工程大学计算机与信息学院数据流数据流由一组固定成分的数据组成在转换之间有向流动的数据 项或数据项集合。有单向数据流和双向数据流安徽工程大学计算机与信息学院数据流安徽工程大学计算机与信息学院数据流安徽工程大学计算机与信息学院加工转 换加工或者对数据进行的 操作,加工的命名问题( 什么样的操作) 加工并不一定是一个程序,一个处理框可以 代表一系列程序或者一个人工处理过程。安徽工程大学计算机
6、与信息学院文件数据源或 文件文件或数据源又称数据存储(文件),为一个和多 个转换提供数据源或数据存储服务的缓冲区 、文件或数据库安徽工程大学计算机与信息学院文件l文件和数据流都是数据,仅仅所 处的状态不同。文件是处于静止状 态的数据,数据流是处于运动状态 的数据安徽工程大学计算机与信息学院小结A安徽工程大学计算机与信息学院小结B安徽工程大学计算机与信息学院例子1l假设一家工厂的采购部每天需要一张定货 报表,报表按零件编号排序,表中列出所有 需要再次定货的零件。l对于每个需要再次定货的零件应该列出下 述数据:零件编号,零件名称,定货数量, 目前价格,主要供应者,次要供应者。l零件入库或出库称为事
7、务,通过放在仓库 中的CRT终端把事务报告给定货系统。当某 种零件的库存数量少于库存量临界值时就应 该再次定货。安徽工程大学计算机与信息学院例子1l分析第一步l可以从问题描述中提取数据流图的4 种成分: 首先考虑数据的源点和终点 ,从上面对系统的描述可以知道“采购 部每天需要一张定货报表”,“通过放在 仓库中的CRT终端把事务报告给定货系 统”,所以采购员是数据终点,而仓库 管理员是数据源点。安徽工程大学计算机与信息学院第一步分析结果l确定系统的源点和终点仓库管理员是数据源点采购员是数据终点l加工(处理)订货系统这一功能l数据流CRT终端把事务报告给定货系统系统要把定货报表送采购部安徽工程大学
8、计算机与信息学院定货系统的基本系统模型任何系统的基本模型都由若干个数据 源点/终点以及一个处理组成,这个处 理就代表了系统对数据加工变换的基本 功能。对于上述的定货系统可以画出下 面这样的基本系统模型。定货系统的基本系统模型仓库管理员采购员订货系统事务订货报表安徽工程大学计算机与信息学院分析1.从基本系统模型这样非常高的层次开始画数据流 图是一个好办法。在这个高层次的数据流图上是否 列出了所有给定的数据源点/终点是一目了然的,因 此它是很有价值的通信工具。 2.然而,上图太抽象了,从这张图上对定货系统所 能了解到的信息非常有限。 3.下一步应该把基本系统模型细化,描绘系统的主 要功能。仓库管理
9、员采购员订货系统事务订货报表安徽工程大学计算机与信息学院X13 21.11.21.41.3 2.12.21.1.11.1.22.1.32.1.2 2.1.12.2.22.2.32.2.1顶 层中 间 层底 层先全局后局部, 先整体后细节, 先抽象后具体.0图1图2图2.1图2.2图分层DFD 图1.1图安徽工程大学计算机与信息学院第二步分析考虑数据流和数据存储:系统把定货报表 送给采购部,因此定货报表是一个数据流; 事务需要从仓库送到系统中,显然事务是另 一个数据流。 产生报表和处理事务这两个处理在时间上 明显不匹配每当有一个事务发生时立即 处理它,然而每天只产生一次定货报表。 因此,用来产生
10、定货报表的数据必须存放 一段时间,也就是应该有一个数据存储。 l注意,并不是所有数据存储和数据流 都能直接从问题描述中提取出来安徽工程大学计算机与信息学院定货系统的功能级数据流图图中给处理和文件都加了编 号,这样做的目的是便于引 用和追踪。细化后的数据流图中增加了两 个文件: 1.处理事务需要“库存清单”数 据; 2.产生报表和处理事务在不同 时间,因此需要存储“定货信 息”。安徽工程大学计算机与信息学院第三步进一步细化l当发生一个事务时必须首先接收它;随后 按照事务的内容修改库存清单;最后如果更 新后的库存量少于库存量临界值时,则应该 再次定货,也就是需要处理定货信息.l因此,把“处理事务”
11、这个功能分解为下述3 个步骤,这在逻辑上是合理的:“接收事务” 、“更新库存清单”和“处理定货” 。安徽工程大学计算机与信息学院进一步分解后的数据流图把处理事务的功能进一步分解后的数据流 图 安徽工程大学计算机与信息学院由外向里画数据流图1安徽工程大学计算机与信息学院由外向里画数据流图2安徽工程大学计算机与信息学院由外向里画数据流图3安徽工程大学计算机与信息学院由外向里画数据流图3安徽工程大学计算机与信息学院由外向里画数据流图4安徽工程大学计算机与信息学院分层的数据流图安徽工程大学计算机与信息学院分层的数据流图安徽工程大学计算机与信息学院分层的数据流图l顶层图被称为下层图的“父图”,下图 为上
12、图的“子图”安徽工程大学计算机与信息学院由顶向下画数据流图安徽工程大学计算机与信息学院由顶向下画数据流图安徽工程大学计算机与信息学院由顶向下画数据流图安徽工程大学计算机与信息学院由顶向下画数据流图当文件作为某些加工之间的交界面时,文件必须画出来,一 旦文件作为数据流图中的一个独立成份画出来了,那么他同 其他成份之间的联系也应同时表达出来。安徽工程大学计算机与信息学院安徽工程大学计算机与信息学院安徽工程大学计算机与信息学院l例2 用数据流图的方法为下 系统建模医院病房监护系统安徽工程大学计算机与信息学院产生 病情报告监视病情更新病历安徽工程大学计算机与信息学院医院病房监护系统l病症监视器安置在每
13、个病床,将病人的组 合病症信号(例如由血压、脉搏、体温组成 )实时地传送到中央监护系统进行分析处理 。l在中心值班室里,值班护士使用中央监护 系统对病员的情况进行监控,监护系统实时 地将病人的病症信号与标准的病症信号进行 比较分析,当病症出现异常时,系统会立即 自动报警,并打印病情报告和更新病历。l同时,根据护士的要求随时打印病人的病 情报告,系统定期自动更新病历。 安徽工程大学计算机与信息学院医院病房监护系统系统功能要求l经过初步的需求分析,得到系统功能 要求: 1、监视病员的病症(血压、体温、 脉搏等)。 2、定时更新病历。 3、病员出现异常情况时报警。 4、随机地产生某一病员的病情报告
14、。安徽工程大学计算机与信息学院分析过程如下:第一步l源点来自病人本身或者护士;l终点是护士,因为一切报告和告警信 息应汇集到护士处;l加工(处理)是病房监视系统;l数据流包括病情信号,报告,告警信 息和要求报告;l数据存储是指病员病历安徽工程大学计算机与信息学院顶层:病员护士护士病员监护系统病员日志病症信号要求报告病症报告报警信息例2 医院病房监护系统顶层图安徽工程大学计算机与信息学院l第二步l对系统分析后,划分出l一个床边监视器实现本地监控;l在护士办公室实现中央监视;l病人病历的更新;l护士办公室提出报告。安徽工程大学计算机与信息学院第一层:病员护士护士中央监视病员日志病症信号要求报告病症
15、报告报警局部监视生成报告病员极限更新日志病员数据格式化 病员数据生理信号 极限值1324日志数据日志数据医院病房监护系统系统功能级DFD图安徽工程大学计算机与信息学院l1.加工“局部监视”用于监视病员的病症(血压、体温、脉搏等), 因此该加工一定有来自病员的输入数据流“病症信号” ,输入的病症信号是模拟信号,经过“局部监视”加工 后,转换为数字信号,因此该加工应该有数值型的 输出数据流“病员数据”l2.加工“中央监视”显然是系统中最重要的加工。它要接受来自局部 监视的病员数据,同时要将病员数据与标准的“病员 极限文件”中的“生理信号极限值”进行比较,一旦超 过,立即报警。为了定时更新病历,还需
16、要输出“格 式化病员数据”。安徽工程大学计算机与信息学院l3.加工“更新日志” 定时更新病历的功能就由加工“更新日志” 完成, 它接收由加工“中央监视”输出的已格 式化病员数据,对数据进行整理分类等加工 后写入“病员日志文件”(病历。l4.加工“生成报告”为了实现根据医生要求,随机地产生某一 病员的病情报告,需要从病员日志文件中提 取病员日志数据,由加工“生成报告”进行格 式转换,生成并打印输出“病症报告”安徽工程大学计算机与信息学院第二层:加工“中央监视”分解计算超过 极限值否病员数据超过极限值报警开解信号产生 报警信息病员极限格式化 病员数据体温血压、体温 脉搏生理信号 极限值时间脉搏血压日期时钟格式化 病员数据3.13.23.33.4医院病房监护系统二层DFD图安徽工程大学计算机与信息学院第三步 进一步分解l将中央监视系统划分为四个处理部分 :l分解病员信号;l检查是否超出界限;l产生告警信息;l整理病员数据安徽工程大学计算机与信息学院计算超过 极限值否病员数据超过极限值报警开解信号产生 报警信息病员极限格式化 病员