浙大軟件工程03_第1頁
浙大軟件工程03_第2頁
浙大軟件工程03_第3頁
浙大軟件工程03_第4頁
浙大軟件工程03_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第五章 詳細(xì)設(shè)計(jì)結(jié)構(gòu)程序設(shè)計(jì)詳細(xì)設(shè)計(jì)的工具Jackson程序設(shè)計(jì)方法Warnier程序設(shè)計(jì)方法程序復(fù)雜程度的定量度量結(jié)構(gòu)程序設(shè)計(jì)自頂向下逐步求精具有單入、單出的控制結(jié)構(gòu)(取消GOTO語句)五種控制結(jié)構(gòu)順序結(jié)構(gòu)選擇結(jié)構(gòu)先判斷循環(huán)結(jié)構(gòu)后判斷循環(huán)結(jié)構(gòu)多選擇結(jié)構(gòu)結(jié)構(gòu)程序設(shè)計(jì)(1) 順序結(jié)構(gòu)(2) 選擇結(jié)構(gòu)ABPBAFT(3) 先判定型循環(huán)結(jié)構(gòu)TPSF結(jié)構(gòu)程序設(shè)計(jì)(4) 后判定型循環(huán)結(jié)構(gòu)(until-loop structure)FSTP(5) 多情況選擇(case structure)TA1FP=1TA2FP=2TAnFP=n結(jié)構(gòu)程序設(shè)計(jì)任何復(fù)雜的程序流程圖都應(yīng)由以上五種基本結(jié)構(gòu)組合而成。優(yōu)點(diǎn)容易掌握

2、,且歷史“悠久”,使用廣泛。缺點(diǎn)本質(zhì)上不具備逐步求精的特點(diǎn),對(duì)于提高大型系統(tǒng)的可理解性作用甚微;不易表示數(shù)據(jù)結(jié)構(gòu);轉(zhuǎn)移控制太方便。詳細(xì)設(shè)計(jì)的工具5.2.1 程序流程圖5.2.2 盒圖(N_S圖)5.2.3 PAD圖5.2.4 判定表5.2.5 判定樹5.2.6 過程設(shè)計(jì)語言(PDL)5.2.7 模塊開發(fā)文件夾詳細(xì)設(shè)計(jì)的工具程序流程圖詳細(xì)設(shè)計(jì)的工具程序流程圖詳細(xì)設(shè)計(jì)的工具盒圖(N_S圖)詳細(xì)設(shè)計(jì)的工具盒圖(N_S圖) 例子詳細(xì)設(shè)計(jì)的工具盒圖(N_S圖)特點(diǎn)沒有箭頭,不允許隨意轉(zhuǎn)移控制每個(gè)矩形框(Case中條件取值例外)都是一個(gè)功能域(即一個(gè)特定結(jié)構(gòu)的作用域),結(jié)構(gòu)表示明確局部及全程數(shù)據(jù)的作用域易

3、見易表現(xiàn)嵌套關(guān)系(embedded structure)以及模塊的層 次結(jié)構(gòu)詳細(xì)設(shè)計(jì)的工具問題分析圖(PDA圖)詳細(xì)設(shè)計(jì)的工具盒圖和PDA圖的轉(zhuǎn)換x4TFDo-Until x5ighfkx1TFbDo-Until x6aj詳細(xì)設(shè)計(jì)的工具開始 結(jié)束 aj Until x5i Until x6bx1kfx4gh盒圖和PDA圖的轉(zhuǎn)換詳細(xì)設(shè)計(jì)的工具問題分析圖(PDA圖)特點(diǎn)結(jié)構(gòu)清晰,層次分明,易讀支持逐步求精的設(shè)計(jì)思想容易將PAD自動(dòng)轉(zhuǎn)換為高級(jí)語言源程序詳細(xì)設(shè)計(jì)的工具判定表與判定樹表示復(fù)雜的條件組合與應(yīng)做動(dòng)作之間的對(duì)應(yīng)關(guān)系判定表與判定樹并不適用于作為一種通用的設(shè)計(jì)工具,通常將之用于輔助測(cè)試?yán)? 航空行

4、李托運(yùn)費(fèi)的算法按規(guī)定:重量不超過30公斤的行李可免費(fèi)托運(yùn)。重量超過30公斤時(shí),對(duì)超運(yùn)部分,頭等艙國內(nèi)乘客收4元/公斤;其它艙位國內(nèi)乘客收6元/公斤;外國乘客收費(fèi)為國內(nèi)乘客的2倍;殘疾乘客的收費(fèi)為正常乘客的1/2。 詳細(xì)設(shè)計(jì)的工具規(guī)則 規(guī)則數(shù) 條件 動(dòng)作詳細(xì)設(shè)計(jì)的工具行李費(fèi)算法行李重量W 30行李重量W 30免費(fèi)國內(nèi)乘客外國乘客頭等艙其他艙殘疾乘客正常乘客(W-30) 2(W-30) 4殘疾乘客正常乘客(W-30) 3(W-30) 6頭等艙其他艙殘疾乘客正常乘客(W-30) 4(W-30) 8殘疾乘客正常乘客(W-30) 6(W-30) 12用判定樹表示計(jì)算行李費(fèi)的算法詳細(xì)設(shè)計(jì)的工具過程設(shè)計(jì)語言

5、(PDL)應(yīng)具備特點(diǎn)關(guān)鍵字有固定的語法處理特點(diǎn)用自然語言描述有數(shù)據(jù)說明有子程序定義與調(diào)用機(jī)制詳細(xì)設(shè)計(jì)的工具過程設(shè)計(jì)語言(PDL)優(yōu)點(diǎn)易于實(shí)現(xiàn)由PDL到源代碼的自動(dòng)轉(zhuǎn)換缺點(diǎn)不夠直觀模塊開發(fā)文件夾 記錄模塊開發(fā)過程的文檔Jackson程序設(shè)計(jì)方法5.3.1 Jackson圖5.3.2 改進(jìn)的Jackson圖5.3.3 Jackson方法Jackson程序設(shè)計(jì)方法Jackson圖(改進(jìn))以數(shù)據(jù)結(jié)構(gòu)(data structure)為基礎(chǔ)設(shè)計(jì)每個(gè)模塊的處理過程ABCABoCoSAB*I 順序 選擇 重復(fù) 改進(jìn)的Jackson圖Jackson程序設(shè)計(jì)方法Jackson方法(具體示例見P90)步驟用Jack

6、son圖描述 IO 的數(shù)據(jù)結(jié)構(gòu)在兩個(gè)圖中指出有直接因果關(guān)系(causality)、可以同時(shí)處理的單元(重復(fù)的次序,次數(shù)均相同)把有對(duì)應(yīng)關(guān)系的單元合為一個(gè)處理框,畫在相應(yīng)的層次中(不同層以低層為準(zhǔn))列出所有操作條件,并分配到上幅程序結(jié)構(gòu)圖中用偽代碼(Pseudocode) 表示程序。Warnier程序設(shè)計(jì)方法5.4.1 Warnier方法5.4.2 Warnier方法的輔助技術(shù)Warnier程序設(shè)計(jì)方法Warnier方法步驟(示例見P96)用Warnier 圖描述IO的數(shù)據(jù)結(jié)構(gòu)導(dǎo)出程序結(jié)構(gòu),用Warnier圖描繪程序的處理層次畫出程序流程圖,并將每個(gè)處理框編號(hào)分類寫出偽碼將前一步分類結(jié)果標(biāo)號(hào)排序

7、,得到處理過程的偽碼Warnier方法的輔助技術(shù)當(dāng)IO 數(shù)據(jù)有多個(gè)時(shí),借助判定表程序復(fù)雜程度的定量度量5.5.1 McCode方法5.5.2 Halstead方法程序復(fù)雜程度的定量度量McCode方法由程序流程圖導(dǎo)出程序圖TOTAL=TOTAL+AK+輸入A輸出K, L, TOTAL停止T開始K=0L=0TOTAL=0輸入ADo While TOTAL0TL+Fa(開始)b(入口)cdefghij(出口)k(停止)導(dǎo)出程序復(fù)雜程度的定量度量McCode方法計(jì)算復(fù)雜度V(G) = m - n + p其中V(G) 為強(qiáng)連通有向圖G中線性無關(guān)環(huán)的個(gè)數(shù)(稱為 ;m 是邊數(shù); n 是 節(jié) 點(diǎn) 數(shù);p 是G中連通集的數(shù)目程序復(fù)雜程度的定量度量McCode方法實(shí)例計(jì)算a(開始)b(入口)cdefghij(出口)k(停止)注意:對(duì)于一個(gè)正常的程序,其CFG應(yīng)是連通的,即p = 1.通常程序圖不是強(qiáng)連通的,故須從出口到入口畫一條

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論