- 12
- 0
- 约4.48千字
- 约 9页
- 2018-09-20 发布于福建
- 举报
设计模式对软件可维护性影响定量研究
设计模式对软件可维护性影响定量研究
摘 要:软件可维护性是面向对象软件系统的重要质量属性之一,合理使用设计模式可以改善软件的可维护性。目前关于设计模式对软件可维护性影响的研究主要停留在定性分析阶段,缺少定量分析。针对这一问题,选取与软件可维护性相关的面向对象度量因子和可维护性指数,结合具体实例,研究了应用设计模式前后度量因子和可维护性指数变化情况,定量分析出设计模式对软件可维护性的影响。
关键词:设计模式;软件可维护性;面向对象度量因子;可维护性指数
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
您可能关注的文档
- 论高职教育质量质量标准质量评价与质量管理.doc
- 论高职数学教学中学生思维能力培养与训练.doc
- 论高职数学教育研究理论品位与高职特色.doc
- 论高职文秘专业校内实践教学基地梯级开发.doc
- 论高职文秘专业现代汉语教学存在问题及对策.doc
- 论高职新能源汽车技术专业人才培养体系构建.doc
- 论高职旅游专业文化课教学与人文素质培养.doc
- 论高职旅游管理专业与区域经济融合.doc
- 论高职旅游管理专业加强实践教学必要性及途径.doc
- 论高职机械教学如何培养学生创新能力.doc
- 2025-2026学年初中信息技术(信息科技)七年级下册滇人版(2016)教学设计合集.docx
- 航空业五年分析:2026年低成本航空发展行业报告.docx
- 2026年鸡精行业市场需求发展现状与品牌竞争趋势.docx
- 2026年服务业摄影工作室个性化定制服务报告.docx
- 重庆南开中学2025-2026学年七年级上学期期末语文试题(含答案)(含解析).docx
- 2026年瑜伽馆连锁化扩张模式及课程创新重点.docx
- 2026年商业照明技术突破与市场需求报告.docx
- 量子加密通信产业化2026年数字化转型影响分析.docx
- 2026年跨境物流智能化升级与效率提升研究报告.docx
- 2026年新能源充电桩运营行业商业模式发展趋势报告.docx
最近下载
- 武汉农村商业银行2010年度报告pdf.pdf VIP
- 委托拍卖标的明细标准表格.docx VIP
- 脑膜炎(细菌性)和脑膜炎球菌病的识别、诊断和管理PPT 课件.pptx VIP
- 化脓性脑膜炎诊疗指南.pptx VIP
- 光宝EVO6800变频器说明书.pdf VIP
- DB31_T 1108-2018 监护型救护车配置规范(完整).pdf VIP
- 2025WHO《脑膜炎诊断、治疗和护理指南》解读PPT课件.pptx VIP
- 2025WHO《脑膜炎诊断、治疗和护理指南》解读PPT课件.pptx VIP
- 2025WHO《脑膜炎诊断、治疗和护理指南》解读PPT课件.pptx VIP
- 2025年高考数学试卷(广东)及全详细解析_v2.0.docx VIP
原创力文档

文档评论(0)