研究下DFD
數(shù)據(jù)流圖,簡稱DFD,是SA方法中用于表示系統(tǒng)邏輯模型的一種工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和處理的過程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型。
下圖是一個飛機機票預訂系統(tǒng)的數(shù)據(jù)流圖,它反映的功能是:旅行社把預訂機票的旅客信息 (姓名、年齡、單位、身份證號碼、旅行時間、目的地等)輸入機票預訂系統(tǒng)。系統(tǒng)為旅客安排航班,打印出取票通知單(附有應交的賬款)。旅客在飛機起飛的前一天憑取票通知單交款取票,系統(tǒng)檢驗無誤,輸出機票給旅客。
3.3.1 基本圖形符號
數(shù)據(jù)流圖有四種基本圖形符號:
:箭頭,表示數(shù)據(jù)流;
??? 〇:圓或橢圓,表示加工;
??? = :雙杠,表示數(shù)據(jù)存儲;
??? □:方框,表示數(shù)據(jù)的源點或終點。
????? (1) 數(shù)據(jù)流。數(shù)據(jù)流是數(shù)據(jù)在系統(tǒng)內(nèi)傳播的路徑,因此由一組成分固定的數(shù)據(jù)組成。如訂票單由旅客姓名、年齡、單位、身份證號、日期、目的地等數(shù)據(jù)項組成。由于數(shù)據(jù)流是流動中的數(shù)據(jù),所以必須有流向,除了與數(shù)據(jù)存儲之間的數(shù)據(jù)流不用命名外,數(shù)據(jù)流應該用名詞或名詞短語命名。
????? (2)加工(又稱為數(shù)據(jù)處理)。對數(shù)據(jù)流進行某些操作或變換。每個加工也要有名字,通常是動詞短語,簡明地描述完成什么加工。在分層的數(shù)據(jù)流圖中,加工還應編號。
????? (3)數(shù)據(jù)存儲(又稱為文件),指暫時保存的數(shù)據(jù),它可以是數(shù)據(jù)庫文件或任何形式的數(shù)據(jù)組織。
????? (4)數(shù)據(jù)源點或終點,是本軟件系統(tǒng)外部環(huán)境中的實體(包括人員、組織或其他軟件系統(tǒng)),統(tǒng)稱外部實體。一般只出現(xiàn)在數(shù)據(jù)流圖的頂層圖。
3.3.2畫數(shù)據(jù)流圖的步驟
????? (1)首先畫系統(tǒng)的輸入輸出,即先畫頂層數(shù)據(jù)流圖。頂層流圖只包含一個加工,用以表示被開發(fā)的系統(tǒng),然后考慮該系統(tǒng)有哪些輸入數(shù)據(jù)、輸出數(shù)據(jù)流。頂層圖的作用在于表明被開發(fā)系統(tǒng)的范圍以及它和周圍環(huán)境的數(shù)據(jù)交換關系。下圖為飛機機票預訂系統(tǒng)的頂層圖。 (2)畫系統(tǒng)內(nèi)部,即畫下層數(shù)據(jù)流圖。不再分解的加工稱為基本加工。一般將層號從0開始編號,采用自頂向下,由外向內(nèi)的原則。畫0層數(shù)據(jù)流圖時,分解頂層流圖的系統(tǒng)為若干子系統(tǒng),決定每個子系統(tǒng)間的數(shù)據(jù)接口和活動關系。例如,在上面的機票預訂系統(tǒng)按功能可分成兩部分,一部分為旅行社預訂機票,另一部分為旅客取票,兩部分通過機票文件的數(shù)據(jù)存儲聯(lián)系起來,0層數(shù)據(jù)流圖如圖3-4。
????? (3)注意事項。
????? ①命名。不論數(shù)據(jù)流、數(shù)據(jù)存儲還是加工,合適的命名使人們易于理解其含義。
????? ②畫數(shù)據(jù)流而不是控制流。數(shù)據(jù)流反映系統(tǒng)“做什么”,不反映“如何做”,因此箭頭上的數(shù)據(jù)流名稱只能是名詞或名詞短語,整個圖中不反映加工的執(zhí)行順序。
????? ③一般不畫物質(zhì)流。數(shù)據(jù)流反映能用計算機處理的數(shù)據(jù),并不是實物,因此對目標系統(tǒng)的數(shù)據(jù)流圖一般不要畫物質(zhì)流。
????? ④每個加工至少有一個輸入數(shù)據(jù)流和一個輸出數(shù)據(jù)流,反映出此加工數(shù)據(jù)的來源與加工的結果。
????? ⑤編號。如果一張數(shù)據(jù)流圖中的某個加工分解成另一張數(shù)據(jù)流圖時,則上層圖為父圖,直接下層圖為子圖。子圖及其所有的加工都應編號。 ⑥父圖與子圖的平衡。子圖的輸入輸出數(shù)據(jù)流同父圖相應加工的輸入輸出數(shù)據(jù)流必須一致,此即父圖與子圖的平衡。
????? ⑦局部數(shù)據(jù)存儲。當某層數(shù)據(jù)流圖中的數(shù)據(jù)存儲不是父圖中相應加工的外部接口,而只是本圖中某些加工之間的數(shù)據(jù)接口,則稱這些數(shù)據(jù)存儲為局部數(shù)據(jù)存儲。
????? ⑧提高數(shù)據(jù)流圖的易懂性。注意合理分解,要把一個加工分解成幾個功能相對獨立的子加工,這樣可以減少加工之間輸入、輸出數(shù)據(jù)流的數(shù)目,增加數(shù)據(jù)流圖的可理解性。
圖3-6給出了采用這套符號畫出的等價于圖3-2的DFD。 3.3.3流程圖的實例
下圖是一個飛機機票預訂系統(tǒng)的數(shù)據(jù)流圖,它反映的功能是:旅行社把預訂機票的旅客信息 (姓名、年齡、單位、身份證號碼、旅行時間、目的地等)輸入機票預訂系統(tǒng)。系統(tǒng)為旅客安排航班,打印出取票通知單(附有應交的賬款)。旅客在飛機起飛的前一天憑取票通知單交款取票,系統(tǒng)檢驗無誤,輸出機票給旅客。
3.3.1 基本圖形符號
數(shù)據(jù)流圖有四種基本圖形符號:
:箭頭,表示數(shù)據(jù)流;
??? 〇:圓或橢圓,表示加工;
??? = :雙杠,表示數(shù)據(jù)存儲;
??? □:方框,表示數(shù)據(jù)的源點或終點。
????? (1) 數(shù)據(jù)流。數(shù)據(jù)流是數(shù)據(jù)在系統(tǒng)內(nèi)傳播的路徑,因此由一組成分固定的數(shù)據(jù)組成。如訂票單由旅客姓名、年齡、單位、身份證號、日期、目的地等數(shù)據(jù)項組成。由于數(shù)據(jù)流是流動中的數(shù)據(jù),所以必須有流向,除了與數(shù)據(jù)存儲之間的數(shù)據(jù)流不用命名外,數(shù)據(jù)流應該用名詞或名詞短語命名。
????? (2)加工(又稱為數(shù)據(jù)處理)。對數(shù)據(jù)流進行某些操作或變換。每個加工也要有名字,通常是動詞短語,簡明地描述完成什么加工。在分層的數(shù)據(jù)流圖中,加工還應編號。
????? (3)數(shù)據(jù)存儲(又稱為文件),指暫時保存的數(shù)據(jù),它可以是數(shù)據(jù)庫文件或任何形式的數(shù)據(jù)組織。
????? (4)數(shù)據(jù)源點或終點,是本軟件系統(tǒng)外部環(huán)境中的實體(包括人員、組織或其他軟件系統(tǒng)),統(tǒng)稱外部實體。一般只出現(xiàn)在數(shù)據(jù)流圖的頂層圖。
3.3.2畫數(shù)據(jù)流圖的步驟
????? (1)首先畫系統(tǒng)的輸入輸出,即先畫頂層數(shù)據(jù)流圖。頂層流圖只包含一個加工,用以表示被開發(fā)的系統(tǒng),然后考慮該系統(tǒng)有哪些輸入數(shù)據(jù)、輸出數(shù)據(jù)流。頂層圖的作用在于表明被開發(fā)系統(tǒng)的范圍以及它和周圍環(huán)境的數(shù)據(jù)交換關系。下圖為飛機機票預訂系統(tǒng)的頂層圖。 (2)畫系統(tǒng)內(nèi)部,即畫下層數(shù)據(jù)流圖。不再分解的加工稱為基本加工。一般將層號從0開始編號,采用自頂向下,由外向內(nèi)的原則。畫0層數(shù)據(jù)流圖時,分解頂層流圖的系統(tǒng)為若干子系統(tǒng),決定每個子系統(tǒng)間的數(shù)據(jù)接口和活動關系。例如,在上面的機票預訂系統(tǒng)按功能可分成兩部分,一部分為旅行社預訂機票,另一部分為旅客取票,兩部分通過機票文件的數(shù)據(jù)存儲聯(lián)系起來,0層數(shù)據(jù)流圖如圖3-4。
????? (3)注意事項。
????? ①命名。不論數(shù)據(jù)流、數(shù)據(jù)存儲還是加工,合適的命名使人們易于理解其含義。
????? ②畫數(shù)據(jù)流而不是控制流。數(shù)據(jù)流反映系統(tǒng)“做什么”,不反映“如何做”,因此箭頭上的數(shù)據(jù)流名稱只能是名詞或名詞短語,整個圖中不反映加工的執(zhí)行順序。
????? ③一般不畫物質(zhì)流。數(shù)據(jù)流反映能用計算機處理的數(shù)據(jù),并不是實物,因此對目標系統(tǒng)的數(shù)據(jù)流圖一般不要畫物質(zhì)流。
????? ④每個加工至少有一個輸入數(shù)據(jù)流和一個輸出數(shù)據(jù)流,反映出此加工數(shù)據(jù)的來源與加工的結果。
????? ⑤編號。如果一張數(shù)據(jù)流圖中的某個加工分解成另一張數(shù)據(jù)流圖時,則上層圖為父圖,直接下層圖為子圖。子圖及其所有的加工都應編號。 ⑥父圖與子圖的平衡。子圖的輸入輸出數(shù)據(jù)流同父圖相應加工的輸入輸出數(shù)據(jù)流必須一致,此即父圖與子圖的平衡。
????? ⑦局部數(shù)據(jù)存儲。當某層數(shù)據(jù)流圖中的數(shù)據(jù)存儲不是父圖中相應加工的外部接口,而只是本圖中某些加工之間的數(shù)據(jù)接口,則稱這些數(shù)據(jù)存儲為局部數(shù)據(jù)存儲。
????? ⑧提高數(shù)據(jù)流圖的易懂性。注意合理分解,要把一個加工分解成幾個功能相對獨立的子加工,這樣可以減少加工之間輸入、輸出數(shù)據(jù)流的數(shù)目,增加數(shù)據(jù)流圖的可理解性。
圖3-6給出了采用這套符號畫出的等價于圖3-2的DFD。 3.3.3流程圖的實例
轉(zhuǎn)載于:https://www.cnblogs.com/liyejun/archive/2009/10/12/1581566.html
總結
- 上一篇: Linux 腾讯云服务器账户创建流程
- 下一篇: 圆桌会回顾 | SecureBoost: