ad

阅读《基于Python语言的软件测试技术》_打开新的知识大门_3.3.2 构件级设计度量

admin 68 2023-10-25

【摘要】 本书摘自《基于Python语言的软件测试技术》一书中第3章,第3节,由张民编著。

3.3.2 构件级设计度量

不同于体系结构设计是集中于程序体系结构的特征上而不考虑特定模块的内部 运行情况,构件级设计度量则是集中于软件构件的内部特性上,并且其包括三个测 度,分别为:模块内聚度量 (cohesion)、 耦合度量 (coupling) 和复杂度度量 (com- plexity)。 这三个测度是在程序的构建级设计的过程中帮助软件工程师判定一个构建 级设计的质量的可靠性和有效性的重要依据。其中,内聚度量用数据切片、数据记 号、胶合记号、超胶合记号、黏度在内的五个概念和测度来定义,耦合度量包含对 数据和控制流耦合、全局耦合和环境耦合这三类模块耦合的度量。

1.内聚度量

内聚度量是指模块内部各成分(元素)之间的连接密度。软件系统的内聚度量 值越高,程序就越容易理解、修改和维护。但是内聚度量其本身是主观的、非形式 化的概念,程序设计人员一般很难客观地评估一个模块的内聚度量。为此,人们开 发出许多度量准则用于量化模块的内聚度量。在本文中,我们主要以Bieman和Ott定 义的一组给模块内聚性提供指示的度量为例进行讨论,该定义以数据切片、数据记 号、胶合记号、超胶合记号、黏度在内的五个概念和测度来定义。

阅读《基于Python语言的软件测试技术》_打开新的知识大门_3.3.2 构件级设计度量

(1)数据切片:对于一个对模块进行回溯走查以找到在影响走查开始处的模块 位置的数据值的定义。另外,对于主要集中在语句和条件上的程序切片,和数据切 片一样,其都是可以加以定义的。

(2)数据记号:对于模块变量的定义,也就是说,为模块定义的变量可以被定 义为模块的数据记号;

(3)胶合记号:对于位于一个或多个数据切片的数据记号的集合的定义。

(4)超胶合记号:对于在一个模块里对每个数据切片都公用的数据记号的定义。

(5)黏度: 一个胶合记号的相对黏度是和它所绑定的数据切片的数目直接成比 例的。

除了上述的5个概念和测度, Bieman和Ott还定义了强功能内聚、弱功能内聚和 附着性这些度量。

附着性是指胶合记号绑定数据切片的相对程度。没有超胶合记号,即没有对所 有输出都有贡献的数据记号,也就是没有一个为所有数据切片所公用的数据记号的 过程具有零强功能内聚;没有胶合记号,即没有对多于一个输出有贡献的数据记 号,也就是在具有多于一个的数据切片的过程中没有对多于一个数据切片公用的数 据记号的过程具有零弱功能内聚和零附着性。对于上述所示的这些内聚度量,其值 的范围都是0~1。当一个过程有多于一个输出且没有展现任何有某一特定的度量指 示的内聚属性时具有值0;当具有值1时,出现强功能内聚和附着性。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 [email protected] 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:阅读《时空大数据与云平台 理论篇》_走进云的世界_2.1 GIS 架构技术发展的四个阶段
下一篇:《基于Kubernetes的容器云平台实战》_了解最新技术前沿_7.1 Kubernetes 架构及组件
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×