知识卡片

模型不是系统,验证不可替代

普通读书笔记卡 · 1958.p.3

内容

建模是解决复杂性问题的长路径,但目标始终是构建能解决问题的系统,而不是模型本身——”你不能吃一张画着三明治的图”。书中用一则笑话说明验证的重要性:三人半夜发现厨房着火,消防员浇水灭火后睡觉,工程师算好用水量灭火后睡觉,数学家(或软件架构师)算出解法却兴奋地直接回去睡觉——没有真正灭火。警示”设计完成=问题解决”是常见谬误,唯有构建出可工作的真实系统才算验证。

参考来源

- 位置:《恰如其分的软件架构》第16章《结论》16.3节《解决问题,而不是仅仅对它们建模》(源文件:_epub-src/OEBPS/text00176.html) - 结论依据:原文强调模型不是运行系统,用消防员/工程师/数学家笑话说明只做出理论解法而不实际验证是常见谬误,与"代码肯定正确因为编译通过了"这类软件工程谬论类比。 - 原始内容:我们的目标是构建一个解决问题的系统,而不是构建模型。模型不是运行系统,你也不能吃一张画着三明治的图。……有一个数学家(或许是软件架构师),半夜醒来,发现厨房着火了,他做了一些计算,兴奋地说:"找到啦!找到啦!"然后就回去睡觉了。