軟體工程是研究和應用如何以系統性的、規範化的、可定量的過程化方法去開發和維護軟體,以及如何把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來的學科,也是指將系統化、規範化、可度量的方法應用於軟體的開發、執行和維護中,即,將工程化的方法應用於軟體。
軟體危機(software crisis)是乙個早期的電腦科學用語,指的是在給定時間內編寫出可用和高效的程式的困難性。現在引申至指軟體在開發和維護過程**現的一系列嚴重的問題。
在2023年,edsger dijkstra 指出計算能力約強大,程式設計越是大問題。因此導致軟體危機的本質原因是計算機計算能力的迅速增長,以及計算機能力增長而導致軟體需要處理和解決的問題具有更大的複雜性。也就是計算機計算能力的提高超過了程式設計師能夠高效利用計算機的能力。
軟體危機的表現:
克服軟體危機的方法:
建立與系統化軟體生產有關的概念、原則、方法、技術和工具,指導和支援軟體系統的生產活動,以期達到降低軟體生產成本 、改進軟體產品質量、提高軟體生產率水平的目標。
研製和使用軟體工具,用以輔助進行軟體專案管理與技術生產,將軟體生命週期各階段使用的軟體工具有機地集合成為乙個整體,形成能夠連續支援軟體開發與維護全過程的整合化軟體支援環境,以期從管理和技術兩方面解決軟體危機問題。
基於程式變換、自動生成和可重用軟體等軟體新技術研究也已取得一定的進展,把程式設計自動化的程序向前推進一步。
軟體的生命週期是在時間維度,對軟體專案任務進行劃分,將軟體開發工作劃分為不同階段以改進設計,產品管理和專案管理的過程,又稱為軟體開發過程。軟體生命週期將軟體開發過程劃分為若干階段,每個階段有明確的任務目標和執行機制,從而使複雜的軟體開發過程能夠得到適當的控制和管理,常見的有瀑布模型、螺旋模型、敏捷的模型等。
cmmi,能力成熟度模型整合,是乙個過程級的改進培訓和評估程式,是衡量企業能力成熟與否的模型工具。它一共分為五個層級,分別是初始級、可管理級、已定義級、量化管理級和優化管理級,cmmi是乙個模型,它提供了詳細地抽象資訊和示例作為理解和實現地指南,企業可以在此之上擴充套件出具體地實現方式,讓企業可以根據自己的情況,準從該階段的工程規範去工作。cmmi主要關注點是成本效益、明確重點、過程集中和靈活性四個方面。其目的是幫助軟體企業對軟體工程過程進行管理和改進,增強開發與改進能力,從而能按時地、不超預算地開發出高質量地軟體。
swebok,軟體工程知識體系,是ieee computer society 建立的軟體生產的最佳實踐與相關知識的框架,指導了軟體工程人才的培養與學科建設。swebok分為兩個部分,分別是軟體工程實踐和軟體工程基礎教育,分別下設了11個和4個知識領域。swebok 的目的是描述軟體工程學科的內容;促進全世界對軟體工程的一致看法;澄清軟體工程與其他學科有關的地點和界限;為培訓材料和課程開發提供基礎;為軟體工程師的認證和許可提供依據。
系統分析與設計HW1
軟體工程的定義 軟體工程是 1 將系統化的 規範的 可度 量的方法應用於軟體的開發 執行和維護,即將工程 化方法應用於軟體 2 在 1 中所述方法的研究 閱讀經典名著 人月神話 等資料,解釋 software crisis cocomo 模型 software crisis 軟體危機泛指在計算機軟體...
系統分析與設計HW1
簡單題 1.軟體工程的定義 軟體工程是指導計算機軟體開發和維護的 工程學科。採用工程的概念 原理 技術和方法來開發與維護軟體,把經過實踐考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來,這就是軟體工程。ieee的定義 1 將系統化的 規範的 可度量的方法應用於軟體的開發 執行和維護,即...
系統設計與分析 HW1
1 軟體工程的定義 軟體工程一直以來都缺乏乙個統一的定義,很多學者 組織機構都分別給出了自己認可的定義 ieee的定義 軟體工程是 1.將系統化的 嚴格約束的 可量化的方法應用於軟體的開發 執行和維護,即將工程化應用於軟體。2.在1中所述方法的研究。計算機科學技術百科全書 軟體工程是應用電腦科學 數...