第4章-詳細設(shè)計_第1頁
第4章-詳細設(shè)計_第2頁
第4章-詳細設(shè)計_第3頁
第4章-詳細設(shè)計_第4頁
第4章-詳細設(shè)計_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2023/2/30軟件工程任課教師:郭雷勇E-mail:guoly2004@第4章詳細設(shè)計2023/2/31本章要點一、詳細設(shè)計的概述

二、詳細設(shè)計方法三、詳細設(shè)計過程四、案例分析2023/2/32詳細設(shè)計定義

詳細設(shè)計是將概要設(shè)計的框架內(nèi)容具體化、明細化,將概要設(shè)計轉(zhuǎn)化為可以操作的軟件模型.

2023/2/33詳細設(shè)計定義模塊描述:描述模塊的功能以及需要解決的問題,該模塊在什么時候被調(diào)用,為什么需要這個模塊等。算法描述數(shù)據(jù)描述

2023/2/34本章要點一、詳細設(shè)計的概述二、詳細設(shè)計方法三、詳細設(shè)計過程四、案例分析2023/2/35詳細設(shè)計結(jié)構(gòu)化的詳細設(shè)計方法面向?qū)ο蟮脑敿氃O(shè)計方法2023/2/36結(jié)構(gòu)化詳細設(shè)計方法圖形符號的設(shè)計方式

表格的設(shè)計方式偽代碼

2023/2/37圖形符號的設(shè)計方式2023/2/38圖2盒圖的基本符號2023/2/39將以下盒圖用程序的流程圖2023/2/310圖3PAD圖的基本符號2023/2/311圖4使用PAD圖提供的定義功能來逐步求精的例子2023/2/312表格的設(shè)計方式-決策表描述不同條件集合下采取行動的若干組合的情況條件樁條件條目行動樁行動條目指定所有輸入可能滿足的條件指定可能發(fā)生的不同行為的集合2023/2/313決策表(判定表)實例C1:a、b、c構(gòu)成三角形C2:a=b?C3:a=c?C4:b=c?A1:非三角形A2:不等邊三角形A3:等腰三角形A4:等邊三角形A5:不可能NXYyyyXYyyNXYyNNXYyNYXYNNNX2023/2/314偽代碼

程序設(shè)計語言(PDL),也稱為結(jié)構(gòu)化英語或者偽代碼,它是一種混合語言,它采用一種語言(例如英語)的詞匯同時采用類似另外一種語言(例如,結(jié)構(gòu)化程序語言)的語法。

2023/2/315面向?qū)ο蟮脑敿氃O(shè)計方法算法和數(shù)據(jù)結(jié)構(gòu)的設(shè)計

算法是設(shè)計對象中每個方法的實現(xiàn)規(guī)格數(shù)據(jù)結(jié)構(gòu)的設(shè)計與算法是同時進行的

模塊和接口

將對象定義為模塊

定義對象之間的接口和對象的總的結(jié)構(gòu)2023/2/316本章要點一、詳細設(shè)計的概述二、詳細設(shè)計方法三、詳細設(shè)計過程四、案例分析2023/2/317詳細設(shè)計過程詳細設(shè)計過程2023/2/318

詳細設(shè)計階段設(shè)計出的模塊質(zhì)量如何呢?定量化度量程序復(fù)雜程度的方法很有價值: 把程序的復(fù)雜程度乘以適當(dāng)常數(shù)即可估算出軟件中錯誤的數(shù)量以及軟件開發(fā)需要用的工作量;

定量度量的結(jié)果可以用來比較兩個不同的設(shè)計或兩個不同算法的優(yōu)劣; 程序的定量的復(fù)雜程度可以作為模塊規(guī)模的精確限度。

主要方法:McCabe方法和Halstead方法。程序復(fù)雜程度的定量度量2023/2/3191.流圖

McCabe方法根據(jù)程序控制流的復(fù)雜程度定量度量程序的復(fù)雜程度,這樣度量出的結(jié)果稱為程序的環(huán)形復(fù)雜度。為了突出表示程序的控制流,人們通常使用流圖(也稱為程序圖)。 所謂流圖實質(zhì)上是“退化了的”程序流程圖,它僅僅描繪程序的控制流程,完全不表現(xiàn)對數(shù)據(jù)的具體操作以及分支或循環(huán)的具體條件。McCabe方法2023/2/320

在流圖中用圓表示結(jié)點,一個圓代表一條或多條語句。 程序流程圖中的一個順序的處理框序列和一個菱形判定框,可以映射成流圖中的一個結(jié)點。 流圖中的箭頭線稱為邊,它和程序流程圖中的箭頭線類似,代表控制流。

?。。≡诹鲌D中一條邊必須終止于一個結(jié)點,即使這個結(jié)點并不代表任何語句(實際上相當(dāng)于一個空語句)。 由邊和結(jié)點圍成的面積稱為區(qū)域,當(dāng)計算區(qū)域數(shù)時應(yīng)該包括圖外部未被圍起來的那個區(qū)域。 當(dāng)過程設(shè)計中包含復(fù)合條件時(邏輯OR,AND,NAND,NOR),應(yīng)該把復(fù)合條件分解為若干個簡單條件,每個簡單條件對應(yīng)流圖中一個結(jié)點。包含條件的結(jié)點稱為判定節(jié)點,從每個判定結(jié)點引出兩條或多條邊。程序流程圖到流圖的映射2023/2/321由PDL翻譯成的流圖2023/2/322由包含復(fù)合條件的PDL映射成的流圖2023/2/3232.計算環(huán)形復(fù)雜度的方法 環(huán)形復(fù)雜度定量度量程序的邏輯復(fù)雜度。有了描繪程序控制流的流圖之后,可以用下述3種方法中的任何一種來計算環(huán)形復(fù)雜度。(1)流圖中的區(qū)域數(shù)等于環(huán)形復(fù)雜度。(2)流圖G的環(huán)形復(fù)雜度V(G)=E-N+2,其中,E是流圖中邊的條數(shù),N是結(jié)點數(shù)。(3)流圖G的環(huán)形復(fù)雜度V(G)=P+1,其中,P是流圖中判定結(jié)點的數(shù)目。2023/2/3243.環(huán)形復(fù)雜度的用途

程序的環(huán)形復(fù)雜度取決于程序控制流的復(fù)雜程度,也即是取決于程序結(jié)構(gòu)的復(fù)雜程度。當(dāng)程序內(nèi)分支數(shù)或循環(huán)個數(shù)增加時,環(huán)形復(fù)雜度也隨之增加,因此它是對測試難度的一種定量度量,也能對軟件最終的可靠性給出某種預(yù)測。

McCabe研究大量程序后發(fā)現(xiàn),環(huán)形復(fù)雜度高的程序往往是最困難、最容易出問題的程序。實踐表明,模塊規(guī)模以V(G)≤10為宜,也就是說,V(G)=10是模塊規(guī)模的一個更科學(xué)更精確的上限。2023/2/325 Halstead方法是另一個著名的方法,它根據(jù)程序中運算符和操作數(shù)的總數(shù)來度量程序的復(fù)雜程度。令N1為程序中運算符出現(xiàn)的總次數(shù),N2為操作數(shù)出現(xiàn)的總次數(shù),程序長度N定義為:N=N1+N2

詳細設(shè)計完成之后,可以知道程序中使用的不同運算符(包括關(guān)鍵字)的個數(shù)n1,以及不同操作數(shù)(變量和常數(shù))的個數(shù)n2。Halstead給出預(yù)測程序長度的公式如下:H=n1log2n1+n2log2n2多次驗證都表明,預(yù)測的長度H與實際長度N非常接近。Halstead方法2023/2/326Halstead還給出了預(yù)測程序中包含錯誤的個數(shù)的公式如下:E=Nlog2(n1+n2)/3000有人曾對從300條到12000條語句范圍內(nèi)的程序核實了上述公式,發(fā)現(xiàn)預(yù)測的錯誤數(shù)與實際錯誤數(shù)相比誤差在8%之內(nèi)。2023/2/327相關(guān)文檔《軟件項目詳細設(shè)計》2023/2/328本章要點一、詳細設(shè)計的概述二、詳細設(shè)計方法三、詳細設(shè)計過程四、案例分析2023/2/329案例分析<網(wǎng)上招聘系統(tǒng)>詳細設(shè)計2023/2/330小結(jié)詳細設(shè)計方法結(jié)構(gòu)化詳細設(shè)計方法面向?qū)ο蟮脑敿氃O(shè)計方法2023/2/3311假設(shè)只允許使用SEQUENCE和IF-THEN-ELSE兩種控制結(jié)構(gòu),怎樣利用它們完成DO-WHILE操作?2畫出下列偽碼程序的程序流程圖和盒圖: START IFpTHEN WHILEqDO f

溫馨提示

  • 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

提交評論