第十六章 沒有銀彈 ---軟件工程中的根本和次要問題
阿新 • • 發佈:2017-09-26
測試 未來 接收 增長 ada tail 進行 tro 困難
http://blog.csdn.net/zuochao_2013/article/details/73614151
在未來的十年內,無論是在技術還是管理方法上,都看不出有任何突破性的進步,能夠保證在十年內大幅度地提高軟件的生產率、可靠性和簡潔性。
一、摘要
所有軟件根本任務:打造構成抽象軟件實體的復雜概念結構
次要任務:使用編程語言表達這些抽象實體,在空間和時間限制下將它們映射成機器語言
二、根本困難
軟件開發中困難的部分是規格說明、設計和測試這些概念上的結構,而不是對概念進行表達和實現逼真程度進行驗證。
(1)復雜度
(2)一致性
(3)可變性
(4)不可見性
三、解決次要問題的突破
(1)高級語言
(2)分時
(3)統一編程環境
四、銀彈的希望
(1)Ada和其他高級編程語言
(2)面向對象編程
(3)人工智能
(4)專家系統:包含歸納推論引擎和規則基礎的程序,它接收輸入數據和假設條件,通過從基礎規則推導邏輯結果,提出結論和建議,向用戶展示前因後果,並解釋最終的結果。
(5)“自動”編程
(6)圖形化編程
(7)程序驗證
(8)環境和工具
(9)工作站
五、針對概念上根本問題的有前途的方法
(1)購買和自行開發
(2)需求精煉和快速原型
(3)增量開發---增長,而非搭建系統
(4)卓越的設計人員
第十六章 沒有銀彈 ---軟件工程中的根本和次要問題