From c35c57e5fcf087ba1d314927cb289e2ec70754ec Mon Sep 17 00:00:00 2001 From: Hui Lan Date: Sun, 17 Jul 2022 16:43:58 +0800 Subject: =?UTF-8?q?parnas-a-rational-design-process.rst:=20=E8=9E=8D?= =?UTF-8?q?=E5=85=A5=E7=9B=9B=E6=99=B6=E6=99=B6=E7=9A=84=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=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 | 6 +++--- 1 file changed, 3 insertions(+), 3 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 be3fdf5..212057d 100644 --- a/parnas-a-rational-design-process.rst +++ b/parnas-a-rational-design-process.rst @@ -374,7 +374,7 @@ Page 12 - 意外事件 (undesired events) 的定义(禁止发生的事件); -许多方面,该模块规范类似需求文件。 但是,模块规范所使用的符号与结构更适合这个阶段我们所关注的软件对软件的接口。 +许多方面,该模块规约类似需求文件。 但是,模块规约所使用的符号与结构更适合这个阶段我们所关注的软件对软件的接口。 已发表的例子和解释包括 [11],[2],[1],[5]。 @@ -392,11 +392,11 @@ Page 13 (袁世家 翻, 卢梦茹 改, 李润超 改) -在其它情况下,我们从描述内部数据结构开始;在有些情况下,这些数据结构由子模块实现(并隐藏)。 对每个访问程序,我们包括一个函数 [10] 或者 LD-关系 [14], 用于描述它对数据结构的影响。对于模块返回给调用者的每个值,我们提供另外一个数学函数,这个数学函数叫做抽象函数,它将数据结构的值映射进返回值。对于每个意外事件,我们描述如何检查它。最后,我们提供一个"验证",论证拥有这些属性的程序将会满足模块规范。 +在其它情况下,我们从描述内部数据结构开始;在有些情况下,这些数据结构由子模块实现(并隐藏)。 对每个访问程序,我们包括一个函数 [10] 或者 LD-关系 [14], 用于描述它对数据结构的影响。对于模块返回给调用者的每个值,我们提供另外一个数学函数,这个数学函数叫做抽象函数,它将数据结构的值映射进返回值。对于每个意外事件,我们描述如何检查它。最后,我们提供一个"验证",论证拥有这些属性的程序将会满足模块规约。 我们继续分解与设计子模块,直到每个工作任务足够小,小到即便负责这个模块的程序员离开了项目,我们也可以承担放弃它并重新开始的代价。 -如果我们无法用易读的高级语言编程,例如,如果没有编译器可用,我们就把伪代码作为文档的一部分。我们发现让伪代码由不是最终编码者的人写,并让两个程序员负责保持程序的这两个版本一致是有用的 [7]。 +如果我们无法用易读的高级语言编程,例如,如果没有编译器可用,我们就把伪代码作为文档的一部分。我们发现让最终编码者以外的人来写伪代码,并让两个程序员负责保持程序的这两个版本一致是有用的 [7]。 E. 设计并且记录使用层次 (uses hierarchy) ```````````````````````````````````````````````````````````````````````````````` -- cgit v1.2.1