數(shù)據(jù)流圖畫法要求_第1頁(yè)
數(shù)據(jù)流圖畫法要求_第2頁(yè)
數(shù)據(jù)流圖畫法要求_第3頁(yè)
數(shù)據(jù)流圖畫法要求_第4頁(yè)
數(shù)據(jù)流圖畫法要求_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、數(shù)據(jù)流圖(DFD)畫法要求一、數(shù)據(jù)流圖(DFD)1.數(shù)據(jù)流圖的基本符號(hào) 數(shù)據(jù)流圖由四種基本符號(hào)組成,見圖541所示。 圖541 數(shù)據(jù)流圖的基本符號(hào) 例:圖542是一個(gè)簡(jiǎn)單的數(shù)據(jù)流圖,它表示數(shù)據(jù)X從源S流出,經(jīng)P加工轉(zhuǎn)換成Y,接著經(jīng)P加工轉(zhuǎn)換為Z,在加工過程中從F中讀取數(shù)據(jù)。圖542數(shù)據(jù)流圖舉例下面來詳細(xì)討論各基本符號(hào)的使用方法。 2.數(shù)據(jù)流數(shù)據(jù)流由一組確定的數(shù)據(jù)組成。例如“發(fā)票”為一個(gè)數(shù)據(jù)流,它由品名、規(guī)格、單位、單價(jià)、數(shù)量等數(shù)據(jù)組成。數(shù)據(jù)流用帶有名字的具有箭頭的線段表示,名字稱為數(shù)據(jù)流名,表示流經(jīng)的數(shù)據(jù),箭頭表示流向。數(shù)據(jù)流可以從加工流向加工,也可以從加工流進(jìn)、流出文件,還可以從源點(diǎn)流向加工

2、或從加工流向終點(diǎn)。對(duì)數(shù)據(jù)流的表示有以下約定:對(duì)流進(jìn)或流出文件的數(shù)據(jù)流不需標(biāo)注名字,因?yàn)槲募旧砭妥阋哉f明數(shù)據(jù)流。而別的數(shù)據(jù)流則必須標(biāo)出名字,名字應(yīng)能反映數(shù)據(jù)流的含義。數(shù)據(jù)流不允許同名。 兩個(gè)數(shù)據(jù)流在結(jié)構(gòu)上相同是允許的,但必須體現(xiàn)人們對(duì)數(shù)據(jù)流的不同理解。例如圖543(a)中的合理領(lǐng)料單與領(lǐng)料單兩個(gè)數(shù)據(jù)流,它們的結(jié)構(gòu)相同,但前者增加了合理性這一信息。 兩個(gè)加工之間可以有幾股不同的數(shù)據(jù)流,這是由于它們的用途不同,或它們之間沒有聯(lián)系,或它們的流動(dòng)時(shí)間不同,如圖543(b)所示。 (a) (b) (c)圖543 簡(jiǎn)單數(shù)據(jù)流圖舉例 數(shù)據(jù)流圖描述的是數(shù)據(jù)流而不是控制流。如圖5-4-3 (c)中,“月末”只是

3、為了激發(fā)加工“計(jì)算工資”,是一個(gè)控制流而不是數(shù)據(jù)流,所以應(yīng)從圖中刪去。3.加工處理加工處理是對(duì)數(shù)據(jù)進(jìn)行的操作,它把流入的數(shù)據(jù)流轉(zhuǎn)換為流出的數(shù)據(jù)流。每個(gè)加工處理都應(yīng)取一個(gè)名字表示它的含義,并規(guī)定一個(gè)編號(hào)用來標(biāo)識(shí)該加工在層次分解中的位置。名字中必須包含一個(gè)動(dòng)詞,例如“計(jì)算”、“打印”等。對(duì)數(shù)據(jù)加工轉(zhuǎn)換的方式有兩種:改變數(shù)據(jù)的結(jié)構(gòu),例如將數(shù)組中各數(shù)據(jù)重新排序; 產(chǎn)生新的數(shù)據(jù),例如對(duì)原來的數(shù)據(jù)總計(jì)、求平均等值。 4.文件 文件是存貯數(shù)據(jù)的工具。文件名應(yīng)與它的內(nèi)容一致,寫在開口長(zhǎng)條內(nèi)。從文件流入或流出數(shù)據(jù)流時(shí),數(shù)據(jù)流方向是很重要的。如果是讀文件,則數(shù)據(jù)流的方向應(yīng)從文件流出,寫文件時(shí)則相反;如果是又讀又寫

4、,則數(shù)據(jù)流是雙向的。在修改文件時(shí),雖然必須首先讀文件,但其本質(zhì)是寫文件,因此數(shù)據(jù)流應(yīng)流向文件,而不是雙向。 例如,在圖5-4-3 (a)中,檢查合理性加工時(shí),只從庫(kù)存帳目文件中讀出庫(kù)存信息與領(lǐng)料單核對(duì),所以數(shù)據(jù)流從文件流出,箭頭指向加工。5.數(shù)據(jù)源或終點(diǎn) 數(shù)據(jù)源和終點(diǎn)表示數(shù)據(jù)的外部來源和去處。它通常是系統(tǒng)之外的人員或組織,不受系統(tǒng)控制。為了避免在數(shù)據(jù)流圖上出現(xiàn)線條交叉,同一個(gè)源點(diǎn)、終點(diǎn)或文件均可在不同位置多次出現(xiàn),這時(shí)要在源(終)點(diǎn)符號(hào)的右下方畫小斜線,或在文件符號(hào)左邊畫豎線,以示重復(fù),如圖544所示。 圖544 重復(fù)的源點(diǎn)、終點(diǎn)或文件由上圖可見,數(shù)據(jù)流圖可通過基本符號(hào)直觀地表示系統(tǒng)的數(shù)據(jù)流程

5、、加工、存貯等過程。但它不能表達(dá)每個(gè)數(shù)據(jù)和加工的具體、詳細(xì)的含義,這些信息需要在“數(shù)據(jù)字典”和“加工說明”中表達(dá)。 6.DFD的畫法 一般遵循“由外向里”的原則,即先確定系統(tǒng)的邊界或范圍,再考慮系統(tǒng)的內(nèi)部,先畫加工的輸入和輸出,再畫加工的內(nèi)部。即: (1)識(shí)別系統(tǒng)的輸入和輸出。 (2)從輸入端至輸出端畫數(shù)據(jù)流和加工,并同時(shí)加上文件。 (3)加工的分解“ 由外向里”進(jìn)行分解。 (4)數(shù)據(jù)流的命名,名字要確切,能反映整體。 (5)各種符號(hào)布置要合理,分布均勻,盡量避免交叉線。 (6)先考慮穩(wěn)定態(tài),后考慮瞬間態(tài)。如系統(tǒng)啟動(dòng)后在正常工作狀態(tài),稍后再考慮系統(tǒng)的啟動(dòng)和終止?fàn)顟B(tài)。 對(duì)于不同的問題,數(shù)據(jù)流圖可

6、以有不同的畫法。一般情況下,應(yīng)該遵守“由外向里”的原則。即先確定系統(tǒng)的邊界或范圍,再考慮系統(tǒng)的內(nèi)部,先畫加工的輸入和輸出,再畫加工內(nèi)部。具體實(shí)行時(shí)可按下述步驟進(jìn)行:(1)識(shí)別系統(tǒng)的輸入和輸出,畫出頂層圖即確定系統(tǒng)的邊界。在系統(tǒng)分析初期,系統(tǒng)的功能需求等還不很明確,為了防止遺漏,不妨先將范圍定得大一些。系統(tǒng)邊界確定后,那么越過邊界的數(shù)據(jù)流就是系統(tǒng)的輸入或輸出,將輸入與輸出用加工符號(hào)連接起來,并加上輸入數(shù)據(jù)來源和輸出數(shù)據(jù)去向就形成了頂層圖。(2)畫系統(tǒng)內(nèi)部的數(shù)據(jù)流、加工與文件,畫出一級(jí)細(xì)化圖從系統(tǒng)輸入端到輸出端(也可反之),逐步用數(shù)據(jù)流和加工連接起來,當(dāng)數(shù)據(jù)流的組成或值發(fā)生變化時(shí),就在該處畫一個(gè)“

7、加工”符號(hào)。畫數(shù)據(jù)流圖時(shí)還應(yīng)同時(shí)畫上文件,以反映各種數(shù)據(jù)的存貯處,并表明數(shù)據(jù)流是流入還是流出文件。最后,再回過頭來檢查系統(tǒng)的邊界,補(bǔ)上遺漏但有用的輸入輸出數(shù)據(jù)流,刪去那些沒被系統(tǒng)使用的數(shù)據(jù)流。(3)加工的進(jìn)一步分解,畫出二級(jí)細(xì)化圖同樣運(yùn)用“由外向里”方式對(duì)每個(gè)加工進(jìn)行分析,如果在該加工內(nèi)部還有數(shù)據(jù)流,則可將該加工分成若干個(gè)子加工,并用一些數(shù)據(jù)流把子加工聯(lián)接起來,即可畫出二級(jí)細(xì)化圖。二級(jí)細(xì)化圖可在一級(jí)細(xì)化圖的基礎(chǔ)上畫出,也可單獨(dú)畫出該加工的二級(jí)細(xì)化圖,二級(jí)細(xì)化圖也稱為該加工的子圖。(4)其它注意事項(xiàng)一般應(yīng)先給數(shù)據(jù)流命名,再根據(jù)輸入/輸出數(shù)據(jù)流名的含義為加工命名。名字含義要確切,要能反映相應(yīng)的整體

8、。若碰到難以命名的情況,則很可能是分解不恰當(dāng)造成的。應(yīng)考慮重新分解。從左至右畫數(shù)據(jù)流圖。通常左側(cè)、右側(cè)分別是數(shù)據(jù)源和終點(diǎn),中間是一系列加工和文件。正式的數(shù)據(jù)流圖應(yīng)盡量避免線條交叉,必要時(shí)可用重復(fù)的數(shù)據(jù)源、終點(diǎn)和文件符號(hào)。此外,數(shù)據(jù)流圖中各種符號(hào)布置要合理,分布應(yīng)均勻。畫數(shù)據(jù)流圖是一項(xiàng)艱巨的工作,要做好重畫的思想準(zhǔn)備,重畫是為了消除隱患,有必要不斷改進(jìn)。因?yàn)樽鳛轫攲蛹庸ぬ幚淼母淖冇蚴谴_定的,所以改變域的分解是嚴(yán)格的自頂向下分解的。由于目標(biāo)系統(tǒng)目前還不存在,應(yīng)此分解時(shí)開發(fā)人員還需憑經(jīng)驗(yàn)進(jìn)行,這是一項(xiàng)創(chuàng)造性的勞動(dòng)。同時(shí),在建立目標(biāo)系統(tǒng)數(shù)據(jù)流圖時(shí),還應(yīng)充分利用本章講過的各種方法和技術(shù),例如:分解時(shí)盡量

9、減少各加工之間的數(shù)據(jù)流;數(shù)據(jù)流圖中各個(gè)成分的命名要恰當(dāng);父圖與子圖間要注意平衡等等。當(dāng)畫出分層數(shù)據(jù)流圖,并為數(shù)據(jù)流圖中各個(gè)成分編寫詞典條目或加工說明后,就獲得了目標(biāo)系統(tǒng)的初步邏輯模型。二、畫分層數(shù)據(jù)流圖時(shí)應(yīng)注意的問題 下面從四個(gè)方面討論畫分層數(shù)據(jù)流圖時(shí)應(yīng)注意的問題。1合理編號(hào)分層數(shù)據(jù)流圖的頂層稱為0層,稱它是第1層的父圖,而第1層既是0層圖的子圖,又是第2層圖的父圖,依此類推。由于父圖中有的加工可能就是功能單元,不能再分解,因此父圖擁有的子圖數(shù)少于或等于父圖中的加工個(gè)數(shù)。為了便于管理,應(yīng)按下列規(guī)則為數(shù)據(jù)流圖中的加工編號(hào):l 子圖中的編號(hào)為父圖號(hào)和子加工的編號(hào)組成。l 子圖的父圖號(hào)就是父圖中相應(yīng)

10、加工的編號(hào)。為簡(jiǎn)單起見,約定第1層圖的父圖號(hào)為0,編號(hào)只寫加工編號(hào)1、2、3.,下面各層由父圖號(hào)1、1.1等加上子加工的編號(hào)1、2、3.組成。按上述規(guī)則,圖的編號(hào)即能反映出它所屬的層次以及它的父圖編號(hào)的信息,還能反映子加工的處理信息。例如1表示第1層圖的1號(hào)加工處理,1.1、1.2、1.3.表示父圖為1號(hào)加工的子加工,1.3.1、1.3.2、1.3.3.表示父圖號(hào)為1.3加工的子加工。為了方便,對(duì)數(shù)據(jù)流圖中的每個(gè)加工,可以只標(biāo)出局部號(hào),但在加工說明中,必須使用完整的編號(hào)。例如圖5-4-5可表示第1層圖的1號(hào)加工的子圖,編號(hào)可以簡(jiǎn)化成圖中的形式。圖5-4-5 簡(jiǎn)化子圖編號(hào)示例2注意子圖與父圖的平

11、衡子圖與父圖的數(shù)據(jù)流必須平衡,這是分層數(shù)據(jù)流的重要性質(zhì)。這里的平衡指的是子圖的輸入、輸出數(shù)據(jù)流必須與父圖中對(duì)應(yīng)加工的輸入、輸出數(shù)據(jù)流相同。但下列兩種情況是允許的,一是子圖的輸入/輸出流比父圖中相應(yīng)加工的輸入/輸出流表達(dá)得更細(xì)。例如,在圖546中,若父圖的“訂貨單”數(shù)據(jù)流是由客戶、品種、帳號(hào)、數(shù)量四部分組成,則圖中的子圖和父圖是平衡的。在實(shí)際中,檢查該類情況的平衡,需借助于數(shù)據(jù)詞典進(jìn)行。二是考慮平衡時(shí),可以忽略枝節(jié)性的數(shù)據(jù)流。例如圖5-4-6,在4號(hào)加工的子圖中4.3號(hào)子加工中增加了一個(gè)輸出,表示出錯(cuò)的數(shù)據(jù)流(由虛線所示),則子圖和父圖仍可看作是平衡的。 3局部文件圖5-4-7中的父圖和子圖是平

12、衡的,但子圖中的文件W并沒在父圖中出現(xiàn)。這是由于對(duì)文件W的讀、寫完全局限在加工3.3之內(nèi),在父圖中各個(gè)加工之間的界面上不出現(xiàn),該文件是子圖的局部文件或?yàn)榕R時(shí)文件。 圖5-4-7 數(shù)據(jù)流圖中的局部文件 應(yīng)當(dāng)指出的是,如果一個(gè)臨時(shí)文件在某層數(shù)據(jù)流圖中的某些加工之間出現(xiàn),則在該層數(shù)據(jù)流圖中就必須畫出這個(gè)文件。一旦文件被單獨(dú)畫出,那么也需畫出這個(gè)文件同其它成分之間的聯(lián)系。4分解的程度對(duì)于規(guī)模較大的系統(tǒng)的分層數(shù)據(jù)流圖,如果一下子把加工直接分解成基本加工單元,一張圖上畫出過多的加工將使人難以理解,也增加了分解的復(fù)雜度。然而,如果每次分解產(chǎn)生的子加工太少,會(huì)使分解層次過多而增加作圖的工作量,閱讀也不方便。經(jīng)

13、驗(yàn)表明,一般說來一個(gè)加工每次分解量最多不要超過七個(gè)為宜。同時(shí),分解時(shí)應(yīng)遵循以下原則:l 分解應(yīng)自然,概念上要合理、清晰。l 上層可分解的快些(即分解成的子加工個(gè)數(shù)多些),這是因?yàn)樯蠈邮蔷C合性描述,對(duì)可讀性的影響小。而下層應(yīng)分解得慢些。l 在不影響可讀性的前提下,應(yīng)適當(dāng)?shù)囟喾纸獬蓭撞糠?以減少分解層數(shù)。l 一般說來,當(dāng)加工可用一頁(yè)紙明確地表述時(shí),或加工只有單一輸入/輸出數(shù)據(jù)流時(shí)(出錯(cuò)處理不包括在內(nèi)),就應(yīng)停止對(duì)該加工的分解。另外,對(duì)數(shù)據(jù)流圖中不再作分解的加工(即功能單元),必須作出詳細(xì)的加工說明,并且每個(gè)加工說明的編號(hào)必須與功能單元的編號(hào)一致。 三、數(shù)據(jù)流圖的修改 前面介紹了畫數(shù)據(jù)流圖的基本方法

14、。對(duì)于一個(gè)大型系統(tǒng)來說,由于在系統(tǒng)分析初期人們對(duì)于問題理解的深度不夠,在數(shù)據(jù)流圖上也不可避免地會(huì)存在某些缺陷或錯(cuò)誤。因此還需要進(jìn)行修改,才能得到完善的數(shù)據(jù)流圖。這里介紹如何從正確性和可讀性方面對(duì)數(shù)據(jù)流圖進(jìn)行改進(jìn)。1正確性數(shù)據(jù)流圖的正確性,可以從以下幾個(gè)方面來檢查:(1)數(shù)據(jù)守恒(2)文件使用在數(shù)據(jù)流圖中,文件與加工之間數(shù)據(jù)流的方向應(yīng)按規(guī)定認(rèn)真標(biāo)注,這樣也有利于對(duì)文件使用正確性的檢查。例如,在圖5-4-8中,因?yàn)槲募?和文件2是子圖的局部文件,所以在子圖中應(yīng)畫出對(duì)文件的全部引用。但子圖中文件2好象一個(gè)“滲井”,數(shù)據(jù)只流進(jìn)不流出,顯然是一個(gè)錯(cuò)誤。 圖5-4-8 局部文件使用錯(cuò)誤(3) 子、父圖平衡

15、造成子圖與父圖不平衡的一個(gè)常見原因是在增加或刪除一個(gè)加工時(shí),忽視了對(duì)相應(yīng)父圖或子圖的修改。在檢查數(shù)據(jù)流圖時(shí)應(yīng)注意這一點(diǎn)。(4) 加工與數(shù)據(jù)流的命名加工和數(shù)據(jù)流的名字必須體現(xiàn)被命名對(duì)象的全部?jī)?nèi)容而不是一部分。對(duì)于加工的名字,應(yīng)檢查它的含義與被加工的輸入/輸出數(shù)據(jù)流是否匹配。 一個(gè)加工的輸出數(shù)據(jù)流僅由它的輸入數(shù)據(jù)流確定,這個(gè)規(guī)則絕不能違背。數(shù)據(jù)不守恒的錯(cuò)誤有兩種,一是漏掉某些輸入數(shù)據(jù)流,二是某些輸入數(shù)據(jù)流在加工內(nèi)部沒有被使用。雖然有時(shí)后者并不一定是個(gè)錯(cuò)誤,但也要認(rèn)真考慮,對(duì)于確實(shí)無(wú)用的數(shù)據(jù)就應(yīng)該刪去,以簡(jiǎn)化加工之間的聯(lián)系。 在檢查數(shù)據(jù)流圖時(shí),應(yīng)注意消除控制流。2可讀性數(shù)據(jù)流圖的可讀性,可以從以下幾個(gè)方面來提高:(1)簡(jiǎn)化加工之間的聯(lián)系各加工之間的數(shù)據(jù)流越少,各加工的獨(dú)立性就越高。因此應(yīng)當(dāng)盡量減少加工之間數(shù)據(jù)流的數(shù)目,有必要時(shí)可采用后面要介紹的步驟對(duì)數(shù)據(jù)流圖重新分解。(2)分解應(yīng)當(dāng)均勻在同一張數(shù)據(jù)流圖上,應(yīng)避免出現(xiàn)某些加工已是功能單元,而另一些加工卻還應(yīng)繼續(xù)分解好幾層的情況出現(xiàn)。否則應(yīng)考慮重新分解。(3)命名應(yīng)當(dāng)恰當(dāng)理想的加工名由一個(gè)具體的動(dòng)詞和一個(gè)具體的賓語(yǔ)(名詞)組成。數(shù)據(jù)流和文件的名字也應(yīng)具體、明確。3. 數(shù)據(jù)流圖重新分解的步驟有時(shí)需要對(duì)作出的部分或全部數(shù)據(jù)流圖作重新分解,可按以下步驟進(jìn)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論