南京郵電大學(xué)軟件工程考試重點整理_第1頁
南京郵電大學(xué)軟件工程考試重點整理_第2頁
南京郵電大學(xué)軟件工程考試重點整理_第3頁
南京郵電大學(xué)軟件工程考試重點整理_第4頁
南京郵電大學(xué)軟件工程考試重點整理_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第一章 概述1、軟件危機定義:軟件危機就是軟件開發(fā)和維護過程中遇到的一系列嚴重問題。軟件危機包括兩方面的問題:如何開發(fā)軟件,怎樣滿足對軟件日益增長的需求;如何維護數(shù)量不斷膨脹的現(xiàn)有軟件。2、軟件危機的主要表現(xiàn):產(chǎn)品不符合用戶的實際需要;軟件開發(fā)生產(chǎn)率提高速度不能滿足客觀需要(軟件的生產(chǎn)率遠遠低于硬件生產(chǎn)率和計算機應(yīng)用的增長率,不能充分利用硬件的巨大潛力);軟件產(chǎn)品的質(zhì)量差(軟件可靠性和質(zhì)量保證的定量概念剛剛出現(xiàn)不久,軟件質(zhì)量保證技術(shù)(審查、復(fù)審、測試)沒有貫穿到軟件開發(fā)的全部過程中);對軟件開發(fā)成本和進度的估計常常不準(zhǔn)確(實際成本比估計成本可能高,實際進度比預(yù)期進度推遲,會降低開發(fā)者信譽級別,

2、趕進度也可能降低質(zhì)量);軟件的可維護性差(程序中很多錯誤是難免的,這些程序有時不能適應(yīng)硬件環(huán)境的改變,也不能根據(jù)需要增加新功能,軟件的不可重用性,造成了重復(fù)開發(fā)功能類似的軟件);軟件文檔資料通常既不完整也不合格(計算機軟件不應(yīng)僅有程序,還應(yīng)包括一整套文檔資料);軟件的價格昂貴(軟件成本在計算機系統(tǒng)的總成本中所占的比例逐年上升,硬件成本下降,軟件開發(fā)需要大量人力)。3、軟件危機主要原因:忽視軟件開發(fā)前期的需求分析;開發(fā)過程缺乏統(tǒng)一的、規(guī)范化的方法論的指導(dǎo);文檔資料不齊全或不準(zhǔn)確;忽視與用戶之間、開發(fā)組員之間的交流;忽視測試的重要性;不重視維護或由于上述原因造成維護工作的困難。書本:軟件不同于硬件

3、,它是計算機系統(tǒng)中的邏輯部件而不是物理部件,缺乏可見性,且規(guī)模龐大;目前相當(dāng)多的軟件從業(yè)人員對軟件的開發(fā)維護還有不少錯誤的觀念,在實踐過程中沒有采用工程化的方法,這是產(chǎn)生危機的主要原因;開發(fā)和管理人員只重視開發(fā)而輕視問題的定義,使軟件產(chǎn)品無法滿足用戶的需要;軟件管理技術(shù)不能滿足現(xiàn)代軟件開發(fā)的需要,沒有統(tǒng)一的軟件質(zhì)量管理規(guī)范;在軟件開發(fā)和維護關(guān)系問題上存在錯誤的概念,應(yīng)該把軟件維護的概念引入到然間開發(fā)的各個階段,有利于日后的維護工作,降低成本。4、軟件工程三個要素:過程、方法和工具5、軟件工程定義:用科學(xué)知識和技術(shù)原理來定義、開發(fā)、維護軟件的一門工程學(xué)科,也是一門涉及計算機科學(xué)、工程科學(xué)、管理科

4、學(xué)、數(shù)學(xué)領(lǐng)域的綜合性交叉學(xué)科。軟件工程著眼于如何建造一個軟件系統(tǒng)。軟件工程要用工程科學(xué)中的技術(shù)來進行成本估算、進度安排以及制定計劃和方案;利用管理科學(xué)中的方法、原理來實現(xiàn)軟件生產(chǎn)的管理;用數(shù)學(xué)的方法建立軟件開發(fā)中的各種模型和算法,如可靠性模型、說明用戶要求的形式化模型等。 6、軟件工程的目標(biāo):付出較低的開發(fā)成本;達到要求的軟件功能,取得較好的軟件性能;開發(fā)軟件質(zhì)量指標(biāo)高;需要較低的維護費用;能按時完成開發(fā)工作,及時交付使用。7、軟件工程的研究內(nèi)容:軟件開發(fā)模型(如瀑布模型、增量模型、迭代模型等) 軟件開發(fā)方法(如面向過程方法、面向數(shù)據(jù)方法、面向?qū)ο蠓椒ǖ龋?軟件支持過程(如CASE工具ROSE

5、、北大青鳥系統(tǒng)、Power Designer 等) 軟件管理過程(如IS09000、CMM(軟件能力成熟度模型)、軟件企業(yè)文化等)8、軟件工程基本原理:用分階段的生命周期計劃嚴格管理(在軟件開發(fā)與維護的漫長生存周期中,需要完成許多性質(zhì)各異的工作,應(yīng)該把軟件生存周期劃分為若干個階段,并相應(yīng)制定出切實可行的計劃,嚴格按照計劃對軟件的開發(fā)與維護工作進行管理。嚴格執(zhí)行6類計劃:概要計劃、里程碑計劃、項目控制計劃、產(chǎn)品控制計劃、驗證計劃、運行維護計劃。不能受客戶或上級影響而擅自背離計劃);堅持進行階段評審(大部分錯誤是在編碼之前造成的;錯誤發(fā)現(xiàn)與改正得越晚,所付出的代價也越高);實行嚴格的產(chǎn)品控制(在軟

6、件開發(fā)中不應(yīng)隨意改變需求,但是必要時可以,必須實行嚴格的產(chǎn)品控制,其中主要是實行基準(zhǔn)配置管理,又稱為變動控制:一切有關(guān)修改軟件的建議,特別是涉及對基準(zhǔn)配置的修改建議,都必須按照嚴格的規(guī)程進行評審,獲得批準(zhǔn)后才能實施修改);采用現(xiàn)代程序設(shè)計技術(shù)(近年來面向?qū)ο蠹夹g(shù)已經(jīng)在許多領(lǐng)域中迅速取代了傳統(tǒng)的結(jié)構(gòu)設(shè)計技術(shù),實踐表明,采用先進的技術(shù)不僅可以提高軟件開發(fā)和維護的效率,而且可以提高軟件產(chǎn)品的質(zhì)量);結(jié)果應(yīng)能清楚地審查(為了提高軟件開發(fā)過程的可見性,更好地進行管理,應(yīng)該根據(jù)軟件開發(fā)項目的總目標(biāo)及完成期限規(guī)定開發(fā)組織的責(zé)任和產(chǎn)品標(biāo)準(zhǔn),從而使得所得到的結(jié)果能夠清楚地審查);開發(fā)小組人員應(yīng)少而精(開發(fā)小組成

7、員素質(zhì)應(yīng)該高,而人數(shù)則不宜過多);承認不斷改進軟件工程實踐的必要性(不僅要積極主動地采納新技術(shù),而且要注意不斷總結(jié)經(jīng)驗。第二章 軟件開發(fā)模型1、軟件生存周期:一個軟件產(chǎn)品從定義、開發(fā)、維護到廢棄的時間總和稱為軟件的生存周期。軟件生存周期分為可行性研究與計劃,需求分析,概要設(shè)計,詳細設(shè)計,實現(xiàn),綜合測試,確認測試,使用與維護。2、軟件生存周期的基本任務(wù):可行性研究和項目開發(fā)計劃(回答“要解決的問題是什么,該問題有行得通的解決辦法嗎,若有解決問題的辦法,則需要多少費用資源時間等”,結(jié)束標(biāo)志是提出關(guān)于問題性質(zhì)、工程目標(biāo)和規(guī)模的問題定義書面報告,提出可行性研究報告,若問題值得解決,制定項目開發(fā)計劃);

8、需求分析(回答“為了解決這個問題,目標(biāo)系統(tǒng)必須做什么”,確定目標(biāo)系統(tǒng)的功能,結(jié)束標(biāo)準(zhǔn)是給出軟件需求規(guī)格說明書);概要設(shè)計(回答“概括地說應(yīng)如何解決這個問題”,把確定的各項功能需求轉(zhuǎn)換程序要的體系結(jié)構(gòu),設(shè)計軟件的結(jié)構(gòu),確定程序的模塊組成及模塊間關(guān)系,同時設(shè)計該項目的總體數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫結(jié)構(gòu),結(jié)束標(biāo)準(zhǔn)是給出概要設(shè)計文檔);詳細設(shè)計(為每個模塊完成的功能進行具體描述,把功能描述轉(zhuǎn)變?yōu)榫_的結(jié)構(gòu)化的過程描述,結(jié)束標(biāo)準(zhǔn)是設(shè)計出程序的詳細規(guī)格說明);編碼(把每個模塊的控制結(jié)構(gòu)轉(zhuǎn)換成計算機可接受的程序代碼,結(jié)束標(biāo)準(zhǔn)是某種程序設(shè)計語言表示的原程序清單);測試(在設(shè)計測試用例的基礎(chǔ)上檢驗軟件的各個組成部分是否達

9、到預(yù)定要求,結(jié)束標(biāo)準(zhǔn)是軟件合格交付用戶使用);軟件維護(通過各種必要的維護活動是系統(tǒng)持久的滿足用戶需要)3、結(jié)構(gòu)化開發(fā)方法:是一種面向數(shù)據(jù)流的開發(fā)方法,它的基本原則是功能的分解與抽象。結(jié)構(gòu)化方法提出了一組提高軟件結(jié)構(gòu)合理性的準(zhǔn)則,如分解和抽象、模塊的獨立性、信息隱蔽等??偟闹笇?dǎo)思想:自頂向下,逐步求精。第三章 需求分析1、需求分析的原則:能夠表達和理解問題的數(shù)據(jù)域和功能域(所有軟件開發(fā)的最終目的都是為了解決數(shù)據(jù)處理的問題,需求分析階段必須明確系統(tǒng)中應(yīng)具備的每一個加工、加工處理對象和由加工所引起的數(shù)據(jù)形式的變化);能夠?qū)?fù)雜問題分解簡化(為了便于問題的解決和實現(xiàn),需要隊員被復(fù)雜的問題按照某種方式

10、進行分解(功能域或數(shù)據(jù)域,橫向或縱向),是系統(tǒng)的理解和實現(xiàn)變得較為容易);能夠給出系統(tǒng)的邏輯表示和物理表示(邏輯表示用于指明系統(tǒng)所要達到的功能要求和需要處理的數(shù)據(jù),不涉及實現(xiàn)的細節(jié),物理表示用于指明處理功能和數(shù)據(jù)結(jié)構(gòu)的實際表現(xiàn)形式,通常由系統(tǒng)中的設(shè)備決定,給出這對于滿足系統(tǒng)處理需求所提出的邏輯限制條件和系統(tǒng)中其他成分提出的物理限制是必不可少的)。2、需求分析的任務(wù):確定對系統(tǒng)的綜合需求(系統(tǒng)功能需求,系統(tǒng)性能需求,環(huán)境的需求,將來可能提出的需求);分析系統(tǒng)的數(shù)據(jù)要求;導(dǎo)出系統(tǒng)的邏輯模型(通常用數(shù)據(jù)流圖、數(shù)據(jù)字典和主要的處理算法描述);編寫文檔。3、需求開發(fā)過程:需求的獲?。ㄓ脩裘嬲?;需求專題討

11、論會;問卷調(diào)查;現(xiàn)場觀察;原型化方法(原型是所提出的新產(chǎn)品的部分實現(xiàn),建立原型可以解決在產(chǎn)品開發(fā)的早期階段需求不確定的問題);基于用例的方法(用例建模);需求分析(定義系統(tǒng)的邊界;分析需求可行性;確定需求優(yōu)先級;建立需求分析模型;創(chuàng)建數(shù)據(jù)詞典);編寫需求規(guī)格說明書(需求分析階段的最后一步工作是將對系統(tǒng)分析的結(jié)果用標(biāo)準(zhǔn)化的文檔,即軟件需求規(guī)格說明書的形式清晰地描述出來,以此作為審查需求分析階段工作完成情況的依據(jù)和設(shè)計階段開展工作的基礎(chǔ)。需求規(guī)格說明書是系統(tǒng)所有相關(guān)人員,包括用戶和開發(fā)人員對軟件系統(tǒng)共同理解和認識的表達形式,是需求分析階段最重要的技術(shù)文檔。需求規(guī)格說明書主要內(nèi)容:引言、項目概述、具

12、體需求);需求驗證(驗證需求的一致性;驗證需求的完整性;驗證需求的正確性;驗證需求的無二義性;驗證需求的可驗證性;驗證需求的可修改性;驗證需求的可跟蹤性)4、需求管理第四章 結(jié)構(gòu)化分析與結(jié)構(gòu)化設(shè)計基礎(chǔ)1、數(shù)據(jù)流圖2、結(jié)構(gòu)化設(shè)計(結(jié)構(gòu)化設(shè)計是一種典型的面向數(shù)據(jù)流的軟件總體設(shè)計方法,它采用自頂向下逐步求精的設(shè)計方法和單入口單出口的控制結(jié)構(gòu),并且只包含順序選擇重復(fù)三種結(jié)構(gòu))總體設(shè)計目標(biāo):綜合采用各種技術(shù)手段,將系統(tǒng)需求轉(zhuǎn)換為模塊結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)(或?qū)ο?類結(jié)構(gòu))的表達式,并實現(xiàn)系統(tǒng)的性能、安全性、可靠性要求。結(jié)果:設(shè)計文檔3、模塊獨立性的定性標(biāo)準(zhǔn):耦合性和內(nèi)聚性。耦合也稱塊間關(guān)系,是對一個軟件結(jié)構(gòu)內(nèi)不

13、同模塊間相互聯(lián)系緊密程度的度量,耦合性越強,模塊獨立性越差,追求盡可能松散的耦合系統(tǒng),耦合強度取決于模塊間即可的復(fù)雜程度、調(diào)用方式及傳遞的信息;內(nèi)聚也稱為塊內(nèi)聯(lián)系,是模塊功能強度的度量,即一個模塊內(nèi)部各元素彼此結(jié)合緊密程度的度量。內(nèi)聚性越高,模塊獨立性越好,追求緊密的內(nèi)聚。耦合性由低到高:無直接耦合 數(shù)據(jù)耦合(傳遞數(shù)據(jù)值) 標(biāo)記耦合(傳遞數(shù)據(jù)結(jié)構(gòu)) 控制耦合(傳遞控制信息) 公共耦合(通過一個公共數(shù)據(jù)環(huán)境相互作用) 內(nèi)容耦合(直接使用內(nèi)部數(shù)據(jù)或通過非正常入口轉(zhuǎn)入另一個模塊內(nèi)部)內(nèi)聚性由低到高:偶然內(nèi)聚 邏輯內(nèi)聚 時間內(nèi)聚 通信內(nèi)聚 順序內(nèi)聚 功能內(nèi)聚 第五章 構(gòu)件級設(shè)計與實現(xiàn)1、詳細設(shè)計的主要

14、任務(wù):為每個模塊確定采用的算法(根據(jù)概要設(shè)計階段所建立的軟件結(jié)構(gòu),選擇某種適當(dāng)?shù)墓ぞ弑磉_算法的過程,寫出模塊的詳細過程性描述);確定每一模塊的內(nèi)部數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫的物理結(jié)構(gòu)為系統(tǒng)中所有模塊確定并構(gòu)造算法實現(xiàn)所需的內(nèi)部數(shù)據(jù)結(jié)構(gòu);根據(jù)前一階段確定是數(shù)據(jù)庫的邏輯結(jié)構(gòu),對數(shù)據(jù)庫的存儲結(jié)構(gòu)存取方法等物理結(jié)構(gòu)進行設(shè)計);確定模塊接口的細節(jié)按照模塊功能的要求,確定模塊接口的詳細信息,包括模塊之間的接口信息、模塊與外部的接口及用戶界面等);要為每一個模塊設(shè)計出一組測試用例(測試用例是軟件測試計劃的重要組成部分,負責(zé)詳細設(shè)計的軟件人員對模塊情況了解的最清楚);編寫文檔,參加復(fù)審(詳細設(shè)計階段的成果主要以詳細設(shè)計

15、說明書的形式保留下來,通過復(fù)審對其進行改進和完善后作為編碼階段進行程序設(shè)計的主要依據(jù))。原則:采用自頂向下,逐步求精的程序設(shè)計方法;使用3種基本控制結(jié)構(gòu)構(gòu)造程序(反對濫用GOTO語句,由順序選擇循環(huán)三種基本控制結(jié)構(gòu),單入口單出口);選擇恰當(dāng)?shù)拿枋龉ぞ呙枋瞿K的算法。第六章 面向?qū)ο蠓椒癠ML建模語言1、面向?qū)ο蟮幕靖拍睿簩ο螅菏窍到y(tǒng)中描述客觀事物的一個實體,它是構(gòu)成系統(tǒng)的一個基本單位,由一組屬性和對這組屬性進行操作的一組服務(wù)組成。屬性是用來描述對象靜態(tài)特征的一個數(shù)據(jù)項。服務(wù)是用來描述對象動態(tài)特征的一個操作序列。對象是屬性和服務(wù)的結(jié)合體。類:是具有相同屬性和服務(wù)的一組對象的集合,它為屬于該類

16、的全部對象提供了統(tǒng)一的抽象描述,其內(nèi)部包括屬性和服務(wù)兩個主要部分。類代表一個抽象的概念或事物,對象是在客觀世界中實際存在的類的實例。消息:是對象發(fā)出的服務(wù)請求,一般包含提供服務(wù)的對象標(biāo)識、服務(wù)標(biāo)識、輸入和應(yīng)答等信息。一個對象向另一個對象發(fā)出消息請求某項服務(wù),接收消息的對象響應(yīng)該消息,激發(fā)所要求的服務(wù)操作,并將操作結(jié)果返回給請求服務(wù)的對象。封裝性:是把對象的屬性和服務(wù)結(jié)合成一個獨立的系統(tǒng)單位。封裝是一種信息隱蔽技術(shù),用戶只能見到對象封裝界面上的信息,對象內(nèi)部對用戶是隱蔽的。也就是說,用戶只知道某對象是“做什么”的,而不知道“怎么做”。封裝將外部接口與內(nèi)部實現(xiàn)分離開來,用戶不必知道行為實現(xiàn)的細節(jié),

17、只須用消息來訪問該對象。封裝體現(xiàn)了良好的模塊性,他將定義模塊和實現(xiàn)模塊分開。封裝使對象的內(nèi)部軟件的范圍邊界清楚,有一個描述該對象和其他的對象之間通信的接口;使模塊內(nèi)部的數(shù)據(jù)受到很好的保護,避免外部的干擾。封裝大大增強了軟的可維護性。繼承性:繼承是指子類可以自動擁有父類的全部屬性和服務(wù)。當(dāng)類A不但具有類B的屬性,而且還具有自己的獨特屬性時,稱類A繼承了類B,繼承關(guān)系常稱為“即是”關(guān)系。繼承分為單重繼承和多重繼承兩種。在類的層次結(jié)構(gòu)中,一個類可以有多個子類,也可以有多個超類。如果一個類至多只能有一個超類,則一個類至多只能直接繼承一個類,這種繼承方式稱為單重繼承(樹狀結(jié)構(gòu))。如果一個類可以直接繼承多

18、個類,這種方式稱為多重繼承(網(wǎng)狀結(jié)構(gòu))。多態(tài)性:多態(tài)性是指相同的操作或函數(shù)、過程作用于多種類型的對象上并獲得不同結(jié)果。不同的對象收到同一消息產(chǎn)生完全不同的結(jié)果,這種現(xiàn)象稱為多態(tài)性。多態(tài)性機制不僅增加了面向?qū)ο筌浖到y(tǒng)的靈活性、可理解性和可維護性,進一步減少了信息冗余,而且顯著提高了軟件的可重用性和可擴充性。2、面向?qū)ο蠓椒ㄊ褂玫?類圖:用例圖:用于表示系統(tǒng)的功能,并指出各種功能的操作。靜態(tài)圖:包括類圖、對象圖及包圖,表示系統(tǒng)的靜態(tài)結(jié)構(gòu)。行為圖:包括狀態(tài)圖和活動圖,用于描述系統(tǒng)的動態(tài)行為和對象之間的交互關(guān)系。交互圖:包括順序圖和合作圖,用于描述系統(tǒng)的對象之間動態(tài)合作關(guān)系。實現(xiàn)圖:包括構(gòu)件圖和配置

19、圖,用于描述系統(tǒng)的物理實現(xiàn)。第七章 面向?qū)ο蠓治?、面向?qū)ο蠓治龅?個模型與5個層次:3個模型:對象模型、動態(tài)模型、功能模型。5個層次:主題層、類-&-對象層、結(jié)構(gòu)層、屬性層、服務(wù)層。2、建立動態(tài)模型:對于一個系統(tǒng)來說,功能模型指明了系統(tǒng)應(yīng)該“做什么”,而動態(tài)模型則明確規(guī)定了“什么時候做”。即在何種狀態(tài)下、接受了什么時間的觸發(fā),來確定對象的可能事件順序。步驟:編寫典型交互行為的腳本(不必包含每個偶然事件,但必須保證不遺漏常見的交互行為);從腳本中提取事件,確定其動作對象和接受事件的目標(biāo)對象;排列事件發(fā)生的順序,確定每個對象可能有的狀態(tài)和狀態(tài)間的轉(zhuǎn)換關(guān)系,并用狀態(tài)圖描繪;比較各個不同對象

20、的狀態(tài)圖,檢查對象之間的一致性,確保事件之間的匹配。3、基本系統(tǒng)模型圖第八章 面向?qū)ο蟮脑O(shè)計1、面向?qū)ο蟮脑O(shè)計準(zhǔn)則:模塊化(在面向?qū)ο蟮拈_發(fā)方法中,對象被定義為模塊。對象把數(shù)據(jù)結(jié)構(gòu)和作用在數(shù)據(jù)上的操作封裝起來構(gòu)成模塊。對象是組成系統(tǒng)的基本模塊)、抽象(面向?qū)ο蠓椒ㄖ瞥蛇^程抽象、數(shù)據(jù)抽象,類是一種抽象數(shù)據(jù)類型,在其上可以創(chuàng)建對象(類的成員)、信息隱藏(對象是屬性和服務(wù)的封裝體,實現(xiàn)了信息隱藏,用戶只能通過公共接口訪問類中的屬性)、弱耦合、強內(nèi)聚(服務(wù)內(nèi)聚、類內(nèi)聚、一般-特殊內(nèi)聚)、可重用(軟件重用是提高軟件開發(fā)生產(chǎn)率和系統(tǒng)質(zhì)量的重要途徑。重用兩方面含義:盡量使用已有的類;如果需要創(chuàng)建新類,則在設(shè)

21、計這些新類的時候盡可能考慮將來的重用。類的設(shè)計應(yīng)具有通用性,為開發(fā)相似的系統(tǒng)提供軟件可重用)。2、面向?qū)ο笤O(shè)計的5個層次4個部分:5個層次:主題、類-&-對象、結(jié)構(gòu)、屬性、服務(wù);4個部分:問題域(PDC)人機交互(HIC)任務(wù)管理(TMC)數(shù)據(jù)管理(DMC)第九章 軟件測試1、軟件測試的原則:盡早地和不斷地進行軟件測試(實際問題的復(fù)雜性、軟件本身的復(fù)雜性與抽象性、開發(fā)期各層人員工作配合關(guān)系等因素是軟件開發(fā)各階段都可能存在錯誤及潛在缺陷,軟件缺陷存在放大效應(yīng),錯誤發(fā)現(xiàn)越早,后階段耗費越少,軟件質(zhì)量相對高);程序員小組應(yīng)當(dāng)避免測試自己編制的程序;測試用例的設(shè)計不僅要有合法的輸入數(shù)據(jù),還要有

22、非法的輸入數(shù)據(jù);測試用例中應(yīng)由輸入數(shù)據(jù)和與之對應(yīng)的預(yù)期結(jié)果這兩個部分組成;在對程序修改之后要進行回歸測試(修改程序的同時可能引進新錯誤);充分注意測試中的群集現(xiàn)象(一段程序發(fā)現(xiàn)錯誤數(shù)目越多,則殘存錯誤數(shù)目也較多);嚴格執(zhí)行測試計劃,排除測試的隨意性(測試計劃應(yīng)包括:所測試軟件的功能、輸入和輸出、測試內(nèi)容、各項測試進度安排、資源要求、測試資料、測試工具、測試用例的選擇、測試控制方式和過程、系統(tǒng)組裝方式、跟蹤規(guī)程、調(diào)試規(guī)程、回歸測試規(guī)定、評價標(biāo)準(zhǔn));應(yīng)當(dāng)對每一個測試結(jié)果做全面檢查;妥善保存一切測試過程文檔,為維護提供方便(測試文檔包括:測試計劃、全部測試用例、出錯統(tǒng)計、最終分析報告,這樣能為后期維

23、護工作帶來方便)。2、軟件測試方法和類型:軟件測試技術(shù)分為靜態(tài)分析技術(shù)與動態(tài)測試技術(shù)兩種。動態(tài)測試分為黑盒測試法和白盒測試法。白盒測試法分為邏輯覆蓋方法和程序路徑的覆蓋程度分析方法;黑盒測試法分為等價分類法(劃分等價類、確立測試用例)、邊界值分析法、因果圖。3、大型軟件系統(tǒng)的測試4個基本步驟:單元測試、集成測試、確認測試和系統(tǒng)測試。4、集成測試自頂向下方法:自頂向下集成法是一個模塊一個模塊地組裝軟件的方法。按照控制結(jié)構(gòu),從主控模塊(主模塊)開始,向下逐個地把模塊連接起來。集成的方式有兩種:深度優(yōu)先組裝法及寬度優(yōu)先組裝法。深度優(yōu)先法是先把結(jié)構(gòu)中的一條主要的控制路徑上的全部模塊逐步組裝起來,然后再連接其他控制路徑。寬度優(yōu)先法是從結(jié)構(gòu)的頂層開始逐層往下組裝。過程步驟:主控模塊用作測試驅(qū)動器(直接附屬于主控模塊的各模塊都用樁模塊代替);按照所選的組裝發(fā),每次用一個真模塊取代一個附屬的樁模塊;當(dāng)裝入每個模塊式都要進行測試;完成每一組測試后再用一個真模塊替代另一個樁模塊;可以進行回復(fù)測試(即重新進行已經(jīng)做過的全部或部分測試),以便肯定沒有新的錯誤發(fā)生。第十章 軟件維護1、軟件維護產(chǎn)生的原因:改正在特定使用條件下暴露出來的一些潛在的程序錯誤和設(shè)計缺陷;由于軟件使用過程中數(shù)據(jù)環(huán)境發(fā)生變化(如一個事務(wù)處理代碼發(fā)生改變)或處理環(huán)境發(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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論