第二講-系統(tǒng)架構與詳細設計_第1頁
第二講-系統(tǒng)架構與詳細設計_第2頁
第二講-系統(tǒng)架構與詳細設計_第3頁
第二講-系統(tǒng)架構與詳細設計_第4頁
第二講-系統(tǒng)架構與詳細設計_第5頁
已閱讀5頁,還剩34頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第二講-系統(tǒng)架構與詳細設計第一頁,共39頁。根本目標確定應該怎樣具體地實現(xiàn)所要求的系統(tǒng)。詳細設計階段的任務還不是具體地編寫程序,而是要設計出程序的“藍圖”,以后程序員將根據(jù)這個藍圖寫出實際的程序代碼。第二頁,共39頁。結構程序設計的概念最早由E.W.Dijkstra提出。1965年他在一次會議上指出:“可以從高級語言中取消GOTO語句”,“程序的質量與程序中所包含的GOTO語句的數(shù)量成反比”。1966年Bohm和Jacopini證明了,只用3種基本的控制結構就能實現(xiàn)任何單入口單出口的程序。結構程序設計第三頁,共39頁。3種基本的控制結構第四頁,共39頁。如果一個程序的代碼塊僅僅通過順序、選擇和循環(huán)這3種基本控制結構進行連接,并且每個代碼塊只有一個入口和一個出口,則稱這個程序是結構化的。經(jīng)典定義第五頁,共39頁。如果除了上述3種基本控制結構之外,還允許使用DO-CASE型多分支結構和DO-UNTIL型循環(huán)結構,則稱為擴展的結構程序設計;如果再加上允許使用LEAVE(或BREAK)結構,則稱為修正的結構程序設計。修正的結構程序設計第六頁,共39頁。圖6.2其他常用的控制結構第七頁,共39頁。人機界面設計是接口設計的一個重要的組成部分。對于交互式系統(tǒng)來說,人機界面設計和數(shù)據(jù)設計、體系結構設計及過程設計一樣重要。近年來,人機界面在系統(tǒng)中所占的比例越來越大,在個別系統(tǒng)中人機界面的設計工作量甚至占總設計量的一半以上。人機界面的設計質量,直接影響用戶對軟件產(chǎn)品的評價,從而影響軟件產(chǎn)品的競爭力和壽命,因此,必須對人機界面設計給予足夠重視。人機界面設計第八頁,共39頁。1.系統(tǒng)響應時間2.用戶幫助設施3.出錯信息處理4.命令交互。人機界面四個設計問題第九頁,共39頁。一般說來,系統(tǒng)響應時間指從用戶完成某個控制動作(例如,按回車鍵或點擊鼠標),到軟件給出預期的響應(輸出信息或做動作)之間的這段時間。系統(tǒng)響應時間有兩個重要屬性,分別是長度和易變性。系統(tǒng)響應時間第十頁,共39頁。幾乎交互式系統(tǒng)的每個用戶都需要幫助,當遇到復雜問題時甚至需要查看用戶手冊以尋找答案。大多數(shù)現(xiàn)代軟件都提供聯(lián)機幫助設施,這使得用戶無須離開用戶界面就能解決自己的問題。常見的幫助設施可分為集成的和附加的兩類。用戶幫助設施第十一頁,共39頁。(1)在用戶與系統(tǒng)交互期間,是否在任何時候都能獲得關于系統(tǒng)任何功能的幫助信息?有兩種選擇:提供部分功能的幫助信息和提供全部功能的幫助信息。(2)用戶怎樣請求幫助?有3種選擇:幫助菜單,特殊功能鍵和HELP命令。(3)怎樣顯示幫助信息?有3種選擇:在獨立的窗口中,指出參考某個文檔(不理想)和在屏幕固定位置顯示簡短提示。第十二頁,共39頁。(4)用戶怎樣返回到正常的交互方式中?有兩種選擇:屏幕上的返回按鈕和功能鍵。(5)怎樣組織幫助信息?有3種選擇:平面結構,信息的層次結構和超文本結構。第十三頁,共39頁。一般說來,交互式系統(tǒng)給出的出錯信息或警告信息,應該具有下述屬性。(1)信息應該用用戶可以理解的術語描述問題。(2)信息應該提供有助于從錯誤中恢復的建設性意見。出錯信息處理第十四頁,共39頁。(3)信息應該指出錯誤可能導致哪些負面后果。(4)信息應該伴隨著聽覺上或視覺上的提示。(5)信息不能帶有指責色彩。出錯信息處理第十五頁,共39頁。在多數(shù)情況下,用戶既可以從菜單中選擇軟件功能,也可以通過鍵盤命令序列調用軟件功能。在提供命令交互方式時,必須考慮下列設計問題。(1)是否每個菜單選項都有對應的命令?命令交互第十六頁,共39頁。(2)采用何種命令形式?有3種選擇:控制序列(例如,Ctrl+P),功能鍵和鍵入命令。(3)學習和記憶命令的難度有多大?忘記了命令怎么辦?(4)用戶是否可以定制或縮寫命令?命令交互第十七頁,共39頁。1.一般交互指南一般交互指南涉及信息顯示、數(shù)據(jù)輸入和系統(tǒng)整體控制,因此,這類指南是全局性的,忽略它們將承擔較大風險。2.信息顯示指南3.數(shù)據(jù)輸入指南人機界面設計指南第十八頁,共39頁。(1)保持一致性。(2)提供有意義的反饋。(3)在執(zhí)行有較大破壞性的動作之前要求用戶確認。(4)允許取消絕大多數(shù)操作。(5)減少在兩次操作之間必須記憶的信息量。一般交互指南第十九頁,共39頁。(6)提高對話、移動和思考的效率。(7)允許犯錯誤。(8)按功能對動作分類,并據(jù)此設計屏幕布局。(9)提供對用戶工作內容敏感的幫助設施。(10)用簡單動詞或動詞短語作為命令名。一般交互指南第二十頁,共39頁。(1)只顯示與當前工作內容有關的信息。(2)不要用數(shù)據(jù)淹沒用戶,應該用便于用戶迅速吸取信息的方式來表示數(shù)據(jù)。(3)使用一致的標記、標準的縮寫和可預知的顏色。(4)允許用戶保持可視化的語境。信息顯示指南第二十一頁,共39頁。(5)產(chǎn)生有意義的出錯信息。(6)使用大小寫、縮進和文本分組以幫助理解。(7)使用窗口分隔不同類型的信息(8)使用“模擬”顯示方式表示信息,以使信息更容易被用戶提取。(9)高效率地使用顯示屏。信息顯示指南第二十二頁,共39頁。(1)盡量減少用戶的輸入動作。(2)保持信息顯示和數(shù)據(jù)輸入之間的一致性。(3)允許用戶自定義輸入。(4)交互應該是靈活的,并且可調整成用戶最喜歡的輸入方式。數(shù)據(jù)輸入指南第二十三頁,共39頁。(5)使在當前動作語境中不適用的命令不起作用。(6)讓用戶控制交互流。(7)對所有輸入動作都提供幫助。(8)消除冗余的輸入。數(shù)據(jù)輸入指南第二十四頁,共39頁。程序流程圖盒圖(N-S圖)PAD圖判定表判定樹過程設計的工具第二十五頁,共39頁。盒圖(N-S圖)第二十六頁,共39頁。PAD圖第二十七頁,共39頁。使用PAD圖提供的定義功能來逐步求精的例子第二十八頁,共39頁。用判定樹表示計算行李費的算法判定樹第二十九頁,共39頁。理論基礎

在許多應用領域中信息都有清楚的層次結構,層次的數(shù)據(jù)組織通常和使用這些數(shù)據(jù)的程序的層次結構十分相似。最終目標

得出對程序處理過程的描述。兩種方法 Jackson方法和Warnier方法。面向數(shù)據(jù)結構的設計方法第三十頁,共39頁。把程序的復雜程度乘以適當常數(shù)即可估算出軟件中錯誤的數(shù)量以及軟件開發(fā)需要用的工作量定量度量的結果可以用來比較兩個不同的設計或兩個不同算法的優(yōu)劣程序的定量的復雜程度可以作為模塊規(guī)模的精確限度。McCabe方法和Halstead方法。程序復雜程度的定量度量第三十一頁,共39頁。1.流圖McCabe方法根據(jù)程序控制流的復雜程度定量度量程序的復雜程度,這樣度量出的結果稱為程序的環(huán)形復雜度。為了突出表示程序的控制流,人們通常使用流圖(也稱為程序圖)。所謂流圖實質上是“退化了的”程序流程圖,它僅僅描繪程序的控制流程,完全不表現(xiàn)對數(shù)據(jù)的具體操作以及分支或循環(huán)的具體條件。McCabe方法第三十二頁,共39頁。第三十三頁,共39頁。可以用下述3種方法中的任何一種來計算環(huán)形復雜度。(1)流圖中的區(qū)域數(shù)等于環(huán)形復雜度。(2)流圖G的環(huán)形復雜度V(G)=E-N+2,其中,E是流圖中邊的條數(shù),N是結點數(shù)。(3)流圖G的環(huán)形復雜度V(G)=P+1,其中,P是流圖中判定結點的數(shù)目。.計算環(huán)形復雜度的方法第三十四頁,共39頁。程序的環(huán)形復雜度取決于程序控制流的復雜程度,也即是取決于程序結構的復雜程度。當程序內分支數(shù)或循環(huán)個數(shù)增加時,環(huán)形復雜度也隨之增加,因此它是對測試難度的一種定量度量,也能對軟件最終的可靠性給出某種預測。.環(huán)形復雜度的用途第三十五頁,共39頁。McCabe研究大量程序后發(fā)現(xiàn),環(huán)形復雜度高的程序往往是最困難、最容易出問題的程序。實踐表明,模塊規(guī)模以V(G)≤10為宜,也就是說,V(G)=10是模塊規(guī)模的一個更科學更精確的上限。.環(huán)形復雜度的用途第三十六頁,共39頁。Halstead方法是另一個著名的方法,它根據(jù)程序中運算符和操作數(shù)的總數(shù)來度量程序的復雜程度。令N1為程序中運算符出現(xiàn)的總次數(shù),N2為操作數(shù)出現(xiàn)的總次數(shù),程序長度N定義為:N=N1+N2詳細設計完成之后,可以知道程序中使用的不同運算符(包括關鍵字)的個數(shù)n1,以及不同操作數(shù)(變量和常數(shù))的個數(shù)n2。Halstead給出預測程序長度的公式如下:H=n1log2n1+n2log2n2多次驗證都

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論