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

下載本文檔

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

文檔簡介

./軟件工程簡答題緒論什么是軟件危機?軟件危機有什么表現(xiàn)?軟件危機產(chǎn)生的原因是什么?答:所謂軟件危機是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。主要是指如何開發(fā)軟件,怎樣滿足對軟件日益增長的需求,如何維護數(shù)量不斷膨脹的先有軟件。表現(xiàn):〔1對于軟件開發(fā)的成本和進度的估計很不準(zhǔn)確?!?開發(fā)的軟件產(chǎn)品不能完全滿足用戶要求,用戶對已完成的軟件系統(tǒng)不滿意的現(xiàn)象常常發(fā)生?!?開發(fā)的軟件可靠性差?!?軟件通常沒有適當(dāng)?shù)奈臋n資料?!?軟件的可維護性差?!?軟件開發(fā)生產(chǎn)率提高的速度,遠遠跟不上計算機應(yīng)用普及深入的趨勢。原因:軟件開發(fā)中遇到的問題因找不到解決的辦法,使問題積累起來,形成了尖銳的矛盾,導(dǎo)致了軟件危機。簡述軟件的發(fā)展過程。答:軟件生產(chǎn)的發(fā)展劃分為三個年代:〔1程序設(shè)計時代:這一時期,軟件的生產(chǎn)主要是個體手工勞動的生產(chǎn)方式?!?程序系統(tǒng)時代:由于計算機的應(yīng)用領(lǐng)域不斷擴大,軟件的需求也不斷增長,軟件由于處理的問題域擴大而使程序變得復(fù)雜,設(shè)計者不得不由個體手工勞動組成小集團合作,形成作坊式生產(chǎn)方式小集團合作生產(chǎn)的程序系統(tǒng)時代?!?軟件工程時代:軟件工程時代的生產(chǎn)方式是采用工程的概念、原理、技術(shù)和方法,使用數(shù)據(jù)庫、開發(fā)工具、開發(fā)環(huán)境、網(wǎng)絡(luò)、分布式、面向?qū)ο蠹夹g(shù)來開發(fā)軟件。什么叫軟件工程?軟件工程是如何克服軟件危機的?答:軟件工程是將系統(tǒng)的、規(guī)的、可度量的工程化方法應(yīng)用于軟件開發(fā)、運行和維護的全過程及上述方法的研究。為了克服軟件危機,人們從其他產(chǎn)業(yè)的工程化生產(chǎn)得到啟示,采用工程的概念、原理、技術(shù)和方法來開發(fā)和維護軟件。軟件工程的目標(biāo)是什么?軟件工程有哪些原則?答:軟件工程的目標(biāo)是:在給定成本、進度的前提下,開發(fā)出具有可修改性、有效性、可靠性、可理解性、可維護性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性并滿足用戶需求的軟件產(chǎn)品。原則如下:抽象、模塊化、信息隱藏、局部化、完整性、一致性和可驗證性。為什么說軟件工程是一門綜合性的交叉學(xué)科?答:因為軟件工程涉及哲學(xué)、計算機科學(xué)、工程科學(xué)、管理科學(xué)、數(shù)學(xué)和應(yīng)用領(lǐng)域知識。軟件工程方法學(xué)的基本容包括哪些?答:基本容包括:〔1結(jié)構(gòu)化理論和方法。〔2模塊技術(shù)與數(shù)據(jù)抽象。〔3軟件測試與程序正確性證明。〔4軟件分析與設(shè)計方法、工具和環(huán)境?!?軟件工程管理與質(zhì)量評價。軟件產(chǎn)品具有哪些特殊性質(zhì)?答:Notfound.軟件工程學(xué)研究的對象是什么?答:軟件工程研究的主要容包括軟件開發(fā)技術(shù)和軟件開發(fā)管理兩個方面。在軟件開發(fā)技術(shù)中,它主要研究軟件開發(fā)方法、軟件開發(fā)過程、軟件開發(fā)工具和環(huán)境。在軟件開發(fā)管理中,它主要研究軟件管理學(xué)、軟件經(jīng)濟學(xué)和軟件心理學(xué)等?;纠碚撌裁词擒浖纳芷谀P停克饕心切┠P??答:軟件生命周期模型是描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型。主要有:瀑布模型、原型模型、增量模型、螺旋模型、噴泉模型、基于知識的模型和變換模型。什么是軟件開發(fā)方法?有那些主要開發(fā)方法?答:軟件開發(fā)方法是一種使用早已定義好的技術(shù)集及符號表示習(xí)慣組織軟件生產(chǎn)過程的方法。主要有:結(jié)構(gòu)化方法、Jackson方法、維也納開發(fā)方法和面向?qū)ο蟮拈_發(fā)方法。開發(fā)軟件為什么首先要確定軟件生命周期模型?答:一個強有力的軟件生命周期模型對軟件開發(fā)提供了強有力的支持,為軟件開發(fā)過程中所有活動提供了統(tǒng)一的政策保證,為參與軟件開發(fā)的所有成員提供了幫助和指導(dǎo)。它提示了如何演繹軟件過程的思想,是軟件生命周期模型化技術(shù)的基礎(chǔ),也是建立軟件開發(fā)環(huán)境的核心。軟件工程過程包括那些過程?答:包括如下7個過程:〔1開發(fā)過程〔2管理過程〔3供應(yīng)過程〔4獲取過程〔5操作過程〔6維護過程〔7支持過程軟件生命周期階段的劃分為什么要受軟件的規(guī)模、性質(zhì)、種類、開發(fā)方法等影響?答:因為軟件在其生存期的每個階段都有較明顯的特征,有相對獨立的任務(wù),有其專門的方法和工具。軟件定義與分析時期主要解決什么問題?答:通俗地講,主要解決以下問題:〔1要做的是什么軟件?〔2沒有有可行性?〔3軟件的具體需什么?〔4驗收標(biāo)準(zhǔn)是什么?瀑布模型的主要開發(fā)過程和優(yōu)缺點有哪些?答:開發(fā)過程有6個階段:系統(tǒng)需求分析、軟件需求分析、系統(tǒng)設(shè)計、軟件編碼、系統(tǒng)測試和軟件維護。優(yōu)缺點:簡述原型模型的特點,它與瀑布模型的關(guān)鍵區(qū)別是什么?答:原型模型的最大特點是:利用原型法技術(shù)能夠快速實現(xiàn)系統(tǒng)的初步模型,供開發(fā)人員和用戶進行交流,以便較準(zhǔn)確地獲得用戶的需求;采用逐步求精的方法使原型逐步完善,這是一種在新的層次上不斷反復(fù)推進的過程。它與瀑布模型的關(guān)鍵區(qū)別是它可以大大避免在瀑布模型冗長的開發(fā)過程中看不見產(chǎn)品雛形的現(xiàn)象。簡述噴泉模型的基本思想。答:噴泉模型以面向?qū)ο蟮能浖_發(fā)方法為基礎(chǔ),以用戶需求為動力,以對象作為驅(qū)動的模型。它適合面向?qū)ο蟮拈_發(fā)方法??尚行匝芯靠尚行匝芯空撟C主要集中在那些領(lǐng)域?答:Notfound.如何進行軟件的成本估算?答:首先可以用代碼行定量估算方法,把開發(fā)軟件中實現(xiàn)每一個功能所需要的源代碼行數(shù)與成本聯(lián)系起來。其次可以用任務(wù)分解技術(shù)估算成本??尚行匝芯康娜蝿?wù)是什么?答:一般從以下四個方面研究系統(tǒng)方案的可行性。〔1技術(shù)可行性研究〔2經(jīng)濟可行性研究〔3法律可行性研究〔4開發(fā)方案的選擇性研究簡述可行性研究的步驟。答:研究步驟:〔1系統(tǒng)定義〔2對于現(xiàn)行系統(tǒng)進行分析研究〔3導(dǎo)出新系統(tǒng)的邏輯模型〔4設(shè)計方案〔5推薦可行的方案〔6編寫可行性研究報告在軟件的系統(tǒng)分析之前,為什么要制訂一個系統(tǒng)的標(biāo)準(zhǔn)?答:Notfound.可行性研究報告的主要容有哪些?答:〔1引言〔2可行性研究前提〔3對現(xiàn)行系統(tǒng)的分析〔4所建議系統(tǒng)的技術(shù)可行性分析〔5所建議系統(tǒng)的經(jīng)濟可行性分析〔6社會因素可行性分析〔7其他可供選擇方案〔8結(jié)論意見你認為在成本估算中,貨幣的時間價值在可行性中的作用是什么?答:由于經(jīng)濟效益與軟件的生命周期的長度有關(guān),貨幣的時間價值就直接影響軟件的開發(fā)和維護成本,從而直接影響軟件的經(jīng)濟效益。經(jīng)過可行性研究后,一個項目如果值得開發(fā),為什么要制定項目開發(fā)計劃?答:因為軟件開發(fā)項目的計劃涉及實施項目的各個環(huán)節(jié),帶有全局的性質(zhì)。計劃的合理性和準(zhǔn)確性往往關(guān)系著項目的成敗。需求分析與系統(tǒng)結(jié)構(gòu)需求分析的目的是什么?答:需求分析是軟件定義時期的最后一個階段,其基本任務(wù)是回答"系統(tǒng)必須做什么"這個問題,確定系統(tǒng)必須完成哪些工作。對目標(biāo)系統(tǒng)提出完整、準(zhǔn)確的要求。怎樣建立目標(biāo)系統(tǒng)的邏輯模型?要經(jīng)過哪些步驟?答:分析人員根據(jù)前面獲取的需求資料,要進行一致性的分析檢查,在分析、綜合種逐步細化軟件功能,劃分成各個子功能。同時對數(shù)據(jù)域進行分解,并分配到各個之功能上,以確定系統(tǒng)的構(gòu)成及主要成分。最后要用圖文結(jié)合的形式,建立起系統(tǒng)的邏輯模型。什么是結(jié)構(gòu)化分析?答:結(jié)構(gòu)化方法是分析、設(shè)計到實現(xiàn)都使用結(jié)構(gòu)化思想的軟件開發(fā)方法,實際上它由三部分組成:結(jié)構(gòu)化分析、結(jié)構(gòu)化設(shè)計和結(jié)構(gòu)化程序設(shè)計。它也是一種實用的軟件開發(fā)方法。需求分析由哪些部分組成?答:〔1問題明確定義〔2導(dǎo)出軟件的邏輯模型〔3編寫文檔需求分析為什么要研究問題域?答:Notfound.良好的軟件體系結(jié)構(gòu)設(shè)計有什么好處?答:體系結(jié)構(gòu)的設(shè)計對于一個大型系統(tǒng)的設(shè)計、開發(fā)的成敗起著至關(guān)重要的作用。體系結(jié)構(gòu)對于系統(tǒng)的非功能屬性如系統(tǒng)性能、可擴展性、可靠性、安全性、精確度、可復(fù)用性、互操作性等的影響尤為深刻。因而一個良好的軟件體系結(jié)構(gòu)設(shè)計保證了軟件系統(tǒng)的性能和生命周期。消除包之間的循環(huán)依賴性有哪兩種主要方法?答:〔1PackageA將PackageA中的循環(huán)依賴元素提取到PackageC中PackageAPackageBPackageBPackageC〔2PackageAPackageA將PackageC中的循環(huán)依賴元素提取到PackageD中PackageBPackageBPackageCPackageCPackageD簡述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ā)過程中,需求分析和設(shè)計階段需求投入大量的工作通常占到全部工作量的60%~70%,而編碼和測試工作只占30%~40%??傮w設(shè)計結(jié)構(gòu)化設(shè)計方法的基本思想是什么?它怎樣與結(jié)構(gòu)化分析銜接?答:結(jié)構(gòu)化設(shè)計是以結(jié)構(gòu)化分析產(chǎn)生的數(shù)據(jù)流圖為基礎(chǔ),將數(shù)據(jù)流圖按一定的步驟映射成軟件結(jié)構(gòu)。與結(jié)構(gòu)化分析銜接,構(gòu)成了完整的結(jié)構(gòu)化分析與設(shè)計技術(shù),是目前最廣泛的軟件設(shè)計方法之一。簡述軟件總體設(shè)計階段的基本任務(wù)。答:軟件總體設(shè)計階段的任務(wù)是概要地回答系統(tǒng)應(yīng)該如何實現(xiàn),因此要把握與詳細設(shè)計的區(qū)別。要完成如下任務(wù):〔1軟件系統(tǒng)結(jié)構(gòu)設(shè)計〔2數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計〔3網(wǎng)絡(luò)系統(tǒng)設(shè)計〔4軟件總體設(shè)計文檔〔5評審舉例說明各種類型的模塊耦合。答:〔1數(shù)據(jù)耦合:兩個模塊彼此間通過參數(shù)交換信息,而且交換的信息僅僅是數(shù)據(jù)?!?控制耦合:傳遞的信息中有控制信息?!?公共環(huán)境耦合:兩個或多個模塊通過一個公共數(shù)據(jù)環(huán)境相互作用的耦合。〔4容耦合:最高程度的耦合,如P121圖。簡述模塊、模塊化及模塊化設(shè)計的概念。答:模塊在程序中是數(shù)據(jù)說明、可執(zhí)行語句等程序?qū)ο蟮募?或者是單獨命名和編址的元素,如高級語言中的過程、函數(shù)和子程序等。在軟件的體系結(jié)構(gòu)中,模塊是可組合、可分解和更換的單元。模塊化是指解決一個復(fù)雜問題時自頂向下逐層把軟件系統(tǒng)劃分成若干模塊的過程。什么是模塊的獨立性?設(shè)計中為什么模塊要獨立?對于獨立性怎樣度量?答:劃分模塊時,盡量做到高聚,低耦合,保持模塊相對對立性,并以此原則又話初始的軟件結(jié)構(gòu)。〔1如果若干模塊之間耦合強度過高,每個模塊功能不復(fù)雜,可將它們合并,以減少信息的傳遞和公共區(qū)的引用?!?若有多個相關(guān)模塊,應(yīng)該對它們的功能進行分析,校區(qū)重復(fù)功能。試論"一個模塊,一個功能"的優(yōu)點。答:Notfound.簡述變換流的設(shè)計步驟。答:〔1確定數(shù)據(jù)流圖中的變換中心、邏輯輸入和邏輯輸出〔2設(shè)計軟件結(jié)構(gòu)的頂層和第一層〔3設(shè)計中、下層模塊〔4設(shè)計的優(yōu)化簡述事務(wù)流的設(shè)計步驟。答:〔1確定數(shù)據(jù)流圖中的事務(wù)中心和加工路徑〔2設(shè)計軟件結(jié)構(gòu)的頂層和第一層〔3進行事務(wù)結(jié)構(gòu)中、下層模塊的設(shè)計、優(yōu)化等工作。試論軟件設(shè)計與軟件質(zhì)量的關(guān)系。答:10.什么是模塊的影響圍?什么是模塊的控制圍?它們之間應(yīng)該建立什么樣的關(guān)系?答:在軟件結(jié)構(gòu)中,由于存在著不同事務(wù)處理的需要,某一層上的模塊會存在著判斷處理,這樣可能影響其它層的模塊處理。一個模塊的作用圍應(yīng)在其控制圍之,且條件判定所在的模塊應(yīng)與受影響的模塊在層次上盡量靠近。11.什么是軟件結(jié)構(gòu)?簡述軟件結(jié)構(gòu)設(shè)計的優(yōu)化準(zhǔn)則。答:軟件結(jié)構(gòu)是軟件系統(tǒng)的模塊層次結(jié)構(gòu),反映了整個系統(tǒng)的功能實現(xiàn),即將來程序的控制層次體系。對于一個問題,可用不同的軟件結(jié)構(gòu)來解決,不同的設(shè)計方法和不同的劃分與組織,得出不同的軟件結(jié)構(gòu)。為了提高設(shè)計的質(zhì)量,必須根據(jù)軟件設(shè)計的原理改進軟件設(shè)計,優(yōu)化準(zhǔn)則如下:〔1模塊獨立性準(zhǔn)則〔2控制與作用圍之間的準(zhǔn)則〔3結(jié)構(gòu)特征準(zhǔn)則〔4模塊的接口準(zhǔn)則第六章軟件詳細設(shè)計1.簡述詳細設(shè)計的基本原則與主要任務(wù)。答:詳細設(shè)計要完成所有設(shè)計的細節(jié)。主要任務(wù)有:〔1數(shù)據(jù)結(jié)構(gòu)設(shè)計〔2物理設(shè)計〔3算法設(shè)計〔4界面設(shè)計〔5其他設(shè)計〔6編寫設(shè)計說明書2.任意選擇一種排序算法,分別用流程圖和PDL語言描述其詳細過程。答:PDL語言全稱是過程設(shè)計語言〔ProcessDesignLanguage,它是在偽代碼的基礎(chǔ)上,擴充了模塊的定義與調(diào)用、數(shù)據(jù)定義和輸入輸出而形成的。它的控制結(jié)構(gòu)與偽代碼相同。PDL是一種用于描述模塊算法設(shè)計和細節(jié)處理的語言。3.假設(shè)只有SEQUENCE和DO-WHILE兩種結(jié)構(gòu),如何用它們來完成IF-THEN-ELSE的操作?答:Notfound.4.概要設(shè)計與詳細設(shè)計有什么區(qū)別?答:在軟件的總體設(shè)計中,完成了數(shù)據(jù)和系統(tǒng)結(jié)構(gòu)的設(shè)計。已將系統(tǒng)劃分成為多個模塊,并將它們按照一定的原則組裝起來,也確定了每個模塊的功能及模塊與模塊之間的外部接口。在理想情況下,詳細設(shè)計是軟件設(shè)計的第二階段。在這個極端,由于開發(fā)系統(tǒng)外的人員理論上都使用一種自然語言,因此設(shè)計說明最好是用自然語言。很清楚,這個階段必須定義過程的細節(jié)。第七章面向?qū)ο蠓椒ǜ耪撌裁词敲嫦驅(qū)ο螅看穑好嫦驅(qū)ο蠓椒ㄊ且环N運用對象、類、繼承、封裝、聚合、消息傳送、多態(tài)性等概念來構(gòu)造系統(tǒng)的軟件開發(fā)方法。面向?qū)ο蟮陌l(fā)展經(jīng)歷了哪幾個階段?答:面向?qū)ο蠓椒ǖ哪承└拍?可以追溯到20世紀50年代人工智能的早期研究。但是人們一般把20世紀60年代由挪威計算中心開發(fā)的Simula-67語言看做面向?qū)ο笳Z言發(fā)展史上的第一個里程碑。但是直到20世紀80年代后期,第二種語言SmallTalk的應(yīng)用尚不夠廣泛。20世紀80年代中期到90年代,是面向?qū)ο笳Z言走向繁榮的階段。面向?qū)ο蠓椒ㄓ惺裁刺攸c?答:主要有以下特點:〔1從問題域中客觀存在的事物出發(fā)來構(gòu)造軟件系統(tǒng),用對象作為對這些事物的抽象表示,并以此作為系統(tǒng)的基本構(gòu)成單位?!?事物的靜態(tài)特征〔即可能用一些數(shù)據(jù)來表達的特征用對象的屬性表示,事物的動態(tài)特征〔即事物的行為用對象的服務(wù)表示?!?對象的屬性與服務(wù)結(jié)合為一體,成為一個獨立的實體,對外屏蔽其部細節(jié),即封裝?!?對事物進行分類。把具有相同屬性和服務(wù)的對象歸為一類,類是這些對象的抽象描述,每個對象是它的類的一個示例。〔5通過在不同程度上運用抽象的原則,可以得到較一般的類和較特殊的類。特殊類繼承一般類的屬性與服務(wù),面向?qū)ο蠓椒ㄖС謱@種繼承關(guān)系的描述與實現(xiàn),從而簡化系統(tǒng)的構(gòu)造過程及其文檔?!?復(fù)雜的對象可以用簡單的對象作為其構(gòu)成部分,稱作聚合?!?對象之間通過消息進行通信,以實現(xiàn)對象之間的動態(tài)聯(lián)系?!?通過關(guān)聯(lián)表達對象之間的靜態(tài)關(guān)系。傳統(tǒng)的軟件工程和面向?qū)ο筌浖こ逃泻萎愅c?答:Notfound.什么是繼承?答:定義:特殊類的獨享擁有其一般類的全部屬性與服務(wù),就是稱作特殊類對一般類的繼承。什么是消息?答:定義:消息就是向?qū)ο蟀l(fā)出的服務(wù)請求,它應(yīng)該含有下述信息:提供服務(wù)的對象標(biāo)識、服務(wù)標(biāo)識、輸入信息和回答信息。什么是多態(tài)性?答:對象的多態(tài)性是指在一般類中定義的屬性或服務(wù)被特殊類繼承之后,可以具有不同的書類型或表現(xiàn)出不同的行為。這使得一個屬性或服務(wù)名在一般類及其各個特殊類中具有不同的語義。第八章模型什么是狀態(tài)?答:狀態(tài)是對象的屬性值和的一種抽象。根據(jù)影響對象總的行為的性質(zhì),一系列組合在一起是一個狀態(tài)。什么是事件?答:事件是發(fā)生在某一個時間點的一件事。簡述構(gòu)成動態(tài)模型的幾個要素。答:〔1時間和狀態(tài)〔2操作〔3嵌套狀態(tài)圖〔4實踐技巧怎樣用狀態(tài)圖描述事件?答:狀態(tài)圖是這樣一種圖,其結(jié)點表示狀態(tài),用方向弧和標(biāo)明事件名表示變遷。一個狀態(tài)化成矩形圓角框并含有可選的名字,變遷用從接受狀態(tài)到目標(biāo)狀態(tài)的尖頭表示,在箭頭上標(biāo)明產(chǎn)生變遷的事件名,所有脫離某一狀態(tài)的變遷必對應(yīng)不同的事件。狀態(tài)圖詳細說明了由事件序列引起的狀態(tài)序列。如果一個對象處于某一狀態(tài)并且表示它的變遷之一的事件發(fā)生的話,則對象進入變遷的目標(biāo)終止?fàn)顟B(tài),這個變遷稱為"激發(fā)"。如果多余一個變遷脫離一個狀態(tài),則第一個發(fā)生的事件引起相應(yīng)的變遷的激發(fā)。如果一個事件發(fā)生但沒有脫離當(dāng)前狀態(tài),即沒有變遷,那么該時間被忽略。事件的一個序列對應(yīng)圖中走過的一條路徑。簡述事件如何觸發(fā)操作?答:動作是一種瞬間的操作。動作與事件有關(guān),動作表示相對于狀態(tài)圖的變遷來說時間延續(xù)不重要的操作。動作也能表示部控制操作,諸如設(shè)定屬性或產(chǎn)生另一個事件。試述動態(tài)模型的并發(fā)性。答:Notfound.用例子說明并發(fā)活動是如何同步的答:Notfound.第九章對象分析用圖示表示對象類及主動對象類的表示法。答:普通類主動對象類classnameattributesoperations<>classnameattributesoperations<>研究問題域應(yīng)包括哪些工作要點?答:〔1認真聽取問題域?qū)<业囊娊狻?親臨現(xiàn)場〔3閱讀領(lǐng)域相關(guān)資料〔4借鑒他人經(jīng)驗發(fā)現(xiàn)對象有哪些原則?答:〔1正確地運用抽象原則〔2策略與啟發(fā):①考慮問題域②考慮系統(tǒng)邊界③考慮系統(tǒng)責(zé)任〔3對象的發(fā)現(xiàn)和標(biāo)識:①動機②方法③三視圖模型〔4審查和篩選:①舍棄無用的對象②對象的精簡③推遲到OOD考慮的對象〔5識別主動對象試說明主動服務(wù)與被動服務(wù)的區(qū)別。答:主動服務(wù)是不需要接收消息就能主動執(zhí)行的服務(wù),它在程序?qū)崿F(xiàn)中是一個主動地程序成分,例如用于定義進程或線程的程序單位。被動服務(wù)是只有接受到消息才執(zhí)行的服務(wù),它在編程實現(xiàn)中是一個被動的程序成分,例如函數(shù)、過程、例程等。對系統(tǒng)中的對象進行哪些步驟以發(fā)現(xiàn)對象的屬性?答:對象的屬性是描述對象靜態(tài)特征的一個數(shù)據(jù)項。通過一下步驟:〔1從廠里判斷這個對象應(yīng)該具有哪些屬性?!?根據(jù)當(dāng)前問題域分析這個對象應(yīng)該有哪些屬性?!?從系統(tǒng)責(zé)任要求的角度分析這個對象應(yīng)具有哪些屬性。〔4建立這個對象涉及到系統(tǒng)中所需的信息,包括要保存和管理的信息。〔5對象有哪些需要區(qū)別的狀態(tài),是否需增加一個屬性來區(qū)別這些狀態(tài)?!?對象為了在服務(wù)中實現(xiàn)其功能,需要增設(shè)哪些屬性?!?表示整體-部分結(jié)構(gòu)和示例連接需要用什么屬性。畫出"棧"對象的狀態(tài)轉(zhuǎn)換圖。答:第十章關(guān)系分析什么叫整體-部分關(guān)系?答:整體-部分關(guān)系反映了對象之間的構(gòu)成關(guān)系,它也稱為聚集關(guān)系,用于描述系統(tǒng)中各類對象之間的組成關(guān)系。通過它可以看出某個類的對象以另外一些類的對象作為其組成部分。用圖示表示整體-部分結(jié)構(gòu)。整體對象整體對象部分對象部分對象部分對象部分對象列舉出幾種情況下運用整體-部分結(jié)構(gòu)而實現(xiàn)或支持復(fù)用。答:在以下兩種情況下都可以運用整體-部分結(jié)構(gòu)而實現(xiàn)或支持復(fù)用:一種情況是在兩個或更多的對象類中都有一組屬性和服務(wù)描述這些對象的一個相同的組成部分。把它們分離出來作為部分對象,建立整體-部分結(jié)構(gòu),這些屬性和服務(wù)就被多個類復(fù)用,從而簡化了它們的描述。另一種情況是系統(tǒng)中已經(jīng)定義了某類對象,在定義其他對象時,發(fā)現(xiàn)其中一組屬性和服務(wù)與這個已定義的對象是相通的,那就不必再重復(fù)地定義這些屬性與服務(wù),只需建立它與前一類對象之間的整體-部分結(jié)構(gòu)。畫出一般類和特殊類的關(guān)系圖。答:畫圖說明一般-特殊結(jié)構(gòu)的表示法。答:第十一章控制驅(qū)動的設(shè)計系統(tǒng)總體方案的容包括哪些方面?答:系統(tǒng)的總體方案容如下:〔1項目的背景、目標(biāo)與意義?!?系統(tǒng)的應(yīng)用圍?!?對需求的簡要描述,采用的主要技術(shù)?!?使用的硬件設(shè)備、網(wǎng)絡(luò)設(shè)施和商品軟件?!?選擇的軟件體系結(jié)構(gòu)風(fēng)格?!?規(guī)劃中的網(wǎng)絡(luò)拓撲結(jié)構(gòu)?!?子系統(tǒng)劃分?!?系統(tǒng)分布方案。〔9經(jīng)費預(yù)算、工期預(yù)計、風(fēng)險分析?!?0售后服務(wù)措施,對用戶的培訓(xùn)計劃。列舉出幾種典型的軟件體系結(jié)構(gòu)風(fēng)格。答:〔1管道與過濾器風(fēng)格。〔2客戶–服務(wù)器風(fēng)格?!?面向?qū)ο箫L(fēng)格?!?隱式調(diào)用風(fēng)格。〔5倉庫風(fēng)格?!?進程控制風(fēng)格?!?解釋器模型?!?黑板風(fēng)格?!?層次風(fēng)格?!?0數(shù)據(jù)抽象風(fēng)格。列舉用主動對象表示控制流時應(yīng)遵循的應(yīng)用規(guī)則。答:〔1在一個表示進程的主動對象中,有且僅有一個表示進程的主動服務(wù)?!?如果要把一個進程和隸屬于它的現(xiàn)成分散到不同的對象中去表示,則盡可能使每個對象中只含有一個表示線程的服務(wù)?!?如果要把進程和隸屬于它的線程放在一個對象中表示,就應(yīng)該把這個進程的全部線程都放在同一個對象中,避免一部分集中,一部分分散。第十二章問題域的設(shè)計對象設(shè)計必須遵循的步驟有哪些?答:〔1組合三種模型以獲取類上的操作?!?實現(xiàn)操作的設(shè)計算法?!?優(yōu)化數(shù)據(jù)的訪問路徑。〔4實現(xiàn)外部交互式的控制?!?調(diào)整類結(jié)構(gòu),提高繼承性?!?設(shè)計關(guān)聯(lián)?!?確定對象表示?!?把類和關(guān)聯(lián)封裝成模塊。對象模型與動態(tài)模型和功能模型之間的關(guān)系如何?答:與功能模型的關(guān)系:對象模型表示在功能模型中的施動者、數(shù)據(jù)存儲和流的結(jié)構(gòu),而動態(tài)模型表示了執(zhí)行這一處理的序列。與對象模型的關(guān)系:功能模型表示在類上的操作和每個操作的參數(shù),因此它表示了在類之間的供應(yīng)者與客戶的關(guān)系。同臺模型表示了每個對象的狀態(tài),以及接受事件和改變狀態(tài)時執(zhí)行的操作。與動態(tài)模型的關(guān)系:功能模型表示了底層動作和動態(tài)模型未定義的底層動作以及在動態(tài)模型中未定義的活動的定義。對象模型表示改變了什么狀態(tài)和經(jīng)歷了什么操作。如何確定在操作中起主導(dǎo)作用的對象?答:在確定哪個對象在操作中起主導(dǎo)作用時,必須對自己提下列問題:〔1當(dāng)其他對象執(zhí)行動作時,是否有一個對象在起作用?通常,最好是把操作與操作的目標(biāo)聯(lián)系起來,而不是與初始化程序聯(lián)系起來。〔2當(dāng)其他對象只查詢所包含的信息時,操作是否修改另一個對象?被改動對象是操作目標(biāo)?!?檢查設(shè)計操作的類和關(guān)聯(lián),看哪個類是這個對象模型的子網(wǎng)中最集中的,如果類和關(guān)聯(lián)都圍繞一個中心類形成星型,那么它就是操作的目標(biāo)?!?如果對象不是軟件,而是在部表示的實際對象,應(yīng)推、移動、激活什么正式對象,或操縱其他什么真實對象去初始化一個操作?實現(xiàn)動態(tài)模型有哪幾種方法?答:NotFound.怎樣安排類以增加繼承的機會?答:〔1重新安排和調(diào)整類及操作以增強繼承性?!?從類組合中抽象出共同特性?!?當(dāng)集成的語義不正確時,使用授權(quán)的共享行為。比較關(guān)聯(lián)遍歷的三種方法。答:書P338。簡述限制操作圍的設(shè)計原則。答:NotFound.第十三章用戶界面設(shè)計窗口系統(tǒng)的定義是什么?它所管理的資源有哪些?答:窗口系統(tǒng)是控制位映像顯示器與輸入設(shè)備的系統(tǒng)軟件。它所管理的資源有屏幕、窗口、像素映像、色彩表、字體、圖形資源及輸入設(shè)備。從命令輸入到命令處理所發(fā)生的消息有哪4種情況?答:NotFound.設(shè)計人-機交互子系統(tǒng)要對用戶進行哪幾種分析?答:設(shè)計出讓用戶滿意的人-機交互界面應(yīng)遵循如下準(zhǔn)則:一致性、操作簡便、及時提供反饋信息、提供撤銷命令、無需記憶、易學(xué),富有吸引力。人-機交互子系統(tǒng)的設(shè)計形式有哪些?答:用戶的界面設(shè)計形式包括問答式、菜單、圖符、表格、命令語言和自然語言等。虛擬現(xiàn)實與多媒體技術(shù)有什么區(qū)別?答:虛擬現(xiàn)實又稱靈境技術(shù),它是一種先進的計算機用戶接口,它通過給用戶同時提供諸如視覺、聽覺、觸覺等各種只管而又自然地實時感知交互手段,最大限度地方便用戶操作,從而減輕用戶的負擔(dān),提高整個系統(tǒng)的工作效率。靈境技術(shù)具有4個重要特征:〔1多感知性〔2存在感〔3交互性〔4自主性。如果要直接操作界面,請問應(yīng)該采用哪一種模型?試描述一下。答:NotFound.什么叫做多通道技術(shù)?答:多通道是人類日常處理事件的常用方式,人與計算機多通道交互技術(shù)的發(fā)展雖然收到軟硬件的限制,但至少要滿足以下兩個條件。多通道整合,不同通道的結(jié)合對用戶的體驗是十分重要的。在交互中允許用戶產(chǎn)生含糊和不精確的輸入。新一代界面的主要特征是什么?答:〔1以用戶為中心?!?多通道?!?非精確?!?高帶寬。〔5不限制地點?!?可視化編程?!?三維交互技術(shù)的研究。第十四章數(shù)據(jù)庫及其接口設(shè)計什么是文件系統(tǒng)?答:文件系統(tǒng)通常被作為操作系統(tǒng)的一部分。它采用統(tǒng)一、標(biāo)準(zhǔn)的方法對輔助存儲器上的用戶文件和系統(tǒng)文件的數(shù)據(jù)進行管理,提供存儲、檢索、更新、共享和保護等功能。在文件系統(tǒng)的支持下,應(yīng)用程序不必直接使用輔助存儲器的物理地址和操作指令來實現(xiàn)數(shù)據(jù)的存取,而是把需要永久存儲的數(shù)據(jù)定義為文件,利用文件系統(tǒng)提供的操作命令實現(xiàn)上述各種功能。分析文件系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)之間的差異。答:與數(shù)據(jù)庫管理系統(tǒng)相比,文件系統(tǒng)的特點是廉價,容易學(xué)習(xí)和掌握,對被存儲的數(shù)據(jù)沒有特別的類型限制。但它提供的數(shù)據(jù)存取與管理功能遠不如數(shù)據(jù)庫管理系統(tǒng)豐富。例如它只適合存儲各種類型的數(shù)據(jù)而不容易體現(xiàn)數(shù)據(jù)之間的管理;只能按地址或者按記錄進行數(shù)據(jù)讀寫,不能直接按屬性進行數(shù)據(jù)檢索與更新;缺少數(shù)據(jù)完整性支持,數(shù)據(jù)共享支持也比較弱。簡述DBMS的功能。答:DBMS中文全稱為數(shù)據(jù)庫管理系統(tǒng)〔DatabaseManagementSystem,它是用于建立、使用、維護數(shù)據(jù)庫的軟件。其提供的功能如下:模式翻譯:提供數(shù)據(jù)定義語言〔DDL。應(yīng)用程序的編譯:把含有訪問數(shù)據(jù)庫語句的應(yīng)用程序,編譯成在DBMS支持下可運行的目標(biāo)程序。交互式查詢:提供易實用的交互式查詢語言,如SQL。數(shù)據(jù)的組織與存?。禾峁?shù)據(jù)在外圍儲存設(shè)別上的物理組織與存取方法。事物運行管理:提供事物運行管理及運行日志、實物運行的安全性監(jiān)控和數(shù)據(jù)完整性檢查、事物的并發(fā)控制及系統(tǒng)恢復(fù)等功能。數(shù)據(jù)庫的維護:為數(shù)據(jù)庫管理員提供軟件支持,包括數(shù)據(jù)安全控制、完整性保障、數(shù)據(jù)庫備份、數(shù)據(jù)庫重組以及性能監(jiān)控等維護工具。比較關(guān)系數(shù)據(jù)庫和面向?qū)ο髷?shù)據(jù)庫。答:采用關(guān)系模型的數(shù)據(jù)庫稱作關(guān)系數(shù)據(jù)庫。采用面向?qū)ο髷?shù)據(jù)模型的數(shù)據(jù)庫稱作面向?qū)ο髷?shù)據(jù)庫。如何選擇合適的數(shù)據(jù)管理系統(tǒng)。答:決定采用何種數(shù)據(jù)管理系統(tǒng),要綜合考慮技術(shù)和非技術(shù)兩方面的因素。非技術(shù)因素數(shù)據(jù)管理系統(tǒng)的成熟和先進性價格開發(fā)隊伍的技術(shù)背景與其他系統(tǒng)的關(guān)系技術(shù)因素文件系統(tǒng)關(guān)系數(shù)據(jù)庫管理系統(tǒng)面向?qū)ο髷?shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫與數(shù)據(jù)庫管理系統(tǒng)有什么區(qū)別?答:數(shù)據(jù)庫〔Database是長期存儲在計算機,有組織、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫中的數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存,具有較小的冗余,較高的數(shù)據(jù)獨立性和易擴展性,并可為各種用戶共享。而數(shù)據(jù)庫管理系統(tǒng)〔DatabaseManagementSystem是用于建立、使用、維護數(shù)據(jù)庫的軟件。它對數(shù)據(jù)庫進行統(tǒng)一的管理和控制,以保證數(shù)據(jù)庫的安全性和完整性。面向?qū)ο蠛蛿?shù)據(jù)庫技術(shù)是如何進行整合的?答:書P380。對象如何在數(shù)據(jù)庫中存放?答:用關(guān)系數(shù)據(jù)庫存放對象的基本策略是:把由每個類直接定義并需要永久存儲的全部對象實例存放在一個數(shù)據(jù)庫表中。每個這樣的類對應(yīng)一個數(shù)據(jù)庫表,經(jīng)過規(guī)化之后的類的每個屬性對應(yīng)數(shù)據(jù)庫表的一個屬性,類的每個對象實例對應(yīng)數(shù)據(jù)庫中的一個元組。第十五章形式化方法3.Petri網(wǎng)適合于分析與設(shè)計哪些系統(tǒng)?它是通過什么方式來反應(yīng)系統(tǒng)動態(tài)行為的?答:Petri網(wǎng)在軟件分析中,是一種系統(tǒng)的數(shù)學(xué)和圖形的描述與分析方法。對于具有并發(fā)、異步、分布、并行、不確定性或隨機性的信息處理系統(tǒng),都可以利用Petri網(wǎng)構(gòu)造出要開發(fā)的Petri網(wǎng)模型。它通過使用標(biāo)記去模擬系統(tǒng)的動態(tài)行為和并發(fā)活動。4.Petri網(wǎng)可以奉行系統(tǒng)的哪些行為特征?這些特征的含義各是什么?答:行為特征及其含義如下:可達性:可達性是研究任何系統(tǒng)動態(tài)特征的基礎(chǔ)。有界性?;钚裕涸诓僮飨到y(tǒng)中,活性的概念與安全無死鎖緊密相關(guān)??赡嫘???筛采w性。持久性。同步距離:同步距離是條件/事件系統(tǒng)中與兩個事件間相互獨立緊密相關(guān)的一種量度。公平性:包括有界公平性和無條件公平性。5.Petri網(wǎng)的性能分析方法有哪幾種?其原理各是什么?答:分析方法可分為三類??筛采w性樹。這種方法實質(zhì)上包含了所有可達標(biāo)識或它們的可覆蓋標(biāo)識的枚舉,適用于所有類型的網(wǎng)。矩陣方程求解。這種方法求解能力強,但在許多情況下,它僅適用于Petri網(wǎng)的一些特殊之類或特殊情況。分層或化簡。這種方法實在保證網(wǎng)系統(tǒng)要分析的性質(zhì)不變的情況下進行分層或化簡,它設(shè)計一些變換的方法的研究。第十六章軟件實現(xiàn)軟件實現(xiàn)完成什么任務(wù)?答:軟件實現(xiàn)就是在詳細設(shè)計的基礎(chǔ)上,用一種程序設(shè)計語言來講設(shè)計轉(zhuǎn)換為程序,得到的結(jié)果是源程序代碼。你了解當(dāng)前流行的編程語言嗎?〔列舉兩種以上它們的特點是什么?適合設(shè)計什么樣的系統(tǒng)?答:〔1C語言:具有很強功能的語言,支持復(fù)雜的數(shù)據(jù)結(jié)構(gòu),可大量運用指針,具有豐富靈活的操作運算符及數(shù)據(jù)處理操作符。還可以直接對位進行操作,程序運行效率高。適合科學(xué)工程計算?!?JAVA語言:是由Sun公司開發(fā)的一種面向?qū)ο蟮摹⒎植际降?、安全的程序設(shè)計語言。因為它運行在JAVA虛擬機上,因此它與硬件無關(guān),也體現(xiàn)了它的易移植性。良好的編程風(fēng)格帶來的好處是什么?請舉例說出有哪些公認的良好的編程風(fēng)格?答:一個公認的、良好的編程風(fēng)格可以減少編碼的錯誤,減少讀程序的時間,從而提高軟件的開發(fā)效率。在代碼上提高程序的效率,可以做哪些方面的工作?答:〔1在進行編碼以前,應(yīng)建華算法中的算術(shù)表達式和邏輯表達式,使之顯得簡潔?!?對嵌套循環(huán)仔細審查,在循環(huán)部的語句和表達式越少越好?!?應(yīng)盡量避免使用多維數(shù)組。〔4應(yīng)盡量避免使用指針和復(fù)雜的列表?!?采用效率高的算術(shù)運算。〔6要避免采用混合數(shù)據(jù)類型?!?只要有可能,就應(yīng)當(dāng)采用占用存少的數(shù)據(jù)類型。冗余編程的目的是什么?答:冗余是改善系統(tǒng)可靠性的一種重要技術(shù)。冗余編程目的在于保證一個軟件在出現(xiàn)錯誤時能有另一個軟件能提高相同的功能以保證工作繼續(xù)進行。硬件冗余和軟件冗余的區(qū)別是什么?答:硬件冗余僅使用兩個或兩個以上的硬件保持系統(tǒng)運行。軟件冗余這是兩個功能相同但源程序不同的兩個軟件。舉例說明冗余可以提高系統(tǒng)可靠性的原因。答:書P430。發(fā)展軟件容錯技術(shù)的目的是什么?答:提高軟件質(zhì)量和可靠性的技術(shù)大致可分為兩類,一類是避開錯誤技術(shù),即在開發(fā)的過程中不讓差錯潛入軟件的技術(shù);另一種是容錯技術(shù),即對某些無法避開的差錯,使其影響減至最少的技術(shù)。但是,無論使用多么高明的避開錯誤技術(shù),在理論上都無法證明程序的正確性,無法做到完美無缺和絕無錯誤,這就需要采用容錯技術(shù)以使錯誤發(fā)生時不影響系統(tǒng)的特性,或使錯誤發(fā)生時對用戶的影響限制在某些允許的圍。你認為容錯軟件應(yīng)該具有什么樣的功能?答:〔1在一定程度上對自身錯誤具有屏蔽能力?!?在一定程度上能從錯誤狀態(tài)自動恢復(fù)到正常狀態(tài)?!?程序存在錯誤而且發(fā)生時,仍然能在一定程度上完成預(yù)期的功能?!?在一定程度上具有容錯的能力。請簡單敘述容錯軟件的設(shè)計過程。答:其設(shè)計步驟如下:首先要按設(shè)計任務(wù)要求進行常規(guī)設(shè)計,盡量保證設(shè)計的正確。根據(jù)系統(tǒng)的工作環(huán)境,對可能出現(xiàn)的錯誤分類,確定實現(xiàn)容錯的圍。按照"成本-效益"最優(yōu)的原則,選用某種冗余手段〔結(jié)構(gòu)、信息、時間來實現(xiàn)對各類錯誤的屏蔽。分析或驗證上述冗余結(jié)構(gòu)的容錯效果。第十七章軟件質(zhì)量軟件質(zhì)量的定義是什么?答:〔1軟件產(chǎn)品具備滿足給定需求的特性及特征的總體的能力?!?軟件擁有所期望的各種屬性組合的程度?!?用戶認為軟件滿足他們綜合期望的程度?!?軟件組合特性可以滿足用戶預(yù)期需求的程度。McCall提出的軟件質(zhì)量特性有哪些?答:McCall認為軟件質(zhì)量由12個特性組成,分別面向軟件產(chǎn)品的運行、修正、轉(zhuǎn)移。產(chǎn)品運行:正確性、可靠性、可使用性、效率、完整性、安全性。產(chǎn)品修正:可維護性、可測試性、靈活性。產(chǎn)品轉(zhuǎn)移:互連性、可移植性、復(fù)用性。請分析成立軟件管理小組的利弊?答:書P452。軟件質(zhì)量度量存在哪些質(zhì)量標(biāo)準(zhǔn)?答:〔1客觀性?!?可靠性。〔3適用性?!?標(biāo)準(zhǔn)化?!?可比較性。〔6經(jīng)濟性?!?有效性。什么叫做軟件質(zhì)量保證?其工作原則是什么?答:軟件質(zhì)量保證是一個復(fù)雜的系統(tǒng),它采用一定的技術(shù)、方法和工具,來處理和調(diào)整軟件產(chǎn)品滿足需求時的相互關(guān)系,以確保軟件產(chǎn)品滿足或超過在該產(chǎn)品的開發(fā)過程中所規(guī)定的標(biāo)準(zhǔn)。其工作原則如下:盡可能做到質(zhì)量特征的具體化及量化。要找出每個階段的具體質(zhì)量特征。針對具體產(chǎn)品和相應(yīng)項目制定質(zhì)量計劃。檢查質(zhì)量測試結(jié)果。進行各種質(zhì)量評審。優(yōu)化的建設(shè)性的質(zhì)量保證。盡早發(fā)現(xiàn)并改正錯誤和缺陷。集中進行質(zhì)量保證。獨立的質(zhì)量測試。對所應(yīng)用的軟件質(zhì)量保證措施的評價。如何選擇參加評審的成員?答:首先要尋找一個主席,合適的主席的標(biāo)準(zhǔn)是能夠識別和評價錯誤的專家,有威信和信服力。選擇了主席后,由主席和測試對象的主持人共同選擇其他參加成員。選擇的成員應(yīng)當(dāng)包括具有轉(zhuǎn)么知識,及在數(shù)據(jù)庫和應(yīng)用領(lǐng)域有長期經(jīng)驗的專家,被評審系統(tǒng)的可能用戶及有能力并擅長用系統(tǒng)分析的方法發(fā)現(xiàn)邏輯矛盾的人。走查與審查有什么區(qū)別?答:走查是審評過程中采用的一種方法。走查時,軟件設(shè)計者或程序開發(fā)人員指導(dǎo)一名或多名其他參加評審的成員,通讀已書寫的設(shè)計文檔或編碼,其他成員負責(zé)提出問題,并對有關(guān)技術(shù)、風(fēng)格、可能的錯誤、是否有違背評審標(biāo)準(zhǔn)的地方進行評論。審查是一種正式的評定技術(shù)。由除被審查對象的作者之外的某人或某一小組自習(xí)檢查軟件需求、設(shè)計或編碼,以找出故障和其他一些問題。評審有什么優(yōu)點?還有什么需要改進?答:優(yōu)點:評審復(fù)雜情況時的分析、識別、評價和測試等方面充分發(fā)揮人們的思維能力。評審不僅適用于檢驗正式的文檔,如程序清單,也適用于檢驗非正式的文檔,如口頭的設(shè)計說明等。用評審方式檢查程序具有很高的成功率。缺點:評審的成功與否完全依賴于參加評審的人員,他們的原則性是至關(guān)重要的。交流的氣氛對于發(fā)揮人們的思考和分析能力是很重要的。解決問題可能占用有價值的評審時間,以至于不能發(fā)現(xiàn)更多的錯誤。存在著評價工作人員的可能,這將使檢查過程的有效性降低。評審對開發(fā)過程的重要性往往被低估了。軟件可靠性的定義是什么?答:IEEE把軟件可靠新定義如下:在規(guī)定的條件下,在規(guī)定的時間,軟件不引起系統(tǒng)失敗的概率,該概率是系統(tǒng)輸入和系統(tǒng)使用的函數(shù),也是軟件中存在錯誤的函數(shù)。系統(tǒng)輸入將確定是否會遇到已存在的錯誤。在規(guī)定的時間周期,在所述條件下程序執(zhí)行所要求的功能的能力。軟件可靠性定義中,規(guī)定的條件指什么?規(guī)定的時間又指什么?答:規(guī)定的時間:在軟件測試和運行中,有三種時間度量。第一種是日歷時間,第二種是時鐘時間,第三種是執(zhí)行時間。規(guī)定的條件:是指環(huán)境條件。環(huán)境條件包括了與程序存儲、運行有關(guān)的計算機及其操作系統(tǒng)。第十八章軟件測試軟件測試的目的是什么?答:軟件測試要求認定剛開發(fā)的軟件是錯誤的,它的目的是找出錯誤所在,而不是"說明程序能正確地執(zhí)行它應(yīng)有的功能",也不是"表明程序沒有錯誤"。軟件測試中應(yīng)遵循哪些原則?答:〔1測試用例由輸出數(shù)據(jù)和預(yù)期的輸出數(shù)據(jù)兩部分組成。需要將程序運行后的結(jié)果和預(yù)期的輸出相比較來測試程序?!?在輸入數(shù)據(jù)的選擇上,不僅要選擇合理的輸入數(shù)據(jù),還要選擇不合理的輸入數(shù)據(jù)。這樣可提高程序運行的可靠性。程序應(yīng)該對不合理的輸入數(shù)據(jù)給出相應(yīng)提示。〔3用窮舉測試是不可能的??梢酝ㄟ^設(shè)計測試用例,充分覆蓋所有的條件?!?應(yīng)該在真正的測試工作開始之前很長時間,就根據(jù)軟件的需求和設(shè)計來制定測試計劃,在測試工作開始后,要嚴格執(zhí)行,排除隨意性?!?長期保留測試用例。〔6對發(fā)現(xiàn)錯誤較多的程序段,應(yīng)進行更深入的測試。〔7為了打到最佳測試效果,應(yīng)該有第三方來構(gòu)造測試用例。說說曾經(jīng)做過的測試經(jīng)歷。答:無。試從時間、手段和目的上比較靜態(tài)測試和動態(tài)測試的區(qū)別。答:靜態(tài)測試是采用人工檢測和計算機輔助靜態(tài)分析的手段對程序進行檢測。動態(tài)測試與靜態(tài)測試相反,主要是設(shè)計一組輸入數(shù)據(jù),然后通過運行程序來發(fā)現(xiàn)錯誤。白盒測試的原理是什么?答:該方法吧測試對象看做一個透明的盒子,測試人員能了解程序的容結(jié)構(gòu)和處理過程,以檢查處理過程為目的,對程序中盡可能多的邏輯路徑進行測試,在所有的點檢驗部控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)是否和預(yù)期的相同。舉例說明白盒測試不能窮舉測試的原因。答:如測試一個循環(huán)20次嵌套的IF語句,循環(huán)體中有5個路徑。測試這個程序的執(zhí)行路徑未5的20次方,如果每毫秒完成一個路徑的測試,完成此程序的測試需3170年。黑盒測試的原理是什么?測試的目的是什么?答:該方法把被測試對象看成一個黑盒子,測試人員完全不考慮程序的部結(jié)構(gòu)和處理過程,只在軟件的界面上進行測試,用來證實軟件功能的可操作性,檢查程序是否滿足功能要求,是否能很好地接受數(shù)據(jù),并產(chǎn)生正確的輸出。測試的目的在于發(fā)現(xiàn)以下錯誤:〔1是否有不正確或遺漏了的功能?!?在界面上,能否正確地處理合理和不合理的輸入數(shù)據(jù),并產(chǎn)生正確的輸出信息?!?訪問外部信息是否有錯。〔4性能上是否滿足要求等?!?初始化和終止錯誤。在白盒測試中,有哪些設(shè)計測試用例的技術(shù)?答:白盒測試是結(jié)構(gòu)測試,所以一般都是以程序的部邏輯結(jié)構(gòu)為基礎(chǔ)來設(shè)計測試用例。邏輯覆蓋:①語句覆蓋②判定覆蓋③條件覆蓋④判定/條件覆蓋⑤條件組合覆蓋⑥路徑覆蓋循環(huán)覆蓋:①單循環(huán)②嵌套循環(huán)基本路徑測試邏輯覆蓋的含義是什么?答:當(dāng)程序中有循環(huán)時,覆蓋每條路徑是不可能的,需要設(shè)計使覆蓋程度較高的或覆蓋最有代表性的路徑的測試用例。如果你負責(zé)對一個軟件進行測試,你將如何安排你的工作計劃?答:書P472圖18-4。確認測試的作用是什么?答:確認測試又稱有效性測試。它的任務(wù)是檢查軟件的功能與性能是否與需求說明書中規(guī)定的指標(biāo)相符合。因而需求說明是確認測試的基礎(chǔ)。第十九章軟件維護軟件的可維護性和哪些因素有關(guān)?答:〔1系統(tǒng)大小〔2系統(tǒng)的開發(fā)文檔〔3其他因素軟件的維護包括哪些維護活動?答:〔1改正性維護〔2適應(yīng)性維護〔3完善性維護〔4預(yù)防性維護軟件維護在這個軟件生命周期中處于哪一種生命位置?答:NotFound.如何對軟件的可維護性進行度量?答:使用如

溫馨提示

  • 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

提交評論