版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件工程1第6章詳細(xì)設(shè)計(jì)結(jié)構(gòu)程序設(shè)計(jì)人機(jī)界面設(shè)計(jì)過(guò)程設(shè)計(jì)的工具面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法程序復(fù)雜度的定量度量26.1結(jié)構(gòu)程序設(shè)計(jì)任務(wù):是設(shè)計(jì)出程序的“藍(lán)圖”,以后程序員將根據(jù)這個(gè)藍(lán)圖寫(xiě)出實(shí)際的程序代碼。結(jié)構(gòu)程序設(shè)計(jì)的概念最早由E.W.Dijkstra提出。(1965)
1966年B?hm和Jacopini證明了,只用三種基本的控制結(jié)構(gòu)就能實(shí)現(xiàn)任何單入口單出口的程序。
1972年IBM公司的Mills進(jìn)一步提出,程序應(yīng)該只有一個(gè)入口和一個(gè)出口。3結(jié)構(gòu)程序設(shè)計(jì)的經(jīng)典定義如下所述:如果一個(gè)程序的代碼塊僅僅通過(guò)順序、選擇和循環(huán)這三種控制結(jié)構(gòu)進(jìn)行連接,并且每個(gè)代碼塊只有一個(gè)入口和一個(gè)出口,則稱這個(gè)程序是結(jié)構(gòu)化的??赡芨娴亩x:結(jié)構(gòu)程序設(shè)計(jì)是盡可能少用GOTO語(yǔ)句的程序設(shè)計(jì)方法。最好僅在檢測(cè)出錯(cuò)誤時(shí)才使用GOTO語(yǔ)句,而且應(yīng)該總是使用前向GOTO語(yǔ)句。6.1結(jié)構(gòu)程序設(shè)計(jì)46.2人機(jī)界面設(shè)計(jì)應(yīng)該考慮的設(shè)計(jì)問(wèn)題1.系統(tǒng)響應(yīng)時(shí)間
一般說(shuō)來(lái),系統(tǒng)響應(yīng)時(shí)間指的是從用戶完成某個(gè)控制動(dòng)作(例如,按回車鍵或點(diǎn)擊鼠標(biāo)),到軟件給出預(yù)期的響應(yīng)(輸出或做預(yù)期的動(dòng)作)之間的這段時(shí)間。系統(tǒng)響應(yīng)時(shí)間有兩個(gè)重要屬性,分別是長(zhǎng)度和易變性。52.用戶幫助設(shè)施常見(jiàn)的幫助設(shè)施有集成的和附加的兩類。集成的幫助設(shè)施從一開(kāi)始就設(shè)計(jì)在軟件里面,通常它對(duì)用戶的工作內(nèi)容是敏感的,因此用戶可以從與剛剛完成的操作有關(guān)的主題中選擇一個(gè)請(qǐng)求幫助。附加的幫助設(shè)施是在系統(tǒng)建成后再添加到軟件中的,在多數(shù)情況下,它實(shí)際上是一種查詢能力有限的聯(lián)機(jī)用戶手冊(cè)。集成的幫助設(shè)施優(yōu)于附加的幫助設(shè)施。6.2人機(jī)界面設(shè)計(jì)63.出錯(cuò)信息處理一般說(shuō)來(lái),交互式系統(tǒng)給出的出錯(cuò)信息或警告信息,應(yīng)該具有下述屬性:●信息應(yīng)該以用戶可以理解的術(shù)語(yǔ)描述問(wèn)題?!裥畔?yīng)該提供有助于從錯(cuò)誤中恢復(fù)的建設(shè)性意見(jiàn)?!裥畔?yīng)該指出錯(cuò)誤可能導(dǎo)致哪些負(fù)面后果(例如,破壞數(shù)據(jù)文件),以便用戶檢查是否出現(xiàn)了這些問(wèn)題,并在確實(shí)出現(xiàn)問(wèn)題時(shí)予以改正?!裥畔?yīng)該伴隨著聽(tīng)覺(jué)上或視覺(jué)上的提示,也就是說(shuō),在顯示信息時(shí)應(yīng)該同時(shí)發(fā)出警告聲,或者信息用閃爍方式顯示,或者信息用明顯表示出錯(cuò)的顏色顯示?!裥畔⒉荒軒в兄肛?zé)色彩,也就是說(shuō),不能責(zé)怪用戶。6.2人機(jī)界面設(shè)計(jì)74.命令交互命令行曾經(jīng)是用戶和系統(tǒng)軟件交互的最常用方式,而且也曾經(jīng)廣泛地用于各種應(yīng)用軟件中?,F(xiàn)在,面向窗口的、點(diǎn)擊和拾取方式的界面已經(jīng)減少了用戶對(duì)命令行的依賴,但是,許多高級(jí)用戶仍然偏愛(ài)面向命令的交互方式。在多數(shù)情況下,用戶既可以從菜單中選擇軟件功能也可以通過(guò)鍵盤命令序列調(diào)用軟件功能。6.2人機(jī)界面設(shè)計(jì)81、菜單(menu)
按照顯示方式正文菜單、圖標(biāo)菜單、正文和圖標(biāo)混合菜單,如:開(kāi)始菜單。按屏幕位置和操作風(fēng)格固定位置、浮動(dòng)位置(彈出)、下拉式、嵌入式圖a混合菜單圖b固定及下拉菜單固定菜單下拉菜單92、圖象在用戶界面中,加入豐富多彩的畫(huà)面,將能夠更加行象地為用戶提供有用的信息,以達(dá)到可視化的目的。主要的處理操作有:圖象的隱蔽和再現(xiàn)、屏幕滾動(dòng)和圖案顯示、動(dòng)畫(huà)等。103、對(duì)話框?qū)υ捒蚴窃谛枰獣r(shí),顯示在屏幕上一個(gè)矩形區(qū)域內(nèi)的圖形和正文信息。通過(guò)對(duì)話,實(shí)現(xiàn)系統(tǒng)和用戶之間的通信。對(duì)話框顯示的方式與彈出式菜單類似,即瞬時(shí)彈出。同時(shí),系統(tǒng)還應(yīng)將對(duì)話框所覆蓋的原圖象進(jìn)行保存,以便在對(duì)話結(jié)束后能立即恢復(fù)。有三種對(duì)話形式:必須回答式如圖a所示無(wú)需回答式如圖b所示警告式如圖c所示圖a必須回答式對(duì)話框圖b無(wú)需回答式對(duì)話框圖c警告式對(duì)話框114、窗口(window)圖形學(xué)中稱為視圖區(qū)(Viewport),視為虛擬屏幕。一個(gè)實(shí)用窗口,可包含部件:菜單區(qū)(menubar)圖標(biāo)區(qū)(iconbar)標(biāo)題區(qū)(titlebar)移動(dòng)區(qū)(movebar)大小區(qū)(sizebar)退出區(qū)(quitbar)用戶工作區(qū)(user’sworkbar)橫向滾動(dòng)區(qū)(horizontalscrollbar)縱向滾動(dòng)區(qū)(verticalscrollbar)圖a窗口12數(shù)據(jù)I/O界面,是系統(tǒng)的重要組成部分。主要從輸入速度和減少出錯(cuò)率考慮。1、盡量減少輸入工作量對(duì)相同內(nèi)容輸入設(shè)置默認(rèn)值自動(dòng)填入列表選擇或點(diǎn)擊選擇2、輸入屏幕與輸入格式匹配即屏幕顯示按照數(shù)據(jù)使用頻率、重要性、次序等組織。3、數(shù)據(jù)輸入的一般規(guī)則 確定輸入 交互動(dòng)作 確定刪除 提供反饋數(shù)據(jù)I/O界面設(shè)計(jì)13人機(jī)界面設(shè)計(jì)過(guò)程創(chuàng)建設(shè)計(jì)模型原型實(shí)現(xiàn)模型試用和評(píng)估修改141.一般交互指南一般交互指南涉及信息顯示、數(shù)據(jù)輸入和整體系統(tǒng)控制,因此,這些指南是全局性的,忽略它們將承擔(dān)較大風(fēng)險(xiǎn)。界面設(shè)計(jì)指南2.信息顯示指南如果人機(jī)界面顯示的信息是不完整的,含糊的或難于理解的,則應(yīng)用軟件顯然不能滿足用戶的需求??梢杂枚喾N不同方式“顯示”信息:用文字、圖片和聲音;按位置、移動(dòng)和大??;使用顏色、分辨率和省略。153.數(shù)據(jù)輸入指南用戶的大部分時(shí)間用在選擇命令、鍵入數(shù)據(jù)和向系統(tǒng)提供輸入。在許多應(yīng)用系統(tǒng)中,鍵盤仍然是主要的輸入介質(zhì),但是,鼠標(biāo)、數(shù)字化儀和語(yǔ)音識(shí)別系統(tǒng)正迅速地成為重要的輸入手段。界面設(shè)計(jì)指南166.3過(guò)程設(shè)計(jì)的工具1、程序流程圖2、盒圖(N-S圖)3、PAD圖—問(wèn)題分析圖4、判定表5、判定樹(shù)6、過(guò)程設(shè)計(jì)語(yǔ)言—PDL17程序流程圖abX1X2X7X6X4X3X5higfedcjFTFFFTTT多分支選擇結(jié)構(gòu)先判定型循環(huán)結(jié)構(gòu)選擇結(jié)構(gòu)后判定型循環(huán)結(jié)構(gòu)18程序流程圖中使用的符號(hào)(a)選擇(分支);(b)注釋;(c)預(yù)先定義的處理;(d)多分支;(e)開(kāi)始或停止;(f)準(zhǔn)備;(g)循環(huán)上界限;(h)循環(huán)下界限;(i)虛線;(j)省略符;(k)并行方式;(l)處理;(m)輸入/輸出;(n)連接;(o)換頁(yè)連接;(p)控制流19循環(huán)的標(biāo)準(zhǔn)符號(hào)注解的使用20多出口判斷21盒圖盒圖的基本符號(hào)(a)順序;(b)IF_THEN_ELSE型分支;(c)CASE型多分支;(d)循環(huán);(e)調(diào)用子程序A22示例23N-S圖的嵌套定義形式24任務(wù)1任務(wù)2任務(wù)3順序結(jié)構(gòu)WHILE型條件循環(huán)體先判定型循環(huán)結(jié)構(gòu)條件then部分else部分選擇結(jié)構(gòu)TFUNTIL型條件循環(huán)體后判定型循環(huán)結(jié)構(gòu)控制變量
任務(wù)1任務(wù)2任務(wù)n多分支選擇結(jié)構(gòu)值1值2值nPAD圖基本結(jié)構(gòu)PAD圖(ProblemAnalysisDiagram)25例1:對(duì)數(shù)組X進(jìn)行排序。“自頂而下,逐步求精”
1、循環(huán)一次,排好一個(gè)X[h]排好第H個(gè)X[h]找X[J]=MAX(X[h]。。X[n])交換X[J]和X[h]2、細(xì)化(a)(b)(b)(a)3、連接各圖,構(gòu)成完整的PAD圖H:=1,n-1排好第h個(gè)X[h]H:=1,n-1H:=1,n-1W:=X[h]X[h]:=X[j]X[j]:=wJ:=hk:=h+1,nX[k]>X[J]J:=kH:=1,n-1H:=1,n-1H:=1,n-1例126s[17]~s[22]=0whilenum(1-1000)
輸入
age
age
=17
s[17]++
s[18]++
=18
s[19]++
=19
s[20]++
=20
s[21]++
=21
s[22]++
=22whilei(17-22)
輸出
s[i]beginend舉例27BEGINFIRST:=K[1];SECOND:=0;FIRST=K[I]SECOND=0I:=2toNK[I]>SECONDK[I]>FIRSTSECOND=FIRSTFIRST=K[I]SECOND=K[I]
ELSESECOND:=K[I]ENDENDEND.
PASCAL源程序段對(duì)應(yīng)PAD圖FORI:=2TONDOBEGINIFK[I]>SECONDTHENBEGINIFK[I]>FIRSTTHENBEGINSECOND:=FIRST; FIRST:=K[I]END例2圖3.49PAD圖應(yīng)用舉例28練習(xí)(畫(huà)出PAD圖)S=1+3+5+…+999。求f(x)=求g(x)=1x>00x=0-1x<01x>0-1x<=029s=0i=1Whilei<=999i=i+2s=s+iPrints30InputxF(X)=1F(X)=-1X>0T輸出F(X)FInputxG(x)=1xX>0X=0X<0G(x)=0G(x)=-1輸出g(X)31當(dāng)算法中包含多重嵌套的條件選擇時(shí),判定表能夠清晰地表示復(fù)雜的條件組合與應(yīng)做的動(dòng)作之間的對(duì)應(yīng)關(guān)系。一張判定表由四部分組成,左上部列出所有條件,左下部是所有可能做的動(dòng)作,右上部是表示各種條件組合的一個(gè)矩陣,右下部是和每種條件組合相對(duì)應(yīng)的動(dòng)作。判定表右半部的每一列實(shí)質(zhì)上是一條規(guī)則,規(guī)定了與特定的條件組合相對(duì)應(yīng)的動(dòng)作。
判定表32
123456789國(guó)內(nèi)乘客
TTTTFFFF頭等艙
TFTFTFTF殘疾乘客
FFTTFFTT行李重量W≤30TFFFFFFFF免費(fèi)×
(W-30)×2
×
(W-30)×3
×
(W-30)×4
×
×
(W-30)×6
×
×(W-30)×8
×
(W-30)×12
×
用判定表表示計(jì)算行李費(fèi)的算法33
無(wú)多分支判斷結(jié)構(gòu)34
35建立判定表的步驟列出與一個(gè)具體過(guò)程(或模塊)有關(guān)的所有處理。列出過(guò)程執(zhí)行期間的所有條件(或所有判斷)。將特定條件取值組合與特定的處理相匹配,消去不可能發(fā)生的條件取值組合。將右部每一縱列規(guī)定為一個(gè)處理規(guī)則,即對(duì)于某一條件取值組合將有什么動(dòng)作。36判定樹(shù)判定樹(shù)是判定表的變種優(yōu)點(diǎn):形式簡(jiǎn)單易于掌握和使用用判定樹(shù)表示計(jì)算行李費(fèi)的算法注:判定表與判定樹(shù)并不適用于作為一種通用的設(shè)計(jì)工具,通常將之用于輔助測(cè)試37作業(yè)某倉(cāng)庫(kù)發(fā)貨方案如下:客戶欠款時(shí)間不大于30天,如果需要量不大于庫(kù)存量則立即發(fā)貨;否則先按庫(kù)存量發(fā)貨,進(jìn)貨后再補(bǔ)發(fā)??蛻羟房顣r(shí)間不大于100天,如果需要量不大于庫(kù)存量則先付款再發(fā)貨;否則不發(fā)貨??蛻羟房顣r(shí)間大于100天,要求先付欠款。用判定表和判定樹(shù)表示38PDLPDL是一種用于描述功能模塊的算法設(shè)計(jì)和加工細(xì)節(jié)的語(yǔ)言。稱為設(shè)計(jì)程序用語(yǔ)言。它是一種偽代碼(Pseudocode)PDL-----關(guān)鍵詞+自然語(yǔ)言391、數(shù)據(jù)說(shuō)明:定義數(shù)據(jù)的類型和作用域格式:
TYPE<變量名>AS<限定詞1><限定詞2>說(shuō)明:1.變量名:是一個(gè)模塊內(nèi)部使用的變量或模塊間共用的全局變量名。
2.限定詞1:標(biāo)明數(shù)據(jù)類型
3.限定詞2:標(biāo)明該變量的作用域PDL402、程序塊:PDL的過(guò)程成分是由塊結(jié)構(gòu)構(gòu)成的,而塊將作為一個(gè)單個(gè)的實(shí)體來(lái)執(zhí)行。
BEGIN<塊名>
<一組偽代碼語(yǔ)句>ENDPDL413、子程序結(jié)構(gòu):把PDL中的過(guò)程稱為子程序。
PROCEDURE<子程序名><一組屬性>INTERFACE<參數(shù)表><程序塊或一組偽代碼語(yǔ)句>ENDPDL424、基本控制結(jié)構(gòu):
IF<條件>THEN<程序塊/偽代碼語(yǔ)句組>;
ELSE<程序塊/偽代碼語(yǔ)句組>;
ENDIF選擇型結(jié)構(gòu)
PDL434、基本控制結(jié)構(gòu):
DOWHILE<條件描述><程序塊/偽代碼語(yǔ)句組>;
ENDDO
REPEATUNTIL<條件描述><程序塊/偽代碼語(yǔ)句組>;
ENDREP重復(fù)型結(jié)構(gòu)
PDL444、基本控制結(jié)構(gòu):重復(fù)型結(jié)構(gòu)
DOLOOP<條件描述><程序塊/偽代碼語(yǔ)句組>;
EXITWHENENDLOOP
DOFOR<下標(biāo)=下標(biāo)表,表達(dá)式><程序塊/偽代碼語(yǔ)句組>;
ENDFORPDL454、基本控制結(jié)構(gòu):多路選擇結(jié)構(gòu)
CASEOF<case變量名>;
WHEN<case條件1>SELECT<程序塊/偽代碼語(yǔ)句組>;
WHEN<case條件2>SELECT<程序塊/偽代碼語(yǔ)句組>;
……DEFAULT:缺省或錯(cuò)誤case:
<程序塊/偽代碼語(yǔ)句組>;
ENDCASEPDL464、基本控制結(jié)構(gòu):
READ/WRITETO<設(shè)備><I/O表>
輸入/輸出結(jié)構(gòu)
PDL47例如:
ifXisnotnegativethenreturn(squarerootofXasarealnumber);elsereturn(squarerootof-Xasanimaginarynumber);
外層語(yǔ)法IF-ELSE-THEN是確定的,內(nèi)層操作“squarerootofX”是不確定的。PDL486.4面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法的最終目標(biāo)是得出對(duì)程序處理過(guò)程的描述。這種方法最適合于在詳細(xì)設(shè)計(jì)階段使用。使用面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法,當(dāng)然首先需要分析確定數(shù)據(jù)結(jié)構(gòu),并且用適當(dāng)?shù)墓ぞ摺狫ackson圖清晰地描繪數(shù)據(jù)結(jié)構(gòu)。49圖3.29A由B、C、D三個(gè)元素順序組成(每個(gè)元素只出現(xiàn)一次,出現(xiàn)的次序依次是B、C和D)1.順序結(jié)構(gòu)順序結(jié)構(gòu)的數(shù)據(jù)由一個(gè)或多個(gè)數(shù)據(jù)元素組成,每個(gè)元素按確定次序出現(xiàn)一次。Jackson圖50圖3.30根據(jù)條件A是B或C或D中的某一個(gè)(注意:在B、C和D的右上角有小圓圈做標(biāo)記)2.選擇結(jié)構(gòu)選擇結(jié)構(gòu)的數(shù)據(jù)包含兩個(gè)或多個(gè)數(shù)據(jù)元素,每次使用這個(gè)數(shù)據(jù)時(shí)按一定條件從這些數(shù)據(jù)元素中選擇一個(gè)。Jackson圖513.重復(fù)結(jié)構(gòu)重復(fù)結(jié)構(gòu)的數(shù)據(jù),根據(jù)使用時(shí)的條件由一個(gè)數(shù)據(jù)元素出現(xiàn)零次或多次構(gòu)成。圖3.31A由B出現(xiàn)N次(N≥0)組成(注意,在B的右上角有星號(hào)標(biāo)記)Jackson圖52Jackson圖有下述優(yōu)點(diǎn):●便于表示層次結(jié)構(gòu),而且是對(duì)結(jié)構(gòu)進(jìn)行自頂向下分解的有力工具;●形象直觀可讀性好;●既能表示數(shù)據(jù)結(jié)構(gòu)也能表示程序結(jié)構(gòu)(因?yàn)榻Y(jié)構(gòu)程序設(shè)計(jì)也只使用上述三種基本結(jié)構(gòu))。Jackson圖53Jackson圖的缺點(diǎn):①選擇條件或循環(huán)結(jié)束條件不能直接在圖上表示出來(lái);②不易直接把圖翻譯成程序;③由于框間連線為斜線,不易在行式打印機(jī)上輸出。圖3.32改進(jìn)的Jackson圖改進(jìn)的Jackson圖54Jackson圖和描繪軟件結(jié)構(gòu)的層次圖形式相當(dāng)類似,含義卻很不相同層次圖1.方框通常代表一個(gè)模塊;2.層次圖表現(xiàn)調(diào)用關(guān)系。Jackson圖1.方框通常代表幾個(gè)語(yǔ)句;2.Jackson圖表現(xiàn)組成關(guān)系。55Jackson結(jié)構(gòu)程序設(shè)計(jì)方法基本上由下述五個(gè)步驟組成:第1步分析并確定輸入數(shù)據(jù)和輸出數(shù)據(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步用三條規(guī)則從描繪數(shù)據(jù)結(jié)構(gòu)的Jackson圖導(dǎo)出描繪程序結(jié)構(gòu)的Jackson圖。Jackson方法56第4步列出所有操作和條件(包括分支條件和循環(huán)結(jié)束條件),并且把它們分配到程序結(jié)構(gòu)圖的適當(dāng)位置。第5步用偽碼表示程序。Jackson方法57Jackson方法示例例:一個(gè)正文文件由若干個(gè)記錄組成,每個(gè)記錄是一個(gè)字符串。要求統(tǒng)計(jì)每個(gè)記錄中空格字符的個(gè)數(shù),以及文件中空格字符的總個(gè)數(shù)。要求的輸出數(shù)據(jù)格式是,每復(fù)制一行輸入字符串之后,另起一行印出這個(gè)字符串中的空格數(shù),最后印出文件中空格的總個(gè)數(shù)。1:用Jackson圖畫(huà)出輸入數(shù)據(jù)和輸出數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。正文文件字符串*I字符*空格o非空格oI輸出表格表格體空格總數(shù)串信息*I字符串空格數(shù)SJackson方法示例2:找出輸入數(shù)據(jù)結(jié)構(gòu)和輸出數(shù)據(jù)結(jié)構(gòu)有對(duì)應(yīng)關(guān)系的數(shù)據(jù)單元,然后,用Jackson圖表示按映射規(guī)則導(dǎo)出相應(yīng)的程序結(jié)構(gòu)。統(tǒng)計(jì)空格程序體印總數(shù)處理字符串印字符串分析字符串印空格數(shù)分析字符*I處理空格°處理非空格°S列出所有的操作和條件,并把它們分配到程序結(jié)構(gòu)圖的適當(dāng)位置。(1)停止(2)打開(kāi)文件(3)關(guān)閉文件(4)印出字符串(5)印出空格數(shù)(6)印出空格總數(shù)(7)sum:=sum+1(8)totalsum:=totalsum+sum
(9)讀入字符串(10)sum:=0(11)totalsum:=0(12)pointer:=1(13)pointer:=pointer+1I(1)文件結(jié)束I(2)字符串結(jié)束S(3)字符是空格統(tǒng)計(jì)空格程序體印總數(shù)處理字符串*印字符串分析字符串印空格數(shù)分析字符*I(2)處理空格°處理非空格°29113161012489571313I(1)S(3)3:用Jackson偽代碼寫(xiě)出與程序結(jié)構(gòu)圖對(duì)應(yīng)的過(guò)程性表示。打開(kāi)文件讀入字符串totalsum:=0程序體iteruntil文件結(jié)束處理字符串seq印字符串seq印出字符串印字符串endsum:=0pointer:=1
分析字符串iteruntil字符串結(jié)束
分析字符select字符是空格處理空格seqsum:=sum+1pointer:=pointer+1處理空格end分析字符or字符不是空格處理非空格seqpointer:=pointer+1處理非空格end分析字符end分析字符串end
印空格數(shù)seq印出空格數(shù)目印空格數(shù)endtotalsum:=totalsum+sum讀入字符串處理字符串end程序體end印總數(shù)seq印出空格總數(shù)印總數(shù)end關(guān)閉文件停止統(tǒng)計(jì)空格end(1)流圖按照程序的控制結(jié)構(gòu)設(shè)計(jì)測(cè)試用例時(shí),往往需要仔細(xì)分析程序的控制流。為了突出表現(xiàn)程序的控制流,可以使用流圖(也稱為程序圖)。流圖僅僅描繪程序的控制流程,它完全不表現(xiàn)對(duì)數(shù)據(jù)的具體操作以及分支或循環(huán)的具體條件。6.5程序復(fù)雜程度的定量度量1、McCabe方法:62圖6.15把程序流程圖映射成流圖
(a)程序流程圖(b)流圖6.5程序復(fù)雜程度的定量度量63圖4.4是由包含復(fù)合條件的PDL片斷翻譯成的流圖,注意,與復(fù)合條件“aORb”對(duì)應(yīng)的節(jié)點(diǎn)有兩個(gè),這兩個(gè)節(jié)點(diǎn)分別標(biāo)記為“a”和“b”。圖6.17由包含復(fù)合條件的PDL映射成的流圖
6.5程序復(fù)雜程度的定量度量642計(jì)算流圖的環(huán)形復(fù)雜度。環(huán)形復(fù)雜度定量度量程序邏輯的復(fù)雜程度。計(jì)算環(huán)形復(fù)雜度方法:(1)流圖中的區(qū)域數(shù)等于環(huán)形復(fù)雜度。(2)流圖G的環(huán)形復(fù)雜度V(G)由下式計(jì)算:V(G)=E-N+2
其中,E是流圖中邊的條數(shù),N是流圖中節(jié)點(diǎn)數(shù)。(3)流圖G的環(huán)形復(fù)雜度V(G)也可由下式計(jì)算:V(G)=P+1
其中,P是流圖中判定節(jié)點(diǎn)的數(shù)目。653.環(huán)形復(fù)雜度的用途6.5程序復(fù)雜程度的定量度量①分支或循環(huán)增多時(shí),CC也隨之增大,故CC值實(shí)際上是為軟件測(cè)試的難易度提供了一個(gè)定量度量的方法,間接表示了軟件的可靠性。②CC是可加的:2模塊的總復(fù)雜度=各自CC之和。③實(shí)踐經(jīng)驗(yàn)表明
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年工程保修合同
- 2026年人員外包合同
- 2025年機(jī)器人技術(shù)與產(chǎn)業(yè)應(yīng)用項(xiàng)目可行性研究報(bào)告
- 2025年個(gè)性化定制產(chǎn)品市場(chǎng)可行性研究報(bào)告
- 2025年多功能綜合文體中心建設(shè)項(xiàng)目可行性研究報(bào)告
- 考試閱人員協(xié)議書(shū)
- 中職調(diào)解協(xié)議書(shū)
- 海思科醫(yī)藥協(xié)議書(shū)
- 交流合作協(xié)議書(shū)
- 論政府預(yù)算信息公開(kāi)訴訟制度
- 8m深基坑土方開(kāi)挖施工方案
- 2025中央廣播電視總臺(tái)招聘144人筆試歷年題庫(kù)附答案解析
- 2026年瓦工職業(yè)技能鑒定考試題庫(kù)及答案
- 2025年云南省人民檢察院聘用制書(shū)記員招聘(22人)筆試考試參考題庫(kù)及答案解析
- 胃腸外科圍手術(shù)期護(hù)理要點(diǎn)
- 竣工資料歸檔與管理流程
- 購(gòu)車合伙協(xié)議書(shū)模板
- 二手摩托車買賣合同范本
- 2026年山西省財(cái)政稅務(wù)??茖W(xué)校單招職業(yè)傾向性測(cè)試題庫(kù)附答案
- 2025年阿里輔警協(xié)警招聘考試備考題庫(kù)及答案1套
- 黃寶康藥用植物學(xué)課件
評(píng)論
0/150
提交評(píng)論