《軟件工程——理論與實踐》重點問答題(共4頁)_第1頁
《軟件工程——理論與實踐》重點問答題(共4頁)_第2頁
《軟件工程——理論與實踐》重點問答題(共4頁)_第3頁
《軟件工程——理論與實踐》重點問答題(共4頁)_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上 軟件工程理論與實踐(第2 版)習(xí)題答案 簡答題 1. 什么是軟件危機?其產(chǎn)生的原因是什么? 答:“軟件危機”(Software Crisis)的出現(xiàn)是由于軟件的規(guī)模越來越大,復(fù)雜度不斷增加,軟件需求量增大。而軟件開發(fā)過程是一種高密集度的腦力勞動,軟件開發(fā)的模式及技術(shù)不能適應(yīng)軟件發(fā)展的需要。致使大量質(zhì)量低劣的軟件涌向市場,有的花費大量人力、財力,而在開發(fā)過程中就夭折。 軟件危機主要表現(xiàn)在兩個方面: (1) 軟件產(chǎn)品質(zhì)量低劣,甚至開發(fā)過程就夭折。 (2) 軟件生產(chǎn)率低,不能滿足需要。 2. 有哪些主要的軟件開發(fā)方法? 答:主要的軟件開發(fā)方法有:結(jié)構(gòu)化開發(fā)方法、原型化開發(fā)

2、方法和面向?qū)ο蟮拈_發(fā)方法。 3. 軟件生存周期各階段的主要任務(wù)是什么? 答:軟件生存周期按瀑布模型分為 6 個階段: 可行性研究與計劃(確定系統(tǒng)的目標和規(guī)模,分析項目的可行性); 需求分析與規(guī)格說明(明確系統(tǒng)的規(guī)格和要求); 設(shè)計(包括概要設(shè)計和詳細設(shè)計,將系統(tǒng)分解為模塊); 編程(用程序語言實現(xiàn)每個模塊,簡單容易); 測試(發(fā)現(xiàn)并改正錯誤,分為模塊測試、集成測試和系統(tǒng)聯(lián)調(diào)三級); 運行維護(擴充功能、糾錯等)。 4. 原型化方法的核心是什么?它具有哪些特點? 答:原型化方法的核心是,花費少量代價建立一個可運行的系統(tǒng),使用戶及早獲得學(xué)習(xí)的機會。 強調(diào)軟件開發(fā)人員與用戶的不斷交互,通過原型的演進

3、不斷適應(yīng)用戶任務(wù)改變的需求。它是一個循環(huán)的模型。速成原型法按以下步驟循環(huán)執(zhí)行: 快速分析。 構(gòu)造原型。 運行和評價原型。 修改與改進。 5簡述抽取需求的主要方法,并比較它們的特點。 面談法。這是一種重要而直接簡單,隨時可使用的發(fā)現(xiàn)和獲取需求的方法。面談的對象主要有用戶和領(lǐng)域?qū)<遥号c用戶面談主要了解和提取需求,與領(lǐng)域?qū)<颐嬲?,是一個對領(lǐng)域知識的學(xué)習(xí)和轉(zhuǎn)換過程。使用該方法時應(yīng)注意面談前要充分準備,面談后認真分析總結(jié),同時注意掌握面談的人際交流技巧,才能取得好的效果。 問卷法調(diào)查法。通過采用向用戶發(fā)問卷調(diào)查表的方式,達到徹底弄清項目需求的一種需求獲取方法。這是一種從多個用戶處收集需求信息的有效方式,

4、是對面談法的補充。 會議討論法。所謂會議討論法,是指開發(fā)方和用戶方召開若干次需求討論會議,達到徹底弄清項目需求的一種需求獲取方法。這種方法適合于開發(fā)方不清楚項目需求的情況。 原型法。對于某些試驗性、探索性的項目,更是難于得到一個準確、無二義性的需求。而原型化方法 (Prototyping Method)是獲取這一類項目需求的有效方法。 面向用例的方法。分析建立“用例”的過程,也就是提取需求的過程。 在實際應(yīng)用中,常常將以上方法進行綜合應(yīng)用。 6. 如何畫分層數(shù)據(jù)流圖?有哪些基本原則? 答:總的原則是:至頂而下,逐層分解(畫分層數(shù)據(jù)流圖)。逐層分解的畫法可以控制每一層的復(fù)雜度。 頂層:將整個系統(tǒng)

5、作為一個加工,描述系統(tǒng)邊界(輸入與輸出)。 中間層:將某個加工分解為一組子加工,其中的子加工還需進一步分解。 底層:由不再進行分解的基本加工組成。畫分層數(shù)據(jù)流圖的基本原則有: 數(shù)據(jù)守恒與數(shù)據(jù)封閉原則。 加工分解的原則。 子圖與父圖“平衡”的原則。 合理使用文件的原則。 7. 胖客戶模型和瘦客戶模型的區(qū)別是什么?它們分別被應(yīng)用在什么樣的場合? 答:在胖客戶模型中,客戶端應(yīng)用負責(zé)用戶界面和應(yīng)用邏輯部分,因此它的工作比較繁重。一般的數(shù)據(jù)庫應(yīng)用都是屬于這種結(jié)構(gòu)。而與此相反,在瘦客戶模型中,服務(wù)器負責(zé)了更多的工作,而客戶端的工作就變得非常單純。瀏覽器/Web服務(wù)器結(jié)構(gòu)就屬于瘦客戶結(jié)構(gòu),而且常被稱為B/S

6、 (Browser/Server)結(jié)構(gòu)。 8.模塊分解的最終目的是什么? 答:模塊分解的目的是將系統(tǒng)“分而治之”,以降低問題的復(fù)雜性,使軟件結(jié)構(gòu)清晰,易閱讀、易理解,易于測試和調(diào)試,因而也有助于提高軟件的可靠性。 9. 模塊分解應(yīng)該遵循什么樣的標準? 答:按照“降低塊間聯(lián)系,提高塊內(nèi)聯(lián)系”的設(shè)計總則對模塊進行分解。具體從以下方面考慮: (1) 盡可能建立功能模塊; (2) 消除重復(fù)功能; (3) 模塊的作用范圍與控制范圍,即當作用范圍為控制范圍的子集時,才能獲得較低的塊間聯(lián)系; (4) 模塊的大小適當; (5) 模塊的扇入/扇出數(shù)不宜太多。 也可以用軟件獨立性的兩個定性指標來度量模塊分解的標準

7、: 一是耦合性。用于描述模塊之間聯(lián)系的緊密程度。從三個方面衡量塊間聯(lián)系大?。悍绞?(直接或間接)類型(數(shù)據(jù)型、控制型、混合型)數(shù)量(數(shù)量越大,塊間聯(lián)系越緊密。 二是內(nèi)聚性。用于描述模塊內(nèi)部聯(lián)系的緊密程度。它是從功能的角度來度量模塊內(nèi)的聯(lián)系。 顯然,塊內(nèi)聯(lián)系愈緊,即內(nèi)聚性愈強,模塊獨立性愈好。功能型模塊獨立性最好。 10比較面向?qū)ο蠓椒ㄅc結(jié)構(gòu)化方法的特點,說明為什么面向?qū)ο蠓椒ū冉Y(jié)構(gòu)化方法更加優(yōu)越。 答:結(jié)構(gòu)化方法是以數(shù)據(jù)流和數(shù)據(jù)封閉性為基礎(chǔ)的,由 SA、SD 和 SP 三部分構(gòu)成。該方法: 無法實現(xiàn)從問題空間到解空間的直接映射。開發(fā)方法求解過程是先對應(yīng)用領(lǐng)域(問題空間)進行分析,建立起問題空間

8、的邏輯模型,再通過一系列復(fù)雜的轉(zhuǎn)換和算法,構(gòu)造計算機系統(tǒng),獲得解空間。 無法實現(xiàn)高效的軟件復(fù)用。結(jié)構(gòu)化方法是面向過程的,將數(shù)據(jù)和處理過程(操作)分離,不僅增加了軟件開發(fā)的難度,也難于支持軟件復(fù)用。 開發(fā)方法難以實現(xiàn)從分析到設(shè)計的直接過渡,從 SA 到SD 要經(jīng)過一系列復(fù)雜的變換。 而面向?qū)ο蟮姆椒ㄒ詫ο鬄楹诵?,強調(diào)模擬現(xiàn)實世界中的概念而不是算法,盡量用符合人類認識世界的思維方式來漸進地分析、解決問題。 使問題空間與解空間具有一致性,便于對軟件開發(fā)過程所有階段進行綜合考慮,能有效地降低軟件開發(fā)的復(fù)雜度,提高軟件質(zhì)量。 軟件開發(fā)各個階段有機集成,有利于系統(tǒng)的穩(wěn)定性。 具有良好的重用性。面向?qū)ο蟮募?/p>

9、術(shù)在利用可重用的軟件成分構(gòu)造新軟件系統(tǒng)上具有很大的靈活性,由于對象所具有的封裝性和信息隱蔽,使得對象的內(nèi)部實現(xiàn)與外界隔離,具有較強的獨立性。繼承性本身就是一種重用機制。 綜上,顯然面向?qū)ο蠓椒ū冉Y(jié)構(gòu)化方法更加優(yōu)越。 11 OOA 概念模型由 5 個層次組成,請簡述這 5 個層次。 答:OOA 概念模型的 5 個層次分別是: (1) 發(fā)現(xiàn)類及對象。描述如何發(fā)現(xiàn)類及對象。從應(yīng)用領(lǐng)域開始識別類及對象,形成整 個應(yīng)用的基礎(chǔ),然后,據(jù)此分析系統(tǒng)的責(zé)任。 (2) 識別結(jié)構(gòu)。該階段分為兩個步驟。第一,識別“一般特殊”結(jié)構(gòu),該結(jié)構(gòu)捕獲了識別出的類的層次結(jié)構(gòu);第二,識別“整體部分”結(jié)構(gòu),該結(jié)構(gòu)用來表示一個對象如

10、何成為另一個對象的一部分,以及多個對象如何組裝成更大的對象。 (3) 定義屬性。其中包括定義類的實例(對象)之間的實例連接。 (4) 定義服務(wù)。其中包括定義對象之間的消息連接。 (5) 定義主題。主題由一組類及對象組成,用于將類及對象模型劃分為更大的單位,以便于理解。 12面向?qū)ο笤O(shè)計的主要任務(wù)是什么? 答:面向?qū)ο蟮脑O(shè)計(Object-Oriented Design,OOD)是面向?qū)ο箝_發(fā)方法(OOSD)的核心階段。是在OOA 的基礎(chǔ)上解決系統(tǒng)“如何做”的問題。主要任務(wù)包括: 系統(tǒng)設(shè)計 系統(tǒng)設(shè)計的任務(wù)包括:將分析模型中緊密相關(guān)的類劃分為若干子系統(tǒng)(也稱為主題),子系統(tǒng)應(yīng)該具有良好的接口,子系

11、統(tǒng)中的類相互協(xié)作;標識問題本身的并發(fā)性,將各子系統(tǒng)分配給處理器,建立子系統(tǒng)之間的通信。 對象設(shè)計,通過對象的認定和對象層次結(jié)構(gòu)的組織,確定解空間中應(yīng)存在的對象和對象層次結(jié)構(gòu),并確定外部接口和主要的數(shù)據(jù)結(jié)構(gòu)。 設(shè)計優(yōu)化 對設(shè)計進行優(yōu)化,主要涉及提高效率的技術(shù)和建立良好的繼承結(jié)構(gòu)的方法。 13. 在分析和設(shè)計階段都需要建立類圖,試說明分析類圖與設(shè)計類圖的主要區(qū)別是什么。 答:在軟件開發(fā)的不同階段都使用類圖,但這些類圖表示了不同層次的抽象。在需求分析階段,類圖是研究領(lǐng)域的概念;在設(shè)計階段,類圖重點描述類與類之間的接口。 由于分析類圖主要描述應(yīng)用領(lǐng)域中的概念,它們的類可以從這些概念中得出,或者說分析類

12、圖中的類是從需求中獲取的。 設(shè)計類圖描述軟件的接口部分,而不是軟件的實現(xiàn)部分。面向?qū)ο箝_發(fā)方法非常重視區(qū)別接口與實現(xiàn)之間的差異,可以用一個類型(Type)描述一個接口,這個接口可能因為實現(xiàn)環(huán)境、運行特性或者用戶的不同而具有多種實現(xiàn)方式。設(shè)計類圖更易于開發(fā)者之間的相互理解和交流。設(shè)計類圖通常是在分析類圖的基礎(chǔ)上進行細化和改進的。 14.軟件測試與其他軟件開發(fā)活動相比具有什么樣的特點? 答:軟件測試的目標在于,以最小的工作量和成本,盡可能多地發(fā)現(xiàn)軟件系統(tǒng)中存在的各種錯誤和缺陷,以確保軟件系統(tǒng)的正確性和可靠性。其主要特點是: 軟件測試的開銷大。按照Boehm 的統(tǒng)計,軟件測試的開銷大約占總成本的30

13、%50%。 不能進行“窮舉”測試。只有將所有可能的情況都測試到,才有可能檢查出所有的錯誤,但這是不可能的。 軟件測試難度大。既然不能進行 “窮舉”測試,又要查出盡可能多的錯誤,隨著軟件的規(guī)模和復(fù)雜度不斷增加,軟件測試工作的難度越來越大。 測試也是一種開發(fā)活動,但鑒于軟件測試的以上特點,它比其他軟件開發(fā)活動更加復(fù)雜、困難和重要,且無論怎樣強調(diào)它的重要性都不過分。 15.軟件測試通常包含哪幾個基本步驟? 答:軟件測試通常應(yīng)該對需求、總體設(shè)計、詳細設(shè)計、編碼實現(xiàn)各個階段所獲得的開發(fā)產(chǎn)品進行測試,軟件測試應(yīng)該貫穿于整個軟件開發(fā)的全過程。 軟件測試過程按測試的先后次序可分為以下步驟進行:單元測試、集成測試、確認測試和系統(tǒng)測試,最后進行驗收測試。 單元測試。完成每個模塊的測試,盡可能發(fā)現(xiàn)模塊內(nèi)部的錯誤。單元測試主要采用白盒測試法。 集成測試。把已測試過的模塊按照一定順序組裝起來,構(gòu)成軟件系統(tǒng)。主要采用黑盒測試法。但對發(fā)現(xiàn)

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論