ad

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

admin 77 2023-10-25

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

3.3 设计模型度量

软件设计模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要 活动和任务,可作为软件项目工作的基础。 一般情况下,虽然对于结构复杂的软件 系统,在实际上其设计过程经常是在没有设计模型度量的情况下进行的,但是软件 系统的设计模型度量是可以获取的。那么在接下来的几节中,本文将会讨论一些在 计算机软件系统的设计过程中十分常见的设计模型度量。这些常见的设计模型度量 能够极大地提高设计者的设计能力和检查能力,从而可以用来帮助软件系统设计演 化到一个更高质量的水平之上。本文将讨论的常用的设计模型度量有:体系结构设 计度量、构件级设计度量、界面设计度量。

3.3.1 体系结构设计度量

体系结构设计度量是在程序体系机构的层次上对软件系统设计复杂度的测度, 它强调了体系结构的结构和模块的有效性,仅集中于程序体系结构的特征上,而不 需要了解系统某一个特定模块的内部运行情况。

本文将会讨论的是由Card 和Glass 定义的体系结构设计度量,其包括了三个软件 设计复杂度测度,分别是结构复杂度、数据复杂度、系统复杂度。接下来,本文将 一一讨论这三种软件设计复杂度测度。

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

1.结构复杂度

模块i的结构复杂度S(i) 的计算公式定义如下:

S(i)=f₂(i)

其中,f(i) 是模块i的扇出。

2.数据复杂度

模块i 的数据复杂度D(i) 的计算公式定义如下:

D(i)=v(i)/[f2(i)+1]

其中, v(i)是传入传出模块i 的输入输出变量的数目之和。这样,数据复杂度D(i) 就提供了一个模块i 的内部接口的复杂度的指示测度。

3.系统复杂度

模块i 的系统复杂度C(i)定义为结构复杂度S(i)和数据复杂度D(i)之和,其计算公 式定义如下:

C(i)=S(i)+D(i)

根据上述公式,我们可以发现,整个软件系统体系的结构复杂度会随着上述的 任何一个复杂度的值的上升而上升,那么,当任何一个复杂度的值上升时,将会导 致集成和测试的开销也跟着上升的可能性增大。

另外,不同于由Card和Glass定义的体系结构设计度量, Fenton也建议定义了一 些简单的形态度量,这些简单的形态度量可以使得不同的程序体系结构同时使用一 套简单的度量来加以比较。例如,在程序体系结构中,可以定义以下的度量:

size =n+a

其中, n 是节点(模块)的数目, a 是弧(控制线)的数目。

接着,还可以定义控制线的数目和模块的数目的比率为:

r=a/n

弧和节点的比率r能够测度程序体系结构的连接密度,并且对软件体系结构的耦 合提供了一个简单的指示测度。

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

上一篇:《JAVA服务端研发知识图谱》_让你更懂Java后台研发_1.11.1 反射
下一篇:看《Excel人力资源管理实操全流程演练》如何教你做更好的表格_1.3 高效录入数据的技巧
相关文章

 发表评论

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

×