diff options
author | Hui Lan <lanhui@zjnu.edu.cn> | 2021-07-24 14:30:26 +0800 |
---|---|---|
committer | Hui Lan <lanhui@zjnu.edu.cn> | 2021-07-24 14:30:26 +0800 |
commit | 2ca29592d0aea719d8666916d8bc8f709096cc1a (patch) | |
tree | 1518edb54042e73e63c05be714fa3e31e76bbb5a | |
parent | 808177eb0dbe32d8e01e84de55c1a21b3f415317 (diff) |
parnas-a-rational-design-process.rst: 融入邱嘉吉的翻译 (PDF page 11).
-rw-r--r-- | parnas-a-rational-design-process.rst | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/parnas-a-rational-design-process.rst b/parnas-a-rational-design-process.rst index 0197825..c121562 100644 --- a/parnas-a-rational-design-process.rst +++ b/parnas-a-rational-design-process.rst @@ -371,16 +371,16 @@ B. 设计并记录模块结构 Page 11 ----------------------------------------------------------------------- -(徐焕众 翻) +(徐焕众 翻, 邱嘉吉 改善) -模块指南用来避免重复,避免空隙,实现 **关注点分离 (separation of concerns)** 。 最重要的, 当产品有问题时, 用来帮助维护人员找出对应的模块。 记录设计决策的文档与在维护阶段使用的文档是同一个文档。 +我们需要模块指南去避免重复,避免分歧,实现 **关注点分离 (Separation of Concerns)**,并且最重要的是,当对软件不熟悉的维护人员有一个问题报告时,去帮助他找出必须工作的模块。再一次,我们看到记录设计决定的文档与在维护阶段使用的文档是同一个文档。 -如果我们努力地将信息隐藏 (information hiding) 或 关注点分离 (separation of concerns) 应用于大型系统,那么肯定会产生大量模块。 没有其他结构,只是简单列出模块名的指南,只对熟悉系统的人有帮助。 而我们的模块指南是树形结构的, 它将系统划分成几大模块,并以相同的方式细分每个模块,直到所有模块都非常小为止。 这种文档的例子, 参见[3]。 对这一办法及其好处的讨论,参见[15,6]。 +如果我们勤勉地将信息隐藏 (information hiding) 或关注点分离 (separation of concerns) 应用于大型系统,那么最终肯定会有大量模块。只是简单列出模块名而没有其它结构的指南,只会对熟悉系统的人有帮助。 我们的模块指南有一个树形结构,它将系统划分成少量几个模块,并以相同的方式细分每个模块,直到所有模块都非常小为止。 这种文档的完整例子, 参见[3]。 对这一办法以及其好处的讨论,参见[15,6]。 C. 设计并记录模块接口 ```````````````````````````````````````````````````````````````````````````````` -高效快速的软件生产需要使程序员能独立工作。 模块指南定义了模块职责,但没有给出足够的信息使得每个人能去独立实现模块。 为此,每个模块必须指定精确的接口。 每个模块都必须有 **模块接口规范 (Module Interface Specification)** ; 规范必须正式,并提供每个模块的黑箱图片 (black box picture)。 规范由资深设计师撰写, 并由接口实现者与接口使用者一起评审。 一个模块的接口规范只需包含足够使其他模块的程序员使用该模块功能的信息, 而不需要其他信息。 接口实现者也需要 **模块接口规范** 。· 我们写的文件由两者使用。 +高效快速的软件生产需要使程序员独立工作。模块指南定义了模块职责,但没有给出足够的信息去允许独立实现模块。每个模块必须指定精确的接口。为每个模块写一个**模块接口规范 (Module Interface Specification)** ;规范必须正式,并提供每个模块的黑箱图片。规范由资深设计师撰写,并由接口实现者与会用到这些接口的程序员一起评审。 一个模块的接口规范只需包含足够信息使其他模块的程序员能够用该模块的功能即可,而不需要其他信息。 这也是模块实现者需要的信息。我们产生的文档被两者(其他模块的程序、模块实现者)使用。 Page 12 |