《人月神話》讀書總結

重要
我的博客從今天起開始陸續遷移到
http://vearne.cc
敬請關注

  1. 人月神話的說明,爲落後項目增加人手,會導致額外的任務分配開銷,協作開發的溝通成本。新分配的人員還需要重新熟悉項目。這就像5核CPU,並不能是5倍的單核CPU的性能。(資源競爭,互斥等等引起的)
  2. 同樣有2年經驗且受同樣培訓的情況下,優秀的專業程序員可以是較差程序員的10倍。
  3. 概念完整性是系統設計中最重要的考慮因素。要形成整個系統的概念完整性,就必須實施貴族式的專制。設計工作職能由一個或者具有共識的小型團隊來完成
  4. 功能數量和理解上的複雜程度的比值可以作爲衡量系統易用性的一種指標
  5. 對於大型項目,系統結構設計和具體實現相分離是獲得概念完整性的強有力的方法。系統結構設計可以理解爲,定義不同功能模塊的職責劃分,模塊之間的接口規範。系統結構設計是針對系統的高度抽象,有點像java中的中的接口和實現類。(比如,只定義,這裏需要一個數據庫,至於數據庫的選型,可以在實現階段再考慮
  6. 牢記開發人員承擔創造性的實現責任,架構師只能提出建議
  7. 團隊組織的目標是爲了減少必要的交流和協作量
  8. 傳統的樹狀組織反映了權力的結構原理–不允許雙重領導
  9. 在大型團隊中,各個小組傾向於不斷的局部化,以滿足自己的目標,而較少考慮對用戶的整體影響。這種方向性的問題是大型項目的主要危險
  10. 從系統整體出發以及面向用戶的態度是軟件編程管理人員最重要的職能。
  11. 構建獨立小型程序的數據(開發時間)不適用大型系統項目。程序開發時間隨程序規模的增長,呈指數增長。一般爲指數約爲1.5,大量時間消耗在集成測試中。
  12. 從文檔層面來講,我傾向於同時有設計文檔和用戶使用文檔
    設計文檔針對開發人員,用戶使用文檔針對用戶(客戶)
    最好的方式是,在代碼中嵌入註釋,然後自動生成文檔

重要
我的博客從今天起開始陸續遷移到
http://vearne.cc
敬請關注

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章