人月神話讀書筆記(四) (轉)
第五章 畫蛇添足
1. 本章的目標:結構設計師要避免向中新增很多不實際的功能(避免
畫蛇添足)。
2. 儘早交流和持續溝通能使結構師有較好的成本意識,以及使開發人員獲
得對設計的信心,並且不會混淆各自的責任分工。
3. 面對估算過高的難題,結構師有兩個選擇:削減設計或者建議成本更低
的實現方法--挑戰估算的結果。後者是固有的主觀感性反應。此時,結構師
是在向開發人員的做事方式提出挑戰。想要成功,結構師必須
牢記是開發人員承擔創造性和發明性的實現責任,所以結構師只能建議,而
不能支配;
時刻準備著為所指定的說明建議一種實現的方法,同樣準備接受其他任何能
達到目標的方法;
對上述的建議保持低調和平靜;
準備放棄堅持所作的改進建議。
4. 一個可以開闊結構師眼界的準則是為每個小功能分配一個值:每次改進,
功能 x 不超過 m 位元組的和 n 微秒。這些值會在一開始作為決策的嚮導
,在物理實現期間指南和對所有人的警示。
5. 專案經理必須堅持至少擁有兩個系統以上開發的結構師的決定。同時
,保持對特殊誘惑的警覺,他可以不斷提出正確的問題,確保原則上的概念和
目標在詳細設計中得到完整的體現。
第六章 貫徹
1. 問題:專案經理如何確保每個人聽從、理解並實現結構師的決策?對於有多個結構師
的小組如何保持系統概念上的完整性。
2. 手冊、或者書面規格說明,是一個非常必要的工具。手冊是產品的外部規格說明,它
描述和規定了所見的每一個細節;同樣的,它也是結構師主要的工作產物。
手冊不但要描述包括所有介面在內的使用者可見的一切,它同時還要描述使用者看不見的事物。
後者是實現人員的工作範疇,而實現人員的設計和創造是不應該被限制的。體系結構
設計人員必須為自己描述的任何特性準備一種實現方法,但是他不應該試圖支配具體的實
現過程。
規格說明的風格必須清晰、完整和準確。使用者常常會單獨提到某個定義,所以每條說明都
必須重複所有的基本要素,所以所有文字都要相互一致。
3. 規格說明中,形式化定義是精確的,它們傾向於更加完整;差異得更加明顯,可以更
快地完成。但是形式化定義的缺點是不易理解。記敘性文字則可以顯示結構性的原則,描
述階段上或層次上的結構,以及提供例子。應同時包括形式化和記敘性定義兩種方式。
4. 透過會議的方式,開發人員進行溝通和討論問題。
5. 不同實現之間嚴格要求相互相容。如果起初至少有兩種以上的實現,那麼定義會更加
整潔和規範。
6. 對於存有疑問的實現人員,應鼓勵他們打電話詢問相應的結構師,而不是一邊自行猜
測一邊工作。
一種有用的機制是由結構師儲存電話日誌。日誌中,他記錄了每一個問題和相應的回答。
每週,對若干結構師的日誌進行合併,重新整理,併發布給使用者和實現人員。這種機制很
不正式,但非常快捷和易於理解。
7. 在最後的分析中,使用者是獨立的監督人員。在殘酷的現實使用環境中,每個細微缺陷
都將無從遁形。產品測試小組則是顧客的人,專門尋找缺陷。不時地,細心的產品測
試人員總會發現一些沒有貫徹執行、設計決策沒有正確理解或準確實現的地方。出於這方
面的原因,設立測試小組是使設計決策得以貫徹執行的必要手段,同樣也是需要儘早著手
,與設計同時實現的重要環節。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-992415/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 人月神話讀書筆記(三) (轉)筆記
- 人月神話讀書筆記(一) (轉)筆記
- 人月神話讀書筆記(二) (轉)筆記
- 人月神話讀書筆記(五) (轉)筆記
- 人月神話讀書筆記(六) (轉)筆記
- 《人月神話》讀書筆記筆記
- 05《人月神話》閱讀筆記01筆記
- 讀書筆記:RUP (轉)筆記
- 大話設計模式 讀書筆記設計模式筆記
- 大話設計模式讀書筆記設計模式筆記
- TIJ讀書筆記(二) (轉)筆記
- TIJ讀書筆記(一) (轉)筆記
- 《圖解HTTP》讀書筆記四:HTTP 首部圖解HTTP筆記
- 大話APP測試2.0-讀書筆記APP筆記
- 讀書筆記筆記
- 讀書筆記...筆記
- PRML讀書筆記0——寫在前面的話筆記
- 大話設計模式讀書筆記6——代理模式設計模式筆記
- 大話設計模式讀書筆記2——策略模式設計模式筆記
- 大話設計模式讀書筆記4——模版方法模式設計模式筆記
- 大話設計模式讀書筆記5——裝飾模式設計模式筆記
- 大話設計模式讀書筆記3——單例模式設計模式筆記單例
- 《Go 語言程式設計》讀書筆記(四)介面Go程式設計筆記
- 《圖解TCP/IP》讀書筆記四:IP協議圖解TCP筆記協議
- Head First Javascript 程式設計讀書筆記(四)JavaScript程式設計筆記
- 《Pro Android Graphics》讀書筆記之第四節Android筆記
- Cucumber讀書筆記筆記
- 散文讀書筆記筆記
- HTTP 讀書筆記HTTP筆記
- CoreJava讀書筆記-------Java筆記
- flask讀書筆記Flask筆記
- Vue讀書筆記Vue筆記
- MONGODB 讀書筆記MongoDB筆記
- Qt讀書筆記QT筆記
- Node讀書筆記筆記
- SAP讀書筆記筆記
- YII讀書筆記筆記
- iptables 讀書筆記筆記