From 3213d4b498717eea520c414739cea7639dbc349b Mon Sep 17 00:00:00 2001 From: Hui Lan <lanhui@zjnu.edu.cn> Date: Wed, 12 Jul 2023 10:40:39 +0800 Subject: =?UTF-8?q?=E8=9E=8D=E5=85=A5=E6=BD=98=E6=98=8C=E8=97=A9=E3=80=81?= =?UTF-8?q?=E5=BE=90=E5=B9=BF=E5=B9=B3=E7=9A=84=E6=94=B9=E8=BF=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- parnas-a-rational-design-process.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'parnas-a-rational-design-process.rst') diff --git a/parnas-a-rational-design-process.rst b/parnas-a-rational-design-process.rst index 0f8de8a..55f32c9 100644 --- a/parnas-a-rational-design-process.rst +++ b/parnas-a-rational-design-process.rst @@ -513,9 +513,9 @@ VII. 现在, 我们如何佯装理想的过程? (Page 19) -我们几年前为演示理想过程所写的软件需求文档,可作为这个过程取得成功的一个例证 [9]。通常,人们会假设需求文件是在编码前产生的,之后就不会再被使用了。 然而,事实证明并非如此。满足该需求文档的软件的原始版本,现在仍在修订。软件每次更改后,负责测试的机构大量使用这个文档来选择他们要做的测试。当需要新的改变时,需求文档被用于描述什么必须改变、什么不能改变。软件投入使用后,这个过程中产生的第一份文档一直被用了很多年。明确的消息是,如果文档精心制作,它将在很长时间都有用。反过来说,如果文档将被广泛使用,那么就值得把它写好。 +我们几年前为演示理想过程所写的软件需求文档,可作为这个过程取得成功的一个例证 [9]。通常,人们会假设需求文件是在编码前产生的,之后就不会再被使用了。 然而,事实证明并非如此。满足该需求文档的软件的原始版本,现在仍在修订。软件每次更改后,负责测试的机构大量使用这个文档来选择他们要做的测试。当需要新的改变时,需求文档被用于描述什么必须改变、什么不能改变。软件投入使用后,这个过程中产生的第一份文档一直被用了很多年。明确的消息是,如果精心制作文档,它将在很长时间都有用。反过来说,如果文档将被广泛使用,那么就值得把它制作好。 -成为一个理性的设计师很难,而且我们可能永远做不到。在我们尝试遵循这个过程当中,我们常发现在一些地方继承了一个没有明确理由的设计决策。 一个例子是我们要用的等式中的常数。当我们询问常量的推导时, 我们发现,要么推导不存在,要么推导无效。当进一步追问时,我们被告知做这个决策是“因为它起作用 ( **because it works** )”。在这种情况下,设计师可以立一个研究项目去找出为什么它起作用, 或简单地“与它友好相处 ( **Get On With It**) ”。为我们的工作付钱的人已经把 **GOWI** 作为对许多此类问题的标准回答,并且我们不认为真正的工作会有所不同。然而, 每当我们把“因为它们起作用”作为决策理由时,我们将记录这个坦诚的理由,而非误导以后的软件维护者去认为我们那么做有什么深刻的、哲学的理由。 +成为一个理性的设计师很难,而且我们可能永远做不到。在我们尝试遵循这个过程当中,我们常发现在一些地方继承了一个没有明确理由的设计决策。 一个例子是我们要用的等式中的常数。当我们询问常量的推导时, 我们发现,要么推导不存在,要么推导无效。当进一步追问时,我们被告知做这个决策是“因为它有效 ( **because it works** )”。在这种情况下,设计师可以立一个研究项目去找出为什么它起作用, 或简单地“不要纠结继续吧 ( **Get On With It**) ”。为我们的工作付费的人已经把 **GOWI** 作为对许多此类问题的标准回答,并且我们不认为真正的工作会有所不同。然而, 每当我们把“因为它有效”作为决策理由时,我们将记录这个坦诚的理由,而非误导以后的软件维护者去认为我们那么做有什么深刻的、哲学的原因。 (Page 20) -- cgit v1.2.1