資料流程圖(DFD) ,是一種圖形表示方法,用於描繪系統中資料的流動、儲存、處理及外部實體之間的互動過程。它透過將複雜的系統分解為易於理解的組件和流程,幫助開發者、分析師及利害關係人直觀地理解系統的資料流向和邏輯結構。
外部實體:代表系統以外的元素,如使用者、其他系統或資料來源。它們是資料的來源或目的地。
資料儲存:表示系統中用於儲存資料的元件,如資料庫、檔案系統等。
流程/處理:描述系統中對資料進行操作或轉換的步驟,如計算、篩選、格式化等。
資料流:連接各元素的有向箭頭,表示資料的流動方向。
根據詳細程度和用途的不同,資料流程圖通常分為兩類:
邏輯資料流程圖:專注於描述系統“應該做什麼”,主要表達業務和業務運作,強調資料處理邏輯,例如資料收集、資料跟資訊的轉換和資訊報告,而不涉及具體的物理實現,例如計算機配置、資料儲存技術、資訊傳遞方法等。
實體資料流程圖:更具體,展示系統“如何實際運作”,包括硬體、軟體元件及它們之間的實體連接。它使邏輯資料流程圖中所述的程序可以準確地實現已達到業務目標。
系統設計:在軟體或資訊系統開發初期,資料流程圖是規劃系統架構、定義功能模組和介面的關鍵工具。
問題診斷:當系統故障或效能瓶頸時,透過資料流程圖可以追蹤資料路徑,快速定位問題所在。
優化流程:透過視覺化資料流動,識別冗餘步驟或瓶頸,優化資料處理流程,提高效率。
訓練與教育:對於新加入團隊的成員,資料流程圖是理解系統運作、快速上手的有效手段。
1. 頂層資料流程圖
決定係統的範圍,決定輸入輸出資料流。它說明系統的邊界,把整個系統的功能抽象化為一個加工。主要突出數據的來源點和終點。
頂層DFD只有一張,表示整個系統與外部實體的關係,但並沒有深入到系統的內部。
在這一層中,通常只顯示一個系統框和與之互動的外部實體,以及它們之間的主要資料流。
例如下圖是某電子商務平台系統的頂層資料流程圖:
2. 第0層資料流程圖
頂層資料流程圖比較籠統,僅從這張圖無法了解系統內部的具體資料和關係,下一步就應該把基本的系統模型分解細化,形成第0層資料流圖。
例如還是某線上購物系統,將系統內的主要功能分為用戶登入管理,交易管理,訂單管理等,這些功能下增加了購物車列表,訂單表等多個資料儲存。
3. 第1層資料流程圖
接下來是將功能級(0層)資料流程圖中的系統功能進一步細化,例如將上述0層資料流程圖中的使用者登入管理、交易管理等功能進一步分解,展開每個主要功能下的內部細節。
中間層次的多少一般視系統的複雜程度而定。例如,在0層的基礎上,可以建立第0層資料流程圖,進一步展開系統的主要組成部分;再針對第1層中的主要流程,可以建立第2層資料流程圖,進一步展開每個主要過程的內部細節。
在這些層次中,系統被細分為較小的功能單元(即加工),並透過資料流相互連接。
4. 底層資料流程圖
底層資料流程圖是指其加工不能再分解的資料流程圖。
其加工稱為“原子加工”,即最基本的、不能再進行分解的加工過程。在這一層中,展示了每個加工節點的詳細資料流轉情況。
使用專業的繪圖工具可以提高繪圖效率,更專注於思考,這裡推薦使用ProcessOn製作資料流程圖,ProcessOn是免費線上的流程圖、心智圖、UML、網路拓撲圖等圖的專業繪製工具。
1. 登入ProcessOn ,進入個人文件頁,選擇新建流程圖。
2. 確定係統的輸入與輸出:此階段應盡可能了解系統從外界接受或輸出什麼數據,因此繪製時需要將盡可能多的資料流繪製出來,再刪除多餘的,增加遺漏的。
3. 由外向裡畫系統的頂層資料流程圖:確定係統的輸入輸出後,將它們用加工連接起來,在資料流的值發生變化的地方就是一個加工。可以從輸入資料流畫向輸出資料流,也可以從中間的資料流畫出去。然後依照加工→加工間的資料→檔案這個順序進行命名。
4. 從頂層向下逐層分解,繪製分層資料流程圖:對於大型的系統,為了控制複雜性,便於理解,需要採用自頂向下逐層分解的方法進行,當進一步分解將涉及如何具體地實現一個功能時,就不應該再繼續分解了。
也應該注意在資料流程圖中對處理進行編號的方法。頂層資料流程圖的處理元素可以依照1,2,3…來編號,當處理1被進一步分解時,它的組成編號將是1.1,1.2,1.3…,如果將1.1進一步分解,將得到編號為1.1 .1,1.1.2…的處理。以該處理命名規則以此類推。
5. 為了使資料流程圖更容易理解,可以添加必要的註釋或說明,來解釋元素的作用。
6. 合理安排元素位置,確保資料流清晰、邏輯連貫。
以上就是資料流程圖的相關內容,資料流程圖既能指導技術人員的系統設計與故障排查,也能讓業務人員更能理解資料流動與處理流程,加深對業務的理解。