(一)第一章 軟件工程學概述
第一章主要是對軟件工程過程的概述,對於軟件的分類,軟件的特點,軟件的生存週期以及軟件開發的各種模型做了簡單的介紹。其中還闡述了什麼是軟件危機(指在計算機軟件的開發和維護過程中所遇到的一系列嚴重問題)以及解決軟件危機的有效途徑。除此之外還指明瞭軟件工程的最高目標:以較少的投資獲得易維護、易理解、可靠、高效率的軟件產品。
其中我感覺比較重要的就是軟件開發模型,軟件開發模型是跨越整個軟件生存週期的系統開發、運行、維護所實施的全部工作和任務的結構框架。它涵蓋了軟件開發的6個生存週期:制定計劃、可行性研究及需求分析、軟件設計、編碼、測試和維護。比較常用的模型有5中:瀑布模型、原型模型、漸增模型、螺旋模型、噴泉模型。感覺其中最經典的就是瀑布模型那張圖,列出了軟件的生存週期和三個主要階段:
下面是幾種瀑布模型的對比:
瀑布模型:是最傳統的模型,它的優點在於嚴格規定了每個階段必須要提交的文檔,是規範的、文檔驅動的方法。但這也是它的缺點,由於開發階段缺少和用戶的交流,與用戶見面晚,成功率較低。
快速原型模型:爲了克服瀑布模型的缺點而提出來的。它通過快速構建一個原型系統,讓用戶試用原型並收集用戶反饋意見的辦法,獲取用戶的真實需求。一旦需求確定了,原型將被拋棄。
增量模型(漸增模型):同樣是對於瀑布模型的改進,它能分批地逐步向用戶提交產品,整個軟件產品被分解成許多個增量構件。這樣能在較短時間內向用戶提交可完成部分工作的產品。它不同於快速原型的是:在把每個新的增量構件集成到現有軟件體系結構中時,不能破壞原來已經開發出的產品。
螺旋模型:主要適用於內部開發的大型軟件項目,但是,只有在開發人員具有風險分析和排除風險的經驗及專門知識時,使用這種模型纔會成功。
噴泉模型:體現了面向對象軟件開發過程無縫迭代的特性,是典型的面向對象的軟件過程模型之一。總結:以上就是第一章的主要內容,由於它涵蓋的面比較廣,從整體概括了軟件開發的幾個主要階段,所以單另出來做一個總結。裏面比較重要的就是軟件工程的生存週期的6個步驟以及跨越整個軟件生存週期的5種軟件開發模型。每個模型都有自己的優點,需要根據實際情況來選擇合適的開發模型。