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)卓越的设计人员
时间: 2024-11-05 20:31:45