其他分享
首页 > 其他分享> > 给编辑的信

给编辑的信

作者:互联网

1992年5月19日
来自:Jack W. Reeves,加利福尼亚州圣何塞
致:Livleen Singh,编辑,C++期刊,华盛顿港,纽约
亲爱的编辑,
感谢您发表我1991年8月27日对软件设计发表评论的信。我同意(原则上,如果不是详细)您的大部分回复。我们都希望找到生产更好软件的方法并帮助我们的行业“成熟为一门学科。”我的问题是,大约十年前我得出的结论是,作为一个行业,我们不了解软件设计的真正含义。今天我更加坚信这一点。我不主张我的观点是正确的,但我发现它在解释为什么有些事情有效而为什么其他事情无效方面非常有用。有一个非常微妙但非常重要的一点被忽略了。这就是做软件设计之间的区别以及真正完成的软件设计是什么。我想详细说明这一点。
请允许我从您回复的最后一部分开始。我声明(提供上下文)“这可能不是一个很好的(软件)设计,但它是一个(软件)设计。”您建议将软件设计与桥梁设计进行比较,并创建了以下陈述“它可能不是一个很好的桥梁,但它确实是一座桥梁。”这里用“桥梁”一词代替“(软件)设计”。这种解释似乎是“你会相信被建造而几乎没有没有设计的东西吗?”显而易见的答案是“当然不是!”然而,这种比较是无效的。对于大多数工业来说看起来有效的这一事实正是我想要表达的重点。
不是改变句子,而是改变上下文。现在的陈述是 “这可能不是一个很好的(桥梁)设计,但它是一个(桥梁)设计。” 你会自愿成为第一个穿过这座桥的人吗?直接的答案可能是 “不,糟糕的设计并不比没有设计好!”稍微思考一下就会表明同样有效的答案是“什么桥?” 在您真正从设计中建造桥梁之前,无需担心穿过它。关键是我们不会从仓促的设计中建造桥梁。在桥梁实际建造之前,设计将大大改进。我们会做分析。我们将建立计算机模型并运行模拟。我们甚至可以建立比例模型并在风洞和其他方式中对其进行测试。在我们建造桥梁之前,我们将尽一切努力确保设计是一个好的设计。我们称这个为“工程”(有时,尽管如此,它仍然不完全正确……塔科马有这座桥)。
回到软件。我们在软件行业也改进我们的设计,只是我们不称之为工程。我们称之为“测试和调试”。软件生命周期的这个阶段需要很长时间。经常需要比计划的时间要长。不幸的是,通常这并不充分,我们变成可交付软件的最终设计仍然没有它们应有的那么好。这似乎是软件生命周期中的一个事实。许多人对此感到遗憾并问为什么我们软件开发人员没有更好地“工程化”我们的设计?有很多的解释,但对我来说从来都没有一个是最明显的——简单的经济学。软件的构建成本非常低。

标签:软件设计,建造,桥梁,编辑,设计,软件,我们
来源: https://www.cnblogs.com/leehsiang/p/15256432.html