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