第4章 42 需求分析-数据流图_第1页
第4章 42 需求分析-数据流图_第2页
第4章 42 需求分析-数据流图_第3页
第4章 42 需求分析-数据流图_第4页
第4章 42 需求分析-数据流图_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

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

文档简介

掌握数据流图的画法2②研究目前的系统①项目目标和规模③形成高层逻辑模型④

重新定义问题③形成高层逻辑模型系统流程图数据流图数据字典可行性研究的步骤③形成高层逻辑模型系统流程图:概括描绘数据在系统各部件间流动情况。数据流图数据字典3数据流图

DataFlowDiagram

----DFD数据流图的概念描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。数据流程图是指从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。4系统流程图VS系统数据流图系统流程图是对未来构建的信息处理系统的一种描述。这种描述是相对简单且完全的,涉及到未来系统中使用的处理部件,如磁盘,显示器,用户输入以及处理过程的先后顺序表示等。数据流程图是对实际构建的系统分析综合后,提取逻辑模型的一个过程,它更关注于过程内数据的处理,而把具体处理数据的物理过程,物理分布忽略。系统流程图就是表示整个系统处理事物的基本过程;数据流图是描述各个子块之间如何进行数据传递:

5数据流图特点它是逻辑系统的图形表示,容易理解,是极好的通信工具,设计数据流图只需考虑系统必须完成的基本逻辑功能,不需要考虑如何实现这些功能,是软件设计很好的出发点。6数据流图用途

1、画数据流图的基本目的是利用它作为交流信息的工具。分析员把他对现有系统的认识或对目标系统的设想用数据流图描绘出来,供有关人员审查确认。绝大多数用户都可以理解和评价它。7

2、数据流图的另一个主要用途是作为分析和设计的工具。着重描绘系统所完成的功能而不是系统的物理实现方案。8DFD的基本符号数据流图有四种基本符号数据流数据加工(数据变换)或数据源点或终点(外部实体)或数据存储文件或9数据源点或终点表示图中要处理数据的输入来源或处理结果要送往何处。在图中的出现仅仅是一个符号,并不需要以软件的形式进行设计和实现,因而,它只是数据流图的外围环境中的实体,故称外部实体。在实际问题中,它可能是人员、计算机外设、测量仪器等。数据流图中要注明源点或终点的名字。数据源点或终点(外部实体)或管理员10加工是以数据结构或数据内容作为加工对象。加工的名字通常是一个动词短语,简明扼要第表明完成的是什么加工。数据流程图中要注明加工编号、名字。数据加工(数据变换)或2接收事务加工编号加工名字11数据存储文件在数据流图中起保存数据的作用,因而称为数据存储文件。它可以是数据库文件或任何形式的数据组织。指向文件的数据流可理解为写入文件或查询文件,从文件中引出的数据流可理解为从文件读取数据或得到查询结果。在数据流图中必须加

命名,用名词或名词性短语命名。数据存储文件或Ⅱxxx文件编号文件名字12数据流是沿箭头方向传送数据的通道,指被加工的数据与流向。数据流大多是在加工之间传输加工数据的命名通道。也有连接数据存储文件和加工的没有命名的数据通道。数据流XXXXB数据流名字数据流编号13DFD几种附加符号附加符号:*(星号)数据流之间是“与”关系同时存在)+(加号)数据流之间是“或”关系。⊕数据流之间是只能从中选一个互斥的关系)1415分层的DFD为表达数据处理过程的数据加工情况,采用层次结构的数据流图。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统。16DFD的画法(1)

基本步骤:自外向内,自顶向下,逐层细化,完善求精。具体步骤:画顶层数据流图顶层流图仅包含一个加工,它代表被开发系统。它的输入流是该系统输入数据,输出流是系统输出数据。17DFD的画法(2)画中间层流图中间层流图表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。画底层流图是底层流图指其加工不需再做分解的数据流图,它处在最底层。18顶层中间层底层19

例:一工厂通过放在仓库中的CRT终端把事务报告给定货系统(零件入库或出库被称为事务)。

仓库现有的各零件的数量以及每种零件库存量临界值等数据记录在库存清单主文件中。当仓库中零件数量有变化时,应该及时修改库存清单主文件,如果哪种零件的库存量少于它的库存量临界值,则把必要的定货信息写在磁带上报告给采购部门以便定货。规定每天向采购部送一次定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个再次定货零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。20定货系统的顶层DFD(1)1、先画顶层数据流图,既只包含一个处理的图。先画数据源点与终点(系统的输入输出);数据源点:对系统的描述可以知道“通过放在仓库中的PC机把事务报告给定货系统”所以仓库管理员是数据源点。21定货系统的顶层DFD(2)

数据终点:

“规定每天向采购部门送一次定货报告”所以采购员是数据终点。数据源点或终点(外部实体)或仓库管理员采购员数据源点数据终点22定货系统的顶层DFD(3)然后画出数据的处理

“采购部每天需要一张定货报表”显然他们还没有这种报表,因此必须有一个用于产生订货报表的处理。数据加工(数据变换)或仓库管理员采购员数据源点数据终点数据处理订货系统23

最后画出数据流和数据存储:分析得知事务需要从仓库送到系统中事务是一个数据流。系统把定货报表送给采购部,因此定货报表是另一个数据流;

定货系统的顶层DFD(4)24定货系统的顶层DFD(5)仓库管理员采购员数据源点数据终点数据处理数据流事务订货报表订货系统完成第一步顶层数据流图25细化定货系统的DFD(1)2、细化数据流程图问题:顶层数据流图对定货系统所能了解到的信息非常有限。解决办法:把基本系统模型细化,描绘系统的主要功能。仓库管理员采购员事务订货报表订货系统26细化定货系统的DFD(2)“处理事务和”“产生报表”是系统必须完成的两个主要功能。“处理事务和”“产生报表”代替图中的“订货系统”。仓库管理员采购员事务订货报表订货系统27细化定货系统的DFD(3)仓库管理员采购员事务订货报表订货系统2接收事务加工编号加工名字处理事务1产生报表2替代事务订货报表28细化定货系统的DFD(4)考虑是否需要数据存储?29

例:一工厂通过放在仓库中的CRT终端把事务报告给定货系统(零件入库或出库被称为事务)。

仓库现有的各零件的数量以及每种零件库存量临界值等数据记录在库存清单主文件中。当仓库中零件数量有变化时,应该及时修改库存清单主文件,如果哪种零件的库存量少于它的库存量临界值,则把必要的定货信息写在磁带上报告给采购部门以便定货。规定每天向采购部送一次定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个再次定货零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。30细化定货系统的DFD(5)考虑是否需要数据存储?答:处理事务时需要两个数据存储:

库存清单、订货信息仓库管理员采购员处理事务1产生报表2事务订货报表31细化定货系统的DFD(6)Ⅱxxx文件编号文件名字D1库存清单D2定货信息仓库管理员采购员处理事务1产生报表2事务订货报表XXXXB数据流名字数据流编号库存清单定货信息定货信息32细化定货系统主要功能的DFD(1)3、系统主要功能进一步细化系统都具备哪些功能?33D1库存清单D2定货信息仓库管理员采购员处理事务1产生报表2事务订货报表库存清单定货信息定货信息细化定货系统主要功能的DFD(2)34细化定货系统主要功能的DFD(3)3、分析系统“处理事务”主要功能的逻辑数据流:当发生一个事务时必须首先接收它;随后按照事务的内容修改库存清单;最后如果更新后的库存量少于库存量临界值时,则应该再次定货,也就是需要处理定货信息。因此,把“处理事务”这个功能分解为下述3个步骤,这在逻辑上是合理的:“接收事务”、“更新库存清单”和“处理定货”

。35细化定货系统主要功能的DFD(4)D1库存清单D2定货信息仓库管理员采购员处理事务1产生报表2事务订货报表库存清单定货信息定货信息1.11.21.3替代接收事务更新库存清单处理定货++36细化定货系统主要功能的DFD(5)仓库管理员处理事务1事务D1库存清单库存清单D2定货信息采购员产生报表2订货报表定货信息定货信息1.1接收事务1.2更新库存清单1.3处理定货事务库存信息细化主要功能37细化定货系统主要功能的DFD(6)分解“产生报表”这个功能订货报表中需要的数据在存储的订货信息中。产生报表只是按顺序排列这些信息,再按一定格式打印出来。然而这些考虑纯属具体实现的细节,不应在数据流图中表现。同样道理,对“接收事物”或“更新库存清单”等功能叶没必要进一步细化。总结:当进一步分解将涉及如何具体实现一个功能是,就停止分解。38画DFD的原则(注意事项1)1、数据流图上所有图形符号只限于前述四种基本图形元素。

2、每个处理至少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与结果。

3、图上每个元素都必须有名字。

4、画数据流不是画控制流,只反映系统“做什么”,不反映“如何做”。39画DFD的原则(注意事项2)

5、编号:需按层给处理框编号。编号表明该处理处在哪一层以及上下图父图与子图的关系。40画DFD的原则(注意事项3)

6、父图与子图的平衡。子图的输入输出数据流同父图相应处理的输入输出必须一致。

父图输入是订货单,子图不是,看似不平衡,查数据词典得知,订货单由客户、帐号、数据三个元素组成,所以父、子图还是平衡的。41画DFD的原则(注意事项4)7、存储:一个局部存储只要当它作为某些处理的数据接口或某个处理特定的输入输出时,就要把它画出来,有助于实现信息的隐蔽。42画DFD的原则(注意事项4)8、提高数据流图的易理解性。(1)注意合理分解;(2)分解时注意字处理的独立性与均匀性;(3)分层清楚,不要在一张图上有些是基本处理,有些处理还要分解好几层。43DFD的命名数据流图中每个成分的命名是否恰当,直接影响数据流图的可理解性。因此给这些成分起名字时应该仔细推敲。44命名时应注意的问题:数据源点/终点命名并不需要在开发目标系统的过程中设计和实现,它并不属于数据流图的核心内容,只不过是目标系统的外围环境部分(可能是人员、计算机外部设备或传感器装置)。通常,为数据源点/终点命名时采用它们在问题域中习惯使用的名字(如“采购员”、“仓库管理员”等)。45为处理命名通常先为数据流命名,然后再为与之相关联的处理命名。这样命名比较容易,体现了人类习惯的“由表及里”的思考过程。名字应该反映整个处理的功能,而不是它的一部分功能。名字最好由一个具体的及物动词加上一个具体的宾语组成。应该尽量避免使用“加工”、“处理”等空洞笼统的动词作名字。通常名字中仅包括一个动词,如果必须用两个动词才能描述整个处理的功能,则把这个处理再分解成两个处理可能更恰当些。

如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的迹象,应考虑重新分解。46为数据流(或数据存储)命名名字应代表整个数据流(或数据存储)的内容,而不是仅仅反映它的某些成分。不要使用空洞的、缺乏具体含义的名字(如“数据”、“信息”、“输入”之类)。数据流只反映系统“做什么”,不反映“如何做”,名字只能是名词或名词短语。如果在为某个数据流(或数据存储)起名字时遇到了困难,则很可能是因为对数据流图分解不恰当造成的,应该试试重新分解,看是否能克服这个困难。47练习——请画出DFD

大连航空公司为给旅客乘机提供方便,需要开发一个旅行社机票预订系统。各个旅行社把预订机票信息输入到系统中,系统为旅客安排航班。当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单交款取票,系统核对无误即打印出机票给旅客。48DFD顶层图旅客旅客数据流数据终点数据加工信息票飞机预定票系统数据源点顶层DFD:49第一层DFD分析过程处理信息1生成机票2替代旅客旅客信息票飞机预定票系统飞机预定票系统50第一层DFD分析过程处理信息1生成机票2旅客旅客信息票飞机预定票系统51处理信息1生成机票2旅客旅客信息票处理信息1第一层DFD分析过程52

大连航空公司为给旅客乘机提供方便,需要开发一个旅行社机票预订系统。各个旅行社把预订机票信息输入到系统中,系统为旅客安排航班。当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单交款取票,系统核对无误即打印出机票给旅客。53第一层DFD分析过程处理信息1生成机票2旅客旅客信息票D1预订机票信息D2航班安排预订票信息航班安排54

大连航空公司为给旅客乘机提供方便,需要开发一个旅行社机票预订系统。各个旅行社把预订机票信息输入到系统中,系统为旅客安排航班。当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单交款取票,系统核对无误即打印出机票给旅客。55第一层DFD分析过程处理信息1生成机票2旅客旅客信息票D1预订机票信息D2航班安排D3交订金信息D4取票通知和帐单预订票信息航班安排交订金信息取票通知和帐单56

大连航空公司为给旅客乘机提供方便,需要开发一个旅行社机票预订系统。各个旅行社把预订机票信息输入到系统中,系统为旅客安排航班。当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单交款取票,系统核对无误即打印出机票给旅客。57第一层DFD分析过程处理信息1生成机票2旅客旅客信息票D1预订机票信息D2航班安排D3交订金信息D4取票通知和帐单D5交余款信息预订票信息航班安排交订金信息取票通知和帐单交余款信息58

大连航空公司为给旅客乘机提供方便,需要开发一个旅行社机票预订系统。各个旅行社把预订机票信息输入到系统中,系统为旅客安排航班。当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单交款取票,系统核对无误即打印出机票给旅客。59DFD第一层图处理信息1生成机票2旅客旅客信息票D1预订机票信息D2航班安排D3交订金信息D4取票通知和帐单D5交余款信息预订票信息航班安排交订金信息取票通知和帐单交余款信息第一层DFD:交余款信息60替代1.1接收信息第二层DFD分析过程处理信息1生成机票2旅客旅客信息票预订票信息航班安排交订金信息取票通知和帐单交余款信息交余款信息1.2处理预定票信息D1预订机票信息D2航班安排1.3安排航班D3交订金信息1.4处理订金信息D4取票通知和帐单1.5生成取票通知账单D5交余款信息1.6处理余款信息处理信息1611.1接收信息第二层DFD分析过程生成机票2旅客旅客信息票预订票信息航班安排交订金信息取票通知和帐单交余款信息交余款信息1.2处理预定票信息D1预订机票信息D2航班安排1.3安排航班D3交订金信息1.4处理订金信息D4取票通知和帐单1.5生成取票通知账单D5交余款信息1.6处理余款信息621.1接收信息第二层DFD分析过程旅客预订票信息航班安排交订金信息取票通知和帐单交余款信息交余款信息1.2处理预定票信息D1预订机票信息D2航班安排1.3安排航班D3交订金信息1.4处理订金信息D4取票通知和帐单1.5生成取票通知账单D5交余款信息1.6处理余款信息信息631.1接收信息第二层DFD分析过程旅客信预订票信息航班安排交订金信息取票通知和帐单交余款信息交余款信息1.2处理预定票信息D1预订机票信息D2航班安排1.3安排航班D3交订金信息1.4处理订金信息D4取票通知和帐单1.5生成取票通知账单D5交余款信息1.6处理余款信息息信息641.1接收信息第二层DFD分析过程旅客信预订票信息航班安排交订金信息取票通知和帐单交余款信息交余款信息1.2处理预定票信息D1预订机票信息D2航班安排1.3安排航班D3交订金信息1.4处理订金信息D4取票通知和帐单1.5生成取票通知账单D5交余款信息1.6处理余款信息息信息651.1接收信息第二层DFD分析过程旅客信预订票信息航班安排交订金信息取票通知和帐单交余款信息交余款信息1.2处理预定票信息D1预订机票信息D2航班安排1.3安排航班D3交订金信息1.4处理订金信息D4取票通知和帐单1.5生成取票通知账单D5交余款信息1.6处理余款信息息信息预订票信息661.1接收信息第二层DFD分析过程旅客信预订票信息航班安排交订金信息取票通知和帐单交余款信息交余款信息1.2处理预定票信息D1预订机票信息D2航班安排1.3安排航班D3交订金信息1.4处理订金信息D4取票通知和帐单1.5生成取票通知账单D5交余款信息1.6处理余款信息息信息预订票信息671.1接收信息第二层DFD分析过程旅客信预订票信息航班安排交订金信息取票通知和帐单交余款信息交余款信息1.2处理预定票信息D1预订机票信息D2航班安排1.3安排航班D3交订金信息1.4处理订金信息D4取票通知和帐单1.5生成取票通知账单D5交余款信息1.6处理余款信息息信息预订票信息航班安排681.1接收信息第二层DFD分析过程旅客信预订票信息航班安排交订金信息取票通知和帐单交余款信息交余款信息1.2处理预定票信息D1预订机票信息D2航班安排1.3安排航班D3交订金信息1.4处理订金信息D4取票通知和帐单1.5生成取票通知账单D5交余款信息1.6处理余款信息息信息预订票信息航班安排691.1接收信息第二层DFD分析过程旅客信预订票信息航班安排交订金信息取票通知和帐单交余款信息交余款信息1.2处理预定票信息D1预订机票信息D2航班安排1.3安排航班D3交订金信息1.4处理订金信息D4取票通知和帐单1.5生成取票通知账单D5交余款信息1.6处理余款信息息信息预订票信息航班安排交订金信息701.1接收信息第二层DFD分析过程旅客信预订票信息航班安排交订金信息取票通知和帐单交余款信息交余款信息1.2处理预定票信息D1预订机票信息D2航班安排1.3安排航班D3交订金信息1.4处理订金信息D4取票通知和帐单1.5生成取票通知账单D5交余款信息1.6处理余款信息息信息预订票信息航班安排交订金信息711.1接收信息第二层DFD分析过程旅客信预订票信息航班安排交订金信息取票通知和帐单交余款信息1.2处理预定票信息D1预订机票信息D2航班安排1.3安排航班D3交订金信息1.4处理订金信息D4取票通知和帐单1.5生成取票通知账单D5交余款信息1.6处理余款信息息信息预订票信息航班安排交订金信息取票通知和帐单721.1接收信息第二层DFD分析过程旅客信预订票信息航班安排交订金信息取票通知和帐单交余款信息1.2处理预定票信息D1预订机票信息D2航班安排1.3安排航班D3交订金信息1.4处理订金信息D4取票通知和帐单1.5生成取票通知账单D5交余款信息1.6处理余款信息息信息预订票信息航班安排交订金信息取票通知和帐单731.1接收信息第二层DFD分析过程生成机票2旅客旅客信息票预订票信息航班安排交订金信息取票通知和帐单交余款信息交余款信息1.2处理预定票信息D1预订机票信息D2航班安排1.3安排航班D3交订金信息1.4处理订金信息D4取票通知和帐单1.5生成取票通知账单D5交余款信息1.6处理余款信息741.1接收信息第二层DFD分析过程旅客信预订票信息航班安排交订金信息取票通知和帐单交余款信息1.2记录预定票信息D1预订机票信息D2航班安排1.3安排航班D3交订金信息1.4记录订金信息D4取票通知和帐单1.5生成取票通知账单D5交余款信息1.6记录余款信息息信息预订票信息航班安排交订金信息取票通知和帐单生成机票2旅客票交余款信息75

大连航空公司为给旅客乘机提供方便,需要开发一个旅行社机票预订系统。各个旅行社把预订机票信息输入到系统中,系统为旅客安排航班。当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单交款取票,系统核对无误即打印出机票给旅客。761.1接收信息第二层DFD分析过程旅客信预订票信息航班安排交订金信息取票通知和帐单交余款信息1.2记录预定票信息D1预订机票信息D2航班安排1.3安排航班D3交订金信息1.4记录订金信息D4取票通知和帐单1.5生成取票通知账单D5交余款信息1.6记录余款信息息信息预订票信息航班安排交订金信息取票通知和帐单生成机票2旅客票交余款信息2.1接收信息2.3打印机票2.2核对771.1接收信息第二层DFD分析过程旅客信预订票信息航班安排交订金信息取票通知和帐单交余款信息1.2记录预定票信息D1预订机票信息D2航班安排1.3安排航班D3交订金信息1.4记录订金信息D4取票通知和帐单1.5生成取票通知账单D5交余款信息1.6记录余款信息息信息预订票信息航班安排交订金信息取票通知和帐单旅客票交余款信息2.1接收信息2.3打印机票2.2核对781.1接收信息第二层DFD分析过程旅客信预订票信息航班安排交订金信息取票通知和帐单交余款信息1.2记录预定票信息D1预订机票信息D2航班安排1.3安排航班D3交订金信息1.4记录订金信息D4取票通知和帐单1.5生成取票通知账单D5交余款信息1.6记录余款信息息信息预订票信息航班安排交订金信息取票通知和帐单旅客票交余款信息2.1接收信息2.3打印机票2.2核对791.1接收信息第二层DFD分析过程旅客信预订票信息航班安排交订金信息取票通知和帐单交余款信息1.2记录预定票信息D1预订机票信息D2航班安排1.3安排航班D3交订金信息1.4记录订金信息D4取票通知和帐单1.5生成取票通知账单D5交余款信息1.6记录余款信息息信息预订票信息航班安排交订金信息取票通知和帐单旅客票交余款信息2.1接收信息2.3打印机票2.2核对信息801.1接收信息第二层DFD分析过程旅客信预订票信息航班安排交订金信息取票通知和帐单交余款信息1.2记录预定票信息D1预订机票信息D2航班安排1.3安排航班D3交订金信息1.4记录订金信息D4取票通知和帐单1.5生成取票通知账单D5交余款信息1.6记录余款信息息信息预订票信息航班安排交订金信息取票通知和帐单旅客票交余款信息2.1接收信息2.3打印机票2.2核对信息核对结果81第二层DFD:1.1接收信息旅客信预订票信息航班安排交订金信息取票通知和帐单交余款信息1.2记录预定票信息D1预订机票信息D2航班安排1.3安排航班D3交订金信息1.4记录订金信息D4取票通知和帐单1.5生成取票通知账单D5交余款信息1.6记录余款信息息信息预订票信息航班安排交订金信息取票通知和帐单旅客票交余款信息2.1接收信息2.3打印机票2.2核对信息核对结果82顶层旅客旅客信息票飞机预定票系统83第一层DFD处理信息1生成机票2

温馨提示

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

评论

0/150

提交评论