数据流图:简称DFD,就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
数据流图的基本符号的意思:
1矩形表示数据的外部实体;
2圆角的矩形表示变换数据的处理逻辑;
3少右面的边矩形表示数据的存储;
4箭头表示数据流。
数据流程图中有以下几种主要元素:
→:数据流。数据流是数据在系统内传播的路径,因此由一组成分固定的数据组成。如订票单由旅客姓名、年龄、单位、身份z号、日期、目的地等数据项组成。由于数据流是流动中的数据,所以必须有流向,除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名。
□:数据源(终点)。代表系统之外的实体,可以是人、物或其他软件系统。
○:对数据的加工(处理)。加工是对数据进行处理的单元,它接收一定的数据输入,对其进行处理,并产生输出。
〓:数据存储。表示信息的静态存储,可以代表文件、文件的一部分、数据库的元素等。
数据流程图 是描述系统数据流程的工具,它将数据独立抽象出来,通过图形方式描述信息的来龙去脉和实际流程。
为了描述复杂的软件系统的信息流向和加工,可采用分层的DFD来描述,分层DFD有顶层,中间层、底层之分。
(1)顶层。决定系统的范围,决定输入输出数据流,它说明系统的边界,把整个系统的功能抽象为一个加工,顶层DFD只有一张。
(2)中间层。顶层之下是若干中间层,某一中间层既是它上一层加工的分解结果,又是它下一层若干加工的抽象,即它又可进一步分解。
(3)底层。若一张DFD的加工不能进一步分解,这张DFD就是底层的了。底层DFD的加工是由基本加工构成的,所谓基本加工是指不能再进行分解的加工。
数据流程图的基本成分
系统部件包括系统的外部实体、处理过程、数据存储和系统中的数据流四个组成部分
1,外部实体
外部实体指系统以外又和系统有联系的人或事物,它说明了数据的外部来源和去处,属于系统的外部和系统的界面。外部实体支持系统数据输入的实体称为源点,支持系统数据输出的实体称为终点。 通常外部实体在数据流程图中用正方形框表示,框中写上外部实体名称,为了区分不同的外部实体,可以在正方形的左上角用一个字符表示,同一外部实体可在一张数据流程图中出现多次,这时在该外部实体符号的右下角画上小斜线表示重复
2,处理过程
处理指对数据逻辑处理,也就是数据变换,它用来改变数据值。而每一种处理又包括数据输入、数据处理和数据输出等部分。在数据流程图中处理过程用带圆角的长方形表示处理,长方形分三个部分,标识部分用来标识一个功能,功能描述部门是必不可少的,功能执行部门表示功能由谁来完成。
3,数据流
数据流是指处理功能的输入或输出。它用来表示一中间数据流值,但不能用来改变数据值。数据流是模拟系统数据在系统中传递过程的工具。
在数据流程图中用一个水平箭头或垂直箭头表示,箭头指出数据的流动方向,箭线旁注明数据流名。
4,数据存储
数据存储表示数据保存的地方,它用来存储数据。系统处理从数据存储中提取数据,也将处理的数据返回数据存储。与数据流不同的是数据存储本身不产生任何 *** 作,它仅仅响应存储和访问数据的要求。
在数据流程图中数据存储用右边开口的长方条表示。在长方条内写上数据存储名字。为了区别和引用方便,左端加一小格,再标上一个标识,用字母D和数字组成
1,画数据流程图的基本原则:
①数据流程图上所有图形符号必须是前面所述的四种基本元素。
②数据流程图的主图必须含有前面所述的四种基本元素,缺一不可。
③数据流程图上的数据流必须封闭在外部实体之间,外部实体可以是一个,也可以是多个。
④处理过程至少有一个输入数据流和一个输出数据流。
⑤任何一个数据流子图必须与它的父图上的一个处理过程对应,两者的输入数据流和输出数据流必须一致,即所谓“平衡”。
⑥数据流程图上的每个元素都必须有名字。
2,画数据流程图的基本步骤:
①把一个系统看成一个整体功能,明确信息的输入和输出。
②找到系统的外部实体。一旦找到外部实体,则系统与外部世界的界面就可以确定下来,系统的数据流的源点和终点也就找到了。
③找出外部实体的输入数据流和输出数据流。
④在图的边上画出系统的外部实体。
⑤从外部实体的输入流(源)出发,按照系统的逻辑需要,逐步画出一系列逻辑处理过程,直至找到外部实体处理所需的输出流,形成数据流的封闭。
⑥将系统内部数据处理又分别看做整体功能,其内部又有信息的处理、传递、存储过程。
⑦如此一级一级地剖析,直到所有处理步骤都很具体为止。
3,画数据流程图的注意事项:
①关于层次的划分
逐层扩展数据流程图,是对上一层图中某些处理框加以分解。随着处理的分解,功能越来越具体,数据存储、数据流越来越多。究竟怎样划分层次,划分到什么程度,没有绝对标准,一般认为展开的层次与管理层次一致,也可以划分得更细,处理块的分解要自然,注意功能完整性,一个处理框经过展开,一般以分解为4个至10个处理框为宜。
②检查数据流程图
对一个系统的理解,不可能一开始就完美无缺,开始分析一个系统时,尽管我们对问题的理解有不正确、不确切的地方,但还是应该根据我们的理解,用数据流程图表达出来,进行核对,逐步修改,获得较为完美的图纸。
③提高数据流程图的易理解性
数据流程图是系统分析员调查业务过程,与用户交换思想的工具。因此,数据流程图应简明易懂。这也有利于后面的设计,有利于对系统说明书进行维护。
控制过程/流程图----指的是一个工艺或者一个产品的流程,常见的是流转卡,
更多的是在PPAP中见到。
控制程序----指的是文件,比如你们公司不合格品的控制程序,是公司的2级文件。
那个叫“数据流图”,是软件工程的一个概念,通过图的直观反映,人用户或编程者清楚看到作为软件系统中的数据流的流向,概念较大
程序流程图,仅仅是一个程序中的代码编写的思想的图形化表述,具体到编码测试阶段了
虽然二者的有一些图形工具是相同的,但本质上不是一类型的
但在舶来的BPR、BPM等流行的同时, process又变成流程了。那么,流程图为生么不是process_chart呢?process analysis应该是过程分析还是流程分析?全面质量管理中的“过程控制”是否也应顺应潮流,改叫“流程控制”呢?“IT+管理”的语境 “过程”与“流程”这两个词在“IT+管理”这个特定语境下来讨论,还是很有意思的。因为这些概念不是从中文中产生的,所以从比较源头的地方——英文去考察比较好。在英文的文献里,这好像并不怎么会混淆。例如:
“业务过程,过程分析,业务过程管理”就是 business process, process analysis, business process management
“工作流,流程图,数据流”就是 work flow, flow_chart, data flow
其中的flow与process区分得很清楚,但中文流行语是:“业务流程,流程分析,业务流程管理”,一定程度上造成了flow和process的混淆。与流行有所不同 process大致是英文近意词里最一般化的,相当于四维时空在时间轴上的投影——看待事物的一个特定角度——从时间、顺序上去看待事物。
在纯IT领域,这是比较清楚的:process analysis就是“过程分析”,翻成“流程分析”就不准确了;与面向对象(object-oriented)对应,面向过程(process-oriented)也不会被翻成“面向流程”。
在管理领域中,“流程”并非流行语,而是一个常用语,跟“程序”、“步骤”有所联系(如果仅仅说“流”,就更加具体),这符合一般用语的感觉:“流程”比 “过程” (process)更具体。在传统的管理语境中,这两者的区别不难理解,也不怎么会混淆,例如,我们说“统计过程控制”(statistical process control),而不会说“统计流程控制”;说“不仅要关注质量检验的结果,更要抓住质量形成的过程”,而不会说“不仅要关注质量检验的结果,更要抓住质量形成的流程”。
这不仅仅是顺口的问题,和“过程控制”类似,将诸如 BPR, BPM 里面的process叫做“流程”是不确切的。对这些概念理解的要点恰恰就是要改变你的视角——不仅关注结果更要关注过程,需要关注、分析、规划、管理的,是所有“过程上”的东西,是最终结果形成或发生的过程。这里的process在不同的叙述中,既可以包括实际发生的过程,也可以包括希望遵循的步骤。对更具体的东西,就有不同的选择,比如flow(流,具体有形的东西);procedure(程序/流程,做事的步骤与要求);program(程序/安排,更强调步骤安排);progress(进程,强调进行、进展),等等。小结 无论在IT领域还是管理领域,流程与过程都有区别——流程是具体的过程。当下流行的说法,将business process management (BPM), business process re-engineering (BPR)中的process翻成“流程”并不恰当。这里的process和process control中那个一样,在中文中最准确的表达就是“过程”,其要点是看问题的另一个视角:从关注最终结果到关注产生结果的过程。补充 要深入理解一种思想或系统的方法,就要从搞清最基本的概念开始。希望这样的讨论,有助于加深理解,把握更多的精髓。这个话题,现在好像是一面倒地“流”行着,其它可参考的东西不多,姑且推荐这两个链接给有兴趣的朋友参考:过程中心观。这篇文章探讨了在管理的语境中“过程”话题的一些由来。工作流(Workflow)与业务过程管理(BPM) 。这是相关领域专家参与的一次深入讨论。0 我顶!
以上就是关于数据流图与程序流程图的区别全部的内容,包括:数据流图与程序流程图的区别、ISO9000认证中“控制过程/流程图”和“控制程序”有什么区别、C语言中数据流程图和程序流程图有什么区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)