流程图

一个简单的流程图,代表处理无功能的过程。

流程图是代表工作流程过程的一种图表。流程图也可以定义为算法的图表表示,这是解决任务的逐步方法。

流程图将步骤显示为各种框,并通过将盒子与箭头连接起来。该图表表示为给定问题说明了解决方案模型。流程图用于分析,设计,记录或管理各个领域的过程或程序。

概述

流程图循环的C风格,表示以下代码:
for(i=0;i<5;i++)
  printf("*");  
该循环将引起五个星号打印。

流程图用于设计和记录简单的过程或程序。像其他类型的图表一样,它们有助于可视化过程。众多好处中有两个是缺陷,瓶颈可能会变得显而易见。流程图通常使用以下主要符号:

  • 通常称为活动的过程步骤用矩形框表示。
  • 钻石通常表示决定。

当图表分为不同的垂直或水平部分时,流程图被描述为“跨职能”,以描述对不同组织单位的控制。在特定部分中出现的符号在于该组织单位的控制范围内。跨职能流程图使作者能够正确地定位执行行动或做出决定的责任,并显示每个组织单位在单个过程的不同部分中的责任。

流程图代表过程的某些方面,通常由其他类型的图表补充。例如, Kaoru Ishikawa将流程图定义为质量控制的七个基本工具之一,即直方图帕累托图检查表控制图因果图散点图。同样,在UML中,在软件开发中使用的标准概念模型符号,该活动图是一种流程图,只是许多不同的图类型之一。

纳西·塞尼德曼(Nassi-Shneiderman)图Drakon-charts是过程流的替代符号。

常见的替代名称包括:流程图,过程流程图,功能流程图,过程图,过程图,功能过程图,业务过程模型,过程模型,过程流程图工作流程图,业务流程图。术语“流程图”和“流程图”可互换使用。

流程图的基础结构是一个流程图,该流程图将节点类型,其内容和其他辅助信息抽象。

历史

弗兰克(Frank )和莉莲·吉尔布斯(Lillian Gilbreth)在演示文稿中介绍了第一种记录过程流程“流程图”的结构化方法,“流程图表”:找到工作的最佳方法的第一步”机械工程师(ASME)于1921年。吉尔布雷斯(Gilbreths)的工具很快就进入了工业工程课程。在1930年代初期,工业工程师艾伦·H ·莫根森(Allan H.

Art Spinanger是Mogensen班级的1944年毕业生,将工具带回了Procter and Gamble,在那里他制定了他们故意的方法更改计划。 Ben S. Graham是1944年的另一位毕业生,标准注册工业公司Formcraft工程总监,将流程图图表应用于信息处理,并通过其开发多流程流程图表,以介绍多个文档及其关系。 1947年, ASME采用了一个从吉尔布雷斯(Gilbreth)的原始作品衍生的符号集,作为“ ASME标准:操作和流程图图表”。

道格拉斯·哈特里(Douglas Hartree)于1949年解释说,赫尔曼·戈德斯汀(Herman Goldstine)约翰·冯·诺伊曼(John von Neumann )开发了一个流程图(最初是图表)来计划计算机程序。他的当代叙述得到了IBM工程师的认可和Goldstine的个人回忆。 Goldstine和von Neumann的原始编程流程图可以在其未发表的报告中找到“电子计算仪器的问题的规划和编码,第二部分,第1卷”(1947年),该报告在冯·诺伊曼(Von Neumann)收集的作品中得到了复制。

该流程图成为描述计算机算法的流行工具,但是1970年代,当交互式计算机终端第三代编程语言成为计算机编程的常见工具时,其流行度降低了,因为算法可以用这种语言更简洁地表示为源代码。通常使用伪代码,它使用此类语言的常见成语,而不严格遵守特定语言的细节。

在21世纪初期,流程图仍用于描述计算机算法。现代技术(例如UML活动图Drakon-Charts)可以被认为是流程图的扩展。

类型

Sterneckert(2003)建议,可以从不同的用户组(例如经理,系统分析师和文员)的角度对流程图进行建模,并且有四种一般类型:

  • 文档流程图,通过系统显示对文档流的控件
  • 数据流程图,显示系统中数据流的控件
  • 系统流程图,在物理或资源级别显示控件
  • 程序流程图,显示系统中程序中的控件

请注意,每种流程图都集中在某种控制上,而不是特定流程本身。

但是,有一些不同的分类。例如,Andrew Veronis(1978)将流程图的三种基本类型命名为:系统流程图通用流程图详细的流程图。同年,玛丽莲·博尔(Marilyn Bohl,1978)说:“实践中,解决方案计划中使用了两种流程图:系统流程图程序流程图……”。最近,Mark A. Fryman(2001)确定了更多的差异:“决策流程图,逻辑流程图,系统流程图,产品流程图和过程流程图只是商业和政府中使用的不同类型的流程图中的少数类型”。

另外,许多图技术类似于流程图,但具有不同的名称,例如UML活动图

建筑模块

常见符号

美国国家标准学院(ANSI)在1960年代为流程图及其像征设定了标准。国际标准化组织(ISO)在1970年采用了ANSI符号。当前的标准ISO 5807于1985年出版,并于2019年进行了最后一次审查。一般来说,流程图从上到下,底部和从左到右流动。

ANSI/ISO形状 姓名 描述
流线(箭头) 显示该过程的操作顺序。一条来自一个符号并指向另一个符号的线。如果流程不是从左到右的标准上下,则添加箭头。
终端 表示程序或子过程的开始和结束。表示为体育场,椭圆形或圆形(圆角)矩形。它们通常包含“启动”或“ end”一词,或其他短语信号发出过程的开始或结尾,例如“提交查询”或“接收产品”。
过程 代表一组操作,以更改数据的值,形式或位置。表示为矩形
决定 显示一个有条件的操作,该操作确定程序将采取的两条路径之一。该操作通常是是/否问题或true/false测试。表示为钻石(菱形)。
输入输出 指示输入和输出数据的过程,如输入数据或显示结果中。表示为菱形
注释(评论) 指示有关程序中一步的其他信息。表示为一个开放矩形,带有虚线或实心线将其连接到流程图中的相应符号。
预定义的过程 显示在其他地方定义的命名过程。表示为具有双扣垂直边缘的矩形。
页面连接器 成对的标记连接器在流程图页面上替换了长或混淆的线路。由一个小圆圈表示,里面有字母。
页面外连接器 当目标在另一页上时,标有供使用的连接器。表示为本垒板形的五角大楼

其他符号

ANSI/ISO标准包括超出基本形状的符号。有些是:

形状 姓名 描述
Flowchart database 数据文件或数据库 用符合磁盘驱动器的气缸表示的数据。
Flowchart Document 文件 单个文档表示为带有波浪形的矩形
Flowchart Document multiple 多个文档表示为带有波浪形基座的矩形。
Flowchar Manual input 手动操作 由顶部最长平行的梯形表示,以表示只能手动进行的操作或调整。
Flowchart manual input 手动输入 四边形表示,顶部不规则地从左到右倾斜,就像键盘的侧视图一样。
Flowchart Preparation 准备或初始化 由伸长的六边形表示,最初用于设置开关或初始化例程之类的步骤。

并行处理

  • 并行模式在同时操作的开头或结束时由两个水平线表示

对于并行处理并行处理并行模式水平线或水平条表示可以独立完成的过程的开始或结尾:

  • 叉子上,该过程创建一个或多个附加过程,该过程由带有一条传入路径和两个或多个传出路径的栏表示。
  • 联接过程中,两个或多个过程继续作为一个过程,由带有多个传入路径和一条外向路径的栏表示。在单个过程继续之前,所有过程都必须完成。

软体

流程

任何图纸程序都可以用于创建流程图图,但是这些图将没有基本数据模型与数据库或其他程序(例如项目管理系统或电子表格)共享数据。存在许多软件包,可以直接从编程语言源代码或流程图说明语言自动创建流程图。

有几种应用程序和视觉编程语言使用流程图来表示和执行程序。通常,这些用作初学者的教学工具。

也可以看看