軟件工程(Software Engineering)是指導計算機軟件開發(fā)和維護的一門工程學科。采用工程的概念、原理、技術(shù)和方法來開發(fā)和維護計算機軟件,把經(jīng)過時間考驗而證明正確的管理技術(shù)和當前能夠得到的最好的技術(shù)和方法結(jié)合起來,以經(jīng)濟地開發(fā)出高質(zhì)量的軟件并有效地維護它。它旨在開發(fā)滿足用戶需求、及時交付、不超過預算和無故障的軟件,以質(zhì)量保證為基礎(chǔ),包括過程、方法和工具三個要素。
現(xiàn)在軟件工程里面大家主要是對軟件的正確性感興趣。簡單點講,軟件不正確,有錯誤,容易導致各種問題,造成各種經(jīng)濟損失。比如說,現(xiàn)在比較熱門的計算機安全問題。安全問題和軟件中的錯誤是成比例的。如果軟件沒有錯誤,我們可能沒有100%的安全,但是最起碼MS不必經(jīng)常發(fā)布補丁,針對windows的攻擊也會變得很困難,各種因軟件所導致的損失也會大大減少。每一種攻擊的方法或者工具,背后基本都是一個或者數(shù)個軟件錯誤,有的是實現(xiàn)中的錯誤,有的甚至是設(shè)計上的。軟件工程不是單純的開發(fā)或者測試,而是圍繞著用戶需求的一系列的activity以及資源的分配和利用。軟件工程,就是要提高productivity and reliability of software development。
原文作者:Warald Email:iamxiaoning@gmail.com