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