軟件工程06詳細設(shè)計_第1頁
軟件工程06詳細設(shè)計_第2頁
軟件工程06詳細設(shè)計_第3頁
軟件工程06詳細設(shè)計_第4頁
軟件工程06詳細設(shè)計_第5頁
已閱讀5頁,還剩88頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、軟件工程 Email:1可行性研究需求分析概要設(shè)計詳細設(shè)計實 現(xiàn)集成測試確認測試使用與維護退役軟件定義軟件開發(fā)軟件使用與維護軟件生命周期軟件設(shè)計的任務(wù)從工程管理的角度來看,軟件設(shè)計分兩步完成總體設(shè)計(概要設(shè)計),將軟件需求轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)和軟件的系統(tǒng)結(jié)構(gòu)。詳細設(shè)計,即過程設(shè)計。通過對結(jié)構(gòu)表示進行細化,得到軟件詳細的數(shù)據(jù)結(jié)構(gòu)和算法。軟件設(shè)計的任務(wù)一般交互式軟件系統(tǒng)的設(shè)計內(nèi)容體系結(jié)構(gòu)設(shè)計數(shù)據(jù)設(shè)計接口設(shè)計人機界面設(shè)計過程設(shè)計課程內(nèi)容提綱第6章:“詳細設(shè)計”詳細設(shè)計任務(wù)結(jié)構(gòu)程序設(shè)計人機界面設(shè)計過程設(shè)計工具面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法程序復(fù)雜程度的定量度量詳細設(shè)計的任務(wù)Program Design Coding

2、為SC圖的每個模塊確定算法和數(shù)據(jù)結(jié)構(gòu)進行詳細設(shè)計的原則在保證正確可靠前提下,盡量提高算法可讀性采用結(jié)構(gòu)化設(shè)計方法,改善控制結(jié)構(gòu),降低程序復(fù)雜度,提高可測試性和可維護性自頂向下逐步求精;具有單入、單出的控制結(jié)構(gòu)(取消GOTO語句)用工具無二義的描述模塊算法詳細設(shè)計的任務(wù)詳細設(shè)計過程1.確定每個模塊的算法選擇適當(dāng)工具表達算法執(zhí)行過程2.確定每一個模塊的數(shù)據(jù)組織3.為每一個模塊設(shè)計一組測試用例輸入數(shù)據(jù)、預(yù)期輸出結(jié)果4.編寫詳細設(shè)計說明書5.設(shè)計評審詳細設(shè)計的任務(wù)詳細設(shè)計內(nèi)容用圖表列出系統(tǒng)的每個程序,包括每個模塊和子程序名稱、標(biāo)識符、層出結(jié)構(gòu)關(guān)系對程序的功能、性能、輸入、輸出、算法、流程、接口等進行描

3、述內(nèi)容包括程序描述:程序簡要描述,意義和特點功能:程序應(yīng)具備的功能性能:精度、靈活性和時間特性等輸入項輸出項詳細設(shè)計的任務(wù)詳細設(shè)計內(nèi)容內(nèi)容包括算法:具體的計算步驟和過程接口:模塊的隸屬關(guān)系、調(diào)用方式和參數(shù)、與模塊直接關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)(如數(shù)據(jù)庫表、文件等)存儲分配(根據(jù)需要)注釋設(shè)計:程序注釋說明限制條件:程序運行中所受的限制條件詳細設(shè)計的任務(wù)詳細設(shè)計優(yōu)化在不考慮時間因素的前提下開發(fā)并精化軟件結(jié)構(gòu)選出最耗時的模塊,仔細設(shè)計處理算法孤立出大量占有處理機資源的模塊必要時重新設(shè)計或用依賴于機器的語言重寫大量占有資源的模塊課程內(nèi)容提綱第6章:“詳細設(shè)計”詳細設(shè)計任務(wù)結(jié)構(gòu)程序設(shè)計人機界面設(shè)計過程設(shè)計工具面向

4、數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法程序復(fù)雜程度的定量度量結(jié)構(gòu)程序設(shè)計1 結(jié)構(gòu)程序設(shè)計的提出結(jié)構(gòu)程序設(shè)計概念最早1965年由E.W.Dijkstra提出“可以從高級語言中取消GOTO語句”“程序的質(zhì)量與程序中所包含的GOTO語句的數(shù)量成反比”1966年bohm和Jacopini證明了:只用三種基本的控制結(jié)構(gòu)能實現(xiàn)任何單入口單出口的程序1968年人們認識要創(chuàng)立一種新的程序設(shè)計思想以顯著地提高軟件生產(chǎn)率和降低軟件維護代價 結(jié)構(gòu)程序設(shè)計1 結(jié)構(gòu)程序設(shè)計的提出1971年IBM公司成功地使用了結(jié)構(gòu)程序設(shè)計技術(shù)紐約時報信息庫管理系統(tǒng)美國宇航局空間實驗室飛行模擬系統(tǒng)1972年IBM公司的Mills進一步補充了結(jié)構(gòu)程序設(shè)計的規(guī)

5、則 結(jié)構(gòu)程序設(shè)計是盡可能少用GOTO語句的程序設(shè)計方法。最好僅在檢測出錯誤時才使用GOTO語句,而且應(yīng)該總是使用前向GOTO語句結(jié)構(gòu)程序設(shè)計2 結(jié)構(gòu)程序設(shè)計分類只允許使用順序、IF-THEN-ELSE分支和DO-WHILE型循環(huán)這三種基本控制結(jié)構(gòu),稱為經(jīng)典的結(jié)構(gòu)程序設(shè)計還允許使用DO-CASE多分支結(jié)構(gòu)和DO-UNTIL循環(huán)結(jié)構(gòu),稱為擴展的結(jié)構(gòu)程序設(shè)計如果再加上允許使用LEAVE(或BREAK)結(jié)構(gòu),稱為修正的結(jié)構(gòu)程序設(shè)計課程內(nèi)容提綱第6章:“詳細設(shè)計”詳細設(shè)計任務(wù)結(jié)構(gòu)程序設(shè)計人機界面設(shè)計過程設(shè)計工具面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法程序復(fù)雜程度的定量度量人機界面設(shè)計人機界面的設(shè)計四個方面系統(tǒng)響應(yīng)時間用戶

6、幫助設(shè)施出錯信息處理命令交互 1. 系統(tǒng)響應(yīng)時間系統(tǒng)響應(yīng)時間指從用戶完成某個控制動作(例如,按回車鍵或點擊鼠標(biāo)),到軟件給出預(yù)期響應(yīng)(輸出信息或做動作)之間的時間人機界面設(shè)計1. 系統(tǒng)響應(yīng)時間系統(tǒng)響應(yīng)時間有兩個重要屬性響應(yīng)長度系統(tǒng)響應(yīng)時間過長,用戶就會感到緊張和沮喪系統(tǒng)響應(yīng)時間過短,會迫使用戶加快操作節(jié)奏,從而可能會犯錯誤易變性(系統(tǒng)響應(yīng)時間的更重要的屬性)指系統(tǒng)響應(yīng)時間相對于平均響應(yīng)時間的偏差響應(yīng)時間易變性低也有助于用戶建立起穩(wěn)定的工作節(jié)奏例如,穩(wěn)定在1秒的響應(yīng)時間比從0.1秒到2.5秒變化的響應(yīng)時間要好人機界面設(shè)計2. 用戶幫助設(shè)施常見的幫助設(shè)施可分為集成的和附加的兩類集成的幫助設(shè)施從一開

7、始就設(shè)計在軟件里面它對用戶工作內(nèi)容是敏感的可縮短用戶獲得幫助的時間,增加界面的友好性附加的幫助設(shè)施是在系統(tǒng)建成后再添加到軟件中的實際是一種查詢能力有限的聯(lián)機用戶手冊人們普遍認為,集成的幫助設(shè)施優(yōu)于附加的幫助設(shè)施人機界面設(shè)計設(shè)計幫助設(shè)施時必須解決下述問題(1)交互期間是否在任何時候都能獲得關(guān)于任何功能的幫助?有兩種選擇:提供功能的幫助信息和提供全部功能的幫助信息(2)用戶怎樣請求幫助? 有3種選擇:幫助菜單,特殊功能鍵和HELP命令(3)怎樣顯示幫助信息?有3種選擇:在獨立的窗口中,指出參考某個文檔和在屏幕固定位置顯示簡短提示(4)用戶怎樣返回到正常的交互方式中?有兩種選擇:屏幕上的返回按鈕和功

8、能鍵(5)怎樣組織幫助信息?有3種選擇:平面結(jié)構(gòu)(所有信息都通過關(guān)鍵字訪問),信息的層次結(jié)構(gòu)(用戶可在該結(jié)構(gòu)中查到更詳細的信息)和超文本結(jié)構(gòu)人機界面設(shè)計3. 出錯信息處理 出錯信息和警告信息是出現(xiàn)問題時交互式系統(tǒng)給出的“壞消息”一般說來,交互式系統(tǒng)給出的出錯信息或警告信息,應(yīng)該具有下述屬性:(1)應(yīng)該用用戶可以理解的術(shù)語描述問題(2)應(yīng)該提供有助于從錯誤中恢復(fù)的建設(shè)性意見人機界面設(shè)計(3)信息應(yīng)該指出錯誤可能導(dǎo)致哪些負面后果 (4)信息應(yīng)該伴隨著聽覺上或視覺上的提示例如,在顯示信息時同時發(fā)出警告鈴聲或者信息用閃爍方式顯示或者用明顯表示出錯的顏色顯示(5)信息不能帶有指責(zé)色彩也就是說,不能責(zé)怪用

9、戶人機界面設(shè)計4. 命令交互在提供命令交互方式時,必須考慮下列設(shè)計問題(1)是否每個菜單選項都有對應(yīng)的命令?(2)采用何種命令形式?有3種選擇:控制序列(例如,Ctrl+P),功能鍵和鍵入命令。(3)學(xué)習(xí)和記憶命令的難度有多大?忘記了怎么辦?(4)用戶是否可以定制或縮寫命令?人機界面設(shè)計人機界面設(shè)計過程用戶界面設(shè)計是一個迭代的過程創(chuàng)建設(shè)計模型-再用原型實現(xiàn)這個設(shè)計模型-由用戶試用和評估-根據(jù)用戶意見進行修改用于界面設(shè)計和原型開發(fā)的軟件工具用戶界面工具箱或用戶界面開發(fā)系統(tǒng)用戶界面的評估周期如下所述完成初步設(shè)計之后就創(chuàng)建第一級原型;用戶試用并評估該原型,向設(shè)計者表述對界面的評價設(shè)計者根據(jù)用戶意見修

10、改設(shè)計并實現(xiàn)下一級原型人機界面設(shè)計人機界面設(shè)計過程運用下述評估標(biāo)準對設(shè)計進行早期復(fù)審:(1)系統(tǒng)及其界面的規(guī)格說明書的長度和復(fù)雜程度預(yù)示了用戶學(xué)習(xí)使用該系統(tǒng)所需要的工作量(2)命令或動作的數(shù)量、命令的平均參數(shù)個數(shù)或動作中單個操作的個數(shù)預(yù)示了系統(tǒng)的交互時間和總體效率(3)動作、命令和系統(tǒng)狀態(tài)的數(shù)量預(yù)示了用戶學(xué)習(xí)使用該系統(tǒng)時需要記憶的內(nèi)容的多少(4)界面風(fēng)格、幫助設(shè)施和出錯處理協(xié)議預(yù)示了界面的復(fù)雜程度及用戶接受該界面的程度人機界面設(shè)計人機界面設(shè)計指南 一般交互指南 涉及信息顯示、數(shù)據(jù)輸入和系統(tǒng)整體控制(1)保持一致性應(yīng)該為人機界面中的菜單選擇、命令輸入、數(shù)據(jù)顯示以及眾多的其他功能,使用一致的格式(

11、2)提供有意義的反饋應(yīng)向用戶提供視覺的和聽覺的反饋,以保證在用戶和系統(tǒng)之間建立雙向通信。(3)在執(zhí)行有破壞性的動作之前要求用戶確認人機界面設(shè)計人機界面設(shè)計指南 1 一般交互指南(4)允許取消絕大多數(shù)操作UNDO或REVERSE功能曾經(jīng)使眾多終端用戶避免了大量時間浪費。(5)減少在兩次操作之間必須記憶的信息量不應(yīng)該期望用戶能記住在下一步操作中需使用的一大串?dāng)?shù)字或標(biāo)識符 (6)提高對話、移動和思考的效率應(yīng)該盡量減少用戶擊鍵的次數(shù)設(shè)計屏幕布局時應(yīng)該考慮盡量減少鼠標(biāo)移動的距離應(yīng)該盡量避免出現(xiàn)用戶問“這是什么意思?”的情況人機界面設(shè)計人機界面設(shè)計指南 1 一般交互指南 (續(xù)上頁)(7)允許犯錯誤系統(tǒng)應(yīng)該

12、能保護自己不受嚴重錯誤的破壞。(8)按功能對動作分類,并據(jù)此設(shè)計屏幕布局設(shè)計者應(yīng)該盡力提高命令和動作組織的“內(nèi)聚性”(9)提供對用戶工作內(nèi)容敏感的幫助設(shè)施 (10)用簡單動詞或動詞短語作為命令名人機界面設(shè)計人機界面設(shè)計指南 2 信息顯示指南(1)只顯示與當(dāng)前工作內(nèi)容有關(guān)的信息用戶在獲得有關(guān)功能的信息時,不必看到與之無關(guān)的數(shù)據(jù)、菜單和圖形。(2)不要用數(shù)據(jù)淹沒用戶應(yīng)該用便于用戶迅速吸取信息的方式來表示數(shù)據(jù)例如,可以用圖形或圖表來取代龐大的表格。(3)使用一致標(biāo)記、標(biāo)準的縮寫和可預(yù)知的顏色顯示的含義應(yīng)該非常明確,用戶無須參照其他信息源就能理解。人機界面設(shè)計人機界面設(shè)計指南 2 信息顯示指南 (續(xù)上

13、頁)(4)允許用戶保持可視化的語境(5)產(chǎn)生有意義的出錯信息(6)使用大小寫、縮進和文本分組以幫助理解(7)使用窗口分隔不同類型的信息 (8)使用“模擬”顯示表示信息,以使信息更容易被用戶提取(9)高效率地使用顯示屏人機界面設(shè)計人機界面設(shè)計指南 3 數(shù)據(jù)輸入指南(1)盡量減少用戶的輸入動作最重要的是減少擊鍵次數(shù)(2)保持信息顯示和數(shù)據(jù)輸入之間的一致性顯示的視覺特征(例如文字大小、顏色和位置)應(yīng)與輸入域一致(3)允許用戶自定義輸入(4)交互應(yīng)該是靈活的,并且可調(diào)整成用戶最喜歡的輸入方式人機界面設(shè)計人機界面設(shè)計指南 3 數(shù)據(jù)輸入指南 (續(xù)上頁)(5)使在當(dāng)前動作語境中不適用的命令不起作用(6)讓用

14、戶控制交互流用戶應(yīng)該能夠跳過不必要的動作改變所需做的動作的順序(在應(yīng)用環(huán)境允許的前提下)以及在不退出程序的情況下從錯誤狀態(tài)中恢復(fù)正常(7)對所有輸入動作都提供幫助(8)消除冗余的輸入不要要求用戶指定輸入數(shù)據(jù)的單位盡可能提供默認值絕對不要要求用戶提供程序可以自動獲得或計算出來的信息。課程內(nèi)容提綱第6章:“詳細設(shè)計”詳細設(shè)計任務(wù)結(jié)構(gòu)程序設(shè)計人機界面設(shè)計過程設(shè)計工具面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法程序復(fù)雜程度的定量度量過程設(shè)計工具 在詳細設(shè)計階段,要決定各個模塊的實現(xiàn)算法,并精確地表達這些算法。 表達過程規(guī)格說明的工具叫做詳細設(shè)計工具,它可以分為以下三類: 圖形工具 表格工具 語言工具過程設(shè)計工具1. 程序流

15、程圖在40年代末到70年代中期,程序流程圖一直是軟件設(shè)計的工具它以對控制流程的描繪直觀、易于掌握而被設(shè)計人員青睞 依據(jù)國家標(biāo)準(GB1526-89),列出有關(guān)程序流程圖的基本符號過程設(shè)計工具數(shù)據(jù) 處理 待處理 準備 判斷 循環(huán)上、下界 連接端點符 注解符 流線 虛線 省略符 并行方式 多出口判斷 換頁連接控制流過程設(shè)計工具程序流程圖也稱為程序框圖,程序流程圖使用五種基本控制結(jié)構(gòu)是: 示例循環(huán)的標(biāo)準符號 注解的使用多出口判斷過程設(shè)計工具 缺點:本質(zhì)上不具備逐步求精的特點,對于提高 大型系統(tǒng)的可理解性作用甚微; 不易表示數(shù)據(jù)結(jié)構(gòu); 轉(zhuǎn)移控制太方便。 趨勢:仃止使用 優(yōu)點:容易掌握,且歷史“悠久”,

16、使用廣泛。程序流程圖過程設(shè)計工具2. 盒圖 (N-S圖)N-S圖是Nassi和Shneiderman提出來的,它體現(xiàn)了結(jié)構(gòu)程序設(shè)計精神,是目前過程設(shè)計中廣泛使用的一種圖形工具。基本符號過程設(shè)計工具2. 盒圖 (N-S圖)第1個任務(wù)第2個任務(wù) 第n個任務(wù)TF條件ELSE部分THEN部分CASE條件值 1CASE1部分值 2CASE2部分值 nCASEn部分循環(huán)條件DO- WHILE 部分循環(huán)條件DO- UNTIL 部分A示例abx1FTCase x iFTx2x3x4x5cdeghix7x8jfx6abx1x2x5fcx3x4deghix6x7x8jN-S圖的嵌套定義形式過程設(shè)計工具N-S圖的特

17、點優(yōu)點功能域(一個特定控制結(jié)構(gòu)的作用域)明確,可以從盒圖上一眼就看出來。沒有箭頭不允許隨意轉(zhuǎn)移控制,不可能任意轉(zhuǎn)移控制。很容易確定局部和全程數(shù)據(jù)的作用域。很容易表現(xiàn)嵌套關(guān)系,也可以表示模塊的層次結(jié)構(gòu)。缺點隨著程序內(nèi)嵌套的層數(shù)增多時,內(nèi)層方框越來越小,這樣不僅會增加畫圖的難度,還會影響圖形的清晰度。過程設(shè)計工具3. PAD圖PAD(Problem Analysis Diagram)問題分析圖日立公司中央研究所在1973年研究開發(fā)使用二維樹形結(jié)構(gòu)圖描述程序的邏輯PAD圖的優(yōu)點:程序一定是結(jié)構(gòu)化的,PAD圖中豎線的總條數(shù)就是程序中的層次數(shù),既表示程序邏輯,也描繪數(shù)據(jù)結(jié)構(gòu)過程設(shè)計工具ABSequent

18、ial While PS Until PSLoopsPABTHENELSESelectiveP =A1A2CaseAn12nStatement IndexdefDefinitionajUNTIL X8bx1fx6UNTIL X7ghideWHILE X5cxi=x2x3x4abx1x2x5fcx3x4deghix6x7x8jx4TFDo-Until x5ighfkx1TFbDo-Until x6ajx21cDo-While x323dek :例:N-S圖與PAD的轉(zhuǎn)換過程設(shè)計工具開始 結(jié)束 aj Until x5i Until x6bx1kfx4ghdefkx2de123 While x3c過

19、程設(shè)計工具4 判定表判定表能夠清晰地表示復(fù)雜的條件組合與所產(chǎn)生的動作之前的關(guān)系。一張判定表由四部分組成:左上部列出所有的條件左下部是所有可能的操作右上部是各種條件的組合矩陣右下部是每種條件組合對應(yīng)的動作過程設(shè)計工具4 判定表一張判定表由四部分組成:左上部列出所有的條件左下部是所有可能的操作右上部是各種條件的組合矩陣右下部是每種條件組合對應(yīng)的動作 條件 操作 條件組合矩陣 動作過程設(shè)計工具4 判定表例:某航空公司規(guī)定,乘客可以免費托運重量不超過30公斤的行李。當(dāng)行李重量超過30公斤時,頭等艙國內(nèi)乘客超重部分每公斤收費4元,其他艙的國內(nèi)乘客超重部分每公斤收費6元,對于外國乘客超重部分每公斤收費比國

20、內(nèi)乘客多一倍,對于殘疾乘客超重部分每公斤收費比正常乘客減少一半。國內(nèi)乘客TTTTFFFF頭等倉TFTFTFTF殘疾乘客FFTTFFTT行李重量30T F F F FF F F F免費 (W-30)*2(W-30)*3(W-30)*4(W-30)*6(W-30)*8(W-30)*12過程設(shè)計工具5 判定樹表示復(fù)雜的條件組合與應(yīng)做的動作之間的對應(yīng)關(guān)系判定樹形式簡單,長期以來一直受到重視判定樹的簡潔性不如判定表經(jīng)常出現(xiàn)同一個值重復(fù)寫多遍且葉端重復(fù)次數(shù)急劇增加由于判定樹的分枝次序?qū)τ谧罱K畫出的判定樹的簡潔程度有較大影響所以選擇哪一個條件作為第一個分枝是至關(guān)重要的殘疾乘客 (w-30)*2正常乘客 (w

21、-30)*4殘疾乘客 (w-30)*3正常乘客 (w-30)*6殘疾乘客 (w-30)*4正常乘客 (w-30)*8殘疾乘客 (w-30)*6正常乘客 (w-30)*12頭等艙其它艙頭等艙其它艙國內(nèi)乘客國外乘客行李重量30公斤行李重量30公斤行李費算法免費過程設(shè)計工具6 偽碼和過程設(shè)計語言(PDL)是一種“混雜式語言”采用了某種語言(如英語或自然語言)的詞匯另一種語言(某種結(jié)構(gòu)化程序設(shè)計語言)的全部語法具有數(shù)據(jù)說明、子程序、分程序、順序控制、輸入和輸出結(jié)構(gòu)過程設(shè)計工具6 偽碼和過程設(shè)計語言(PDL)示例PROCEDURE spell_check IS BEGIN Split document

22、into single words Look up words in dictionary Display words which are not in dictionary Create a new dictionary END spell_checkExternal statementsInternalstatements過程設(shè)計工具6 偽碼和過程設(shè)計語言(PDL)PDL應(yīng)該具有下述特點:(1)關(guān)鍵字的固定語法它提供了結(jié)構(gòu)化控制結(jié)構(gòu)、數(shù)據(jù)說明和模塊化的特點為了使結(jié)構(gòu)清晰和可讀性好,通常在所有可能嵌套使用的控制結(jié)構(gòu)的頭和尾都有關(guān)鍵字,例如,if.fi(或endif)等(2)自然語言的自由語法

23、,它描述處理特點(3)數(shù)據(jù)說明的手段(4)模塊定義和調(diào)用的技術(shù),提供各種接口描述模式過程設(shè)計工具6 偽碼和過程設(shè)計語言(PDL)PDL作為一種設(shè)計工具有如下一些優(yōu)點:可以作為注釋直接插在源程序中間可以使用普通的正文編輯程序或文字處理系統(tǒng),很方便地完成PDL的書寫和編輯工作。已經(jīng)有自動處理程序存在,而且可以自動由PDL生成程序代碼。PDL的缺點是不如圖形工具形象直觀,描述復(fù)雜的條件組合與動作間的對應(yīng)關(guān)系時,不如判定表清晰簡單過程設(shè)計工具6 偽碼和過程設(shè)計語言(PDL)數(shù)據(jù)說明它的形式為: declard數(shù)據(jù)名 as 限定詞子程序結(jié)構(gòu)它的形式為: procedure 子程序名 interface

24、參數(shù)表 分程序或PDL語句 return end 子程序名過程設(shè)計工具6 偽碼和過程設(shè)計語言(PDL)分程序結(jié)構(gòu)begin 分程序名 PDL語句end 分程序名順序控制結(jié)構(gòu)(1) 選擇型if 條件 then PDL語句else PDL語句end if過程設(shè)計工具6 偽碼和過程設(shè)計語言(PDL)順序控制結(jié)構(gòu)(2) WHILE型循環(huán) loop while 條件 PDL語句 end loop(3) UNTIL型循環(huán) loop until 條件 PDL語句組 end loop過程設(shè)計工具6 偽碼和過程設(shè)計語言(PDL)順序控制結(jié)構(gòu)(4) CASE型case 選擇因子 of標(biāo)號,標(biāo)號:PDL語句 :en

25、d case(5) 輸入/輸出結(jié)構(gòu) 一般采用 print read display input output等常見語句例1 是PDL的設(shè)計片斷程序beginexecute process aloop until condition x8begin execute process b if 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 proc

26、ess h end abx1x2x5fcx3x4deghix6x7x8jend if endelse case xi of x2:loop while condition x5 execute process c end loop x3: execute process d x4: execute process e end case end ifendend loopexceute process jendabx1x2x5fcx3x4deghix6x7x8j課程內(nèi)容提綱第6章:“詳細設(shè)計”詳細設(shè)計任務(wù)結(jié)構(gòu)程序設(shè)計人機界面設(shè)計過程設(shè)計工具面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法程序復(fù)雜程度的定量度量面向數(shù)據(jù)結(jié)構(gòu)

27、的設(shè)計方法面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法的目標(biāo)目標(biāo)是得出對程序處理過程的描述這種方法最適合于在詳細設(shè)計階段使用兩個面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法Jackson方法和Warnier方法面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法分析確定數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)元素彼此間的邏輯關(guān)系有順序、選擇和重復(fù)因此,邏輯數(shù)據(jù)結(jié)構(gòu)也只有這3類描述數(shù)據(jù)結(jié)構(gòu)的工具Jackson圖 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法描述數(shù)據(jù)結(jié)構(gòu)的工具Jackson圖 順序結(jié)構(gòu)順序結(jié)構(gòu)的數(shù)據(jù)由一個或多個數(shù)據(jù)元素組成,每個元素按確定次序出現(xiàn)一次。ACBDA seq B C DA end面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法描述數(shù)據(jù)結(jié)構(gòu)的工具Jackson圖 選擇結(jié)構(gòu)選擇結(jié)構(gòu)的數(shù)據(jù)包含兩個或多個數(shù)據(jù)元素,每次按一定

28、的條件從這些數(shù)據(jù)元素中選擇一個使用,具體分為:(1)選擇結(jié)構(gòu),(2)可選結(jié)構(gòu)ACBDS(i)AB-S(i)A select cond1 BA or cond2 CA or cond3 DA endA select cond BA end面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法描述數(shù)據(jù)結(jié)構(gòu)的工具Jackson圖 重復(fù)結(jié)構(gòu)重復(fù)結(jié)構(gòu)的數(shù)據(jù),根據(jù)使用時的條件由一個數(shù)據(jù)元素出現(xiàn)零次或多次構(gòu)成。AB*I(i)A iter until(while) cond BAend面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法描述數(shù)據(jù)結(jié)構(gòu)的工具Jackson圖 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法描述數(shù)據(jù)結(jié)構(gòu)的工具Jackson圖 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法Jackson方法J

29、ackson結(jié)構(gòu)化設(shè)計方法基本上由下述五個步驟組成:1 分析并確定輸入數(shù)據(jù)和輸出數(shù)據(jù)的邏輯結(jié)構(gòu),并用Jackson圖描繪這些數(shù)據(jù)結(jié)構(gòu)2 找出輸入數(shù)據(jù)結(jié)構(gòu)和輸出數(shù)據(jù)結(jié)構(gòu)中有對應(yīng)關(guān)系的數(shù)據(jù)單元3 從描繪數(shù)據(jù)結(jié)構(gòu)的Jackson圖導(dǎo)出描繪程序結(jié)構(gòu)的Jackson圖按照在數(shù)據(jù)結(jié)構(gòu)圖中的層次,在程序結(jié)構(gòu)圖的相應(yīng)層次,為每對有對應(yīng)關(guān)系的數(shù)據(jù)單元畫一個處理框面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法Jackson方法根據(jù)輸入數(shù)據(jù)結(jié)構(gòu)中剩余的每個數(shù)據(jù)單元所處的層次,在程序結(jié)構(gòu)圖相應(yīng)層次分別為它們畫上對應(yīng)的處理框根據(jù)輸出數(shù)據(jù)結(jié)構(gòu)中剩余的每個數(shù)據(jù)單元所處的層次,在程序結(jié)構(gòu)圖相應(yīng)層次分別為它們畫上對應(yīng)的處理框若在構(gòu)成順序結(jié)構(gòu)的元素中出

30、現(xiàn)了重復(fù)或選擇元素,需在Jackson圖中增加一個中間層次的處理框。4 列出所有操作和條件(包括分支條件和循環(huán)結(jié)束條件),并且把它們分配到程序結(jié)構(gòu)圖的適當(dāng)位置。5 用偽碼表示程序 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法Jackson方法應(yīng)用舉例 一個正文文件由若干個記錄組成,每個記錄是一個字符串。要求統(tǒng)計每個記錄中空格字符的個數(shù),以及文件中空格字符的總數(shù)。輸出數(shù)據(jù)的格式為,每復(fù)制一行輸入字符串后,另起一行印出這個字符串的空格數(shù),最后印出文件中空格的總個數(shù)。第1步:用Jackson圖描述輸入/輸出的數(shù)據(jù)結(jié)構(gòu)正文文件I字符串*字符*空格O非空格OIS輸入輸出表格表格體串信息*字符串空格數(shù)I輸出空格總數(shù)第2步:在兩

31、個圖中指出有直接因果關(guān)系、可以同時處理的單元(重復(fù)的次序,次數(shù)均相同)正文文件I字符串*字符*空格O非空格OIS輸入輸出表格表格體串信息*字符串空格數(shù)I輸出空格總數(shù)? 經(jīng)過程序處理由正文文件得到輸出表格。 每處理輸入中一個字符串后就得到輸出中一個串信息,二者重復(fù)次序和次數(shù)均相同。 字符不與多字符組成的字符串對應(yīng)。 單個空格不能決定空格數(shù)。正文文件I字符串*字符*空格O非空格OIS輸入輸出表格表格體串信息*字符串空格數(shù)I輸出空格總數(shù)統(tǒng)計空格處理字符串*I程序體印總數(shù)印字符串印空格數(shù)分析字符*分析字符*I分析字符串處理空格o處理非空格oS注:順序執(zhí)行的處理中不允許混有重復(fù)執(zhí)行或選擇執(zhí)行的處理。第3

32、步:Data structure Program structure把有對應(yīng)關(guān)系的單元合為一個處理框,畫在相應(yīng)的層次中(不同層以低層為準)第4步:列出所有操作條件,并分配到上幅程序結(jié)構(gòu)圖中統(tǒng)計空格處理字符串*I(1)程序體印總數(shù)印字符串印空格數(shù)分析字符*I分析字符串處理空格o處理非空格oS23145例:(部分列舉,詳見P.125)打開文件讀入字符串空格總數(shù)totalsum=0關(guān)閉文件仃止I 文件結(jié)束第5步:用Pseudocode 表示程序。(詳見P.125 -126)課程內(nèi)容提綱第6章:“詳細設(shè)計”詳細設(shè)計任務(wù)結(jié)構(gòu)程序設(shè)計人機界面設(shè)計過程設(shè)計工具面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法程序復(fù)雜程度的定量度量程序

33、復(fù)雜程度的定量度量McCabe方法 McCabe方法的核心是通過定量分析程序中分支個數(shù)或循環(huán)個數(shù),對軟件測試難度進行定量度量,對軟件最終的可靠性進行預(yù)測。以下我們介紹定量度量的過程。程序復(fù)雜程度的定量度量McCabe方法 流圖McCabe方法根據(jù)程序控制流的復(fù)雜程度定量度量程序的復(fù)雜程度,這樣度量出的結(jié)果稱為程序的環(huán)形復(fù)雜度。流圖實質(zhì)上是“退化了的程序流程圖它僅僅描繪程序的控制流程,完全不表現(xiàn)對數(shù)據(jù)的具體操作以及分支或循環(huán)的具體條件。 程序復(fù)雜程度的定量度量McCabe方法 流圖在流圖中用圓表示結(jié)點,一個圓代表一條或多條語句程序流程圖中的一個順序的處理框序列和一個菱形判定框,可以映射成流圖中的一個結(jié)點流圖中的箭頭線稱為邊,代表控制流,在流圖中一條邊必須終止于一個結(jié)點,即使這個結(jié)點

溫馨提示

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

最新文檔

評論

0/150

提交評論