軟件工程簡(jiǎn)答題答案第五版_第1頁(yè)
軟件工程簡(jiǎn)答題答案第五版_第2頁(yè)
軟件工程簡(jiǎn)答題答案第五版_第3頁(yè)
軟件工程簡(jiǎn)答題答案第五版_第4頁(yè)
軟件工程簡(jiǎn)答題答案第五版_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、軟件工程簡(jiǎn)答題第一章 緒論1 什么是軟件危機(jī)?軟件危機(jī)有什么表現(xiàn)?軟件危機(jī)產(chǎn)生的原因是什么? 答:所謂軟件危機(jī)是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過(guò)程中所遇到的一系列嚴(yán)重問(wèn)題。 主要是 指如何開發(fā)軟件,怎樣滿足對(duì)軟件日益增長(zhǎng)的需求,如何維護(hù)數(shù)量不斷膨脹的先有軟件。表現(xiàn):( 1)對(duì)于軟件開發(fā)的成本和進(jìn)度的估計(jì)很不準(zhǔn)確。 (2)開發(fā)的軟件產(chǎn)品不能完全滿足 用戶要求, 用戶對(duì)已完成的軟件系統(tǒng)不滿意的現(xiàn)象常常發(fā)生。 (3)開發(fā)的軟件可靠性差。 ( 4) 軟件通常沒(méi)有適當(dāng)?shù)奈臋n資料。 (5)軟件的可維護(hù)性差。 ( 6)軟件開發(fā)生產(chǎn)率提高的速度, 遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用普及深入的趨勢(shì)。原因:軟件開發(fā)中遇到的問(wèn)題因找

2、不到解決的辦法,使問(wèn)題積累起來(lái),形成了尖銳的矛盾, 導(dǎo)致了軟件危機(jī)。2 簡(jiǎn)述軟件的發(fā)展過(guò)程。答:軟件生產(chǎn)的發(fā)展劃分為三個(gè)年代: (1 )程序設(shè)計(jì)時(shí)代:這一時(shí)期,軟件的生產(chǎn)主要是個(gè) 體手工勞動(dòng)的生產(chǎn)方式。 ( 2)程序系統(tǒng)時(shí)代: 由于計(jì)算機(jī)的應(yīng)用領(lǐng)域不斷擴(kuò)大,軟件的需求 也不斷增長(zhǎng), 軟件由于處理的問(wèn)題域擴(kuò)大而使程序變得復(fù)雜, 設(shè)計(jì)者不得不由個(gè)體手工勞動(dòng) 組成小集團(tuán)合作, 形成作坊式生產(chǎn)方式小集團(tuán)合作生產(chǎn)的程序系統(tǒng)時(shí)代。 ( 3)軟件工程時(shí)代: 軟件工程時(shí)代的生產(chǎn)方式是采用工程的概念、原理、技術(shù)和方法,使用數(shù)據(jù)庫(kù)、開發(fā)工具、 開發(fā)環(huán)境、網(wǎng)絡(luò)、分布式、面向?qū)ο蠹夹g(shù)來(lái)開發(fā)軟件。3 什么叫軟件工程?軟

3、件工程是如何克服軟件危機(jī)的? 答:軟件工程是將系統(tǒng)的、規(guī)的、可度量的工程化方法應(yīng)用于軟件開發(fā)、運(yùn)行和維護(hù)的全過(guò) 程及上述方法的研究。 為了克服軟件危機(jī), 人們從其他產(chǎn)業(yè)的工程化生產(chǎn)得到啟示, 采用工 程的概念、原理、技術(shù)和方法來(lái)開發(fā)和維護(hù)軟件。4 軟件工程的目標(biāo)是什么?軟件工程有哪些原則? 答:軟件工程的目標(biāo)是:在給定成本、進(jìn)度的前提下,開發(fā)出具有可修改性、有效性、可靠 性、可理解性、可維護(hù)性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性并滿足 用戶需求的軟件產(chǎn)品。原則如下:抽象、模塊化、信息隱藏、局部化、完整性、一致性和可 驗(yàn)證性。5 為什么說(shuō)軟件工程是一門綜合性的交叉學(xué)科? 答:因?yàn)?/p>

4、軟件工程涉及哲學(xué)、計(jì)算機(jī)科學(xué)、工程科學(xué)、管理科學(xué)、數(shù)學(xué)和應(yīng)用領(lǐng)域知識(shí)。6 軟件工程方法學(xué)的基本容包括哪些?答:基本容包括: (1)結(jié)構(gòu)化理論和方法。 (2)模塊技術(shù)與數(shù)據(jù)抽象。 ( 3)軟件測(cè)試與程序 正確性證明。 (4)軟件分析與設(shè)計(jì)方法、工具和環(huán)境。 (5)軟件工程管理與質(zhì)量評(píng)價(jià)。7 軟件產(chǎn)品具有哪些特殊性質(zhì)?答: Not found.8 軟件工程學(xué)研究的對(duì)象是什么? 答:軟件工程研究的主要容包括軟件開發(fā)技術(shù)和軟件開發(fā)管理兩個(gè)方面。 在軟件開發(fā)技術(shù)中, 它主要研究軟件開發(fā)方法、軟件開發(fā)過(guò)程、軟件開發(fā)工具和環(huán)境。 在軟件開發(fā)管理中, 它主 要研究軟件管理學(xué)、軟件經(jīng)濟(jì)學(xué)和軟件心理學(xué)等。第二章

5、基本理論主要有: 瀑布模型、1 什么是軟件的生命周期模型?它主要有那些模型? 答:軟件生命周期模型是描述軟件開發(fā)過(guò)程中各種活動(dòng)如何執(zhí)行的模型。 原型模型、增量模型、螺旋模型、噴泉模型、基于知識(shí)的模型和變換模型。2 什么是軟件開發(fā)方法?有那些主要開發(fā)方法? 答:軟件開發(fā)方法是一種使用早已定義好的技術(shù)集及符號(hào)表示習(xí)慣組織軟件生產(chǎn)過(guò)程的方 法。主要有:結(jié)構(gòu)化方法、 Jackson 方法、維也納開發(fā)方法和面向?qū)ο蟮拈_發(fā)方法。3 開發(fā)軟件為什么首先要確定軟件生命周期模型? 答:一個(gè)強(qiáng)有力的軟件生命周期模型對(duì)軟件開發(fā)提供了強(qiáng)有力的支持, 為軟件開發(fā)過(guò)程中所 有活動(dòng)提供了統(tǒng)一的政策保證, 為參與軟件開發(fā)的所

6、有成員提供了幫助和指導(dǎo)。 它提示了如 何演繹軟件過(guò)程的思想, 是軟件生命周期模型化技術(shù)的基礎(chǔ), 也是建立軟件開發(fā)環(huán)境的核心。4 軟件工程過(guò)程包括那些過(guò)程?答:包括如下 7 個(gè)過(guò)程:(1)開發(fā)過(guò)程( 2)管理過(guò)程( 3)供應(yīng)過(guò)程( 4)獲取過(guò)程( 5)操 作過(guò)程( 6)維護(hù)過(guò)程( 7)支持過(guò)程5 軟件生命周期階段的劃分為什么要受軟件的規(guī)模、性質(zhì)、種類、開發(fā)方法等影響? 答:因?yàn)檐浖谄渖嫫诘拿總€(gè)階段都有較明顯的特征, 有相對(duì)獨(dú)立的任務(wù), 有其專門的方 法和工具。6 軟件定義與分析時(shí)期主要解決什么問(wèn)題? 答:通俗地講,主要解決以下問(wèn)題: ( 1)要做的是什么軟件?( 2)沒(méi)有有可行性?( 3)軟

7、 件的具體需什么?( 4)驗(yàn)收標(biāo)準(zhǔn)是什么?7 瀑布模型的主要開發(fā)過(guò)程和優(yōu)缺點(diǎn)有哪些?答:開發(fā)過(guò)程有 6 個(gè)階段:系統(tǒng)需求分析、軟件需求分析、系統(tǒng)設(shè)計(jì)、軟件編碼、系統(tǒng)測(cè)試 和軟件維護(hù)。優(yōu)缺點(diǎn):8 簡(jiǎn)述原型模型的特點(diǎn),它與瀑布模型的關(guān)鍵區(qū)別是什么? 答:原型模型的最大特點(diǎn)是: 利用原型法技術(shù)能夠快速實(shí)現(xiàn)系統(tǒng)的初步模型, 供開發(fā)人員和 用戶進(jìn)行交流, 以便較準(zhǔn)確地獲得用戶的需求; 采用逐步求精的方法使原型逐步完善, 這是 一種在新的層次上不斷反復(fù)推進(jìn)的過(guò)程。 它與瀑布模型的關(guān)鍵區(qū)別是它可以大大避免在瀑布 模型冗長(zhǎng)的開發(fā)過(guò)程中看不見產(chǎn)品雛形的現(xiàn)象。9 簡(jiǎn)述噴泉模型的基本思想。答:噴泉模型以面向?qū)ο蟮能?/p>

8、件開發(fā)方法為基礎(chǔ), 以用戶需求為動(dòng)力, 以對(duì)象作為驅(qū)動(dòng)的模 型。它適合面向?qū)ο蟮拈_發(fā)方法。第三章 可行性研究1 可行性研究論證主要集中在那些領(lǐng)域? 答: Not found.2 如何進(jìn)行軟件的成本估算?答:首先可以用代碼行定量估算方法, 把開發(fā)軟件中實(shí)現(xiàn)每一個(gè)功能所需要的源代碼行數(shù)與 成本聯(lián)系起來(lái)。其次可以用任務(wù)分解技術(shù)估算成本。3 可行性研究的任務(wù)是什么?答:一般從以下四個(gè)方面研究系統(tǒng)方案的可行性。(1)技術(shù)可行性研究( 2)經(jīng)濟(jì)可行性研究( 3)法律可行性研究( 4)開發(fā)方案的選擇性研究4 簡(jiǎn)述可行性研究的步驟。答:研究步驟: (1)系統(tǒng)定義( 2)對(duì)于現(xiàn)行系統(tǒng)進(jìn)行分析研究( 3)導(dǎo)出新系

9、統(tǒng)的邏輯模型(4)設(shè)計(jì)方案( 5)推薦可行的方案( 6)編寫可行性研究報(bào)告5 在軟件的系統(tǒng)分析之前,為什么要制訂一個(gè)系統(tǒng)的標(biāo)準(zhǔn)?答: Not found.6 可行性研究報(bào)告的主要容有哪些?答:( 1)引言( 2)可行性研究前提( 3)對(duì)現(xiàn)行系統(tǒng)的分析( 4)所建議系統(tǒng)的技術(shù)可行性 分析( 5)所建議系統(tǒng)的經(jīng)濟(jì)可行性分析( 6)社會(huì)因素可行性分析( 7)其他可供選擇方案 (8)結(jié)論意見7 你認(rèn)為在成本估算中,貨幣的時(shí)間價(jià)值在可行性中的作用是什么? 答:由于經(jīng)濟(jì)效益與軟件的生命周期的長(zhǎng)度有關(guān), 貨幣的時(shí)間價(jià)值就直接影響軟件的開發(fā)和 維護(hù)成本,從而直接影響軟件的經(jīng)濟(jì)效益。8 經(jīng)過(guò)可行性研究后,一個(gè)項(xiàng)

10、目如果值得開發(fā),為什么要制定項(xiàng)目開發(fā)計(jì)劃? 答:因?yàn)檐浖_發(fā)項(xiàng)目的計(jì)劃涉及實(shí)施項(xiàng)目的各個(gè)環(huán)節(jié), 帶有全局的性質(zhì)。 計(jì)劃的合理性和 準(zhǔn)確性往往關(guān)系著項(xiàng)目的成敗。第四章 需求分析與系統(tǒng)結(jié)構(gòu)1 需求分析的目的是什么?答:需求分析是軟件定義時(shí)期的最后一個(gè)階段,其基本任務(wù)是回答 “系統(tǒng)必須做什么” 這個(gè) 問(wèn)題,確定系統(tǒng)必須完成哪些工作。對(duì)目標(biāo)系統(tǒng)提出完整、準(zhǔn)確的要求。2 怎樣建立目標(biāo)系統(tǒng)的邏輯模型?要經(jīng)過(guò)哪些步驟? 答:分析人員根據(jù)前面獲取的需求資料, 要進(jìn)行一致性的分析檢查,在分析、綜合種逐步細(xì) 化軟件功能,劃分成各個(gè)子功能。同時(shí)對(duì)數(shù)據(jù)域進(jìn)行分解,并分配到各個(gè)之功能上,以確定 系統(tǒng)的構(gòu)成及主要成分。最

11、后要用圖文結(jié)合的形式,建立起系統(tǒng)的邏輯模型。3 什么是結(jié)構(gòu)化分析?答:結(jié)構(gòu)化方法是分析、 設(shè)計(jì)到實(shí)現(xiàn)都使用結(jié)構(gòu)化思想的軟件開發(fā)方法, 實(shí)際上它由三部分 組成:結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計(jì)和結(jié)構(gòu)化程序設(shè)計(jì)。它也是一種實(shí)用的軟件開發(fā)方法。4 需求分析由哪些部分組成?答:( 1)問(wèn)題明確定義( 2)導(dǎo)出軟件的邏輯模型( 3)編寫文檔5 需求分析為什么要研究問(wèn)題域?答: Not found.6 良好的軟件體系結(jié)構(gòu)設(shè)計(jì)有什么好處? 答:體系結(jié)構(gòu)的設(shè)計(jì)對(duì)于一個(gè)大型系統(tǒng)的設(shè)計(jì)、 開發(fā)的成敗起著至關(guān)重要的作用。 體系結(jié)構(gòu) 對(duì)于系統(tǒng)的非功能屬性如系統(tǒng)性能、可擴(kuò)展性、可靠性、安全性、精確度、可復(fù)用性、互操 作性等的影響

12、尤為深刻。 因而一個(gè)良好的軟件體系結(jié)構(gòu)設(shè)計(jì)保證了軟件系統(tǒng)的性能和生命周 期。7 消除包之間的循環(huán)依賴性有哪兩種主要方法?答:( 1) PackageA 將 PackageA 中的循環(huán)依賴元素提取到 PackageC 中 PackageA PackageB PackageB PackageC ( 2) PackageA PackageA 將 PackageC 中的循環(huán)依賴元素提取到 PackageD 中 PackageB PackageB PackageC PackageC PackageD8 簡(jiǎn)述 UML 和 Z 結(jié)合的求精方法。答:和目前工程界的常規(guī)方法相比, 基于 UML 和 Z 的軟件體

13、系結(jié)構(gòu)求精方法有明顯的不同。 首先,開發(fā)原則不同,基于 UML 和 Z 的軟件體系結(jié)構(gòu)求精方法通常希望能夠直接構(gòu)造出盡 可能正確的系統(tǒng)。其次,開發(fā)模式也不同,在使用基于UML 和 Z 的軟件系統(tǒng)結(jié)構(gòu)求精方法開發(fā)過(guò)程中,需求分析和設(shè)計(jì)階段需求投入大量的工作通常占到全部工作量的60% 70%,而編碼和測(cè)試工作只占 30% 40%。第五章 總體設(shè)計(jì)1 結(jié)構(gòu)化設(shè)計(jì)方法的基本思想是什么?它怎樣與結(jié)構(gòu)化分析銜接? 答:結(jié)構(gòu)化設(shè)計(jì)是以結(jié)構(gòu)化分析產(chǎn)生的數(shù)據(jù)流圖為基礎(chǔ), 將數(shù)據(jù)流圖按一定的步驟映射成軟 件結(jié)構(gòu)。 與結(jié)構(gòu)化分析銜接, 構(gòu)成了完整的結(jié)構(gòu)化分析與設(shè)計(jì)技術(shù), 是目前最廣泛的軟件設(shè) 計(jì)方法之一。2 簡(jiǎn)述軟

14、件總體設(shè)計(jì)階段的基本任務(wù)。 答:軟件總體設(shè)計(jì)階段的任務(wù)是概要地回答系統(tǒng)應(yīng)該如何實(shí)現(xiàn), 因此要把握與詳細(xì)設(shè)計(jì)的區(qū) 別。要完成如下任務(wù): ( 1)軟件系統(tǒng)結(jié)構(gòu)設(shè)計(jì)( 2)數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫(kù)設(shè)計(jì)( 3)網(wǎng)絡(luò)系統(tǒng)設(shè) 計(jì)( 4)軟件總體設(shè)計(jì)文檔( 5)評(píng)審3 舉例說(shuō)明各種類型的模塊耦合。答:( 1)數(shù)據(jù)耦合:兩個(gè)模塊彼此間通過(guò)參數(shù)交換信息,而且交換的信息僅僅是數(shù)據(jù)。(2)控制耦合: 傳遞的信息中有控制信息。 ( 3)公共環(huán)境耦合:兩個(gè)或多個(gè)模塊通過(guò)一個(gè)公共數(shù) 據(jù)環(huán)境相互作用的耦合。 ( 4)容耦合:最高程度的耦合,如P121 圖。4 簡(jiǎn)述模塊、模塊化及模塊化設(shè)計(jì)的概念。 答:模塊在程序中是數(shù)據(jù)說(shuō)明、 可執(zhí)

15、行語(yǔ)句等程序?qū)ο蟮募希?或者是單獨(dú)命名和編址的元 素,如高級(jí)語(yǔ)言中的過(guò)程、函數(shù)和子程序等。在軟件的體系結(jié)構(gòu)中,模塊是可組合、可分解 和更換的單元。 模塊化是指解決一個(gè)復(fù)雜問(wèn)題時(shí)自頂向下逐層把軟件系統(tǒng)劃分成若干模塊的 過(guò)程。5 什么是模塊的獨(dú)立性?設(shè)計(jì)中為什么模塊要獨(dú)立?對(duì)于獨(dú)立性怎樣度量? 答:劃分模塊時(shí),盡量做到高聚,低耦合,保持模塊相對(duì)對(duì)立性,并以此原則又話初始的軟 件結(jié)構(gòu)。(1)如果若干模塊之間耦合強(qiáng)度過(guò)高,每個(gè)模塊功能不復(fù)雜,可將它們合并,以減 少信息的傳遞和公共區(qū)的引用。 (2)若有多個(gè)相關(guān)模塊, 應(yīng)該對(duì)它們的功能進(jìn)行分析, 校區(qū) 重復(fù)功能。6 試論“一個(gè)模塊,一個(gè)功能”的優(yōu)點(diǎn)。答

16、: Not found.7 簡(jiǎn)述變換流的設(shè)計(jì)步驟。答:( 1)確定數(shù)據(jù)流圖中的變換中心、邏輯輸入和邏輯輸出(2)設(shè)計(jì)軟件結(jié)構(gòu)的頂層和第一層( 3)設(shè)計(jì)中、下層模塊( 4)設(shè)計(jì)的優(yōu)化8 簡(jiǎn)述事務(wù)流的設(shè)計(jì)步驟。答:( 1)確定數(shù)據(jù)流圖中的事務(wù)中心和加工路徑( 2)設(shè)計(jì)軟件結(jié)構(gòu)的頂層和第一層( 3)進(jìn) 行事務(wù)結(jié)構(gòu)中、下層模塊的設(shè)計(jì)、優(yōu)化等工作。9 試論軟件設(shè)計(jì)與軟件質(zhì)量的關(guān)系。答:10什么是模塊的影響圍?什么是模塊的控制圍?它們之間應(yīng)該建立什么樣的關(guān)系? 答:在軟件結(jié)構(gòu)中,由于存在著不同事務(wù)處理的需要,某一層上的模塊會(huì)存在著判斷處理, 這樣可能影響其它層的模塊處理。 一個(gè)模塊的作用圍應(yīng)在其控制圍之,

17、 且條件判定所在的模 塊應(yīng)與受影響的模塊在層次上盡量靠近。11. 什么是軟件結(jié)構(gòu)?簡(jiǎn)述軟件結(jié)構(gòu)設(shè)計(jì)的優(yōu)化準(zhǔn)則。答:軟件結(jié)構(gòu)是軟件系統(tǒng)的模塊層次結(jié)構(gòu), 反映了整個(gè)系統(tǒng)的功能實(shí)現(xiàn), 即將來(lái)程序的控制 層次體系。 對(duì)于一個(gè)問(wèn)題, 可用不同的軟件結(jié)構(gòu)來(lái)解決, 不同的設(shè)計(jì)方法和不同的劃分與組 織,得出不同的軟件結(jié)構(gòu)。為了提高設(shè)計(jì)的質(zhì)量,必須根據(jù)軟件設(shè)計(jì)的原理改進(jìn)軟件設(shè)計(jì), 優(yōu)化準(zhǔn)則如下: (1)模塊獨(dú)立性準(zhǔn)則( 2)控制與作用圍之間的準(zhǔn)則( 3)結(jié)構(gòu)特征準(zhǔn)則( 4) 模塊的接口準(zhǔn)則第六章 軟件詳細(xì)設(shè)計(jì)1. 簡(jiǎn)述詳細(xì)設(shè)計(jì)的基本原則與主要任務(wù)。答:詳細(xì)設(shè)計(jì)要完成所有設(shè)計(jì)的細(xì)節(jié)。主要任務(wù)有:( 1)數(shù)據(jù)結(jié)構(gòu)設(shè)

18、計(jì)( 2)物理設(shè)計(jì)( 3)算法設(shè)計(jì)( 4)界面設(shè)計(jì)( 5)其他設(shè)計(jì)( 6)編寫設(shè)計(jì)說(shuō)明書2. 任意選擇一種排序算法,分別用流程圖和PDL語(yǔ)言描述其詳細(xì)過(guò)程。答: PDL 語(yǔ)言全稱是過(guò)程設(shè)計(jì)語(yǔ)言( Process Design Language),它是在偽代碼的基礎(chǔ)上,擴(kuò) 充了模塊的定義與調(diào)用、數(shù)據(jù)定義和輸入輸出而形成的。它的控制結(jié)構(gòu)與偽代碼相同。 PDL 是一種用于描述模塊算法設(shè)計(jì)和細(xì)節(jié)處理的語(yǔ)言。3. 假設(shè)只有 SEQUENCE和 DO-WHILE 兩種結(jié)構(gòu),如何用它們來(lái)完成 IF-THEN-ELSE的操作? 答: Not found.4. 概要設(shè)計(jì)與詳細(xì)設(shè)計(jì)有什么區(qū)別? 答:在軟件的總體設(shè)

19、計(jì)中,完成了數(shù)據(jù)和系統(tǒng)結(jié)構(gòu)的設(shè)計(jì)。已將系統(tǒng)劃分成為多個(gè)模塊,并 將它們按照一定的原則組裝起來(lái),也確定了每個(gè)模塊的功能及模塊與模塊之間的外部接口。 在理想情況下, 詳細(xì)設(shè)計(jì)是軟件設(shè)計(jì)的第二階段。 在這個(gè)極端, 由于開發(fā)系統(tǒng)外的人員理論 上都使用一種自然語(yǔ)言, 因此設(shè)計(jì)說(shuō)明最好是用自然語(yǔ)言。 很清楚, 這個(gè)階段必須定義過(guò)程 的細(xì)節(jié)。第七章 面向?qū)ο蠓椒ǜ耪?. 什么是面向?qū)ο螅?答:面向?qū)ο蠓椒ㄊ且环N運(yùn)用對(duì)象、類、繼承、封裝、聚合、消息傳送、多態(tài)性等概念來(lái)構(gòu) 造系統(tǒng)的軟件開發(fā)方法。2. 面向?qū)ο蟮陌l(fā)展經(jīng)歷了哪幾個(gè)階段? 答:面向?qū)ο蠓椒ǖ哪承└拍睿?可以追溯到 20 世紀(jì) 50 年代人工智能的早期

20、研究。 但是人們 一般把 20世紀(jì) 60 年代由挪威計(jì)算中心開發(fā)的 Simula-67 語(yǔ)言看做面向?qū)ο笳Z(yǔ)言發(fā)展史上的 第一個(gè)里程碑。但是直到 20 世紀(jì) 80 年代后期,第二種語(yǔ)言 SmallTalk 的應(yīng)用尚不夠廣泛。20 世紀(jì) 80 年代中期到 90 年代,是面向?qū)ο笳Z(yǔ)言走向繁榮的階段。3. 面向?qū)ο蠓椒ㄓ惺裁刺攸c(diǎn)?答:主要有以下特點(diǎn):(1)從問(wèn)題域中客觀存在的事物出發(fā)來(lái)構(gòu)造軟件系統(tǒng),用對(duì)象作為對(duì)這些事物的抽象表示,并以此作為系統(tǒng)的基本構(gòu)成單位。(2)事物的靜態(tài)特征(即可能用一些數(shù)據(jù)來(lái)表達(dá)的特征)用對(duì)象的屬性表示,事物的動(dòng)態(tài) 特征(即事物的行為)用對(duì)象的服務(wù)表示。(3)對(duì)象的屬性與服務(wù)結(jié)

21、合為一體,成為一個(gè)獨(dú)立的實(shí)體,對(duì)外屏蔽其部細(xì)節(jié),即封裝。(4)對(duì)事物進(jìn)行分類。 把具有相同屬性和服務(wù)的對(duì)象歸為一類, 類是這些對(duì)象的抽象描述, 每個(gè)對(duì)象是它的類的一個(gè)示例。(5)通過(guò)在不同程度上運(yùn)用抽象的原則,可以得到較一般的類和較特殊的類。特殊類繼承 一般類的屬性與服務(wù), 面向?qū)ο蠓椒ㄖС謱?duì)這種繼承關(guān)系的描述與實(shí)現(xiàn), 從而簡(jiǎn)化系統(tǒng)的構(gòu) 造過(guò)程及其文檔。(6)復(fù)雜的對(duì)象可以用簡(jiǎn)單的對(duì)象作為其構(gòu)成部分,稱作聚合。(7)對(duì)象之間通過(guò)消息進(jìn)行通信,以實(shí)現(xiàn)對(duì)象之間的動(dòng)態(tài)聯(lián)系。(8)通過(guò)關(guān)聯(lián)表達(dá)對(duì)象之間的靜態(tài)關(guān)系。4. 傳統(tǒng)的軟件工程和面向?qū)ο筌浖こ逃泻萎愅c(diǎn)?答: Not found.5. 什么是繼

22、承? 答:定義:特殊類的獨(dú)享?yè)碛衅湟话泐惖娜繉傩耘c服務(wù), 就是稱作特殊類對(duì)一般類的繼承。6. 什么是消息? 答:定義:消息就是向?qū)ο蟀l(fā)出的服務(wù)請(qǐng)求,它應(yīng)該含有下述信息:提供服務(wù)的對(duì)象標(biāo)識(shí)、 服務(wù)標(biāo)識(shí)、輸入信息和回答信息。7. 什么是多態(tài)性? 答:對(duì)象的多態(tài)性是指在一般類中定義的屬性或服務(wù)被特殊類繼承之后, 可以具有不同的書 類型或表現(xiàn)出不同的行為。 這使得一個(gè)屬性或服務(wù)名在一般類及其各個(gè)特殊類中具有不同的語(yǔ)義。第八章 模型1. 什么是狀態(tài)?答:狀態(tài)是對(duì)象的屬性值和的一種抽象。 根據(jù)影響對(duì)象總的行為的性質(zhì), 一系列組合在一起 是一個(gè)狀態(tài)。2. 什么是事件? 答:事件是發(fā)生在某一個(gè)時(shí)間點(diǎn)的一件事

23、。3. 簡(jiǎn)述構(gòu)成動(dòng)態(tài)模型的幾個(gè)要素。答:( 1)時(shí)間和狀態(tài)( 2)操作( 3)嵌套狀態(tài)圖( 4)實(shí)踐技巧4. 怎樣用狀態(tài)圖描述事件? 答:狀態(tài)圖是這樣一種圖,其結(jié)點(diǎn)表示狀態(tài), 用方向弧和標(biāo)明事件名表示變遷。一個(gè)狀態(tài)化 成矩形圓角框并含有可選的名字, 變遷用從接受狀態(tài)到目標(biāo)狀態(tài)的尖頭表示, 在箭頭上標(biāo)明 產(chǎn)生變遷的事件名, 所有脫離某一狀態(tài)的變遷必對(duì)應(yīng)不同的事件。 狀態(tài)圖詳細(xì)說(shuō)明了由事件 序列引起的狀態(tài)序列。如果一個(gè)對(duì)象處于某一狀態(tài)并且表示它的變遷之一的事件發(fā)生的話, 則對(duì)象進(jìn)入變遷的目標(biāo)終止?fàn)顟B(tài), 這個(gè)變遷稱為 “激發(fā)”。如果多余一個(gè)變遷脫離一個(gè)狀態(tài), 則第一個(gè)發(fā)生的事件引起相應(yīng)的變遷的激發(fā)。

24、 如果一個(gè)事件發(fā)生但沒(méi)有脫離當(dāng)前狀態(tài), 即沒(méi) 有變遷,那么該時(shí)間被忽略。事件的一個(gè)序列對(duì)應(yīng)圖中走過(guò)的一條路徑。5. 簡(jiǎn)述事件如何觸發(fā)操作?答:動(dòng)作是一種瞬間的操作。 動(dòng)作與事件有關(guān), 動(dòng)作表示相對(duì)于狀態(tài)圖的變遷來(lái)說(shuō)時(shí)間延續(xù) 不重要的操作。動(dòng)作也能表示部控制操作,諸如設(shè)定屬性或產(chǎn)生另一個(gè)事件。6. 試述動(dòng)態(tài)模型的并發(fā)性。 答: Not found.7. 用例子說(shuō)明并發(fā)活動(dòng)是如何同步的 答: Not found.第九章 對(duì)象分析1.用圖示表示對(duì)象類及主動(dòng)對(duì)象類的表示法。答:普通類主動(dòng)對(duì)象類2. 研究問(wèn)題域應(yīng)包括哪些工作要點(diǎn)?答:( 1)認(rèn)真聽取問(wèn)題域?qū)<业囊娊猓?2)親臨現(xiàn)場(chǎng)( 3)閱讀領(lǐng)域相關(guān)資

25、料( 4)借鑒他人 經(jīng)驗(yàn)3. 發(fā)現(xiàn)對(duì)象有哪些原則?答:( 1)正確地運(yùn)用抽象原則( 2)策略與啟發(fā):考慮問(wèn)題域 考慮系統(tǒng)邊界 考慮系 統(tǒng)責(zé)任 (3)對(duì)象的發(fā)現(xiàn)和標(biāo)識(shí):動(dòng)機(jī)方法 三視圖模型 ( 4)審查和篩選:舍棄無(wú)用的對(duì)象 對(duì)象的精簡(jiǎn) 推遲到 OOD 考慮的對(duì)象 (5)識(shí)別主動(dòng)對(duì)象4. 試說(shuō)明主動(dòng)服務(wù)與被動(dòng)服務(wù)的區(qū)別。 答:主動(dòng)服務(wù)是不需要接收消息就能主動(dòng)執(zhí)行的服務(wù), 它在程序?qū)崿F(xiàn)中是一個(gè)主動(dòng)地程序成 分,例如用于定義進(jìn)程或線程的程序單位。 被動(dòng)服務(wù)是只有接受到消息才執(zhí)行的服務(wù), 它在 編程實(shí)現(xiàn)中是一個(gè)被動(dòng)的程序成分,例如函數(shù)、過(guò)程、例程等。5. 對(duì)系統(tǒng)中的對(duì)象進(jìn)行哪些步驟以發(fā)現(xiàn)對(duì)象的屬性?

26、答:對(duì)象的屬性是描述對(duì)象靜態(tài)特征的一個(gè)數(shù)據(jù)項(xiàng)。通過(guò)一下步驟:( 1)從廠里判斷這個(gè)對(duì)象應(yīng)該具有哪些屬性。 (2)根據(jù)當(dāng)前問(wèn)題域分析這個(gè)對(duì)象應(yīng)該有哪些屬性。 ( 3)從系統(tǒng)責(zé)任 要求的角度分析這個(gè)對(duì)象應(yīng)具有哪些屬性。 (4)建立這個(gè)對(duì)象涉及到系統(tǒng)中所需的信息,包括要保存和管理的信息。 (5)對(duì)象有哪些需要區(qū)別的狀態(tài), 是否需增加一個(gè)屬性來(lái)區(qū)別這些 狀態(tài)。(6)對(duì)象為了在服務(wù)中實(shí)現(xiàn)其功能,需要增設(shè)哪些屬性。( 7)表示整體 -部分結(jié)構(gòu)和示例連接需要用什么屬性。6. 畫出“?!睂?duì)象的狀態(tài)轉(zhuǎn)換圖。 答:第十章 關(guān)系分析1. 什么叫整體 -部分關(guān)系?答:整體 -部分關(guān)系反映了對(duì)象之間的構(gòu)成關(guān)系,它也稱為

27、聚集關(guān)系,用于描述系統(tǒng)中各類 對(duì)象之間的組成關(guān)系。通過(guò)它可以看出某個(gè)類的對(duì)象以另外一些類的對(duì)象作為其組成部分。2. 用圖示表示整體 -部分結(jié)構(gòu)。答:3. 列舉出幾種情況下運(yùn)用整體 -部分結(jié)構(gòu)而實(shí)現(xiàn)或支持復(fù)用。 答:在以下兩種情況下都可以運(yùn)用整體-部分結(jié)構(gòu)而實(shí)現(xiàn)或支持復(fù)用:一種情況是在兩個(gè)或更多的對(duì)象類中都有一組屬性和服務(wù)描述這些對(duì)象的一個(gè)相同的組成部分。 把它們分離出來(lái) 作為部分對(duì)象,建立整體 -部分結(jié)構(gòu),這些屬性和服務(wù)就被多個(gè)類復(fù)用,從而簡(jiǎn)化了它們的 描述。 另一種情況是系統(tǒng)中已經(jīng)定義了某類對(duì)象, 在定義其他對(duì)象時(shí), 發(fā)現(xiàn)其中一組屬性和 服務(wù)與這個(gè)已定義的對(duì)象是相通的, 那就不必再重復(fù)地定義

28、這些屬性與服務(wù), 只需建立它與 前一類對(duì)象之間的整體 -部分結(jié)構(gòu)。4. 畫出一般類和特殊類的關(guān)系圖。答:5. 畫圖說(shuō)明一般 -特殊結(jié)構(gòu)的表示法。 答:第十一章 控制驅(qū)動(dòng)的設(shè)計(jì)1. 系統(tǒng)總體方案的容包括哪些方面?答:系統(tǒng)的總體方案容如下: (1)項(xiàng)目的背景、目標(biāo)與意義。 (2)系統(tǒng)的應(yīng)用圍。 (3)對(duì)需 求的簡(jiǎn)要描述,采用的主要技術(shù)。 (4)使用的硬件設(shè)備、網(wǎng)絡(luò)設(shè)施和商品軟件。 ( 5)選擇的 軟件體系結(jié)構(gòu)風(fēng)格。 (6)規(guī)劃中的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。 (7)子系統(tǒng)劃分。(8)系統(tǒng)分布方案。( 9) 經(jīng)費(fèi)預(yù)算、工期預(yù)計(jì)、風(fēng)險(xiǎn)分析。 ( 10)售后服務(wù)措施,對(duì)用戶的培訓(xùn)計(jì)劃。2. 列舉出幾種典型的軟件體系結(jié)

29、構(gòu)風(fēng)格。 答:( 1)管道與過(guò)濾器風(fēng)格。( 2)客戶 服務(wù)器風(fēng)格。(3)面向?qū)ο箫L(fēng)格。(4)隱式調(diào)用風(fēng)格。(5)倉(cāng)庫(kù)風(fēng)格。(6)進(jìn)程控制風(fēng)格。(7)解釋器模型。( 8 )黑板風(fēng)格。(9)層次風(fēng)格。(10)數(shù)據(jù)抽象風(fēng)格。3. 列舉用主動(dòng)對(duì)象表示控制流時(shí)應(yīng)遵循的應(yīng)用規(guī)則。 答:(1)在一個(gè)表示進(jìn)程的主動(dòng)對(duì)象中,有且僅有一個(gè)表示進(jìn)程的主動(dòng)服務(wù)。( 2)如果要把一個(gè)進(jìn)程和隸屬于它的現(xiàn)成分散到不同的對(duì)象中去表示,則盡可能使每個(gè)對(duì)象中只含有一個(gè)表示線程的服務(wù)。( 3)如果要把進(jìn)程和隸屬于它的線程放在一個(gè)對(duì)象中表示,就應(yīng)該把這個(gè)進(jìn)程的全部線程都放在同一個(gè)對(duì)象中,避免一部分集中,一部分分散。第十二章 問(wèn)題域的

30、設(shè)計(jì)1 對(duì)象設(shè)計(jì)必須遵循的步驟有哪些? 答:(1)組合三種模型以獲取類上的操作。(2)實(shí)現(xiàn)操作的設(shè)計(jì)算法。(3)優(yōu)化數(shù)據(jù)的訪問(wèn)路徑。(4)實(shí)現(xiàn)外部交互式的控制。(5)調(diào)整類結(jié)構(gòu),提高繼承性。(6)設(shè)計(jì)關(guān)聯(lián)。7)確定對(duì)象表示。8)把類和關(guān)聯(lián)封裝成模塊。2 對(duì)象模型與動(dòng)態(tài)模型和功能模型之間的關(guān)系如何?答:與功能模型的關(guān)系: 對(duì)象模型表示在功能模型中的施動(dòng)者、數(shù)據(jù)存儲(chǔ)和流的結(jié)構(gòu), 而動(dòng) 態(tài)模型表示了執(zhí)行這一處理的序列。因此它表示了在類與對(duì)象模型的關(guān)系: 功能模型表示在類上的操作和每個(gè)操作的參數(shù), 之間的供應(yīng)者與客戶的關(guān)系。 同臺(tái)模型表示了每個(gè)對(duì)象的狀態(tài), 以及接受事件和改變狀態(tài)時(shí) 執(zhí)行的操作。與動(dòng)態(tài)

31、模型的關(guān)系:功能模型表示了底層動(dòng)作和動(dòng)態(tài)模型未定義的底層動(dòng)作以及在動(dòng)態(tài)模型中未定義的活動(dòng)的定義。對(duì)象模型表示改變了什么狀態(tài)和經(jīng)歷了什么操作。3 如何確定在操作中起主導(dǎo)作用的對(duì)象? 答:在確定哪個(gè)對(duì)象在操作中起主導(dǎo)作用時(shí),必須對(duì)自己提下列問(wèn)題:( 1)當(dāng)其他對(duì)象執(zhí)行動(dòng)作時(shí), 是否有一個(gè)對(duì)象在起作用?通常, 最好是把操作與操作的 目標(biāo)聯(lián)系起來(lái),而不是與初始化程序聯(lián)系起來(lái)。( 2)當(dāng)其他對(duì)象只查詢所包含的信息時(shí), 操作是否修改另一個(gè)對(duì)象?被改動(dòng)對(duì)象是操作 目標(biāo)。( 3)檢查設(shè)計(jì)操作的類和關(guān)聯(lián), 看哪個(gè)類是這個(gè)對(duì)象模型的子網(wǎng)中最集中的, 如果類和 關(guān)聯(lián)都圍繞一個(gè)中心類形成星型,那么它就是操作的目標(biāo)。(

32、4)如果對(duì)象不是軟件,而是在部表示的實(shí)際對(duì)象,應(yīng)推、移動(dòng)、激活什么正式對(duì)象, 或操縱其他什么真實(shí)對(duì)象去初始化一個(gè)操作?4 答:實(shí)現(xiàn)動(dòng)態(tài)模型有哪幾種方法?Not Found.5 答:怎樣安排類以增加繼承的機(jī)會(huì)?(1)重新安排和調(diào)整類及操作以增強(qiáng)繼承性。(2)從類組合中抽象出共同特性。(3)當(dāng)集成的語(yǔ)義不正確時(shí),使用授權(quán)的共享行為。6 答:比較關(guān)聯(lián)遍歷的三種方法。書 P338。7 簡(jiǎn)述限制操作圍的設(shè)計(jì)原則。 答: Not Found.第十三章 用戶界面設(shè)計(jì)1 窗口系統(tǒng)的定義是什么?它所管理的資源有哪些? 答:窗口系統(tǒng)是控制位映像顯示器與輸入設(shè)備的系統(tǒng)軟件。它所管理的資源有屏幕、窗口、 像素映像、色

33、彩表、字體、圖形資源及輸入設(shè)備。2 從命令輸入到命令處理所發(fā)生的消息有哪 4 種情況? 答: Not Found.3 設(shè)計(jì)人 - 機(jī)交互子系統(tǒng)要對(duì)用戶進(jìn)行哪幾種分析?答:設(shè)計(jì)出讓用戶滿意的人 - 機(jī)交互界面應(yīng)遵循如下準(zhǔn)則:一致性、操作簡(jiǎn)便、及時(shí)提供 反饋信息、提供撤銷命令、無(wú)需記憶、易學(xué),富有吸引力。4 人 - 機(jī)交互子系統(tǒng)的設(shè)計(jì)形式有哪些? 答:用戶的界面設(shè)計(jì)形式包括問(wèn)答式、菜單、圖符、表格、命令語(yǔ)言和自然語(yǔ)言等。5 虛擬現(xiàn)實(shí)與多媒體技術(shù)有什么區(qū)別? 答:虛擬現(xiàn)實(shí)又稱靈境技術(shù), 它是一種先進(jìn)的計(jì)算機(jī)用戶接口, 它通過(guò)給用戶同時(shí)提供諸如 視覺(jué)、 聽覺(jué)、觸覺(jué)等各種只管而又自然地實(shí)時(shí)感知交互手段,

34、最大限度地方便用戶操作,從而減輕用戶的負(fù)擔(dān),提高整個(gè)系統(tǒng)的工作效率。 靈境技術(shù)具有 4 個(gè)重要特征:( 1)多感知性(2)存在感( 3)交互性( 4)自主性。6 如果要直接操作界面,請(qǐng)問(wèn)應(yīng)該采用哪一種模型?試描述一下。 答: Not Found.7 什么叫做多通道技術(shù)?答:多通道是人類日常處理事件的常用方式, 人與計(jì)算機(jī)多通道交互技術(shù)的發(fā)展雖然收到軟 硬件的限制,但至少要滿足以下兩個(gè)條件。( 1)多通道整合,不同通道的結(jié)合對(duì)用戶的體驗(yàn)是十分重要的。( 2)在交互中允許用戶產(chǎn)生含糊和不精確的輸入。8 新一代界面的主要特征是什么? 答:(1)以用戶為中心。2)多通道。3)非精確。4)高帶寬。5)不

35、限制地點(diǎn)。6)可視化編程。7)三維交互技術(shù)的研究。第十四章 數(shù)據(jù)庫(kù)及其接口設(shè)計(jì)1 什么是文件系統(tǒng)? 答:文件系統(tǒng)通常被作為操作系統(tǒng)的一部分。 它采用統(tǒng)一、 標(biāo)準(zhǔn)的方法對(duì)輔助存儲(chǔ)器上的用 戶文件和系統(tǒng)文件的數(shù)據(jù)進(jìn)行管理,提供存儲(chǔ)、檢索、更新、共享和保護(hù)等功能。在文件系 統(tǒng)的支持下,應(yīng)用程序不必直接使用輔助存儲(chǔ)器的物理地址和操作指令來(lái)實(shí)現(xiàn)數(shù)據(jù)的存取, 而是把需要永久存儲(chǔ)的數(shù)據(jù)定義為文件,利用文件系統(tǒng)提供的操作命令實(shí)現(xiàn)上述各種功能。2 分析文件系統(tǒng)和數(shù)據(jù)庫(kù)管理系統(tǒng)之間的差異。 答:與數(shù)據(jù)庫(kù)管理系統(tǒng)相比,文件系統(tǒng)的特點(diǎn)是廉價(jià),容易學(xué)習(xí)和掌握,對(duì)被存儲(chǔ)的數(shù)據(jù)沒(méi) 有特別的類型限制。 但它提供的數(shù)據(jù)存取與管

36、理功能遠(yuǎn)不如數(shù)據(jù)庫(kù)管理系統(tǒng)豐富。 例如它只 適合存儲(chǔ)各種類型的數(shù)據(jù)而不容易體現(xiàn)數(shù)據(jù)之間的管理; 只能按地址或者按記錄進(jìn)行數(shù)據(jù)讀 寫,不能直接按屬性進(jìn)行數(shù)據(jù)檢索與更新;缺少數(shù)據(jù)完整性支持,數(shù)據(jù)共享支持也比較弱。3 簡(jiǎn)述 DBMS 的功能。答: DBMS中文全稱為數(shù)據(jù)庫(kù)管理系統(tǒng)( Database Management System ),它是用于建立、使 用、維護(hù)數(shù)據(jù)庫(kù)的軟件。其提供的功能如下:(1)模式翻譯:提供數(shù)據(jù)定義語(yǔ)言( DDL)。(2)應(yīng)用程序的編譯: 把含有訪問(wèn)數(shù)據(jù)庫(kù)語(yǔ)句的應(yīng)用程序, 編譯成在 DBMS支持下可運(yùn) 行的目標(biāo)程序。(3)交互式查詢:提供易實(shí)用的交互式查詢語(yǔ)言,如SQL。(

37、 4)數(shù)據(jù)的組織與存?。禾峁?shù)據(jù)在外圍儲(chǔ)存設(shè)別上的物理組織與存取方法。(5)事物運(yùn)行管理: 提供事物運(yùn)行管理及運(yùn)行日志、 實(shí)物運(yùn)行的安全性監(jiān)控和數(shù)據(jù)完整 性檢查、事物的并發(fā)控制及系統(tǒng)恢復(fù)等功能。( 6)數(shù)據(jù)庫(kù)的維護(hù):為數(shù)據(jù)庫(kù)管理員提供軟件支持,包括數(shù)據(jù)安全控制、完整性保障、 數(shù)據(jù)庫(kù)備份、數(shù)據(jù)庫(kù)重組以及性能監(jiān)控等維護(hù)工具。4 比較關(guān)系數(shù)據(jù)庫(kù)和面向?qū)ο髷?shù)據(jù)庫(kù)。 答:采用關(guān)系模型的數(shù)據(jù)庫(kù)稱作關(guān)系數(shù)據(jù)庫(kù)。采用面向?qū)ο髷?shù)據(jù)模型的數(shù)據(jù)庫(kù)稱作面向?qū)ο髷?shù)據(jù)庫(kù)。5 如何選擇合適的數(shù)據(jù)管理系統(tǒng)。答:決定采用何種數(shù)據(jù)管理系統(tǒng),要綜合考慮技術(shù)和非技術(shù)兩方面的因素。1) 非技術(shù)因素1)數(shù)據(jù)管理系統(tǒng)的成熟和先進(jìn)性2)價(jià)格

38、3)開發(fā)隊(duì)伍的技術(shù)背景4)與其他系統(tǒng)的關(guān)系2) 技術(shù)因素(1) 文件系統(tǒng)(2) 關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(3) 面向?qū)ο髷?shù)據(jù)庫(kù)管理系統(tǒng)6 數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)管理系統(tǒng)有什么區(qū)別?答:數(shù)據(jù)庫(kù)( Database)是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī),有組織、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫(kù)中的數(shù) 據(jù)按一定的數(shù)據(jù)模型組織、 描述和儲(chǔ)存, 具有 較小的冗余, 較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性, 并可為各種用戶共享。而數(shù)據(jù)庫(kù)管理系統(tǒng)(Database Management System )是用于建立、使用、維護(hù)數(shù)據(jù)庫(kù)的軟件。 它對(duì)數(shù)據(jù)庫(kù)進(jìn)行統(tǒng)一的管理和控制, 以保證數(shù)據(jù)庫(kù)的安全性和完整 性。7 面向?qū)ο蠛蛿?shù)據(jù)庫(kù)技術(shù)是如何進(jìn)行整合的?答:書 P3

39、80。8 對(duì)象如何在數(shù)據(jù)庫(kù)中存放? 答:用關(guān)系數(shù)據(jù)庫(kù)存放對(duì)象的基本策略是: 把由每個(gè)類直接定義并需要永久存儲(chǔ)的全部對(duì)象 實(shí)例存放在一個(gè)數(shù)據(jù)庫(kù)表中。 每個(gè)這樣的類對(duì)應(yīng)一個(gè)數(shù)據(jù)庫(kù)表, 經(jīng)過(guò)規(guī)化之后的類的每個(gè)屬 性對(duì)應(yīng)數(shù)據(jù)庫(kù)表的一個(gè)屬性,類的每個(gè)對(duì)象實(shí)例對(duì)應(yīng)數(shù)據(jù)庫(kù)中的一個(gè)元組。第十五章 形式化方法3Petri 網(wǎng)適合于分析與設(shè)計(jì)哪些系統(tǒng)?它是通過(guò)什么方式來(lái)反應(yīng)系統(tǒng)動(dòng)態(tài)行為的? 答: Petri 網(wǎng)在軟件分析中,是一種系統(tǒng)的數(shù)學(xué)和圖形的描述與分析方法。對(duì)于具有并發(fā)、 異步、分布、并行、不確定性或隨機(jī)性的信息處理系統(tǒng),都可以利用 Petri 網(wǎng)構(gòu)造出要開發(fā) 的 Petri 網(wǎng)模型。它通過(guò)使用標(biāo)記去模擬系

40、統(tǒng)的動(dòng)態(tài)行為和并發(fā)活動(dòng)。4Petri 網(wǎng)可以奉行系統(tǒng)的哪些行為特征?這些特征的含義各是什么? 答:行為特征及其含義如下:( 1)可達(dá)性:可達(dá)性是研究任何系統(tǒng)動(dòng)態(tài)特征的基礎(chǔ)。(2)有界性。( 3)活性:在操作系統(tǒng)中,活性的概念與安全無(wú)死鎖緊密相關(guān)。(4)可逆性。( 5)可覆蓋性。(6)持久性。(7)同步距離:同步距離是條件 /事件系統(tǒng)中與兩個(gè)事件間相互獨(dú)立緊密相關(guān)的一種量 度。( 8)公平性:包括有界公平性和無(wú)條件公平性。5Petri 網(wǎng)的性能分析方法有哪幾種?其原理各是什么? 答:分析方法可分為三類。(1) 可覆蓋性樹。 這種方法實(shí)質(zhì)上包含了所有可達(dá)標(biāo)識(shí)或它們的可覆蓋標(biāo)識(shí)的枚舉,適用于所有類型

41、的網(wǎng)。(2) 矩陣方程求解。這種方法求解能力強(qiáng),但在許多情況下,它僅適用于Petri 網(wǎng)的一些特殊之類或特殊情況。(3)分層或化簡(jiǎn)。這種方法實(shí)在保證網(wǎng)系統(tǒng)要分析的性質(zhì)不變的情況下進(jìn)行分層或化 簡(jiǎn),它設(shè)計(jì)一些變換的方法的研究。第十六章 軟件實(shí)現(xiàn)1 軟件實(shí)現(xiàn)完成什么任務(wù)?答:軟件實(shí)現(xiàn)就是在詳細(xì)設(shè)計(jì)的基礎(chǔ)上, 用一種程序設(shè)計(jì)語(yǔ)言來(lái)講設(shè)計(jì)轉(zhuǎn)換為程序, 得到的 結(jié)果是源程序代碼。2 你了解當(dāng)前流行的編程語(yǔ)言嗎?(列舉兩種以上)它們的特點(diǎn)是什么?適合設(shè)計(jì)什么樣 的系統(tǒng)?答:(1)C語(yǔ)言:具有很強(qiáng)功能的語(yǔ)言,支持復(fù)雜的數(shù)據(jù)結(jié)構(gòu),可大量運(yùn)用指針,具有豐富 靈活的操作運(yùn)算符及數(shù)據(jù)處理操作符。 還可以直接對(duì)位進(jìn)行

42、操作, 程序運(yùn)行效率高。 適合科 學(xué)工程計(jì)算。(2)JAVA語(yǔ)言:是由 Sun 公司開發(fā)的一種面向?qū)ο蟮?、分布式的、安全的程序設(shè)計(jì)語(yǔ) 言。因?yàn)樗\(yùn)行在 JAVA虛擬機(jī)上,因此它與硬件無(wú)關(guān),也體現(xiàn)了它的易移植性。3 良好的編程風(fēng)格帶來(lái)的好處是什么?請(qǐng)舉例說(shuō)出有哪些公認(rèn)的良好的編程風(fēng)格? 答:一個(gè)公認(rèn)的、良好的編程風(fēng)格可以減少編碼的錯(cuò)誤, 減少讀程序的時(shí)間,從而提高軟件 的開發(fā)效率。4 在代碼上提高程序的效率,可以做哪些方面的工作? 答:(1)在進(jìn)行編碼以前,應(yīng)建華算法中的算術(shù)表達(dá)式和邏輯表達(dá)式,使之顯得簡(jiǎn)潔。(2)對(duì)嵌套循環(huán)仔細(xì)審查,在循環(huán)部的語(yǔ)句和表達(dá)式越少越好。(3)應(yīng)盡量避免使用多維數(shù)組。

43、(4)應(yīng)盡量避免使用指針和復(fù)雜的列表。(5)采用效率高的算術(shù)運(yùn)算。(6)要避免采用混合數(shù)據(jù)類型。(7)只要有可能,就應(yīng)當(dāng)采用占用存少的數(shù)據(jù)類型。5 冗余編程的目的是什么?答:冗余是改善系統(tǒng)可靠性的一種重要技術(shù)。 冗余編程目的在于保證一個(gè)軟件在出現(xiàn)錯(cuò)誤時(shí) 能有另一個(gè)軟件能提高相同的功能以保證工作繼續(xù)進(jìn)行。6 硬件冗余和軟件冗余的區(qū)別是什么?答:硬件冗余僅使用兩個(gè)或兩個(gè)以上的硬件保持系統(tǒng)運(yùn)行。 軟件冗余這是兩個(gè)功能相同但源 程序不同的兩個(gè)軟件。7 舉例說(shuō)明冗余可以提高系統(tǒng)可靠性的原因。答:書 P430。8 發(fā)展軟件容錯(cuò)技術(shù)的目的是什么? 答:提高軟件質(zhì)量和可靠性的技術(shù)大致可分為兩類, 一類是避開錯(cuò)

44、誤技術(shù), 即在開發(fā)的過(guò)程 中不讓差錯(cuò)潛入軟件的技術(shù); 另一種是容錯(cuò)技術(shù), 即對(duì)某些無(wú)法避開的差錯(cuò), 使其影響減至 最少的技術(shù)。 但是,無(wú)論使用多么高明的避開錯(cuò)誤技術(shù), 在理論上都無(wú)法證明程序的正確性, 無(wú)法做到完美無(wú)缺和絕無(wú)錯(cuò)誤,這就需要采用容錯(cuò)技術(shù)以使錯(cuò)誤發(fā)生時(shí)不影響系統(tǒng)的特性, 或使錯(cuò)誤發(fā)生時(shí)對(duì)用戶的影響限制在某些允許的圍。9 你認(rèn)為容錯(cuò)軟件應(yīng)該具有什么樣的功能?答:(1)在一定程度上對(duì)自身錯(cuò)誤具有屏蔽能力。(2)在一定程度上能從錯(cuò)誤狀態(tài)自動(dòng)恢復(fù)到正常狀態(tài)。(3)程序存在錯(cuò)誤而且發(fā)生時(shí),仍然能在一定程度上完成預(yù)期的功能。(4)在一定程度上具有容錯(cuò)的能力。10 答:請(qǐng)簡(jiǎn)單敘述容錯(cuò)軟件的設(shè)計(jì)過(guò)

45、程。其設(shè)計(jì)步驟如下:( 1)首先要按設(shè)計(jì)任務(wù)要求進(jìn)行常規(guī)設(shè)計(jì),盡量保證設(shè)計(jì)的正確。( 2)根據(jù)系統(tǒng)的工作環(huán)境,對(duì)可能出現(xiàn)的錯(cuò)誤分類,確定實(shí)現(xiàn)容錯(cuò)的圍。(3) 按照“成本 -效益”最優(yōu)的原則,選用某種冗余手段(結(jié)構(gòu)、信息、時(shí)間)來(lái)實(shí)現(xiàn) 對(duì)各類錯(cuò)誤的屏蔽。(4) 分析或驗(yàn)證上述冗余結(jié)構(gòu)的容錯(cuò)效果。第十七章 軟件質(zhì)量1 答:軟件質(zhì)量的定義是什么?(1)軟件產(chǎn)品具備滿足給定需求的特性及特征的總體的能力。(2)軟件擁有所期望的各種屬性組合的程度。(3)用戶認(rèn)為軟件滿足他們綜合期望的程度。(4)軟件組合特性可以滿足用戶預(yù)期需求的程度。2 答:McCall 提出的軟件質(zhì)量特性有哪些?McCall認(rèn)為軟件質(zhì)量

46、由 12 個(gè)特性組成,分別面向軟件產(chǎn)品的運(yùn)行、修正、轉(zhuǎn)移。( 1)產(chǎn)品運(yùn)行:正確性、可靠性、可使用性、效率、完整性、安全性。( 2)產(chǎn)品修正:可維護(hù)性、可測(cè)試性、靈活性。( 3)產(chǎn)品轉(zhuǎn)移:互連性、可移植性、復(fù)用性。3請(qǐng)分析成立軟件管理小組的利弊?答:書 P452。4 答:軟件質(zhì)量度量存在哪些質(zhì)量標(biāo)準(zhǔn)?(1)客觀性。(2)可靠性。(3)適用性。4)標(biāo)準(zhǔn)化。5)可比較性。6)經(jīng)濟(jì)性。7)有效性。5 什么叫做軟件質(zhì)量保證?其工作原則是什么? 答:軟件質(zhì)量保證是一個(gè)復(fù)雜的系統(tǒng),它采用一定的技術(shù)、方法和工具,來(lái)處理和調(diào)整軟件 產(chǎn)品滿足需求時(shí)的相互關(guān)系, 以確保軟件產(chǎn)品滿足或超過(guò)在該產(chǎn)品的開發(fā)過(guò)程中所規(guī)定

47、的標(biāo) 準(zhǔn)。其工作原則如下:( 1)盡可能做到質(zhì)量特征的具體化及量化。( 2)要找出每個(gè)階段的具體質(zhì)量特征。( 3)針對(duì)具體產(chǎn)品和相應(yīng)項(xiàng)目制定質(zhì)量計(jì)劃。( 4)檢查質(zhì)量測(cè)試結(jié)果。( 5)進(jìn)行各種質(zhì)量評(píng)審。( 6)優(yōu)化的建設(shè)性的質(zhì)量保證。( 7)盡早發(fā)現(xiàn)并改正錯(cuò)誤和缺陷。( 8)集中進(jìn)行質(zhì)量保證。(9) 獨(dú)立的質(zhì)量測(cè)試。( 10) 對(duì)所應(yīng)用的軟件質(zhì)量保證措施的評(píng)價(jià)。6 如何選擇參加評(píng)審的成員?答:首先要尋找一個(gè)主席, 合適的主席的標(biāo)準(zhǔn)是能夠識(shí)別和評(píng)價(jià)錯(cuò)誤的專家, 有威信和信服 力。選擇了主席后, 由主席和測(cè)試對(duì)象的主持人共同選擇其他參加成員。 選擇的成員應(yīng)當(dāng)包 括具有轉(zhuǎn)么知識(shí), 及在數(shù)據(jù)庫(kù)和應(yīng)用領(lǐng)

48、域有長(zhǎng)期經(jīng)驗(yàn)的專家, 被評(píng)審系統(tǒng)的可能用戶及有能 力并擅長(zhǎng)用系統(tǒng)分析的方法發(fā)現(xiàn)邏輯矛盾的人。7 走查與審查有什么區(qū)別? 答:走查是審評(píng)過(guò)程中采用的一種方法。 走查時(shí), 軟件設(shè)計(jì)者或程序開發(fā)人員指導(dǎo)一名或多 名其他參加評(píng)審的成員, 通讀已書寫的設(shè)計(jì)文檔或編碼, 其他成員負(fù)責(zé)提出問(wèn)題, 并對(duì)有關(guān) 技術(shù)、風(fēng)格、可能的錯(cuò)誤、是否有違背評(píng)審標(biāo)準(zhǔn)的地方進(jìn)行評(píng)論。審查是一種正式的評(píng)定技術(shù)。 由除被審查對(duì)象的作者之外的某人或某一小組自習(xí)檢查軟 件需求、設(shè)計(jì)或編碼,以找出故障和其他一些問(wèn)題。8 評(píng)審有什么優(yōu)點(diǎn)?還有什么需要改進(jìn)? 答:優(yōu)點(diǎn):1)評(píng)審復(fù)雜情況時(shí)的分析、識(shí)別、評(píng)價(jià)和測(cè)試等方面充分發(fā)揮人們的思維能力。

49、2)評(píng)審不僅適用于檢驗(yàn)正式的文檔, 如程序清單, 也適用于檢驗(yàn)非正式的文檔, 如 口頭的設(shè)計(jì)說(shuō)明等。3)用評(píng)審方式檢查程序具有很高的成功率。缺點(diǎn):( 1) 評(píng)審的成功與否完全依賴于參加評(píng)審的人員,他們的原則性是至關(guān)重要的。( 2) 交流的氣氛對(duì)于發(fā)揮人們的思考和分析能力是很重要的。( 3) 解決問(wèn)題可能占用有價(jià)值的評(píng)審時(shí)間,以至于不能發(fā)現(xiàn)更多的錯(cuò)誤。( 4) 存在著評(píng)價(jià)工作人員的可能,這將使檢查過(guò)程的有效性降低。( 5) 評(píng)審對(duì)開發(fā)過(guò)程的重要性往往被低估了。9 軟件可靠性的定義是什么?答: IEEE把軟件可靠新定義如下:( 1) 在規(guī)定的條件下, 在規(guī)定的時(shí)間, 軟件不引起系統(tǒng)失敗的概率, 該

50、概率是系統(tǒng)輸 入和系統(tǒng)使用的函數(shù), 也是軟件中存在錯(cuò)誤的函數(shù)。 系統(tǒng)輸入將確定是否會(huì)遇到 已存在的錯(cuò)誤。( 2) 在規(guī)定的時(shí)間周期,在所述條件下程序執(zhí)行所要求的功能的能力。10軟件可靠性定義中,規(guī)定的條件指什么?規(guī)定的時(shí)間又指什么?答:規(guī)定的時(shí)間:在軟件測(cè)試和運(yùn)行中,有三種時(shí)間度量。第一種是日歷時(shí)間,第二種是時(shí) 鐘時(shí)間,第三種是執(zhí)行時(shí)間。規(guī)定的條件: 是指環(huán)境條件。 環(huán)境條件包括了與程序存儲(chǔ)、 運(yùn)行有關(guān)的計(jì)算機(jī)及其操作 系統(tǒng)。第十八章 軟件測(cè)試而不是 “說(shuō)明程1 軟件測(cè)試的目的是什么? 答:軟件測(cè)試要求認(rèn)定剛開發(fā)的軟件是錯(cuò)誤的,它的目的是找出錯(cuò)誤所在, 序能正確地執(zhí)行它應(yīng)有的功能” ,也不是“

51、表明程序沒(méi)有錯(cuò)誤” 。2 軟件測(cè)試中應(yīng)遵循哪些原則?答:( 1)測(cè)試用例由輸出數(shù)據(jù)和預(yù)期的輸出數(shù)據(jù)兩部分組成。需要將程序運(yùn)行后的結(jié)果和預(yù)期的輸出相比較來(lái)測(cè)試程序。(2)在輸入數(shù)據(jù)的選擇上,不僅要選擇合理的輸入數(shù)據(jù),還要選擇不合理的輸入數(shù)據(jù)。 這樣可提高程序運(yùn)行的可靠性。程序應(yīng)該對(duì)不合理的輸入數(shù)據(jù)給出相應(yīng)提示。3)用窮舉測(cè)試是不可能的??梢酝ㄟ^(guò)設(shè)計(jì)測(cè)試用例,充分覆蓋所有的條件。4)應(yīng)該在真正的測(cè)試工作開始之前很長(zhǎng)時(shí)間,就根據(jù)軟件的需求和設(shè)計(jì)來(lái)制定測(cè)試計(jì)劃,在測(cè)試工作開始后,要嚴(yán)格執(zhí)行,排除隨意性。5)長(zhǎng)期保留測(cè)試用例。6)對(duì)發(fā)現(xiàn)錯(cuò)誤較多的程序段,應(yīng)進(jìn)行更深入的測(cè)試。7)為了打到最佳測(cè)試效果,應(yīng)該

52、有第三方來(lái)構(gòu)造測(cè)試用例。3 說(shuō)說(shuō)曾經(jīng)做過(guò)的測(cè)試經(jīng)歷。 答:無(wú)。4 試從時(shí)間、手段和目的上比較靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試的區(qū)別。 答:靜態(tài)測(cè)試是采用人工檢測(cè)和計(jì)算機(jī)輔助靜態(tài)分析的手段對(duì)程序進(jìn)行檢測(cè)。動(dòng)態(tài)測(cè)試與靜態(tài)測(cè)試相反,主要是設(shè)計(jì)一組輸入數(shù)據(jù),然后通過(guò)運(yùn)行程序來(lái)發(fā)現(xiàn)錯(cuò)誤。5 白盒測(cè)試的原理是什么? 答:該方法吧測(cè)試對(duì)象看做一個(gè)透明的盒子, 測(cè)試人員能了解程序的容結(jié)構(gòu)和處理過(guò)程, 以 檢查處理過(guò)程為目的, 對(duì)程序中盡可能多的邏輯路徑進(jìn)行測(cè)試, 在所有的點(diǎn)檢驗(yàn)部控制結(jié)構(gòu) 和數(shù)據(jù)結(jié)構(gòu)是否和預(yù)期的相同。6 舉例說(shuō)明白盒測(cè)試不能窮舉測(cè)試的原因。答:如測(cè)試一個(gè)循環(huán) 20次嵌套的 IF語(yǔ)句,循環(huán)體中有 5 個(gè)路徑。

53、測(cè)試這個(gè)程序的執(zhí)行路徑 未 5 的 20 次方,如果每毫秒完成一個(gè)路徑的測(cè)試,完成此程序的測(cè)試需 3170 年。7 黑盒測(cè)試的原理是什么?測(cè)試的目的是什么? 答:該方法把被測(cè)試對(duì)象看成一個(gè)黑盒子,測(cè)試人員完全不考慮程序的部結(jié)構(gòu)和處理過(guò)程, 只在軟件的界面上進(jìn)行測(cè)試,用來(lái)證實(shí)軟件功能的可操作性,檢查程序是否滿足功能要求, 是否能很好地接受數(shù)據(jù),并產(chǎn)生正確的輸出。測(cè)試的目的在于發(fā)現(xiàn)以下錯(cuò)誤: ( 1)是否有不正確或遺漏了的功能。 (2)在界面上,能否正確地處理合理和不合理的輸入數(shù) 據(jù),并產(chǎn)生正確的輸出信息。(3)訪問(wèn)外部信息是否有錯(cuò)。(4)性能上是否滿足要求等。(5)初始化和終止錯(cuò)誤。8 在白盒測(cè)

54、試中,有哪些設(shè)計(jì)測(cè)試用例的技術(shù)? 答:白盒測(cè)試是結(jié)構(gòu)測(cè)試,所以一般都是以程序的部邏輯結(jié)構(gòu)為基礎(chǔ)來(lái)設(shè)計(jì)測(cè)試用例。1)邏輯覆蓋:語(yǔ)句覆蓋 判定覆蓋 條件覆蓋 判定 / 條件覆蓋 條件組合 覆蓋 路徑覆蓋2)循環(huán)覆蓋:?jiǎn)窝h(huán) 嵌套循環(huán)3)基本路徑測(cè)試9 邏輯覆蓋的含義是什么?答:當(dāng)程序中有循環(huán)時(shí), 覆蓋每條路徑是不可能的, 需要設(shè)計(jì)使覆蓋程度較高的或覆蓋最有 代表性的路徑的測(cè)試用例。10如果你負(fù)責(zé)對(duì)一個(gè)軟件進(jìn)行測(cè)試,你將如何安排你的工作計(jì)劃?答:書 P472 圖 18-4。11確認(rèn)測(cè)試的作用是什么?答:確認(rèn)測(cè)試又稱有效性測(cè)試。 它的任務(wù)是檢查軟件的功能與性能是否與需求說(shuō)明書中規(guī)定 的指標(biāo)相符合。因而需求說(shuō)明是確認(rèn)測(cè)試的基礎(chǔ)。第十九章 軟件維護(hù)1 軟件的可維護(hù)性和哪些因素有關(guān)?答:( 1)系統(tǒng)大小 (2)系統(tǒng)的開發(fā)文檔 ( 3)其他因素 2 軟件的維護(hù)包括哪些維護(hù)活動(dòng)?答:(1)改正性維護(hù) ( 2)適應(yīng)性維護(hù) (3)完善性維護(hù) (4)預(yù)防性維護(hù)3 軟件維護(hù)在這個(gè)軟件生命周期中處于哪一種生命位置? 答: Not Found.4 如何對(duì)軟件的可維護(hù)性進(jìn)行度量? 答:使用如下七個(gè)特性進(jìn)行度量:(1)可理解性(2

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論