工作三年多了,切身體會到軟件開發是一種高強度的腦力勞動,理論性和實踐性都很強。特別是軟件工程,對軟件開發的成功(按質按量,按期完成)有決定性作用。同時開發人的生產效率也對開發的周期和質量有很大影響。
根據我的經驗,我總結了軟件開發中最重要、最容易出現偏差的八個要素,希望大家從中得到啟發,把軟件工程應用到開發中去,全面提高軟件質量,把中國軟件搞上去,超過印度。
1) 做好調研和需求分析,必要的話建立原型,保證軟件特征是客戶所需要的,盡量避免軟件成型后客戶才提出修改。
2) 保證需求分析和概要設計的時間和質量,記住這一階段的錯誤,在以后的階段要付出10-100倍的時間去彌補。合適的分析設計和編碼的比例不好說,我曾經看到的兩個國外的數字是60%。
3) 軟件開發是一種創造性的腦力勞動,因此營造一個寬松和諧的工作環境,讓工作人員能安心投入去思考、創作非常重要。工作量不能用體力勞動的工作時間、工作強度來衡量。過大的工作壓力非常有害。因為這只會讓軟件開發人員為趕進度、應付上級而寫下未經考慮,Bug叢生的代碼。
4) 同事間應該有良好的關系和合作態度。良好的關系對效率的提高也許有限,但糟糕的關系往往對開發產生極大的影響。
5) 編碼過程中,一個單元基本完成后,不要急于去做下一個單元,而要做單元測試和自測,因為現有單元的錯誤如果留到集成測試階段,往往需要跟蹤調試才能找出來,需要花費10倍時間,且很多錯誤是極難再現的。不能為趕進度而舍本逐末。
6) 做好概要設計,保證整體框架簡單可靠,能夠滿足所有需求及可能的適度擴展,避免后期修改框架帶來的全局變動。
7) 需求分析、概要設計、詳細設計的結果要落實成文檔(多用圖表),避免口頭交流帶來的偏差和對細節的遺忘。當然對文檔的口頭講解也必不可少。
8) 做好注釋。良好的注釋可以減少修改維護,調用公用函數的時間和產生錯誤的機會。