軟件設計的啓發規則---層次圖,HIPO圖和結構圖----畫數據流圖

1、軟件設計的啓發規則有那些?
答:1.改進軟件結構提高模塊獨立性
2. 模塊規模應該適中
3.深度、寬度、扇出和扇入都應適當
4.模塊的作用域應該在控制域之內
5.力爭降低模塊接口的複雜程度
6.設計單入口單出口的模塊
7.模塊功能應該可以預測
2、層次圖,HIPO圖和結構圖有那些不同?
答:
​ 層次模塊結構圖主要關心的是模塊的外部屬性,即上下級模塊、同級模塊之間的數據傳遞和調用關係,而並不關心模塊的內部。換句話說也就是隻關心它是什麼,它能夠做什麼的問題,而不關心它是如何去做的(這一部分內容由下面的IPO圖解決)。
HIPO圖:即層次圖+輸入/處理/輸出圖的英文縮寫,由一張H圖和一組IPO圖組成。
H圖,是給每個模塊加上編號的層次圖。
IPO圖,要爲H圖中的每個模塊畫一張IPO圖。通常將HIPO圖作爲軟件結構的描繪,列入設計文檔.
功能結構圖:功能結構圖就是按照功能的從屬關係畫成的圖表,圖中的每一個框都稱爲一個功能模塊。功能模塊可以根據具體情況分的大一點或小一點,分解得最小功能模塊可以是一個程序中的每個處理過程,而較大的功能模塊則可能是完成某一個任務的一組程序。功能結構圖是對硬件、軟件、解決方案等進行解剖,詳細描述功能列表的結構,構成,剖面的從大到小,從粗到細,從上到下等而描繪或畫出來的結構圖。從概念上講,上層功能包括 (或控制)下層功能,愈上層功能愈籠統,愈下層功能愈具體。功能分解的過程就是一個由抽象到具體、由複雜到簡單的過程。圖中每一個框稱爲一個功能模塊。功能模塊可以根據具體情況分得大一點或小一點。分解得最小的功能模塊可以是一個程序中的每個處理過程,而較大的功能模塊則可能是完成某一任務的一組程序。​

3、畫數據流圖用到那些符號?有那些步驟?
數據流圖(DFD)
數據流圖,簡稱DFD,是SA方法中用於表示系統邏輯模型的一種工具,它以圖形的方式描繪數據在系統中流動和處理的過程,由於它只反映系統必須完成的邏輯功能,所以它是一種功能模型。
數據流圖有四種基本圖形符號:
——>箭頭,表示數據流;
〇:圓或橢圓,表示加工;
= :雙槓,表示數據存儲;
□:方框,表示數據的源點或終點。
(1) 數據流。數據流是數據在系統內傳播的路徑,因此由一組成分固定的數據組成。如訂票單由旅客姓名、年齡、單位、身份證號、日期、目的地等數據項組成。由於數據流是流動中的數據,所以必須有流向,除了與數據存儲之間的數據流不用命名外,數據流應該用名詞或名詞短語命名。
(2)加工(又稱爲數據處理)。對數據流進行某些操作或變換。每個加工也要有名字,通常是動詞短語,簡明地描述完成什麼加工。在分層的數據流圖中,加工還應編號。
(3)數據存儲(又稱爲文件),指暫時保存的數據,它可以是數據庫文件或任何形式的數據組織。
(4)數據源點或終點,是本軟件系統外部環境中的實體(包括人員、組織或其他軟件系統),統稱外部實體。一般只出現在數據流圖的頂層圖。
畫數據流圖步驟:
​(1)首先畫系統的輸入輸出,即先畫頂層數據流圖。頂層流圖只包含一個加工,用以表示被開發的系統,然後考慮該系統有哪些輸入數據、輸出數據流。頂層圖的作用在於表明被開發系統的範圍以及它和周圍環境的數據交換關係。
(2)畫系統內部,即畫下層數據流圖。不再分解的加工稱爲基本加工。一般將層號從0開始編號,採用自頂向下,由外向內的原則。畫0層數據流圖時,分解頂層流圖的系統爲若干子系統,決定每個子系統間的數據接口和活動關係。
(3)注意事項。
①命名。不論數據流、數據存儲還是加工,合適的命名使人們易於理解其含義。
②畫數據流而不是控制流。數據流反映系統“做什麼”,不反映“如何做”,因此箭頭上的數據流名稱只能是名詞或名詞短語,整個圖中不反映加工的執行順序。
③一般不畫物質流。數據流反映能用計算機處理的數據,並不是實物,因此對目標系統的數據流圖一般不要畫物質流。
④每個加工至少有一個輸入數據流和一個輸出數據流,反映出此加工數據的來源與加工的結果。
⑤編號。如果一張數據流圖中的某個加工分解成另一張數據流圖時,則上層圖爲父圖,直接下層圖爲子圖。子圖及其所有的加工都應編號。
⑥父圖與子圖的平衡。子圖的輸入輸出數據流同父圖相應加工的輸入輸出數據流必須一致,此即父圖與子圖的平衡。
⑦局部數據存儲。當某層數據流圖中的數據存儲不是父圖中相應加工的外部接口,而只是本圖中某些加工之間的數據接口,則稱這些數據存儲爲局部數據存儲。
⑧提高數據流圖的易懂性。注意合理分解,要把一個加工分解成幾個功能相對獨立的子加工,這樣可以減少加工之間輸入、輸出數據流的數目,增加數據流圖的可理解性

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章