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

下載本文檔

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

文檔簡介

1、第第6章章 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)6.1 結(jié)構(gòu)程序設(shè)計(jì)結(jié)構(gòu)程序設(shè)計(jì)6.2 人機(jī)界面設(shè)計(jì)人機(jī)界面設(shè)計(jì)6.3 過程設(shè)計(jì)的工具過程設(shè)計(jì)的工具6.5 程序復(fù)雜程度的度量程序復(fù)雜程度的度量詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)正確地設(shè)計(jì)每個(gè)模塊的內(nèi)部的處理過程;正確地設(shè)計(jì)每個(gè)模塊的內(nèi)部的處理過程;設(shè)計(jì)的過程(流程)應(yīng)該盡可能簡明易懂;設(shè)計(jì)的過程(流程)應(yīng)該盡可能簡明易懂;詳細(xì)設(shè)計(jì)階段的任務(wù)還不是具體地編寫程序;詳細(xì)設(shè)計(jì)階段的任務(wù)還不是具體地編寫程序;結(jié)構(gòu)化程序設(shè)計(jì);結(jié)構(gòu)化程序設(shè)計(jì); 結(jié)構(gòu)程序設(shè)計(jì)盡可能少用結(jié)構(gòu)程序設(shè)計(jì)盡可能少用GO TO語句語句,通常在檢測(cè)出錯(cuò)誤通常在檢測(cè)出錯(cuò)誤時(shí)才使用時(shí)才使用GO TO語句。語句。On Error

2、 GoTo errh: errh: MsgBox Err.Description結(jié)構(gòu)程序設(shè)計(jì)結(jié)構(gòu)程序設(shè)計(jì)3種基本的控制結(jié)構(gòu):種基本的控制結(jié)構(gòu):順序順序選擇選擇循環(huán)循環(huán) 流程圖分別為圖流程圖分別為圖6.1(a),6.1(b)和和6.1(c)。6.1 結(jié)構(gòu)程序設(shè)計(jì)結(jié)構(gòu)程序設(shè)計(jì)6.1 3種基本的控制結(jié)構(gòu)種基本的控制結(jié)構(gòu) 還可以使用還可以使用DO-CASE型多分支結(jié)構(gòu)和型多分支結(jié)構(gòu)和DO-UNTIL型循環(huán)結(jié)構(gòu)。型循環(huán)結(jié)構(gòu)。一般交互指南一般交互指南信息顯示指南信息顯示指南數(shù)據(jù)輸入指南數(shù)據(jù)輸入指南1. 一般交互指南一般交互指南6.2.3 人機(jī)界面設(shè)計(jì)指南人機(jī)界面設(shè)計(jì)指南6.2 人機(jī)界面設(shè)計(jì)人機(jī)界面設(shè)計(jì) 保

3、持一致性。保持一致性。 (2) (2) 提供有意義的反饋提供有意義的反饋 。(3) (3) 在執(zhí)行有較大破壞性的動(dòng)作之前要求用戶確認(rèn)。在執(zhí)行有較大破壞性的動(dòng)作之前要求用戶確認(rèn)。(4) (4) 允許取消絕大多數(shù)操作。允許取消絕大多數(shù)操作。(5) (5) 減少在兩次操作之間必須記憶的信息量。減少在兩次操作之間必須記憶的信息量。 (6) (6) 提高對(duì)話、移動(dòng)和思考的效率。提高對(duì)話、移動(dòng)和思考的效率。- - 盡量減少用戶擊鍵的次數(shù)盡量減少用戶擊鍵的次數(shù); ;- - 設(shè)計(jì)屏幕布局時(shí)應(yīng)該考慮盡量減少鼠標(biāo)移動(dòng)的距離設(shè)計(jì)屏幕布局時(shí)應(yīng)該考慮盡量減少鼠標(biāo)移動(dòng)的距離; ;- - 應(yīng)該盡量避免出現(xiàn)用戶問應(yīng)該盡量避免

4、出現(xiàn)用戶問“這是什么意思這是什么意思? ?”的情況的情況. .(7) (7) 允許犯錯(cuò)誤。允許犯錯(cuò)誤。(8) (8) 按功能對(duì)動(dòng)作分類,并據(jù)此設(shè)計(jì)屏幕布局。按功能對(duì)動(dòng)作分類,并據(jù)此設(shè)計(jì)屏幕布局。 - - 設(shè)計(jì)者應(yīng)該盡力提高命令和動(dòng)作組織的設(shè)計(jì)者應(yīng)該盡力提高命令和動(dòng)作組織的“內(nèi)聚性內(nèi)聚性”. .(9) (9) 提供對(duì)用戶工作內(nèi)容敏感的幫助設(shè)施。提供對(duì)用戶工作內(nèi)容敏感的幫助設(shè)施。(10) (10) 用簡單動(dòng)詞或動(dòng)詞短語作為命令名。用簡單動(dòng)詞或動(dòng)詞短語作為命令名。2. 信息顯示指南信息顯示指南只顯示與當(dāng)前工作內(nèi)容有關(guān)的信息只顯示與當(dāng)前工作內(nèi)容有關(guān)的信息( (數(shù)據(jù)、菜單、圖形數(shù)據(jù)、菜單、圖形) )。

5、不要用數(shù)據(jù)淹沒用戶,應(yīng)該用便于用戶迅速吸取信息的不要用數(shù)據(jù)淹沒用戶,應(yīng)該用便于用戶迅速吸取信息的方式來表示數(shù)據(jù)。方式來表示數(shù)據(jù)。( (統(tǒng)計(jì)圖表統(tǒng)計(jì)圖表) )(3) (3) 使用一致的標(biāo)記、標(biāo)準(zhǔn)的縮寫和可預(yù)知的顏色。使用一致的標(biāo)記、標(biāo)準(zhǔn)的縮寫和可預(yù)知的顏色。 (4) (4) 允許用戶保持可視化的語境。(電子地圖)允許用戶保持可視化的語境。(電子地圖)(5) (5) 產(chǎn)生有意義的出錯(cuò)信息。產(chǎn)生有意義的出錯(cuò)信息。(6) (6) 使用大小寫、縮進(jìn)和文本分組以幫助理解。使用大小寫、縮進(jìn)和文本分組以幫助理解。(7) (7) 使用窗口分隔不同類型的信息。使用窗口分隔不同類型的信息。(8) (8) 使用使用“

6、模擬模擬”顯示方式表示信息,以使信息更容易被顯示方式表示信息,以使信息更容易被用戶提取。用戶提取。(9)(9)高效率地使用顯示屏。高效率地使用顯示屏。3. 數(shù)據(jù)輸入指南數(shù)據(jù)輸入指南(1)(1)盡量減少用戶的輸入動(dòng)作。盡量減少用戶的輸入動(dòng)作。(2)(2)保持信息顯示和數(shù)據(jù)輸入之間的一致性。保持信息顯示和數(shù)據(jù)輸入之間的一致性。( (文字文字大小、顏色和位置大小、顏色和位置) ) (3)(3)允許用戶自定義輸入。允許用戶自定義輸入。 (4)(4)互應(yīng)該是靈活的,并且可調(diào)整成用戶最喜歡的輸互應(yīng)該是靈活的,并且可調(diào)整成用戶最喜歡的輸入方式。入方式。3. 數(shù)據(jù)輸入指南數(shù)據(jù)輸入指南(5)(5)使在當(dāng)前動(dòng)作語

7、境中不適用的命令不起作用。使在當(dāng)前動(dòng)作語境中不適用的命令不起作用。(6)(6)讓用戶控制交互流。讓用戶控制交互流。 (7)(7)對(duì)所有輸入動(dòng)作都提供幫助。對(duì)所有輸入動(dòng)作都提供幫助。(8)(8)消除冗余的輸入。消除冗余的輸入。 程序流程圖至今仍在廣泛使用。程序流程圖至今仍在廣泛使用。6.3 過程設(shè)計(jì)的工具過程設(shè)計(jì)的工具 6.3.1 程序流程圖程序流程圖圖圖6.4 盒圖的基本符號(hào)盒圖的基本符號(hào)6.3.2 盒圖盒圖(N-S圖圖) 調(diào)用子程序PAD是問題分析圖是問題分析圖(problem analysis diagram)。1973年由日本日立公司發(fā)明。年由日本日立公司發(fā)明。6.3.3 PAD圖圖圖圖

8、6.5 PAD圖的基本符號(hào)圖的基本符號(hào)圖圖6.6 使用使用PAD圖提供的定義功能圖提供的定義功能來逐步求精的例子來逐步求精的例子x4TF x5ighfkx1TFb x6 ajx21cx323dek :例:例:N-S圖與圖與PAD的轉(zhuǎn)換的轉(zhuǎn)換開始開始 結(jié)束結(jié)束 aj Until x5i Until x6bx1kfx4ghdefkx2de123 While x3c一張判定表由一張判定表由4部分組成:部分組成:左上部列出所有條件;左上部列出所有條件;左下部是所有可能做的動(dòng)作;左下部是所有可能做的動(dòng)作;右上部是表示各種條件組合的一個(gè)矩陣;右上部是表示各種條件組合的一個(gè)矩陣;右下部是和每種條件組合相對(duì)應(yīng)

9、的動(dòng)作。右下部是和每種條件組合相對(duì)應(yīng)的動(dòng)作。6.3.4 判定表判定表 條件條件 操作操作 條件組合矩陣條件組合矩陣 動(dòng)作動(dòng)作 假設(shè)某航空公司規(guī)定:假設(shè)某航空公司規(guī)定:乘客可以免費(fèi)托運(yùn)重量不超過乘客可以免費(fèi)托運(yùn)重量不超過30kg的行李。的行李。當(dāng)行李重量超過當(dāng)行李重量超過30kg時(shí):時(shí):對(duì)頭等艙的國內(nèi)乘客超重部分每公斤收費(fèi)對(duì)頭等艙的國內(nèi)乘客超重部分每公斤收費(fèi)4 4元元對(duì)其他艙的國內(nèi)乘客超重部分每公斤收費(fèi)對(duì)其他艙的國內(nèi)乘客超重部分每公斤收費(fèi)6 6元元對(duì)外國乘客超重部分每公斤收費(fèi)比國內(nèi)乘客多一倍,對(duì)外國乘客超重部分每公斤收費(fèi)比國內(nèi)乘客多一倍,對(duì)殘疾乘客超重部分每公斤收費(fèi)比正常乘客少一半。對(duì)殘疾乘客超

10、重部分每公斤收費(fèi)比正常乘客少一半。 用判定表可以清楚地表示與上述每種條件組合相用判定表可以清楚地表示與上述每種條件組合相對(duì)應(yīng)的計(jì)算行李費(fèi)的算法。(對(duì)應(yīng)的計(jì)算行李費(fèi)的算法。(P128P128)國內(nèi)乘客TTTTFFFF頭等倉TFTFTFTF殘疾乘客FFTTFFTT行李重量30T F F F FF F F F免費(fèi) (W-30)*2(W-30)*3(W-30)*4(W-30)*6(W-30)*8(W-30)*12 當(dāng)數(shù)據(jù)元素的值多于兩個(gè)時(shí)當(dāng)數(shù)據(jù)元素的值多于兩個(gè)時(shí)( (例如,例如,6.3.46.3.4例子例子中假設(shè)對(duì)機(jī)票需細(xì)分為頭等艙、二等艙和經(jīng)濟(jì)艙等中假設(shè)對(duì)機(jī)票需細(xì)分為頭等艙、二等艙和經(jīng)濟(jì)艙等多種級(jí)別

11、時(shí)多種級(jí)別時(shí)) ),判定表的簡潔程度也將下降。,判定表的簡潔程度也將下降。6.3.5 判定樹判定樹 表示復(fù)雜的條件組合與應(yīng)做的動(dòng)作之間的對(duì)應(yīng)關(guān)系表示復(fù)雜的條件組合與應(yīng)做的動(dòng)作之間的對(duì)應(yīng)關(guān)系; ; 判定樹的簡潔性不如判定表判定樹的簡潔性不如判定表, ,但易理解但易理解 經(jīng)常出現(xiàn)同一個(gè)值重復(fù)寫多遍經(jīng)常出現(xiàn)同一個(gè)值重復(fù)寫多遍; ; 且葉端重復(fù)次數(shù)急劇增加且葉端重復(fù)次數(shù)急劇增加. . 由于判定樹的分枝次序?qū)τ谧罱K畫出的判定樹的簡潔程由于判定樹的分枝次序?qū)τ谧罱K畫出的判定樹的簡潔程度有較大影響度有較大影響 所以選擇哪一個(gè)條件作為第一個(gè)分枝是至關(guān)重要的所以選擇哪一個(gè)條件作為第一個(gè)分枝是至關(guān)重要的. .圖圖

12、6.7 用判定樹表示計(jì)算行李費(fèi)的算法用判定樹表示計(jì)算行李費(fèi)的算法6.3.6 過程設(shè)計(jì)語言過程設(shè)計(jì)語言PDL(Program Design Language)應(yīng)該具有下述特點(diǎn):應(yīng)該具有下述特點(diǎn):關(guān)鍵字的固定語法,三種控制結(jié)構(gòu)。關(guān)鍵字的固定語法,三種控制結(jié)構(gòu)。為了使結(jié)構(gòu)清晰和可讀性好,通常在控制結(jié)構(gòu)的頭和尾都為了使結(jié)構(gòu)清晰和可讀性好,通常在控制結(jié)構(gòu)的頭和尾都有關(guān)鍵字,例如,有關(guān)鍵字,例如,if.fi(if.fi(或或endif).endif).(2) (2) 自然語言的自由語法,描述處理。自然語言的自由語法,描述處理。(3) (3) 數(shù)據(jù)說明。數(shù)據(jù)說明。純量、數(shù)組、鏈表或?qū)哟蔚葦?shù)據(jù)結(jié)構(gòu)。純量、數(shù)組

13、、鏈表或?qū)哟蔚葦?shù)據(jù)結(jié)構(gòu)。(4) (4) 模塊定義和調(diào)用的技術(shù),應(yīng)該提供各種接口模塊定義和調(diào)用的技術(shù),應(yīng)該提供各種接口描述模式。描述模式。(5)(5)可以作為注釋直接插在源程序中間??梢宰鳛樽⑨屩苯硬逶谠闯绦蛑虚g。1.數(shù)據(jù)說明數(shù)據(jù)說明 declare數(shù)據(jù)名數(shù)據(jù)名 as 限定詞限定詞2.子程序結(jié)構(gòu)子程序結(jié)構(gòu)/function procedure 子程序名子程序名 interface 參數(shù)表參數(shù)表 分程序或分程序或PDL語句語句 return end 子程序名子程序名3.分程序結(jié)構(gòu)分程序結(jié)構(gòu)begin 分程序名分程序名 PDL語句語句end 分程序名分程序名4.選擇選擇if 條件條件 then PD

14、L語句語句else PDL語句語句end if 5.WHILE型循環(huán)型循環(huán) loop while 條件條件 PDL語句語句 end loop6.UNTIL型循環(huán)型循環(huán) loop until 條件條件 PDL語句組語句組 end loop 7.CASE型型case 選擇因子選擇因子 of標(biāo)號(hào)標(biāo)號(hào),標(biāo)號(hào),標(biāo)號(hào):PDL語句語句end case8.輸入輸入/輸出結(jié)構(gòu)輸出結(jié)構(gòu)print read display input output等等PDL: : begin execute process a loop until condition x8 Begin/ execute process b if

15、condition x1 then begin/ execute process f if condition x6 then loop until condition x7 execute process i end loop else begin/ execute process g execute process h end/ abx1x2x5fcx3x4deghix6x7x8j end if end/ else case xi of x2:loop while condition x5 execute process c end loop x3: execute process d x

16、4: execute process e end case end if end/ end loop exceute process j endabx1x2x5fcx3x4deghix6x7x8j6.5 程序復(fù)雜程度的度量程序復(fù)雜程度的度量6.5.1 McCabe方法方法1. 流圖流圖 McCabeMcCabe方法根據(jù)程序控制流的復(fù)雜程度定方法根據(jù)程序控制流的復(fù)雜程度定量度量程序的復(fù)雜程度,這樣度量出的結(jié)果量度量程序的復(fù)雜程度,這樣度量出的結(jié)果稱為程序的稱為程序的環(huán)形復(fù)雜度環(huán)形復(fù)雜度。一個(gè)結(jié)點(diǎn)(圓)代表一條或多條語句(幾個(gè)一個(gè)結(jié)點(diǎn)(圓)代表一條或多條語句(幾個(gè)順序執(zhí)行語句);順序執(zhí)行語句);一

17、個(gè)順序語句和一個(gè)菱形判斷框可以對(duì)應(yīng)一一個(gè)順序語句和一個(gè)菱形判斷框可以對(duì)應(yīng)一個(gè)結(jié)點(diǎn);個(gè)結(jié)點(diǎn);一條邊必須終止于一個(gè)結(jié)點(diǎn)(即使該結(jié)點(diǎn)不一條邊必須終止于一個(gè)結(jié)點(diǎn)(即使該結(jié)點(diǎn)不表示任何結(jié)點(diǎn));表示任何結(jié)點(diǎn));當(dāng)包含復(fù)合條件時(shí),需要進(jìn)行分解。當(dāng)包含復(fù)合條件時(shí),需要進(jìn)行分解。圖圖6.16 由由PDL翻譯成的流圖翻譯成的流圖圖圖6.17 由包含復(fù)合條件的由包含復(fù)合條件的PDL映射成的流圖映射成的流圖2. 計(jì)算環(huán)形復(fù)雜度的方法計(jì)算環(huán)形復(fù)雜度的方法 環(huán)形復(fù)雜度定量度量程序的邏輯復(fù)雜度。有了描繪程序環(huán)形復(fù)雜度定量度量程序的邏輯復(fù)雜度。有了描繪程序控制流的流圖之后,可以用下述控制流的流圖之后,可以用下述3種方法中的任何一種來計(jì)種方法中的任何一種來計(jì)算環(huán)形復(fù)雜度。算環(huán)形復(fù)雜度。(1) 流圖中的區(qū)域數(shù)等于環(huán)形復(fù)雜度。流圖中的區(qū)域數(shù)等于環(huán)形復(fù)雜度。(2) 流圖流圖G的環(huán)形復(fù)雜度的環(huán)形復(fù)雜度V(G)=E-N+2,其中,其中,E是流圖中邊的是流圖中邊的條數(shù),條數(shù),

溫馨提示

  • 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)論