[摘要] 本文主要介紹結構化分析模型的組成部分,常用描述工具,建立功能模型的DFD工具及其應用。
[關鍵詞] DFD 數據流 加工 文件 源點/匯點
一、引言
數據流程圖(Data Flow Diagram,DFD)是一種能全面地描述信息系統邏輯模型的主要工具,它以圖形的方式描繪
數據在系統中流動和處理的過程,用少數幾種符號綜合地反映出信息在系統中的流動、處理和存儲情況。由于它只反映系統必須完成的邏輯功能,所以它是一種功能模型。
二、數據流圖
結構化分析的核心是數據流程圖(DFD)。數據流程圖是以圖形的方式表達在問題中信息的變換和傳遞過程。它把系統看成是由數據流聯系的各種概念的組合,用分解及抽象手段來控制需求分析的復雜性,采用分層的數據流程圖來表示一個復雜的系統。
任何軟件系統從根本上都是對數據的加工或變換的工具。當數據在軟件系統中移動時,它將被一系列“變換”所修改。DFD 就是描述信息流和數據從移動到輸出的過程中所經受的變換的圖形化技術。在DFD 中沒有任何具體的物理部件,它只是描繪數據在系統中流動和被處理的過程。它可表現的范圍可大到整個系統,小到一個模塊。在軟件需求分析中常用一組DFD由粗到細的表示同一軟件在不同抽象級別上的功能,這就是分層DFD。
DFD的一般形式如圖1所示:
其基本組成如圖2所示,包括四部分:數據流、加工、文件、源點/匯點。
1.數據流(data flow):用箭頭代表數據流的方向,由一組固定成分的數據組成,表示數據的流向。它可以從一個加工流向另一個加工,從加工流向文件,從源點流向加工,從加工流向匯點。除了流向文件或從文件流出的數據流不必命名外,每個數據流都必須有明確的名字,反映該數據流含義。
2.加工(process):在DFD中用圓框代表加工。它描述輸入數據流到輸出數據流之間的變換。每個加工有一個名字和編號,編號反映該加工在分層DFD 中的層次和位置,同時還能夠看出它與其他加工的聯系。
如圖3所示,在數據流圖中,如果兩個以上的數據流指向一個加工,或者從一個加工引出兩個以上的數據流,那么這些數據流之間往往存在一定的關系。
為表示這些關系,用“*”表示相鄰的一對數據流同時出現;用“”表示相鄰的一對數據流只取其一。
3.文件(File):用來表示暫時存儲的數據,每個文件都必須有名字。流向文件的數據流表示寫文件,流出文件的數據流表示讀文件,雙向箭頭表示對文件可讀可寫。
4.源點/匯點(Source/Sink):通常指存在軟件系統之外的人員和組織。它指出系統所需數據的發源地和系統所產生的數據的歸宿地。在一個軟件系統中,有些源點和匯點可以是同一個人或組織,源點和匯點可用同一個圖形符號。
通過以上分析,數據流圖的特征主要有兩個:
1.抽象性。在數據流程圖中具體的組織機構、工作場所、人員、物質流等等都已去掉,只剩下數據的存儲、流動、加工、使用的情況。這種抽象性能使我們總結出信息處理的內部規律性。
2.概括性。它把系統對各種業務的處理過程聯系起來考慮,形成一個總體。而業務流程圖只能孤立地分析各個業務,不能反映出各業務之間的數據關系。
三、數據流圖的實現
數據流程圖實現遵循的原則是:自上而下,逐層展開;輸入輸出,保持平衡。數據流程圖是分層次的,繪制時采取自頂向下逐層分解的辦法。
首先畫出頂層(第一層)數據流程圖。 頂層數據流程圖只有一張,它說明了系統的總的處理功能、輸入和輸出,其作用在于表明被開發系統的范圍以及它和周圍環境的數據交換關系。
下一步對頂層數據流程圖中的“處理”進行分解,分解為更多的“處理”。數據流程圖分多少層次應根據現實際情況而定,對于一個復雜的大系統,有時可分至七八層之多。為了提高規范化程度,有必要對圖中各個元素加以編號。通常在編號之首冠以字母,用以表示不同的元素。
四、結束語
DFD 是描述信息流和數據從移動到輸出的過程中所經受的變換的圖形化技術。一般形式由數據流、加工、文件、源點/匯點組成。本文分析DFD方法及其實現,并通過給出了實現流圖的方法。
參考文獻:
[1]秦良娟何鉞毛寧韓新民:系統建模方法比較及DFD圖方法的改進 [J].計算機應用研究,1998年03期
[2]盧新元:基于電子商務的第三方物流配送信息系統研究[D]. 武漢理工大學碩士學位論文,2003.05