資源描述:
《浙江工商大學(xué)軟件工程導(dǎo)論6詳細(xì)設(shè)計(jì).ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、詳細(xì)設(shè)計(jì)的基本目的就是回答“詳盡、精確地描述系統(tǒng)各模塊的具體實(shí)現(xiàn)方法”。詳細(xì)設(shè)計(jì)的結(jié)果基本決定了最終程序代碼的質(zhì)量,其中包括:正確性、可讀性、效率。第6章詳細(xì)設(shè)計(jì)第6章詳細(xì)設(shè)計(jì)6.1結(jié)構(gòu)程序設(shè)計(jì)6.2人機(jī)界面設(shè)計(jì)6.3過(guò)程設(shè)計(jì)的工具6.4面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法6.5程序復(fù)雜程度的定量度量6.6小結(jié)及作業(yè)結(jié)構(gòu)程序設(shè)計(jì)的經(jīng)典定義:“如果一個(gè)程序的代碼塊僅僅通過(guò)順序、選擇和循環(huán)這3種基本控制結(jié)構(gòu)進(jìn)行連接,并且每個(gè)代碼塊只有一個(gè)入口和一個(gè)出口,則稱這個(gè)程序是結(jié)構(gòu)化的?!毕麥鏕OTO語(yǔ)句!僅用3種基本結(jié)構(gòu),稱為經(jīng)典的結(jié)構(gòu)程序設(shè)計(jì);若還允許使用DO-CASE(多
2、分支循環(huán))、DO-UNTIL(直到型循環(huán)),成為擴(kuò)展結(jié)構(gòu)程序設(shè)計(jì);如果在允許使用LEAVE(或BREAK,中斷)結(jié)構(gòu),則稱為修正結(jié)構(gòu)程序設(shè)計(jì)。6.1結(jié)構(gòu)程序設(shè)計(jì)6.2人機(jī)界面設(shè)計(jì)對(duì)于交互式系統(tǒng)來(lái)說(shuō),人機(jī)界面設(shè)計(jì)和數(shù)據(jù)設(shè)計(jì)、體系結(jié)構(gòu)設(shè)計(jì)及過(guò)程設(shè)計(jì)一樣重要。直接影響用戶對(duì)軟件產(chǎn)品的評(píng)價(jià),從而影響軟件產(chǎn)品的競(jìng)爭(zhēng)力和壽命。人機(jī)界面目前所占的工作量越來(lái)越大。固定菜單下拉菜單在設(shè)計(jì)人機(jī)界面常會(huì)遇到下述4個(gè)問(wèn)題:系統(tǒng)響應(yīng)時(shí)間用戶幫助設(shè)施出錯(cuò)信息處理命令交互上述問(wèn)題,最好在設(shè)計(jì)初期作為重要的設(shè)計(jì)問(wèn)題來(lái)考慮,這時(shí)修改比較容易,代價(jià)也低。6.2.1設(shè)計(jì)問(wèn)題系統(tǒng)響應(yīng)時(shí)間有
3、兩個(gè)重要屬性,分別是長(zhǎng)度和易變性。原則:避免相應(yīng)時(shí)間過(guò)長(zhǎng)或過(guò)短:響應(yīng)時(shí)間過(guò)長(zhǎng),會(huì)感到沮喪;響應(yīng)時(shí)間過(guò)短,會(huì)迫使用戶加快節(jié)奏,會(huì)犯錯(cuò)。減少易變性。一般穩(wěn)定較好,若發(fā)生變化,用戶往往比較敏感,擔(dān)心系統(tǒng)工作出現(xiàn)了異常。1.系統(tǒng)響應(yīng)時(shí)間常見(jiàn)的幫助設(shè)施可分為集成的(根據(jù)當(dāng)前的應(yīng)用進(jìn)行的幫助)和附加的(需查詢使用)兩類(lèi)。集成的幫助優(yōu)于附加的幫助設(shè)施。具體設(shè)計(jì)幫助設(shè)施時(shí),必須解決下述的問(wèn)題。(1)幫助的程度:全部還是部分;(2)如何實(shí)現(xiàn)幫助:菜單、功能鍵和HELP命令;(3)怎樣顯示幫助信息:獨(dú)立窗口、指出參考某個(gè)文檔(不理想)、顯示簡(jiǎn)短;(4)使用幫助后,如何返
4、回原交互方式中:返回按鈕、功能鍵;(5)如何組織幫助信息:平面結(jié)構(gòu)、信息的層次結(jié)構(gòu)和超文本結(jié)構(gòu)。2.用戶幫助設(shè)施交互式系統(tǒng)的出錯(cuò)信息或警告信息,應(yīng)該具有下述屬性:(1)信息應(yīng)該使用用戶可以理解的術(shù)語(yǔ)描述問(wèn)題;(2)信息應(yīng)該提供有助于從錯(cuò)誤中恢復(fù)的建設(shè)性意見(jiàn);(3)信息應(yīng)該指出錯(cuò)誤可能導(dǎo)致哪些負(fù)面后果(例如,破壞數(shù)據(jù)文件);(4)信息應(yīng)該伴隨著聽(tīng)覺(jué)上或視覺(jué)上的提示,強(qiáng)化出現(xiàn)異常;(5)信息不能帶有指責(zé)用戶的內(nèi)容。當(dāng)確實(shí)出現(xiàn)了問(wèn)題的時(shí)候,有效的出錯(cuò)信息能提高交互式系統(tǒng)的質(zhì)量,減輕用戶的挫折感。3.出錯(cuò)信息處理在多數(shù)情況下,用戶既可以從菜單中選擇軟件功能,
5、也可以通過(guò)鍵盤(pán)命令序列調(diào)用軟件功能。在提供命令交互方式時(shí),必須考慮下列設(shè)計(jì)問(wèn)題:(1)是否每個(gè)菜單選項(xiàng)都有對(duì)應(yīng)的命令;(2)采用何種命令形式:控制序列(如Ctrl+P)、功能鍵、鍵入命令。(3)命令的難度有多大,忘記了命令怎么辦;(4)用戶是否可以定制或縮寫(xiě)命令。4.命令交互6.3過(guò)程設(shè)計(jì)的工具描述程序處理過(guò)程的工具稱為過(guò)程設(shè)計(jì)的工具。一般有圖形、表格和語(yǔ)言3種。6.3.1程序流程圖程序流程圖的主要缺點(diǎn)如下:(1)程序流程圖本質(zhì)上不是逐步求精的好工具,它誘使程序員過(guò)早地考慮程序的控制流程,而不去考慮程序的全局結(jié)構(gòu)。(2)程序流程圖中用箭頭代表控制流,
6、因此程序員不受任何約束,可以完全不顧結(jié)構(gòu)程序設(shè)計(jì)的精神,隨意轉(zhuǎn)移控制。(3)程序流程圖不易表示數(shù)據(jù)結(jié)構(gòu)。6.3.1程序流程圖abX1X2X7X6X4X3X5higfedcjFTFFFTTT多分支選擇結(jié)構(gòu)先判定型循環(huán)結(jié)構(gòu)選擇結(jié)構(gòu)后判定型循環(huán)結(jié)構(gòu)6.3.2盒圖(N-S圖)順序結(jié)構(gòu)塊1塊2塊3塊4條件TFELSETHEN選擇結(jié)構(gòu)CaseI=1,2,3T塊1塊2多分支選擇結(jié)構(gòu)F塊3塊當(dāng)條件成立時(shí)當(dāng)型循環(huán)塊直到條件成立時(shí)直到型循環(huán)6.3.2盒圖(N-S圖)N-S圖。它有下述特點(diǎn):(1)功能域(即,一個(gè)特定控制結(jié)構(gòu)的作用域)明確,可以從盒圖上一眼就看出來(lái)。(2)
7、不可能任意轉(zhuǎn)移控制。(3)很容易確定局部和全程數(shù)據(jù)的作用域。(4)很容易表現(xiàn)嵌套關(guān)系,也可以表示模塊的層次結(jié)構(gòu)。ab條件1TFCaseXi,i=2,3,4X2X3X4當(dāng)條件3成立條件2直到條件4成立直到條件成立cdefghij順序結(jié)構(gòu)選擇結(jié)構(gòu)多分支選擇結(jié)構(gòu)先判定型循環(huán)結(jié)構(gòu)后判定型循環(huán)結(jié)構(gòu)FTTFN-S圖舉例N-S圖舉例6.3.3PAD圖任務(wù)1任務(wù)2任務(wù)3順序結(jié)構(gòu)WHILE型條件循環(huán)體先判定型循環(huán)結(jié)構(gòu)條件then部分else部分選擇結(jié)構(gòu)TFUNTIL型條件循環(huán)體后判定型循環(huán)結(jié)構(gòu)控制變量任務(wù)1任務(wù)2任務(wù)n多分支選擇結(jié)構(gòu)值1值2值nPAD圖基本結(jié)構(gòu)6.3.
8、3PAD圖PAD(problemanalysisdiagram,問(wèn)題分析圖)自1973年由日本日立公司發(fā)明以