軟件工程簡答題答案-第五版_第1頁
軟件工程簡答題答案-第五版_第2頁
軟件工程簡答題答案-第五版_第3頁
軟件工程簡答題答案-第五版_第4頁
軟件工程簡答題答案-第五版_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

軟件工程簡答題

第一章緒論

1.什么是軟件危機?軟件危機有什么表現(xiàn)?軟件危機產(chǎn)生的原因是什么?

答:所謂軟件危機是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。主要是

指如何開發(fā)軟件,怎樣滿足對軟件日益增長的需求,如何維護數(shù)量不斷膨脹的先有軟件。

表現(xiàn):(1)對于軟件開發(fā)的成本和進度的估計很不準確。(2)開發(fā)的軟件產(chǎn)品不能完全滿足

用戶要求,用戶對已完成的軟件系統(tǒng)不滿意的現(xiàn)象常常發(fā)生。(3)開發(fā)的軟件可靠性差。(4)

軟件通常沒有適當?shù)奈臋n資料(5)軟件的可維護性差。(6)軟件開發(fā)生產(chǎn)率提高的速度,

遠遠跟不上計算機應用普及深入的趨勢。

原因:軟件開發(fā)中遇到的問題因找不到解決的辦法,使問題積累起來,形成了尖銳的矛盾,

導致了軟件危機。

2.簡述軟件的發(fā)展過程。

答:軟件生產(chǎn)的發(fā)展劃分為三個年代:(1)程序設計時代:這一時期,軟件的生產(chǎn)主要是個

體手工勞動的生產(chǎn)方式。(2)程序系統(tǒng)時代:由于計算機的應用領域不斷擴大,軟件的需求

也不斷增長,軟件由于?處理的問題域擴大而使程序變得復雜,設計者不得不由個體手工勞動

組成小集團合作,形成作坊式生產(chǎn)方式小集團合作生產(chǎn)的程序系統(tǒng)時代。(3)軟件工程時代:

軟件工程時代的生產(chǎn)方式是采用工程的概念、原理、技術和方法,使用數(shù)據(jù)庫、開發(fā)工具、

開發(fā)環(huán)境、網(wǎng)絡、分布式、面向?qū)ο蠹夹g來開發(fā)軟件。

3.什么叫軟件工程?軟件工程是如何克服軟件危機的?

答:軟件工程是將系統(tǒng)的、規(guī)范的、可度量的工程化方法應用于軟件開發(fā)、運行和維護的全

過程及上述方法的研究。為了克服軟件危機,人們從其他產(chǎn)業(yè)的工程化生產(chǎn)得到啟示,采用

工程的概念、原理、技術和方法來開發(fā)和維護軟件。

4.軟件工程的目標是什么?軟件工程有哪些原則?

答:軟件工程的目標是:在給定成本、進度的前提下,開發(fā)出具有可修改性、有效性、可靠

性、可理解性、可維護性、可重用性、可適應性、可移植性、可追蹤性和可互操作性并滿足

用戶需求的軟件產(chǎn)品。原則如下:抽象、模塊化、信息隱藏、局部化、完整性、一致性和可

驗證性。

5.為什么說軟件工程是一門綜合性的交叉學科?

答:因為軟件工程涉及哲學、計算機科學、工程科學、管理科學、數(shù)學和應用領域知識。

6.軟件工程方法學的基本內(nèi)容包括哪些?

答:基本內(nèi)容包括:(1)結(jié)構(gòu)化理論和方法。(2)模塊技術與數(shù)據(jù)抽象。(3)軟件測試與程

序正確性證明。(4)軟件分析與設計方法、工具和環(huán)境。(5)軟件工程管理與質(zhì)量評價。

7.軟件產(chǎn)品具有哪些特殊性質(zhì)?

答:Notfound.

8.軟件工程學研究的對象是什么?

答:軟件工程研究的主要內(nèi)容包括軟件開發(fā)技術和軟件開發(fā)管理兩個方面。在軟件開發(fā)技術

中,它主要研究軟件開發(fā)方法、軟件開發(fā)過程、軟件開發(fā)工具和環(huán)境。在軟件開發(fā)管理中,

它主要研究軟件管理學、軟件經(jīng)濟學和軟件心理學等。

第二章基本理論

1.什么是軟件的生命周期模型?它主要有那些模型?

答:軟件生命周期模型是描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型。主要有:瀑布模型、

原型模型、增量模型、螺旋模型、噴泉模型、基于知識的模型和變換模型。

2.什么是軟件開發(fā)方法?有那些主要開發(fā)方法?

答:軟件開發(fā)方法是一種使用早已定義好的技術集及符號表示習慣組織軟件生產(chǎn)過程的方法。

主要有:結(jié)構(gòu)化方法、Jackson方法、維也納開發(fā)方法和面向?qū)ο蟮拈_發(fā)方法。

3.開發(fā)軟件為什么首先要確定軟件生命周期模型?

答:一個強有力的軟件生命周期模型對軟件開發(fā)提供了強有力的支持,為軟件開發(fā)過程中所

有活動提供了統(tǒng)一的政策保證,為參與軟件開發(fā)的所有成員提供了幫助和指導。它提示了如

何演繹軟件過程的思想,是軟件生命周期模型化技術的基礎,也是建立軟件開發(fā)環(huán)境的核心。

4.軟件工程過程包括那些過程?

答:包括如下7個過程:(1)開發(fā)過程(2)管理過程(3)供應過程(4)獲取過程(5)操

作過程(6)維護過程(7)支持過程

5.軟件生命周期內(nèi)階段的劃分為什么要受軟件的規(guī)模、性質(zhì)、種類、開發(fā)方法等影響?

答:因為軟件在其生存期內(nèi)的每個階段都有較明顯的特征,有相對獨立的任務,有其專門的

方法和工具。

6.軟件定義與分析時期主要解決什么問題?

答:通俗地講,主要解決以下問題:(1)要做的是什么軟件?(2)沒有有可行性?(3)軟

件的具體需求是什么?(4)驗收標準是什么?

7.瀑布模型的主要開發(fā)過程和優(yōu)缺點有哪些?

答:開發(fā)過程有6個階段:系統(tǒng)需求分析、軟件需求分析、系統(tǒng)設計、軟件編碼、系統(tǒng)測試

和軟件維護。優(yōu)缺點:

8.簡述原型模型的特點,它與瀑布模型的關鍵區(qū)別是什么?

答:原型模型的最大特點是:利用原型法技術能夠快速實現(xiàn)系統(tǒng)的初步模型,供開發(fā)人員和

用戶進行交流,以便較準確地獲得用戶的需求;采用逐步求精的方法使原型逐步完善,這是

一種在新的層次上不斷反復推進的過程。它與瀑布模型的關鍵區(qū)別是它可以大大避免在瀑布

模型冗長的開發(fā)過程中看不見產(chǎn)品雛形的現(xiàn)象。

9.簡述噴泉模型的基本思想。

答:噴泉模型以面向?qū)ο蟮能浖_發(fā)方法為基礎,以用戶需求為動力,以對象作為驅(qū)動的模

型。它適合面向?qū)ο蟮拈_發(fā)方法。

第三章可行性研究

1.可行性研究論證主要集中在那些領域?

答:Notfound.

2.如何進行軟件的成本佶算?

答:首先可以用代碼行定量估算方法,把開發(fā)軟件中實現(xiàn)每一個功能所需要的源代碼行數(shù)與

成本聯(lián)系起來。其次可以用任務分解技術估算成本。

3.可行性研究的任務是什么?

答:一般從以下四個方面研究系統(tǒng)方案的可行性。(1)技術可行性研究(2)經(jīng)濟可行性研

究(3)法律可行性研究(4)開發(fā)方案的選擇性研究

4.簡述可行性研究的步驟。

答:研究步驟:(1)系統(tǒng)定義(2)對于現(xiàn)行系統(tǒng)進行分析研究(3)導出新系統(tǒng)的邏輯模型

(4)設計方案(5)推薦可行的方案(6)編寫可行性研究報告

5.在軟件的系統(tǒng)分析之Elf,為什么要制訂一個系統(tǒng)的標準?

答:Notfound.

6.可行性研究報告的主要內(nèi)容有哪些?

答:(1)引言(2)可行性研究前提(3)對現(xiàn)行系統(tǒng)的分析(4)所建議系統(tǒng)的技術可行性

分析(5)所建議系統(tǒng)的經(jīng)濟可行性分析(6)社會因素可行性分析(7)其他可供選擇方案

(8)結(jié)論意見

7.你認為在成本估算中,貨幣的時間價值在可行性中的作用是什么?

答:由于經(jīng)濟效益與軟件的生命周期的長度有關,貨幣的時間價值就直接影響軟件的開發(fā)和

維護成本,從而直接影響軟件的經(jīng)濟效益。

8.經(jīng)過可行性研究后,一個項目如果值得開發(fā),為什么要制定項目開發(fā)計劃?

答:因為軟件開發(fā)項目的計劃涉及實施項目的各個環(huán)節(jié),帶有全局的性質(zhì)。計劃的合理性和

準確性往往關系著項目的成敗。

第四章需求分析與系統(tǒng)結(jié)構(gòu)

1.需求分析的目的是什么?

答:需求分析是軟件定義時期的最后一個階段,其基本任務是回答“系統(tǒng)必須做什么”這個

問題,確定系統(tǒng)必須完成哪些工作。對目標系統(tǒng)提出完整、準確的要求。

2.怎樣建立目標系統(tǒng)的邏輯模型?要經(jīng)過哪些步驟?

答:分析人員根據(jù)前面獲取的需求資料,要進行一致性的分析檢查,在分析、綜合種逐步細

化軟件功能,劃分成各個子功能。同時對數(shù)據(jù)域進行分解,并分配到各個之功能上,以確定

系統(tǒng)的構(gòu)成及主要成分。最后要用圖文結(jié)合的形式,建立起系統(tǒng)的邏輯模型。

3.什么是結(jié)構(gòu)化分析?

答:結(jié)構(gòu)化方法是分析、設計到實現(xiàn)都使用結(jié)構(gòu)化思想的軟件開發(fā)方法,實際上它由三部分

組成:結(jié)構(gòu)化分析、結(jié)構(gòu)化設計和結(jié)構(gòu)化程序設計。它也是一種實用的軟件開發(fā)方法。

4.需求分析由哪些部分組成?

答:(1)問題明確定義(2)導出軟件的邏輯模型(3)編寫文檔

5.需求分析為什么要研究問題域?

答:Notfound.

6.良好的軟件體系結(jié)構(gòu)設計有什么好處?

答:體系結(jié)構(gòu)的設計對于一個大型系統(tǒng)的設計、開發(fā)的成敗起著至關重要的作用。體系結(jié)構(gòu)

對于系統(tǒng)的非功能屬性如系統(tǒng)性能、可擴展性、可靠性、安全性、精確度、可復用性、互操

作性等的影響尤為深刻。因而一個良好的軟件體系結(jié)構(gòu)設計保證了軟件系統(tǒng)的性能和生命周

期。

7.消除包之間的循環(huán)依賴性有哪兩種主要方法?

答:(1)PackageA將PackageA中的循環(huán)依賴元素提取到PackageC中PackageAPackageB

PackageBPackageC(2)PackageAPackageA將PackageC中的循環(huán)依賴元素提取到PackageD

中PackageBPackageBPackageCPackageCPackageD

8.簡述UML和Z結(jié)合的求精方法。

答:和目前工程界的常規(guī)方法相比,基于UML和Z的軟件體系結(jié)構(gòu)求精方法有明顯的不同。

首先,開發(fā)原則不同,基于UML和Z的軟件體系結(jié)構(gòu)求精方法通常希望能夠直接構(gòu)造出盡

可能正確的系統(tǒng)。其次,開發(fā)模式也不同,在使用基于UML和Z的軟件系統(tǒng)結(jié)構(gòu)求精方法

開發(fā)過程中,需求分析和設計階段需求投入大量的工作通常占到全部工作量的60%~70%,

而編碼和測試工作只占30%~40%。

第五章總體設計

1.結(jié)構(gòu)化設計方法的基本思想是什么?它怎樣與結(jié)構(gòu)億分析銜接?

答:結(jié)構(gòu)化設計是以結(jié)構(gòu)化分析產(chǎn)生的數(shù)據(jù)流圖為基礎,將數(shù)據(jù)流圖按一定的步驟映射成軟

件結(jié)構(gòu)。與結(jié)構(gòu)化分析銜接,構(gòu)成了完整的結(jié)構(gòu)化分析與設計技術,是目前最廣泛的軟件設

計方法之一。

2.簡述軟件總體設計階段的基本任務。

答:軟件總體設計階段的任務是概要地回答系統(tǒng)應該如何實現(xiàn),因此要把握與詳細設計的區(qū)

別。要完成如下任務:(1)軟件系統(tǒng)結(jié)構(gòu)設計(2)數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設計(3)網(wǎng)絡系統(tǒng)設

計(4)軟件總體設計文檔(5)評審

3.舉例說明各種類型的模塊耦合。

答:(1)數(shù)據(jù)耦合:兩個模塊彼此間通過參數(shù)交換信息,而且交換的信息僅僅是數(shù)據(jù)。(2)

控制耦合:傳遞的信息中有控制信息。(3)公共環(huán)境耦合:兩個或多個模塊通過一個公共數(shù)

據(jù)環(huán)境相互作用的耦合。14)內(nèi)容耦合:最高程度的耦合,如P121圖。

4.簡述模塊、模塊化及模塊化設計的概念。

答:模塊在程序中是數(shù)據(jù)說明、可執(zhí)行語句等程序?qū)ο蟮募?,或者是單獨命名和編址的?/p>

素,如高級語言中的過程、函數(shù)和子程序等。在軟件的體系結(jié)構(gòu)中,模塊是可組合、可分解

和更換的單元。模塊化是指解決一個復雜問題時自頂向下逐層把軟件系統(tǒng)劃分成若干模塊的

過程。

5.什么是模塊的獨立性?設計中為什么模塊要獨立?對于獨立性怎樣度量?

答:劃分模塊時,盡量做到高內(nèi)聚,低耦合,保持模塊相對對立性,并以此原則乂話初始的

軟件結(jié)構(gòu)。(1)如果若干模塊之間耦合強度過高,每個模塊內(nèi)功能不復雜,可將它們合并,

以減少信息的傳遞和公共區(qū)的引用。(2)若有多個相關模塊,應該對它們的功能進行分析,

校區(qū)重復功能。

6.試論“一個模塊,一個功能”的優(yōu)點。

答:Notfound.

7.簡述變換流的設計步驟。

答:(1)確定數(shù)據(jù)流圖中的變換中心、邏輯輸入和邏輯輸出(2)設計軟件結(jié)構(gòu)的頂層和第

一層(3)設計中、下層模塊(4)設計的優(yōu)化

8.簡述事務流的設計步驟。

答:(1)確定數(shù)據(jù)流圖中的事務中心和加工路徑(2)設計軟件結(jié)構(gòu)的頂層和第一層(3)進

行事務結(jié)構(gòu)中、下層模塊的設計、優(yōu)化等工作。

9.試論軟件設計與軟件質(zhì)量的關系。

答:

10.什么是模塊的影響范圍?什么是模塊的控制范圍?它們之間應該建".什么樣的關系?

答:在軟件結(jié)構(gòu)中,由于存在著不同事務處理的需要,某一層上的模塊會存在著判斷處理,

這樣可能影響其它層的模塊處理。?個模塊的作用范圍應在其控制范圍之內(nèi),且條件判定所

在的模塊應與受影響的模塊在層次上盡量靠近。

11.什么是軟件結(jié)構(gòu)?簡述軟件結(jié)構(gòu)設計的優(yōu)化準則。

答:軟件結(jié)構(gòu)是軟件系統(tǒng)的模塊層次結(jié)構(gòu),反映了整個系統(tǒng)的功能實現(xiàn),即將來程序的控制

層次體系。對于一個問題,可用不同的軟件結(jié)構(gòu)來解決,不同的設計方法和不同的劃分與組

織,得出不同的軟件結(jié)構(gòu)。為了提高設計的質(zhì)量,必須根據(jù)軟件設計的原理改進軟件設計,

優(yōu)化準則如下:(1)模塊獨立性準則(2)控制與作用范圍之間的準則(3)結(jié)構(gòu)特征準則(4)

模塊的接口準則

第六章軟件詳細設計

1.簡述詳細設計的基本原則與主要任務。

答:詳細設計要完成所有設計的細節(jié)。主要任務有:(1)數(shù)據(jù)結(jié)構(gòu)設計(2)物理設計(3)

算法設計(4)界面設計(5)其他設計(6)編寫設計說明書

2.任意選擇一種排序算法,分別用流程圖和PDL語言描述其詳細過程。

答:PDL語言全稱是過程設計語言(ProcessDesignLanguage),它是在偽代碼的基礎上,擴

充了模塊的定義與調(diào)用、數(shù)據(jù)定義和輸入輸出而形成的。它的控制結(jié)構(gòu)與偽代碼相同。PDL

是一種用于描述模塊算法設計和細節(jié)處理的語言。

3.假設只有SEQUENCE和DO-WHILE兩種結(jié)構(gòu),如何用它們來完成IF-THEN-ELSE的操作?

答:Notfound.

4.概要設計與詳細設計有什么區(qū)別?

答:在軟件的總體設計中,完成了數(shù)據(jù)和系統(tǒng)結(jié)構(gòu)的設計。已將系統(tǒng)劃分成為多個模塊,并

將它們按照一定的原則組裝起來,也確定了每個模塊的功能及模塊與模塊之間的外部接口。

在理想情況下,詳細設計是軟件設計的第二階段。在這個極端,由于開發(fā)系統(tǒng)內(nèi)外的人員理

論上都使用一種自然語言,因此設計說明最好是用自然語言。很清楚,這個階段必須定義過

程的細節(jié)。

第七章面向?qū)ο蠓椒ǜ耪?/p>

1.什么是面向?qū)ο螅?/p>

答:面向?qū)ο蠓椒ㄊ且环N運用對象、類、繼承、封裝、聚合、消息傳送、多態(tài)性等概念來構(gòu)

造系統(tǒng)的軟件開發(fā)方法。

2.面向?qū)ο蟮陌l(fā)展經(jīng)歷了哪幾個階段?

答:面向?qū)ο蠓椒ǖ哪承└拍?,可以追溯?0世紀50年代人工智能的早期研究。但是人們

一般把20世紀60年代由挪威計算中心開發(fā)的Simula-67語言看做而向?qū)ο笳Z言發(fā)展史上的

第一個里程碑。但是直到20世紀80年代后期,第二種語言SmallTalk的應用尚不夠廣泛。

20世紀80年代中期到90年代,是面向?qū)ο笳Z言走向繁榮的階段。

3.面向?qū)ο蠓椒ㄓ惺裁刺攸c?

答:主要有以下特點:

(1)從問題域中客觀存在的事物出發(fā)來構(gòu)造軟件系統(tǒng),用對象作為對這些事物的抽象表示,

并以此作為系統(tǒng)的基本構(gòu)成單位。

(2)事物的靜態(tài)特征(即可能用一些數(shù)據(jù)來表達的特征)用對象的屬性表示,事物的動態(tài)

特征(即事物的行為)用對象的服務表示。

(3)對象的屬性與服務結(jié)合為一體,成為一個獨立的實體,對外屏蔽其內(nèi)部細節(jié),即封裝。

(4)對事物進行分類。把具有相同屬性和服務的對象歸為一類,類是這些對象的抽象描述,

每個對象是它的類的一個示例。

(5)通過在不同程度上運用抽象的原則,可以得到較一般的類和較特殊的類。特殊類繼承

一般類的屬性與服務,面向?qū)ο蠓椒ㄖС謱@種繼承關系的描述與實現(xiàn),從而簡化系統(tǒng)的構(gòu)

造過程及其文檔。

(6)復雜的對象可以用簡單的對象作為其構(gòu)成部分,稱作聚合。

(7)對象之間通過消息進行通信,以實現(xiàn)對象之間的動態(tài)聯(lián)系。

(8)通過關聯(lián)表達對象之間的靜態(tài)關系,

4.傳統(tǒng)的軟件工程和面向?qū)ο筌浖こ逃泻萎愅c?

答:Notfound.

5.什么是繼承?

答:定義:特殊類的獨享擁有其一般類的全部屬性與服務,就是稱作特殊類對一般類的繼承。

6.什么是消息?

答:定義:消息就是向?qū)ο蟀l(fā)出的服務請求,它應該含有下述信息:提供服務的對象標識、

服務標識、輸入信息和回答信息。

7.什么是多態(tài)性?

答:對象的多態(tài)性是指在一般類中定義的屬性或服務被特殊類繼承之后,可以具有不同的書

類型或表現(xiàn)出不同的行為,這使得一個屬性或服務名在一般類及其各個特殊類中具有不同的

語義。

第八章模型

1.什么是狀態(tài)?

答:狀態(tài)是對象的屬性值和鏈接的一種抽象.根據(jù)影響對象總的行為的性質(zhì),一系列組合在

一起是一個狀態(tài)。

2.什么是事件?

答:事件是發(fā)生在某一個時間點的一件事。

3.簡述構(gòu)成動態(tài)模型的幾個要素。

答:(1)時間和狀態(tài)(2)操作(3)嵌套狀態(tài)圖(4)實踐技巧

4.怎樣用狀態(tài)圖描述事件?

答:狀態(tài)圖是這樣一種圖,其結(jié)點表示狀態(tài),用方向弧和標明事件名表示變遷。一個狀態(tài)化

成矩形圓角框并含有可選的名字,變遷用從接受狀態(tài)到目標狀態(tài)的尖頭表示,在箭頭上標明

產(chǎn)生變遷的事件名,所有脫離某一狀態(tài)的變遷必對應不同的事件。狀態(tài)圖詳細說明了由事件

序列引起的狀態(tài)序列。如果一個對象處于某一狀態(tài)并且表示它的變遷之一的事件發(fā)生的話,

則對象進入變遷的目標終止狀態(tài),這個變遷稱為“激發(fā)工如果多余一個變遷脫離一個狀態(tài),

則第一個發(fā)生的事件引起相應的變遷的激發(fā)。如果一個事件發(fā)生但沒有脫離當前狀態(tài),即沒

有變遷,那么該時間被忽略。事件的一個序列對應圖中走過的一條路徑。

5.簡述事件如何觸發(fā)操作?

答:動作是一種瞬間的操作。動作與事件有關,動作表示相對于狀態(tài)圖的變遷來說時間延續(xù)

不重要的操作。動作也能表示內(nèi)部控制操作,諸如設定屬性或產(chǎn)生另一個事件。

6.試述動態(tài)模型的并發(fā)性。

答:Notfound.

7.用例子說明并發(fā)活動是如何同步的

答:Notfound.

第九章對象分析

1.用圖示表示對?象類及主動對象類的表示法。

答:普通類主動對象類

classname_____________

[attributes|@"巴

|operations。|世…

operations()

2.研究問題域應包括哪些工作要點?

答:(1)認真聽取問題域?qū)<业囊娊猓?)親臨現(xiàn)場(3)閱讀領域相關資料(4)借鑒他人

經(jīng)驗

3.發(fā)現(xiàn)對象有哪些原則?

答:(1)正確地運用抽象原則(2)策略與啟發(fā):①考慮問題域②考慮系統(tǒng)邊界③考慮系

統(tǒng)責任(3)對象的發(fā)現(xiàn)和標識:①動機②方法③三視圖模型(4)審查和篩選:①舍棄

無用的對象②對象的精簡③推遲到00D考慮的對象(5)識別主動對象

4.試說明主動服務與被動服務的區(qū)別。

答:主動服務是不需要接收消息就能主動執(zhí)行的服務,它在程序?qū)崿F(xiàn)中是一個主動地程序成

分,例如用于定義進程或線程的程序單位。被動服務是只有接受到消息才執(zhí)行的服務,它在

編程實現(xiàn)中是一個被動的程序成分,例如函數(shù)、過程、例程等。

5.對系統(tǒng)中的對象進行哪些步驟以發(fā)現(xiàn)對象的屬性?

答:對象的屬性是描述對象靜態(tài)特征的一個數(shù)據(jù)項。通過一下步驟:(1)從廠里判斷這個對

象應該具有哪些屬性。(2)根據(jù)當前問題域分析這個對象應該有哪些屬性。(3)從系統(tǒng)責任

要求的角度分析這個對象應具有哪些屬性。(4)建立這個對象涉及到系統(tǒng)中所需的信息,包

括要保存和管理的信息。(5)對象有哪些需要區(qū)別的狀態(tài),是否需增加一個屬性來區(qū)別這些

狀態(tài)。(6)對象為了在服務中實現(xiàn)其功能,需要增設哪些屬性。(7)表示整體?部分結(jié)構(gòu)和

示例連接需要用什么屬性,

6.畫出“棧”對象的狀態(tài)轉(zhuǎn)換圖。

答:

O

第十章關系分析

1.什么叫整體一部分關系?

答:整體-部分關系反映了對象之間的構(gòu)成關系,它也稱為聚集關系,用于描述系統(tǒng)中各類

對象之間的組成關系。通過它可以看出某個類的對象以另外一些類的對象作為其組成部分。

2.用圖示表示整體-部分結(jié)構(gòu)。

答:一—、

3.列舉出幾種情況下運用整體-部分結(jié)構(gòu)而實現(xiàn)或支持復用。

答:在以下兩種情況下都可以運用整體?部分結(jié)構(gòu)而實現(xiàn)或支持復用:一種情況是在兩個或

更多的對象類中都有?組屬性和服務描述這些對象的?個相同的組成部分。把它們分離出來

作為部分對象,建立整體-部分結(jié)構(gòu),這些屬性和服務就被多個類復用,從而簡化了它們的

描述。另一種情況是系統(tǒng)中已經(jīng)定義了某類對象,在定義其他對象時,發(fā)現(xiàn)其中一組屬性和

服務與這個已定義的對象是相通的,那就不必再重復地定義這些屬性與服務,只需建立它與

前一類對象之間的整體-部分結(jié)構(gòu)。

4.畫出一般類和特殊類的關系圖。

答:

5.畫圖說明一般-特殊結(jié)構(gòu)的表示法。

答:

第十一章控制驅(qū)動的設計

1.系統(tǒng)總體方案的內(nèi)容包括哪些方面?

答:系統(tǒng)的總體方案內(nèi)容如下:(1)項目的背景、目標與意義。(2)系統(tǒng)的應用范圍。(3)

對需求的簡要描述,采用的主要技術。(4)使用的硬件設備、網(wǎng)絡設施和商品軟件。(5)選

擇的軟件體系結(jié)構(gòu)風格。(6)規(guī)劃中的網(wǎng)絡拓撲結(jié)構(gòu)。(7)子系統(tǒng)劃分。(8)系統(tǒng)分布方案。

(9)經(jīng)費預算、工期預L、風險分析。(10)售后服務措施,對用戶的培訓計劃。

2.列舉出幾種典型的軟件體系結(jié)構(gòu)風格。

答:(1)管道與過濾器風格。

(2)客戶-服務器風格。

(3)面向?qū)ο箫L格。

(4)隨式調(diào)用風格。

(5)倉庫風格。

(6)進程控制風格。

(7)解釋器模型。

(8)黑板風格。

(9)層次風格。

(10)數(shù)據(jù)抽象風格。

3.列舉用主動對象表示控制流時應遵循的應用規(guī)則.

答:(1)在一個表示進程的主動對象中,有且僅有一個表示進程的主動服務。

(2)如果要把一個進程和隸屬于它的現(xiàn)成分散到不同的對象中去表示,則盡可能使每個

對象中只含有一個表示線程的服務。

(3)如果要把進程和隸屬于它的線程放在一個對象中表示,就應該把這個進程的全部線

程都放在同一個對象中,避免一部分集中,一部分分散.

第十二章問題域的設計

1.對象設計必須遵循的步驟有哪些?

答:(1)組合三種模型以獲取類上的操作。

(2)實現(xiàn)操作的設計算法。

(3)優(yōu)化數(shù)據(jù)的訪問路徑。

(4)實現(xiàn)外部交互式的控制。

(5)調(diào)整類結(jié)構(gòu),提高繼承性。

(6)設計關聯(lián)。

(7)確定對象表示。

(8)把類和關聯(lián)封裝成模塊。

2.對象模型與動態(tài)模型和功能模型之間的關系如何?

答:與功能模型的關系:對象模型表示在功能模型中的施動者、數(shù)據(jù)存儲和流的結(jié)構(gòu),而動

態(tài)模型表示了執(zhí)行這一處理的序列。

與對象模型的關系:功能模型表示在類上的操作和每個操作的參數(shù),因此它表示了在類

之間的供應者與客戶的關系。同臺模型表示了每個對象的狀態(tài),以及接受事件和改變狀態(tài)時

執(zhí)行的操作。

與動態(tài)模型的關系:功能模型表示了底層動作和動態(tài)模型未定義的底層動作以及在動態(tài)

模型中未定義的活動的定義。對象模型表示改變了什么狀態(tài)和經(jīng)歷了什么操作。

3.如何確定在操作中起主導作用的對象?

答:在確定哪個對象在操作中起主導作用時,必須對自己提下列問題:

(1)當其他對象執(zhí)行動作時,是否有一個對象在起作用?通常,最好是把操作與操作的

目標聯(lián)系起來,而不是與初始化程序聯(lián)系起來。

(2)當其他對象只查詞所包含的信息時,操作是否修改另?個對象?被改動對象是操作

目標。

(3)檢查設計操作的類和關聯(lián),看哪個類是這個對象模型的子網(wǎng)中最集中的,如果類和

關聯(lián)都圍繞一個中心類形成星型,那么它就是操作的目標。

(4)如果對象不是軟件,而是在內(nèi)部表示的實際對象,應推、移動、激活什么正式對象,

或操縱其他什么真實對象去初始化一個操作?

4.實現(xiàn)動態(tài)模型有哪幾種方法?

答:NotFound.

5.怎樣安排類以增加繼承的機會?

答:(1)重新安排和調(diào)整類及操作以增強繼承性。

(2)從類組合中抽象出共同特性。

(3)當集成的語義不正確時,使用授權的共享行為。

6.比較關聯(lián)遍歷的三種方法。

答:書P338,

7.簡述限制操作范圍的設計原則。

答:NotFound.

第十三章用戶界面設計

1.窗口系統(tǒng)的定義是什么?它所管理的資源有哪些?

答:窗口系統(tǒng)是控制位映像顯示器與輸入設備的系統(tǒng)軟件。它所管理的資源有屏幕、窗II、

像素映像、色彩表、字體、圖形資源及輸入設備。

2.從命令輸入到命令處理所發(fā)生的消息有哪4種情況?

答:NotFound.

3.設計人-機交互子系統(tǒng)要對用戶進行哪幾種分析?

答:設計出讓用戶滿意的人-機交互界面應遵循如下準則:一致性、操作簡便、及時提供

反饋信息、提供撤銷命令、無需記憶、易學,富有吸引力。

4.人-機交互子系統(tǒng)的設計形式有哪些?

答:用戶的界面設計形式包括問答式、菜單、圖符、表格、命令語言和自然語言等。

5.虛擬現(xiàn)實與多媒體技術有什么區(qū)別?

答:虛擬現(xiàn)實又稱靈境技術,它是一種先進的計算機用戶接口,它通過給用戶同時提供諸如

視覺、聽覺、觸覺等各種只管而又自然地實時感知交互手段,最大限度地方便用戶操作,從

而減輕用戶的負擔,提高整個系統(tǒng)的工作效率。靈境技術具有4個重要特征:(1)多感知性

(2)存在感(3)交互性(4)自主性。

6.如果要直接操作界面,請問應該采用哪一種模型?試描述一下。

答:NotFound.

7.什么叫做多通道技術?

答:多通道是人類日常處理事件的常用方式,人與計算機多通道交互技術的發(fā)展雖然收到軟

硬件的限制,但至少要滿足以下兩個條件。

(1)多通道整合,不同通道的結(jié)合對用戶的體驗是十分重要的。

(2)在交互中允許用戶產(chǎn)生含糊和不精確的輸入。

8.新一代界面的主要特征是什么?

答:(1)以用戶為中心。

(2)多通道。

(3)非精確。

(4)高帶寬。

(5)不限制地點。

(6)可視化編程。

(7)三維交互技術的研究。

第十四章數(shù)據(jù)庫及其接口設計

1.什么是文件系統(tǒng)?

答:文件系統(tǒng)通常被作為操作系統(tǒng)的一部分。它采用統(tǒng)一、標準的方法對輔助存儲器上的用

戶文件和系統(tǒng)文件的數(shù)據(jù)進行管理,提供存儲、檢索、更新、共享和保護等功能。在文件系

統(tǒng)的支持下,應用程序不必直接使用輔助存儲器的物理地址和操作指令來實現(xiàn)數(shù)據(jù)的存取,

而是把需要永久存儲的數(shù)據(jù)定義為文件,利用文件系統(tǒng)提供的操作命令實現(xiàn)上述各種功能。

2.分析文件系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)之間的差異。

答:與數(shù)據(jù)庫管理系統(tǒng)相比,文件系統(tǒng)的特點是廉價,容易學習和掌握,對被存儲的數(shù)據(jù)沒

有特別的類型限制。但它提供的數(shù)據(jù)存取與管理功能遠不如數(shù)據(jù)庫管理系統(tǒng)豐富。例如它只

適合存儲各種類型的數(shù)據(jù)而不容易體現(xiàn)數(shù)據(jù)之間的管理;只能按地址或者按記錄進行數(shù)據(jù)讀

寫,不能直接按屬性進行數(shù)據(jù)檢索與更新;缺少數(shù)據(jù)完整性支持,數(shù)據(jù)共享支持也比較弱。

3.簡述DBMS的功能。

答:DBMS中文全稱為數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem),它是用于建立、使

用、維護數(shù)據(jù)庫的軟件。其提供的功能如下:

(1)模式翻譯:提供數(shù)據(jù)定義語言(DDL)。

(2)應用程序的編譯:把含有訪問數(shù)據(jù)庫語句的應用程序,編譯成在DBMS支持下可

運行的目標程序。

(3)交互式查詢:提供易實用的交互式查詢語言,如SQL。

(4)數(shù)據(jù)的組織與存?。禾峁?shù)據(jù)在外圍儲存設別上的物理組織與存取方法。

(5)事物運行管理:提供事物運行管理及運行日志、實物運行的安全性監(jiān)控和數(shù)據(jù)完

整性檢查、事物的并發(fā)控制及系統(tǒng)恢復等功能。

(6)數(shù)據(jù)庫的維護:為數(shù)據(jù)庫管理員提供軟件支持,包括數(shù)據(jù)安全控制、完整性保障、

數(shù)據(jù)庫備份、數(shù)據(jù)庫重組以及性能監(jiān)控等維護工具。

4.比較關系數(shù)據(jù)庫和面向?qū)ο髷?shù)據(jù)庫。

答:采用關系模型的數(shù)據(jù)庫稱作關系數(shù)據(jù)庫。

采用面向?qū)ο髷?shù)據(jù)模型的數(shù)據(jù)庫稱作面向?qū)ο髷?shù)據(jù)庫。

5.如何選擇合適的數(shù)據(jù)管理系統(tǒng)。

答:決定采用何種數(shù)據(jù)管理系統(tǒng),要綜合考慮技術和非技術兩方面的因素。

1)非技術因素

(1)數(shù)據(jù)管理系統(tǒng)的成熟成都和先進性

(2)價格

(3)開發(fā)隊伍的技術背景

(4)與其他系統(tǒng)的關系

2)技術因素

(1)文件系統(tǒng)

(2)關系數(shù)據(jù)庫管理系統(tǒng)

(3)面向?qū)ο髷?shù)據(jù)庫管理系統(tǒng)

6.數(shù)據(jù)庫與數(shù)據(jù)庫管理系統(tǒng)有什么區(qū)別?

答:數(shù)據(jù)庫(Database)是長期存儲在計算機內(nèi),有組織、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫中的

數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存,具有較小的冗余,較高的數(shù)據(jù)獨立性和易擴展

性,并可為各種用戶共享。而數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem)是用于建立、

使用、維護數(shù)據(jù)庫的軟件.它對數(shù)據(jù)庫進行統(tǒng)一的管理和控制,以保證數(shù)據(jù)庫的安全性和完

整性。

7.面向?qū)ο蠛蛿?shù)據(jù)庫技術是如何進行整合的?

答:書P380。

8.對象如何在數(shù)據(jù)庫中存放?

答:用關系數(shù)據(jù)庫存放對象的基本策略是:把由每個類直接定義并需要永久存儲的全部對象

實例存放在一個數(shù)據(jù)庫表中。每個這樣的類對應一個數(shù)據(jù)庫表,經(jīng)過規(guī)范化之后的類的每個

屬性對應數(shù)據(jù)庫表的一個屬性,類的每個對象實例對應數(shù)據(jù)庫中的一個元組。

第十五章形式化方法

3.Petri網(wǎng)適合于分析與設計哪些系統(tǒng)?它是通過什么方式來反應系統(tǒng)動態(tài)行為的?

答:Petri網(wǎng)在軟件分析中,是一種系統(tǒng)的數(shù)學和圖形的描述與分析方法。對于具有并發(fā)、

異步、分布、并行、不確定性或隨機性的信息處理系統(tǒng),都可以利用Petri網(wǎng)構(gòu)造出要開發(fā)

的Petri網(wǎng)模型。它通過使用標記去模擬系統(tǒng)的動態(tài)行為和并發(fā)活動。

4.Petri網(wǎng)可以奉行系統(tǒng)的哪些行為特征?這些特征的含義各是什么?

答:行為特征及其含義如下:

(1)可達性:可達性是研究任何系統(tǒng)動態(tài)特征的基礎。

(2)有界性。

(3)活性:在操作系統(tǒng)中,活性的概念與安全無死鎖緊密相關。

(4)可逆性。

(5)可覆蓋性。

(6)持久性。

(7)同步距離:同步距離是條件/事件系統(tǒng)中與兩個事件間相互獨立成都緊密相關的

一種量度。

(8)公平性:包括有界公平性和無條件公平性。

5.Petri網(wǎng)的性能分析方法有哪幾種?其原理各是什么?

答:分析方法可分為三類,

(1)可覆蓋性樹。這種方法實質(zhì)上包含了所有可達標識或它們的可覆蓋標識的枚舉,

適用于所有類型的網(wǎng)。

(2)矩陣方程求解。這種方法求解能力強,但在許多情況下,它僅適用于Petri網(wǎng)的

一些特殊之類或特殊情況。

(3)分層或化簡。這種方法實在保證網(wǎng)系統(tǒng)要分析的性質(zhì)不變的情況下進行分層或化

簡,它設計一些變換的方法的研究。

第十六章軟件實現(xiàn)

1.軟件實現(xiàn)完成什么任務?

答:軟件實現(xiàn)就是在詳細設計的基礎上,用一種程序設計語言來講設計轉(zhuǎn)換為程序,得到的

結(jié)果是源程序代碼。

2.你了解當前流行的編程語言嗎?(列舉兩種以上)它們的特點是什么?適合設計什么樣

的系統(tǒng)?

答:(1)C語言:具有很強功能的語言,支持復雜的數(shù)據(jù)結(jié)構(gòu),可大量運用指針,具有豐富

靈活的操作運算符及數(shù)據(jù)處理操作符:。還可以直接對位進行操作,程序運行效率高。適合科

學工程計算。

(2)JAVA語言:是由Sun公司開發(fā)的一種面向?qū)ο蟮摹⒎植际降?、安全的程序設計語

言。因為它運行在JAVA虛擬機上,因此它與硬件無關,也體現(xiàn)了它的易移植性。

3.良好的編程風格帶來的好處是什么?請舉例說出有哪些公認的良好的編程風格?

答:一個公認的、良好的編程風格可以減少編碼的錯誤,減少讀程序的時間,從而提高軟件

的開發(fā)效率。

4.在代碼上提高程序的效率,可以做哪些方面的工作?

答:(1)在進行編碼以前,應建華算法中的算術表達式和邏輯表達式,使之顯得簡潔。

(2)對嵌套循環(huán)仔細審查,在循環(huán)內(nèi)部的語句和表達式越少越好。

(3)應盡量避免使用多維數(shù)組。

(4)應盡量避免使用指針和復雜的列表。

(5)采用效率高的算術運算。

(6)要避免采用混合數(shù)據(jù)類型。

(7)只要有可能,就應當采用占用內(nèi)存少的數(shù)據(jù)類型。

5.冗余編程的目的是什么?

答:冗余是改善系統(tǒng)可靠性的一種重要技術。冗余編程后的在于保證一個軟件在出現(xiàn)錯誤時

能有另一個軟件能提高相同的功能以保證工作繼續(xù)進行。

6.硬件冗余和軟件冗余的區(qū)別是什么?

答:硬件冗余僅使用兩個或兩個以上的硬件保持系統(tǒng)運行。軟件冗余這是兩個功能相同但源

程序不同的兩個軟件。

7.舉例說明冗余可以提高系統(tǒng)可靠性的原因。

答:書P430。

8.發(fā)展軟件容錯技術的目的是什么?

答:提高軟件質(zhì)量和可靠性的技術大致可分為兩類,一類是避開錯誤技術,即在開發(fā)的過程

中不讓差錯潛入軟件的技術;另一種是容錯技術,即對某些無法避開的差錯,使其影響減至

最少的技術。但是,無論使用多么高明的避開錯誤技術,在理論上都無法證明程序的正確性,

無法做到完美無缺和絕無錯誤,這就需要采用容錯技術以使錯誤發(fā)生時不影響系統(tǒng)的特性,

或使錯誤發(fā)生時對用戶的影響限制在某些允許的范圍內(nèi)。

9.你認為容錯軟件應該具有什么樣的功能?

答:(1)在一定程度上對自身錯誤具有屏蔽能力。

(2)在一定程度上能從錯誤狀態(tài)自動恢復到正常狀態(tài)。

(3)程序存在錯誤而且發(fā)生時,仍然能在?定程度上完成預期的功能。

(4)在一定程度上具有容錯的能力。

10.請簡單敘述容錯軟件的設計過程。

答:其設計步驟如下:

(1)首先要按設計任務要求進行常規(guī)設計,盡量保證設計的正確。

(2)根據(jù)系統(tǒng)的工作環(huán)境,對可能出現(xiàn)的錯誤分類,確定實現(xiàn)容錯的范圍。

(3)按照“成本-效益”最優(yōu)的原則,選用某種冗余手段(結(jié)構(gòu)、信息、時間)來實

現(xiàn)對各類錯誤的屏蔽。

(4)分析或驗證上述冗余結(jié)構(gòu)的容錯效果。

第十七章軟件質(zhì)量

1.軟件質(zhì)量的定義是什么?

答:(1)軟件產(chǎn)品具備滿足給定需求的特性及特征的總體的能力。

(2)軟件擁有所期望的各種屬性組合的程度。

(3)用戶認為軟件滿足他們綜合期望的程度。

(4)軟件組合特性可以滿足用戶預期需求的程度。

2.McCall提出的軟件質(zhì)量特性有哪些?

答:McCall認為軟件質(zhì)量由12個特性組成,分別面向軟件產(chǎn)品的運行、修正、轉(zhuǎn)移。

(1)產(chǎn)品運行:正確性、可靠性、可使用性、效率、完整性、安全性。

(2)產(chǎn)品修正:可維護性、可測試性、靈活性。

(3)產(chǎn)品轉(zhuǎn)移:互連性、可移植性、復用性。

3.請分析成立軟件管理小組的利弊?

答:書P452。

4.軟件質(zhì)量度量存在哪些質(zhì)量標準?

答:(1)客觀性。

(2)可靠性。

(3)適用性。

(4)標準化。

(5)可比較性。

(6)經(jīng)濟性。

(7)有效性。

5.什么叫做軟件質(zhì)量保證?其工作原則是什么?

答:軟件質(zhì)量保證是一個復雜的系統(tǒng),它采用一定的技術、方法和工具,來處理和調(diào)整軟件

產(chǎn)品滿足需求時的相互關系,以確保軟件產(chǎn)品滿足或超過在該產(chǎn)品的開發(fā)過程中所規(guī)定的標

淮。其工作原則如下:

(1)盡可能做到質(zhì)量特征的具體化及量化。

(2)要找出每個階段的具體質(zhì)量特征。

(3)針對具體產(chǎn)品和相應項目制定質(zhì)量計劃。

(4)檢查質(zhì)量測試結(jié)果。

(5)進行各種質(zhì)量評審。

(6)優(yōu)化的建設性的質(zhì)量保證。

(7)盡早發(fā)現(xiàn)并改正錯誤和缺陷。

(8)集中進行質(zhì)量保證。

(9)獨立的質(zhì)量測試。

(10)對所應用的軟件質(zhì)量保證措施的評價。

6.如何選擇參加評審的成員?

答:首先要尋找一個主席,合適的主席的標準是能夠識別和評價錯誤的專家,有威信和信服

力。選擇了主席后,由主席和測試對象的主持人共同選擇其他參加成員。選擇的成員應當包

括具有轉(zhuǎn)么知識,及在數(shù)據(jù)庫和應用領域有長期經(jīng)驗的專家,被評審系統(tǒng)的可能用戶及有能

力并擅長用系統(tǒng)分析的方法發(fā)現(xiàn)邏輯矛盾的人。

7.走杳與審查有什么區(qū)別?

答:走查是審評過程中采用的一種方法。走查時,軟件設計者或程序開發(fā)人員指導一名或多

名其他參加評審的成員,通讀已書寫的設計文檔或編碼,其他成員負責提出問題,并對有關

技術、風格、可能的錯誤、是否有違背評審標準的地方進行評論。

審查是一種正式的評定技術。由除被審查對象的作者之外的某人或某一小組自習檢查軟

件需求、設計或編碼,以找出故障和其他?些問題。

8.評審有什么優(yōu)點?還有什么需要改進?

答:優(yōu)點:

(1)評審復雜情況時的分析、識別、評價和測試等方面充分發(fā)揮人們的思維能刀。

(2)評審不僅適用于檢驗正式的文檔,如程序清亙,也適用于檢驗非正式的文檔,如

口頭的設計說明等。

(3)用評審方式檢查程序具有很高的成功率。

缺點:

(1)評審的成功與否完全依賴于參加評審的人員,他們的原則性是至關重要的。

(2)交流的氣氛對于發(fā)揮人們的思考和分析能力是很重要的。

(3)解決問題可能占用有價值的評審時間,以至于不能發(fā)現(xiàn)更多的錯誤。

(4)存在著評價工作人員的可能,這將使檢查過程的有效性降低。

(5)評審對開發(fā)過程的重要性往往被低估了。

9.軟件可靠性的定義是什么?

答:IEEE把軟件可靠新定義如下:

(1)在規(guī)定的條件下,在規(guī)定的時間內(nèi),軟件不引起系統(tǒng)失敗的概率,該概率是系統(tǒng)

輸入和系統(tǒng)使用的函數(shù),也是軟件中存在錯誤的函數(shù)。系統(tǒng)輸入將確定是否會遇

到已存在的錯混。

(2)在規(guī)定的時間周期內(nèi),在所述條件下程序執(zhí)行所要求的功能的能力。

10.軟件可靠性定義中,規(guī)定的條件指什么?規(guī)定的時間又指什么?

答:規(guī)定的時間:在軟件測試和運行中,有三種時間度量。第一種是日歷時間,第二種是時

鐘時間,第三種是執(zhí)行時訶。

規(guī)定的條件:是指環(huán)境條件。環(huán)境條件包括了與程序存儲、運行有關的計算機及其操作

系統(tǒng)。

第十八章軟件測試

1.軟件測試的目的是什么?

答:軟件測試要求認定剛開發(fā)的軟件是錯誤的,它的F1的是找出錯誤所在,而不是“說明程

序能正確地執(zhí)行它應有的功能”,也不是“表明程序沒有錯誤”。

2.軟件測試中應遵循哪些原則?

答:(1)測試用例由輸出數(shù)據(jù)和預期的輸出數(shù)據(jù)兩部分組成。需要將程序運行后的結(jié)果和預

期的輸出相比較來測試程序。

(2)在輸入數(shù)據(jù)的選擇上,不僅要選擇合理的輸入數(shù)據(jù),還要選擇不合理的輸入數(shù)據(jù)。

這樣可提高程序運行的可靠性。程序應該對不合理的輸入數(shù)據(jù)給出相應提示。

(3)用窮舉測試是不可能的??梢酝ㄟ^設計測試用例,充分覆蓋所有的條件。

(4)應該在真正的測試工作開始之前很長時間內(nèi),就根據(jù)軟件的需求和設計來制定測試

計劃,在測試工作開始后,要嚴格執(zhí)行,排除隨意性。

(5)長期保留測試用例。

(6)對發(fā)現(xiàn)錯誤較多的程序段,應進行更深入的測試。

(7)為了打到最佳測試效果,應該有第三方來構(gòu)造測試用例。

3.說說曾經(jīng)做過的測試經(jīng)歷。

答:無。

4.試從時間、手段和目的上比較靜態(tài)測試和動態(tài)測試的區(qū)別。

答:靜態(tài)測試是采用人工檢測和計算機輔助靜態(tài)分析的手段對程序進行檢測。

動態(tài)測試與靜態(tài)測試相反,主要是設計一組輸入數(shù)據(jù),然后通過運行程序來發(fā)現(xiàn)錯誤。

5.白盒測試的原理是什么?

答:該方法吧測試對象看做一個透明的盒子,測試人員能了解程序的內(nèi)容結(jié)構(gòu)和處理過程,

以檢查處理過程為目的,對程序中盡可能多的邏輯路徑進行測試,在所有的點檢驗內(nèi)部控制

結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)是否和預期的相同。

6.舉例說明白盒測試不能窮舉測試的原因。

答:如測試一個循環(huán)20次嵌套的IF語句,循環(huán)體中有5個路徑。測試這個程序的執(zhí)行路徑

未5的20次方,如果每亳秒完成一個路徑的測試,完成此程序的測試需3170年。

7.黑盒測試的原理是什么?測試的目的是什么?

答:該方法把被測試對象看成一個黑盒子,測試人員完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程,

只在軟件的界面上進行測試,用來證實軟件功能的可操作性,檢杳程序是否滿足功能要求,

是否能很好地接受數(shù)據(jù),并產(chǎn)生正確的輸出。

測試的目的在于發(fā)現(xiàn)以下錯誤:(1)是否有不正確或遺漏了的功能。

(2)在界面上,能否正確地處理合理和不合理的輸入數(shù)

據(jù),并產(chǎn)生正確的輸出信息。

(3)訪問外部信息是否有錯。

(4)性能上是否滿足要求等。

(5)初始化和終止錯誤。

8.在白盒測試中,有哪些設計測試用例的技術?

答:白盒測試是結(jié)構(gòu)測試,所以一般都是以程序的內(nèi)部邏輯結(jié)構(gòu)為基礎來設計測試用例。

(1)邏輯覆蓋:①語句覆蓋②判定覆蓋③條件覆蓋④判定/條件覆蓋⑤條件組合

覆蓋⑥路徑覆蓋

(2)循環(huán)覆蓋:①單循環(huán)②嵌套循環(huán)

(3)基本路徑測試

9.邏輯覆蓋的含義是什么?

答:當程序中有循環(huán)時,覆蓋每條路徑是不可能的,需要設計使覆蓋程度較高的或覆蓋最有

代表性的路徑的測試用例,

10.如果你負責對一個軟件進行測試,你將如何安排你的工作計劃?

答:書P472圖18-4o

11.確認測試的作用是什么?

答:確認測試乂稱有效性測試。它的任務是檢查軟件的功能與性能是否與需求說明書中規(guī)定

的指標相符合。因而需求說明是確認測試的基礎。

第十九章軟件維護

1.軟件的可維護性和哪些因素有關?

答:(1)系統(tǒng)大小(2)系統(tǒng)的開發(fā)文檔(3)其他因素

2.軟件的維護包括哪些維護活動?

答:(1)改正性維護(2)適應性維護(3)完善性維護(4)預防性維護

3.軟件維護在這個軟件生命周期中處于哪?種生命位置?

答:NotFound.

4.如何對軟件的可維護性進行度量?

答:使用如下七個特性進行度量:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論