phymath01 函数理论 数学完备性要求对定义域中的每个元素,值域中至少有一个元素与之对应。也就是说,每种可能的输入都必须定

来源: 2011-10-03 14:26:27 [博客] [旧帖] [给我悄悄话] 本文已被阅读:

函数理论

净室开发方法基于数学中的函数理论。一个函数定义了一个从定义域到值域的映谢,定义域中的每个元素都可在值域中找到惟一的元素与之对应。一个特定的程序好似定义了一个从定义域(程序所有可能输入序列的集合)到值域(所有对应于输入的输出集合)的映射。这样一个程序的规范就是一个函数的规范,描述了一个程序的定义域(或输入序列)到值域(或输出空间)的映射。

一个定义明确(well-defined)的函数有如下特性:完备性、一致性和正确性。因为一个程序规范描述了一个函数,所以它必须是完备的、一致的和正确的。

(1)数学完备性要求对定义域中的每个元素,值域中至少有一个元素与之对应。也就是说,每种可能的输入都必须定义,并有一个输出与之对应。

(2)数学一致性要求在值域中最多有一个元素与定义域中的同一元素对应,也就是说,每个输入只能对应一个输出。

(3)相对于需求的规范正确性由定义域专家判断。然而对于一个给定的正确的规范,某项设计及其规范的正确性是可以通过基于函数理论的推理来验证的。

Linger、Mills和Hevner(1986)提出的用于净室软件开发的盒子结构的方法取代了由Linger、Mills和Witt(1997)提出的将数学函数理论应用于软件开发的方法。被明确提出的有三种功能形式的盒子:黑盒、状态盒和明盒。

统计理论

净室测试方法基于统计学。过去的几十年中统计学在工程中获得了广泛的成功和应用。当从经济上或技术上无法测试样本全体时,可以使用统计抽样的方法。如果统计结果没有达到质量目标,生产过程需做必要调整。这种以统计学为坚实基础的从产品度量到生产过程之间的反馈循环,得到了广泛的认可和应用。怎样把这种方法应用于软件呢?在制造业,统计数字在于所生产产品的有形变化;在一些处理过程(如包裹投递)中,统计数学牌预期处理的偏差中,那么在软件中统计数学中如何产生呢?

在软件中,用于采样的全体(population)是所有可能使用情况的集合其中集合中的每个元素代表系统的一种可能运行情况。统计的目的是度量系统正确运行一个样本的能力。因为总体是无限的,完全的测试是不可能的,所以必须利用统计学方法来对系统发生做一个有效的推理。测试过程不论如何扩展,在所有可能的输入序列中都只能算一个很小的集合所有的测试活动只能是无限总体中的抽样。
在净室软件工程中,统计测试既可用于产品检测(单开发过程循环的结果),也可用于过程检测(多开发过程循环的结果)。净室采用增量开发的迭代过程,这样可测量和提高运行的一致性。