




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、文檔編碼 : CG3L7L4V8F9 HE2L7N4F1P5 ZA10J7I2B8J8軟件工程課后題答案第一章軟件工程引論D )不是軟件的特點; C. 抽象性與智能型 D. 有形性與可控性1. 在以下選項中,(A 系統性與復制性 B. 牢靠性與一樣性2. 軟件是一種( B )產品;A 有形 B. 規律 C. 物質 D. 消耗 3. 軟件工程是一種(A )分階段實現的軟件程序開發方法;A. 自頂向下 B. 自底向上 C. 逐步求精 D. 面對數據流 4. 與運算機科學的理論爭論不同,軟件工程是一門(B )學科;A 理論性 B. 工程性 C. 原理性 D. 心理性 5. 軟件工程與運算機科學性質不
2、同,軟件工程著重于(C );A 原理探討 B. 理論爭論 C. 建造軟件系統 D. 原理性的理論 6. 以下說法正確選項(B )A. 軟件工程的概念于 20 世紀 50 歲月提出 20 世紀 60 歲月提出 B. 軟件工程的概念于 C. 20 世紀 70 歲月顯現了客戶機 / 服務器技術 D. 20 世紀 80 歲月軟件工程學科達到成熟 7. 軟件工程方法學中的軟件工程治理是其中的一個重要內容,它包括軟件治理學和軟件工 程經濟學,它要達到的目標是(D )A 治理開發人員,以開發良好的軟件 B 接受先進的軟件開發工具,開發優秀的軟件 C 排除軟件危機,達到軟件生產的規模效益 D 以基本的社會效益
3、為基礎,工程化生產軟件其次章 軟件生命周期及開發模型1. 軟件生命周期包括可行性分析和項目開發方案、(B )、愛護等活動;需求分析、 總體設計、 詳細分析、 編碼、A 應用 B. 測試 C. 檢測 D. 以上答案都不正確2. 軟件生命周期模型有多中,以下項目中,(C )不是軟件生命周期模型;A 螺旋模型 B. 增量模型 C. 功能模型 D. 瀑布模型 3. 軟件生命周期中時間最長的階段時(D )A 需求分析階段 B. 總體設計階段 C. 測試階段 D. 愛護階段 4. 瀑布模型是一種(D )A. 軟件開發方法 B. 軟件生存周期 C. 程序設計方法學 D. 軟件生存周期模型5. 軟件開發中常接
4、受的結構化生命周期方法,由于其特點而一般稱其為(A )A. 瀑布模型 B. 對象模型 C. 螺旋模型 D. 層次模型6. 在結構化的瀑布模型中,(D )階段定義的標準將成為軟件測試中系統測試階段的目標A. 詳細設計階段 B. 總體設計階段 C. 可行性爭論階段 D. 需求分析7. 增量模型是一種(B )的模型A. 整體開發 B. 非整體開發 C. 靈敏性差 D. 較晚產生工作軟件8. (C )是指模擬某種產品的原始模型A. 模型 B. 最初模型 C. 原型 D. 進化模型9. 建立原型的目的不同,實現原型的途徑也有所不同,以下不正確的類型是(B )A. 用于驗證軟件需求的原型 B. 垂直原型
5、C. 用于驗證設計方案的原型 D. 用于演化出目標系統的原型10. 原型化方法是一種(A )型的設計過程;A. 在外向內 B. 自頂向下 C. 自內向外 D. 自底向上11. 對于原型的使用建議,以下說法不正確選項(C )A. 對于開發周期很長的項目,能夠使用原型 B. 在系統的使用可能變化較大、不能相對穩固是,能夠使用原型 C. 缺乏開發工具,或對原型的可用工具不明白的時候,能夠使用原型 D. 開發者對系統的某種設計方案的實現無信心或無特別的把握時,能夠使用原型12. 原型模型的主要特點之一是(B ) C. 及早供應全部完整軟件 D. 開發完畢A. 開發完畢才見到產品 B. 及早供應工作軟件
6、才見到工作軟件第三章結構化需求分析C ) C. 解決系統是“ 做什么的為題”1. 需求工程的主要目的是(A. 制定系統開發的詳細方案 B. 進一步確定系統的需求D. 解決系統是“ 如何做的問題”2. 需求分析的任務不包括(B )A. 問題分析 B. 系統設計 C. 需求分析 D. 需求評審3. 軟件分析的第一步要做的工作是(A )A. 定義系統的目標 B. 定義系統的功能模塊 C. 分析用戶需求 D. 分析系統開發的可行性4. 可行性爭論的目的是用最小的代價在盡可能短的時間內確定問題的(A )A. 能否可解 B. 工程進度 C. 開發方案 D. 人員配置5. 需求分析最終結果是產生(B )A.
7、 項目開發方案 B. 需求規格說明書 C. 設計說明書 D. 可行性分析報告6. 在結構化分析方法中,(C )是表達系統內部數據運動的圖形化技術A. 數據字典 B. 實體關系圖 C. 數據流圖 D. 狀態轉換圖7. DFD 中的每個加工至少需要(D )A. 一個輸入流 B. 一個輸出流 C. 一個輸入或輸出流 8. 需求分析的主要方法有(C ) D. 一個輸入流和一個數處理A. 形式化分析方法 B. PAD 圖描述 C. 結構化分析方法 D. 程序流程圖D. 9. SA 法的主要描述手段有(B )C. 軟件結構圖、加工說明A. 系統流程圖和模塊圖 B.DFD 圖、數據字典、加工說明功能結構圖、
8、加工說明10. 軟件需求分析階段的工作,可以分為以下 4 個方面: 對問題的識別、分析與綜合、編寫需求分析文檔以及(C )A. 總結 B. 編寫階段性報告 C. 進行需求分析評審 D. 以上答案都不正確第四章 結構化軟件設計1. 在面對數據流的軟件設計方法中,一般將信息里與分為(D )A 數據流和把握流 B. 變換流和把握流 C. 事務流和把握流 D. 變換流和事務流2. 耦合度可以分為七級,其中最松散的耦合是(A )A. 非直接耦合 B. 數據耦合 C. 特點耦合 D. 把握耦合3. 當模塊中包含復雜的條件組合,只有(A )能夠清楚的表達出各種動作之間的對應關系A. 判定表和判定樹 B. 盒
9、圖 C. 流程圖 D. 關系圖4. 一個軟件的寬度是指其把握的(C )A. 模塊數 B. 層數 C. 跨度 D. 厚度5. 面對數據流的軟件設計方法可將(C )映射成軟件結構A. 把握結構 B. 模塊 C. 數據流 D. 事務流 第五章 面對對象的需求分析 1. 接受 UML 進行軟件建模的過程中,類圖是系統的一種靜態視圖,用(B )可明確表示兩 類事物之間存在的整體 / 部分形式的關聯關系;A. 依靠關系 B. 聚合關系 C. 泛化關系 D. 實現關系2. 在 UML 語言中,圖中的a 、b 、c 三中圖形符號依據次序分別表示(C )Kim, Keehyun Kim, HyunsooJung
10、, Yoontae A. 邊界對象、實體對象、把握對象 B. 實體對象、邊界對象、把握對象 C. 把握對象、實體對象、邊界對象 D. 邊界對象、把握對象、實體對象 3. 不同的對象收到同一消息可以產生完全不同的結果,這一現象叫做(B )A. 繼承 B. 多態 C. 動態綁定 D. 靜態綁定 第六章面對對象的軟件設計 1. 下面哪種設計模式定義了對象間的一種一對多的依靠關系,以便當一個對象的狀態發生轉變時,全部依靠于它的對象都得到通知并自動刷新(D )(原型) D. Observer (觀看A.Adapter (適配器) B.Iterator迭代器 C.Prototype 者)2. UML 中有
11、多種類型的圖,其中,(其B )對系統的使用方式進行了分類;()顯示了類及相互關系; ()顯示了人或對象的活動,其方式類似于流程圖;通信圖顯示了在某種情形下對象之間發送的消息;()與通信圖類似,但強調的是次序而不是連接;A.用例圖、次序圖、類圖、活動圖 B. 用例圖、類圖、活動圖、次序圖 C. 類圖、次序圖、活動圖、用例圖 D. 活動圖、次序圖、用例圖、類圖3. UML 類圖的類與類之間的關系有 5 種:繼承、依靠、關聯、組合和聚合,如類 A 需要使用標準數學函數類庫中供應的功能,那么類 A 與標準類庫中供應的類之間存在(A )關系A. 依靠 B. 關聯 C. 聚合 D. 組合第七章軟件測試技術
12、1. 用邊界值分析法,假定 1 A. X=1 ,X=100 B. X=0 ,X=1,X=100,X=101 C. X=2 ,X=99 D.X=0 ,X=101 2. 以下關于軟件驗收測試的合格通過準就錯誤選項(C )全部測試項沒有 C. 立項審批表、A. 軟件需求分析說明書中定義的全部功能已全部實現 B. 需求分析文檔、設計文檔和編碼實現不一樣 D. 驗收測試工件齊全3. 以下關于集成測試的內容正確的有(D ) 集成測試也叫組裝測試或者聯合測試 測試在把各個模塊連接起來的時候,穿越模塊接口的數據是否會丟失 測試一個模塊的功能是否會對另一個模塊的功能產生不利影響 測試各個子功能組合起來,能否達到
13、預期要求的父功能 測試全局數據結構是否有問題 測試單個模塊的誤差累積起來,是否會放大,從而達到不能接受的程度A. B. C. D. 以上全部正確4. 為了提高測試的效率,應當(D )A 隨機的選取測試數據 B. 取一切可能的輸入數據作為測試數據 C. 在完成編碼以后制定軟件的測試方案 D. 選擇發覺錯誤的可能性大的數據作為測試數據5. 軟件調試的目的是(A )A. 找出錯誤所在并改正之 B. 排除存在錯誤的可能性 C. 對錯誤性質進行分類 D. 統計出錯的次數6. 單元測試一般以白盒為主,測試的依據是(A ) D. 統計出錯的次A. 模塊功能規格說明 B. 系統模塊結構圖 C. 系統需求規格說
14、明數7. 下次關于 、 測試的描述中正確選項(C )A. 測試不需要用戶代表參加 B. 測試不是驗收測試的一種 C. 測試可以有用戶代表參加 D. 測試是系統測試的一種8. 軟件測試的目的是(B )A. 評判軟件的質量 B. 發覺軟件的錯誤 C. 找出軟件中全部的錯誤 D. 證明軟件是正確的9. 軟件測試用例主要由輸入數據和(C )兩部分組成A. 測試方案 B. 測試規章 C. 預期輸出結果 D. 以往測試記錄分析10. 在黑盒測試中,著重檢查輸入條件組合的方法是(D )A. 等價類劃分法 B. 邊界值分析法 C. 錯誤估量法 D. 因果圖法第八章軟件愛護技術1. 隨著軟硬件環境變化而修改軟件
15、的過程是(B )A. 校正性愛護 B. 適宜性愛護 C. 完善性愛護 D. 預防性愛護2. 為了提高軟件的可愛護性,在編碼階段應留意(B )A. 儲存測試用例和數據 B. 提高模塊的獨立性 C. 文檔的副作用 D. 養成好的程序設計風格3. 為提高系統性能而進行的修改屬于(C )A.訂正性愛護 B. 適應性愛護 C. 完善性愛護 D. 測試性愛護4. 軟件生命周期中,(D )階段所站的工作量最大A.分析階段 B. 設計階段 C. 編碼階段 D. 愛護階段5. 系統愛護中要解決的為題來源于(D )A.系統分析階段 B. 系統設計階段 C. 系統實施階段 D. 上述 3 個階段( A 、 B 、C
16、 )都包括6 軟件愛護的副作用,是指(C )A. 開發時的錯誤 B. 隱含的錯誤 C. 因修改軟件而造成的錯誤 第一章軟件工程引論 1. 2. 3. 4. D. 運行時的誤操作5. 軟件工程顯現的主要緣由是軟件危機的顯現;文檔是軟件產品的一部分,沒有文檔的軟件就不能稱為軟件; 軟件危機的主要表現是軟件需求量快速增加,軟件價格上升; 一個成功的項目唯獨應當提交的就是運行程序法;程是一門原理性學科;其次章軟件生命周期及開發模型 1. 瀑布模型和增量模型都屬于整體開發模型;與運算機科學的理論爭論不同,軟件工2. 原型模型可以有效地適應用戶需求的動態變化;3. 螺旋模型在瀑布模型和增量模型的基礎上增加
17、了風險分析活動;4. 軟件過程改進也是軟件工程的范疇;5. 在軟件開發中接受原型系統策略的主要困難是成本問題;第三章結構化需求分析1. 2. 3. 4. 需求分析的主要目的是制定軟件開發的詳細方案;用戶對軟件需求的描述不精確,往往是產生軟件危機的緣由之一;分層的 DFD 圖可以用于可行性分析階段,描述系統的物 理結構;在用戶需求分析時觀看用戶手工操作過程不是為了模擬手工操作過程,而是為 了獵取第一手資料,并從中提取有價值的需求;5. 需求規格說明數描述了系統每個功能的實現;第四章結構化軟件設計 1. 在同一用戶界面中,全部的菜單選擇,命令輸入、數據顯示和其它功能應接受不同的形 式和風格;2.
18、最高的耦合度是數據耦合;3. 編程中應接受統一的標準和商定,降低程序的復雜性;4. 流程圖也稱為框圖程序,是程序最常用的一種表示法;5. 理想的人機界面應針對具有典型個性的特定的一類用戶設計;6. 重視程序結構的設計,能是程序具有較好的層次結構;7. 軟件過程不用遵循“ 自上而下,逐步求精” 的原就和單入口單出口的結構化設計思想;8. 軟件開發、設計幾乎都是從頭開頭,成本和進度很難估量;9. 耦合度是對軟件結構中模塊間關聯程度的一種度量;在設計軟件是應追求耦合盡可能緊 密的系統;10. SD 法是一種面對數據結構的設計方法,強調程序結構與問題結構相適應;第五章面對對象的需求分析 1. 邊界對象
19、表示了系統與參加者之間的接口;在每一個用例中,該對象從參加者處收集信 息,并將之轉換為一種實體對象和把握對象使用的形式;2. 接受面對對象的方法開發軟件的過程中,抽取和整理用戶需求并建立問題域精確模型的 過程叫面對對象分析;3. 繼承僅僅答應單重繼承,即不答應一個子類有多個父類;第六章面對對象的軟件設計 1. 面對對象程序設計應當在面對對象分析之前,由于只有產生了設計結果才可以對其進行 分析;2. 面對對象設計產生的結果在形式上可以與面對對象分析產生的結果類似,例如都可以使 用 UML 表達;第七章軟件測試技術 1. 軟件測試就是為了驗證軟件功能的實現是否正確,是否完成既定目標的活動,所以軟件
20、 測試在軟件工程而后期才開頭詳細的工作;2. 發覺錯誤多的模塊,可能殘留在模塊中的錯誤也多;3. 測試人員在測試過程中發覺一處問題,假如問題影響不大,而自己有可以修改,應馬上 將此問題正確修改,以加快、提高開發的進程;4. 路徑測試不屬于單元測試的內容;5. 測試只要做到語句掩蓋和分支掩蓋,就可以發覺程序中的全部錯誤;6. 軟件測試只能發覺錯誤,但不能保證測試后的軟件沒有錯誤;7. 集成測試是有最終用戶來實施的;8. 全部的規律掩蓋標準中,查錯才能最強的語句掩蓋;9. 等價類劃分方法能夠有效的檢測輸入條件的各種組合可能引起的錯誤;10. 驗收檢測方法需要考察模塊間接口和各模塊之間的聯系;第八章
21、軟件愛護技術1. 2. 3. 4. 5. 愛護申請報告是一種由用戶產生的文檔,它用作方案愛護任務的基礎;愛護階段是軟件生存周期中時期最短的階段,也是花費精力和費用最少的階段;在軟件愛護中,因修改軟件而導致顯現錯誤或其它情形成為愛護的副作用;為了提高軟件的可愛護性和牢靠性而對軟件進行的修改稱為適應性愛護;副作用 3 種;第一章軟件工程引論愛護的副作用有編碼副作用、數據副作用、文檔1. 什么是軟件危機?它和軟件工程有什么關系?答:軟件危機是指在運算機軟件的開發和愛護過程中所遇到的一系列嚴肅問題;概括地說,軟件危機包含下述兩方面的問題:如何開發軟件, 以中意對軟件日益增長的需求;如何愛護數量不斷膨脹
22、的已有軟件;2. 簡述軟件和軟件工程的定義以及軟件工程的形成過程;答:軟件是與運算機系統操作有關的程序、規程、規章及其文檔和數據的統稱;軟件由兩部分組成:一是機器可執行的程序和有關的數據;二是與軟件開發、運行、愛護、使用和培訓有關的文檔;軟件工程是指導運算機軟件開發和愛護的工程學科;它強調依據軟件產品的生產特性,接受工程的概念、 原理、 技術和方法來開發與愛護軟件,把經過時間考查而證明正確的治理技術和當前最好的技術結合起來,以便經濟地開發出高質量的軟件并有效地愛護它;軟件工程的進展經受了以下 3 個階段;第一階段: 20 世紀 70 歲月,傳統軟件工程時代;其次階段: 20 世紀 80 歲月,
23、過程軟件工程時代;第三階段:進入 20 世紀 90 歲月以后,構件軟件工程時代;3. 軟件工程的目標是什么?如何解決多目標之間的沖突?答:軟件工程的目標:軟件開發成本較低;軟件功能能夠中意用戶的需求;軟件性能較好;軟件牢靠性高;軟件易于使用、愛護和移植;能按時完成開發任務,并準時交付使用;有些目標之間是相互補充的,如易于愛護和高牢靠性之間、功能強與可用性之間;有些目標是彼此相互沖突的,如如只考慮降低開發成本,很可能同時也降低了軟件的牢靠性,假如一味追求提高軟件的性能,可能造成開發出的軟件對硬件的依靠性較強,從而影響到軟件的可移植性;不同的應用對軟件質量的要求不同,如對實時系統來說, 其牢靠性和
24、效率比較重要;對生命周期較長的軟件來說,其可移植性、可愛護性比較重要,所以,應當依據不同的系統需求準備個目標之間的重要性;4. 在軟件開發中軟件開發工具有什么作用?答:軟件開發工具是指用來幫忙軟件開發、愛護和治理的軟件;現代軟件工程方法得以實施的重要保證是軟件開發工具和環境;軟件開發工具使軟件在開發效率、工程質量、 削減軟件開發對人的依靠性等多方面得到改善5. 什么是軟件支持過程?它與軟件工程方法學有何關系?答:軟件過程是指生產中意需求且達到工程目標的軟件產品所涉及的一系列相關活動,它掩蓋了需求分析、系統設計、實施以及支持愛護等各個階段;軟件過程有各種分類方法;按性質劃分軟件過程可概括為基本過
25、程類、支持過程和組織過程類;可見軟件支持過程是軟件過程中的一種;6. 在軟件工程學問體系中,將軟件工程劃分為哪些學問域?答:SWEBOK 將軟件工程學問體系劃分為10 個學問域, 分為兩類過程; 一類是開發與愛護過程,包括軟件需求、軟件設計、軟件構造、軟件測試和軟件愛護;另一類是支持過程,包括軟件配置治理、軟件工程治理、軟件工程過程、軟件工程工具與方法、軟件質量;7. B.W.Boehm 提出的軟件工程基本原就的作用是什么?答: 1接受分階段的生命周期方案,以實現對項目的嚴格治理 2堅持進行階段評審,以確保軟件產品質量 3實行嚴格的產品把握,以適應軟件規格的變更 4接受現代程序設計技術 5軟件
26、成果能清楚地審查 6開發小組人員應當少而精 7承認不斷改進軟件工程實踐的必要性 其次章軟件生命周期及開發模型1. 簡述什么是軟件生命周期;依據國家標準運算機軟件開發規范,軟件生命周期主要 包括哪幾個階段?答:作為工程化的一般特點,軟件產品和其他工業產品一樣,軟件產品也包括設計、生產、使用和消亡幾個階段,并稱之為軟件的生命周期,即指軟件產品從功能確定、設計、開發成 功、投入使用,并在使用中不斷修改、完善,直至被新的軟件所替代,而停止該軟件使用的全過程; 國家標準 GB85661988運算機軟件開發規范將軟件生命周期劃分為幾個階段:可行性爭論、項目方案、需求分析、總體設計、詳細設計、編碼實現(包括
27、單元測試、集成測試、確認測試) 、系統運行和愛護; 這幾個階段又可以歸納為 軟件開發階段和軟件運行愛護階段;2. 瀑布模型有哪些特點?對于里程碑,你有哪些熟識?3 個階段, 即軟件定義階段,答: 1970 年 W.Royce 最早提出瀑布模型;答:瀑布模型的特點:(1). 線性化模型結構;(2). 各階段具有里程碑特點;(3). 基于文檔的驅動;(4). 嚴格的階段評審機制;其中的里程碑是指瀑布模型中的階段只能逐級到達、不能跨過;每個階段都有明確的任務,都需要產生確定的成果;由于瀑布模型是一種線性模型,要求項目嚴格按規程推動,必需等到全部開發工作全部完成以后才能獲得可以交付的軟件產品;戶需求經
28、常變更的軟件項目;因此,瀑布模型不太適用于用瀑布模型是一種基于里程碑的階段過程模型,它所供應的里程碑式的工作流程,為軟件項目按規程治理供應了便利;例如, 按階段制訂項目方案,分階段進行成本核算,進行階段性的評審等;這為提高軟件產品質量供應了有效保證;3. 試說明原型模型的兩種實現方案各有什么特點,各適用于哪些情形;答:原型可以分為 3 類;1)拋棄式原型:這種原型在目的達到后即被拋棄,原型不作為最終產品,如上所述;2)進化式原型: 這類原型的形成和進展是逐步完成的,它是高度動態迭代和高度動態循環,每次迭代都要對系統重新進行需求規格說明、重新設計、 重新實現和重新評判,所以是應對變化最為有效的方
29、式;3)增量式模型:系統是一次一段地增量構造,與演化式原型的最大區分在于增量式開 4. 5. 6. 7. 8. 發是在軟件總體設計基礎上進行的;一般認為, 只有大型項目才接受螺旋模型,緣由是什么?答:螺旋模型的優越性在于它吸取了“ 進化” 的概念,使得開發人員和用戶對每一個演化層顯現的風險均有所明白,并對此做出反應; 但使用該模型需要豐富的風險評估體會和特地學問,假如項目風險較大又未準時發覺,勢必造成重大缺失;實際上,對軟件項目進行風險分析也需要費用,假如項目風險分析費用過高,甚至超過了項目的開發費用,明顯就不合適了; 一般大型項目才有較高的風險,才有進行詳細風險分析的必要;因此, 這種模型比
30、較適合大型的軟件項目;為什么說構建復用模型是一種有利于軟件按工業流程生產的過程模型?答:對象技術將事物實體封裝成包含數據和數據處理方法的對象,并抽象為類;經過適當的設計和實現的類也可稱為構件;由于構件具有確定的通用性,可以在不同的軟件系統中被復用; 在基于構件復用的軟件開發中,軟件由構件裝配而成,這就如同用標準零件裝配汽車一樣; 構件復用技術, 它能帶來更好的復用成效,并且具有工程特性,更能適應軟件按工業流程生產的需要;靈敏方法的價值觀和原就與傳統的方法有哪些聯系和區分?答:相對于“ 非靈敏” ,靈敏不僅是表達在有效地響應變化,它仍包括鼓勵程序員團隊與業務專家之間的緊密協作、面對面地溝通(認為
31、比書面的文檔更有效)、強調可運行軟件的快速交付而不是中間產品,靈敏過程提倡可連續開發;建立緊湊而自我組織型的團隊,能夠很好地適應需求變化的代碼編寫和團隊組織方法,也更留意軟件開發中人的作用;每隔確定時間,團隊都要總結如何更有效率,然后相應地調整自己的行為;從產品角度看,靈敏方法適用于需求萌動并且快速轉變的情形,如系統有比較高的關鍵性、牢靠性、安全性方面的要求,就可能不完全適合;從組織結構的角度看,組織結構的文化、人員、溝通就準備了靈敏方法是否適用;有什么情形下會建議不用靈敏方法來開發軟件系統?從產品角度看, 靈敏方法適用于需求萌動并且快速轉變的情形,如系統有比較高的關鍵性、牢靠性、 安全性方面
32、的要求,就可能不完全適合;從組織結構的角度看,組織結構的文化、人員、溝通就準備了靈敏方法是否適用;具有原型化的瀑布模型具有什么特點?他和瀑布模型最大的不同是什么?答:為了克服瀑布模型的問題,可以在需求階段或設計階段平行地進行幾次快速建立原型的工作;原型開發后,可以獲得更為清楚的需求反饋信息,既可以排除風險或削減不確定性,又可以接受平行瀑布模型方式;在瀑布模型的各階段間轉換時,可以適當并行擴展各階段的開發工作;例如,在需求分析完成 60%時,就可以開頭進行這 60%已完成分析部分的設計工作,同時并行進行其余 40%的需求分析;第三章結構化需求分析1. 簡述什么是需求分析?需求分析的任務是什么?答
33、:需求分析: 開發人員精確地懂得用戶的要求,進行細致的調查分析,將用戶非形式的需求陳述轉化為完整的需求定義,再由需求定義轉換到相應的需求規格說明的過程;基本任務: 問題識別:雙方確定對問題的綜合需求,這些需求包括功能需求,性能需求,環境需求,用戶界面需求;分析與綜合,導出軟件的規律模型;編寫文檔:包括編寫 需求規格說明書 , 初步用戶使用手冊, 確認測試方案 , 修改完善軟件開發方案2. 在進行可行性爭論時,向用戶舉薦的方案中應清楚的說明什么?答:可行性爭論主要集中在以下 4 個方面;1)經濟可行性:進行開發成本的估算及可能取得效益的評估,確定目標系統是否值得投資開發;3. 4. 5. 6.
34、2)技術可行性:對目標系統進行功能、性能和限制條件的分析,確定在現有資源的條件 下,技術風險有多大,系統是否能實現;這里,資源包括已有的或可以供應的硬件、軟件資源,現有技術人員的技術水平與已有的工作基礎; 3 )操作可行性: 系統的操作方式能否在用戶的組織內行得通,以及對目標系統可能會涉及的政策、責任等問題做出準備; 4 )社會可行性:主要分析項目對社會的影響,從方針政策、經濟結構、法律和制度等社會因素方面考慮項目開發的合理性和意義;總之,可行性爭論最根本的任務是對以后的行動方針提出建議;假如問題沒有可行的解,分析員應當建議停止這項開發工程,以防止時間、資源、人力和金錢的鋪張; 假如問題值得解
35、,分析員應當舉薦一個較好的解決方案,并且為工程制定一個初步的方案;需求工程包含哪些內容時,如何寫好需求規格說明?答:需求工程指應用工程化方法、 技術和規格來開發和治理軟件的需求;需求工程的目標是獵取高質量的軟件需求; 需求工程突出了工程化原就,強調以系統化、 條理化和重復化的方法進行軟件需求的相關活動, 從而增強治理性和降低需求開發的成本;程組成;一個好的需求規格說明應符合以下要求:需求工程由需求開發活動和需求治理過 1)正確性;每一項需求都必需精確地陳述其要開發的功能;即需求規格說明對系統功能、行為、 性能等的描述必需與用戶的期望相吻合,這是軟件系統真正需要完成可達到的;2)完整性;需求規格
36、說明應當包括軟件要完成的全部任務, 每一項需求都必需是在已知系統和環境的權能和限制范疇內可以實施,不能遺漏任何必要的需求信息;3)必要性;每一項需求都應把客戶真正所需要的和最終系統所需遵從的標準記錄下來;4)劃分優先級;給每項需求、特性或使用實例支配一個實施優先級以指明它在特定產品中所占的重量;5)無二義性;對全部需求說明的讀者都只能有一個明確統一的說明, 由于自然語言極易導致二義性,所以盡量把每項需求用簡潔明白的語言表達出來; 6)可驗證性;需求規格說明中描述的需求都可以運用一些可行的手段對其進行驗證和確認;用戶需求調查主要有哪些方法?答:獵取需求是需求分析的基礎,要在獲得詳實調查資料的基礎
37、之上才能進行需求分析;需求獵取包括了一系列的方法和活動,如爭論資料法、 問卷調查法、 用戶訪談和實地觀看法等;需求分析人員可以使用這些方法、技術進行收集、 確認用戶的需求;數據字典的作用是什么?它有哪些基本條目?答:數據流圖和數據字典一起構成了系統的規律模型;沒有數據字典,數據流圖就不嚴格;沒有數據流圖,數據字典也沒有作用;數據字典的重要用途是作為分析階段的工具;在數據字典中建立嚴密一致的定義有助于改進分析人員和用戶之間的通信,防止許多誤會的發生;數據字典也有助于改進不同的開發人員或不同的開發小組之間的通信;同樣,將數據流圖中的每個元素的精確定義放在一起,就構成了系統的、完整的需求規格說明的主
38、體;數據字典仍作為連接軟件設計、 實現和進化階段的開發機構的信息儲備;在軟件設計階段,數據字典是儲備文件或數據庫設計的基礎;在實施階段,仍可參照數據字典描述數據;隨著系統的改進,字典中的信息也會發生變化,新的信息會隨時加入進來;數據字典對以下4 類元素進行定義:數據項;數據流; 數據儲備 (文件) ;加工; 需求規格說明書的主要內容是什么?它的作用是什么?答:軟件需求規格說明(Software Requirement Specification,SRS )是需求工程最終產生的結果,必需用一種統一的方式將它們編寫成可視文檔,包含了軟件的功能需求和非功能需求;需求規格說明是項目相關人員對要開發的軟
39、件系統達成的共識,是進行系統設計、實現、 測試和驗收的基本依據,也是整個軟件開發過程中最重要的文件;軟件需求規格說明的主要內容有:7. 結構化分析方法?結構化分析方法的結果是什么?答:結構化分析(Structured Analysis, SA )是由美國Yourdon 公司提出的適用于分析典型的數據處理系統的,以結構化的方式進行系統定義的分析方法;這個方法通常與L.Constantine 提出的結構化設計(Structured Design ,SD )方法連接起來使用,即所謂的 SASD 方法,也可稱為面對功能的軟件開發方法或面對數據流的軟件開發方法;Yourdon 方法第一用結構化分析(SA
40、 )對軟件進行需求分析,然后用結構化設計(SD )方法進行總體設計,最終是結構化編程(Structured Programming,SP );第五章面對對象的需求分析1. 簡述對象與類之間的聯系與區分;答:對象( Object )是系統中用來描述客觀事物的一個實體,它是構成系統的一個基本單位,由一組屬性和對這組屬性進行操作的一組服務組成;類(Class )是具有相同屬性和服務的一組對象的集合,它為屬于該類的全部對象供應了統一的抽象描述,其內部包括屬性和服務兩個主要部分;詳細來說, 類由數據和方法集成,它是關于對象性質的描述,包括外部特性和內部實現兩個方面;類是具有相同屬性和行為的一組相像對象的
41、抽象,在現實世界中并不能真正存在; 類好比是一個對象模板,依據需要用它可以產生多個對象 即類的實例 ;因此類所代表的是一個抽象的概念或事物,類是靜態概念; 在客觀世界中實際存在的是類的實例,即對象,對象是動態概念;類是對象的抽象,有了類之后,對象就是類的詳細化,是類的實例;2. 試描述繼承性與多態性的作用;答:繼承( Inheritance )是面對對象方法學中的核心概念,它是指從一個類的定義中可以派生出另一個類的定義,被派生出的類(子類)可以自動擁有父類的全部屬性和服務;繼承簡化了人們對現實世界的熟識和描述,在定義子類時不必重復定義那些已在父類中定義過的屬性和服務, 只要說明它是某個父類的子
42、類,并定義自己特有的屬性和服務即可;繼承機制是組織構造和復用類的一種工具,假如將用面對對象方法開發的類作為可復用構件,那么在開發新系統時可以直接復用這個類,仍可以將其作為父類,通過繼承而實現復用; 復用削減了程序的代碼量和復雜度,提高了軟件的質量和牢靠性,軟件的愛護修改也變得更加簡潔;多態性( Polymorphism )是指同名的方法或操作在不同類型的對象中有各自相應的實現;在存在繼承關系的一個類層次結構中,不同層次的類可以共享一個操作,但卻有各自不同的實現; 當一個對象接收到一個消息請求時,它依據其所屬的類,動態地選用在該類中定義的操作; 多態性機制不但為軟件的結構設計供應了靈敏性,的可復
43、用性和可擴充性;3. 通過看圖回答下面的問題;在圖所示的用例圖中: X1 、X2 和 X3 表示用例中的什么?削減了信息冗余, 明顯提高了軟件 已知 UC3是抽象用例,那么 X1 可通過圖中哪些用例與系統進行交互? 圖中哪個用例時 UC4的可選部分,哪個用例是 UC4的必需部分?答: X1、X2和 X3 表示用例中的角色(或參加者);已知 UC3是抽象用例,那么 X1 可通過圖中的 UC4、UC1用例與系統進行交互;第六章面對對象的軟件設計UC2是 UC4的可選部分, UC5是 UC4的必需部分;1. 說明面對對象的集成測試包含哪些內容;答:面對對象系統是由對象到子系統、再到系統的集成;通常是
44、松耦合的,系統中沒有一個明顯的頂層, 即面對對象系統沒有嚴格的層次把握結構,中,類通過消息的相互作用申請和供應服務;此外,面對對象程序具有動態性,相互調用的功能也分散在不同的類程序的把握流往往無法確定;因此, 增量式集成測試不再適用,只能接受基于操作的集成測試;面對對象的集成測試關注系統的結構和內部的相互作用,可以分成兩步進行:先進行靜態測試,再進行動態測試;面對對象基于操作的集成測試策略有兩種:基于線程的測試和基于使用的測試;基于線程的測試把相應系統的一個輸入或一個大事所需要的那些類集成起來;分別集成并測試每個線程,同時應用回來測試以保證不產生副作用;基于使用的測試第一測試幾乎不使用服務器類
45、的那些類(稱為獨立類) ,把獨立類都測試完之后, 再測試使用獨立類的下一個層次的類(稱為依靠類);對依靠類的測試一個層次一個層次地連續進行下去,直至把軟件系統構造完為止2. 舉例說明各種程序設計語言的特點及適用范疇;答:以常見的一些編程語言為例:FORTRAN 語言,它不僅面對科學運算, 數據處理才能也極強; 適用于科學工程運算 Pascal 語言,具有很強的數據和過程結構化才能,它語言簡明,數據類型豐富,程序結構嚴謹;它是第一個表達結構化編程思想的語言;用于描述結構化算法和科學運算 , 操作系統的編寫C 語言:功能強大, 支持復雜的數據結構,可大量運用指針,具有豐富靈敏的操作運算符及數據處理
46、操作符,它仍具有匯編語言的某些特點,使程序運行效率高;可用于許多領域,特別是在操作系統等方面有較大優勢;Coble 語言, 它具有極強的數據定義才能,程序說明與硬件環境說明分開、數據描述與算法描述分開;結構嚴謹層次分明,廣泛用于商業數據處理;SQL:結構化查詢語言,用于對數據庫進行存取治理;匯編語言和 Ada 語言,主要用于實時處理和編寫系統軟件;Prolog 、Lisp 語言;Lisp 是一種函數型語言 用于定理證明、樹的搜尋和其他問題的求解;, 特別適用于組合問題中符號運算和表處理,Prolog 是一種規律型語言,它供應了支持知識表示的特性, 每一個程序由一組表示事實、規章和推理的句子組成
47、,比較接近與自然語言;這兩種語言主要用于人工智能系統開發;C+、Java 語言 , 是面對對象的設計語言,用于面對對象的方開發軟件;3. 選擇面對對象程序設計時應考慮哪些因素?答:純面對對象程序設計語言著重支持面對對象方法爭論和快速原型的實現,而混合型面對對象程序設計語言的目標就是提高運行速度和使傳統程序員簡潔接受面對對象的思想;成熟的面對對象程序設計語言一般都是供應豐富的類庫和強有力的開發環境;除此之外, 開發人員在選擇面對對象程序設計語言時,仍應考慮可復用性、類庫和開發環境以及一些其他的因素;語言、開發環境和類庫這3 個因素綜合起來,共同準備了可復用性;考慮類庫時,不僅應當考慮是否供應了類
48、庫,仍應考慮庫中供應了哪些有價值的類;在選擇編程語言時仍應考慮的因素有為用戶學習面對對象分析、設計和編程技術所能供應的培訓服務;在使用面對對象程序設計語言期間能供應的技術支持;能供應應開發人員使用的開發工具、開發平臺和發布平臺;對機器性能和內存的需求;集成已有軟件的簡潔程度等;第七章軟件測試技術1. 簡述軟件測試的步驟;答:第一要分別完成每個單元(模塊)的測試任務,以確保每個模塊能正常工作;然后把已經測試過的模塊組裝起來,進行集成測試; 完成集成測試以后,要對開發工作初期制定的確認準就進行檢驗; 完成確認測試以后,為檢驗它能否與系統的其他部分和諧工作,仍需要進行系統測試;軟件測試步驟如下;1)
49、制訂測試方案;該方案被批準后轉向第 2)步;2)設計測試用例;該用例被批準后轉向第 3)步;3)假如中意“ 啟動準就” ,那么執行測試;4)撰寫測試報告;5)排除軟件缺陷;假如中意“ 完成準就” ,那么正常終止測試;2. 簡述黑盒測試和白盒測試的方法并舉例說明;答:1)黑盒測試也稱功能測試或數據驅動測試;在測試時, 把程序看作一個不能打開的黑盒子,它是在完全不考慮程序內部結構和內部特性的情形下,測試者在程序接口進行測試,它只檢查程序功能是否依據需求規格說明書的規定正常使用,程序是否能適當地接收輸入數據而產生正確的輸出信息,并且保持外部信息(如數據庫或文件)的完整性;黑盒測試技術是窮舉輸入測試,
50、 只有把全部可能的輸入都作為測試情形使用,才能以這種方法查出程序中全部的錯誤; 實際上測試情形有無窮多個,人們不僅要測試全部合法的輸入,而且仍要對那些不合法但是可能的輸入進行測試;黑盒測試能夠發覺的錯誤類型包括:功能不對或遺漏、 界面錯誤、 數據結構或外部數據庫拜望錯誤、性能錯誤、初始化和終止錯誤等;黑盒測試技術主要包括等價類劃分、邊界值分析、因果圖、錯誤估量等方法;2)白盒測試也稱結構測試或規律驅動測試,它是在已知程序內部結構的情形下設計測試用例的測試方法; 在使用白盒測試方法時,測試者必需檢查程序的內部結構,從檢查程序的邏輯著手,對全部規律路徑進行測試,得出測試數據;白盒測試的主要技術有規
51、律驅動、路徑測試等,主要用于軟件驗證、檢驗語法錯誤、編譯錯誤、性能問題、規律問題、判定條件問題和編程規范等;3. 軟件測試分為哪幾個階段?每個階段分別測試哪些內容?答:依據軟件開發流程, 軟件測試工作可以分為單元測試、集成測試、 系統測試和驗收測試;單元測試是對軟件中的基本組成單位進行的測試,驗證每個模塊是否中意系統設計說明書的要求; 集成測試是將已測試過的模塊組合成子系統,重點測試各模塊之間接口和聯系;系統測試是對已經集成好的軟件系統進行完全的測試,以驗證軟件系統的正確性和性能等是否滿足其規約所指定的要求;驗收測試是依據需求規格說明書中定義的全部功能和性能要求,確認軟件是否達到了要求;第八章
52、軟件愛護技術1. 為什么說軟件愛護是不行防止的?答:為了保證軟件在運行期間正常運行,延長軟件的使用壽命,發揮良好的社會效益和經濟效益,軟件愛護必不行少2. 軟件可愛護性與哪些因素有關?接受哪些因素能提高軟件可愛護性?答:準備軟件可愛護性的質量屬性主要有以下幾個方面;可懂得性; 可懂得性是指人們通過閱讀源代碼和相關文檔,明白程序功能、結構、 接口和內部過程的簡潔程度;一個可懂得的程序應當具備模塊化、結構化、 風格一樣化(代碼風格與設計風格一樣) 、易識別化(使用有意義的數據名和過程名),以及文檔完整化等一些特性;可測試性; 可測試性是指論證程序正確性的簡潔程度;程序復雜度越低,證明其正確性就越簡
53、潔; 而且測試用例設計得合適與否,取決于對程序的懂得程度;應當是可懂得的、牢靠的和簡潔的;因此,一個可測試的程序可修改性;可修改性是指程序簡潔修改的程度;一個可修改的程序應當是可懂得的、通用的、靈敏的和簡潔的;其中通用性是指程序適用于各種功能變化而無需修改;靈敏性3. 4. 5. 6. 是指能夠簡潔地對程序進行修改;試說明軟件文檔與軟件可愛護性的關系;答:由于文檔是對軟件的總目標、程序各組成部分之間的關系、程序設計策略以及程序實現過程的歷史數據等的說明和補充,因此, 文檔對提高程序的可懂得性有著重要作用;即使是一個特別簡潔的程序,要想高效率地愛護它就需要編制文檔來說明其目的及任務;對于程序愛護人員來說, 要想對程序編制人員的意圖重新改造,并對今后變化的可能性進行估量,也必需建立完整的愛護文檔;簡述軟件愛護工作過程;為什么說軟件愛護過程是一個簡潔的軟件開發過程?答:在軟件愛護階段,變更、完善軟件的活動包括:提出愛護申請;論證愛護申請;制定愛護方案;進行愛護活動;建立愛護文檔;評判愛護結果;由此可見,完成一項軟件愛護任務,又似乎重復了軟件開發的全過程;什么是軟件愛護的副作用?如何防止軟件愛護的副作用?答:愛護副作用是指由于修改而導致的錯誤或其他余
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國脫毒紅薯木薯種植項目創業計劃書
- 中國計算機咨詢項目創業計劃書
- 中國境外通信設備項目創業計劃書
- 中國動脈壓迫止血器項目創業計劃書
- 中國電子商務采購項目創業計劃書
- 中國端游項目創業計劃書
- 畢業生個人簡歷表
- 畢業審計實習報告八篇
- 樂清保安考試題綱及答案
- 雞肉品質提升-洞察闡釋
- 圖文高中英語語法if條件句If - Clauses
- 四川省安全員《A證》考試題庫及答案
- 職業生涯規劃書成長賽道
- 林木育種的種質與材質性狀評價
- 大模型在航空航天領域的應用:智能探索宇宙的無限可能
- 《直流電源》課件
- 內燃機車柴油機 課件 2-1-1 16V280型柴油機 固定件認知
- FMECA方法及工程應用案例
- 國開02316-中級財務會計(一)機考復習資料
- 2023年專業英語四級真題試卷及答案(二)
- 數據鏈系統與技術(第2版) 課件 第3、4章 Link-4、Link-11和Link-22數據鏈;Link-16數據鏈
評論
0/150
提交評論