簡答題
瀑布模型:
優點:有利於大型軟件開發過程中人員的組織、管理,有利於軟件開發方法和工具的研究,從而提高了大型軟件項目開發的質量和效率。
缺點:開發過程一般不能逆轉;實際的項目開發很難嚴格按該模型進行;客戶往往很難清楚地給出所有的需求;軟件的實際情況必須到項目開發的後期客戶才能看到。
增量模型:
優點:第一個可交付版本所需要的成本和時間是較少的;可以減少用戶需求的變更;允許增量投資。
缺點:增大管理成本;初始增量可能會造成後來增量的不穩定;如果需求不像早期思考的那樣穩定和完整,那麼一些增量就可能需要重新開發,重新發布。
螺旋模型:
優點:可以在項目的各個階段進行變更;成本計算簡單容易;客戶始終參與每個階段的開發,保證了項目不偏離正確方向以及項目的可控性;客戶始終掌握項目的最新信息 , 能夠和管理層有效地交互;客戶認可這種公司內部的開發方式帶來的良好的溝通和高質量的產品。
缺點:很難讓用戶確信這種演化方法的結果是可以控制的。建設週期長,而軟件技術發展比較快,所以經常出現軟件開發完畢後,和當前的技術水平有了較大的差距,無法滿足當前用戶需求。
三大特點:
用例驅動 | 按照RUP,Use Case貫穿整個軟件開發的生命週期 |
---|---|
以體系結構爲中心 | 軟件體系結構是關於構成系統的元素、這些元素之間的交互、元素和元素之間地組成模式以及作用在這些組成模式上的約束等方面的描述 |
迭代和增量 | 在每次迭代中,只考慮系統的一部分需求,進行分析、設計、實現、測試、部署等過程 |
與面向對象方法的關係:
統一過程將用戶需求轉化爲軟件系統所需的活動的集合,這體現了面向對象的思想。在它的工作流中,第一步是需求捕獲,然後分析、設計、實現、測試,這也是面向對象的。至於三大特點,用例驅動要求客戶對Use Case進行描述;在體系結構中,用戶會關心最終系統的功能,因此會側重於邏輯視圖;採用迭代和增量的方式可以較早得到一個可運行的系統,提高用戶參與度。
劃分的準則是特定的目標不同,並且結束時有里程碑。初始階段的里程碑是生命週期目標;細化階段的里程碑是生命週期構架;構造階段的里程碑是初始運作功能;移交階段的里程碑是產品發佈。
因爲統一過程規定了軟件生命週期的四個階段,其中每個階段的時長、成果是固定的,企業根據統一過程即可按固定節奏生產和發佈軟件產品。
帶來的好處:它可以爲所有方面和層次的程序開發提供指導方針,模版以及事例支持。可以標識並減少風險、分配和跟蹤任務、檢查商業理由、設計組件構架、構建和測試、驗證和評價結果等。