From 08bfb4bce6fef50d155cade1208c6a3b6a82bdc1 Mon Sep 17 00:00:00 2001 From: Hui Lan Date: Tue, 11 Jul 2023 09:03:59 +0800 Subject: =?UTF-8?q?=E8=8A=82=E6=A0=87=E9=A2=98=E4=B8=8D=E5=8C=85=E5=90=AB?= =?UTF-8?q?=E8=8B=B1=E6=96=87?= 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(-) diff --git a/parnas-a-rational-design-process.rst b/parnas-a-rational-design-process.rst index a1f11e1..1f9a696 100644 --- a/parnas-a-rational-design-process.rst +++ b/parnas-a-rational-design-process.rst @@ -365,11 +365,11 @@ D. 设计并记录模块内部结构 如果我们无法用易读的高级语言编程,例如,如果没有编译器可用,我们就把伪代码作为文档的一部分。我们发现让最终编码者以外的人来写伪代码,并让两个程序员负责保持程序的这两个版本一致是有用的 [7]。 -E. 设计并且记录使用层次 (uses hierarchy) +E. 设计并且记录使用层次 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -一旦我们知道所有的模块与它们的访问程序,就能设计使用层次 [13] 了。使用层次可以用一个二进制矩阵方便表示,当且仅当程序A的正确性依赖于系统中存在正确的程序B时,位置(A,B)上的条目为真。**使用层次** 定义了子集组成的集合, 这个集合可以通过删除整个程序而无需重写任何程序得到。使用层次对于分阶段交付,故障弱化(fail-soft)系统,与程序族开发是重要的 [12]。 +一旦我们知道所有的模块与它们的访问程序,就能设计使用层次(uses hierarchy) [13] 了。使用层次可以用一个二进制矩阵方便表示,当且仅当程序A的正确性依赖于系统中存在正确的程序B时,位置(A,B)上的条目为真。**使用层次** 定义了子集组成的集合, 这个集合可以通过删除整个程序而无需重写任何程序得到。使用层次对于分阶段交付,故障弱化(fail-soft)系统,与程序族开发是重要的 [12]。 (蓝珲注:本节提到的程序,容易引起混淆,其实就是指模块。二进制矩阵其实描述了模块之间的依赖关系。例如,有1,2,3,4四个模块,3依赖1, 1依赖2, 2依赖4,则{4}, {2,4}, {3,1}. {1,2,4}, {1,3,4},{1,2,3,4} 这些子集都可以各自组成独立程序,因为每个子集都包含了全部依赖,不必依赖与子集外面的东西。) -- cgit v1.2.1