版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2023/2/30軟件工程任課教師:郭雷勇E-mail:guoly2004@第4章詳細設計2023/2/31本章要點一、詳細設計的概述
二、詳細設計方法三、詳細設計過程四、案例分析2023/2/32詳細設計定義
詳細設計是將概要設計的框架內容具體化、明細化,將概要設計轉化為可以操作的軟件模型.
2023/2/33詳細設計定義模塊描述:描述模塊的功能以及需要解決的問題,該模塊在什么時候被調用,為什么需要這個模塊等。算法描述數據描述
2023/2/34本章要點一、詳細設計的概述二、詳細設計方法三、詳細設計過程四、案例分析2023/2/35詳細設計結構化的詳細設計方法面向對象的詳細設計方法2023/2/36結構化詳細設計方法圖形符號的設計方式
表格的設計方式偽代碼
2023/2/37圖形符號的設計方式2023/2/38圖2盒圖的基本符號2023/2/39將以下盒圖用程序的流程圖2023/2/310圖3PAD圖的基本符號2023/2/311圖4使用PAD圖提供的定義功能來逐步求精的例子2023/2/312表格的設計方式-決策表描述不同條件集合下采取行動的若干組合的情況條件樁條件條目行動樁行動條目指定所有輸入可能滿足的條件指定可能發(fā)生的不同行為的集合2023/2/313決策表(判定表)實例C1:a、b、c構成三角形C2:a=b?C3:a=c?C4:b=c?A1:非三角形A2:不等邊三角形A3:等腰三角形A4:等邊三角形A5:不可能NXYyyyXYyyNXYyNNXYyNYXYNNNX2023/2/314偽代碼
程序設計語言(PDL),也稱為結構化英語或者偽代碼,它是一種混合語言,它采用一種語言(例如英語)的詞匯同時采用類似另外一種語言(例如,結構化程序語言)的語法。
2023/2/315面向對象的詳細設計方法算法和數據結構的設計
算法是設計對象中每個方法的實現規(guī)格數據結構的設計與算法是同時進行的
模塊和接口
將對象定義為模塊
定義對象之間的接口和對象的總的結構2023/2/316本章要點一、詳細設計的概述二、詳細設計方法三、詳細設計過程四、案例分析2023/2/317詳細設計過程詳細設計過程2023/2/318
詳細設計階段設計出的模塊質量如何呢?定量化度量程序復雜程度的方法很有價值: 把程序的復雜程度乘以適當常數即可估算出軟件中錯誤的數量以及軟件開發(fā)需要用的工作量;
定量度量的結果可以用來比較兩個不同的設計或兩個不同算法的優(yōu)劣; 程序的定量的復雜程度可以作為模塊規(guī)模的精確限度。
主要方法:McCabe方法和Halstead方法。程序復雜程度的定量度量2023/2/3191.流圖
McCabe方法根據程序控制流的復雜程度定量度量程序的復雜程度,這樣度量出的結果稱為程序的環(huán)形復雜度。為了突出表示程序的控制流,人們通常使用流圖(也稱為程序圖)。 所謂流圖實質上是“退化了的”程序流程圖,它僅僅描繪程序的控制流程,完全不表現對數據的具體操作以及分支或循環(huán)的具體條件。McCabe方法2023/2/320
在流圖中用圓表示結點,一個圓代表一條或多條語句。 程序流程圖中的一個順序的處理框序列和一個菱形判定框,可以映射成流圖中的一個結點。 流圖中的箭頭線稱為邊,它和程序流程圖中的箭頭線類似,代表控制流。
?。?!在流圖中一條邊必須終止于一個結點,即使這個結點并不代表任何語句(實際上相當于一個空語句)。 由邊和結點圍成的面積稱為區(qū)域,當計算區(qū)域數時應該包括圖外部未被圍起來的那個區(qū)域。 當過程設計中包含復合條件時(邏輯OR,AND,NAND,NOR),應該把復合條件分解為若干個簡單條件,每個簡單條件對應流圖中一個結點。包含條件的結點稱為判定節(jié)點,從每個判定結點引出兩條或多條邊。程序流程圖到流圖的映射2023/2/321由PDL翻譯成的流圖2023/2/322由包含復合條件的PDL映射成的流圖2023/2/3232.計算環(huán)形復雜度的方法 環(huán)形復雜度定量度量程序的邏輯復雜度。有了描繪程序控制流的流圖之后,可以用下述3種方法中的任何一種來計算環(huán)形復雜度。(1)流圖中的區(qū)域數等于環(huán)形復雜度。(2)流圖G的環(huán)形復雜度V(G)=E-N+2,其中,E是流圖中邊的條數,N是結點數。(3)流圖G的環(huán)形復雜度V(G)=P+1,其中,P是流圖中判定結點的數目。2023/2/3243.環(huán)形復雜度的用途
程序的環(huán)形復雜度取決于程序控制流的復雜程度,也即是取決于程序結構的復雜程度。當程序內分支數或循環(huán)個數增加時,環(huán)形復雜度也隨之增加,因此它是對測試難度的一種定量度量,也能對軟件最終的可靠性給出某種預測。
McCabe研究大量程序后發(fā)現,環(huán)形復雜度高的程序往往是最困難、最容易出問題的程序。實踐表明,模塊規(guī)模以V(G)≤10為宜,也就是說,V(G)=10是模塊規(guī)模的一個更科學更精確的上限。2023/2/325 Halstead方法是另一個著名的方法,它根據程序中運算符和操作數的總數來度量程序的復雜程度。令N1為程序中運算符出現的總次數,N2為操作數出現的總次數,程序長度N定義為:N=N1+N2
詳細設計完成之后,可以知道程序中使用的不同運算符(包括關鍵字)的個數n1,以及不同操作數(變量和常數)的個數n2。Halstead給出預測程序長度的公式如下:H=n1log2n1+n2log2n2多次驗證都表明,預測的長度H與實際長度N非常接近。Halstead方法2023/2/326Halstead還給出了預測程序中包含錯誤的個數的公式如下:E=Nlog2(n1+n2)/3000有人曾對從300條到12000條語句范圍內的程序核實了上述公式,發(fā)現預測的錯誤數與實際錯誤數相比誤差在8%之內。2023/2/327相關文檔《軟件項目詳細設計》2023/2/328本章要點一、詳細設計的概述二、詳細設計方法三、詳細設計過程四、案例分析2023/2/329案例分析<網上招聘系統(tǒng)>詳細設計2023/2/330小結詳細設計方法結構化詳細設計方法面向對象的詳細設計方法2023/2/3311假設只允許使用SEQUENCE和IF-THEN-ELSE兩種控制結構,怎樣利用它們完成DO-WHILE操作?2畫出下列偽碼程序的程序流程圖和盒圖: START IFpTHEN WHILEqDO f
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年外貿公司員工勞動合同范本含社會保險繳納
- 二零二五年度新材料研發(fā)項目投資合作居間協議合同范本
- 2025年度軟裝設計行業(yè)人才培養(yǎng)合同范本2篇
- 二零二五年度總經理聘用合同:高端裝備制造業(yè)高層管理人員聘用合同
- 二零二五版農村污水處理設施建設與運維合同4篇
- 2025年度二零二五年度個人雇傭員工勞動合同(遠程工作)專項范本4篇
- 二零二五版門窗安裝與綠色建筑認證合同7篇
- 2025年山地承包與生態(tài)保護一體化合同4篇
- 2025年度個人租賃合同規(guī)范樣本2篇
- 2025年度個人醫(yī)療貸款合同及費用報銷清單4篇
- JB-T 8532-2023 脈沖噴吹類袋式除塵器
- 深圳小學英語單詞表(中英文)
- 護理質量反饋內容
- 山東省濟寧市2023年中考數學試題(附真題答案)
- 抖音搜索用戶分析報告
- 板帶生產工藝熱連軋帶鋼生產
- 鉆孔灌注樁技術規(guī)范
- 2023-2024學年北師大版必修二unit 5 humans and nature lesson 3 Race to the pole 教學設計
- 供貨進度計劃
- 國際尿失禁咨詢委員會尿失禁問卷表
- 彌漫大B細胞淋巴瘤護理查房
評論
0/150
提交評論