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