流程图
流程图,又称程序框图是表示算法、工作流或流程的一种框图表示,它以不同类型的框代表不同种类的步骤,每两个步骤之间则以箭头连接。这种表示方法便于说明解决已知问题的方法。流程图在分析、设计、记录及操控许多领域的流程或程序都有广泛应用。[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 (页面存档备份,存于互联网档案馆)