1.1 什麼是軟體?什麼是工程?

工程:百度百科的解釋——工程是科學和數學的某種應用,通過這一應用,使自然界的物質和能源的特性能夠通過各種結構、機器、產品、系統和過程,是以最短的時間和最少的人力、物力做出高效、可靠且對人類有用的東西。將自然科學的理論應用到具體工農業生產部門中形成的各學科的總稱。

更簡潔的解釋——利用自然規律,創建一個使一部分人受益的系統。

軟體

軟體=程序+數據+相關文檔

  • 程序:按事先設計的功能和性能要求編寫的指令序列。

即:實現指定功能的一段代碼

  • 文檔:與程序開發、維護和使用有關的圖文材料。

附文《軟體:不只是代碼》

敲出代碼來,能運行,就是軟體嘛?

很多 初學者 和 行外人士 是這麼想的;其實 早期的開發大牛 也是這麼想的。

這個過程——

可以暢快淋漓、可以快意恩仇、可以自我滿足、可以成就感爆棚

但,有用有效但是有限

想開發高質量的軟體,這種做法是不現實的。真正的軟體,至少應該是:

軟體=程序+數據+文檔

文檔——很重要、很重要、狠重要

  • 文檔有給用戶看的,有給開發人員看的,有給領導看的。
  • 對用戶:沒有文檔,軟體的使用完全是摸瞎,規模越大越難用(一般的軟體,按F1鍵可以調出「幫助文檔」)
  • 對開發人員:要修改之前的代碼的話,僅看代碼容易罵人——特么寫的什麼東西!竄來竄去、命名稀爛、莫名其妙。

》更何況有些人喜歡寫晦澀的代碼,以顯示自己知識水平高

》即使是改自己的代碼,過段時間也可能看不懂

》而看文檔更容易上手,畢竟代碼不是人類語言,而文檔可以說人話。

  • 對領導:公司做了個什麼軟體,領導當然需要心裡有點C數的。然而領導可能看不懂代碼,或者即使看得懂,也沒時間看,讓領導看文檔更容易獲得認可。


推薦閱讀:

【教程】在線網路視頻播放加速那些事兒
終於知道來一把棋牌作弊器下載方式了-APP正版下載
微動攝影太難?用這款APP輕鬆搞定!
雲報價的使用流程
數據被誤刪了怎麼辦?當然是收藏這篇文章了!

TAG:軟體 | 軟體工程 | 軟體工程師 |