设计模式对软件可维护性影响定量研究.docVIP

  • 12
  • 0
  • 约4.48千字
  • 约 9页
  • 2018-09-20 发布于福建
  • 举报

设计模式对软件可维护性影响定量研究.doc

设计模式对软件可维护性影响定量研究

设计模式对软件可维护性影响定量研究   摘 要:软件可维护性是面向对象软件系统的重要质量属性之一,合理使用设计模式可以改善软件的可维护性。目前关于设计模式对软件可维护性影响的研究主要停留在定性分析阶段,缺少定量分析。针对这一问题,选取与软件可维护性相关的面向对象度量因子和可维护性指数,结合具体实例,研究了应用设计模式前后度量因子和可维护性指数变化情况,定量分析出设计模式对软件可维护性的影响。   关键词:设计模式;软件可维护性;面向对象度量因子;可维护性指数   DOIDOI:10.11907/rjdk.162142   中图分类号:TP319   文献标识码:A文章编号:1672-7800(2016)012-0095-03   0 引言   设计模式是从众多优秀软件系统中总结出来的专家设计经验,合理使用设计模式可以有效改善软件设计和程序代码质量[1]。目前关于设计模式对软件质量影响的研究更多停留在定性分析阶段,设计模式对软件质量改善的定量研究工作较少。正因如此,设计模式对软件质量影响的利弊在业界备受争议。   软件可维护性是指软件维护的难易程度,图灵奖得主Alan J.Perlis曾说过:在长久运行时间的考验下,每个程序都变得脆弱不堪。软件在开发结束后会经历一段长久的维护期。因此,可维护性是软件系统重要的质量属性之一。   本文定量研究了设计模式对软件可维护性影响,通过精确的数值对使用设计模式前后系统的可维护性进行精确的质量分析。与传统的定性分析相比,定量分析能够更准确、有效地证实设计模式的使用效果,更具说服力。   1 可维护性度量因子选取   为了提供一个定量方法来测量面向对象特征的软件质量属性,Bansiya和Davis提出一种具有层次结构的面向对象设计质量评估方法――QMOOD(Quality Model for Object-Oriented Design)[2],该方法构建了一个面向对象的质量评估模型,提供了设计质量属性(Design Quality Attributes)、面向对象设计属性(OO Design Properties)、面向对象设计因子(OO Design Metrics)和面向对象设计组件(OO Design Components)4个层次和它们之间的三级映射。Ampatzoglou等[3]首次将QMOOD运用到设计模式对软件质量影响的研究中并取得了较好效??。本文采用简化的QMOOD模型,首先针对软件可维护性选取合适的度量因子,然后计算应用某个设计模式前后度量因子值,最后通过度量因子值的变化来定量分析该设计模式对软件可维护性影响。   本文选取CK度量集和可维护性指数作为软件可维护性度量因子。   1.1 CK度量集   在研究面向对象系统时,经典的面向对象度量集――CK度量集应用非常广泛。CK度量集由Chidamber和Kemerer[4]于1994年提出,它奠定了面向对象软件度量的基础。CK度量集中的度量因子与面向对象软件的可维护性密切相关。   CK度量集包含6个基于面向对象类设计的度量因子,从不同角度反映了面向对象系统的设计质量,这6个因子分别是:加权方法计数(Weighted Methods for per Class,WMC)、继承树深度(Depth of Inheritance Tree,DIT)、子类个数(Number Of Children,NOC)、对象类之间的耦合(Coupling Between Object classes,CBO)、对类的响应(Response For a Class,RFC)和方法内聚缺乏度(Lack of Cohesion in Methods,LCOM)。   1.2 可维护性指数   可维护性指数(Maintainability Index,MI)由Oman等[5]于1992年提出,其计算公式如下:   公式(1)中的参数说明如表1所示。   MI的典型取值范围在-100~200,MI值越高说明软件的可维护性越好。   2 设计模式对可维护性影响定量分析   2.1 实验数据   根据设计模式的使用频率和重要性[6],本文选取10种常用的软件设计模式,每种设计模式提供5个程序规模相差不大的实例。对每个实例,提供两个版本的程序代码,使用设计模式的代码版本,简记为DP(Design Pattern),以及不使用设计模式的代码版本,简记为NDP(Non-Design Pattern),这些实例主要来自文献[6]。通过对这些软件可维护性相关度量因子进行计算,研究设计模式使用前后可维护性度量因子变化,将实验数据与开发人员经验进行比对,分析实验结果。   本研究选取的10种常用设计模式有:工厂方法模式(Fa

文档评论(0)

1亿VIP精品文档

相关文档