1.3 什麼是軟體工程?
05-16
1968年10月,北大西洋公約組織(NATO) 科技委員會 出資在西德舉辦「軟體工程」大會,首次提出「軟體工程」的概念。
定義:軟體工程就是為了經濟地獲得可靠的且能在實際機器上有效地運行的軟體,而建立和使用完善的工程原理。
1993年IEEE的定義:軟體工程是:
①把系統的、規範的、可度量的途徑應用於軟體開發、運行和維護過程。
②研究①中提到的途徑。
IEEE是?
Institute of Electrical and Electronics Engineers,電氣和電子工程師協會(國際學術組織)。一個國際性的電子技術與信息科學工程師協會,全球最大的非營利性專業技術學會。
致力於電氣、電子、計算機工程和與科學有關的領域的開發和研究;在太空、計算機、電信、生物醫學、電力及消費性電子產品等領域已制定了900多個行業標準。
軟體工程的本質特性
人們普遍認為,軟體工程具有如下本質特徵
- 大型項目——軟體工程的提出,主要是解決政府的大型軟體開發問題,沒考慮小型軟體;
- 項目把控——軟體工程的中心課題是控制複雜性,使軟體項目不是空
- 團隊合作——大型軟體項目,自然要很多人合作開發;
- 需求變更——軟體經常變化,要適應不要抵制;
- 開發效率——開發軟體的效率非常重要;
- 用戶體驗——軟體必須有效地支持它的用戶;
- 業務流程——在軟體工程領域中,創造軟體產品的軟體工程師們 往往缺乏產品相關業務領域的知識。
軟體工程7條基本原理
美國國家工程院院士 巴利·玻姆(Barry W. Boehm),1983年發表論文,總結了軟體工程的7條基本原理:
(1) 用分階段的生命周期計劃嚴格管理;
(2) 堅持進行階段評審;
據統計,軟體的錯誤中,設計錯誤佔63%,編碼錯誤佔37%;越晚發現錯誤,代價越高。
(3) 實行嚴格的產品控制——不能想改就改
(4) 採用現代程序設計技術——先進的技術可以提高開發/維護效率,提高質量
(5) 結果能清楚地審查——不玩虛的;
(6) 開發小組的人員應該少而精;
(7) 承認不斷改進軟體工程實踐的必要性——也就是「精益求精」、「工匠精神」什麼的。
參考閱讀:
軟體工程:起源推薦閱讀:
※1.2 軟體危機
※The world at your fingertips — 天涯明月刀幕後(9)工具
※【推薦】真正綠色的四窗口的文件管理器文件管理的福音
※關於軟體行業的思考和設想
※代碼人生1002