(完整版)軟件工程課后題答案_第1頁
(完整版)軟件工程課后題答案_第2頁
(完整版)軟件工程課后題答案_第3頁
(完整版)軟件工程課后題答案_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1 什么是軟件危機?軟件危機產生的原因是什么?軟件危機就是指人們在開發軟件和維護軟件過程中遇到的一系列問題。產生的原因: <1>忽視軟件開發前期的需求分析。 <2>開發過程缺乏統一的、 規范化的方法論的指導。 <3>文檔資料不齊全或不準確。 <4>忽視與用戶之間、開發組成員之間的交流 <5>忽視測試的重要性。 <6>不重視維護或由于上訴原因造成維護工作的困難。 <7>從事軟件開發的專業人員對這個產業認識不充分,缺乏經驗。 <8>沒有完善的質量保證體系。2 請簡述軟件工程的三要素三要素是指過程、方法和

2、工具軟件工程的基礎是過程層, 它定義了一組關鍵過程區域的框架, 使軟件能過被合理和及時的開發;軟件工程的方法提供了建造在在技術上需要“做什么”,它覆蓋了一系列的任務,包括需求分析、 設計編程、 測試和支持等; 軟件工程的工具對過程和方法提供了自動的或半自動的支持。3 請對比瀑布模型、快速模型、增量模型和螺旋模型。瀑布模型的優點是:過程模型簡單,執行容易;缺點是無法適應變更。快速模型的優點是: 軟件產品的開發基本上是按線性順序進行的 (它所完成的功能往往是最終產品能完成的功能的一個子集)增量模型的最大特點是將待開發的軟件系統模塊化和組件化, 優點是:將待開發的軟件系統模塊化, 可以分批次地提交軟

3、件產品, 使用戶可以及時了解項目的進展; 以組件為單位進行開發降低了軟件開發的風險; 開發順序靈活。 它的缺點是要求待開發的軟件系統可以被模塊化螺旋模型的優點是對可選方案和約束條件的強調有利于已有的軟件的重用,也有助于把軟件質量作為軟件開發的一個重要目標;減少了過多測試 (浪費資金) 或測試不足 (產品故障多)所帶來的風險; 更重的是, 在螺旋模型中維護只是模型的另一個周期,在維護和開發之間并沒有本質的區別,它的主要優勢在于風險驅動但是這也可能是他的一個弱點。4 什么是軟件過程?他與軟件工程方法學有何不同?軟件過程: 是指一個為獲得高質量軟件所需完成的任務的框架, 它規定了軟件產品開發時完成各

4、項任務的一系列工作步驟, 包括中間產品、資源、角色及過程中采取的方法、 工具等范疇。軟件工程方法學:通常把在軟件生命周期的全過程中的一整套技術方法的集合稱為方法學,也稱范型。從這些兩個定義可以看出,軟件過程是軟件工程方法學的一個要素而已!5 某大型企業計劃開發一個“綜合信息管理系統”,該系統涉及銷售、供應、財務、生產、人力資源等多個部門的信息管理。該企業的想法是按照部門優先級別逐個實現,邊應用。 邊開發。對此,需要一種比較適合的過程模型。請對這個過程模型做出符合應用需要的選擇,并說明選擇理由。答:可以采用增量模型。 它是瀑布模型與原型進化模型的綜合,它對軟件過程的考慮是:在整體上按照瀑布模型的

5、流程實施項目開發,以方便對項目的管理;但在軟件的實際創建中,則把軟件系統功能分解為許多增量構件, 并以構件為單位逐個創建與交付, 直到全部增量構件創建完畢,并都被集成到系統之中交付用戶使用。第二章6 請簡述可行性研究的內容。可行性研究就是指在項目進行開發之前,對該項目師傅能在特定的資源。時間等制約條件下完成做出評估,并且確定他師傅值得去開發。| (評估的方面主要包括:戰略可行性、操作可行性、計劃可行性、 技術可行性、 社會可行性、 市場可行性、 經濟可行性和風險可行性等。)7 需求分析的難點在哪里?一方面是由于交流障礙,另一方面是由于用戶通常對需求的陳述不完備、并且還可能在不斷地變化。不準確和

6、不全面,8 為什么說需求過程是個迭代過程?由于市場環境的易變性以及用戶本身對于新系統要求的模糊性,需求往往很難一步到位。常情況下,需求是隨著項目的深入而不斷變化的所以需求分析的過程是一個迭代的過程。通9 請簡述數據流圖的作用。數據流圖是功能建模的基礎,在處理規格說明中給出了對出現在數據流圖中的每個功能的描述。其作用有: <1>指出當數據在軟件系統中移動時怎樣被變換;<2>描繪數據流的功能和子功能。10 請簡述數據字典的作用。(“數據字典”是分析模型的核心,它是為了描述在結構化分析過程中定義對象的內容時,使用的一種半形式化的工具, 是描述數據的信息的集合, 是對系統中使用

7、的所有數據元素的定義的集合。 )簡而言之, 它就是用系統化的方式來表示每個數據對象和控制信息的特性質。第三章11 請簡述面向數據流的設計方法的主要思想。(常用的結構化設計方法, 多在概要設計階段使用) 它主要是指依據一定的映射規則, 將需求分析階段得到的數據描述、 從系統的輸入端到輸出端所經歷的一系列變換或出來的數據流圖轉換為目標系統的結構描述。12 請簡述人機界面設計應該遵循的原則。有三條“黃金原則”:<1>置用戶與控制之下: 以不強迫用戶進入不必要的或不希望的動作的方式來集定義交互模式;提供零戶的交互; 允許用戶交互可以被中斷和撤銷, 當技能級別增長是可以是交互流水化并允許定制

8、交互; 使用戶隔離內部技術細節; 設計應允許用戶和出現在屏幕上的對象直接交互。<2>減少用戶的記憶負擔: 減少對短期記憶的要求; 建立有意義的缺省; 定義直覺性的捷徑;界面的視覺布局應該基于真實世界的隱喻;以不斷進展的方式揭示信息<3>爆出界面一直:允許用戶將當前任務放入有意義的語境;在應該系列內保持一致性;如果過去的交互模式已經建立起了用戶期待,不要改變它,除非有不得已的理由。13 為什么說“高內聚、低耦合”的設計有利于提高系統的獨立性?耦合是對于各個模塊之間互連程度的度量。不同模塊之間互相依賴的越緊密則耦合程度越高,為了體格模塊獨立性, 應該盡量降低模塊之間的耦合程

9、度; 而模塊的內聚是指模塊內部各個元素之間彼此的緊密程度。 內聚和耦合往往密切相關, 模塊的高內聚通常意味著低耦合。所以“高內聚,低耦合”的設計有利于提高系統的獨立性。14 請簡述軟件設計與需求分析的關系。軟件設計就是吧需求規格說明書里歸納的需求轉換為可行的解決方案并把解決方案反映到設計說明書里。簡單的說,需求分析就是回答軟件系統能“做什么”的問題,而軟件設計就是要解決“怎么做”的問題。15 請簡述軟件設計的過程中需要遵循的規則。為了活動高質量的軟件設計結果,應該遵循模塊化、抽象、逐步求精、。信息隱藏、模塊獨立等基本設計原理16 軟件設計如何分類,分別有哪些活動?軟件設計可以從活動任務觀點和工

10、程管理觀點分別對其進行分類。從活動任務來看軟件設計是對需求進行數據設計、體系結構設計、接口設計、構件設計和部署設計。17 請簡述結構化設計的優點(不太會)工具掌握快而且做出來的設計容易理解,自頂向下逐步求精快速設計。18 什么是模塊、模塊化?軟件設計為什么要模塊化?模塊是由邊界元素限定的相鄰的程序元素 (如數據說明, 可執行的語句)的序列, 而且有一個總體標識符來代表它。模塊化就是把程序劃分成可獨立命名且獨立訪問的模塊,每個模塊完成一個子功能,把這些模塊集成起來構成一個整體,可以完成指定的功能滿足用戶的需求。采用模塊化原理可以使軟件結構清晰,不僅容易設計也容易閱讀和理解。第四章19 在選擇編碼語言時,通常要考慮哪些因素?待開發系統的應用領域、用戶的要

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論