OO design patterns, design structure, and program changes: an industrial case study

J. Bieman, Dolly Jain, Helen J. Yang
{"title":"OO design patterns, design structure, and program changes: an industrial case study","authors":"J. Bieman, Dolly Jain, Helen J. Yang","doi":"10.1109/ICSM.2001.972775","DOIUrl":null,"url":null,"abstract":"A primary expected benefit of object-oriented (OO) methods is the creation of software systems that are easier to adapt and maintain. OO design patterns are especially geared to improve adaptability, since patterns generally increase the complexity of an initial design in order to ease future enhancements. For design patterns to really provide benefit, they must reduce the cost of future adaptation. The evidence of improvements in adaptability through the use of design patterns and other design structures consists primarily of intuitive arguments and examples. There is little empirical evidence to support claims of improved flexibility of these preferred structures. In this case study, we analyze 39 versions of an evolving industrial OO software system to see if there is a relationship between patterns, other design attributes, and the number of changes. We found a strong relationship between class size and the number of changes-larger classes were changed more frequently. We also found two relationships that we did not expect: (1) classes that participate in design patterns are not less change prone-these pattern classes are among the most change prone in the system, and (2) classes that are reused the most through inheritance tend to be more change prone. These unexpected results hold up after accounting for class size, which had the strongest relationship with changes.","PeriodicalId":160032,"journal":{"name":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","volume":"4 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2001-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"66","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings IEEE International Conference on Software Maintenance. ICSM 2001","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICSM.2001.972775","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 66

Abstract

A primary expected benefit of object-oriented (OO) methods is the creation of software systems that are easier to adapt and maintain. OO design patterns are especially geared to improve adaptability, since patterns generally increase the complexity of an initial design in order to ease future enhancements. For design patterns to really provide benefit, they must reduce the cost of future adaptation. The evidence of improvements in adaptability through the use of design patterns and other design structures consists primarily of intuitive arguments and examples. There is little empirical evidence to support claims of improved flexibility of these preferred structures. In this case study, we analyze 39 versions of an evolving industrial OO software system to see if there is a relationship between patterns, other design attributes, and the number of changes. We found a strong relationship between class size and the number of changes-larger classes were changed more frequently. We also found two relationships that we did not expect: (1) classes that participate in design patterns are not less change prone-these pattern classes are among the most change prone in the system, and (2) classes that are reused the most through inheritance tend to be more change prone. These unexpected results hold up after accounting for class size, which had the strongest relationship with changes.
OO设计模式、设计结构和程序更改:一个工业案例研究
面向对象(OO)方法的主要预期好处是创建更容易适应和维护的软件系统。OO设计模式特别适合于提高适应性,因为模式通常会增加初始设计的复杂性,以便于将来的增强。为了让设计模式真正提供好处,它们必须减少未来调整的成本。通过使用设计模式和其他设计结构来提高适应性的证据主要由直观的论证和例子组成。几乎没有经验证据支持这些首选结构提高灵活性的说法。在本案例研究中,我们分析了39个不断发展的工业面向对象软件系统的版本,以查看模式、其他设计属性和更改数量之间是否存在关系。我们发现班级规模和变更次数之间有很强的关系——班级规模越大,变更次数就越频繁。我们还发现了两个我们没有预料到的关系:(1)参与设计模式的类不太容易发生变化——这些模式类是系统中最容易发生变化的类之一;(2)通过继承重用最多的类往往更容易发生变化。在考虑了班级规模之后,这些意想不到的结果站得住脚,班级规模与变化的关系最为密切。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信