1. 程式人生 > >《人月神話》閱讀筆記04

《人月神話》閱讀筆記04

計算機 存在 時代 改變 筆記 易用性 編程開發 不同 用戶

第四章 貴族專制、民主政治和系統設計

這一章主要講述了概念一致性、獲得概念的完整性、貴族專治統治和民主政治、在等待時實現人員應該做什麽。

絕大多數歐洲的大教堂中,由不同時代、不同建築師所建造的各個部分之間,在設計或結構風格上都存在著許多差異。後來的建築師總是試圖在原有建築師的基礎上有所“提高”,以反映他們在設計風格和個人品味上的改變。對於計算機系統而言,盡管它們通常沒有花費幾個世紀的時間來構建,但絕大多數系統體現出的概念差異和不一致性遠遠超過歐洲的大教堂。這通常並不是因為它由不同的設計師們開發,而是由於設計被分成了由若幹人完成的若幹任務。

編程系統(軟件)的目的是使計算機更加容易使用。為了做到這一點,計算機裝備了語言和各種工具,這些工具實際上也是被調用的程序,受到編程語言的控制。使用這些工具是有代價的:軟件外部描述的規模大小是計算機系統本身說明的十倍。用戶會發現尋找一個特定功能是很容易的,但相應卻有太多的選擇,要記住太多的選項和格式。只有當這些功能說明節約下來的時間,比用在學習、記憶和搜索手冊上的時間要少時,易用性才會得到提高。現代編程系統節省的時間的確超過了花費的時間,但是近年來,隨著越來越多的功能添加,收益和成本的比率正逐漸地減少。

概念的完整性要求設計必須由一個人,或者非常少數互有默契的人員來實現。而進度壓力卻要求很多人員來開發系統。有兩種方法可以解決這種矛盾。第一種是仔細地區分設計方法和具體實現。第二種是前一章節中所討論的、一種嶄新的組建編程開發團隊的方法。

概念的完整性的確要求系統只反映唯一的設計理念,用戶所見的技術說明來自少數人的思想。實際工作被劃分成體系結構、設計實現和物理實現,但這並不意味著該開發模式下的系統需要更長的時間來創建。經驗顯示恰恰相反,整個系統將會開發得更快,所需要的測試時間將更少。同工作的水平分割相比,垂直劃分從根本上大大減少了勞動量,結果是使交流徹底地簡化,概念完整性得到大幅提高。

《人月神話》閱讀筆記04