论文部分内容阅读
面向构件的软件开发是最近十几年软件工程的研究热点,构件可以从更大粒度上复用软件,提高软件的开发效率和开发周期,减少软件的成本。软件度量可以从软件的外部和内部属性进行度量,而内聚性和耦合性是软件的两个非常重要的内部属性。模块的高内聚可以增强模块内部的凝聚力,使软件容易理解和维护。模块的低耦合可以减少模块间的联系,这样,当一个模块修改时,受到影响的模块就会少,可以减少软件的调试、测试和维护的工作量和成本。软件的内聚性和耦合性度量至今主要是针对面向过程中的模块和面向对象中的类,而对于构件的度量,主要是对构件库等其它因素进行度量,内聚性和耦合性度量很少。然而,内聚性和耦合性又是构件的两个非常重要的内部属性,高内聚、低耦合的构件对面向构件的软件开发是很重要的,可以有效地减少开发周期,降低开发成本,减少维护费用。所以,本文在广东省产学研项目“基于SOA架构的空调电子系统软件研发生产线”的支持下,对软件构件的内聚性和耦合性进行度量。本文提出了构件的内聚性和耦合性度量方法,并对低内聚和高耦合的构件,提出了一些简单的重构高内聚低耦合的构件系统的思想。本文的研究内容和特色为:(1)针对《基于SOA架构的空调电子系统软件研发生产线》的开发,提出了一个构件模型,此构件模型可以有效解决家电开发的软件复用技术。(2)分析了现存的软件内聚性和耦合性度量方法,重点分析了基于图论的度量方法和基于程序切片的度量方法,了解其不足,对其扩展,并应用到构件度量上。(3)分析构件内各要素的关系,给出了构件内元素关系的形式化表示,提出构件的内聚性度量方法;并分析构件间交互关系,给出构件间交互关系的形式化表示,提出构件间的耦合性度量方法。(4)对于低内聚度和高耦合的构件,利用构件内元素之间的关系及构件间的级联关系,对构件进行重构,尽量使构件保持高内聚、低耦合属性。