標籤:
在老師的強烈推薦下, 我花了兩天時間略看了林銳博士的《軟體工程思想》這本書,儘管不是字字斟酌,但讀完後還是收穫頗豐。
這本書不過百頁,總體看來,作者文筆不錯,文風幽默又略帶自謙,這是我很喜歡的。在讀到作者形容程式員的生活和工作已融為一體,儘管單調卻不乏味,還能獨享孤獨一處時,作者寫到,“有詩為證:我編程三日,兩耳不聞人聲,只有硬碟在歌唱。”我不禁笑噴。哈哈~~卻實是很好玩一人,心裡頓時對這本書的下文來了興趣。仔細想想,我國當今的程式員隊伍雖然強大,但以木訥不善言談者居多,而此書作者能夠將此書寫得此般精簡透徹,幽默風趣,足以想象他的其它作品的魅力。以後還要繼續拜讀他的其它作品!
此書核心講的是設計,貫穿全文的是思想。共八章,後面附錄“大學十年”。
第一章“軟體工程基本觀念”;
第二章“程式員與程式經理”;
第三章“專案計劃與品質管理”;
第四章“可行性分析與需求分析”;
第五章“系統設計”;
第六章“C++ 物件導向程式設計”;
第七章“測試與改錯”; 讀後感
第八章“維護與再生工程”。
此書先講述了軟體工程的基本觀念,從宏觀上探討了軟體工程。第一章講述軟體工程的目標和常用的軟體工程模型,軟體開發的基本策略:“複用”、“分而治之”、“最佳化——折衷”,有助於指導實踐者選擇方法和產生新方法。後面取材於早期軟體人員比較幼稚的想法,例舉了一些不正確的觀念,可以讓初學者引以為戒。接著讓讀者瞭解程式員的那些事,並談到真正程式員具有的四個秉性:誠實,簡單--實用主義,愛憎分明,工作單調但不乏味。真正的程式員會對自己喜歡的工作一直保持興趣,生活和工作已融為一體,儘管單調卻不乏味,還能獨享孤獨。優秀的程式員沒有理由不讓人喜歡,他們遠比怪癖來得可愛。這著實是對程式員的一種勉勵。此外,作者指出一個好的程式經理應該技壓群雄,博學多才,更應有人格魅力,無論何時,用實力征服他人是硬道理,而程式員經理在管理上要“以身作則”、“公正待人”,唯有做到這些,別人才會信服你,團隊才有凝聚力開發出優秀的軟體。程式員在編程過程中,難免會遇到挫折,所以要向錯誤與失敗學習,冷靜地分析問題,找出問題的內因與外因,而不能目光短淺,力求深刻才會有效。程式員如何提高綜合素責?倘若自己資質一般,但願意亡羊補牢,力求學得更深更廣,最終總會有意想不到的收穫。最後疏導,程式員不該因為幼稚而顯得單純,應該是成熟了才變得單純,才配得上這個充滿活力的職業。不該因為幼稚而顯得單純,應該是成熟了才變得單純,我想做人也是同一個道理。緊接著是專案計劃與品質管理,專案計劃的準則是要提供一份合理的進程表,讓所有開發人員任務明確、步調一致,最終共同準時地完成項目。所以軟體的專案計劃重在“準確”“實在”,提高品質是軟體工程的主要目標。但又因為軟體開發是一種智力創作活動,很難象傳統工業那樣通過執行嚴格的操作規範來保證軟體產品的品質,因此程式員必須瞭解軟體品質的方方面面(稱為品質因素),如正確性、效能、易用性、靈活性、可複用性、可理解性等等,才能在進行系統設計、程式設計時將高品質內建其中。軟體的高品質並不是“管理”出來的,實質上是設計出來的,品質的管理只是一種預防和認證的手段而已。關於軟體的可行性分析與需求分析,軟體領域的可行性分析主要考慮四個要素:經濟、技術、社會環境和人。對於系統設計,第五章講述了系統設計的四方面內容:體繫結構設計、模組設計、資料結構與演算法設計、使用者介面設計。並將軟體系統比喻為人體,體繫結構就如同人的骨架;模組就如同人的器官,具有特定的功能;資料結構與演算法就如同人的血脈和神經,它讓器官具有生命並能發揮功能。資料結構與演算法分布在體繫結構和模組中,它將協調系統的各個功能;使用者介面就如同人的外表。在進行系統設計時,要深情地關注軟體的品質因素,如正確性與精確性、效能與效率、易用性、可理解性與簡法性、可複用性與可擴充性等等。即使把系統設計做好了,也並不意味著就能產生好的軟體系統。在程式設計、測試、維護等環節還要做大量的工作,無論哪個環節出了差錯,都會把好事搞砸了。內聚和耦合是密切相關的,與其它模組存在強耦合的模組通常意味著弱內聚,而強內聚的模組通常意味著與其它模組之間存在弱耦合。模組設計追求強內聚,弱耦合。第六章,C++物件導向程式設計。這章講敘了 C++物件導向程式設計的重要概念,如類與對象,繼承與組合, 虛函數與多態,良好的編程風格等,內功深厚的武林高手出招往往平淡無奇,同理,編程高手也不會用奇門怪招寫程式。良好的編程風格是產生高品質程式的前提。再到後面的new、delete與指標,const的使用。第七章主要是測試與改錯。第八章講的是維護與再生工程。
讀後感
一個好的項目,設計至少可以佔到百分之五十甚至更多。林銳的文章當中,自始至終在灌輸兩個思想,一個是高內聚低耦合,一個是設計應當以行為為中心而非資料為中心,業界的話就是應當以需求為中心。
書的最後,林銳博士更是講敘了自己的“十年”大學生涯,生動而精彩,讓人回味無窮。
所以,我想以作者的肺腑之言結束我的這篇讀後感:
一、主動去創造環境,否則你無法設計人生。
二、生活和工作要充滿激情,否則你無法體會到淋漓盡致的歡樂與痛苦。
《軟體工程思想》讀後感