這是軟件工程課程的閱讀作業,老師說一下就讀完了,但是我確實讀了好幾天...
下面先說說我對這本書的看法:
1.這本書的主體是以微軟的軟件開發方法系統的介紹了軟件開發的一套詳細流程。
2.以故事與對話的形式(其實也就是幾個程序猿組了個小公司在里邊聊天神馬的)介紹了軟件工程的流程和細節。
3.全書語言“平易近人”,其中相關的比喻用的非常好,讓人能很容易的接受一些陌生難懂的概念。
然后說說我的收獲(排名不分先后):
1.明白了軟件工程中許多陌生的概念(如:銀彈,QoS,黑箱白箱,測試的相關概念等等等)。
2.對軟件開發的認識達到了一個新的高度。
之前由於沒有團隊開發軟件的經驗,我對軟件開發的理解還僅僅停留在"一個人編程"的基礎之上。通過閱讀,我才發現軟件開發有這么多需要考慮的地方,而且開發並不是以人的數量線性決定開發速度。此外,我發現自己之前對於BUG和測試的理解都還停留在很淺薄的層面,在實際的開發過程中,這是非常重要的兩個點,需要開發者投入大量的時間和精力。
3.移山之道這本書適合反復閱讀。
書中有許多經驗之談,但是由於我現在經歷很少經驗不足可能就一眼跳過了,但當我完成Team work乃至以后工作后,一些細節和經驗一定會讓我我有更深的感悟。
4.閱讀讓我對軟件工程的概念和重要性有了更深的理解。
之前看到微博里有人專門研究軟件工程這門學科,很不理解是為什么。但是閱讀本書后,我發現中這確實很重要的。對於每個公司每個項目來說,情況都不一樣,相關軟件工程的方法也不能生搬硬套,這樣對軟件工程有更深的理解就顯得大有裨益了。書中只是介紹了“移山公司”的軟件開發情況,我覺得更深的理解還是要靠反復的經歷和對書籍更加深入的閱讀。
最后說說我的建議:
1.www.yishan.cc網站已經掛了...不符合鄒欣老師上課說的不能發布后就什么也不管的理念。
2.書中的一些概念不夠突出,建議可以加粗提示一下(當然這也有可能是因為我的理解不夠深刻)。
最后的最后:
總而言之,《移山之道》這本書值得一讀,我收獲了很多。
10.31補充:
由於開發經驗不足,我僅試着從軟件工程的角度提出幾個問題:
1.書中的移山公司是一個專業的軟件公司,具有較強的開發能力,那么他們的任務分配時間是否能非常准確?而我們在無法保證開發時間和時間質量的情況下(即很多技術可能需要邊做邊學)如何為任務分配時間?更進一步說,當PM無法確定所需技術耗時時,他是怎樣分配任務時間的?
2.敏捷開發模式對大工程的合適性不容置疑,但是在需求確定,團隊人數較少的時候,生搬硬套敏捷開發是否會影響工作效率?瀑布開發模式和敏捷開發模式到底有沒有一個詳細明確的分界線?
3.通過閱讀往年隊伍的博客,感覺他們對軟件工程思想的應用並不多,主要原因還是在於編程能力的欠缺,所以軟件工程是否在本科期間應該作為一門入門級的選修課,而不是一味的對每個人都提出這樣的高要求,進而導致教學質量的下降?
4.軟件工程課程是不是應該更注重對於概念的明確和強化,而不是通過一次的工程經歷片面地體會其中的幾個思想?我認為軟件工程是需要在反復的實踐中積累經驗,思考理論,這樣才能讓軟件的開發效率大大提高。