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

下載本文檔

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

文檔簡(jiǎn)介

1、2021-7-10 軟件工程軟件工程 任課教師:任課教師:郭雷勇郭雷勇 E-mail: 2021-7-11 q一、詳細(xì)設(shè)計(jì)的概述 q二、詳細(xì)設(shè)計(jì)方法二、詳細(xì)設(shè)計(jì)方法 q三、詳細(xì)設(shè)計(jì)過(guò)程三、詳細(xì)設(shè)計(jì)過(guò)程 q四、案例分析四、案例分析 2021-7-12 詳細(xì)設(shè)計(jì)是將概要設(shè)計(jì)的框架內(nèi)容具 體化、明細(xì)化,將概要設(shè)計(jì)轉(zhuǎn)化為 可以操作的軟件模型. . 2021-7-13 q模塊描述:描述模塊的功能以及需要 解決的問(wèn)題,該模塊在什么時(shí)候被 調(diào)用,為什么需要這個(gè)模塊等。 q算法描述 q數(shù)據(jù)描述 2021-7-14 q一、詳細(xì)設(shè)計(jì)的概述一、詳細(xì)設(shè)計(jì)的概述 q二、詳細(xì)設(shè)計(jì)方法 q三、詳細(xì)設(shè)計(jì)過(guò)程三、詳細(xì)設(shè)計(jì)過(guò)程

2、q四、案例分析四、案例分析 2021-7-15 q結(jié)構(gòu)化的詳細(xì)設(shè)計(jì)方法 q面向?qū)ο蟮脑敿?xì)設(shè)計(jì)方法 2021-7-16 q圖形符號(hào)的設(shè)計(jì)方式 q表格的設(shè)計(jì)方式 q偽代碼 2021-7-17 2021-7-18 圖圖2 盒圖的基本符號(hào)盒圖的基本符號(hào) 2021-7-19 2021-7-110 圖圖3 PAD圖的基本符號(hào)圖的基本符號(hào) 2021-7-111 圖圖4 使用使用PAD圖提供的定義功能圖提供的定義功能 來(lái)逐步求精的例子來(lái)逐步求精的例子 2021-7-112 描述不同條件集合下采取行動(dòng)的若干組合的情況描述不同條件集合下采取行動(dòng)的若干組合的情況 條件樁條件樁條件條目條件條目 行動(dòng)樁行動(dòng)樁行動(dòng)條目行

3、動(dòng)條目 指定所有輸入可能 滿(mǎn)足的條件 指定可能發(fā)生的 不同行為的集合 2021-7-113 C1:a、b、c構(gòu)成三角形構(gòu)成三角形 C2:a=b? C3 : a=c? C4 : b=c? A1 :非三角形:非三角形 A2:不等邊三角形:不等邊三角形 A3:等腰三角形:等腰三角形 A4:等邊三角形:等邊三角形 A5:不可能:不可能 N X Y y y y X Y y y N X Y y N N X Y y N Y X Y N N N X 2021-7-114 程序設(shè)計(jì)語(yǔ)言(),也稱(chēng)為結(jié) 構(gòu)化英語(yǔ)或者偽代碼,它是一種混合語(yǔ) 言,它采用一種語(yǔ)言(例如英語(yǔ))的詞匯同 時(shí)采用類(lèi)似另外一種語(yǔ)言(例如,結(jié)構(gòu)化

4、 程序語(yǔ)言)的語(yǔ)法。 2021-7-115 q算法和數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì) q算法是設(shè)計(jì)對(duì)象中每個(gè)方法的實(shí)現(xiàn)規(guī)格算法是設(shè)計(jì)對(duì)象中每個(gè)方法的實(shí)現(xiàn)規(guī)格 q數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)與算法是同時(shí)進(jìn)行的數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)與算法是同時(shí)進(jìn)行的 q模塊和接口 q將對(duì)象定義為模塊將對(duì)象定義為模塊 q定義對(duì)象之間的接口和對(duì)象的總的結(jié)構(gòu)定義對(duì)象之間的接口和對(duì)象的總的結(jié)構(gòu) 2021-7-116 q一、詳細(xì)設(shè)計(jì)的概述一、詳細(xì)設(shè)計(jì)的概述 q二、詳細(xì)設(shè)計(jì)方法二、詳細(xì)設(shè)計(jì)方法 q三、詳細(xì)設(shè)計(jì)過(guò)程 q四、案例分析四、案例分析 2021-7-117 詳細(xì)設(shè)計(jì)過(guò)程 2021-7-118 詳細(xì)設(shè)計(jì)階段設(shè)計(jì)出的模塊質(zhì)量如何呢詳細(xì)設(shè)計(jì)階段設(shè)計(jì)出的模塊質(zhì)量如何

5、呢? 定量化度量程序復(fù)雜程度的方法很有價(jià)值:定量化度量程序復(fù)雜程度的方法很有價(jià)值: 把程序的復(fù)雜程度乘以適當(dāng)常數(shù)即可估算出軟把程序的復(fù)雜程度乘以適當(dāng)常數(shù)即可估算出軟 件中錯(cuò)誤的數(shù)量以及軟件開(kāi)發(fā)需要用的工作量件中錯(cuò)誤的數(shù)量以及軟件開(kāi)發(fā)需要用的工作量; 定量度量的結(jié)果可以用來(lái)比較兩個(gè)不同的設(shè)計(jì)定量度量的結(jié)果可以用來(lái)比較兩個(gè)不同的設(shè)計(jì) 或兩個(gè)不同算法的優(yōu)劣;或兩個(gè)不同算法的優(yōu)劣; 程序的定量的復(fù)雜程度可以作為模塊規(guī)模的精程序的定量的復(fù)雜程度可以作為模塊規(guī)模的精 確限度。確限度。 主要方法:主要方法:McCabe方法和方法和Halstead方法。方法。 2021-7-119 1. 流圖流圖 McCab

6、e方法根據(jù)程序控制流的復(fù)雜程度定方法根據(jù)程序控制流的復(fù)雜程度定 量度量程序的復(fù)雜程度,這樣度量出的結(jié)果量度量程序的復(fù)雜程度,這樣度量出的結(jié)果 稱(chēng)為程序的稱(chēng)為程序的環(huán)形復(fù)雜度環(huán)形復(fù)雜度。 為了突出表示程序的控制流,人們通常使為了突出表示程序的控制流,人們通常使 用用流圖流圖(也稱(chēng)為程序圖也稱(chēng)為程序圖)。 所謂流圖實(shí)質(zhì)上是所謂流圖實(shí)質(zhì)上是“退化了的退化了的”程序流程序流 程圖,它僅僅描繪程序的控制流程,完全不程圖,它僅僅描繪程序的控制流程,完全不 表現(xiàn)對(duì)數(shù)據(jù)的具體操作以及分支或循環(huán)的具表現(xiàn)對(duì)數(shù)據(jù)的具體操作以及分支或循環(huán)的具 體條件。體條件。 2021-7-120 在流圖中用圓表示結(jié)點(diǎn),一個(gè)圓代表一

7、條或多條語(yǔ)句。在流圖中用圓表示結(jié)點(diǎn),一個(gè)圓代表一條或多條語(yǔ)句。 程序流程圖中的一個(gè)順序的處理框序列和一個(gè)菱形判程序流程圖中的一個(gè)順序的處理框序列和一個(gè)菱形判 定框,可以映射成流圖中的一個(gè)結(jié)點(diǎn)。定框,可以映射成流圖中的一個(gè)結(jié)點(diǎn)。 流圖中的箭頭線(xiàn)稱(chēng)為邊,它和程序流程圖中的箭頭線(xiàn)流圖中的箭頭線(xiàn)稱(chēng)為邊,它和程序流程圖中的箭頭線(xiàn) 類(lèi)似,代表控制流。類(lèi)似,代表控制流。 !在流圖中一條邊必須終止于一個(gè)結(jié)點(diǎn),即使這在流圖中一條邊必須終止于一個(gè)結(jié)點(diǎn),即使這 個(gè)結(jié)點(diǎn)并不代表任何語(yǔ)句個(gè)結(jié)點(diǎn)并不代表任何語(yǔ)句(實(shí)際上相當(dāng)于一個(gè)空語(yǔ)句實(shí)際上相當(dāng)于一個(gè)空語(yǔ)句)。 由邊和結(jié)點(diǎn)圍成的面積稱(chēng)為區(qū)域,當(dāng)計(jì)算區(qū)域數(shù)時(shí)應(yīng)由邊和結(jié)點(diǎn)圍成

8、的面積稱(chēng)為區(qū)域,當(dāng)計(jì)算區(qū)域數(shù)時(shí)應(yīng) 該包括圖外部未被圍起來(lái)的那個(gè)區(qū)域。該包括圖外部未被圍起來(lái)的那個(gè)區(qū)域。 當(dāng)過(guò)程設(shè)計(jì)中包含復(fù)合條件時(shí)當(dāng)過(guò)程設(shè)計(jì)中包含復(fù)合條件時(shí) (邏輯邏輯OR,AND, NAND,NOR),應(yīng)該把復(fù)合條件分解為若干個(gè)簡(jiǎn)單條件,應(yīng)該把復(fù)合條件分解為若干個(gè)簡(jiǎn)單條件, 每個(gè)簡(jiǎn)單條件對(duì)應(yīng)流圖中一個(gè)結(jié)點(diǎn)。包含條件的結(jié)點(diǎn)稱(chēng)為每個(gè)簡(jiǎn)單條件對(duì)應(yīng)流圖中一個(gè)結(jié)點(diǎn)。包含條件的結(jié)點(diǎn)稱(chēng)為 判定節(jié)點(diǎn),從每個(gè)判定結(jié)點(diǎn)引出兩條或多條邊。判定節(jié)點(diǎn),從每個(gè)判定結(jié)點(diǎn)引出兩條或多條邊。 程序流程圖到流圖的映射程序流程圖到流圖的映射 2021-7-121 由由PDL翻譯成的流圖翻譯成的流圖 2021-7-122 由包含復(fù)

9、合條件的由包含復(fù)合條件的PDL映射成的流圖映射成的流圖 2021-7-123 2. 2. 計(jì)算環(huán)形復(fù)雜度的方法計(jì)算環(huán)形復(fù)雜度的方法 環(huán)形復(fù)雜度定量度量程序的邏輯復(fù)雜度。環(huán)形復(fù)雜度定量度量程序的邏輯復(fù)雜度。 有了描繪程序控制流的流圖之后,可以用下有了描繪程序控制流的流圖之后,可以用下 述述3種方法中的任何一種來(lái)計(jì)算環(huán)形復(fù)雜度。種方法中的任何一種來(lái)計(jì)算環(huán)形復(fù)雜度。 (1) 流圖中的區(qū)域數(shù)等于環(huán)形復(fù)雜度。流圖中的區(qū)域數(shù)等于環(huán)形復(fù)雜度。 (2) 流圖流圖G的環(huán)形復(fù)雜度的環(huán)形復(fù)雜度V(G)=E-N+2,其中,其中,E是流是流 圖中邊的條數(shù),圖中邊的條數(shù),N是結(jié)點(diǎn)數(shù)。是結(jié)點(diǎn)數(shù)。 (3) 流圖流圖G的環(huán)形復(fù)

10、雜度的環(huán)形復(fù)雜度V(G)=P+1,其中,其中,P是流是流 圖中判定結(jié)點(diǎn)的數(shù)目。圖中判定結(jié)點(diǎn)的數(shù)目。 2021-7-124 3. 3. 環(huán)形復(fù)雜度的用途環(huán)形復(fù)雜度的用途 程序的環(huán)形復(fù)雜度取決于程序控制流的復(fù)雜程程序的環(huán)形復(fù)雜度取決于程序控制流的復(fù)雜程 度,度,也即是取決于程序結(jié)構(gòu)的復(fù)雜程度。當(dāng)程序內(nèi)也即是取決于程序結(jié)構(gòu)的復(fù)雜程度。當(dāng)程序內(nèi) 分支數(shù)或循環(huán)個(gè)數(shù)增加時(shí),環(huán)形復(fù)雜度也隨之增加,分支數(shù)或循環(huán)個(gè)數(shù)增加時(shí),環(huán)形復(fù)雜度也隨之增加, 因此它是對(duì)測(cè)試難度的一種定量度量,也能對(duì)軟件因此它是對(duì)測(cè)試難度的一種定量度量,也能對(duì)軟件 最終的可靠性給出某種預(yù)測(cè)。最終的可靠性給出某種預(yù)測(cè)。 McCabe研究大量程

11、序后發(fā)現(xiàn),環(huán)形復(fù)雜度高的研究大量程序后發(fā)現(xiàn),環(huán)形復(fù)雜度高的 程序往往是最困難、最容易出問(wèn)題的程序。程序往往是最困難、最容易出問(wèn)題的程序。實(shí)踐表實(shí)踐表 明,模塊規(guī)模以明,模塊規(guī)模以V(G)10為宜,也就是說(shuō),為宜,也就是說(shuō), V(G)=10是模塊規(guī)模的一個(gè)更科學(xué)更精確的上限。是模塊規(guī)模的一個(gè)更科學(xué)更精確的上限。 2021-7-125 Halstead方法是另一個(gè)著名的方法,它根據(jù)程方法是另一個(gè)著名的方法,它根據(jù)程 序中運(yùn)算符和操作數(shù)的總數(shù)來(lái)度量程序的復(fù)雜程度。序中運(yùn)算符和操作數(shù)的總數(shù)來(lái)度量程序的復(fù)雜程度。 令令N1為程序中運(yùn)算符出現(xiàn)的總次數(shù),為程序中運(yùn)算符出現(xiàn)的總次數(shù),N2為操作數(shù)為操作數(shù) 出現(xiàn)

12、的總次數(shù),程序長(zhǎng)度出現(xiàn)的總次數(shù),程序長(zhǎng)度N定義為:定義為:N=N1+N2 詳細(xì)設(shè)計(jì)完成之后,可以知道程序中使用的不詳細(xì)設(shè)計(jì)完成之后,可以知道程序中使用的不 同運(yùn)算符同運(yùn)算符(包括關(guān)鍵字包括關(guān)鍵字)的個(gè)數(shù)的個(gè)數(shù)n1,以及不同操作數(shù),以及不同操作數(shù) (變量和常數(shù)變量和常數(shù))的個(gè)數(shù)的個(gè)數(shù)n2。Halstead給出預(yù)測(cè)程序長(zhǎng)給出預(yù)測(cè)程序長(zhǎng) 度的公式如下:度的公式如下:H=n1 log2 n1+n2 log2 n2 多次驗(yàn)證都表明,預(yù)測(cè)的長(zhǎng)度多次驗(yàn)證都表明,預(yù)測(cè)的長(zhǎng)度H與實(shí)際長(zhǎng)度與實(shí)際長(zhǎng)度N非常非常 接近。接近。 2021-7-126 Halstead還給出了預(yù)測(cè)程序中包含錯(cuò)誤的個(gè)還給出了預(yù)測(cè)程序中包含

13、錯(cuò)誤的個(gè) 數(shù)的公式如下:數(shù)的公式如下:E=N log2 (n1+n2)/3000 有人曾對(duì)從有人曾對(duì)從300條到條到12000條語(yǔ)句范圍內(nèi)的程條語(yǔ)句范圍內(nèi)的程 序核實(shí)了上述公式,發(fā)現(xiàn)預(yù)測(cè)的錯(cuò)誤數(shù)與實(shí)序核實(shí)了上述公式,發(fā)現(xiàn)預(yù)測(cè)的錯(cuò)誤數(shù)與實(shí) 際錯(cuò)誤數(shù)相比誤差在際錯(cuò)誤數(shù)相比誤差在8%之內(nèi)。之內(nèi)。 2021-7-127 軟件項(xiàng)目詳細(xì)設(shè)計(jì)軟件項(xiàng)目詳細(xì)設(shè)計(jì) 2021-7-128 q一、詳細(xì)設(shè)計(jì)的概述一、詳細(xì)設(shè)計(jì)的概述 q二、詳細(xì)設(shè)計(jì)方法二、詳細(xì)設(shè)計(jì)方法 q三、詳細(xì)設(shè)計(jì)過(guò)程三、詳細(xì)設(shè)計(jì)過(guò)程 q四、案例分析 2021-7-129 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì) 2021-7-130 詳細(xì)設(shè)計(jì)方法詳細(xì)設(shè)計(jì)方法 q結(jié)構(gòu)化詳細(xì)設(shè)計(jì)方法 q面向?qū)ο蟮脑敿?xì)設(shè)計(jì)方法 2021-7-131 1 假設(shè)只允許使用假設(shè)只允許使用SEQUENCE和和IF-THEN-ELSE兩種控制兩種控制 結(jié)構(gòu),怎樣利用它們完成結(jié)構(gòu),怎樣利用它們完成DO-WHIL

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論