軟體工程學習軟體工程概述(一)
1.軟體的定義:
軟體的的定義包含程式,資料和文件三個方面,即在執行中能提供所希望的功能與效能的程式,是程式能夠正確執行的資料及其結構和描述軟體研製過程和方法所使用的文件。
2.軟體的特點
(1)是邏輯實體,不是物理實體
(2)生產過程主要是研製
(3)具有複雜性,開發和執行受計算機系統的限制
(4)成本昂貴,開發方式尚未完全擺脫手工生產方式
(5)軟體不存在磨損和老化問題,但是存在退化問題
3.軟硬體產品失效率曲線的理解
失效率的概念:失效率是工作到某時刻尚未失效的產品,在該時刻後單位時間內發生失效的概率。
首先在開始時刻軟硬體產品都存在磨合調整的時間所以發生失效的概率較大,之後軟硬體產品都進入平穩使用時期,此時軟硬體產品的失效概率都比較低。平穩期過後由於軟體產品不存在磨碎和老化所以失效率基本保持不變,但是硬體產品的存在磨損和用壞所以失效率增加。
4 軟體的分類
軟體產品按功能分可分為系統軟體,支撐軟體和應用軟體三種;按版權分可分為商業軟體,共享軟體,自由(免費)軟體和工友領域軟體四種;按照工作方式不同可分為實時軟體,分時軟體,互動式軟體和批處理軟體四種;按照銷售方式不同可分為訂製軟體和產品軟體兩種。
5.軟體危機表現
(1)生產率不能滿足客觀需求
(2)軟體產品不能滿足使用者實際需要
(3)軟體產品質量低下可維護性差
(4)軟體開發進度計劃與成本難以估計
6.隨著開發階段的推移,改正一個問題需要付出的代價越來越大。
7.軟體工程的定義嚴格描述(IEEE定義):
軟體工程是將系統化的、嚴格約束的、可量化的方法應用於軟體的開發、執行和維護,即將工程化應用於軟體。
8.軟體工程的通俗定義:
軟體工程是知道軟體開發和維護的一門工程學科。它採用工程的概念、原理、技術和方法、把經過實踐檢驗而證明是正確的管理技術和當前能夠得到的最好的技術方法結合起來,用於開發和維護軟體。
綜合7和8可知軟體工程即是工程軟體即工程實踐與軟體。
9.軟體工程三要素:方法、工具和過程。方法是指怎麼做,工具可以理解為生產資料,過程即是方法與工具結合實現生產出軟體產品的目的。
10.軟體工程的基本原理
(1)用分階段的生存週期計劃嚴格管理。
(2)堅持進行階段評審(原因見軟體危機的(4))
(3) 實行嚴格的產品控制
(4)採用現代程式設計技術
(5)結果應該能清楚地審查
(6
(7)承認不斷改進軟體工程實踐的必要性。