軟件設(shè)計(jì)修改公開課課件_第1頁(yè)
軟件設(shè)計(jì)修改公開課課件_第2頁(yè)
軟件設(shè)計(jì)修改公開課課件_第3頁(yè)
軟件設(shè)計(jì)修改公開課課件_第4頁(yè)
軟件設(shè)計(jì)修改公開課課件_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1軟件設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì)基本程序結(jié)構(gòu):順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)智能儀器的軟件結(jié)構(gòu)監(jiān)控程序、測(cè)量控制程序、數(shù)據(jù)處理程序、中斷處理程序2模塊化與結(jié)構(gòu)化程序設(shè)計(jì)

模塊化程序設(shè)計(jì)自底向上模塊化程序設(shè)計(jì)自頂向下模塊化程序設(shè)計(jì)3模塊化設(shè)計(jì)優(yōu)點(diǎn):?jiǎn)蝹€(gè)程序模塊易于編寫、查錯(cuò)、測(cè)試及修改;不同的模塊可以分配給不同的程序員來編寫及測(cè)試;程序的易讀性好;頻繁使用的任務(wù)可以編織成模塊原則:模塊長(zhǎng)度需適中;模塊之間的控制耦合應(yīng)盡可能簡(jiǎn)單,盡量避免多個(gè)入口點(diǎn)與出口點(diǎn);對(duì)每個(gè)模塊做出具體定義;簡(jiǎn)單的任務(wù)不必模塊化;多種判定最好在一個(gè)模塊中完成5模塊數(shù)與軟件開發(fā)成本軟件設(shè)計(jì)中的基本概念和原理6

2.模塊獨(dú)立性軟件設(shè)計(jì)中的基本概念和原理

模塊的獨(dú)立性是指軟件系統(tǒng)中每個(gè)模塊只涉及軟件要求的具體的子功能,而和軟件系統(tǒng)中其他模塊的接口是簡(jiǎn)單的。耦合

模塊之間的相對(duì)獨(dú)立性的度量。內(nèi)聚

模塊功能強(qiáng)度的度量。71)耦合性耦合性是對(duì)一個(gè)軟件結(jié)構(gòu)內(nèi)部不同模塊間聯(lián)系緊密程度的度量指標(biāo)。決定耦合性高低的主要因素由于模塊間的聯(lián)系是通過模塊接口實(shí)現(xiàn)的,因此,模塊耦合性的高低主要取決于模塊接口的復(fù)雜程度、調(diào)用模塊的方式以及通過模塊接口的數(shù)據(jù)。模塊間的耦合性主要可劃分為如下幾種類型。低數(shù)據(jù)耦合公共耦合控制耦合內(nèi)容耦合

高弱

強(qiáng)耦合性模塊獨(dú)立性9(4)內(nèi)容耦合。若一個(gè)模塊對(duì)另一模塊中的內(nèi)容(包括數(shù)據(jù)和程序段)進(jìn)行了直接的引用甚至修改,或通過非正常入口進(jìn)入到另一模塊內(nèi)部,或一個(gè)模塊具有多個(gè)入口,或兩個(gè)模塊共享一部分代碼,則稱模塊間的這種耦合為內(nèi)容耦合。內(nèi)容耦合是所有耦合關(guān)系中程度最高的,會(huì)使因模塊間的聯(lián)系過于緊密而對(duì)后期的開發(fā)和維護(hù)工作帶來很大的麻煩。以上耦合程度的比較如下:軟件設(shè)計(jì)中的基本概念和原理低數(shù)據(jù)耦合控制耦合控制耦合內(nèi)容耦合

高弱

強(qiáng)耦合性模塊獨(dú)立性10智能儀器中軟件的主要功能采集信息與外界對(duì)話記憶信息處理信息控制功能自我測(cè)試自補(bǔ)償自適應(yīng)/自校正自學(xué)習(xí)11軟件設(shè)計(jì)高可靠性高可維護(hù)性高可理解性高效率

軟件設(shè)計(jì)的目標(biāo)二、軟件設(shè)計(jì)的目標(biāo)在設(shè)計(jì)階段應(yīng)達(dá)到的目標(biāo)是:提高可靠性;提高可維護(hù)性;提高可理解性;提高效率。衡量該目標(biāo)的準(zhǔn)則:1、軟件實(shí)體有明顯的層次結(jié)構(gòu),利于軟件元素間控制。2、軟件實(shí)體應(yīng)該是模塊化的,模塊具有獨(dú)立功能。3、軟件實(shí)體與環(huán)境的界面清晰。4、設(shè)計(jì)規(guī)格說明清晰、簡(jiǎn)潔、完整和無二義性。13軟件工程開發(fā)模式原型開發(fā)模型需求分析快速設(shè)計(jì)建立原型用戶評(píng)價(jià)原型修改原型生產(chǎn)產(chǎn)品14四代技術(shù)(4GT)面向?qū)ο笊嫫谀P瓦^程開發(fā)模型(混合模型)軟件工程開發(fā)模式其他開發(fā)模型15軟件開發(fā)三階段

定義階段系統(tǒng)分析軟件項(xiàng)目計(jì)劃需求分析17系統(tǒng)定義:輸入輸出的說明輸入字節(jié)的規(guī)定;CPU的查詢方式;是否需要軟件時(shí)鐘;是否有接口鎖存;輸入信號(hào)的更新;校驗(yàn)問題;與其他輸入或輸出的關(guān)系系統(tǒng)存儲(chǔ)器的說明掉電保護(hù);對(duì)存儲(chǔ)器的管理;軟件的結(jié)構(gòu)處理階段的說明算術(shù)邏輯運(yùn)算;操作裝置的管理;系統(tǒng)管理;程序和作業(yè)控制;數(shù)據(jù)管理出錯(cuò)處理與操作因素的說明錯(cuò)誤類型;如何處理;錯(cuò)誤的區(qū)分;是否需要診斷程序18軟件開發(fā)三階段

開發(fā)階段軟件設(shè)計(jì)編碼測(cè)試19編寫程序機(jī)器語(yǔ)言不需任何軟件或硬件支援,編制速度慢,不易查找錯(cuò)誤匯編語(yǔ)言直觀、易懂、易用、易于記憶、占用內(nèi)存空間小且執(zhí)行速度快、易于實(shí)現(xiàn)中斷管理及模擬(數(shù)字)量輸入輸出高級(jí)語(yǔ)言編譯效率低、可能造成時(shí)間和存儲(chǔ)器的浪費(fèi)21軟件的樹狀結(jié)構(gòu)和網(wǎng)狀結(jié)構(gòu)由模塊連接而得到的軟件結(jié)構(gòu)最普通的形式就是樹狀結(jié)構(gòu)和網(wǎng)狀結(jié)構(gòu)。在樹狀結(jié)構(gòu)中,位于最上層的根部是頂層模塊,它是程序的主模塊。與其聯(lián)系的有若干下屬模塊,各下屬模塊還可以進(jìn)一步引出更下一層的下屬模塊,如圖所示的樹狀結(jié)構(gòu)。樹狀結(jié)構(gòu)的特點(diǎn)是:整個(gè)結(jié)構(gòu)只有一個(gè)頂層模塊,而對(duì)于任何一個(gè)下屬模塊來說,它只有一個(gè)上級(jí)模塊,而且同一層模塊之間不發(fā)生關(guān)系。頂層1層2層3層

軟件的樹狀結(jié)構(gòu)ABCDEFGHIKLM22上圖是網(wǎng)狀結(jié)構(gòu)的兩個(gè)例子。在網(wǎng)狀結(jié)構(gòu)中,任何兩個(gè)模塊間都可以有雙向的關(guān)系。由于不存在上級(jí)模塊和下屬模塊的關(guān)系,也就分不出層次來。任何兩個(gè)模塊都是平等的,沒有從屬關(guān)系。

網(wǎng)狀結(jié)構(gòu)(a)(b)

軟件的樹狀結(jié)構(gòu)和網(wǎng)狀結(jié)構(gòu)ABCDEFGHABCD

分析比較兩種結(jié)構(gòu)的特點(diǎn)后可以看出,對(duì)于不加限制的網(wǎng)狀結(jié)構(gòu),由于模塊間相互關(guān)系的任意性,使得整個(gè)結(jié)構(gòu)十分復(fù)雜,處理起來勢(shì)必引起許多麻煩,這與原來劃分模塊為便于處理的意圖相矛盾。所以在軟件開發(fā)的實(shí)踐中,人們通常采用樹狀結(jié)構(gòu),而不采用網(wǎng)狀結(jié)構(gòu)。231軟件測(cè)試的基本概念

一、軟件測(cè)試的目的和重要性 因?yàn)殚_發(fā)工作的前期不可避免地會(huì)引入錯(cuò)誤,測(cè)試的目的是為了發(fā)現(xiàn)和改正錯(cuò)誤,這對(duì)于某些涉及人的生命安全或重要的軍事、經(jīng)濟(jì)目標(biāo)的項(xiàng)目顯得尤其重要。1963年美國(guó)飛往火星的火箭爆炸,原因是FORTRAN程序:DO5I=1,3

誤寫為:DO5I=1.3損失1000萬(wàn)美元。25二、軟件測(cè)試的特點(diǎn)—結(jié)論3、軟件測(cè)試難度大 根據(jù)上述分析,既然不能進(jìn)行

“窮舉”測(cè)試,又要查出盡可能多的錯(cuò)誤,軟件測(cè)試工作的難度大。只有選擇— “高效的測(cè)試用例”26三、軟件測(cè)試的基本原則1、盡量不由程序設(shè)計(jì)者進(jìn)行測(cè)試。2、關(guān)鍵是注重測(cè)試用例的選擇。 輸入數(shù)據(jù)的組成(輸入數(shù)據(jù)、預(yù)期的輸出結(jié)果)既有合理輸入數(shù)據(jù),也有不合理的輸入數(shù)據(jù)。用例既能檢查應(yīng)完成的任務(wù),也能夠檢查不應(yīng)該完成的任務(wù)。長(zhǎng)期保存測(cè)試用例。292軟件測(cè)試方法軟件測(cè)試方法分為兩類:靜態(tài)分析、動(dòng)態(tài)測(cè)試一、靜態(tài)分析方法指以人工的、非形式化的方法對(duì)程序進(jìn)行分析和測(cè)試。桌前檢查、代碼會(huì)審、步行檢查步行檢查時(shí),還常使用以下分析方法:①調(diào)用圖 從語(yǔ)義的角度考察程序的控制路線。②數(shù)據(jù)流分析圖 檢查分析變量的定義和引用情況。30通過選擇適當(dāng)?shù)臏y(cè)試用例,執(zhí)行程序。常用的方法:

1、白盒法 分析程序的內(nèi)部邏輯結(jié)構(gòu),注意選擇適當(dāng)?shù)母采w標(biāo)準(zhǔn),設(shè)計(jì)測(cè)試用例,對(duì)主要路徑進(jìn)行盡可能多的測(cè)試。2、黑盒法不考慮程序的內(nèi)部結(jié)構(gòu)與特性,只根據(jù)程序功能或程序的外部特性設(shè)計(jì)測(cè)試用例。二、動(dòng)態(tài)測(cè)試方法(1)31白盒法

白盒法又稱為邏輯覆蓋法,其測(cè)試用例選擇,是按照不同覆蓋標(biāo)準(zhǔn)確定的。

語(yǔ)句覆蓋判定覆蓋條件覆蓋判定條件覆蓋條件組合覆蓋弱強(qiáng)32白盒法常用的覆蓋標(biāo)準(zhǔn)①語(yǔ)句覆蓋:選擇足夠的測(cè)試用例,使得程序中每個(gè)語(yǔ)句至少都能被執(zhí)行一次。②判定覆蓋:執(zhí)行足夠的測(cè)試用例,使得程序中每個(gè)判定至少都獲得一次“真”值和“假”值。③條件覆蓋:執(zhí)行足夠的測(cè)試用例,使得判定中的每個(gè)條件獲得各種可能的結(jié)果。④判定/條件覆蓋:執(zhí)行足夠的測(cè)試用例,使得判定中每個(gè)條件取到各種可能的值,并使每個(gè)判定取到各種可能的結(jié)果。⑤條件組合覆蓋:執(zhí)行足夠的例子,使得每個(gè)判定中條件的各種可能組合都至少出現(xiàn)一次。33白盒法步驟:例:用白盒法測(cè)試以下程序段:Procedure(VARA,B,X:REAL);BEGINIF(A>1)AND(B=0)THENX:=X/A;IF(A=2)OR(X>1)THENX:=X+1END;1)選擇邏輯覆蓋標(biāo)準(zhǔn)。2)按照覆蓋標(biāo)準(zhǔn)列出所有情況。3)選擇確定測(cè)試用例。4)驗(yàn)證分析運(yùn)行結(jié)果與預(yù)期結(jié)果。A>1ANDB=0X:=X/AA=2ORX>1X:=X+1YNYN34二、動(dòng)態(tài)測(cè)試方法(2)等價(jià)分類法邊值分析法錯(cuò)誤推測(cè)法因果圖法(2)黑盒法

不考慮程序的內(nèi)部結(jié)構(gòu)與特性,只根據(jù)程序功能或程序的外部特性設(shè)計(jì)測(cè)試用例。351、等價(jià)分類法基本思想:根據(jù)程序的I/O特性,將程序的定義域劃分為有限個(gè)等價(jià)區(qū)段—“等價(jià)類”,從等價(jià)類中選擇出的用例,具有“代表性”。等價(jià)類分為:有效等價(jià)類

—對(duì)于程序的規(guī)格說明,是合理的、有意義的輸入數(shù)據(jù)構(gòu)成的集合。無效等價(jià)類

—對(duì)于程序的規(guī)格說明,是不合理的、沒有意義的輸入數(shù)據(jù)構(gòu)成的集合。362、邊值分析法

基本思想:選擇等價(jià)類的邊緣值作為測(cè)試用例,讓每個(gè)等價(jià)類的邊界都得到測(cè)試,選擇測(cè)試用例既考慮輸入亦考慮輸出。

分析步驟:

A、先劃分等價(jià)類。

B、選擇測(cè)試用例,測(cè)試等價(jià)類邊界。

邊界選擇原則:

A、按照輸入值范圍的邊界。

B、按照輸入/輸出值個(gè)數(shù)的邊界。

C、輸出值域的邊界。

D、輸入/輸出有序集的邊界。373軟件測(cè)試的步驟測(cè)試步驟及策略

所有測(cè)試過程都應(yīng)采用綜合測(cè)試策略;即先作靜態(tài)分析,再作動(dòng)態(tài)測(cè)試。并事先制訂測(cè)試計(jì)劃。測(cè)試過程通常可分4步進(jìn)行:?jiǎn)卧獪y(cè)試單元測(cè)試單元測(cè)試被測(cè)模塊被測(cè)模塊集成測(cè)試設(shè)計(jì)信息已測(cè)試的模塊確認(rèn)測(cè)試已集成的模塊軟件需求系統(tǒng)測(cè)試已確認(rèn)的軟件可交付的軟件系統(tǒng)其他元素381軟件維護(hù)的類型軟件維護(hù)是指軟件系統(tǒng)交付使用以后,為了改正錯(cuò)誤或滿足新的需求而修改軟件的過程。按照不同的維護(hù)目的,維護(hù)工作可分成4類。

完善性維護(hù)(PerfectiveMaintenance)擴(kuò)充原有系統(tǒng)的功能,提高原有系統(tǒng)的性能,滿足用戶的實(shí)際需要。糾錯(cuò)性維護(hù)(CorrectiveMaintenance)對(duì)在測(cè)試階段未能發(fā)現(xiàn)的,在軟件投入使用后才逐漸暴露出來的錯(cuò)誤的測(cè)試、診斷、定位、糾錯(cuò)以及驗(yàn)證、修改的回歸測(cè)試過程。39軟件維護(hù)的類型適應(yīng)性維護(hù)(AdaptiveMaintenance)要使運(yùn)行的軟件能適應(yīng)運(yùn)行環(huán)境的變動(dòng)而修改軟件的過程。預(yù)防性維護(hù)(PreventiveMaintenance) 為了進(jìn)一步改善軟件的可靠性和易維護(hù)性,或者為將來的維護(hù)奠定更好的基礎(chǔ)而對(duì)軟件進(jìn)行修改。40監(jiān)控程序監(jiān)控主程序初始化管理鍵盤管理顯示管理中斷管理時(shí)鐘管理自診斷41鍵盤管理鍵值的獲取單純查詢法中斷法定時(shí)查詢法一鍵一義鍵盤的管理一鍵多義鍵盤的管理42一鍵一義鍵盤的管理選擇結(jié)構(gòu)法:將獲取的鍵值跟設(shè)定值逐一比較轉(zhuǎn)移表法:通過在表中查找各命令處理子程序的入口43顯示管理顯示更新數(shù)據(jù)多參數(shù)的巡測(cè)和定點(diǎn)顯示管理指示燈顯示管理44

中斷管理實(shí)現(xiàn)中斷及返回能實(shí)現(xiàn)優(yōu)先級(jí)排隊(duì)能實(shí)現(xiàn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論