




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、張康立 email:可行性研究可行性研究需求分析需求分析概要設(shè)計(jì)概要設(shè)計(jì)詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)實(shí)實(shí) 現(xiàn)現(xiàn)集成測(cè)試集成測(cè)試確認(rèn)測(cè)試確認(rèn)測(cè)試使用與維護(hù)使用與維護(hù)退役退役軟件定義軟件定義軟件開(kāi)發(fā)軟件開(kāi)發(fā)軟件使用軟件使用與維護(hù)與維護(hù)n從工程管理的角度來(lái)看,軟件設(shè)計(jì)分兩步完成 總體設(shè)計(jì)(概要設(shè)計(jì)),將軟件需求轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)和軟件的系統(tǒng)結(jié)構(gòu)。 詳細(xì)設(shè)計(jì),即過(guò)程設(shè)計(jì)。通過(guò)對(duì)結(jié)構(gòu)表示進(jìn)行細(xì)化,得到軟件詳細(xì)的數(shù)據(jù)結(jié)構(gòu)和算法。n一般交互式軟件系統(tǒng)的設(shè)計(jì)內(nèi)容 體系結(jié)構(gòu)設(shè)計(jì) 數(shù)據(jù)設(shè)計(jì) 接口設(shè)計(jì) 人機(jī)界面設(shè)計(jì) 過(guò)程設(shè)計(jì)n第6章:“詳細(xì)設(shè)計(jì)” 詳細(xì)設(shè)計(jì)任務(wù) 結(jié)構(gòu)程序設(shè)計(jì) 人機(jī)界面設(shè)計(jì) 過(guò)程設(shè)計(jì)工具 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法 程序
2、復(fù)雜程度的定量度量program design codingn為sc圖的每個(gè)模塊確定算法和數(shù)據(jù)結(jié)構(gòu)n進(jìn)行詳細(xì)設(shè)計(jì)的原則 在保證正確可靠前提下,盡量提高算法可讀性 采用結(jié)構(gòu)化設(shè)計(jì)方法,改善控制結(jié)構(gòu),降低程序復(fù)雜度,提高可測(cè)試性和可維護(hù)性n自頂向下逐步求精;n具有單入、單出的控制結(jié)構(gòu)(取消goto語(yǔ)句) 用工具無(wú)二義的描述模塊算法n詳細(xì)設(shè)計(jì)過(guò)程1.確定每個(gè)模塊的算法n選擇適當(dāng)工具表達(dá)算法執(zhí)行過(guò)程2.確定每一個(gè)模塊的數(shù)據(jù)組織3.為每一個(gè)模塊設(shè)計(jì)一組測(cè)試用例n輸入數(shù)據(jù)、預(yù)期輸出結(jié)果4.編寫(xiě)詳細(xì)設(shè)計(jì)說(shuō)明書(shū)5.設(shè)計(jì)評(píng)審n詳細(xì)設(shè)計(jì)內(nèi)容 用圖表列出系統(tǒng)的每個(gè)程序,包括每個(gè)模塊和子程序名稱、標(biāo)識(shí)符、層出結(jié)構(gòu)關(guān)系
3、 對(duì)程序的功能、性能、輸入、輸出、算法、流程、接口等進(jìn)行描述 內(nèi)容包括n程序描述:程序簡(jiǎn)要描述,意義和特點(diǎn)n功能:程序應(yīng)具備的功能n性能:精度、靈活性和時(shí)間特性等n輸入項(xiàng)n輸出項(xiàng)n詳細(xì)設(shè)計(jì)內(nèi)容 內(nèi)容包括n算法:具體的計(jì)算步驟和過(guò)程n接口:模塊的隸屬關(guān)系、調(diào)用方式和參數(shù)、與模塊直接關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)(如數(shù)據(jù)庫(kù)表、文件等)n存儲(chǔ)分配(根據(jù)需要)n注釋設(shè)計(jì):程序注釋說(shuō)明n限制條件:程序運(yùn)行中所受的限制條件n詳細(xì)設(shè)計(jì)優(yōu)化 在不考慮時(shí)間因素的前提下開(kāi)發(fā)并精化軟件結(jié)構(gòu) 選出最耗時(shí)的模塊,仔細(xì)設(shè)計(jì)處理算法 孤立出大量占有處理機(jī)資源的模塊 必要時(shí)重新設(shè)計(jì)或用依賴于機(jī)器的語(yǔ)言重寫(xiě)大量占有資源的模塊n第6章:“詳細(xì)設(shè)
4、計(jì)” 詳細(xì)設(shè)計(jì)任務(wù) 結(jié)構(gòu)程序設(shè)計(jì) 人機(jī)界面設(shè)計(jì) 過(guò)程設(shè)計(jì)工具 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法 程序復(fù)雜程度的定量度量n1 結(jié)構(gòu)程序設(shè)計(jì)的提出 結(jié)構(gòu)程序設(shè)計(jì)概念最早1965年由e.w.dijkstra提出n“可以從高級(jí)語(yǔ)言中取消goto語(yǔ)句”n“程序的質(zhì)量與程序中所包含的goto語(yǔ)句的數(shù)量成反比” 1966年bohm和jacopini證明了:n只用三種基本的控制結(jié)構(gòu)能實(shí)現(xiàn)任何單入口單出口的程序 1968年人們認(rèn)識(shí)要?jiǎng)?chuàng)立一種新的程序設(shè)計(jì)思想n以顯著地提高軟件生產(chǎn)率和降低軟件維護(hù)代價(jià) n1 結(jié)構(gòu)程序設(shè)計(jì)的提出 1971年ibm公司成功地使用了結(jié)構(gòu)程序設(shè)計(jì)技術(shù)n紐約時(shí)報(bào)信息庫(kù)管理系統(tǒng)n美國(guó)宇航局空間實(shí)驗(yàn)室飛行
5、模擬系統(tǒng) 1972年ibm公司的mills進(jìn)一步補(bǔ)充了結(jié)構(gòu)程序設(shè)計(jì)的規(guī)則 結(jié)構(gòu)程序設(shè)計(jì)是盡可能少用goto語(yǔ)句的程序設(shè)計(jì)方法。最好僅在檢測(cè)出錯(cuò)誤時(shí)才使用goto語(yǔ)句,而且應(yīng)該總是使用前向goto語(yǔ)句n2 結(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第6章:“詳細(xì)設(shè)計(jì)” 詳細(xì)設(shè)計(jì)任務(wù) 結(jié)構(gòu)程序設(shè)計(jì) 人機(jī)界面設(shè)計(jì) 過(guò)程設(shè)計(jì)工具 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法 程序
6、復(fù)雜程度的定量度量n人機(jī)界面的設(shè)計(jì)四個(gè)方面 系統(tǒng)響應(yīng)時(shí)間 用戶幫助設(shè)施 出錯(cuò)信息處理 命令交互 1. 系統(tǒng)響應(yīng)時(shí)間 系統(tǒng)響應(yīng)時(shí)間指n從用戶完成某個(gè)控制動(dòng)作(例如,按回車鍵或點(diǎn)擊鼠標(biāo)),到軟件給出預(yù)期響應(yīng)(輸出信息或做動(dòng)作)之間的時(shí)間1. 系統(tǒng)響應(yīng)時(shí)間系統(tǒng)響應(yīng)時(shí)間有兩個(gè)重要屬性 響應(yīng)長(zhǎng)度n系統(tǒng)響應(yīng)時(shí)間過(guò)長(zhǎng),用戶就會(huì)感到緊張和沮喪n系統(tǒng)響應(yīng)時(shí)間過(guò)短,會(huì)迫使用戶加快操作節(jié)奏,從而可能會(huì)犯錯(cuò)誤 易變性(系統(tǒng)響應(yīng)時(shí)間的更重要的屬性)n指系統(tǒng)響應(yīng)時(shí)間相對(duì)于平均響應(yīng)時(shí)間的偏差n響應(yīng)時(shí)間易變性低也有助于用戶建立起穩(wěn)定的工作節(jié)奏2. 用戶幫助設(shè)施 常見(jiàn)的幫助設(shè)施可分為集成的和附加的兩類 集成的幫助設(shè)施從一開(kāi)始就
7、設(shè)計(jì)在軟件里面n它對(duì)用戶工作內(nèi)容是敏感的n可縮短用戶獲得幫助的時(shí)間,增加界面的友好性 附加的幫助設(shè)施是在系統(tǒng)建成后再添加到軟件中的n實(shí)際是一種查詢能力有限的聯(lián)機(jī)用戶手冊(cè)n人們普遍認(rèn)為,集成的幫助設(shè)施優(yōu)于附加的幫助設(shè)施n設(shè)計(jì)幫助設(shè)施時(shí)必須解決下述問(wèn)題(1)交互期間是否在任何時(shí)候都能獲得關(guān)于任何功能的幫助?n有兩種選擇:提供功能的幫助信息和提供全部功能的幫助信息(2)用戶怎樣請(qǐng)求幫助?n 有3種選擇:幫助菜單,特殊功能鍵和help命令(3)怎樣顯示幫助信息?n有3種選擇:在獨(dú)立的窗口中,指出參考某個(gè)文檔和在屏幕固定位置顯示簡(jiǎn)短提示(4)用戶怎樣返回到正常的交互方式中?n有兩種選擇:屏幕上的返回按鈕
8、和功能鍵(5)怎樣組織幫助信息?n有3種選擇:平面結(jié)構(gòu)(所有信息都通過(guò)關(guān)鍵字訪問(wèn)),信息的層次結(jié)構(gòu)(用戶可在該結(jié)構(gòu)中查到更詳細(xì)的信息)和超文本結(jié)構(gòu)3. 出錯(cuò)信息處理 出錯(cuò)信息和警告信息n是出現(xiàn)問(wèn)題時(shí)交互式系統(tǒng)給出的“壞消息” 一般說(shuō)來(lái),交互式系統(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ù)面后果 (4)信息應(yīng)該伴隨著聽(tīng)覺(jué)上或視覺(jué)上的提示(5)信息不能帶有指責(zé)色彩4. 命令交互 在提供命令交互方式時(shí),必須考慮下列設(shè)計(jì)問(wèn)題(1)是否每個(gè)菜單選項(xiàng)都有對(duì)應(yīng)的命令?(2)采用何種命令形式
9、?(3)學(xué)習(xí)和記憶命令的難度有多大?忘記了怎么辦?(4)用戶是否可以定制或縮寫(xiě)命令?n人機(jī)界面設(shè)計(jì)過(guò)程 用戶界面設(shè)計(jì)是一個(gè)迭代的過(guò)程n創(chuàng)建設(shè)計(jì)模型-再用原型實(shí)現(xiàn)這個(gè)設(shè)計(jì)模型-由用戶試用和評(píng)估-根據(jù)用戶意見(jiàn)進(jìn)行修改 用于界面設(shè)計(jì)和原型開(kāi)發(fā)的軟件工具n用戶界面工具箱或用戶界面開(kāi)發(fā)系統(tǒng) 用戶界面的評(píng)估周期如下所述n完成初步設(shè)計(jì)之后就創(chuàng)建第一級(jí)原型;n用戶試用并評(píng)估該原型,向設(shè)計(jì)者表述對(duì)界面的評(píng)價(jià)n設(shè)計(jì)者根據(jù)用戶意見(jiàn)修改設(shè)計(jì)并實(shí)現(xiàn)下一級(jí)原型n人機(jī)界面設(shè)計(jì)過(guò)程 運(yùn)用下述評(píng)估標(biāo)準(zhǔn)對(duì)設(shè)計(jì)進(jìn)行早期復(fù)審:(1)系統(tǒng)及其界面的規(guī)格說(shuō)明書(shū)的長(zhǎng)度和復(fù)雜程度(2)命令或動(dòng)作的數(shù)量、命令的平均參數(shù)個(gè)數(shù)或動(dòng)作中單個(gè)操作的個(gè)
10、數(shù)(3)動(dòng)作、命令和系統(tǒng)狀態(tài)的數(shù)量(4)界面風(fēng)格、幫助設(shè)施和出錯(cuò)處理協(xié)議n人機(jī)界面設(shè)計(jì)指南 一般交互指南 涉及信息顯示、數(shù)據(jù)輸入和系統(tǒng)整體控制(1)保持一致性(2)提供有意義的反饋(3)在執(zhí)行有破壞性的動(dòng)作之前要求用戶確認(rèn)n人機(jī)界面設(shè)計(jì)指南 1 一般交互指南(4)允許取消絕大多數(shù)操作(5)減少在兩次操作之間必須記憶的信息量(6)提高對(duì)話、移動(dòng)和思考的效率n人機(jī)界面設(shè)計(jì)指南 1 一般交互指南 (續(xù)上頁(yè))(7)允許犯錯(cuò)誤(8)按功能對(duì)動(dòng)作分類,并據(jù)此設(shè)計(jì)屏幕布局(9)提供對(duì)用戶工作內(nèi)容敏感的幫助設(shè)施 (10)用簡(jiǎn)單動(dòng)詞或動(dòng)詞短語(yǔ)作為命令名n人機(jī)界面設(shè)計(jì)指南 2 信息顯示指南(1)只顯示與當(dāng)前工作內(nèi)
11、容有關(guān)的信息(2)不要用數(shù)據(jù)淹沒(méi)用戶(3)使用一致標(biāo)記、標(biāo)準(zhǔn)的縮寫(xiě)和可預(yù)知的顏色n人機(jī)界面設(shè)計(jì)指南 2 信息顯示指南 (續(xù)上頁(yè))(4)允許用戶保持可視化的語(yǔ)境(5)產(chǎn)生有意義的出錯(cuò)信息(6)使用大小寫(xiě)、縮進(jìn)和文本分組以幫助理解(7)使用窗口分隔不同類型的信息 (8)使用“模擬”顯示表示信息,以使信息更容易被用戶提取(9)高效率地使用顯示屏n人機(jī)界面設(shè)計(jì)指南 3 數(shù)據(jù)輸入指南(1)盡量減少用戶的輸入動(dòng)作(2)保持信息顯示和數(shù)據(jù)輸入之間的一致性(3)允許用戶自定義輸入(4)交互應(yīng)該是靈活的,并且可調(diào)整成用戶最喜歡的輸入方式n人機(jī)界面設(shè)計(jì)指南 3 數(shù)據(jù)輸入指南 (續(xù)上頁(yè))(5)使在當(dāng)前動(dòng)作語(yǔ)境中不適
12、用的命令不起作用(6)讓用戶控制交互流(7)對(duì)所有輸入動(dòng)作都提供幫助(8)消除冗余的輸入n第6章:“詳細(xì)設(shè)計(jì)” 詳細(xì)設(shè)計(jì)任務(wù) 結(jié)構(gòu)程序設(shè)計(jì) 人機(jī)界面設(shè)計(jì) 過(guò)程設(shè)計(jì)工具 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法 程序復(fù)雜程度的定量度量1. 程序流程圖 在40年代末到70年代中期,程序流程圖一直是軟件設(shè)計(jì)的工具 它以對(duì)控制流程的描繪直觀、易于掌握而被設(shè)計(jì)人員青睞 依據(jù)國(guó)家標(biāo)準(zhǔn)(gb1526-89),列出有關(guān)程序流程圖的基本符號(hào)數(shù)據(jù) 處理 待處理 準(zhǔn)備 判斷 循環(huán)上、下界 連接端點(diǎn)符 注解符 流線 虛線 省略符 并行方式 多出口判斷 換頁(yè)連接控制流 缺點(diǎn):本質(zhì)上不具備逐步求精的特點(diǎn),對(duì)于提高缺點(diǎn):本質(zhì)上不具備逐步求精
13、的特點(diǎn),對(duì)于提高 大型系統(tǒng)的可理解性作用甚微;大型系統(tǒng)的可理解性作用甚微; 不易表示數(shù)據(jù)結(jié)構(gòu);不易表示數(shù)據(jù)結(jié)構(gòu); 轉(zhuǎn)移控制太方便。轉(zhuǎn)移控制太方便。 趨勢(shì):仃止使用趨勢(shì):仃止使用 優(yōu)點(diǎn):容易掌握,且歷史優(yōu)點(diǎn):容易掌握,且歷史“悠久悠久”,使用廣泛。,使用廣泛。n程序流程圖2. 盒圖 (n-s圖) n-s圖是nassi和shneiderman提出來(lái)的,它體現(xiàn)了結(jié)構(gòu)程序設(shè)計(jì)精神,是目前過(guò)程設(shè)計(jì)中廣泛使用的一種圖形工具。 基本符號(hào)2. 盒圖 (n-s圖)第第1個(gè)任務(wù)個(gè)任務(wù)第第2個(gè)任務(wù)個(gè)任務(wù) 第第n個(gè)任務(wù)個(gè)任務(wù)tf條件條件else部分部分then部分部分case條件條件值值 1case1部分部分值值 2
14、case2部分部分值值 ncasen部分部分循環(huán)條件循環(huán)條件do- while 部分部分循環(huán)條件循環(huán)條件do- until 部分部分aabx1ftcase x iftx2x3x4x5cdeghix7x8jfx6abx1x2x5fcx3x4deghix6x7x8jnn-s圖的特點(diǎn) 優(yōu)點(diǎn)n功能域(一個(gè)特定控制結(jié)構(gòu)的作用域)明確,可以從盒圖上一眼就看出來(lái)。n沒(méi)有箭頭不允許隨意轉(zhuǎn)移控制,不可能任意轉(zhuǎn)移控制。n很容易確定局部和全程數(shù)據(jù)的作用域。n很容易表現(xiàn)嵌套關(guān)系,也可以表示模塊的層次結(jié)構(gòu)。 缺點(diǎn)n隨著程序內(nèi)嵌套的層數(shù)增多時(shí),內(nèi)層方框越來(lái)越小,這樣不僅會(huì)增加畫(huà)圖的難度,還會(huì)影響圖形的清晰度。3. pad
15、圖 pad(problem analysis diagram)問(wèn)題分析圖 日立公司中央研究所在1973年研究開(kāi)發(fā) 使用二維樹(shù)形結(jié)構(gòu)圖描述程序的邏輯 pad圖的優(yōu)點(diǎn):n程序一定是結(jié)構(gòu)化的,pad圖中豎線的總條數(shù)就是程序中的層次數(shù),既表示程序邏輯,也描繪數(shù)據(jù)結(jié)構(gòu)absequential while ps until psloopspabthenelseselectivep =a1a2casean12nstatement indexdefdefinitionajuntil x8bx1fx6until x7ghidewhile x5cxi=x2x3x4abx1x2x5fcx3x4deghix6x7x8
16、jx4tfdo-until x5ighfkx1tfbdo-until x6ajx21cdo-while x323dek :例:例:n-s圖與圖與pad的轉(zhuǎn)換的轉(zhuǎn)換開(kāi)始開(kāi)始 結(jié)束結(jié)束 aj until x5i until x6bx1kfx4ghdefkx2de123 while x3c4 判定表 判定表能夠清晰地表示復(fù)雜的條件組合與所產(chǎn)生的動(dòng)作之前的關(guān)系。 一張判定表由四部分組成:n左上部列出所有的條件n左下部是所有可能的操作n右上部是各種條件的組合矩陣n右下部是每種條件組合對(duì)應(yīng)的動(dòng)作4 判定表 一張判定表由四部分組成:n左上部列出所有的條件n左下部是所有可能的操作n右上部是各種條件的組合矩陣n
17、右下部是每種條件組合對(duì)應(yīng)的動(dòng)作 條件條件 操作操作 條件組合矩陣條件組合矩陣 動(dòng)作動(dòng)作4 判定表 例:n某航空公司規(guī)定,乘客可以免費(fèi)托運(yùn)重量不超過(guò)30公斤的行李。當(dāng)行李重量超過(guò)30公斤時(shí),頭等艙國(guó)內(nèi)乘客超重部分每公斤收費(fèi)4元,其他艙的國(guó)內(nèi)乘客超重部分每公斤收費(fèi)6元,對(duì)于外國(guó)乘客超重部分每公斤收費(fèi)比國(guó)內(nèi)乘客多一倍,對(duì)于殘疾乘客超重部分每公斤收費(fèi)比正常乘客減少一半。國(guó)內(nèi)乘客國(guó)內(nèi)乘客ttttffff頭等倉(cāng)頭等倉(cāng)tftftftf殘疾乘客殘疾乘客ffttfftt行李重量行李重量 30t f f f ff f f f免費(fèi)免費(fèi) (w-30)*2(w-30)*3(w-30)*4(w-30)*6(w-30)*8
18、(w-30)*125 判定樹(shù) 表示復(fù)雜的條件組合與應(yīng)做的動(dòng)作之間的對(duì)應(yīng)關(guān)系 判定樹(shù)形式簡(jiǎn)單,長(zhǎng)期以來(lái)一直受到重視 判定樹(shù)的簡(jiǎn)潔性不如判定表n經(jīng)常出現(xiàn)同一個(gè)值重復(fù)寫(xiě)多遍n且葉端重復(fù)次數(shù)急劇增加 由于判定樹(shù)的分枝次序?qū)τ谧罱K畫(huà)出的判定樹(shù)的簡(jiǎn)潔程度有較大影響n所以選擇哪一個(gè)條件作為第一個(gè)分枝是至關(guān)重要的殘疾乘客殘疾乘客 (w-30)*2正常乘客正常乘客 (w-30)*4殘疾乘客殘疾乘客 (w-30)*3正常乘客正常乘客 (w-30)*6殘疾乘客殘疾乘客 (w-30)*4正常乘客正常乘客 (w-30)*8殘疾乘客殘疾乘客 (w-30)*6正常乘客正常乘客 (w-30)*12頭等艙頭等艙其它艙其它艙頭等
19、艙頭等艙其它艙其它艙國(guó)內(nèi)乘客國(guó)內(nèi)乘客國(guó)外乘客國(guó)外乘客行李重量行李重量30公斤公斤行李重量行李重量 30公斤公斤行李費(fèi)行李費(fèi)算法算法免費(fèi)免費(fèi)6 偽碼和過(guò)程設(shè)計(jì)語(yǔ)言(pdl) 是一種“混雜式語(yǔ)言”n采用了某種語(yǔ)言(如英語(yǔ)或自然語(yǔ)言)的詞匯n另一種語(yǔ)言(某種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言)的全部語(yǔ)法 具有數(shù)據(jù)說(shuō)明、子程序、分程序、順序控制、輸入和輸出結(jié)構(gòu)6 偽碼和過(guò)程設(shè)計(jì)語(yǔ)言(pdl) 示例procedure spell_check is begin split document into single words look up words in dictionary display words which
20、are not in dictionary create a new dictionary end spell_checkexternal statementsinternalstatements6 偽碼和過(guò)程設(shè)計(jì)語(yǔ)言(pdl) pdl應(yīng)該具有下述特點(diǎn):(1)關(guān)鍵字的固定語(yǔ)法n它提供了結(jié)構(gòu)化控制結(jié)構(gòu)、數(shù)據(jù)說(shuō)明和模塊化的特點(diǎn)n為了使結(jié)構(gòu)清晰和可讀性好,通常在所有可能嵌套使用的控制結(jié)構(gòu)的頭和尾都有關(guān)鍵字,例如,if.fi(或endif)等(2)自然語(yǔ)言的自由語(yǔ)法,它描述處理特點(diǎn)(3)數(shù)據(jù)說(shuō)明的手段(4)模塊定義和調(diào)用的技術(shù),提供各種接口描述模式6 偽碼和過(guò)程設(shè)計(jì)語(yǔ)言(pdl) pdl作為一種設(shè)計(jì)工
21、具有如下一些優(yōu)點(diǎn):n可以作為注釋直接插在源程序中間n可以使用普通的正文編輯程序或文字處理系統(tǒng),很方便地完成pdl的書(shū)寫(xiě)和編輯工作。n已經(jīng)有自動(dòng)處理程序存在,而且可以自動(dòng)由pdl生成程序代碼。 pdl的缺點(diǎn)是不如圖形工具形象直觀,描述復(fù)雜的條件組合與動(dòng)作間的對(duì)應(yīng)關(guān)系時(shí),不如判定表清晰簡(jiǎn)單6 偽碼和過(guò)程設(shè)計(jì)語(yǔ)言(pdl) 數(shù)據(jù)說(shuō)明它的形式為: declard數(shù)據(jù)名 as 限定詞 子程序結(jié)構(gòu)它的形式為: procedure 子程序名 interface 參數(shù)表 分程序或pdl語(yǔ)句 return end 子程序名6 偽碼和過(guò)程設(shè)計(jì)語(yǔ)言(pdl) 分程序結(jié)構(gòu)begin 分程序名 pdl語(yǔ)句end 分程序
22、名 順序控制結(jié)構(gòu)(1) 選擇型if 條件 then pdl語(yǔ)句else pdl語(yǔ)句end if6 偽碼和過(guò)程設(shè)計(jì)語(yǔ)言(pdl) 順序控制結(jié)構(gòu)(2) while型循環(huán) loop while 條件 pdl語(yǔ)句 end loop(3) until型循環(huán) loop until 條件 pdl語(yǔ)句組 end loop6 偽碼和過(guò)程設(shè)計(jì)語(yǔ)言(pdl) 順序控制結(jié)構(gòu)n(4) case型case 選擇因子 of標(biāo)號(hào),標(biāo)號(hào):pdl語(yǔ)句 :end casen(5) 輸入/輸出結(jié)構(gòu) 一般采用 print read display input output等常見(jiàn)語(yǔ)句例例1 1 是是pdlpdl的設(shè)計(jì)片斷程序的設(shè)計(jì)片斷程
23、序 beginbegin execute process aexecute process a loop until condition x8loop until condition x8 beginbegin execute process b execute process b if condition x1 thenif condition x1 then beginbegin execute process fexecute process f if condition x6 thenif condition x6 then loop until condition x7loop un
24、til condition x7 execute process iexecute process i end loopend loop elseelse beginbegin execute process gexecute process g execute process hexecute process h endend abx1x2x5fcx3x4deghix6x7x8j end ifend if end end elseelse case xi ofcase xi of x2:loop while condition x5x2:loop while condition x5 exe
25、cute process c execute process c end loopend loop x3: execute process dx3: execute process d x4: execute process e x4: execute process e end caseend case end ifend if endend end loopend loop exceute process jexceute process j endendabx1x2x5fcx3x4deghix6x7x8jn第6章:“詳細(xì)設(shè)計(jì)” 詳細(xì)設(shè)計(jì)任務(wù) 結(jié)構(gòu)程序設(shè)計(jì) 人機(jī)界面設(shè)計(jì) 過(guò)程設(shè)計(jì)工具 面向
26、數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法 程序復(fù)雜程度的定量度量n面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法的目標(biāo) 目標(biāo)是得出對(duì)程序處理過(guò)程的描述 這種方法最適合于在詳細(xì)設(shè)計(jì)階段使用n兩個(gè)面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法 jackson方法和warnier方法n分析確定數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)元素彼此間的邏輯關(guān)系有n順序、選擇和重復(fù)n因此,邏輯數(shù)據(jù)結(jié)構(gòu)也只有這3類n描述數(shù)據(jù)結(jié)構(gòu)的工具jackson圖 n描述數(shù)據(jù)結(jié)構(gòu)的工具jackson圖 順序結(jié)構(gòu)n順序結(jié)構(gòu)的數(shù)據(jù)由一個(gè)或多個(gè)數(shù)據(jù)元素組成,每個(gè)元素按確定次序出現(xiàn)一次。acbda seq b c da endn描述數(shù)據(jù)結(jié)構(gòu)的工具jackson圖 選擇結(jié)構(gòu)n選擇結(jié)構(gòu)的數(shù)據(jù)包含兩個(gè)或多個(gè)數(shù)據(jù)元素,每次按一定的條件
27、從這些數(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 endn描述數(shù)據(jù)結(jié)構(gòu)的工具jackson圖 重復(fù)結(jié)構(gòu)n重復(fù)結(jié)構(gòu)的數(shù)據(jù),根據(jù)使用時(shí)的條件由一個(gè)數(shù)據(jù)元素出現(xiàn)零次或多次構(gòu)成。ab*i(i)a iter until(while) cond baendn描述數(shù)據(jù)結(jié)構(gòu)的工具jackson圖 n描述數(shù)據(jù)結(jié)構(gòu)的工具jackson圖 njackson方法 jackson結(jié)構(gòu)化設(shè)計(jì)方法基本上由下述五個(gè)步驟組成:1 分析并確定輸入數(shù)據(jù)和輸出數(shù)
28、據(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圖njackson方法4 列出所有操作和條件(包括分支條件和循環(huán)結(jié)束條件),并且把它們分配到程序結(jié)構(gòu)圖的適當(dāng)位置。5 用偽碼表示程序 njackson方法 應(yīng)用舉例n 一個(gè)正文文件由若干個(gè)記錄組成,每個(gè)記錄是一個(gè)字符串。要求統(tǒng)計(jì)每個(gè)記錄中空格字符的個(gè)數(shù),以及文件中空格字符的總數(shù)。輸出數(shù)據(jù)的格式為,每復(fù)制一行輸入字符串后,另起一行印出這個(gè)字符串的空格數(shù),最后印出文件中空格的總個(gè)數(shù)。第第1 1步:用步:用jacksonjack
29、son圖描述圖描述輸入輸入/ /輸出輸出的數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)結(jié)構(gòu)正文文件正文文件i字符串字符串*字符字符*空格空格o非空格非空格ois輸入輸入輸出表格輸出表格表格體表格體串信息串信息*字符串字符串空格數(shù)空格數(shù)i輸出輸出空格總數(shù)空格總數(shù)第第2 2步:在兩個(gè)圖中指出有直接因果關(guān)系步:在兩個(gè)圖中指出有直接因果關(guān)系、可以同可以同時(shí)處理的單元(重復(fù)的次序,次數(shù)均相同)時(shí)處理的單元(重復(fù)的次序,次數(shù)均相同)正文文件正文文件i字符串字符串*字符字符*空格空格o非空格非空格ois輸入輸入輸出表格輸出表格表格體表格體串信息串信息*字符串字符串空格數(shù)空格數(shù)i輸出輸出空格總數(shù)空格總數(shù)? 經(jīng)過(guò)程序處理由經(jīng)過(guò)程序處理由正文
30、文件正文文件得到得到輸出表格輸出表格。 每處理輸入中一個(gè)每處理輸入中一個(gè)字符串字符串后就后就得到輸出中一個(gè)得到輸出中一個(gè)串信息串信息,二者重,二者重復(fù)次序和次數(shù)均相同。復(fù)次序和次數(shù)均相同。 字符字符不與多字符組成的不與多字符組成的字符串字符串對(duì)應(yīng)。對(duì)應(yīng)。 單個(gè)單個(gè)空格空格不能決定不能決定空格數(shù)空格數(shù)。正文文件正文文件i字符串字符串*字符字符*空格空格o非空格非空格ois輸入輸入輸出表格輸出表格表格體表格體串信息串信息*字符串字符串空格數(shù)空格數(shù)i輸出輸出空格總數(shù)空格總數(shù)統(tǒng)計(jì)空格統(tǒng)計(jì)空格處理字符串處理字符串*i程序體程序體印總數(shù)印總數(shù)印字符串印字符串印空格數(shù)印空格數(shù)分析字符分析字符*分析字符分析字
31、符*i分析字符串分析字符串處理空格處理空格o處理非空格處理非空格os注:順序執(zhí)行的處理中不允許混有注:順序執(zhí)行的處理中不允許混有重復(fù)執(zhí)行或選擇執(zhí)行的處理重復(fù)執(zhí)行或選擇執(zhí)行的處理。第第3步:步:data structure program structure把有對(duì)應(yīng)關(guān)系的單元合為一個(gè)處理框,畫(huà)把有對(duì)應(yīng)關(guān)系的單元合為一個(gè)處理框,畫(huà)在相應(yīng)的層次中(不同層以低層為準(zhǔn))在相應(yīng)的層次中(不同層以低層為準(zhǔn))第第4 4步:列出所有操作條件,步:列出所有操作條件,并分配到上幅程序結(jié)構(gòu)圖中并分配到上幅程序結(jié)構(gòu)圖中統(tǒng)計(jì)空格統(tǒng)計(jì)空格處理字符串處理字符串*i(1)程序體程序體印總數(shù)印總數(shù)印字符串印字符串印空格數(shù)印空格數(shù)
32、分析字符分析字符*i分析字符串分析字符串處理空格處理空格o處理非空格處理非空格os23145例例:(部分部分列舉,詳列舉,詳見(jiàn)見(jiàn)p.125)打開(kāi)文件打開(kāi)文件讀入字符串讀入字符串空格總數(shù)空格總數(shù)totalsum=0關(guān)閉文件關(guān)閉文件仃止仃止i 文件結(jié)束文件結(jié)束第第5步:用步:用pseudocode 表示程序。表示程序。(詳見(jiàn)(詳見(jiàn)p.125 -126)n第6章:“詳細(xì)設(shè)計(jì)” 詳細(xì)設(shè)計(jì)任務(wù) 結(jié)構(gòu)程序設(shè)計(jì) 人機(jī)界面設(shè)計(jì) 過(guò)程設(shè)計(jì)工具 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法 程序復(fù)雜程度的定量度量nmccabe方法 mccabe方法的核心是n通過(guò)定量分析程序中分支個(gè)數(shù)或循環(huán)個(gè)數(shù),對(duì)軟件測(cè)試難度進(jìn)行定量度量,對(duì)軟件最終的可靠性進(jìn)行預(yù)測(cè)。 以下我
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 港口客運(yùn)與城市規(guī)劃考核試卷
- 果蔬汁飲料的食品安全法規(guī)更新與合規(guī)考核試卷
- 初等教育的社會(huì)實(shí)踐任務(wù)考核試卷
- 海水養(yǎng)殖的市場(chǎng)需求與產(chǎn)品創(chuàng)新實(shí)踐考核試卷
- 熔爐工藝流程仿真與實(shí)踐考核試卷
- 產(chǎn)品釆購(gòu)合同標(biāo)準(zhǔn)文本
- 代理技校招生合同標(biāo)準(zhǔn)文本
- 前期物業(yè)轉(zhuǎn)讓合同標(biāo)準(zhǔn)文本
- 供應(yīng)貨品合同標(biāo)準(zhǔn)文本
- 漁業(yè)機(jī)械制造企業(yè)的人力資源管理考核試卷
- 2024年高考真題-地理(河北卷) 含答案
- DB11∕T 2077-2023 城市副中心 新型電力系統(tǒng)10kV及以下配電網(wǎng)設(shè)施配置技術(shù)規(guī)范
- 石油鉆井平臺(tái)受限空間作業(yè)規(guī)范
- 屋頂分布式光伏電站專項(xiàng)施工方案
- 2024年中考語(yǔ)文考點(diǎn)專題復(fù)習(xí)標(biāo)點(diǎn)符號(hào)含解析
- Python編程基礎(chǔ)(項(xiàng)目式微課版)教案1 1.1 Python概述
- 2024年外研版小學(xué)英語(yǔ)新教材教材介紹教材解讀-專題講座
- 內(nèi)科護(hù)理學(xué)心肌病病人的護(hù)理
- 2024年共青團(tuán)入團(tuán)發(fā)展對(duì)象、積極分子考試測(cè)試題庫(kù)(附答案)
- 2024年北京市東城區(qū)中考二模道德與法治試題分析 教學(xué)設(shè)計(jì)
- 四川省住宅設(shè)計(jì)標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論