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