流程图
流程图,又称程序框图是表示算法、工作流或流程的一种框图表示,它以不同类型的框代表不同种类的步骤,每两个步骤之间则以箭头连接。这种表示方法便于说明解决已知问题的方法。流程图在分析、设计、记录及操控许多领域的流程或程序都有广泛应用。[1]
概览
[编辑]流程图背后可以概括了各节点类型、其内容及其他补充用的信息。在设计或者记录一些简单的步骤或程序都会用得上流程图。与其他图表一样,这种图表可以帮助可视化发生了什么事情,从而更易去理解中间的工序。虽然有很多𧗠生出来的版本,各目有各目的标示方式,它们大都都有以下2种的符号:
- 步骤:通常称作“活动”,常以长方形来表示
- 决定:常以棱形来表示
当流程图被分隔成水平或垂直的不同部分的时候通常会说是‘跨功能’的,这是用来描述不同的控制单元。特定的控制单元会随着特定的部分呈现成一个图标。一个跨功能流程图能让画图者正确地给‘执行步骤’或‘做出决定’来区分职责,并且能显示出一个流程中每个不同部分的组成单元的职责。
流程图可以图像化一些指定的过程。通常配合其他种类的图表来使用。例如,20世纪著名于质量管理的日本学者石川馨认为流程图可以并行七个质量控制工具之一。流程图与直方图、柏拉图、查检表、管制图、石川图(鱼骨图)及散布图都同等重要。而是统一塑模语言中的活动图,也可以用来与众多其他图表配搭使用。
类型
[编辑]Sterneckert (2003) 认为流程图可以分为以下四种类型:[2]
绘制流程图
[编辑]常用符号
[编辑]美国国家标准协会是1960年代就开始制定流程图及一些标准符号[3]。而在1970年,国际标准化组织采用其方案[4]。现时通用的版本ISO 5807是在1985年修订[5]。以下图例列出一些ISO常用符号[6][7]。
形状 | 名称 | 描述 |
---|---|---|
流程符号
Flowline (Arrowhead)[8] |
用来表达过程的次序,用一条线由一个符号连接去到另一个符号[9]。如果不是标准的上至下、左至右图就会加上箭头[8]。 | |
起止符号
Terminal[9] |
用来表示程序或子程序的开始与完结。常以一个圆角长方形表示[9]。通常里面会标上“开始”或“结束”或其他相关字眼,如“提交查询”或“接受产品”。 | |
程序
Process[8] |
以长方形来代表一系列程序去改变量值、形式、数据的位置[8]。 | |
决策判断
Decision[8] |
以一个菱形[8]去显示一个条件进程,用来按情况去决定下一步走向[9]。通常以“是/否”或“真/假”值去决定。 | |
输入/输出
Input/Output[8] |
以平行四边形[9]来标示数据输入或输出的过程,即填入数据或显示工作结果的步骤[8]。 | |
注解 | 用来补充某步骤的额外信息,可用一个虚线来连接一个半闭合的长方型至想注释的符号中[8]。 | |
已定义流程
Predefined Process[9] |
用一个有2条左右垂直线长方型,来表示一个已在其他地方定义了的过程[9]。 | |
同页参考
On-page Connector[9] |
用一个含有字母的小圆圈来连接目标流程画于同一页上。[9][10] | |
换页参考
Off-page Connector[9] |
用一个倒画的屋型来表示目标流程画于另一页上[9][10]。 |
其他符号
[编辑]绘制工具
[编辑]任何绘图软件都可以创造流程图,有些软件可以将流程图背后的数据模型记录下来,方便与数据库、项目管理或电子表格等软件协作。不同的软件如yEd、Inkscape及Microsoft Office Visio都可以制作流程图。也有一些软件可以将编程源代码或指定的流程图描述码来转换出来。
有些可视化程序设计语言[13]采用流程图来显示程序的运作。这些工具都可以用来教导初学者去编程,例子有Draw.io、Flowgorithm、GitMind、Lucidchart、LARP、Raptor、Visual Logic及VisiRule。
参见
[编辑]参考来源
[编辑]- ^ SEVOCAB: Software Systems Engineering Vocabulary (页面存档备份,存于互联网档案馆). Term: Flow chart. Retrieved 31 July 2008.
- ^ Alan B. Sterneckert (2003) Critical Incident Management. p. 126 (页面存档备份,存于互联网档案馆)
- ^ Gary B. Shelly; Misty E. Vermaat. Discovering Computers, Complete: Your Interactive Guide to the Digital World. Cengage Learning. 2011: 691–693. ISBN 1-111-53032-7.
- ^ Harley R. Myler. 2.3 Flowcharts. Fundamentals of Engineering Programming with C and Fortran. Cambridge University Press. 1998: 32–36 [2019-04-10]. ISBN 978-0-521-62950-8. (原始内容存档于2021-04-17).
- ^ ISO 5807:1985. International Organization for Standardization. February 1985 [23 July 2017]. (原始内容存档于2021-04-17).
- ^ 建立基本流程圖. support.office.com. [2019-04-09]. (原始内容存档于2019-09-04) (中文(台湾)).
- ^ LAZYweb. 做事是雜亂無章?還是井然有序? —流程圖 迅速掌握任務全貌 - 今周刊. www.businesstoday.com.tw. 2018-05-04 [2019-04-09]. (原始内容存档于2019-09-05) (中文(台湾)).
- ^ 8.00 8.01 8.02 8.03 8.04 8.05 8.06 8.07 8.08 8.09 Harley R. Myler. 2.3 Flowcharts. Fundamentals of Engineering Programming with C and Fortran. Cambridge University Press. 1998: 32–36 [2019-04-10]. ISBN 978-0-521-62950-8. (原始内容存档于2021-04-17).
- ^ 9.00 9.01 9.02 9.03 9.04 9.05 9.06 9.07 9.08 9.09 9.10 9.11 Gary B. Shelly; Misty E. Vermaat. Discovering Computers, Complete: Your Interactive Guide to the Digital World. Cengage Learning. 2011: 691–693. ISBN 1-111-53032-7.
- ^ 10.0 10.1 What do the different flowchart shapes mean?. RFF Electronics. [23 July 2017]. (原始内容存档于2021-04-17).
- ^ Flowcharting Techniques GC20-8152-1. IBM. March 1970: 10.
- ^ What do the different flowchart shapes mean?. RFF Electronics. [23 July 2017]. (原始内容存档于2021-04-17).
- ^ Myers, Brad A. "Visual programming, programming by example, and program visualization: a taxonomy. (页面存档备份,存于互联网档案馆)" ACM SIGCHI Bulletin. Vol. 17. No. 4. ACM, 1986.
外部链接
[编辑]- Flowcharting Techniques (页面存档备份,存于互联网档案馆) An IBM manual from 1969 (5MB PDF format)
- FlowChart Symbols List (页面存档备份,存于互联网档案馆)