版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1什么是軟件危機(jī)?主要表現(xiàn)在哪些方面?軟件開發(fā)技術(shù)的進(jìn)步未能滿足發(fā)展的要求。在軟件開發(fā)中遇到的問(wèn)題找不到解決的辦法,問(wèn)題積累起來(lái),形態(tài)尖銳的矛盾,導(dǎo)致了軟件危機(jī)。表現(xiàn)方面: (1) 用戶對(duì)開發(fā)出的軟件很難滿意。(2) 軟件產(chǎn)品的質(zhì)量往往靠不住。 (3) 一般軟件很難維護(hù)。 (4) 軟件生產(chǎn)效率很低。 (5) 軟件開發(fā)成本越來(lái)越大。 (6) 軟件成本與開發(fā)進(jìn)度難以估計(jì)。(7)軟件技術(shù)的發(fā)展遠(yuǎn)遠(yuǎn)滿足不了計(jì)算機(jī)應(yīng)用的普及與深入的需要。4什么是軟件工程?它目標(biāo)和內(nèi)容是什么?軟件工程:就是用科學(xué)的知識(shí)工程和技術(shù)原理來(lái)定義,開發(fā),維護(hù)軟件的一門學(xué)科。軟件工程的目標(biāo):付出較低開發(fā)成本;達(dá)到要求的功能;取得較
2、好的性能;開發(fā)的軟件易于移植;只需較低的維護(hù)費(fèi)用;能按時(shí)完成開發(fā)任務(wù),及時(shí)交付使用;開發(fā)的軟件可靠性高。軟件工程的內(nèi)容:研究?jī)?nèi)容包括開發(fā)技術(shù)和開發(fā)管理兩個(gè)方面。開發(fā)技術(shù)主要研究:軟件開發(fā)方法,開發(fā)過(guò)程,開發(fā)工具和環(huán)境。開發(fā)管理主要研究:軟件管理學(xué),軟件經(jīng)濟(jì)學(xué),軟件心理學(xué)。5軟件工程面臨的問(wèn)題是什么?軟件工程需要解決的問(wèn)題:軟件的費(fèi)用,可靠性,可維護(hù)性,軟件生產(chǎn)率和軟件的重用。6什么是軟件生存周期?它有哪幾個(gè)活動(dòng)?軟件生存周期:一個(gè)軟件從提出開發(fā)要求開始直到該軟件報(bào)廢為止的整個(gè)時(shí)期。包括:可行性分析和項(xiàng)目開發(fā)計(jì)劃,需求分析,概要設(shè)計(jì),詳細(xì)設(shè)計(jì),編碼,測(cè)試,維護(hù)。7什么是軟件生存周期模型?有哪些主
3、要模型?生存周期模型:描述軟件開發(fā)過(guò)程中各種活動(dòng)如何執(zhí)行的模型。對(duì)軟件開發(fā)提供強(qiáng)有力的支持,為開發(fā)過(guò)程中的活動(dòng)提供統(tǒng)一的政策保證,為參與開發(fā)的人員提供幫助和指導(dǎo),是軟件生存周期模型化技術(shù)的基礎(chǔ),也是建立軟件開發(fā)環(huán)境的核心。主要有:瀑布模型,增量模型,螺旋模型,噴泉模型,基于知識(shí)的模型,變換模型。10、什么是軟件過(guò)程?為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。在完成開發(fā)任務(wù)時(shí)必須進(jìn)行一些開發(fā)活動(dòng),并且使用適當(dāng)?shù)馁Y源,在過(guò)程結(jié)束時(shí)將把輸入轉(zhuǎn)化為輸出。11、瀑布模型的特點(diǎn)及優(yōu)點(diǎn)?特點(diǎn): (1)各個(gè)階段的順序性和依賴性; (2)劃分邏輯設(shè)計(jì)與物理設(shè)計(jì),盡可能推遲程序
4、的物理實(shí)現(xiàn); (3)每個(gè)階段必須完成規(guī)定的文檔,對(duì)其中問(wèn)題通過(guò)復(fù)審及早發(fā)現(xiàn),及早解決。優(yōu)點(diǎn): 可強(qiáng)迫開發(fā)人員采用規(guī)范的方法(例如,結(jié)構(gòu)化技術(shù)); 嚴(yán)格地規(guī)定了每個(gè)階段必須提交的文檔; 要求每個(gè)階段交出的所有產(chǎn)品都必須經(jīng)過(guò)質(zhì)量保證小組的仔細(xì)驗(yàn)證。12、螺旋模型的優(yōu)點(diǎn)? 對(duì)可選方案和約束條件的強(qiáng)調(diào)有利于已有軟件的重用,也有助于把軟件質(zhì)量作為軟件開發(fā)的一個(gè)重要目標(biāo); 減少了過(guò)多測(cè)試(浪費(fèi)資金)或測(cè)試不足(產(chǎn)品故障多)所帶來(lái)的風(fēng)險(xiǎn); 在螺旋模型中維護(hù)只是模型的另一個(gè)周期,在維護(hù)和開發(fā)之間并沒有本質(zhì)區(qū)別。螺旋模型主要適用于內(nèi)部開發(fā)的大規(guī)模軟件項(xiàng)目。項(xiàng)目越大,風(fēng)險(xiǎn)也越大,因此,進(jìn)行風(fēng)險(xiǎn)分析的必要性也越大。
5、此外,只有內(nèi)部開發(fā)的項(xiàng)目,才能在風(fēng)險(xiǎn)過(guò)大時(shí)方便地中止項(xiàng)目。13、快速原型的分類、特點(diǎn)及使用策略?分類:探索型、實(shí)驗(yàn)型、進(jìn)化型 特點(diǎn):盡快向用戶提供一個(gè)可在計(jì)算機(jī)上運(yùn)行的目標(biāo)系統(tǒng)的模型,以便使用戶和開發(fā)者在目標(biāo)系統(tǒng)應(yīng)該“做什么”這個(gè)問(wèn)題上盡可能快地達(dá)成共識(shí)。 快速原型應(yīng)該具備的第一個(gè)特點(diǎn)是“快速”; 快速原型應(yīng)該具備的第二個(gè)特點(diǎn)是“容易修改”。原型的“修改試用反饋”過(guò)程可能重復(fù)多遍。使用策略:廢棄策略和追加策略。14、軟件工程的目標(biāo)?付出較低開發(fā)成本;達(dá)到要求的功能;取得較好的性能;開發(fā)的軟件易于移植;只需較低的維護(hù)費(fèi)用;能按時(shí)完成開發(fā)任務(wù),及時(shí)交付使用;開發(fā)的軟件可靠性高。17、快速原型開發(fā)的
6、步驟?快速開發(fā)、需求、構(gòu)造原形、原形、運(yùn)行原形、評(píng)價(jià)原形、修改意見。1、可行性研究的任務(wù)是什么?可行研究的任務(wù):首先需要進(jìn)行概要的分析研究,初步確定項(xiàng)目的規(guī)模,目標(biāo),約束和限制。分析員再進(jìn)行簡(jiǎn)要的需求分析,抽象出項(xiàng)目的邏輯結(jié)構(gòu),建立邏輯模型。從邏輯模型出發(fā),經(jīng)過(guò)壓縮的設(shè)計(jì),探索出若干種可供選擇的解決方法,對(duì)每種解決方法都要研究它的可行性。主要從四個(gè)方面考慮:.技術(shù)可行性:.經(jīng)濟(jì)可行性:.法律可行性:(4).管理可行性:2、可行性研究有哪些步驟?.確定項(xiàng)目規(guī)模和目標(biāo);.研究正在運(yùn)行的系統(tǒng);.建立新系統(tǒng)的高層邏輯模型;.導(dǎo)出和評(píng)價(jià)各種方案;.推薦可行方案;.編寫可行性研究報(bào)告;3、可行性研究過(guò)程包
7、括哪些?1. 復(fù)查系統(tǒng)規(guī)模和目標(biāo)2. 研究目前正在使用的系統(tǒng)3. 導(dǎo)出新系統(tǒng)的高層邏輯模型4. 進(jìn)一步定義問(wèn)題5. 導(dǎo)出和評(píng)價(jià)供選擇的解法6. 推薦行動(dòng)方針7. 草擬開發(fā)計(jì)劃8. 書寫文檔提交審查4、什么是數(shù)據(jù)流圖?其作用是什么?數(shù)據(jù)流圖(DFD):以圖形的方式描述數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的邏輯過(guò)程。只反映系統(tǒng)必須完成的邏輯功能,是一種功能模型。5、什么是數(shù)據(jù)字典?其作用是什么?共有哪些條目? 數(shù)據(jù)字典(DD)用來(lái)定義數(shù)據(jù)庫(kù)流圖中的各個(gè)成分的具體含義。有以下四類條目:數(shù)據(jù)流,數(shù)據(jù)項(xiàng),數(shù)據(jù)存儲(chǔ),基本加工。10、系統(tǒng)流程圖是概括地描繪物理系統(tǒng)的傳統(tǒng)工具,表達(dá)的是數(shù)據(jù)在系統(tǒng)各部件之間流動(dòng)的情況,11、
8、原型化方法主要用于解決什么問(wèn)題?試說(shuō)明這種方法的主要優(yōu)缺點(diǎn)。原型化方法主要用于解決在產(chǎn)品開發(fā)的早期階段需求不確定的問(wèn)題,用戶、經(jīng)理和其他非技術(shù)項(xiàng)目風(fēng)險(xiǎn)承擔(dān)者發(fā)現(xiàn)在確定和開發(fā)產(chǎn)品時(shí),原型可以使他們的想象更具體化。 這種方法的主要優(yōu)點(diǎn)如下:(1) 明確并完善需求 原型作為一種需求工具,它初步實(shí)現(xiàn)所理解的系統(tǒng)的一部分,用戶對(duì)原型的評(píng)價(jià)可以指出需求中的許多問(wèn)題。(2) 探索設(shè)計(jì)選擇方案 原型作為一種設(shè)計(jì)工具,可以探索不同的用戶界面技術(shù),使系統(tǒng)達(dá)到最佳的可用性,并且可以評(píng)價(jià)可能的技術(shù)方案。(3) 發(fā)展為最終的產(chǎn)品 原型作為一種構(gòu)造工具,是產(chǎn)品最初子集的完整功能實(shí)現(xiàn),通過(guò)一系列小規(guī)模的開發(fā)循環(huán),你可以完成
9、整個(gè)產(chǎn)品的開發(fā)。(4) 這種方法的主要缺點(diǎn)包括:(1) 用戶看到一個(gè)正在運(yùn)行的原型便以為產(chǎn)品即將完成,他們會(huì)要求不再進(jìn)行產(chǎn)品重建,而只是對(duì)原型進(jìn)行一些修改就交付。由于原型沒有考慮軟件的總體質(zhì)量和可維護(hù)性,交付原型往往造成欲速則不達(dá)的情況。(2) 開發(fā)人員為了快速構(gòu)造原型,可能會(huì)采用不合適的操作系統(tǒng)或程序設(shè)計(jì)語(yǔ)言,也可能使用一些效率低的算法。在一段時(shí)間的開發(fā)之后,他們往往已經(jīng)習(xí)慣了這些選擇,于是便在系統(tǒng)中參雜了這些不理想的選擇。 1、什么是需求分析?需求分析階段的基本任務(wù)是什么? 需求分析:開發(fā)人員準(zhǔn)確地理解用戶的要求,進(jìn)行細(xì)致的調(diào)查分析,將用戶非形式的需求陳述轉(zhuǎn)化為完整的需求定義,再由需求定義
10、轉(zhuǎn)換到相應(yīng)的需求規(guī)格說(shuō)明的過(guò)程。 基本任務(wù): 問(wèn)題識(shí)別:雙方確定對(duì)問(wèn)題的綜合需求,這些需求包括功能需求,性能需求,環(huán)境需求,用戶界面需求。 分析與綜合,導(dǎo)出軟件的邏輯模型 。編寫文檔:包括編寫需求規(guī)格說(shuō)明書,初步用戶使用手冊(cè),確認(rèn)測(cè)試計(jì)劃,修改完善軟件開發(fā)計(jì)劃 。2、什么是結(jié)構(gòu)分析方法?該方法使用什么描述工具? 結(jié)構(gòu)化分析:簡(jiǎn)稱SA,面向數(shù)據(jù)流進(jìn)行數(shù)據(jù)分析的方法。采用自頂向下逐層分解的分析策略。頂層抽象地描述整個(gè)系統(tǒng),底層具體地畫出系統(tǒng)工程的每個(gè)細(xì)節(jié)。中間層則是從抽象到具體的過(guò)渡。使用數(shù)據(jù)流圖,數(shù)據(jù)字典,作為描述工具,使用結(jié)構(gòu)化語(yǔ)言,判定表,判定樹描述加工邏輯。3、結(jié)構(gòu)化分析方法通過(guò)哪些步驟來(lái)
11、實(shí)現(xiàn)? 了解當(dāng)前系統(tǒng)的工作流程,獲得當(dāng)前系統(tǒng)的物理模型。 抽象出當(dāng)前系統(tǒng)的邏輯模型。 建立目標(biāo)系統(tǒng)的邏輯模型。 作進(jìn)一步補(bǔ)充和優(yōu)化。14、從哪些方面驗(yàn)證軟件需求的正確性(1) 一致性所有需求必須是一致的,任何一條需求不能和其他需求互相矛盾。(2) 完整性需求必須是完整的,規(guī)格說(shuō)明書應(yīng)該包括用戶需要的每一個(gè)功能或性能。(3) 現(xiàn)實(shí)性指定的需求應(yīng)該是用現(xiàn)有的硬件技術(shù)和軟件技術(shù)基本上可以實(shí)現(xiàn)的。對(duì)硬件技術(shù)的進(jìn)步可以做些預(yù)測(cè),對(duì)軟件技術(shù)的進(jìn)步則很難做出預(yù)測(cè),只能從現(xiàn)有技術(shù)水平出發(fā)判斷需求的現(xiàn)實(shí)性。(4) 有效性必須證明需求是正確有效的,確實(shí)能解決用戶面對(duì)的問(wèn)題。1、什么是總體設(shè)計(jì)?總體設(shè)計(jì)的任務(wù)是什么
12、?總體設(shè)計(jì)又稱為概要設(shè)計(jì)或初步設(shè)計(jì)。確定系統(tǒng)功能是實(shí)現(xiàn)。基本任務(wù)是:建立軟件系統(tǒng)結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫(kù)的設(shè)計(jì)、編寫概要設(shè)計(jì)文檔。2、總體設(shè)計(jì)分為哪兩個(gè)階段?系統(tǒng)設(shè)計(jì)階段,確定系統(tǒng)的具體實(shí)現(xiàn)方案;結(jié)構(gòu)設(shè)計(jì)階段,確定軟件結(jié)構(gòu)。3、總體設(shè)計(jì)過(guò)程包括幾個(gè)步驟?1. 設(shè)想供選擇的方案2. 選取合理的方案3. 推薦最佳方案4. 功能分解5. 設(shè)計(jì)軟件結(jié)構(gòu)6. 設(shè)計(jì)數(shù)據(jù)庫(kù)7. 制定測(cè)試計(jì)劃8. 書寫文檔9. 審查和復(fù)審4、模塊化是把程序劃分成獨(dú)立命名且可獨(dú)立訪問(wèn)的模塊,每個(gè)模塊完成一個(gè)子功能,把這些模塊集成起來(lái)構(gòu)成一個(gè)整體,可以完成指定的功能滿足用戶的需求。5、模塊化的優(yōu)點(diǎn) (1)模塊化使軟件容易測(cè)試和調(diào)試
13、,因而有助于提高軟件的可靠性。(2)模塊化也有助于軟件開發(fā)工程的組織管理。6、抽象就是抽出事物的本質(zhì)特性而暫時(shí)不考慮它們的細(xì)節(jié)。7、抽象化包括哪些?過(guò)程的抽象 、數(shù)據(jù)抽象。8、模塊的獨(dú)立程度的定性標(biāo)準(zhǔn)度量是什么?好的模塊應(yīng)滿足什么標(biāo)準(zhǔn)??jī)?nèi)聚和耦合;高內(nèi)聚低耦合。9、什么耦合?模塊間的耦合有哪些?指衡量不同模塊彼此間互相依賴(連接)的緊密程度;有非直接耦合、標(biāo)記耦合、數(shù)據(jù)耦合 、控制耦合 、外部耦合、公共耦合和內(nèi)容耦合 。10、非直接耦合如果兩個(gè)模塊之間沒有直接關(guān)系,它們之間的聯(lián)系完全是通過(guò)主模塊的控制和調(diào)用來(lái)實(shí)現(xiàn)的,這就是非直接耦合。這種耦合的模塊獨(dú)立性最強(qiáng)。11、標(biāo)記耦合如果一組模塊通過(guò)參數(shù)
14、表傳遞記錄信息,就是標(biāo)記耦合。這個(gè)記錄是某一數(shù)據(jù)結(jié)構(gòu)的子結(jié)構(gòu),而不是簡(jiǎn)單變量。12、數(shù)據(jù)耦合如果一個(gè)模塊訪問(wèn)另一個(gè)模塊時(shí),彼此之間是通過(guò)簡(jiǎn)單數(shù)據(jù)參數(shù) (不是控制參數(shù)、公共數(shù)據(jù)結(jié)構(gòu)或外部變量) 來(lái)交換輸入、輸出信息的,則稱這種耦合為數(shù)據(jù)耦合。13、控制耦合如果一個(gè)模塊通過(guò)傳送開關(guān)、標(biāo)志、名字等控制信息,明顯地控制選擇另一模塊的功能,就是控制耦合。14、外部耦合一組模塊都訪問(wèn)同一全局簡(jiǎn)單變量而不是同一全局?jǐn)?shù)據(jù)結(jié)構(gòu),而且不是通過(guò)參數(shù)表傳遞該全局變量的信息,則稱之為外部耦合。15、公共耦合 若一組模塊都訪問(wèn)同一個(gè)公共數(shù)據(jù)環(huán)境,則它們之間的耦合就稱為公共耦合。公共的數(shù)據(jù)環(huán)境可以是全局?jǐn)?shù)據(jù)結(jié)構(gòu)、共享的通信
15、區(qū)、內(nèi)存的公共覆蓋區(qū)等。16、內(nèi)容耦合如果發(fā)生下列情形,兩個(gè)模塊之間就發(fā)生了內(nèi)容耦合 (1) 一個(gè)模塊直接訪問(wèn)另一個(gè)模塊的內(nèi)部數(shù)據(jù); (2) 一個(gè)模塊不通過(guò)正常入口轉(zhuǎn)到另一模塊內(nèi)部;(3) 兩個(gè)模塊有一部分程序代碼重迭(只可能出現(xiàn)在匯編語(yǔ)言中);(4) 一個(gè)模塊有多個(gè)入口。17、內(nèi)聚 衡量一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度。功能內(nèi)聚 ,信息內(nèi)聚 ,通信內(nèi)聚 ,過(guò)程內(nèi)聚,時(shí)間內(nèi)聚,邏輯內(nèi)聚,巧合內(nèi)聚。19、功能內(nèi)聚 一個(gè)模塊中各個(gè)部分都是完成某一具體功能必不可少的組成部分,或者說(shuō)該模塊中所有部分都是為了完成一項(xiàng)具體功能而協(xié)同工作,緊密聯(lián)系,不可分割的。則稱該模塊為功能內(nèi)聚模塊。26、扇出是一
16、個(gè)模塊直接控制(調(diào)用)的模塊數(shù)目。27、扇入 一個(gè)模塊的扇入表明有多少個(gè)上級(jí)模塊直接調(diào)用它。31、逐步求精、分層過(guò)程與抽象等概念之間的相互關(guān)系如何?“自頂向下,逐步求精”是Niklaus Wirth提出的設(shè)計(jì)策略:即將軟件的體系結(jié)構(gòu)按自頂向下方式,對(duì)各個(gè)層次的過(guò)程細(xì)節(jié)和數(shù)據(jù)細(xì)節(jié)逐層細(xì)化,直到用程序設(shè)計(jì)語(yǔ)言的語(yǔ)句能夠?qū)崿F(xiàn)為止,從而最后確立整個(gè)的體系結(jié)構(gòu)。這樣的結(jié)構(gòu)實(shí)際就是一個(gè)模塊的分層結(jié)構(gòu),即分層的過(guò)程。在實(shí)施時(shí),采用抽象化的方法,自頂向下,給出不同的抽象層次。在最高的抽象層次上,可以使用問(wèn)題所處環(huán)境的語(yǔ)言概括地描述問(wèn)題的解法。而在較低的抽象層次上,則采用過(guò)程化的方法。在描述問(wèn)題的解法時(shí),我們可
17、以配合使用面向問(wèn)題的術(shù)語(yǔ)和面向現(xiàn)實(shí)的術(shù)語(yǔ)。但最后在最低的抽象層次上,應(yīng)使用能夠直接實(shí)現(xiàn)的方式來(lái)描述這個(gè)解法。32、什么是軟件結(jié)構(gòu)圖?簡(jiǎn)述軟件結(jié)構(gòu)設(shè)計(jì)優(yōu)化準(zhǔn)則。軟件系統(tǒng)的模塊層次結(jié)構(gòu),反映了整個(gè)系統(tǒng)的功能實(shí)現(xiàn),即將來(lái)程序的控制體系。準(zhǔn)則:高內(nèi)聚低耦合、作用范圍在控制范圍內(nèi)、軟件的深度、寬度、扇入、扇出適當(dāng)、模塊大小適中、接口簡(jiǎn)單清晰易懂。33、什么是模塊的控制范圍和作用范圍?他們的關(guān)系如何?控制范圍:是模塊本身和它的下屬模塊的集合。作用范圍:模塊中的一個(gè)判定影響的所有模塊的集合。作用范圍應(yīng)該在控制范圍內(nèi)。33、什么是變換流?什么是事物流?變換流由輸入、變換(或處理)、輸出三部分組成。事物流某個(gè)加
18、工將它的輸入流分離成許多發(fā)散的數(shù)據(jù)流,形成許多加工路徑,并根據(jù)輸入選擇其中一個(gè)路徑來(lái)執(zhí)行。1、 詳細(xì)設(shè)計(jì)的基本任務(wù)是什么?有那幾種描述方法?設(shè)計(jì)模塊的數(shù)據(jù)結(jié)構(gòu)、設(shè)計(jì)數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)、設(shè)計(jì)模塊的詳細(xì)算法、其它(代碼設(shè)計(jì)、輸入/輸出格式設(shè)計(jì)、人機(jī)對(duì)話設(shè)計(jì))、編寫詳細(xì)設(shè)計(jì)說(shuō)明書、評(píng)審。1、軟件測(cè)試的目的是什么?軟件測(cè)試中,應(yīng)注意哪些原則?答:軟件測(cè)試的目的是為了發(fā)現(xiàn)軟件的錯(cuò)誤。軟件測(cè)試中應(yīng)注意的原則有:(1)測(cè)試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的輸出數(shù)據(jù)兩部分組成。(2)測(cè)試且例不僅選用合理輸入數(shù)據(jù),還要選擇不合理的輸入數(shù)據(jù)。(3)除了檢查程序是否做了它應(yīng)該做的事,還應(yīng)該檢查程序是否做了它不應(yīng)該做的事。 (4
19、)應(yīng)制定測(cè)試計(jì)劃并嚴(yán)格執(zhí)行,排除隨意性。 (5)長(zhǎng)期保留測(cè)試用例。 (6)對(duì)發(fā)現(xiàn)錯(cuò)誤較多的程序段,應(yīng)進(jìn)行更深入的測(cè)試。 (7)程序員應(yīng)避免測(cè)試自己的程序。2、什么是白盒測(cè)試法?有哪些覆蓋標(biāo)準(zhǔn)?試對(duì)他們的檢錯(cuò)能力進(jìn)行比較?答:白盒法測(cè)試法把測(cè)試對(duì)象看作一個(gè)打開的盒子,測(cè)試人員須了解程序內(nèi)部結(jié)構(gòu)和處理過(guò)程,以檢查處理過(guò)程的細(xì)節(jié)為基礎(chǔ),對(duì)程序中盡可能多的邏輯路徑進(jìn)行測(cè)試,檢驗(yàn)內(nèi)部控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)是否有錯(cuò),實(shí)際的運(yùn)行狀態(tài)與預(yù)期的狀態(tài)是否一致。白盒法有下列幾種覆蓋標(biāo)準(zhǔn):語(yǔ)句覆蓋:設(shè)計(jì)若干個(gè)測(cè)試用例,運(yùn)行被測(cè)程序,使得每一可執(zhí)行語(yǔ)句至少執(zhí)行一次。判定覆蓋:設(shè)計(jì)若干個(gè)測(cè)試用例,運(yùn)行被測(cè)程序,使得程序中每個(gè)
20、判斷的取真分支和取假分支至少經(jīng)歷一次。條件覆蓋:設(shè)計(jì)若干個(gè)測(cè)試用例,運(yùn)行被測(cè)程序,使得程序中每個(gè)判斷的每個(gè)條件的可能取值至少執(zhí)行一次。判定/條件覆蓋:設(shè)計(jì)足夠的測(cè)試用例,使得判斷中每個(gè)條件的所有可能取值至少執(zhí)行一次,同時(shí)每個(gè)判斷中的每個(gè)條件的可能取值至少執(zhí)行一次。 條件組合覆蓋:設(shè)計(jì)足夠的測(cè)試用例,運(yùn)行被測(cè)程序,使得每個(gè)判斷的所有可能的條件取值組合至少執(zhí)行一次。路徑覆蓋:設(shè)計(jì)足夠的測(cè)試用例,覆蓋程序中所有可能的路徑。3、什么是黑盒測(cè)試法?采用黑盒技術(shù)測(cè)試用例有哪幾種方法?這些方法各有什么特點(diǎn)?答:黑盒測(cè)試法把被測(cè)試對(duì)象看成是一個(gè)黑盒子,測(cè)試人員完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過(guò)程,只在軟件接口處
21、進(jìn)行測(cè)試,依據(jù)需求規(guī)格說(shuō)明書,檢查程序是否滿足功能要求。采用黑盒技術(shù)測(cè)試用例的方法有:等價(jià)類的劃分、邊界值分析、錯(cuò)誤推測(cè)和因果圖。等價(jià)類的劃分:是將輸入數(shù)據(jù)按有效的或無(wú)效的(也稱合理的或不合理的)劃分成若干個(gè)等價(jià)類,測(cè)試每個(gè)等價(jià)類的代表值就等于對(duì)該類其他值的測(cè)試。這樣就把漫無(wú)邊跡的隨機(jī)測(cè)試改為有針對(duì)性的等價(jià)類測(cè)試,用少量有代表性的例子代替大量測(cè)試目的相同的例子,能有效地提高測(cè)試效率。但這個(gè)方法的缺點(diǎn)是沒有注意選擇某些高效的、能夠發(fā)現(xiàn)更多錯(cuò)誤的測(cè)試用例。邊界值分析法:是將測(cè)試邊界情況作為重點(diǎn)目標(biāo),選取正好等于、剛剛大于和剛剛小于邊界值的測(cè)試數(shù)據(jù)。這種方法可以查出更多的錯(cuò)誤,因?yàn)樵诔绦蛑型谔幚?/p>
22、邊界情況時(shí)易發(fā)生錯(cuò)誤。錯(cuò)誤推測(cè)法:是在測(cè)試程序時(shí),人們根據(jù)經(jīng)驗(yàn)或直覺推測(cè)程序中可能存在的錯(cuò)誤,從而有針對(duì)性地編寫檢查這些錯(cuò)誤的測(cè)試用例。因果圖:能夠有效地檢測(cè)輸入條件的各種組合可能會(huì)引起的錯(cuò)誤。它的基本原理是通過(guò)畫因果圖,把用自然語(yǔ)言描述的功能說(shuō)明轉(zhuǎn)換為判定表,最后為判定表的每一列設(shè)計(jì)一個(gè)測(cè)試用例。4、軟件測(cè)試要經(jīng)過(guò)哪些步驟?這些測(cè)試與軟件開發(fā)各階段之間有什么關(guān)系?答:軟件測(cè)試要經(jīng)過(guò)的步驟是:?jiǎn)卧獪y(cè)試集成測(cè)試確認(rèn)測(cè)試系統(tǒng)測(cè)試。 單元測(cè)試:對(duì)源程序中每一個(gè)程序單元進(jìn)行測(cè)試,檢查各個(gè)模塊是否正確實(shí)現(xiàn)規(guī)定的功能,從而發(fā)現(xiàn)模塊在編碼中或算法中的錯(cuò)誤。該階段涉及編碼和詳細(xì)設(shè)計(jì)文檔。 集成測(cè)試:是為了檢查
23、與設(shè)計(jì)相關(guān)的軟件體系結(jié)構(gòu)的有關(guān)問(wèn)題,也就是檢查概要設(shè)計(jì)是否合理有效。 確認(rèn)測(cè)試:主要是檢查已實(shí)現(xiàn)的軟件是否滿足需求規(guī)格說(shuō)明書中確定了的各種需求。 系統(tǒng)測(cè)試:是把已確認(rèn)的軟件與其他系統(tǒng)元素(如硬件、其他支持軟件、數(shù)據(jù)、人工等)結(jié)合在一起進(jìn)行測(cè)試。以確定軟件是否可以支付使用。5、單元測(cè)試有哪些內(nèi)容?測(cè)試中采用什么方法?答:?jiǎn)卧獪y(cè)試主要針對(duì)模塊的以下五個(gè)基本特征進(jìn)行測(cè)試:(1)模塊接口 (2)局部數(shù)據(jù)結(jié)構(gòu) (3)重要的執(zhí)行路徑 (4)錯(cuò)誤處理 (5)邊界條件 6、什么是集成測(cè)試?非漸增式測(cè)試與漸增式測(cè)試有什么區(qū)別? 漸增式測(cè)試如何組裝模塊?答:集成測(cè)試是指在單元測(cè)試的基礎(chǔ)上,將所有模塊按照設(shè)計(jì)要求組
24、裝成一個(gè)完整的系統(tǒng)進(jìn)行的測(cè)試。非漸增式測(cè)試是指首先對(duì)每個(gè)模塊分別進(jìn)行單元測(cè)試,再把所有模塊組裝成一個(gè)完整的系統(tǒng)進(jìn)行的測(cè)試。而漸增式測(cè)試就是逐個(gè)把未經(jīng)測(cè)試的模塊組裝到已經(jīng)過(guò)測(cè)試的模塊上去進(jìn)行集成測(cè)試,每加入一個(gè)新模塊進(jìn)行一次集成測(cè)試,重復(fù)此過(guò)程直到程序組裝完畢。漸增式測(cè)試有兩種不同的組裝方法:自頂向下和自底向上結(jié)合。兩者區(qū)別是:(1)非漸增式方法把單元測(cè)試和集成測(cè)試分成兩個(gè)不同的階段,前一階段完成模塊的單元測(cè)試,后一階段完成集成測(cè)試。而漸增式測(cè)試往往把單元測(cè)試和集成測(cè)試合在一起,同時(shí)完成。(2)非漸增式需要更多的工作量,因?yàn)槊總€(gè)模塊都需要驅(qū)動(dòng)模塊和樁模塊,而漸增式利用已測(cè)試過(guò)的模塊作為驅(qū)動(dòng)模塊或
25、樁模塊,因此工作量少。(3)漸增式可以較早地發(fā)現(xiàn)接口之間的錯(cuò)誤,非漸增式最后組裝時(shí)才發(fā)現(xiàn)。(4)漸增式有利于排錯(cuò),發(fā)生錯(cuò)誤往往和最近新加入的模塊有關(guān),而非漸增式發(fā)現(xiàn)接口錯(cuò)誤推遲到最后,很難判斷是哪一部分接口出錯(cuò)。(5)漸增式比較徹底,已測(cè)試的模塊和新的模塊再測(cè)試。(6)漸增式點(diǎn)用時(shí)間較多,但非漸增式所需更多的驅(qū)動(dòng)模塊和樁模塊也占用一些時(shí)間。(7)非漸增式開始可并行測(cè)試所有模塊,能充分利用人力,對(duì)測(cè)試大型軟件很有意義。1、軟件維護(hù)有哪些內(nèi)容? 答:(1)校正性維護(hù)。在軟件交付使用后,一些隱含的錯(cuò)誤在某些特定的使用環(huán)境下會(huì)暴露出來(lái)。為了識(shí)別和糾正錯(cuò)誤,修改軟件性能上的缺陷,應(yīng)進(jìn)行確定和修改錯(cuò)誤的過(guò)
26、程,這個(gè)過(guò)程就稱為校正性維護(hù)。 (2)適應(yīng)性維護(hù)。為了使應(yīng)用軟件適應(yīng)計(jì)算機(jī)硬件、軟件環(huán)境及數(shù)據(jù)環(huán)境的不斷發(fā)生的變化而修改軟件的過(guò)程稱為適應(yīng)性維護(hù)。 (3)完善性維護(hù)。為增加軟件功能、增強(qiáng)軟件性能、提高軟件運(yùn)行效率而進(jìn)行的維護(hù)活動(dòng)稱為完善性維護(hù)。 (4)預(yù)防性維護(hù)。為了提高軟件的可維護(hù)性和可靠性而對(duì)軟件進(jìn)行的修改稱為預(yù)防性維護(hù)。 2、 軟件維護(hù)的特點(diǎn)是什么? 答:主要體現(xiàn)在三個(gè)方面: (1) 非結(jié)構(gòu)化維護(hù)和結(jié)構(gòu)化維護(hù)。軟件的開發(fā)過(guò)程對(duì)軟件的維護(hù)有很大的影響。若不采用軟件工程的方法開發(fā)軟件,則軟件只有程序而無(wú)文檔,維護(hù)工作非常困難,這是一種非結(jié)構(gòu)化的維護(hù)。若采用軟件工程的方法開發(fā)軟件,則各階段都有相應(yīng)的文檔,容易進(jìn)行維護(hù)工作,這是一種結(jié)構(gòu)化的維護(hù)。 (2) 維護(hù)的困難性。軟件維護(hù)的困難性是由于軟件需求分析和開發(fā)方法的缺陷。軟件生存周期中的開發(fā)階段沒有嚴(yán)格而又科學(xué)的管理和規(guī)劃,就會(huì)引起軟件運(yùn)行時(shí)的維護(hù)困難。(3) 軟件維護(hù)的費(fèi)用。軟件維護(hù)的費(fèi)用在總費(fèi)用中的比重是在不斷增加的,這是軟件維護(hù)有形的代價(jià)。另外還有無(wú)形的代價(jià),即要占有更多的資源。軟件維護(hù)費(fèi)用增加的占有原因是軟件維護(hù)的
溫馨提示
- 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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全教育防微杜漸
- 腦出血急救培訓(xùn)護(hù)理
- 創(chuàng)業(yè)夢(mèng)創(chuàng)新夢(mèng)主題活動(dòng)
- 黑龍江省 哈爾濱市第四十七中學(xué)校2024-2025學(xué)年七年級(jí)上學(xué)期期中考試語(yǔ)文試題
- 甘肅省蘭州市蘭州樹人中學(xué)2023-2024學(xué)年九年級(jí)上學(xué)期期中歷史試卷 - 副本
- 全球與中國(guó)CBRN防護(hù)服市場(chǎng)發(fā)展需求及投資機(jī)遇研究報(bào)告2024-2030年
- 廣東省廣州市白云區(qū)華賦學(xué)校2024-2025學(xué)年上學(xué)期七年級(jí)英語(yǔ)期中考試卷
- 內(nèi)蒙古自治區(qū)通遼市科爾沁左翼中旗聯(lián)盟校2024-2025學(xué)年九年級(jí)上學(xué)期期中考試歷史試題
- 天津市西青區(qū)富力中學(xué)2024-2025學(xué)年九年級(jí)上學(xué)期期中檢測(cè)物理試題
- 【課件】Unit4SectionA1a-1d課件人教版英語(yǔ)七年級(jí)上冊(cè)
- 煤礦開采學(xué)課程設(shè)計(jì)
- 亞馬遜品牌采購(gòu)合同范本
- 二年級(jí)數(shù)學(xué)上冊(cè)第六單元7的乘法口訣課件蘇教版
- 經(jīng)濟(jì)學(xué)基礎(chǔ)高職PPT完整全套教學(xué)課件
- 過(guò)程裝備控制技術(shù)及應(yīng)用基礎(chǔ)
- 關(guān)于學(xué)生會(huì)主席的就職演講稿
- 《體前變向換手運(yùn)球》教學(xué)課件
- 青島市新能源汽車產(chǎn)業(yè)發(fā)展的調(diào)研報(bào)告
- 職業(yè)暴露針刺傷應(yīng)急預(yù)案演練腳本-
- 大學(xué)物理-麥克斯韋速率分布定律
- 優(yōu)先合理使用基本藥物督查分析反饋表
評(píng)論
0/150
提交評(píng)論