首页 > 编程知识 正文

如何画出数据流图(数据流图简单例子)

时间:2023-05-06 00:13:07 阅读:66947 作者:3862

分层数据流图(示例性绘制)数据流图的基本元素数据流图的基本元素)数据流)必须命名每个数据流以反映该数据流的含义。 每个加工都必须命名和编号,以反映其功能和DFD中的分层位置。 输入中有没有输出的黑洞,输入中不足以输出,这被称为黑洞。 数据存储:读、写、更改外部实体:位于软件系统外部的个人或组织。 表示系统数据源和宿数据流图的扩展符号:星号(()表示数据流之间的and关系的加号) )表示数据流之间的or关系的异或符号数据流图的层次结构:层次编号; (一般控制在72范围内)

1 .步骤1.1个人理解,人说话(绘制数据流图的大致步骤如下:

我们根据主题分析出这个系统的外部系统,找出数据流中的宿,每个数据流的流向画出顶层图根据刚才画的顶层图表,系统的加工分成若干个子加工这里是关键,一个数据流的画能否顺利我们能否合理地划分加工画画时要清楚http://www.Sina.com/http://www.Sina.com/1.2具体步骤(人说话太简单,看了会加深理解) 3358www.Sina.com/

系统的输入/输出用藏书图描述,说明系统从哪个外部实体接收数据,以及向哪个外部实体发送数据。 顶层图只有一个加工和开发的软件系统顶层图的数据流。 也就是说,系统的输入/输出信息通常定义为图表中没有数据存储。

有哪些数据流

将顶层图的加工分解成若干加工,用数据流连接这些加工,顶层图的输入数据经过若干加工处理转换成顶层图的输出数据流的图称为零层图。 从一个加工到绘制一张数据流图的过程实际上是这个加工的分解。

数据该不该存储这里的加工是指将有母图的加工分解后的子加工,可以用以下两种方法确定加工。 通过功能分解确定加工。 一个加工实际上反映了系统的一个功能,根据功能分解的原理,一个复杂的功能可以分解成几个小功能,每个小功能都是分解的子加工。 该方法大量应用于高层DFD中的加工分解。 根据业务处理流程决定加工。 分析在母图上分解的加工的业务处理流程。 流程中的每个步骤都可能是一个子流程。 为了特别注意业务流程中数据流发生变化或数据流值发生变化的地方,应该存在将原始数据流(该加工的输入数据流)作为变化后的数据流)进行处理的加工。 该方法广泛应用于低层DFD下的加工分解,可以描述母加工下从输入数据流到输出数据流的加工细节。 如果画系统的输入输出:用户将某些数据视为一个数据(这些数据一起到达并一起处理),则这些数据可被视为一个数据流。 实际工作环境中的表单通常是数据流。 在分解了有母图的加工的子图中,母图的对应加工的输入输出数据流是子图边界上的输入输出数据流。 另外,在分解后的子进程之间-必须添加新的数据流。 这些数据流是正在加工的中间数据(对一个子进程的输入数据流的改变),它们与所有子进程一起完成了父图中相应加工从输入数据流到输出数据流的转换。 如果需要存储和使用某些中间数据,可以将其表示为流过数据存储的数据流。画系统的内部父图中某个加工的分解子图(如果父图中有该加工流向数据存储的数据流(写入操作)或从数据存储流向该加工的数据流(读取操作) ) 在分解的子图中,如果需要存储一些中间数据以供将来使用,可以将这些数据合并到新文件中。 如果自上而下绘制分层数据流图表,则至少一个新的数据存储(最先出现的)必须加工为其写记录,同时必须存在至少一个加工读取该数据存储的记录。 请注意,对于从父图继承的数据存储,子图仅读取记录或写入记录。确定加工。通常不需要在0层图和其他子图中绘制源和宿。 在某些情况下,为了提高可读性,可以在0层图中绘制顶层图的源和宿。 如果同一外部实体(人或组织)是系统的源和系统的宿,则可以使用同一图形符号表示。 为了便于绘制,为了避免图中心线的交叉,可以在DFD的不同位置重复绘制相同的源或汇来提高可读性,但它们仍然代表相同的实体。 如果存在位于33558www.Sina.com/DFD上的复杂加工,可以将其分解为一张DFD子图。 分解方法将该加工视为一个小系统,该加工的输入输出数据流是该假设小系统的输入输出数据流,并采用绘制0层图的方法绘制该加工的子图。

主题:考务处理系统考务处理系统的功能需求如下。

核对考生寄来的报名表。

对合格准考证编制准考证号后,将准考证发给考生,并将汇总后的准考证发给阅卷人员。

核对阅卷发来的成绩清单,根据考试中心指定的录取标准审定合格者。

制作考生通知书(包括成绩合格/不合格标志)发给考生。

按地区、年龄、文化程度、职业和考试水平等进行成绩分类统计和试题难度分析,编制统计分析表


部分数据流的组成如下。
报名单=地区+序号+姓名+文化程度+职业+考试级别+通信地址
正式报名单=准考证号+报名单
准考证=地区+序号+姓名+准考证号+考试级别+考场
考生名单={准考证号+考试级别} (其中, {w}表示w重复多次)
考生名册=正式报名单
统计分析表=分类统计表+难度分析表
考生通知单=准考证号+姓名+通信地址+考试级别+考试成绩+合格标志

顶层图分析:我们先分析以下题目找出外部实体。分析可知外部实体有:学生,阅卷站,考试中心。(特别说明一下,别把考务处理系统也理解成实体,处理系统要完成我们得数据处理工作,所以考务处理系统是加工)。接下来我们分析每个数据流的走向 报名单:考生–>考务处理系统准考证:考务处理系统–>考生考生名单:考务处理系统–>阅卷站成绩清单:阅卷站–>考务处理系统合格标准:考试中心–>考务处理系统(这里得好好理解,合格标准是审判合不合格的依据,也是数据流)考生通知单:考务处理系统–>考试统计分析表:考务处理中心–>考试中心(题中没有说清楚该数据流的宿,但是仔细分析,统计分析表应该是送回给考试中心,供他们进行下次考试的参考准备,所以宿应该的考试中心)不合格报名单:考务处理系统–>考生(看到这里别觉得奇怪,题中确实没有这个数据流。但是仔细想想,我们的系统应该是有容错处理的,考试送上来一张错的报名单,系统应该退回告诉考生的。注意有提到要检查报名单的)错误成绩清单:考务处理系统–>阅卷站(同上条,注意考务处理中心要检查阅卷站送来的成绩清单的)

有了这些东西我们就能画出我们的顶层图啦, 图如下:

画完顶层图(找动词, ),接下来我们就该分析我们的考务处理系统究竟做了那些工作了(加工–>子加工)。分析一下我们的考务处理系统为考生提供了啥处理?就登记学生提交的报名单,合格的报名单就等级上,给考生发准考证,不合格的就退回给考生;给考试中心提供了啥处理?就根据合格标准和成绩清单来统计考生成绩然后生成考生通知单和统计分析表和错误成绩清单。这里再考虑一个问题,我们登记和统计中间产物是啥?我们得形成一个正式得报名单(=考生名册)吧。上述分析中加粗字:动词是加工,名词是数据存储

通过上述分析,我们把加工分为了两个子加工,画出0层图,图如下:

同样的画出0层图之后,我们两个子加工工作量还是有点杂。我们尽力让我们的每个加工只完成一件事。(到这里了就看个人发挥了(记住加工找动词,数据存储找名词哈)。注意加工工作单一的同时,我们还要特别注意的是数据的流向,以及给每个加工标号)。下面的图就不一一赘述了

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。