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