軟體危機是指計算機軟體的開發和維護過程中所遇到的一系列嚴重問題。(考試中名詞解釋或者選擇題為主)
(1)對軟體開發成本和進度的估計常常很不準確。
(2)使用者對「已完成的」軟體系統不滿意的現象經常發生。
(3)軟體產品的質量往往靠不住。
(4)軟體通常沒有適當的文件資料。
(5)軟體成本在計算機系統總成本中所佔的比例逐年上公升。
(6)軟體常常是不可維護等等。
(7)軟體開發生產率提高的速度,遠遠跟不上計算機應用迅速普及深入的趨勢。
總之開發成本高,周期長,質量差,滿足不了市場需求。
(1)軟體規模龐大,而且程式複雜性將隨著程式規模的增加而呈指數上公升。
(2)軟體開發的管理困難。
(3)輕視軟體維護的重要性。(軟體維護的費用佔軟體總費用的55%-70%)
(4)軟體開發費用增加。
(5)軟體開發技術落後。
(1)首先應該對計算機軟體有乙個正確的認識。
(2)必須充分認識到軟體開發不是某個個體的神秘技巧,而是一種組織良好,管理嚴密,各類人員協調配合,共同完成的工程專案。
(3)必須充分吸收和借鑑人類長期以來從事各種工程專案所累積的行之有效的原理,概念,技術和方法,特別要吸收幾十年來人類從事計算機硬體研究和開發的經驗教訓。
(4)應該開發和使用更好的軟體工具。
為了解決軟體危機,既要有技術措施(方法和工具),又要有必要的組織管理措施。
2023年在第一屆nato會議上提出了軟體工程的乙個早期定義:軟體工程介紹為了經濟地獲得可靠的且能在實際機器上有效地執行的軟體,而建立和使用完善的工程原理。
2023年ieee進一步給出了乙個更全面更具體的定義:軟體工程是:①把系統的、規範的、可度量的途徑應用於軟體開發、執行和維護的過程,也就是把工程應用於軟體;②研究①中提到的途徑。
(1)軟體工程的中心課題是控制複雜性
(2)軟體經常變化。
(3)開發軟體的效率非常重要。
(4)和諧地合作是開發軟體的關鍵。
(5)軟體必須有效地支援它的使用者。
(6)軟體工程關注於大型程式的構造。
(7)在軟體工程領域中通常由具有一種文化背景的人替具有另一種文化背景的人創造產品。
技術觀點:
軟體專案的分析,設計,編碼,測試,維護等方法。依據軟體技術理論,以開發高效,健壯,可復用,可維護的軟體為目標。研究軟體體系結構,組成成本以及構造方式等。
工程觀點:
包括軟體專案的招標,投標,合同,實施,監督,驗收,推廣等方面,以經濟管理科學的理論為依據,研究軟體工程的規劃策略和經濟收益等工程問題。
管理觀點:
包括軟體開發的人員組織,過程控制進度,風險分析和質量保證體系等方面,以科學性,合理性,高效執行及可測量性為目標,來研究工程專案管理。
(1)用分階段的生命週期計畫嚴格管理。
(2)堅持進行階段評審。
(3)實行嚴格的產品控制。
(4)採用現代程式設計技術。
(5)結果應能清楚地審查。
(6)開發小組的人員應該少而精。
(7)承認不斷改進軟體工程實踐的必要性。
軟體工程包括技術和管理兩個方面的內容,是技術與管理緊密結合所形成的工程學科。
所謂管理就是通過計畫、組織和控制等一系列活動,合理地配置和使用各種資源,以達到既定目標的過程。
軟體工程方法學包含3個要素:方法、工具和過程。
方法是完成軟體開發的各項任務的技術方法,回答」怎麼做「的問題。
工具是為運用方法而提高的自動的或半自動的軟體工程支撐環境。
過程是為了獲得高質量軟體所需要完成的一系列的框架,他規定了完成各項任務的工作步驟。
目前使用最廣泛的軟體工程方法學,分別是傳統方法學,物件導向方法學
由軟體定義,軟體開發和執行維護3個時期組成,每個時期進一步分成若干個階段。
定義階段:問題定義,可行性分析,需求分析。
開發階段:軟體設計,程式編碼,軟體測試
維護階段:執行維護,交付
軟體工程學概述
第一章 軟體工程學概述 1.1軟體危機 表現 對軟體開發成本和進度估計不準確 使用者對已完成的軟體常常不滿意 軟體質量不可靠 軟體不可維護 軟體缺乏適當文件 軟體成本佔計算機系統總成本比例逐年上公升 軟體開發生產率提高的速度更不上計算機應用普及的速度 原因 軟體 軟體維護通常意味著改正或者修改原來的...
軟體工程導論 軟體工程學概述
軟體工程關注於大型程式的構造 軟體工程的中心課題是控制複雜性 軟體經常變化 開發軟體的效率非常重要 和諧的合作是開發軟體的關鍵 軟體必須有效地支援它的使用者 在軟體工程領域中通常由具有一種文化背景的人替具有另一種文化背景的人創造產品 用分階段的生命週期計畫嚴格管理 堅持進行階段評審 實行嚴格的產品控...
軟工 軟體工程學概述
軟體工程學主要介紹了軟體危機,然後簡單的介紹了軟體工程,下面根據上面的導圖介紹一下主要內容 1 軟體危機 軟體危機是指在計算機軟體的開發和維護過程中所遇到的一系列嚴重問題 1 包含兩方面的問題 如何開發軟體,以滿足對軟體日益增長的需求 如何維護數量不斷膨脹的已有軟體 2 產生軟體危機的原因主要有兩方...