業務流程圖與數據流程圖的比較
[摘要]業務流程圖(Transaction Flow Diagram)和數據流程圖(Data Flow Diagram)是結構化信息系統開發方法中兩種常用的圖形工具。本文從描述對象、功能作用、基本符號和繪制方法四個方面闡述二者的區別, 對它們的聯系也作了介紹。
[關鍵詞]結構化系統開發方法 系統調研 業務流程圖 數據流程圖
一、業務流程圖與數據流程圖的區別
1. 描述對象不同
業務流程圖的描述對象是某一具體的業務; 數據流程圖的描述對象是數據流。
業務是指企業管理中必要且邏輯上相關的、為了完成某種管理功能的一系列相關的活動。在系統調研時, 通過了解組織結構和業務功能, 我們對系統的主要業務有了一個大概的認識。但由此我們得到的對業務的認識是靜態的, 是由組織部門映射到業務的。而實際的業務是流動的, 我們稱之為業務流程。一項完整的業務流 程要涉及到多個部門和多項數據。例如, 生產業務要涉及從采購到財務, 到生產車間, 到庫存等多個部門; 會產生從原料采購單, 應收 付 賬款, 入庫單等多項數據表單。因此, 在考察一項業務時我們應將該業務一系列的活動即整個過程為考察對 象, 而不僅僅是某項單一的活動, 這樣才能實現對業務的全面認識。將一項業務處理過程中的每一個步驟用圖形來表示, 並把所有處理過程按一定的順序都串起來就形成了業務流程圖。如圖 1 所示, 就是某公司物資管理的業務流程圖。

數據流程圖是對業務流程的進一步抽象與概括。抽象性表現在它完全舍去了具體的物質, 只剩下數據的流動、加工處理和存儲; 概括性表現在它可以把各種不同業務處理過程聯系起來,形成一個整體。從安東尼金字塔模型的角度來看, 業務 流程圖描述對象包括企業中的信息流、資金流和物流, 數據流程圖則主要是對信息流的描述。此外, 數據流程圖還要配合數據字典的說明, 對系統的邏輯模型進行完整和詳細的描述。
2. 功能作用不同
業務流程圖是一本用圖形方式來反映實際業務處理過程的“流水帳”。繪制出這本流水帳對於開發者理順和優化業務過程是很有幫助的。業務流程圖的符號簡 單明了, 易於閱讀和理解業務流程。繪制流程圖的目的是為了分析業務流程, 在對現有業務流程進行分析的基礎上進行業務流程重組, 產生新的更為合理的業務流程。通過除去不必要的、多余的業務環節; 合並重復的環節; 增補缺少的必須的環節; 確定計算機系統要處理的環節等重要步驟, 在繪制流程圖的過程中可以發現問題, 分析不足, 改進業務處理過程。
數據流程分析主要包括對信息的流動、傳遞、處理、存儲等的分析。數據流程分析的目的就是要發現和解決數據流通中的問題, 這些問題有: 數據流程不暢, 前后數據不匹配, 數據處理過程不合理等。通過對這些問題的解決形成一個通暢的數據流程作為今后新系統的數據流程。數據流程圖比起業務流程圖更為抽象, 它舍棄了業務流程圖中的一些物理實體, 更接近於信息系統的邏輯模型。對於較簡單的業務, 我們可以省略其業務流程圖直接繪制數據流程圖。
3. 基本符號不同
(1)業務流程圖的常用的基本符號有以下六種, 見圖 2 所示。

(2)數據流程圖的基本符號見圖 3 所示
對數據流程圖的基本符號解釋如下:
外部實體表示數據流的始發點或終止點。原則上講, 它不屬於數據流程圖的核心部分, 只是數據流程圖的外圍環境部分。在實際問題中它可能是人員、計算機外設、系統外部的文件等。在圓形框中用文字注明外部實體的編碼屬性和名稱。
數據流是用箭頭線及其上的數據表示數據流動的方向, 數據流由一個或一組數據項組成。
數據存儲表示邏輯意義上的數據存儲環節, 不考慮存儲的物理介質和技術手段的數據存儲環節。它用一個右邊開口的長方形條來表示, 圖形右部填寫存儲的數據和數據集的名字, 左邊填寫該數據存儲的標志。
處理邏輯 加工 也稱為處理或功能, 它包括兩方面的內容:一是改變數據結構; 二是在原有數據內容基礎上增加新的內容,形成新的數據。一般用一個長方形表示處理邏輯, 圖形下部填寫處理的名字, 上部填寫該處理的標志。
關於業務流程圖和數據流程圖的基本符號很多教材上都不完全一致, 還沒有形成一個統一的標准。例如, 有的教材上用圓形表示外部實體, 有的用矩形表示外部實體。二者所使用的符號不同, 但代表的含義都相同。業務流程圖中的業務處理和存儲這兩個符號和數據流程圖中的相應的符號基本一致; 業務流程圖和數據流程圖中都有箭頭線的符號, 但含義不同: 業務流程圖中的箭頭線表示信息流向, 它沒有名稱; 數據流程圖中的箭頭線表示某一數據流, 它有名稱, 通常寫在數據流的上方。
4. 繪制過程不同
業務流程圖就是用一些規定的符號及連線來表示某個具體務處理過程。業務流程圖的繪制是根據系統詳細調查過程中所得的資料, 按業務實際處理過程, 用規定的符號將它們繪制在同一張圖上。它的繪制無嚴格的規則, 只需簡明扼要地如實反映實際業務過程。在繪制過程中一般也遵循“自頂向下”的原則。
數據流程圖的繪制方法較為復雜, 它是按照“自頂向下, 逐層求精”的方法進行的, 也就是將整個系統當成一個處理功能,畫出它和周圍實體的數據聯系過程, 即一個粗略的數據流程圖( 頂層數據流程圖),然后逐層向下分析, 直到把系統分解為詳細的低層次的數據流程圖。如圖A是一個高等學校學藉管理系統的頂層數據流程圖。圖B、圖C則分別是學藉管理系統的2 層、3層數據流程圖。



繪制數據流程圖的注意事項:
①數據流程圖的繪制一般是從左到右進行。從左側開始標出外部實體, 然后畫出由外部實體產生的數據流, 再畫出處理邏輯、數據流、數據存儲等元素及其相互關系, 最后在流程圖的右側畫出接收信息的系統外部實體。
②父圖與子圖的平衡。子圖是對父圖中處理邏輯的詳細描述, 因此父圖中數據的輸入和輸出必須在子圖中反映。父圖與子圖的平衡是數據流守恆原則的體現, 即對每一個數據處理功能來說, 要保證分解前后的輸入數據流與輸出數據流的數目保持不變。
③數據流至少有一端連接處理框。數據流不能直接從外部實體直接傳送到數據存儲, 也不能從數據存儲直接傳送到外部實體。
④數據存儲輸入/輸出協調。數據存儲必定有輸入數據流和輸出數據流, 缺少任何一個則意味着遺漏了某些加工。
⑤數據處理流入/流出協調。只有流入沒有流出, 則數據處理無需存在; 只有流出沒有流入的數據處理不可能滿足。
⑥合理命名, 准確編號。對數據流程圖的基本元素進行編號, 這樣有利於編寫數據字典及方便系統設計人員和用戶的閱讀與理解。
二、業務流程圖和數據流程圖的聯系
1. 業務流程圖和數據流程圖都是從流程的角度動態地去考察分析對象, 都是用圖形符號抽象地表示調查結果。
2. 數據和業務的聯系具體表現在: 數據流是伴隨着業務過程而產生的, 它是業務過程的衍生物; 數據資料基本上也是按組織結構或業務過程收集的; 在數據匯總時, 我們也是以業務流程為單位, 將同一業務的不同處理步驟中的數據加以集中; 數據流程圖的繪制遵照業務處理的全過程。
3. 數據流程圖和業務流程圖存在一定的對應關系。由業務流程圖可以導出相應的數據流程圖。有兩種思路: 一種是先按業務流程圖理出的業務流程順序, 然后將相應調查過程中所掌握的數據、表單分離出來, 接下來考查數據的流向, 加工處理過程和存儲, 把它們串起來就繪制成一完整的數據流程圖; 另一種是從業務流程中分離出處理過程, 再考查每一個處理過程的輸入數據與輸出數據, 將業務過程中所有的處理過程的輸入、輸出數據流進行有機的集成就形成了一個完整的數據流程圖。
