版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、軟件工程 Email:1可行性研究需求分析概要設(shè)計(jì)詳細(xì)設(shè)計(jì)實(shí) 現(xiàn)集成測(cè)試確認(rèn)測(cè)試使用與維護(hù)退役軟件定義軟件開發(fā)軟件使用與維護(hù)軟件生命周期軟件設(shè)計(jì)的任務(wù)從工程管理的角度來看,軟件設(shè)計(jì)分兩步完成總體設(shè)計(jì)(概要設(shè)計(jì)),將軟件需求轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)和軟件的系統(tǒng)結(jié)構(gòu)。詳細(xì)設(shè)計(jì),即過程設(shè)計(jì)。通過對(duì)結(jié)構(gòu)表示進(jìn)行細(xì)化,得到軟件詳細(xì)的數(shù)據(jù)結(jié)構(gòu)和算法。軟件設(shè)計(jì)的任務(wù)一般交互式軟件系統(tǒng)的設(shè)計(jì)內(nèi)容體系結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)設(shè)計(jì)接口設(shè)計(jì)人機(jī)界面設(shè)計(jì)過程設(shè)計(jì)課程內(nèi)容提綱第6章:“詳細(xì)設(shè)計(jì)”詳細(xì)設(shè)計(jì)任務(wù)結(jié)構(gòu)程序設(shè)計(jì)人機(jī)界面設(shè)計(jì)過程設(shè)計(jì)工具面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法程序復(fù)雜程度的定量度量詳細(xì)設(shè)計(jì)的任務(wù)Program Design Coding
2、為SC圖的每個(gè)模塊確定算法和數(shù)據(jù)結(jié)構(gòu)進(jìn)行詳細(xì)設(shè)計(jì)的原則在保證正確可靠前提下,盡量提高算法可讀性采用結(jié)構(gòu)化設(shè)計(jì)方法,改善控制結(jié)構(gòu),降低程序復(fù)雜度,提高可測(cè)試性和可維護(hù)性自頂向下逐步求精;具有單入、單出的控制結(jié)構(gòu)(取消GOTO語句)用工具無二義的描述模塊算法詳細(xì)設(shè)計(jì)的任務(wù)詳細(xì)設(shè)計(jì)過程1.確定每個(gè)模塊的算法選擇適當(dāng)工具表達(dá)算法執(zhí)行過程2.確定每一個(gè)模塊的數(shù)據(jù)組織3.為每一個(gè)模塊設(shè)計(jì)一組測(cè)試用例輸入數(shù)據(jù)、預(yù)期輸出結(jié)果4.編寫詳細(xì)設(shè)計(jì)說明書5.設(shè)計(jì)評(píng)審詳細(xì)設(shè)計(jì)的任務(wù)詳細(xì)設(shè)計(jì)內(nèi)容用圖表列出系統(tǒng)的每個(gè)程序,包括每個(gè)模塊和子程序名稱、標(biāo)識(shí)符、層出結(jié)構(gòu)關(guān)系對(duì)程序的功能、性能、輸入、輸出、算法、流程、接口等進(jìn)行描
3、述內(nèi)容包括程序描述:程序簡要描述,意義和特點(diǎn)功能:程序應(yīng)具備的功能性能:精度、靈活性和時(shí)間特性等輸入項(xiàng)輸出項(xiàng)詳細(xì)設(shè)計(jì)的任務(wù)詳細(xì)設(shè)計(jì)內(nèi)容內(nèi)容包括算法:具體的計(jì)算步驟和過程接口:模塊的隸屬關(guān)系、調(diào)用方式和參數(shù)、與模塊直接關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)(如數(shù)據(jù)庫表、文件等)存儲(chǔ)分配(根據(jù)需要)注釋設(shè)計(jì):程序注釋說明限制條件:程序運(yùn)行中所受的限制條件詳細(xì)設(shè)計(jì)的任務(wù)詳細(xì)設(shè)計(jì)優(yōu)化在不考慮時(shí)間因素的前提下開發(fā)并精化軟件結(jié)構(gòu)選出最耗時(shí)的模塊,仔細(xì)設(shè)計(jì)處理算法孤立出大量占有處理機(jī)資源的模塊必要時(shí)重新設(shè)計(jì)或用依賴于機(jī)器的語言重寫大量占有資源的模塊課程內(nèi)容提綱第6章:“詳細(xì)設(shè)計(jì)”詳細(xì)設(shè)計(jì)任務(wù)結(jié)構(gòu)程序設(shè)計(jì)人機(jī)界面設(shè)計(jì)過程設(shè)計(jì)工具面向
4、數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法程序復(fù)雜程度的定量度量結(jié)構(gòu)程序設(shè)計(jì)1 結(jié)構(gòu)程序設(shè)計(jì)的提出結(jié)構(gòu)程序設(shè)計(jì)概念最早1965年由E.W.Dijkstra提出“可以從高級(jí)語言中取消GOTO語句”“程序的質(zhì)量與程序中所包含的GOTO語句的數(shù)量成反比”1966年bohm和Jacopini證明了:只用三種基本的控制結(jié)構(gòu)能實(shí)現(xiàn)任何單入口單出口的程序1968年人們認(rèn)識(shí)要?jiǎng)?chuàng)立一種新的程序設(shè)計(jì)思想以顯著地提高軟件生產(chǎn)率和降低軟件維護(hù)代價(jià) 結(jié)構(gòu)程序設(shè)計(jì)1 結(jié)構(gòu)程序設(shè)計(jì)的提出1971年IBM公司成功地使用了結(jié)構(gòu)程序設(shè)計(jì)技術(shù)紐約時(shí)報(bào)信息庫管理系統(tǒng)美國宇航局空間實(shí)驗(yàn)室飛行模擬系統(tǒng)1972年IBM公司的Mills進(jìn)一步補(bǔ)充了結(jié)構(gòu)程序設(shè)計(jì)的規(guī)
5、則 結(jié)構(gòu)程序設(shè)計(jì)是盡可能少用GOTO語句的程序設(shè)計(jì)方法。最好僅在檢測(cè)出錯(cuò)誤時(shí)才使用GOTO語句,而且應(yīng)該總是使用前向GOTO語句結(jié)構(gòu)程序設(shè)計(jì)2 結(jié)構(gòu)程序設(shè)計(jì)分類只允許使用順序、IF-THEN-ELSE分支和DO-WHILE型循環(huán)這三種基本控制結(jié)構(gòu),稱為經(jīng)典的結(jié)構(gòu)程序設(shè)計(jì)還允許使用DO-CASE多分支結(jié)構(gòu)和DO-UNTIL循環(huán)結(jié)構(gòu),稱為擴(kuò)展的結(jié)構(gòu)程序設(shè)計(jì)如果再加上允許使用LEAVE(或BREAK)結(jié)構(gòu),稱為修正的結(jié)構(gòu)程序設(shè)計(jì)課程內(nèi)容提綱第6章:“詳細(xì)設(shè)計(jì)”詳細(xì)設(shè)計(jì)任務(wù)結(jié)構(gòu)程序設(shè)計(jì)人機(jī)界面設(shè)計(jì)過程設(shè)計(jì)工具面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法程序復(fù)雜程度的定量度量人機(jī)界面設(shè)計(jì)人機(jī)界面的設(shè)計(jì)四個(gè)方面系統(tǒng)響應(yīng)時(shí)間用戶
6、幫助設(shè)施出錯(cuò)信息處理命令交互 1. 系統(tǒng)響應(yīng)時(shí)間系統(tǒng)響應(yīng)時(shí)間指從用戶完成某個(gè)控制動(dòng)作(例如,按回車鍵或點(diǎn)擊鼠標(biāo)),到軟件給出預(yù)期響應(yīng)(輸出信息或做動(dòng)作)之間的時(shí)間人機(jī)界面設(shè)計(jì)1. 系統(tǒng)響應(yīng)時(shí)間系統(tǒng)響應(yīng)時(shí)間有兩個(gè)重要屬性響應(yīng)長度系統(tǒng)響應(yīng)時(shí)間過長,用戶就會(huì)感到緊張和沮喪系統(tǒng)響應(yīng)時(shí)間過短,會(huì)迫使用戶加快操作節(jié)奏,從而可能會(huì)犯錯(cuò)誤易變性(系統(tǒng)響應(yīng)時(shí)間的更重要的屬性)指系統(tǒng)響應(yīng)時(shí)間相對(duì)于平均響應(yīng)時(shí)間的偏差響應(yīng)時(shí)間易變性低也有助于用戶建立起穩(wěn)定的工作節(jié)奏例如,穩(wěn)定在1秒的響應(yīng)時(shí)間比從0.1秒到2.5秒變化的響應(yīng)時(shí)間要好人機(jī)界面設(shè)計(jì)2. 用戶幫助設(shè)施常見的幫助設(shè)施可分為集成的和附加的兩類集成的幫助設(shè)施從一開
7、始就設(shè)計(jì)在軟件里面它對(duì)用戶工作內(nèi)容是敏感的可縮短用戶獲得幫助的時(shí)間,增加界面的友好性附加的幫助設(shè)施是在系統(tǒng)建成后再添加到軟件中的實(shí)際是一種查詢能力有限的聯(lián)機(jī)用戶手冊(cè)人們普遍認(rèn)為,集成的幫助設(shè)施優(yōu)于附加的幫助設(shè)施人機(jī)界面設(shè)計(jì)設(shè)計(jì)幫助設(shè)施時(shí)必須解決下述問題(1)交互期間是否在任何時(shí)候都能獲得關(guān)于任何功能的幫助?有兩種選擇:提供功能的幫助信息和提供全部功能的幫助信息(2)用戶怎樣請(qǐng)求幫助? 有3種選擇:幫助菜單,特殊功能鍵和HELP命令(3)怎樣顯示幫助信息?有3種選擇:在獨(dú)立的窗口中,指出參考某個(gè)文檔和在屏幕固定位置顯示簡短提示(4)用戶怎樣返回到正常的交互方式中?有兩種選擇:屏幕上的返回按鈕和功
8、能鍵(5)怎樣組織幫助信息?有3種選擇:平面結(jié)構(gòu)(所有信息都通過關(guān)鍵字訪問),信息的層次結(jié)構(gòu)(用戶可在該結(jié)構(gòu)中查到更詳細(xì)的信息)和超文本結(jié)構(gòu)人機(jī)界面設(shè)計(jì)3. 出錯(cuò)信息處理 出錯(cuò)信息和警告信息是出現(xiàn)問題時(shí)交互式系統(tǒng)給出的“壞消息”一般說來,交互式系統(tǒng)給出的出錯(cuò)信息或警告信息,應(yīng)該具有下述屬性:(1)應(yīng)該用用戶可以理解的術(shù)語描述問題(2)應(yīng)該提供有助于從錯(cuò)誤中恢復(fù)的建設(shè)性意見人機(jī)界面設(shè)計(jì)(3)信息應(yīng)該指出錯(cuò)誤可能導(dǎo)致哪些負(fù)面后果 (4)信息應(yīng)該伴隨著聽覺上或視覺上的提示例如,在顯示信息時(shí)同時(shí)發(fā)出警告鈴聲或者信息用閃爍方式顯示或者用明顯表示出錯(cuò)的顏色顯示(5)信息不能帶有指責(zé)色彩也就是說,不能責(zé)怪用
9、戶人機(jī)界面設(shè)計(jì)4. 命令交互在提供命令交互方式時(shí),必須考慮下列設(shè)計(jì)問題(1)是否每個(gè)菜單選項(xiàng)都有對(duì)應(yīng)的命令?(2)采用何種命令形式?有3種選擇:控制序列(例如,Ctrl+P),功能鍵和鍵入命令。(3)學(xué)習(xí)和記憶命令的難度有多大?忘記了怎么辦?(4)用戶是否可以定制或縮寫命令?人機(jī)界面設(shè)計(jì)人機(jī)界面設(shè)計(jì)過程用戶界面設(shè)計(jì)是一個(gè)迭代的過程創(chuàng)建設(shè)計(jì)模型-再用原型實(shí)現(xiàn)這個(gè)設(shè)計(jì)模型-由用戶試用和評(píng)估-根據(jù)用戶意見進(jìn)行修改用于界面設(shè)計(jì)和原型開發(fā)的軟件工具用戶界面工具箱或用戶界面開發(fā)系統(tǒng)用戶界面的評(píng)估周期如下所述完成初步設(shè)計(jì)之后就創(chuàng)建第一級(jí)原型;用戶試用并評(píng)估該原型,向設(shè)計(jì)者表述對(duì)界面的評(píng)價(jià)設(shè)計(jì)者根據(jù)用戶意見修
10、改設(shè)計(jì)并實(shí)現(xiàn)下一級(jí)原型人機(jī)界面設(shè)計(jì)人機(jī)界面設(shè)計(jì)過程運(yùn)用下述評(píng)估標(biāo)準(zhǔn)對(duì)設(shè)計(jì)進(jìn)行早期復(fù)審:(1)系統(tǒng)及其界面的規(guī)格說明書的長度和復(fù)雜程度預(yù)示了用戶學(xué)習(xí)使用該系統(tǒng)所需要的工作量(2)命令或動(dòng)作的數(shù)量、命令的平均參數(shù)個(gè)數(shù)或動(dòng)作中單個(gè)操作的個(gè)數(shù)預(yù)示了系統(tǒng)的交互時(shí)間和總體效率(3)動(dòng)作、命令和系統(tǒng)狀態(tài)的數(shù)量預(yù)示了用戶學(xué)習(xí)使用該系統(tǒng)時(shí)需要記憶的內(nèi)容的多少(4)界面風(fēng)格、幫助設(shè)施和出錯(cuò)處理協(xié)議預(yù)示了界面的復(fù)雜程度及用戶接受該界面的程度人機(jī)界面設(shè)計(jì)人機(jī)界面設(shè)計(jì)指南 一般交互指南 涉及信息顯示、數(shù)據(jù)輸入和系統(tǒng)整體控制(1)保持一致性應(yīng)該為人機(jī)界面中的菜單選擇、命令輸入、數(shù)據(jù)顯示以及眾多的其他功能,使用一致的格式(
11、2)提供有意義的反饋應(yīng)向用戶提供視覺的和聽覺的反饋,以保證在用戶和系統(tǒng)之間建立雙向通信。(3)在執(zhí)行有破壞性的動(dòng)作之前要求用戶確認(rèn)人機(jī)界面設(shè)計(jì)人機(jī)界面設(shè)計(jì)指南 1 一般交互指南(4)允許取消絕大多數(shù)操作UNDO或REVERSE功能曾經(jīng)使眾多終端用戶避免了大量時(shí)間浪費(fèi)。(5)減少在兩次操作之間必須記憶的信息量不應(yīng)該期望用戶能記住在下一步操作中需使用的一大串?dāng)?shù)字或標(biāo)識(shí)符 (6)提高對(duì)話、移動(dòng)和思考的效率應(yīng)該盡量減少用戶擊鍵的次數(shù)設(shè)計(jì)屏幕布局時(shí)應(yīng)該考慮盡量減少鼠標(biāo)移動(dòng)的距離應(yīng)該盡量避免出現(xiàn)用戶問“這是什么意思?”的情況人機(jī)界面設(shè)計(jì)人機(jī)界面設(shè)計(jì)指南 1 一般交互指南 (續(xù)上頁)(7)允許犯錯(cuò)誤系統(tǒng)應(yīng)該
12、能保護(hù)自己不受嚴(yán)重錯(cuò)誤的破壞。(8)按功能對(duì)動(dòng)作分類,并據(jù)此設(shè)計(jì)屏幕布局設(shè)計(jì)者應(yīng)該盡力提高命令和動(dòng)作組織的“內(nèi)聚性”(9)提供對(duì)用戶工作內(nèi)容敏感的幫助設(shè)施 (10)用簡單動(dòng)詞或動(dòng)詞短語作為命令名人機(jī)界面設(shè)計(jì)人機(jī)界面設(shè)計(jì)指南 2 信息顯示指南(1)只顯示與當(dāng)前工作內(nèi)容有關(guān)的信息用戶在獲得有關(guān)功能的信息時(shí),不必看到與之無關(guān)的數(shù)據(jù)、菜單和圖形。(2)不要用數(shù)據(jù)淹沒用戶應(yīng)該用便于用戶迅速吸取信息的方式來表示數(shù)據(jù)例如,可以用圖形或圖表來取代龐大的表格。(3)使用一致標(biāo)記、標(biāo)準(zhǔn)的縮寫和可預(yù)知的顏色顯示的含義應(yīng)該非常明確,用戶無須參照其他信息源就能理解。人機(jī)界面設(shè)計(jì)人機(jī)界面設(shè)計(jì)指南 2 信息顯示指南 (續(xù)上
13、頁)(4)允許用戶保持可視化的語境(5)產(chǎn)生有意義的出錯(cuò)信息(6)使用大小寫、縮進(jìn)和文本分組以幫助理解(7)使用窗口分隔不同類型的信息 (8)使用“模擬”顯示表示信息,以使信息更容易被用戶提取(9)高效率地使用顯示屏人機(jī)界面設(shè)計(jì)人機(jī)界面設(shè)計(jì)指南 3 數(shù)據(jù)輸入指南(1)盡量減少用戶的輸入動(dòng)作最重要的是減少擊鍵次數(shù)(2)保持信息顯示和數(shù)據(jù)輸入之間的一致性顯示的視覺特征(例如文字大小、顏色和位置)應(yīng)與輸入域一致(3)允許用戶自定義輸入(4)交互應(yīng)該是靈活的,并且可調(diào)整成用戶最喜歡的輸入方式人機(jī)界面設(shè)計(jì)人機(jī)界面設(shè)計(jì)指南 3 數(shù)據(jù)輸入指南 (續(xù)上頁)(5)使在當(dāng)前動(dòng)作語境中不適用的命令不起作用(6)讓用
14、戶控制交互流用戶應(yīng)該能夠跳過不必要的動(dòng)作改變所需做的動(dòng)作的順序(在應(yīng)用環(huán)境允許的前提下)以及在不退出程序的情況下從錯(cuò)誤狀態(tài)中恢復(fù)正常(7)對(duì)所有輸入動(dòng)作都提供幫助(8)消除冗余的輸入不要要求用戶指定輸入數(shù)據(jù)的單位盡可能提供默認(rèn)值絕對(duì)不要要求用戶提供程序可以自動(dòng)獲得或計(jì)算出來的信息。課程內(nèi)容提綱第6章:“詳細(xì)設(shè)計(jì)”詳細(xì)設(shè)計(jì)任務(wù)結(jié)構(gòu)程序設(shè)計(jì)人機(jī)界面設(shè)計(jì)過程設(shè)計(jì)工具面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法程序復(fù)雜程度的定量度量過程設(shè)計(jì)工具 在詳細(xì)設(shè)計(jì)階段,要決定各個(gè)模塊的實(shí)現(xiàn)算法,并精確地表達(dá)這些算法。 表達(dá)過程規(guī)格說明的工具叫做詳細(xì)設(shè)計(jì)工具,它可以分為以下三類: 圖形工具 表格工具 語言工具過程設(shè)計(jì)工具1. 程序流
15、程圖在40年代末到70年代中期,程序流程圖一直是軟件設(shè)計(jì)的工具它以對(duì)控制流程的描繪直觀、易于掌握而被設(shè)計(jì)人員青睞 依據(jù)國家標(biāo)準(zhǔn)(GB1526-89),列出有關(guān)程序流程圖的基本符號(hào)過程設(shè)計(jì)工具數(shù)據(jù) 處理 待處理 準(zhǔn)備 判斷 循環(huán)上、下界 連接端點(diǎn)符 注解符 流線 虛線 省略符 并行方式 多出口判斷 換頁連接控制流過程設(shè)計(jì)工具程序流程圖也稱為程序框圖,程序流程圖使用五種基本控制結(jié)構(gòu)是: 示例循環(huán)的標(biāo)準(zhǔn)符號(hào) 注解的使用多出口判斷過程設(shè)計(jì)工具 缺點(diǎn):本質(zhì)上不具備逐步求精的特點(diǎn),對(duì)于提高 大型系統(tǒng)的可理解性作用甚微; 不易表示數(shù)據(jù)結(jié)構(gòu); 轉(zhuǎn)移控制太方便。 趨勢(shì):仃止使用 優(yōu)點(diǎn):容易掌握,且歷史“悠久”,
16、使用廣泛。程序流程圖過程設(shè)計(jì)工具2. 盒圖 (N-S圖)N-S圖是Nassi和Shneiderman提出來的,它體現(xiàn)了結(jié)構(gòu)程序設(shè)計(jì)精神,是目前過程設(shè)計(jì)中廣泛使用的一種圖形工具?;痉?hào)過程設(shè)計(jì)工具2. 盒圖 (N-S圖)第1個(gè)任務(wù)第2個(gè)任務(wù) 第n個(gè)任務(wù)TF條件ELSE部分THEN部分CASE條件值 1CASE1部分值 2CASE2部分值 nCASEn部分循環(huán)條件DO- WHILE 部分循環(huán)條件DO- UNTIL 部分A示例abx1FTCase x iFTx2x3x4x5cdeghix7x8jfx6abx1x2x5fcx3x4deghix6x7x8jN-S圖的嵌套定義形式過程設(shè)計(jì)工具N-S圖的特
17、點(diǎn)優(yōu)點(diǎn)功能域(一個(gè)特定控制結(jié)構(gòu)的作用域)明確,可以從盒圖上一眼就看出來。沒有箭頭不允許隨意轉(zhuǎn)移控制,不可能任意轉(zhuǎn)移控制。很容易確定局部和全程數(shù)據(jù)的作用域。很容易表現(xiàn)嵌套關(guān)系,也可以表示模塊的層次結(jié)構(gòu)。缺點(diǎn)隨著程序內(nèi)嵌套的層數(shù)增多時(shí),內(nèi)層方框越來越小,這樣不僅會(huì)增加畫圖的難度,還會(huì)影響圖形的清晰度。過程設(shè)計(jì)工具3. PAD圖PAD(Problem Analysis Diagram)問題分析圖日立公司中央研究所在1973年研究開發(fā)使用二維樹形結(jié)構(gòu)圖描述程序的邏輯PAD圖的優(yōu)點(diǎn):程序一定是結(jié)構(gòu)化的,PAD圖中豎線的總條數(shù)就是程序中的層次數(shù),既表示程序邏輯,也描繪數(shù)據(jù)結(jié)構(gòu)過程設(shè)計(jì)工具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è)計(jì)工具開始 結(jié)束 aj Until x5i Until x6bx1kfx4ghdefkx2de123 While x3c過
19、程設(shè)計(jì)工具4 判定表判定表能夠清晰地表示復(fù)雜的條件組合與所產(chǎn)生的動(dòng)作之前的關(guān)系。一張判定表由四部分組成:左上部列出所有的條件左下部是所有可能的操作右上部是各種條件的組合矩陣右下部是每種條件組合對(duì)應(yīng)的動(dòng)作過程設(shè)計(jì)工具4 判定表一張判定表由四部分組成:左上部列出所有的條件左下部是所有可能的操作右上部是各種條件的組合矩陣右下部是每種條件組合對(duì)應(yīng)的動(dòng)作 條件 操作 條件組合矩陣 動(dòng)作過程設(shè)計(jì)工具4 判定表例:某航空公司規(guī)定,乘客可以免費(fèi)托運(yùn)重量不超過30公斤的行李。當(dāng)行李重量超過30公斤時(shí),頭等艙國內(nèi)乘客超重部分每公斤收費(fèi)4元,其他艙的國內(nèi)乘客超重部分每公斤收費(fèi)6元,對(duì)于外國乘客超重部分每公斤收費(fèi)比國
20、內(nèi)乘客多一倍,對(duì)于殘疾乘客超重部分每公斤收費(fèi)比正常乘客減少一半。國內(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過程設(shè)計(jì)工具5 判定樹表示復(fù)雜的條件組合與應(yīng)做的動(dòng)作之間的對(duì)應(yīng)關(guān)系判定樹形式簡單,長期以來一直受到重視判定樹的簡潔性不如判定表經(jīng)常出現(xiàn)同一個(gè)值重復(fù)寫多遍且葉端重復(fù)次數(shù)急劇增加由于判定樹的分枝次序?qū)τ谧罱K畫出的判定樹的簡潔程度有較大影響所以選擇哪一個(gè)條件作為第一個(gè)分枝是至關(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公斤行李費(fèi)算法免費(fèi)過程設(shè)計(jì)工具6 偽碼和過程設(shè)計(jì)語言(PDL)是一種“混雜式語言”采用了某種語言(如英語或自然語言)的詞匯另一種語言(某種結(jié)構(gòu)化程序設(shè)計(jì)語言)的全部語法具有數(shù)據(jù)說明、子程序、分程序、順序控制、輸入和輸出結(jié)構(gòu)過程設(shè)計(jì)工具6 偽碼和過程設(shè)計(jì)語言(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è)計(jì)工具6 偽碼和過程設(shè)計(jì)語言(PDL)PDL應(yīng)該具有下述特點(diǎn):(1)關(guān)鍵字的固定語法它提供了結(jié)構(gòu)化控制結(jié)構(gòu)、數(shù)據(jù)說明和模塊化的特點(diǎn)為了使結(jié)構(gòu)清晰和可讀性好,通常在所有可能嵌套使用的控制結(jié)構(gòu)的頭和尾都有關(guān)鍵字,例如,if.fi(或endif)等(2)自然語言的自由語法
23、,它描述處理特點(diǎn)(3)數(shù)據(jù)說明的手段(4)模塊定義和調(diào)用的技術(shù),提供各種接口描述模式過程設(shè)計(jì)工具6 偽碼和過程設(shè)計(jì)語言(PDL)PDL作為一種設(shè)計(jì)工具有如下一些優(yōu)點(diǎn):可以作為注釋直接插在源程序中間可以使用普通的正文編輯程序或文字處理系統(tǒng),很方便地完成PDL的書寫和編輯工作。已經(jīng)有自動(dòng)處理程序存在,而且可以自動(dòng)由PDL生成程序代碼。PDL的缺點(diǎn)是不如圖形工具形象直觀,描述復(fù)雜的條件組合與動(dòng)作間的對(duì)應(yīng)關(guān)系時(shí),不如判定表清晰簡單過程設(shè)計(jì)工具6 偽碼和過程設(shè)計(jì)語言(PDL)數(shù)據(jù)說明它的形式為: declard數(shù)據(jù)名 as 限定詞子程序結(jié)構(gòu)它的形式為: procedure 子程序名 interface
24、參數(shù)表 分程序或PDL語句 return end 子程序名過程設(shè)計(jì)工具6 偽碼和過程設(shè)計(jì)語言(PDL)分程序結(jié)構(gòu)begin 分程序名 PDL語句end 分程序名順序控制結(jié)構(gòu)(1) 選擇型if 條件 then PDL語句else PDL語句end if過程設(shè)計(jì)工具6 偽碼和過程設(shè)計(jì)語言(PDL)順序控制結(jié)構(gòu)(2) WHILE型循環(huán) loop while 條件 PDL語句 end loop(3) UNTIL型循環(huán) loop until 條件 PDL語句組 end loop過程設(shè)計(jì)工具6 偽碼和過程設(shè)計(jì)語言(PDL)順序控制結(jié)構(gòu)(4) CASE型case 選擇因子 of標(biāo)號(hào),標(biāo)號(hào):PDL語句 :en
25、d case(5) 輸入/輸出結(jié)構(gòu) 一般采用 print read display input output等常見語句例1 是PDL的設(shè)計(jì)片斷程序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章:“詳細(xì)設(shè)計(jì)”詳細(xì)設(shè)計(jì)任務(wù)結(jié)構(gòu)程序設(shè)計(jì)人機(jī)界面設(shè)計(jì)過程設(shè)計(jì)工具面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法程序復(fù)雜程度的定量度量面向數(shù)據(jù)結(jié)構(gòu)
27、的設(shè)計(jì)方法面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法的目標(biāo)目標(biāo)是得出對(duì)程序處理過程的描述這種方法最適合于在詳細(xì)設(shè)計(jì)階段使用兩個(gè)面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法Jackson方法和Warnier方法面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法分析確定數(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è)計(jì)方法描述數(shù)據(jù)結(jié)構(gòu)的工具Jackson圖 順序結(jié)構(gòu)順序結(jié)構(gòu)的數(shù)據(jù)由一個(gè)或多個(gè)數(shù)據(jù)元素組成,每個(gè)元素按確定次序出現(xiàn)一次。ACBDA seq B C DA end面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法描述數(shù)據(jù)結(jié)構(gòu)的工具Jackson圖 選擇結(jié)構(gòu)選擇結(jié)構(gòu)的數(shù)據(jù)包含兩個(gè)或多個(gè)數(shù)據(jù)元素,每次按一定
28、的條件從這些數(shù)據(jù)元素中選擇一個(gè)使用,具體分為:(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è)計(jì)方法描述數(shù)據(jù)結(jié)構(gòu)的工具Jackson圖 重復(fù)結(jié)構(gòu)重復(fù)結(jié)構(gòu)的數(shù)據(jù),根據(jù)使用時(shí)的條件由一個(gè)數(shù)據(jù)元素出現(xiàn)零次或多次構(gòu)成。AB*I(i)A iter until(while) cond BAend面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法描述數(shù)據(jù)結(jié)構(gòu)的工具Jackson圖 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法描述數(shù)據(jù)結(jié)構(gòu)的工具Jackson圖 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法Jackson方法J
29、ackson結(jié)構(gòu)化設(shè)計(jì)方法基本上由下述五個(gè)步驟組成: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)中有對(duì)應(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)層次,為每對(duì)有對(duì)應(yīng)關(guān)系的數(shù)據(jù)單元畫一個(gè)處理框面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法Jackson方法根據(jù)輸入數(shù)據(jù)結(jié)構(gòu)中剩余的每個(gè)數(shù)據(jù)單元所處的層次,在程序結(jié)構(gòu)圖相應(yīng)層次分別為它們畫上對(duì)應(yīng)的處理框根據(jù)輸出數(shù)據(jù)結(jié)構(gòu)中剩余的每個(gè)數(shù)據(jù)單元所處的層次,在程序結(jié)構(gòu)圖相應(yīng)層次分別為它們畫上對(duì)應(yīng)的處理框若在構(gòu)成順序結(jié)構(gòu)的元素中出
30、現(xiàn)了重復(fù)或選擇元素,需在Jackson圖中增加一個(gè)中間層次的處理框。4 列出所有操作和條件(包括分支條件和循環(huán)結(jié)束條件),并且把它們分配到程序結(jié)構(gòu)圖的適當(dāng)位置。5 用偽碼表示程序 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法Jackson方法應(yīng)用舉例 一個(gè)正文文件由若干個(gè)記錄組成,每個(gè)記錄是一個(gè)字符串。要求統(tǒng)計(jì)每個(gè)記錄中空格字符的個(gè)數(shù),以及文件中空格字符的總數(shù)。輸出數(shù)據(jù)的格式為,每復(fù)制一行輸入字符串后,另起一行印出這個(gè)字符串的空格數(shù),最后印出文件中空格的總個(gè)數(shù)。第1步:用Jackson圖描述輸入/輸出的數(shù)據(jù)結(jié)構(gòu)正文文件I字符串*字符*空格O非空格OIS輸入輸出表格表格體串信息*字符串空格數(shù)I輸出空格總數(shù)第2步:在兩
31、個(gè)圖中指出有直接因果關(guān)系、可以同時(shí)處理的單元(重復(fù)的次序,次數(shù)均相同)正文文件I字符串*字符*空格O非空格OIS輸入輸出表格表格體串信息*字符串空格數(shù)I輸出空格總數(shù)? 經(jīng)過程序處理由正文文件得到輸出表格。 每處理輸入中一個(gè)字符串后就得到輸出中一個(gè)串信息,二者重復(fù)次序和次數(shù)均相同。 字符不與多字符組成的字符串對(duì)應(yīng)。 單個(gè)空格不能決定空格數(shù)。正文文件I字符串*字符*空格O非空格OIS輸入輸出表格表格體串信息*字符串空格數(shù)I輸出空格總數(shù)統(tǒng)計(jì)空格處理字符串*I程序體印總數(shù)印字符串印空格數(shù)分析字符*分析字符*I分析字符串處理空格o處理非空格oS注:順序執(zhí)行的處理中不允許混有重復(fù)執(zhí)行或選擇執(zhí)行的處理。第3
32、步:Data structure Program structure把有對(duì)應(yīng)關(guān)系的單元合為一個(gè)處理框,畫在相應(yīng)的層次中(不同層以低層為準(zhǔn))第4步:列出所有操作條件,并分配到上幅程序結(jié)構(gòu)圖中統(tǒng)計(jì)空格處理字符串*I(1)程序體印總數(shù)印字符串印空格數(shù)分析字符*I分析字符串處理空格o處理非空格oS23145例:(部分列舉,詳見P.125)打開文件讀入字符串空格總數(shù)totalsum=0關(guān)閉文件仃止I 文件結(jié)束第5步:用Pseudocode 表示程序。(詳見P.125 -126)課程內(nèi)容提綱第6章:“詳細(xì)設(shè)計(jì)”詳細(xì)設(shè)計(jì)任務(wù)結(jié)構(gòu)程序設(shè)計(jì)人機(jī)界面設(shè)計(jì)過程設(shè)計(jì)工具面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法程序復(fù)雜程度的定量度量程序
33、復(fù)雜程度的定量度量McCabe方法 McCabe方法的核心是通過定量分析程序中分支個(gè)數(shù)或循環(huán)個(gè)數(shù),對(duì)軟件測(cè)試難度進(jìn)行定量度量,對(duì)軟件最終的可靠性進(jìn)行預(yù)測(cè)。以下我們介紹定量度量的過程。程序復(fù)雜程度的定量度量McCabe方法 流圖McCabe方法根據(jù)程序控制流的復(fù)雜程度定量度量程序的復(fù)雜程度,這樣度量出的結(jié)果稱為程序的環(huán)形復(fù)雜度。流圖實(shí)質(zhì)上是“退化了的程序流程圖它僅僅描繪程序的控制流程,完全不表現(xiàn)對(duì)數(shù)據(jù)的具體操作以及分支或循環(huán)的具體條件。 程序復(fù)雜程度的定量度量McCabe方法 流圖在流圖中用圓表示結(jié)點(diǎn),一個(gè)圓代表一條或多條語句程序流程圖中的一個(gè)順序的處理框序列和一個(gè)菱形判定框,可以映射成流圖中的一個(gè)結(jié)點(diǎn)流圖中的箭頭線稱為邊,代表控制流,在流圖中一條邊必須終止于一個(gè)結(jié)點(diǎn),即使這個(gè)結(jié)點(diǎn)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度苗木買賣合同范本3篇
- 二零二五年度租車公司車輛保險(xiǎn)合同模板3篇
- 蝦皮選品技巧課程設(shè)計(jì)
- 二零二五年度返聘人員勞動(dòng)合同終止與補(bǔ)償合同模板3篇
- 二零二五年文化產(chǎn)業(yè)股份收購實(shí)施協(xié)議3篇
- 調(diào)幅調(diào)制課程設(shè)計(jì)
- 2024船舶融資租賃合同
- 課程設(shè)計(jì)水塔水位控制器
- 二零二五年度藝術(shù)品收藏居間代理合同3篇
- 貨物采購課程設(shè)計(jì)
- 靜脈治療輸液工具的選擇2024課件
- 2024年壓瘡管理制度范本(六篇)
- 2024秋期國家開放大學(xué)??啤陡叩葦?shù)學(xué)基礎(chǔ)》一平臺(tái)在線形考(形考任務(wù)一至四)試題及答案
- 人教版2024新版七年級(jí)上冊(cè)數(shù)學(xué)期中模擬測(cè)試卷(含答案解析)
- 期末家長會(huì)(課件)小學(xué)生主題班會(huì)
- 人教版英語七年級(jí)上冊(cè)閱讀理解專項(xiàng)訓(xùn)練16篇(含答案)
- 數(shù)字化供電所題庫練習(xí)試題附答案
- 數(shù)字政府建設(shè)課件
- 2外匯風(fēng)險(xiǎn)對(duì)企業(yè)的潛在影響
- 2024年7月自考外貿(mào)函電試題試卷真題
- 2024年高考地理時(shí)事熱點(diǎn):科技(附答案解析)
評(píng)論
0/150
提交評(píng)論