軟件工程基礎(chǔ)與實(shí)例分析第05章-詳細(xì)設(shè)計(jì)_第1頁(yè)
軟件工程基礎(chǔ)與實(shí)例分析第05章-詳細(xì)設(shè)計(jì)_第2頁(yè)
軟件工程基礎(chǔ)與實(shí)例分析第05章-詳細(xì)設(shè)計(jì)_第3頁(yè)
軟件工程基礎(chǔ)與實(shí)例分析第05章-詳細(xì)設(shè)計(jì)_第4頁(yè)
軟件工程基礎(chǔ)與實(shí)例分析第05章-詳細(xì)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、主要學(xué)習(xí)內(nèi)容詳細(xì)設(shè)計(jì)的過(guò)程詳細(xì)設(shè)計(jì)階段使用的工具面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法5.1 詳細(xì)設(shè)計(jì)的過(guò)程5.1.1 詳細(xì)設(shè)計(jì)的基本任務(wù)1算法設(shè)計(jì)用某種圖形、表格、語(yǔ)言等工具將每個(gè)模塊處理過(guò)程的詳細(xì)算法描述出來(lái)。2數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)對(duì)于需求分析、概要設(shè)計(jì)確定的概念性的數(shù)據(jù)類型進(jìn)行確切的定義。3物理設(shè)計(jì)對(duì)數(shù)據(jù)庫(kù)講行物理設(shè)計(jì),即確定數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)。物理結(jié)構(gòu)主要指數(shù)據(jù)庫(kù)的存儲(chǔ)記錄格式、存儲(chǔ)記錄安排和存儲(chǔ)方法,這些都依賴于具體所使用的數(shù)據(jù)庫(kù)系統(tǒng)。5.1 詳細(xì)設(shè)計(jì)的過(guò)程5.1.1 詳細(xì)設(shè)計(jì)的基本任務(wù)4其他設(shè)計(jì) (1)代碼設(shè)計(jì):為了提高數(shù)據(jù)的輸入、分類、存儲(chǔ)及檢索等操作的效率,對(duì)數(shù)據(jù)庫(kù)中的某些數(shù)據(jù)項(xiàng)的值要進(jìn)行代碼設(shè)計(jì)。 (

2、2)輸入/輸出格式設(shè)計(jì):對(duì)輸入/輸出數(shù)據(jù)格式進(jìn)行統(tǒng)一規(guī)格的設(shè)計(jì)。 (3)人機(jī)對(duì)話設(shè)計(jì):對(duì)于一個(gè)實(shí)時(shí)系統(tǒng),用戶與計(jì)算機(jī)需頻繁對(duì)話,因此,要進(jìn)行對(duì)話方式、內(nèi)容及格式的具體設(shè)計(jì)。5編寫詳細(xì)設(shè)計(jì)說(shuō)明書6評(píng)審對(duì)處理過(guò)程的算法和數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)要進(jìn)行評(píng)審。5.1.2 詳細(xì)設(shè)計(jì)方法1、自頂向下逐步求精2、具有單入、單出的控制結(jié)構(gòu)(取消GOTO語(yǔ)句)3、五種控制結(jié)構(gòu)順序結(jié)構(gòu)選擇結(jié)構(gòu)先判斷循環(huán)結(jié)構(gòu)后判斷循環(huán)結(jié)構(gòu)多選擇結(jié)構(gòu)5.2.1 程序流程圖5.2 詳細(xì)設(shè)計(jì)階段使用的工具在程序流程圖中采用三種控制結(jié)構(gòu)來(lái)實(shí)現(xiàn)單入口、單出口的程序 5.2 詳細(xì)設(shè)計(jì)階段使用的工具5.2.2盒圖(N_S圖)5.2 詳細(xì)設(shè)計(jì)階段使用的工

3、具盒圖(N_S圖) 例子5.2 詳細(xì)設(shè)計(jì)階段使用的工具5.2.3問(wèn)題分析圖(PDA圖)5.2 詳細(xì)設(shè)計(jì)階段使用的工具盒圖和PDA圖的轉(zhuǎn)換x4TFDo-Until x5ighfkx1TFbDo-Until x6aj5.2 詳細(xì)設(shè)計(jì)階段使用的工具開始 結(jié)束 aj Until x5i Until x6bx1kfx4gh盒圖和PDA圖的轉(zhuǎn)換5.2 詳細(xì)設(shè)計(jì)階段使用的工具5.2.4判定表與判定樹表示復(fù)雜的條件組合與應(yīng)做動(dòng)作之間的對(duì)應(yīng)關(guān)系判定表與判定樹并不適用于作為一種通用的設(shè)計(jì)工具,通常將之用于輔助測(cè)試?yán)? 航空行李托運(yùn)費(fèi)的算法按規(guī)定:重量不超過(guò)30公斤的行李可免費(fèi)托運(yùn)。重量超過(guò)30公斤時(shí),對(duì)超運(yùn)部分,

4、頭等艙國(guó)內(nèi)乘客收4元/公斤;其它艙位國(guó)內(nèi)乘客收6元/公斤;外國(guó)乘客收費(fèi)為國(guó)內(nèi)乘客的2倍;殘疾乘客的收費(fèi)為正常乘客的1/2。 5.2 詳細(xì)設(shè)計(jì)階段使用的工具規(guī)則 規(guī)則數(shù) 條件 動(dòng)作5.2 詳細(xì)設(shè)計(jì)階段使用的工具行李費(fèi)算法行李重量W 30行李重量W 30免費(fèi)國(guó)內(nèi)乘客外國(guó)乘客頭等艙其他艙殘疾乘客正常乘客(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)的算法5.2 詳細(xì)設(shè)計(jì)階段使用的工具5.2.5 過(guò)程設(shè)計(jì)語(yǔ)言(PDL)1、PDL特點(diǎn)關(guān)鍵字

5、有固定的語(yǔ)法自然語(yǔ)言的自由語(yǔ)法,它描述處理特點(diǎn)。數(shù)據(jù)說(shuō)明的手段。模塊定義和調(diào)用的技術(shù),應(yīng)該提供各種接口描述模式。2PDL程序結(jié)構(gòu)(1)順序結(jié)構(gòu)采用自然語(yǔ)言描述順序結(jié)構(gòu)處理S1處理S2處理Sn(2)選擇結(jié)構(gòu)1)IF-ELSE結(jié)構(gòu) IF 條件 IF 條件 處理S1 或 處理S1 ELSE ENDIF 處理S2 ENDIF3)CASE結(jié)構(gòu)CASE OFCASE(1)處理S1CASE(2)處理S2ELAE 處理SnENDCASE(4)循環(huán)結(jié)構(gòu)1)FOR結(jié)構(gòu) FOR i=1 TO n 循環(huán)體 ENDFOR2)WHILE結(jié)構(gòu) WHILE條件 循環(huán)體 ENDWHILE3)UNTIL結(jié)構(gòu) REPEAT循環(huán)體U

6、NTIL條件(5)出口結(jié)構(gòu) 1)ESCAPE結(jié)構(gòu)(退出本層結(jié)構(gòu)) WHILE條件 處理S1 ESCAPE L IF條件 處理S2 ENDWHILE L:2)CYCLE結(jié)構(gòu)(循環(huán)內(nèi)部進(jìn)入循環(huán)的下一次) L: WHILE條件 處理S1 CYCLE L IF條件 處理S2 ENDWHILE(6)擴(kuò)充結(jié)構(gòu)1)模塊定義 PROCEDURE 模塊名(參數(shù)) RETURN END2)模塊調(diào)用 CALL模塊名(參數(shù))3)數(shù)據(jù)定義 DECLARE 屬性 變量名, 屬性有字符、整型、實(shí)型、雙精度、指針、數(shù)組及結(jié)構(gòu)等類型。4)輸入輸出 GET(輸入變量表) PUT(輸出變量表) 3舉例理解PDL語(yǔ)言例如5.2查找拼

7、錯(cuò)單詞的程序- PROCEDURE查找拼錯(cuò)單詞 is BEGIN把這個(gè)文件分離成單詞查字典顯示字典中查不到的單詞造一新字典END 查找拼錯(cuò)單詞 對(duì)上面的算法細(xì)化 PROCEDURE 查找拼錯(cuò)單詞 BEGIN-* split document into single words LOOP get next word add word to word list in sortorder EXIT WHEN all words processed END LOOP -* look up words in dictionary LOOP get word from word list IF word

8、not in dictionary THEN -* display words not in dictionary display word prompt on user terminalIF user response says word OK THEN add word to good word lis ELSE add word to bad word list ENDIF ENDIF EXIT LOOP -* create a new words dictionary dictionary:= merge dictionary and good word list END spellc

9、heck5.2 詳細(xì)設(shè)計(jì)階段使用的工具過(guò)程設(shè)計(jì)語(yǔ)言(PDL)優(yōu)點(diǎn)易于實(shí)現(xiàn)由PDL到源代碼的自動(dòng)轉(zhuǎn)換缺點(diǎn)不夠直觀模塊開發(fā)文件夾 記錄模塊開發(fā)過(guò)程的文檔5.3 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法5.3.1 改進(jìn)的Jackson圖以數(shù)據(jù)結(jié)構(gòu)(data structure)為基礎(chǔ)設(shè)計(jì)每個(gè)模塊的處理過(guò)程ABCABoCoSAB*I 順序 選擇 重復(fù) 改進(jìn)的Jackson圖5.3 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法5.3.2 Jackson方法步驟(1)用Jackson圖描述 I/O 的數(shù)據(jù)結(jié)構(gòu)。(2)在兩個(gè)圖中指出有直接因果關(guān)系(causality)、可以同時(shí)處理的單元(重復(fù)的次序,次數(shù)均相同)。(3)把有對(duì)應(yīng)關(guān)系的單元合為一個(gè)

10、處理框,畫在相應(yīng)的層次中。(4)列出所有操作條件,并分配到上幅程序結(jié)構(gòu)圖中。(5)用偽代碼表示程序。例5.3一個(gè)正文文件由若干個(gè)記錄組成,每個(gè)記錄是一個(gè)字符串。要求統(tǒng)計(jì)每個(gè)記錄中空格字符的個(gè)數(shù),以及文件中空格字符的總個(gè)數(shù)。要求的輸入數(shù)據(jù)格式是,每復(fù)制一行輸入字符串之后,另起一行印出這個(gè)字符串中的空格數(shù),最后印出文件中空格的總個(gè)數(shù)。第一步:用Jackson圖描述 I/O 的數(shù)據(jù)結(jié)構(gòu)第二步:在兩個(gè)圖中指出有直接因果關(guān)系(causality)、可以同時(shí)處理的單元。虛線帶箭頭部分指出相應(yīng)的因果關(guān)系及可處理的單元。第三步:把有對(duì)應(yīng)關(guān)系的單元合為一個(gè)處理框,畫在相應(yīng)的層次中。第四步:列出所有操作條件,并分

11、配到程序結(jié)構(gòu)圖中。(1)停止 (2)打開文件(3)關(guān)閉文件(4)印出字符串(5)印出空格數(shù)目(6)印出空格總數(shù)(7)SUM:=SUM+1(8)totalsum:=totalsum+sun(9)讀入字符串(10)sum:=0(11)totalsum:=0(12)pointer:=1(13)pointer:=pointer+1I(1)文件結(jié)束 I(2)字符串結(jié)束 S(3)字符是空格第五步:用偽代碼(Pseudocode) 表示程序。因?yàn)镴ackson使用的偽碼和Jackson圖之間存在簡(jiǎn)單的對(duì)應(yīng)關(guān)系,所以從圖5-11得出下面的偽碼: 統(tǒng)計(jì)空格seq 打開文件 讀入字符串 totalsum:=0 程序體iter until文件結(jié)束 處理字符串seq 印字符串seq 印出字符串 印字符串end sum:= 0 pointer:=1分析字符串iter until字符串結(jié)束 分析字符select字符是空格 處理空格seq sum:=sum + 1 pointer:=pointer + 1 處理

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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)論