第六講 軟件工程詳細(xì)設(shè)計(jì)方法課件_第1頁(yè)
第六講 軟件工程詳細(xì)設(shè)計(jì)方法課件_第2頁(yè)
第六講 軟件工程詳細(xì)設(shè)計(jì)方法課件_第3頁(yè)
第六講 軟件工程詳細(xì)設(shè)計(jì)方法課件_第4頁(yè)
第六講 軟件工程詳細(xì)設(shè)計(jì)方法課件_第5頁(yè)
已閱讀5頁(yè),還剩77頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第六講軟件工程詳細(xì)設(shè)計(jì)什么是詳細(xì)設(shè)計(jì)?決定各個(gè)模塊的實(shí)現(xiàn)算法,設(shè)計(jì)出必要的過(guò)程細(xì)節(jié),并給予清晰的表示,使之成為編碼的工具。是否需要詳細(xì)設(shè)計(jì)?什么時(shí)候需要詳細(xì)設(shè)計(jì)?第六講軟件工程詳細(xì)設(shè)計(jì)什么是詳細(xì)設(shè)計(jì)?一、詳細(xì)設(shè)計(jì)的基本任務(wù)處理方式設(shè)計(jì)物理設(shè)計(jì)可靠性設(shè)計(jì)其它設(shè)計(jì)(包括代碼設(shè)計(jì)、輸入/輸出格式設(shè)計(jì)、人機(jī)對(duì)話設(shè)計(jì))一、詳細(xì)設(shè)計(jì)的基本任務(wù)處理方式設(shè)計(jì)二、詳細(xì)設(shè)計(jì)的方法采用自頂向下、逐步求精的程序設(shè)計(jì)方法使用三種基本控制結(jié)構(gòu)構(gòu)造程序(順序、選擇、重復(fù))主程序員的組織形式

結(jié)構(gòu)化程序設(shè)計(jì)技術(shù)是一種設(shè)計(jì)程序的技術(shù),它采用自頂向下逐步求精的設(shè)計(jì)方法和單入口單出口的控制結(jié)構(gòu),并且只包含順序、選擇和循環(huán)三種控制結(jié)構(gòu)。二、詳細(xì)設(shè)計(jì)的方法采用自頂向下、逐步求精的程序設(shè)計(jì)方法詳細(xì)設(shè)計(jì)的方法使用結(jié)構(gòu)程序設(shè)計(jì)技術(shù)的好處:1)提高軟件開(kāi)發(fā)工程的成功率和生產(chǎn)率;2)系統(tǒng)有清晰的層次結(jié)構(gòu),容易閱讀理解;3)單入口單出口的控制結(jié)構(gòu),容易診斷糾正;4)模塊化可以使得軟件可以重用;5)程序邏輯結(jié)構(gòu)清晰,有利于程序正確性證明

詳細(xì)設(shè)計(jì)的方法使用結(jié)構(gòu)程序設(shè)計(jì)技術(shù)的好處:詳細(xì)設(shè)計(jì)的方法經(jīng)典的結(jié)構(gòu)程序設(shè)計(jì):只允許使用順序、IF_THEN_ELSE選擇和DO_WHILE循環(huán);擴(kuò)展的結(jié)構(gòu)程序設(shè)計(jì):除了三種基本控制結(jié)構(gòu),還使用DO_CASE和DO_UNTIL循環(huán);修正的結(jié)構(gòu)程序設(shè)計(jì):除了三種基本控制結(jié)構(gòu)和兩種擴(kuò)充結(jié)構(gòu),還使用BREAK等結(jié)構(gòu)。詳細(xì)設(shè)計(jì)的方法經(jīng)典的結(jié)構(gòu)程序設(shè)計(jì):只允許使用順序、IF_TH1.程序流程圖是最為熟悉、應(yīng)用最為廣泛的算法表示工具、可以比較好的描繪出算法思路。1.程序流程圖是最為熟悉、應(yīng)用最為廣泛的算法表示工具、可以程序流程圖的基本結(jié)構(gòu)程序流程圖的基本結(jié)構(gòu)程序流程圖的基本結(jié)構(gòu)程序流程圖的基本結(jié)構(gòu)程序流程圖標(biāo)準(zhǔn)常用符號(hào)書上實(shí)例p187程序流程圖標(biāo)準(zhǔn)常用符號(hào)書上實(shí)例p187程序流程圖程序流程圖雖然比較直觀,靈活,并且比較容易掌握,但是它的隨意性和靈活性卻使它不可避免地存在著一些缺點(diǎn):(1)由于程序流程圖的特點(diǎn),它本身并不是逐步求精的好工具。因?yàn)樗钩绦騿T容易過(guò)早地考慮程序的具體控制流程,而忽略了程序的全局結(jié)構(gòu);

(2)程序流程圖中用箭頭代表控制流,這樣使得程序員不受任何約束,可以完全不顧結(jié)構(gòu)程序設(shè)計(jì)的精神,隨意轉(zhuǎn)移控制;

(3)程序流程圖在表示數(shù)據(jù)結(jié)構(gòu)方面存在不足。程序流程圖程序流程圖雖然比較直觀,靈活,并且比較容易掌握,但2.N-S圖N-S圖是由Nassi和Shneiderman提出的一種符合結(jié)構(gòu)化程序設(shè)計(jì)原則的圖形描述工具。也叫盒圖。2.N-S圖N-S圖是由Nassi和ShneidermanN-S圖N-S圖N-S圖特點(diǎn)(1)功能域(即某一個(gè)特定控制結(jié)構(gòu)的作用域)有明確的規(guī)定,并且可以很直觀地從N-S圖上看出來(lái);(2)它的控制轉(zhuǎn)移不能任意規(guī)定,必須遵守結(jié)構(gòu)化程序設(shè)計(jì)的要求;(3)很容易確定局部數(shù)據(jù)和全局?jǐn)?shù)據(jù)的作用域;(4)很容易表現(xiàn)嵌套關(guān)系,也可以表示模塊的層次結(jié)構(gòu)。N-S圖特點(diǎn)(1)功能域(即某一個(gè)特定控制結(jié)構(gòu)的作用域)有明N-S圖

N-S圖與流程圖的相互轉(zhuǎn)換?

書上實(shí)例p190N-S圖N-S圖與流程圖的相互轉(zhuǎn)換?3.PAD圖PAD圖是日本日立公司提出,由程序流程圖演化來(lái)的,用結(jié)構(gòu)化程序設(shè)計(jì)思想表現(xiàn)程序邏輯結(jié)構(gòu)的圖形工具。為ISO認(rèn)可。3.PAD圖PAD圖是日本日立公司提出,由程序流程圖演化來(lái)PAD圖的符號(hào)PAD圖的符號(hào)PAD圖的符號(hào)PAD圖的例子

PAD圖的符號(hào)PAD圖的例子PAD圖PAD圖的實(shí)例見(jiàn)p191頁(yè)特點(diǎn):結(jié)構(gòu)清晰,支持結(jié)構(gòu)化的程序設(shè)計(jì)方法,有利于自動(dòng)生成程序。PAD圖PAD圖的實(shí)例見(jiàn)p191頁(yè)例子:

輸入三個(gè)正整數(shù)作為邊長(zhǎng),判斷該三條邊構(gòu)成的三角形是等邊、等腰還是一般三角形。請(qǐng)畫出該程序的流程圖、N-S圖、PAD圖。

例子:輸入三個(gè)正整數(shù)作為邊長(zhǎng),判斷該三條邊構(gòu)成的三角形是等例子:

例子:例子:

例子:例子:

例子:思考:在數(shù)據(jù)A(1)~A(n)中求最大數(shù)和次大數(shù).。在數(shù)據(jù)A(1)~A(n)中求前m個(gè)最大的數(shù)。思考:在數(shù)據(jù)A(1)~A(n)中求最大數(shù)和次大數(shù).。4.判定表當(dāng)算法中包含多重條件選擇時(shí),用程序流程圖、N-S圖或PAD都不能清晰地描述。用判定表確可以清晰表達(dá)復(fù)雜條件與應(yīng)做動(dòng)作之間的關(guān)系。4.判定表當(dāng)算法中包含多重條件選擇時(shí),用程序流程圖、N-S判定表

12345教授

TFFF副教授

FTFF講師

FFTF助教

FFFT講座TFFFF50×

30

×

25

×

20

×

15

×例:某校制定了教師的講課課時(shí)津貼標(biāo)準(zhǔn)。對(duì)于各種性質(zhì)的講座,無(wú)論教師是什么職稱,每課時(shí)津貼費(fèi)一律是50元;而對(duì)于一般的授課,則根據(jù)教師的職稱來(lái)決定每課時(shí)津貼費(fèi):教授30元,副教授25元,講師20元,助教15元。判定表

12345教授

TFFF副教授

FTFF講師

FFT判定表一張判定表由四部分組成,左上部列出所有條件,左下部是所有可能的動(dòng)作,右上部是表示各種條件組合的一個(gè)矩陣,右下部是和每種條件組合相對(duì)應(yīng)的動(dòng)作.判定表一張判定表由四部分組成,左上部列出所有條件,左下部是所判定表某航空公司規(guī)定,重量不超過(guò)30公斤的行李可免費(fèi)托運(yùn)。重量超過(guò)30公斤時(shí),對(duì)超運(yùn)部分,頭等艙國(guó)內(nèi)乘客收4元/公斤;其它艙位國(guó)內(nèi)乘客收6元/公斤;外國(guó)乘客收費(fèi)為國(guó)內(nèi)乘客的2倍;殘疾乘客的收費(fèi)為正常乘客的1/2。判定表某航空公司規(guī)定,重量不超過(guò)30公斤的行李可免費(fèi)托運(yùn)。重判定表判定表5.PDL語(yǔ)言PDL是一種用于描述功能模塊的算法設(shè)計(jì)和加工細(xì)則的語(yǔ)言。它是一種偽碼。PDL不同于一般的“結(jié)構(gòu)化語(yǔ)言”。PDL更接近于自然語(yǔ)言,容易看懂。5.PDL語(yǔ)言PDL是一種用于描述功能模塊的算法設(shè)計(jì)和加工PDL語(yǔ)言PDL語(yǔ)言具有下述特點(diǎn):(1)PDL雖然不是程序設(shè)計(jì)語(yǔ)言,但是它與高級(jí)程序設(shè)計(jì)語(yǔ)言非常類似,只要對(duì)PDL描述稍加變換就可變成源程序代碼。因此,它是詳細(xì)設(shè)計(jì)階段很受歡迎的表達(dá)工具。(2)用PDL寫出的程序,既可以很抽象,又可以很具體。因此,容易實(shí)現(xiàn)自頂向下逐步求精的設(shè)計(jì)原則。(3)PDL描述同自然語(yǔ)言很接近,易于理解。(4)PDL描述可以直接作為注釋插在源程序中,成為程序的內(nèi)部文檔。這對(duì)提高程序的可讀性是非常有益的。(5)PDL描述與程序結(jié)構(gòu)相似,因此自動(dòng)產(chǎn)生程序比較容易。PDL的缺點(diǎn)是不如圖形描述形象直觀PDL語(yǔ)言PDL語(yǔ)言具有下述特點(diǎn):程序復(fù)雜度的定量度量定量度量程序復(fù)雜度的作用:(1)可估算軟件中錯(cuò)誤的數(shù)量及軟件開(kāi)發(fā)工作量;(2)度量的結(jié)果可用來(lái)比較不同設(shè)計(jì)或不同算法的優(yōu)劣;(3)程序的復(fù)雜度可作為模塊規(guī)模的限度。程序復(fù)雜度的定量度量定量度量程序復(fù)雜度的作用:程序復(fù)雜度的定量度量

流圖“退化”的程序流程圖,僅描繪程序的控制流程,不表現(xiàn)對(duì)數(shù)據(jù)的具體操作及循環(huán)、選擇的條件。

1.

McCabe方法程序復(fù)雜度的定量度量流圖1.McCabe方法程序復(fù)雜度的定量度量一個(gè)圓代表一條或多條語(yǔ)句;一個(gè)順序結(jié)構(gòu)可以合并成一個(gè)結(jié)點(diǎn);匯點(diǎn)也是結(jié)點(diǎn);一個(gè)順序處理框序列和一個(gè)判斷框可映射成一個(gè)結(jié)點(diǎn)。程序復(fù)雜度的定量度量一個(gè)圓代表一條或多條語(yǔ)句;匯點(diǎn)也是結(jié)點(diǎn)程序復(fù)雜度的定量度量復(fù)合條件:包含了一個(gè)或多個(gè)布爾運(yùn)算符(OR、AND、NOR等)。應(yīng)把復(fù)合條件分解為簡(jiǎn)單條件,每個(gè)條件對(duì)應(yīng)一個(gè)結(jié)點(diǎn)。程序復(fù)雜度的定量度量復(fù)合條件:程序復(fù)雜度的定量度量計(jì)算環(huán)形復(fù)雜度的方法:

1)環(huán)形復(fù)雜度V(G)等于流圖中的區(qū)域數(shù);

2)環(huán)形復(fù)雜度V(G)=E-N+2,其中E是流圖中邊的條數(shù),N是結(jié)點(diǎn)數(shù);

3)環(huán)形復(fù)雜度V(G)=P+1,其中P為流圖中判定結(jié)點(diǎn)的數(shù)目。程序復(fù)雜度的定量度量計(jì)算環(huán)形復(fù)雜度的方法:程序復(fù)雜度的定量度量例:計(jì)算下列程序圖的程序復(fù)雜度程序復(fù)雜度的定量度量例:計(jì)算下列程序圖的程序復(fù)雜度程序復(fù)雜度的定量度量解:方法一:程序圖把平面分為4個(gè)區(qū)域,程序復(fù)雜度V(G)=4;方法二:邊的條數(shù)E=11,結(jié)點(diǎn)數(shù)N=9,程序復(fù)雜度V(G)=E-N+2=4;方法三:判定結(jié)點(diǎn)為1、2、4點(diǎn),數(shù)目為P=3個(gè),所以V(G)=P+1=4。程序復(fù)雜度的定量度量解:程序復(fù)雜度的定量度量環(huán)形復(fù)雜度的用途對(duì)測(cè)試難度的一種定量度量,也能對(duì)軟件最終的可靠性給出某種預(yù)測(cè)。實(shí)踐表明,模塊規(guī)模以V(G)≤10為宜。程序復(fù)雜度的定量度量環(huán)形復(fù)雜度的用途程序復(fù)雜度的定量度量根據(jù)程序中運(yùn)算符和操作數(shù)的總數(shù)來(lái)度量程序復(fù)雜度。N=N1+N2其中:N定義為程序長(zhǎng)度;N1為程序中運(yùn)算符出現(xiàn)的總次數(shù);

N2為操作數(shù)出現(xiàn)的總次數(shù)。2.

Halstead方法程序復(fù)雜度的定量度量根據(jù)程序中運(yùn)算符和操作數(shù)的總數(shù)來(lái)度量程程序復(fù)雜度的定量度量Halstead給出預(yù)測(cè)程序長(zhǎng)度的公式為:H=n1log2n1+n2log2n2其中:H定義為程序預(yù)測(cè)長(zhǎng)度;

n1為程序中使用的不同運(yùn)算符(包括關(guān)鍵字)的個(gè)數(shù);

n2為程序中使用的不同操作數(shù)(變量和常量)的個(gè)數(shù)。程序復(fù)雜度的定量度量Halstead給出預(yù)測(cè)程序長(zhǎng)度的公式程序復(fù)雜度的定量度量驗(yàn)證表明,程序的預(yù)測(cè)長(zhǎng)度H和實(shí)際程序長(zhǎng)度N非常接近。Halstead給出了預(yù)測(cè)程序中包含錯(cuò)誤的個(gè)數(shù)的公式:

E=Nlog2(n1+n2)/3000程序復(fù)雜度的定量度量驗(yàn)證表明,程序的預(yù)測(cè)長(zhǎng)度H和實(shí)際程序長(zhǎng)第六講軟件工程詳細(xì)設(shè)計(jì)什么是詳細(xì)設(shè)計(jì)?決定各個(gè)模塊的實(shí)現(xiàn)算法,設(shè)計(jì)出必要的過(guò)程細(xì)節(jié),并給予清晰的表示,使之成為編碼的工具。是否需要詳細(xì)設(shè)計(jì)?什么時(shí)候需要詳細(xì)設(shè)計(jì)?第六講軟件工程詳細(xì)設(shè)計(jì)什么是詳細(xì)設(shè)計(jì)?一、詳細(xì)設(shè)計(jì)的基本任務(wù)處理方式設(shè)計(jì)物理設(shè)計(jì)可靠性設(shè)計(jì)其它設(shè)計(jì)(包括代碼設(shè)計(jì)、輸入/輸出格式設(shè)計(jì)、人機(jī)對(duì)話設(shè)計(jì))一、詳細(xì)設(shè)計(jì)的基本任務(wù)處理方式設(shè)計(jì)二、詳細(xì)設(shè)計(jì)的方法采用自頂向下、逐步求精的程序設(shè)計(jì)方法使用三種基本控制結(jié)構(gòu)構(gòu)造程序(順序、選擇、重復(fù))主程序員的組織形式

結(jié)構(gòu)化程序設(shè)計(jì)技術(shù)是一種設(shè)計(jì)程序的技術(shù),它采用自頂向下逐步求精的設(shè)計(jì)方法和單入口單出口的控制結(jié)構(gòu),并且只包含順序、選擇和循環(huán)三種控制結(jié)構(gòu)。二、詳細(xì)設(shè)計(jì)的方法采用自頂向下、逐步求精的程序設(shè)計(jì)方法詳細(xì)設(shè)計(jì)的方法使用結(jié)構(gòu)程序設(shè)計(jì)技術(shù)的好處:1)提高軟件開(kāi)發(fā)工程的成功率和生產(chǎn)率;2)系統(tǒng)有清晰的層次結(jié)構(gòu),容易閱讀理解;3)單入口單出口的控制結(jié)構(gòu),容易診斷糾正;4)模塊化可以使得軟件可以重用;5)程序邏輯結(jié)構(gòu)清晰,有利于程序正確性證明

詳細(xì)設(shè)計(jì)的方法使用結(jié)構(gòu)程序設(shè)計(jì)技術(shù)的好處:詳細(xì)設(shè)計(jì)的方法經(jīng)典的結(jié)構(gòu)程序設(shè)計(jì):只允許使用順序、IF_THEN_ELSE選擇和DO_WHILE循環(huán);擴(kuò)展的結(jié)構(gòu)程序設(shè)計(jì):除了三種基本控制結(jié)構(gòu),還使用DO_CASE和DO_UNTIL循環(huán);修正的結(jié)構(gòu)程序設(shè)計(jì):除了三種基本控制結(jié)構(gòu)和兩種擴(kuò)充結(jié)構(gòu),還使用BREAK等結(jié)構(gòu)。詳細(xì)設(shè)計(jì)的方法經(jīng)典的結(jié)構(gòu)程序設(shè)計(jì):只允許使用順序、IF_TH1.程序流程圖是最為熟悉、應(yīng)用最為廣泛的算法表示工具、可以比較好的描繪出算法思路。1.程序流程圖是最為熟悉、應(yīng)用最為廣泛的算法表示工具、可以程序流程圖的基本結(jié)構(gòu)程序流程圖的基本結(jié)構(gòu)程序流程圖的基本結(jié)構(gòu)程序流程圖的基本結(jié)構(gòu)程序流程圖標(biāo)準(zhǔn)常用符號(hào)書上實(shí)例p187程序流程圖標(biāo)準(zhǔn)常用符號(hào)書上實(shí)例p187程序流程圖程序流程圖雖然比較直觀,靈活,并且比較容易掌握,但是它的隨意性和靈活性卻使它不可避免地存在著一些缺點(diǎn):(1)由于程序流程圖的特點(diǎn),它本身并不是逐步求精的好工具。因?yàn)樗钩绦騿T容易過(guò)早地考慮程序的具體控制流程,而忽略了程序的全局結(jié)構(gòu);

(2)程序流程圖中用箭頭代表控制流,這樣使得程序員不受任何約束,可以完全不顧結(jié)構(gòu)程序設(shè)計(jì)的精神,隨意轉(zhuǎn)移控制;

(3)程序流程圖在表示數(shù)據(jù)結(jié)構(gòu)方面存在不足。程序流程圖程序流程圖雖然比較直觀,靈活,并且比較容易掌握,但2.N-S圖N-S圖是由Nassi和Shneiderman提出的一種符合結(jié)構(gòu)化程序設(shè)計(jì)原則的圖形描述工具。也叫盒圖。2.N-S圖N-S圖是由Nassi和ShneidermanN-S圖N-S圖N-S圖特點(diǎn)(1)功能域(即某一個(gè)特定控制結(jié)構(gòu)的作用域)有明確的規(guī)定,并且可以很直觀地從N-S圖上看出來(lái);(2)它的控制轉(zhuǎn)移不能任意規(guī)定,必須遵守結(jié)構(gòu)化程序設(shè)計(jì)的要求;(3)很容易確定局部數(shù)據(jù)和全局?jǐn)?shù)據(jù)的作用域;(4)很容易表現(xiàn)嵌套關(guān)系,也可以表示模塊的層次結(jié)構(gòu)。N-S圖特點(diǎn)(1)功能域(即某一個(gè)特定控制結(jié)構(gòu)的作用域)有明N-S圖

N-S圖與流程圖的相互轉(zhuǎn)換?

書上實(shí)例p190N-S圖N-S圖與流程圖的相互轉(zhuǎn)換?3.PAD圖PAD圖是日本日立公司提出,由程序流程圖演化來(lái)的,用結(jié)構(gòu)化程序設(shè)計(jì)思想表現(xiàn)程序邏輯結(jié)構(gòu)的圖形工具。為ISO認(rèn)可。3.PAD圖PAD圖是日本日立公司提出,由程序流程圖演化來(lái)PAD圖的符號(hào)PAD圖的符號(hào)PAD圖的符號(hào)PAD圖的例子

PAD圖的符號(hào)PAD圖的例子PAD圖PAD圖的實(shí)例見(jiàn)p191頁(yè)特點(diǎn):結(jié)構(gòu)清晰,支持結(jié)構(gòu)化的程序設(shè)計(jì)方法,有利于自動(dòng)生成程序。PAD圖PAD圖的實(shí)例見(jiàn)p191頁(yè)例子:

輸入三個(gè)正整數(shù)作為邊長(zhǎng),判斷該三條邊構(gòu)成的三角形是等邊、等腰還是一般三角形。請(qǐng)畫出該程序的流程圖、N-S圖、PAD圖。

例子:輸入三個(gè)正整數(shù)作為邊長(zhǎng),判斷該三條邊構(gòu)成的三角形是等例子:

例子:例子:

例子:例子:

例子:思考:在數(shù)據(jù)A(1)~A(n)中求最大數(shù)和次大數(shù).。在數(shù)據(jù)A(1)~A(n)中求前m個(gè)最大的數(shù)。思考:在數(shù)據(jù)A(1)~A(n)中求最大數(shù)和次大數(shù).。4.判定表當(dāng)算法中包含多重條件選擇時(shí),用程序流程圖、N-S圖或PAD都不能清晰地描述。用判定表確可以清晰表達(dá)復(fù)雜條件與應(yīng)做動(dòng)作之間的關(guān)系。4.判定表當(dāng)算法中包含多重條件選擇時(shí),用程序流程圖、N-S判定表

12345教授

TFFF副教授

FTFF講師

FFTF助教

FFFT講座TFFFF50×

30

×

25

×

20

×

15

×例:某校制定了教師的講課課時(shí)津貼標(biāo)準(zhǔn)。對(duì)于各種性質(zhì)的講座,無(wú)論教師是什么職稱,每課時(shí)津貼費(fèi)一律是50元;而對(duì)于一般的授課,則根據(jù)教師的職稱來(lái)決定每課時(shí)津貼費(fèi):教授30元,副教授25元,講師20元,助教15元。判定表

12345教授

TFFF副教授

FTFF講師

FFT判定表一張判定表由四部分組成,左上部列出所有條件,左下部是所有可能的動(dòng)作,右上部是表示各種條件組合的一個(gè)矩陣,右下部是和每種條件組合相對(duì)應(yīng)的動(dòng)作.判定表一張判定表由四部分組成,左上部列出所有條件,左下部是所判定表某航空公司規(guī)定,重量不超過(guò)30公斤的行李可免費(fèi)托運(yùn)。重量超過(guò)30公斤時(shí),對(duì)超運(yùn)部分,頭等艙國(guó)內(nèi)乘客收4元/公斤;其它艙位國(guó)內(nèi)乘客收6元/公斤;外國(guó)乘客收費(fèi)為國(guó)內(nèi)乘客的2倍;殘疾乘客的收費(fèi)為正常乘客的1/2。判定表某航空公司規(guī)定,重量不超過(guò)30公斤的行李可免費(fèi)托運(yùn)。重判定表判定表5.PDL語(yǔ)言PDL是一種用于描述功能模塊的算法設(shè)計(jì)和加工細(xì)則的語(yǔ)言。它是一種偽碼。PDL不同于一般的“結(jié)構(gòu)化語(yǔ)言”。PDL更接近于自然語(yǔ)言,容易看懂。5.PDL語(yǔ)言PDL是一種用于描述功能模塊的算法設(shè)計(jì)和加工PDL語(yǔ)言PDL語(yǔ)言具有下述特點(diǎn):(1)PDL雖然不是程序設(shè)計(jì)語(yǔ)言,但是它與高級(jí)程序設(shè)計(jì)語(yǔ)言非常類似,只要對(duì)PDL描述稍加變換就可變成源程序代碼。因此,它是詳細(xì)設(shè)計(jì)階段很受歡迎的表達(dá)工具。(2)用PDL寫出的程序,既可以很抽象,又可以很具體。因此,容易實(shí)現(xiàn)自頂向下逐步求精的設(shè)計(jì)原則。(3)PDL描述同自然語(yǔ)言很接近,易于理解。(4)PDL描述可以直接作為注釋插在源程序中,成為程序的內(nèi)部文檔。這對(duì)提高程序的可讀性是非常有益的。(5)PDL描述與程序結(jié)構(gòu)相似,因此自動(dòng)產(chǎn)生程序比較容易。PDL的缺點(diǎn)是不如圖形描述形象直觀PDL語(yǔ)言PDL語(yǔ)言具有下述特點(diǎn):程序復(fù)雜度的定量度量定量度量程序復(fù)雜度的作用:(1)可估算軟件中錯(cuò)誤的數(shù)量及軟件開(kāi)發(fā)工作量;(2)度量的結(jié)果可用來(lái)比較不同設(shè)計(jì)或不同算法的優(yōu)劣;(3)程序的復(fù)雜度可作為模塊規(guī)模的限度。程序復(fù)雜度的定量度量定量度量程序復(fù)雜度的作用:程序復(fù)雜度的定量度量

流圖“退化”的程序流程圖,僅描繪程序的控制流程,不表現(xiàn)對(duì)數(shù)據(jù)的具體操作及循環(huán)、選擇的條件。

1.

McCabe方法程序復(fù)雜度的定量度量流圖1.McCabe方法程序復(fù)雜度的定量度量一個(gè)圓代表一條或多條語(yǔ)句;一個(gè)順序結(jié)構(gòu)可以合并成一個(gè)結(jié)點(diǎn);匯點(diǎn)也是結(jié)點(diǎn);一個(gè)順序處理框序列和一個(gè)判斷框可映射成一個(gè)結(jié)點(diǎn)。程序復(fù)雜度的定量度量一個(gè)圓代表一條或多條語(yǔ)句;匯點(diǎn)也是結(jié)點(diǎn)程序復(fù)雜度的定量度量復(fù)合條件:包含了一個(gè)或多個(gè)布爾運(yùn)算符(OR、AND、NOR等)。應(yīng)把復(fù)合條件分解為簡(jiǎn)單條件,每個(gè)條件對(duì)應(yīng)一個(gè)結(jié)點(diǎn)。程序復(fù)雜度的定量度量復(fù)合條件:程序復(fù)雜度的定量度量計(jì)算環(huán)形復(fù)雜度的方法:

1)環(huán)形復(fù)雜度V(G)等于流圖中的區(qū)域數(shù);

2)環(huán)形復(fù)雜度V(G)=E-N+2,其中E是流圖中邊的條數(shù),N是結(jié)點(diǎn)數(shù);

3)環(huán)形復(fù)雜度V(G)=P+1,其中P為流圖中判定結(jié)點(diǎn)的數(shù)目。程序復(fù)雜度的定量度量計(jì)算環(huán)形復(fù)雜度的方法:程

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論