《软件工程讲义数据流图精.ppt》由会员分享,可在线阅读,更多相关《软件工程讲义数据流图精.ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件工程讲义数据流图第1页,本讲稿共37页本次课要解决的问题什么是数据流图?数据流图有什么用?怎么画数据流图?使用数据流图时应该注意哪些问题?第2页,本讲稿共37页数据流图示例第3页,本讲稿共37页一、数据流图的概念数据流图(Data Flow Diagram,DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。它与数据字典一起用来构成系统的逻辑模型。第4页,本讲稿共37页二、数据流图的用途数据流图是分析员与用户之间极好的交流工具。数据流图的另一个主要用途是作为分析和设计的工具,是软
2、件项目开发人员之间的通信工具。数据流图也是软件测试时的重要文档。不仅传统生命周期方法学使用数据流图,在面向对象方法学中也可使用数据流图。第5页,本讲稿共37页三、数据流图的构成及符号1、数据流图的构成与基本符号源点与终点:通常指外部对象,用长方形或长方体表示。处理(加工):可以代表一系列程序、单个程序或者程序的一个模块,还可代表人工过程等,用圆形或圆角矩形表示。数据存储:指处于静止状态的数据,用平行线或开口矩形表示。数据流:指处理运行中的数据,用箭头表示。源点源点/终点终点源点源点/终点终点处理处理处理处理数据存储数据存储数据存储数据存储数据流数据流第6页,本讲稿共37页源点终点数据流数据存储
3、处理处理数据存储数据流第7页,本讲稿共37页三、数据流图的构成及符号2、数据流图的附加符号*:表示数据流之间的“与关系”,实际使用时*常可省略第8页,本讲稿共37页三、数据流图的构成及符号2、数据流图的附加符号+:表示数据流之间的“或关系”第9页,本讲稿共37页三、数据流图的构成及符号2、数据流图的附加符号+:表示数据流之间的“异或关系”第10页,本讲稿共37页三、数据流图的构成及符号3、附加符号的若干例子第11页,本讲稿共37页三、数据流图的构成及符号3、附加符号的若干例子第12页,本讲稿共37页四、画数据流图的步骤1、理解问题描述。2、分析问题描述,提取数据流图的4种成分。3、画顶层数据流
4、图,即系统的基本模型。4、把基本模型细化,画各级明细数据流图。5、检查分层细化时是否保持信息的连续性,即当把一个处理分解为一系列处理时,分解前和分解后的输入输出数据流必须相同。这条规则也称为数据流图的数据平衡原则。第13页,本讲稿共37页五、数据流图实例定货系统1、问题描述:假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定
5、货。第14页,本讲稿共37页五、数据流图实例定货系统2、分析问题描述,提取数据流图的4种成分。源点/终点:采购员(终点),仓库管理员(源点)。处理:产生报表,处理事务数据流:(1)定货报表(零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者)(2)出入库事务(零件编号,事务类型,数量)数据存储:(1)定货信息(零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者)(2)库存清单(零件编号,库存量,库存量临界值)第15页,本讲稿共37页系统的基本模型由若干个数据源点/终点以及一个处理组成,这个处理代表了系统对数据加工变换的基本功能。五、数据流图实例定货系统3、画顶层数据流图
6、,即系统的基本模型。第16页,本讲稿共37页五、数据流图实例定货系统4、把基本模型细化,画各级明细数据流图。第一次细化,画出功能级数据流图,图中有对处理及数据存储进行编号。数据存储和数据流只不过是同样数据的两种不同形式。第17页,本讲稿共37页五、数据流图实例定货系统4、把基本模型细化,画各级明细数据流图。第二次细化,把处理事务的功能进一步分解后的数据流图。当进一步分解将涉及如何具体地实现一个功能时就不应该再分解了。第18页,本讲稿共37页五、数据流图实例定货系统5、检查分层细化时是否保持信息的连续性。第19页,本讲稿共37页五、数据流图实例定货系统5、检查分层细化时是否保持信息的连续性。第2
7、0页,本讲稿共37页六、使用数据流图的几点说明1、各个成分的命名数据流与数据存储的命名名字应代表整个数据流(或数据存储)的内容,不能仅仅反映它的某些成分。不要使用空洞的、缺乏具体含义的名字。如果命名时遇到了困难,很可能是对数据流图分解不当造成的,应试试重新分解。处理的命名名字应该反映整个处理的功能,而不是它的部分功能。最好由一个具体及物动词加一个宾语组成。避免使用空洞的词。如果命名遇到困难,可能是分解不当造成,应考虑重新分解。数据源点/终点的命名不属于数据流图的核心内容,通常是目标系统的外围环境部分。通常采用它们在问题域中习惯使用的名字。第21页,本讲稿共37页六、使用数据流图的几点说明2、在
8、分析下层的数据流图时,有时没有给出源点与终点。3、从一个数据存储中取出来的或放进去的数据通常和原来存储的数据相同,即数据存储和数据流只不过是同样数据的两种不同形式。这时候,与数据存储同名的数据流经常被省略。4、当进一步分解将涉及如何具体地实现一个功能时就不应该再分解了。5、当对数据流图分层细化时必须保持信息的连续性,即当把一个处理分解为一系列处理时,分解前和分解后的输入输出数据流必须相同。这条规则也称为数据流图的平衡原则。第22页,本讲稿共37页六、使用数据流图的几点说明6、对处理进行编号应该分级进行。7、如果代表同一个事物的同样符号在图中出现在n个地方,则在这个符号的一个角上画n-1条短斜线
9、做标记。第23页,本讲稿共37页六、使用数据流图的几点说明8、当用数据流图辅助物理系统的设计时,可在数据流图上画出许多组自动化边界,每组自动化边界可能意味着一个不同的物理系统,因此相同的逻辑模型可能导致不同的物理实现。第24页,本讲稿共37页六、使用数据流图的几点说明第25页,本讲稿共37页六、使用数据流图的几点说明第26页,本讲稿共37页七、小结数据流图描绘信息流和数据从输入移动到输出的过程中所经受的变换,它用来构造系统的逻辑模型。数据流图可以用来与用户沟通及软件项目开发人员之间也用它来进行交流。数据流图是可用在系统分析、设计及测试之中。数据流图由源点与终点、处理、数据流、数据存储4种成分组
10、成。画数据流图时要分层进行,要遵循数据平衡原则。第27页,本讲稿共37页作业:考务处理系统题目:某考务处理系统的数据流图如图A-D所示。该系统有如下功能:(1)对考生送来的报名单进行检查。(2)对合格的报名单编好准考证号后将准考证送给考生,并将汇总后的考生名单送给阅卷站。(3)对阅卷站送来的成绩清单进行检查,并根据考试中心制订的合格标准审定合格者。(4)制作考生通知单送给考生。(5)进行成绩分类统计(按地区、年龄、文化程度、职业、考试级别等分类)和试题难度分析,产生统计分析表。ABCD第28页,本讲稿共37页作业:考务处理系统部分数据流的组成如下所示:报名单地区+序号+姓名+性别+年龄+文化程
11、度+职业+考试级别+通信地址 正式报名单报名单+准考证号 准考证地区+序号+姓名+准考证号+考试级别 考生名单准考证号+考试级别(其中w表示 w 重复多次)统计分析表分类统计表+难度分析表考生通知单考试级别十准考证号+姓名+合格标志+通信地址ABCD第29页,本讲稿共37页作业:考务处理系统问题1 指出图C的数据流图中,的数据流名。问题2 指出图B数据流图中有哪些错误,另外有什么成分可删去。问题3 指出图D的数据流图中在哪些位置遗漏哪些数据流;也就是说,要求给出漏掉了哪个加工的输入或输出数据流的名字。例如,加工2.5的输出数据流“难度分析表”。ABCD第30页,本讲稿共37页ABCD第31页,本讲稿共37页ABCD第32页,本讲稿共37页作业:考务处理系统图AABCD第33页,本讲稿共37页作业:考务处理系统图BABCD第34页,本讲稿共37页作业:考务处理系统图CABCD第35页,本讲稿共37页作业:考务处理系统图DABCD第36页,本讲稿共37页作业:考务处理系统图DABCD第37页,本讲稿共37页
限制150内