首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

 

1685年的德国线雕画:艾森巴赫的狼人(The Werewolf of Eschenbach)

(资料来源:Courtesy of The Grainger Collection, New York)

在未来的十年内,无论是在技术还是管理方法上,都看不出有任何突破性的进步,能够独自保证在十年内大幅度地提高软件的生产率、可靠性和简洁性。

There is no single development,in either technology or manage-ment technique,which by itself promises even one order-of-magnitude improvement within a decade in productivity,in reliability,in simplicity.

摘要[1]

所有软件活动包括根本任务—— 打造构成抽象软件实体的复杂概念结构,次要任务—— 使用编程语言表达这些抽象实体,在空间和时间限制内将它们映射成机器语言。软件生产率在近年来取得的巨大进步来自对人为障碍的突破,例如硬件的限制、笨拙的编程语言和机器时间的缺乏等等,这些障碍使次要任务实施起来异常艰难。相对根本任务而言,软件工程师在次要任务上花费了多少时间和精力?除非它占了所有工作的9/10,否则即使全部次要任务的时间缩减到零,也不会带来生产率数量级上的提高。

因此,现在是关注软件任务中的必要活动的时候了,也就是那些和构造异常复杂的抽象概念结构有关的部分。我建议:

●   仔细地进行市场调研,避免开发已上市的产品;

●   在获取和制定软件需求时,将快速原型开发作为迭代计划的一部分;

●   有机地更新软件,随着系统的运行、使用和测试,逐渐添加越来越多的功能;

●   不断挑选和培养杰出新生代的概念设计人员。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论