summaryrefslogtreecommitdiff
path: root/parnas-a-rational-design-process.rst
diff options
context:
space:
mode:
Diffstat (limited to 'parnas-a-rational-design-process.rst')
-rw-r--r--parnas-a-rational-design-process.rst4
1 files changed, 2 insertions, 2 deletions
diff --git a/parnas-a-rational-design-process.rst b/parnas-a-rational-design-process.rst
index c3b8ba3..906ff92 100644
--- a/parnas-a-rational-design-process.rst
+++ b/parnas-a-rational-design-process.rst
@@ -391,9 +391,9 @@ D. 设计并记录模块内部结构
Page 13
-------------------------------------------------------------------------------
-(袁世家 翻, 卢梦茹 改)
+(袁世家 翻, 卢梦茹 改, 李润超 改)
-在其它情况下,我们从描述内部数据结构开始;在有些情况下,这些数据结构由子模块实现(并隐藏)。 对每个访问程序,我们包括一个函数 [10] 或者 LD-关系 [14], 用于描述它对数据结构的影响。对于模块返回给调用者的每个值,我们提供另外一个数学函数,这个数学函数叫做抽象函数,它将数据结构的值映射进返回值。对于每个意外事件,我们描述如何检查它。最后,我们提供一个"验证",论证拥有这些属性的程序将会满足模块说明。
+在其它情况下,我们从描述内部数据结构开始;在有些情况下,这些数据结构由子模块实现(并隐藏)。 对每个访问程序,我们包括一个函数 [10] 或者 LD-关系 [14], 用于描述它对数据结构的影响。对于模块返回给调用者的每个值,我们提供另外一个数学函数,这个数学函数叫做抽象函数,它将数据结构的值映射进返回值。对于每个不想其发生的事件,我们描述如何检查它。最后,我们提供一个"验证",论证拥有这些属性的程序将会满足模块规范。
我们继续分解与设计子模块,直到每个工作任务足够小,小到即便负责这个模块的程序员离开了项目,我们也可以承担放弃它并重新开始的代价。