軟件工程導論第六版課后習題答案55773_第1頁
已閱讀1頁,還剩53頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第一章第一章一、什么是軟件危機?它有哪些典型表現?為什么會出現軟件危機?一、什么是軟件危機?它有哪些典型表現?為什么會出現軟件危機?軟件危機是指在計算機軟件開發(fā)、使用與維護過程中遇到的一系列嚴重問題和難題。它包括兩方面:如何開發(fā)軟件,已滿足對軟件日軟件危機是指在計算機軟件開發(fā)、使用與維護過程中遇到的一系列嚴重問題和難題。它包括兩方面:如何開發(fā)軟件,已滿足對軟件日益增長的需求;如何維護數量不斷增長的已有軟件。益增長的需求;如何維護數量不斷

2、增長的已有軟件。軟件危機的典型表現:軟件危機的典型表現:(1)(1)對軟件開發(fā)成本和進度的估計常常很不準確。常常出現實際成本比估算成本高出一個數量級、實際進度比計劃進度拖延幾個月甚對軟件開發(fā)成本和進度的估計常常很不準確。常常出現實際成本比估算成本高出一個數量級、實際進度比計劃進度拖延幾個月甚至幾年的現象。而為了趕進度和節(jié)約成本所采取的一些權宜之計又往往損害了軟件產品的質量。這些都降低了開發(fā)商的信譽,引起用至幾年的現象。而為了趕進度和節(jié)約

3、成本所采取的一些權宜之計又往往損害了軟件產品的質量。這些都降低了開發(fā)商的信譽,引起用戶不滿。戶不滿。(2)(2)用戶對已完成的軟件不滿意的現象時有發(fā)生。用戶對已完成的軟件不滿意的現象時有發(fā)生。(3)(3)軟件產品的質量往往是靠不住的。軟件產品的質量往往是靠不住的。(4)(4)軟件常常是不可維護的。軟件常常是不可維護的。(5)(5)軟件通常沒有適當的文檔資料。文檔資料不全或不合格,必將給軟件開發(fā)和維護工作帶來許多難以想象的困難和難以解決的

4、問題。軟件通常沒有適當的文檔資料。文檔資料不全或不合格,必將給軟件開發(fā)和維護工作帶來許多難以想象的困難和難以解決的問題。(6)(6)軟件成本、軟件維護費在計算機系統總成本中所占比例逐年上升。軟件成本、軟件維護費在計算機系統總成本中所占比例逐年上升。(7)(7)開發(fā)生產率提高的速度遠跟不上計算機應用普及的需求。開發(fā)生產率提高的速度遠跟不上計算機應用普及的需求。軟件危機出現的原因:軟件危機出現的原因:(1)(1)來自軟件自身的特點:是邏輯部

5、件,缺乏可見性;規(guī)模龐大、復雜,修改、維護困難。來自軟件自身的特點:是邏輯部件,缺乏可見性;規(guī)模龐大、復雜,修改、維護困難。(2)(2)軟件開發(fā)與維護的方法不當:忽視需求分析;認為軟件開發(fā)等于程序編寫;輕視軟件維護。軟件開發(fā)與維護的方法不當:忽視需求分析;認為軟件開發(fā)等于程序編寫;輕視軟件維護。(3)(3)供求矛盾將是一個永恒的主題:面對日益增長的軟件需求,人們顯得力不從心。供求矛盾將是一個永恒的主題:面對日益增長的軟件需求,人們顯得力

6、不從心。二、假設自己是一家軟件公司的總工程師,當把圖二、假設自己是一家軟件公司的總工程師,當把圖1.11.1給手下的軟件工程師們觀看,告訴他們及時發(fā)現并改正錯誤的重要性時,有人給手下的軟件工程師們觀看,告訴他們及時發(fā)現并改正錯誤的重要性時,有人不同意這個觀點,認為要求在錯誤進入軟件之前就清楚它們是不現實的,并舉例說:不同意這個觀點,認為要求在錯誤進入軟件之前就清楚它們是不現實的,并舉例說:“如果一個故障是編碼錯誤造成的,那么,一個如果一

7、個故障是編碼錯誤造成的,那么,一個人怎么能在設計階段清除它呢?人怎么能在設計階段清除它呢?”應該怎么反駁他?應該怎么反駁他?答:在軟件開發(fā)的不同階段進行修改付出的代價是很不相同的,在早期引入變動,涉及的面較少,因而代價也比較低;在開發(fā)的中期,答:在軟件開發(fā)的不同階段進行修改付出的代價是很不相同的,在早期引入變動,涉及的面較少,因而代價也比較低;在開發(fā)的中期,軟件配置的許多成分已經完成,引入一個變動要對所有已完成的配置成分都做相應的修改,

8、軟件配置的許多成分已經完成,引入一個變動要對所有已完成的配置成分都做相應的修改,不僅工作量大,而且邏輯上也更復雜,因此付出的代價劇增;在軟件不僅工作量大,而且邏輯上也更復雜,因此付出的代價劇增;在軟件“已經完成已經完成”是在引入變動,當然付出的代價更高。一個故障是是在引入變動,當然付出的代價更高。一個故障是代碼錯誤造成的,有時這種錯誤是不可避免的,但要修改的成本是很小的,因為這不是代碼錯誤造成的,有時這種錯誤是不可避免的,但要修改的成本

9、是很小的,因為這不是整體構架的錯誤。整體構架的錯誤。三、什么是軟件工程?它有哪些本質特征?怎樣用軟件工程消除軟件危機?三、什么是軟件工程?它有哪些本質特征?怎樣用軟件工程消除軟件危機?19931993年IEEEIEEE的定義:軟件工程是:的定義:軟件工程是:①把系統的、規(guī)范的、可度量的途徑應用于軟件開發(fā)、運行和維護過程,也就是把工程應用于把系統的、規(guī)范的、可度量的途徑應用于軟件開發(fā)、運行和維護過程,也就是把工程應用于軟件;軟件;②研究研

10、究①中提到的途徑。中提到的途徑。軟件工程的本質特征:軟件工程的本質特征:(1)(1)軟件工程關注于大型程序軟件工程關注于大型程序(軟件系統軟件系統)的構造的構造(2)(2)軟件工程的中心課題是分解問題,控制復雜性軟件工程的中心課題是分解問題,控制復雜性(3)(3)軟件是經軟件是經常變化的,開發(fā)過程中必須考慮軟件將來可能的變化常變化的,開發(fā)過程中必須考慮軟件將來可能的變化(4)(4)開發(fā)軟件的效率非常重要,因此,軟件工程的一個重要課題就是

11、,尋求開發(fā)與維護軟件的更好更有效的方法和工具開發(fā)軟件的效率非常重要,因此,軟件工程的一個重要課題就是,尋求開發(fā)與維護軟件的更好更有效的方法和工具(5)(5)和諧地合作是開發(fā)軟件的關鍵和諧地合作是開發(fā)軟件的關鍵(6)(6)軟件必須有效地支持它的用戶軟件必須有效地支持它的用戶(7)(7)在軟件工程領域中是由具有一種文化背景的人替具有另一種文化背景的人在軟件工程領域中是由具有一種文化背景的人替具有另一種文化背景的人(完成一些工作完成一些工作)

12、消除軟件危機的途徑:消除軟件危機的途徑:(1)(1)對計算機軟件有一個正確的認識對計算機軟件有一個正確的認識(軟件軟件≠程序)程序)(2)(2)必須充分認識到軟件開發(fā)不是某種個體勞動的神秘技巧,而應該是一種組織良好、管理嚴密、各類人員協同配合、共同完成的工必須充分認識到軟件開發(fā)不是某種個體勞動的神秘技巧,而應該是一種組織良好、管理嚴密、各類人員協同配合、共同完成的工程項目程項目(3)(3)推廣使用在實踐中總結出來的開發(fā)軟件的成功技術和方

13、法推廣使用在實踐中總結出來的開發(fā)軟件的成功技術和方法(4)(4)開發(fā)和使用更好的軟件工具開發(fā)和使用更好的軟件工具四、簡述結構化范型和面向對象范型的要點,并分析他們的優(yōu)缺點。四、簡述結構化范型和面向對象范型的要點,并分析他們的優(yōu)缺點。1.1.傳統方法學:也稱為生命周期方法學或結構化范型。傳統方法學:也稱為生命周期方法學或結構化范型。優(yōu)點:把軟件生命周期劃分成基干個階段,每個階段的任務相對獨立,而且優(yōu)點:把軟件生命周期劃分成基干個階段,每個

14、階段的任務相對獨立,而且比較簡單,便于不同人員分工協作,比較簡單,便于不同人員分工協作,從而降低了整個軟件開發(fā)過程的困難程度。缺點:當軟件規(guī)模龐大時,或者對軟件的需求是模從而降低了整個軟件開發(fā)過程的困難程度。缺點:當軟件規(guī)模龐大時,或者對軟件的需求是模糊的或會承受時糊的或會承受時間而變化的時候,開發(fā)出的軟件往往不成功;而且維護起來仍然很困難。間而變化的時候,開發(fā)出的軟件往往不成功;而且維護起來仍然很困難。2.2.面向對象方法學:優(yōu)點:降

15、低了軟件產品的復雜性;提高了軟件的可理解性;簡化了軟件的開發(fā)和維護工作;面向對象方法學:優(yōu)點:降低了軟件產品的復雜性;提高了軟件的可理解性;簡化了軟件的開發(fā)和維護工作;促進了軟件重用。促進了軟件重用。五、五、1515根據歷史數據可以做出如下的假設根據歷史數據可以做出如下的假設:對計算機存儲容量的需求大致按下面公式描述的趨勢逐年增加:對計算機存儲容量的需求大致按下面公式描述的趨勢逐年增加:M=4080e0.28(Y1960)M=4080e

16、0.28(Y1960)存儲器的價格按下面公式描述的趨勢逐年下降:存儲器的價格按下面公式描述的趨勢逐年下降:P1=0.30.72Y1974(P1=0.30.72Y1974(美分美分位)因為使用面向對象方法學開發(fā)軟件時,各個階段都使用統一的概念和表示符號,因此,整個開發(fā)過程都是吻合一致的,或者說是無縫因為使用面向對象方法學開發(fā)軟件時,各個階段都使用統一的概念和表示符號,因此,整個開發(fā)過程都是吻合一致的,或者說是無縫連接的,這自然就很容易實現

17、各個開發(fā)步驟的反復多次迭代,達到認識的逐步深化,而噴泉模型則很好的體現了面向對象軟件開發(fā)過連接的,這自然就很容易實現各個開發(fā)步驟的反復多次迭代,達到認識的逐步深化,而噴泉模型則很好的體現了面向對象軟件開發(fā)過程迭代和無縫的特性。程迭代和無縫的特性。九、試討論九、試討論RationalRational統一過程的優(yōu)缺點。統一過程的優(yōu)缺點。優(yōu)點優(yōu)點:提高了團隊生產力,在迭代的開發(fā)過程、需求管理、基于組建的體系結構、可視化軟件建模、驗證軟件質量及

18、控制軟件變更等提高了團隊生產力,在迭代的開發(fā)過程、需求管理、基于組建的體系結構、可視化軟件建模、驗證軟件質量及控制軟件變更等方面、針對所有關鍵的開發(fā)活動為每個開發(fā)成員提供了必要的準則、模版和工具指導,并確保全體成員共享相同的知識基礎。它建立方面、針對所有關鍵的開發(fā)活動為每個開發(fā)成員提供了必要的準則、模版和工具指導,并確保全體成員共享相同的知識基礎。它建立了簡潔和清晰的過程結構,為開發(fā)過程提供較大的通用性。了簡潔和清晰的過程結構,為開發(fā)過

19、程提供較大的通用性。缺點:缺點:RUPRUP只是一個開發(fā)過程,并沒有涵蓋軟件過程的全部內容,例如它缺少關于軟件運行和支持等方面的內容,此外,他沒有支持只是一個開發(fā)過程,并沒有涵蓋軟件過程的全部內容,例如它缺少關于軟件運行和支持等方面的內容,此外,他沒有支持多項目的開發(fā)結構,這在一定程度上降低了在開發(fā)組織內大范圍實現重用的可能性。多項目的開發(fā)結構,這在一定程度上降低了在開發(fā)組織內大范圍實現重用的可能性。十十RationalRational

20、統一過程主要適用于何種項目?統一過程主要適用于何種項目?大型的需求不斷變化的復雜軟件系統項目大型的需求不斷變化的復雜軟件系統項目十一十一.說明敏捷過程的適用范圍說明敏捷過程的適用范圍適用于商業(yè)競爭環(huán)境下對小型項目提出的有限資源和有限開發(fā)時間的約束適用于商業(yè)競爭環(huán)境下對小型項目提出的有限資源和有限開發(fā)時間的約束十二十二.說明微軟過程的適用范圍說明微軟過程的適用范圍適用于商業(yè)環(huán)境下具有有限資源和有限開發(fā)時間約束的項目的軟件過程模式適用于商業(yè)

21、環(huán)境下具有有限資源和有限開發(fā)時間約束的項目的軟件過程模式第二章第二章1.在軟件開發(fā)的早期階段為什么要進行可行性研究在軟件開發(fā)的早期階段為什么要進行可行性研究應該從哪些方面研究目標系統的可行性?應該從哪些方面研究目標系統的可行性?答:(答:(1)開發(fā)一個軟件時,需要判斷原定的系統模型和目標是否現實,系統完成后所能帶來的效益是否大到值得投資開發(fā)這個系統)開發(fā)一個軟件時,需要判斷原定的系統模型和目標是否現實,系統完成后所能帶來的效益是否大到值

22、得投資開發(fā)這個系統的程度,如果做不到這些,那么花費在這些工程上的任何時間、人力、軟硬件資源和經費,都是無謂的浪費??尚行匝芯康膶嵸|是要的程度,如果做不到這些,那么花費在這些工程上的任何時間、人力、軟硬件資源和經費,都是無謂的浪費??尚行匝芯康膶嵸|是要進行一次大大壓縮簡化了的系統分析和設計過程,就是在較高層次上以較抽象的方式進行的系統分析和設計的過程??尚行匝芯康哪窟M行一次大大壓縮簡化了的系統分析和設計過程,就是在較高層次上以較抽象的方式

23、進行的系統分析和設計的過程??尚行匝芯康哪康木褪怯米钚〉拇鷥r在盡可能短的時間內確定問題是否能夠解決。的就是用最小的代價在盡可能短的時間內確定問題是否能夠解決。(2)一般說來,至少應該從以下三個方面研究每種解法的可行性:)一般說來,至少應該從以下三個方面研究每種解法的可行性:a.技術可行性。對要開發(fā)項目的功能、技術可行性。對要開發(fā)項目的功能、性能和限制條件進行分析,性能和限制條件進行分析,確定在現有的資源條件下,技術風險有多大,項目是否能

24、實現,確定在現有的資源條件下,技術風險有多大,項目是否能實現,這些即為技術可行性研究的內容。這里的資源包括已有的或可以搞到的硬件、軟件資源,現有技術人員的技術水平和已有的工作基礎。這些即為技術可行性研究的內容。這里的資源包括已有的或可以搞到的硬件、軟件資源,現有技術人員的技術水平和已有的工作基礎。b.經濟可行性。進行開發(fā)成本的估算以及了解取得效益的評估,經濟可行性。進行開發(fā)成本的估算以及了解取得效益的評估,確定要開發(fā)的項目是否值得投資開

25、發(fā),這些即為經濟可行性研究的確定要開發(fā)的項目是否值得投資開發(fā),這些即為經濟可行性研究的內容對于大多數系統,一般衡量經濟上是否合算,應考慮一個內容對于大多數系統,一般衡量經濟上是否合算,應考慮一個“底線底線”,經濟可行性研究范圍較廣,包括成本,經濟可行性研究范圍較廣,包括成本—效益分析,效益分析,長期公司長期公司經營策略,經營策略,開發(fā)所需的成本和資源,潛在的市場前景。開發(fā)所需的成本和資源,潛在的市場前景。c.操作可行性。有時還要研究社會

26、可行性問題,研究要開發(fā)的項目是否存在任何侵犯、妨礙等責任問題。社會可行性所涉及的范圍也操作可行性。有時還要研究社會可行性問題,研究要開發(fā)的項目是否存在任何侵犯、妨礙等責任問題。社會可行性所涉及的范圍也比較廣,它包括合同、責任、比較廣,它包括合同、責任、侵權和其他一些技術人員常常不了解的陷阱等。侵權和其他一些技術人員常常不了解的陷阱等。必要時還應該從法律、社會效益等更廣泛的方面研究每種解法的可行性。必要時還應該從法律、社會效益等更廣泛的方

27、面研究每種解法的可行性。2.為方便儲戶,某銀行擬開發(fā)計算機儲蓄系統。儲戶填寫的存款單或取款單由業(yè)務員鍵入系統,如果是存款,系統記錄存款人姓名、為方便儲戶,某銀行擬開發(fā)計算機儲蓄系統。儲戶填寫的存款單或取款單由業(yè)務員鍵入系統,如果是存款,系統記錄存款人姓名、住址、存款類型、存款日期、利率等信息,并印出存款單給儲戶;如果是取款,系統計算利息并印出利息清單給儲戶。住址、存款類型、存款日期、利率等信息,并印出存款單給儲戶;如果是取款,系統計算利

溫馨提示

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

評論

0/150

提交評論