1. 程式人生 > >第十六章 沒有銀彈 ---軟件工程中的根本和次要問題

第十六章 沒有銀彈 ---軟件工程中的根本和次要問題

測試 未來 接收 增長 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)卓越的設計人員

第十六章 沒有銀彈 ---軟件工程中的根本和次要問題