版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
軟件工程簡答題答案第五版軟件工程簡答題第一章緒論1.什么是軟件危機(jī)?軟件危機(jī)有什么表現(xiàn)?軟件危機(jī)產(chǎn)生的原因是什么?答:所謂軟件危機(jī)是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。主要是指如何開發(fā)軟件,怎樣滿足對(duì)軟件日益增長的需求,如何維護(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)軟件通常沒有適當(dāng)?shù)奈臋n資料。(5)軟件的可維護(hù)性差。(6)軟件開發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用普及深入的趨勢(shì)。原因:軟件開發(fā)中遇到的問題因找不到解決的辦法,使問題積累起來,形成了尖銳的矛盾,導(dǎo)致了軟件危機(jī)。2.簡述軟件的發(fā)展過程。答:軟件生產(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ò)大,軟件的需求也不斷增長,軟件由于處理的問題域擴(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ù)庫、開發(fā)工具、開發(fā)環(huán)境、網(wǎng)絡(luò)、分布式、面向?qū)ο蠹夹g(shù)來開發(fā)軟件。3.什么叫軟件工程?軟件工程是如何克服軟件危機(jī)的?答:軟件工程是將系統(tǒng)的、規(guī)范的、可度量的工程化方法應(yīng)用于軟件開發(fā)、運(yùn)行和維護(hù)的全過程及上述方法的研究。為了克服軟件危機(jī),人們從其他產(chǎn)業(yè)的工程化生產(chǎn)得到啟示,采用工程的概念、原理、技術(shù)和方法來開發(fā)和維護(hù)軟件。4.軟件工程的目標(biāo)是什么?軟件工程有哪些原則?答:軟件工程的目標(biāo)是:在給定成本、進(jìn)度的前提下,開發(fā)出具有可修改性、有效性、可靠性、可理解性、可維護(hù)性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性并滿足用戶需求的軟件產(chǎn)品。原則如下:抽象、模塊化、信息隱藏、局部化、完整性、一致性和可驗(yàn)證性。5.為什么說軟件工程是一門綜合性的交叉學(xué)科?答:因?yàn)檐浖こ躺婕罢軐W(xué)、計(jì)算機(jī)科學(xué)、工程科學(xué)、管理科學(xué)、數(shù)學(xué)和應(yīng)用領(lǐng)域知識(shí)。6.軟件工程方法學(xué)的基本內(nèi)容包括哪些?答:基本內(nèi)容包括:(1)結(jié)構(gòu)化理論和方法。(2)模塊技術(shù)與數(shù)據(jù)抽象。(3)軟件測(cè)試與程序正確性證明。(4)軟件分析與設(shè)計(jì)方法、工具和環(huán)境。(5)軟件工程管理與質(zhì)量評(píng)價(jià)。7.軟件產(chǎn)品具有哪些特殊性質(zhì)?答:Notfound.8.軟件工程學(xué)研究的對(duì)象是什么?答:軟件工程研究的主要內(nèi)容包括軟件開發(fā)技術(shù)和軟件開發(fā)管理兩個(gè)方面。在軟件開發(fā)技術(shù)中,它主要研究軟件開發(fā)方法、軟件開發(fā)過程、軟件開發(fā)工具和環(huán)境。在軟件開發(fā)管理中,它主要研究軟件管理學(xué)、軟件經(jīng)濟(jì)學(xué)和軟件心理學(xué)等。第二章基本理論1.什么是軟件的生命周期模型?它主要有那些模型?答:軟件生命周期模型是描述軟件開發(fā)過程中各種活動(dòng)如何執(zhí)行的模型。主要有:瀑布模型、原型模型、增量模型、螺旋模型、噴泉模型、基于知識(shí)的模型和變換模型。2.什么是軟件開發(fā)方法?有那些主要開發(fā)方法?答:軟件開發(fā)方法是一種使用早已定義好的技術(shù)集及符號(hào)表示習(xí)慣組織軟件生產(chǎn)過程的方法。主要有:結(jié)構(gòu)化方法、Jackson方法、維也納開發(fā)方法和面向?qū)ο蟮拈_發(fā)方法。3.開發(fā)軟件為什么首先要確定軟件生命周期模型?答:一個(gè)強(qiáng)有力的軟件生命周期模型對(duì)軟件開發(fā)提供了強(qiáng)有力的支持,為軟件開發(fā)過程中所有活動(dòng)提供了統(tǒng)一的政策保證,為參與軟件開發(fā)的所有成員提供了幫助和指導(dǎo)。它提示了如何演繹軟件過程的思想,是軟件生命周期模型化技術(shù)的基礎(chǔ),也是建立軟件開發(fā)環(huán)境的核心。4.軟件工程過程包括那些過程?答:包括如下7個(gè)過程:(1)開發(fā)過程(2)管理過程(3)供應(yīng)過程(4)獲取過程(5)操作過程(6)維護(hù)過程(7)支持過程5.軟件生命周期內(nèi)階段的劃分為什么要受軟件的規(guī)模、性質(zhì)、種類、開發(fā)方法等影響?答:因?yàn)檐浖谄渖嫫趦?nèi)的每個(gè)階段都有較明顯的特征,有相對(duì)獨(dú)立的任務(wù),有其專門的方法和工具。6.軟件定義與分析時(shí)期主要解決什么問題?答:通俗地講,主要解決以下問題:(1)要做的是什么軟件?(2)沒有有可行性?(3)軟件的具體需求是什么?(4)驗(yàn)收標(biāo)準(zhǔn)是什么?7.瀑布模型的主要開發(fā)過程和優(yōu)缺點(diǎn)有哪些?答:開發(fā)過程有6個(gè)階段:系統(tǒng)需求分析、軟件需求分析、系統(tǒng)設(shè)計(jì)、軟件編碼、系統(tǒng)測(cè)試和軟件維護(hù)。優(yōu)缺點(diǎn):8.簡述原型模型的特點(diǎn),它與瀑布模型的關(guān)鍵區(qū)別是什么?答:原型模型的最大特點(diǎn)是:利用原型法技術(shù)能夠快速實(shí)現(xiàn)系統(tǒng)的初步模型,供開發(fā)人員和用戶進(jìn)行交流,以便較準(zhǔn)確地獲得用戶的需求;采用逐步求精的方法使原型逐步完善,這是一種在新的層次上不斷反復(fù)推進(jìn)的過程。它與瀑布模型的關(guān)鍵區(qū)別是它可以大大避免在瀑布模型冗長的開發(fā)過程中看不見產(chǎn)品雛形的現(xiàn)象。9.簡述噴泉模型的基本思想。答:噴泉模型以面向?qū)ο蟮能浖_發(fā)方法為基礎(chǔ),以用戶需求為動(dòng)力,以對(duì)象作為驅(qū)動(dòng)的模型。它適合面向?qū)ο蟮拈_發(fā)方法。第三章可行性研究1.可行性研究論證主要集中在那些領(lǐng)域?答:Notfound.2.如何進(jìn)行軟件的成本估算?答:首先可以用代碼行定量估算方法,把開發(fā)軟件中實(shí)現(xiàn)每一個(gè)功能所需要的源代碼行數(shù)與成本聯(lián)系起來。其次可以用任務(wù)分解技術(shù)估算成本。3.可行性研究的任務(wù)是什么?答:一般從以下四個(gè)方面研究系統(tǒng)方案的可行性。(1)技術(shù)可行性研究(2)經(jīng)濟(jì)可行性研究(3)法律可行性研究(4)開發(fā)方案的選擇性研究4.簡述可行性研究的步驟。答:研究步驟:(1)系統(tǒng)定義(2)對(duì)于現(xiàn)行系統(tǒng)進(jìn)行分析研究(3)導(dǎo)出新系統(tǒng)的邏輯模型(4)設(shè)計(jì)方案(5)推薦可行的方案(6)編寫可行性研究報(bào)告5.在軟件的系統(tǒng)分析之前,為什么要制訂一個(gè)系統(tǒng)的標(biāo)準(zhǔn)?答:Notfound.6.可行性研究報(bào)告的主要內(nèi)容有哪些?答:(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ì)效益與軟件的生命周期的長度有關(guān),貨幣的時(shí)間價(jià)值就直接影響軟件的開發(fā)和維護(hù)成本,從而直接影響軟件的經(jīng)濟(jì)效益。8.經(jīng)過可行性研究后,一個(gè)項(xiàng)目如果值得開發(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è)問題,確定系統(tǒng)必須完成哪些工作。對(duì)目標(biāo)系統(tǒng)提出完整、準(zhǔn)確的要求。2.怎樣建立目標(biāo)系統(tǒng)的邏輯模型?要經(jīng)過哪些步驟?答:分析人員根據(jù)前面獲取的需求資料,要進(jìn)行一致性的分析檢查,在分析、綜合種逐步細(xì)化軟件功能,劃分成各個(gè)子功能。同時(shí)對(duì)數(shù)據(jù)域進(jìn)行分解,并分配到各個(gè)之功能上,以確定系統(tǒng)的構(gòu)成及主要成分。最后要用圖文結(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)問題明確定義(2)導(dǎo)出軟件的邏輯模型(3)編寫文檔5.需求分析為什么要研究問題域?答:Notfound.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ù)用性、互操作性等的影響尤為深刻。因而一個(gè)良好的軟件體系結(jié)構(gòu)設(shè)計(jì)保證了軟件系統(tǒng)的性能和生命周期。7.消除包之間的循環(huán)依賴性有哪兩種主要方法?答:(1)PackageA將PackageA中的循環(huán)依賴元素提取到PackageC中PackageAPackageBPackageBPackageC(2)PackageAPackageA將PackageC中的循環(huán)依賴元素提取到PackageD中PackageBPackageBPackageCPackageCPackageD8.簡述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è)計(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.簡述軟件總體設(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ù)庫設(shè)計(jì)(3)網(wǎng)絡(luò)系統(tǒng)設(shè)計(jì)(4)軟件總體設(shè)計(jì)文檔(5)評(píng)審3.舉例說明各種類型的模塊耦合。答:(1)數(shù)據(jù)耦合:兩個(gè)模塊彼此間通過參數(shù)交換信息,而且交換的信息僅僅是數(shù)據(jù)。(2)控制耦合:傳遞的信息中有控制信息。(3)公共環(huán)境耦合:兩個(gè)或多個(gè)模塊通過一個(gè)公共數(shù)據(jù)環(huán)境相互作用的耦合。(4)內(nèi)容耦合:最高程度的耦合,如P121圖。4.簡述模塊、模塊化及模塊化設(shè)計(jì)的概念。答:模塊在程序中是數(shù)據(jù)說明、可執(zhí)行語句等程序?qū)ο蟮募?,或者是單?dú)命名和編址的元素,如高級(jí)語言中的過程、函數(shù)和子程序等。在軟件的體系結(jié)構(gòu)中,模塊是可組合、可分解和更換的單元。模塊化是指解決一個(gè)復(fù)雜問題時(shí)自頂向下逐層把軟件系統(tǒng)劃分成若干模塊的過程。5.什么是模塊的獨(dú)立性?設(shè)計(jì)中為什么模塊要獨(dú)立?對(duì)于獨(dú)立性怎樣度量?答:劃分模塊時(shí),盡量做到高內(nèi)聚,低耦合,保持模塊相對(duì)對(duì)立性,并以此原則又話初始的軟件結(jié)構(gòu)。(1)如果若干模塊之間耦合強(qiáng)度過高,每個(gè)模塊內(nèi)功能不復(fù)雜,可將它們合并,以減少信息的傳遞和公共區(qū)的引用。(2)若有多個(gè)相關(guān)模塊,應(yīng)該對(duì)它們的功能進(jìn)行分析,校區(qū)重復(fù)功能。6.試論“一個(gè)模塊,一個(gè)功能”的優(yōu)點(diǎn)。答:Notfound.7.簡述變換流的設(shè)計(jì)步驟。答:(1)確定數(shù)據(jù)流圖中的變換中心、邏輯輸入和邏輯輸出(2)設(shè)計(jì)軟件結(jié)構(gòu)的頂層和第一層(3)設(shè)計(jì)中、下層模塊(4)設(shè)計(jì)的優(yōu)化8.簡述事務(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)在其控制范圍之內(nèi),且條件判定所在的模塊應(yīng)與受影響的模塊在層次上盡量靠近。11.什么是軟件結(jié)構(gòu)?簡述軟件結(jié)構(gòu)設(shè)計(jì)的優(yōu)化準(zhǔn)則。答:軟件結(jié)構(gòu)是軟件系統(tǒng)的模塊層次結(jié)構(gòu),反映了整個(gè)系統(tǒng)的功能實(shí)現(xiàn),即將來程序的控制層次體系。對(duì)于一個(gè)問題,可用不同的軟件結(jié)構(gòu)來解決,不同的設(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.簡述詳細(xì)設(shè)計(jì)的基本原則與主要任務(wù)。答:詳細(xì)設(shè)計(jì)要完成所有設(shè)計(jì)的細(xì)節(jié)。主要任務(wù)有:(1)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)(2)物理設(shè)計(jì)(3)算法設(shè)計(jì)(4)界面設(shè)計(jì)(5)其他設(shè)計(jì)(6)編寫設(shè)計(jì)說明書2.任意選擇一種排序算法,分別用流程圖和PDL語言描述其詳細(xì)過程。答:PDL語言全稱是過程設(shè)計(jì)語言(ProcessDesignLanguage),它是在偽代碼的基礎(chǔ)上,擴(kuò)充了模塊的定義與調(diào)用、數(shù)據(jù)定義和輸入輸出而形成的。它的控制結(jié)構(gòu)與偽代碼相同。PDL是一種用于描述模塊算法設(shè)計(jì)和細(xì)節(jié)處理的語言。3.假設(shè)只有SEQUENCE和DO-WHILE兩種結(jié)構(gòu),如何用它們來完成IF-THEN-ELSE的操
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度上市公司股權(quán)代持信息披露合同
- 2025年度建材城商鋪?zhàn)赓U及市場(chǎng)推廣活動(dòng)合作合同
- 2025年度企業(yè)品牌戰(zhàn)略規(guī)劃咨詢合同
- 2025年度養(yǎng)老設(shè)施代建服務(wù)合同范本
- 2025年度果園果樹種植與農(nóng)產(chǎn)品溯源系統(tǒng)建設(shè)合同
- 2025年度破碎機(jī)行業(yè)標(biāo)準(zhǔn)化合作合同
- 2025年度家庭清潔服務(wù)人員個(gè)人勞動(dòng)合同修訂版
- 2025年度新型城鎮(zhèn)化建設(shè)項(xiàng)目拆除合同
- 2025年度二手車交易評(píng)估與貸款服務(wù)合同
- 2025年度建筑工程項(xiàng)目管理咨詢合同規(guī)范
- 初中英語-Unit2 My dream job(writing)教學(xué)設(shè)計(jì)學(xué)情分析教材分析課后反思
- 2023湖南株洲市茶陵縣茶陵湘劇保護(hù)傳承中心招聘5人高頻考點(diǎn)題庫(共500題含答案解析)模擬練習(xí)試卷
- 廣州市勞動(dòng)仲裁申請(qǐng)書
- 江西省上饒市高三一模理綜化學(xué)試題附參考答案
- 23-張方紅-IVF的治療流程及護(hù)理
- 頂部板式吊耳計(jì)算HGT-20574-2018
- 因數(shù)和倍數(shù)復(fù)習(xí)思維導(dǎo)圖
- LY/T 2986-2018流動(dòng)沙地沙障設(shè)置技術(shù)規(guī)程
- GB/T 16288-1996塑料包裝制品回收標(biāo)志
- 三級(jí)教育考試卷(電工)答案
- 醫(yī)院標(biāo)準(zhǔn)化運(yùn)營管理課件
評(píng)論
0/150
提交評(píng)論