【正文】
計 餐廳 書房 主臥室 浴室 臥室 2 廚房 樓梯 走廊 大門 臥室 2 餐廳 廚房 樓梯 走廊 浴室 主臥室 書房 大門 臥室 2 餐廳 廚房 樓梯 走廊 浴室 主臥室 書房 大門 最初版 第二版 第三版 南 改進(jìn)軟件結(jié)構(gòu)設(shè)計的指導(dǎo)原則 (軟件結(jié)構(gòu)設(shè)計的啟發(fā)式規(guī)則 ) (1)模塊功能的完善化 (2)消除重復(fù)功能 (3)將模塊的影響限制在模塊的控制范圍內(nèi) (4)深度、寬度、扇出和扇入適中 (5)模塊大小適中 (6)降低模塊接口的復(fù)雜性 (7)模塊功能可預(yù)測 (8)避免模塊的病態(tài)連接 (9)根據(jù)設(shè)計約束和可移植性要對軟件打包 (1) 模塊功能的完善化 完整的模塊應(yīng)包括三部分: (1)執(zhí)行規(guī)定功能部分 (2)出錯處理部分 (3)需返回給調(diào)用者數(shù)據(jù)時, 返回是否正確結(jié)束標(biāo)志。 (7) 模塊功能可預(yù)測 模塊看成黑盒子,相同輸入產(chǎn)生 相同輸出,其功能為可預(yù)測的。難理解、難測試、 難維護(hù)。 但如任意限制局部數(shù)據(jù)結(jié)構(gòu)的 大小,過分限制控制流中可做的選 擇或外部接口的模式,模塊功能就 過分局限,使用范圍過分狹窄,缺 乏靈活性和可擴(kuò)充性。 (過程設(shè)計 、 模塊設(shè)計 ) 主要任務(wù): 編寫詳細(xì)設(shè)計說明書 為此,設(shè)計人員應(yīng): (1)確定每個模塊的算法,用工具 表達(dá)算法的過程,寫出模塊的 詳細(xì)過程性描述。 (3)確定模塊接口細(xì)節(jié)。 結(jié)構(gòu)化程序設(shè)計 (SP)方法 傳統(tǒng)的設(shè)計技術(shù)和舊觀念 : ?強(qiáng)調(diào)設(shè)計的隨意性 ,具有濃厚的個人色彩 . ?追求程序效率和個人設(shè)計技巧 新的設(shè)計思想和風(fēng)格 : ?清晰第一 ?使用標(biāo)準(zhǔn)的、規(guī)范的控制結(jié)構(gòu) ?逐步細(xì)化 詳細(xì)設(shè)計的描述方法 詳細(xì)設(shè)計工具: (1) 圖形工具 (2) 表格工具 (3) 語言工具 1. 程序流程圖 2. 盒圖 (NS圖 ) 3. 問題分析圖 (PAD) 4. 過程設(shè)計語言 (PDL)(偽碼 ) 5. 判定表 2. 盒圖 (NS圖 ) 用方框圖代替?zhèn)鹘y(tǒng)的流程圖 描述五種基本控制結(jié)構(gòu)的圖形構(gòu)件 (1) 順序型 A B C (2) 選擇型 ( If – then – else) If – then – else If – then A B F 條件 T A F T 條件 then –部分 then –部分 else–部分 (3)多分支選擇型 (CASE型 ) A1 值 1 A2 An .... .... 條件 值 2 值 n (4) WHILE重復(fù)型 (5) UNTIL重復(fù)型 S (循環(huán)體) DOWHILE P S (循環(huán)體) REPEAT UNTIL P (先測試循環(huán) ) (后測試循環(huán) ) 循環(huán)條件 (6) 并行結(jié)構(gòu) A1 A2 An .... (7) 移出標(biāo)記 A C B F X6 T A: D (調(diào)用結(jié)構(gòu) ) 3. 問題分析圖 (PAD) (Problem Analysis Diagram) 基本控制結(jié)構(gòu) : (1)順序結(jié)構(gòu) (2)選擇結(jié)構(gòu) A B C A B T F 條件 (3)重復(fù)結(jié)構(gòu) WHILE C S UNTIL C S (先測試循環(huán) ) (后測試循環(huán) ) 等價的 PASCAL語言: REPEAT C UNTIL S 等價的 PASCAL語言: WHILE C DO S (4) 多分支選擇型 (CASE型 ) A1 值 1 值 2 值 n A2 An . . . . . . 條件