計算機的發展導致軟體危機。軟體危機指的是在所需時間內難以編寫出有用且高效的電腦程式。軟體危機是由於計算機能力的快速增長和無法解決的問題的複雜性造成的。隨著軟體複雜性的增加,由於現有方法的不足,出現了許多軟體問題。
軟體的本質決定了軟體開發的困難,本質特性有四個:
主要原因是計算能力的提高超過了程式設計師有效利用這些能力的能力。在過去的幾十年中,已經開發了各種過程和方法,以改進軟體質量管理,如過程程式設計和物件導向程式設計。然而,大型、複雜、不明確、涉及不熟悉方面的軟體專案仍然容易受到大型、未預料到的問題的影響。
計算能力按摩爾定律發展,軟體處理的問題也越來越廣、越來越複雜,因此軟體生產不只是程式設計技術問題,需要有系統化,與時俱進的軟體工程方法,才能避免。例如,要在不一致、不可視、易於變化的環境下定義軟體和需求,在需要面對的各種設計風險,不僅要滿足軟體的變化,而且軟體的非功能性需求的實現成本遠遠高於功能的實現成本,20%功能滿足80%人的需要,20%測試可發現80%錯誤等等方法。
在時間維度,對軟體專案任務進行劃分以提高設計、產品管理和專案管理的效果,又稱為軟體開發過程。
swebok(software engineering body of knowledge)是軟體工程知識體系。分為軟體工程實踐和基礎教育兩個部分。
軟體工程實踐
基礎教育cmmi(capability maturity model for software)是軟體能力成熟度模型。
swebok是軟體工程知識體系,它告訴在實踐中做出乙個好的軟體要需要哪些相關的知識,指導我們在何時如何怎樣朝著什麼目標做好軟體。也用來指導軟體工程人才的培養和學科建設。
cmmi是能力成熟度模型整合,出於成本的因素,企業在不同階段難以完全遵循工程的規範去做事。cmmi使用不同的級別來表示開發企業的成熟性。分為4個階段,客觀地評估的企業能力,同時也告訴企業應該朝著什麼方向發展。
系統分析與設計HW1
軟體工程的定義 軟體工程是 1 將系統化的 規範的 可度 量的方法應用於軟體的開發 執行和維護,即將工程 化方法應用於軟體 2 在 1 中所述方法的研究 閱讀經典名著 人月神話 等資料,解釋 software crisis cocomo 模型 software crisis 軟體危機泛指在計算機軟體...
系統分析與設計HW1
簡單題 1.軟體工程的定義 軟體工程是指導計算機軟體開發和維護的 工程學科。採用工程的概念 原理 技術和方法來開發與維護軟體,把經過實踐考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來,這就是軟體工程。ieee的定義 1 將系統化的 規範的 可度量的方法應用於軟體的開發 執行和維護,即...
系統分析與設計 HW1
軟體工程是研究和應用如何以系統性的 規範化的 可定量的過程化方法去開發和維護軟體,以及如何把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來的學科,也是指將系統化 規範化 可度量的方法應用於軟體的開發 執行和維護中,即,將工程化的方法應用於軟體。軟體危機 software cr...