u = l * v;
m = 32;
f = m + v;
返回页首
解决方案域
我们的设计目标是能够按照变量和约束条件表示上述关系。
约束条件将在变量之间指定和实施某种特定关系。变量保留值并可能参与一个以上的约束条件。例如:add(x, y, z) 指定变量 x、y 和 z 的相互关系为 x + y = z;multiply(x, y, z) 指定关系 x*y = z;constant(5, x) 指定 x 的值必须为 5。我们将把上述约束条件组合起来,以构成能够表示整个方程式的约束网络。
我们创建了两个变量 — c 和 f,并且用我们的约束网络将它们链接在一起。
variable c = new variable();
variable f = new variable();
cfconverter(c, f);
cfconverter 是摄氏-华氏网络。该网络按如下方式生成。
variable u = new variable();
variable k = new variable();
constant c1 = new constant(9, k);
multiply m1 = new multiply(c, k, u);
variable l = new variable();
constant c2 = new constant(5, l);
variable v = new variable();
multiply m2 = new multiply(v, l, u);
variable m = new variable();
constant c3 = new constant(32, m);
add a = new add(v, m, f);
变量 u、v、k、l、m 使用 add、multiply 和 constant 这些约束条件(对应于我们在前面分解该方程式的方式)相关联。在这样的网络上,如果我们现在可以设置 c 的值,则我们应当能够看到 f 的值被计算出来;反之亦然。
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/