人月神話之沒有銀彈

2022-08-14 13:12:14 字數 916 閱讀 3440

讀《人月神話》也有了一段時間了,現在也理清了一些自己的思路了,這次主要是針對裡面的《沒有銀彈》這一話題,提出自己的看法。

我認為,在現有的所有體系中,都沒有所謂的「銀彈」,「銀彈」只是人們想擁有乙個一勞永逸的解決辦法而針對乙個具體事件想出來的臨時的可行的某乙個措施,它的效用時間是有限的,並且解決方法本身並不是一成不變的,而是隨著時間與經歷的增長在變化的。

用哲學的觀點來看,運動是永恆的,我們不能將問題的處理定格於某一時刻或者某一階段或者某一特定問題的問題處理。軟體工程也是變化的,就好像當我們擁有了瀑布模型外,發現它並不能滿足我們一些特定的需求,又出現了增量模型、螺旋迭代模型、敏捷開發等新的模型,且還在持續的更新中。從這個角度來看,我們永遠沒有辦法採用乙個已知的問題解決模式處理最新的問題。這個就如同我國在發展社會主義的時候不能照搬蘇聯模式,只能自己去根據國家實情去探索新的道路,新的發展方法。

這些變化都是因為人們的需求發生了變化而產生的,然而人們的需求不會滿足,這就決定了軟體需要時刻的變化,也決定了有銀彈的希望不大。計算機硬體上人們採用微電子器件、電晶體、大規模整合帶來了生產力的數量級增長,這看似已經是銀彈了,但是這並不是所謂的「銀彈」,不是以後所有的硬體生產就是這樣進行流水線生產就能解決一定問題了,硬體生產技術一定會發生變革更新的。如果這樣的流水線生產硬體設施就是「銀彈」的話,那麼現在的軟體生產應該也算的上了吧,比起最初的命令列,現在擁有的豐富的程式設計庫以及部分的圖形化編輯介面,軟體的生產量不知道已經是原來的多少倍了。

當然,不可否認上面的那些先進技術給軟體的發展帶來了巨大的福音,但是這也是在發展過程中,我們所知道的一種解決問題的有效技術、手段,它將會在以後的某一時刻被淘汰掉。說到底,現在的軟體、硬體以及其他的大部分技術,都是人們在社會的生產生活中所使用的工具,當它們的發展與社會生產力不匹配的時候,它們終將被淘汰。

所以,「銀彈」並不實際存在,存在的只是人們的一種期望,一種解決某一特定問題的短時間內有用的技術或者說手段。

《人月神話》 第16章 沒有銀彈

摘要 關注軟體任務中的必要任務 介紹 沒有銀彈 根本困難 軟體開發中困難的部分是規格說明 設計和測試這些概念上的結構,而不是對概念進行表達和對實現逼真程度進行驗證。軟體系統中無法規避的特性 以往解決次要困難的一些突破銀彈的希望 針對概念上根本問題的頗具前途的方法 生產率公式 購買和自行開發。構建軟體...

人月神話 人月

缺乏合理的進度安排是造成專案滯後的最主要的原因,它比其他所有因素加起來的影響還大 引起的原因 a.估算技術不嚴謹科學,缺乏有效研究,建立在不真實的假設 一切會執行良好 b.對進度缺少跟蹤和監督 c.認為人月可以互換,進度與工作量不等同 程式設計人員的樂觀主義 人月關係 a.人員和時間的關係 完全可以...

人月神話筆記 焦油坑 人月神話

程式 程式設計系統 程式設計產品 程式設計系統產品 程式設計產品 程式設計系統 程式設計系統產品 美食的烹調需要時間 片刻等待,更多美味,更多享受。good cooking takes time.if you are made to wait,it is to serve you better,an...