Loading…

Design patterns and change proneness: an examination of five evolving systems

Design patterns are recognized, named solutions to common design problems. The use of the most commonly referenced design patterns should promote adaptable and reusable program code. When a system evolves, changes to code involving a design pattern should, in theory, consist of creating new concrete...

Full description

Saved in:
Bibliographic Details
Main Authors: Bieman, J.M., Straw, G., Wang, H., Munger, P.W., Alexander, R.T.
Format: Conference Proceeding
Language:English
Subjects:
Online Access:Request full text
Tags: Add Tag
No Tags, Be the first to tag this record!
cited_by
cites
container_end_page 49
container_issue
container_start_page 40
container_title
container_volume
creator Bieman, J.M.
Straw, G.
Wang, H.
Munger, P.W.
Alexander, R.T.
description Design patterns are recognized, named solutions to common design problems. The use of the most commonly referenced design patterns should promote adaptable and reusable program code. When a system evolves, changes to code involving a design pattern should, in theory, consist of creating new concrete classes that are extensions or subclasses of previously existing classes. Changes should not, in theory, involve direct modifications to the classes in prior versions that play roles in a design patterns. We studied five systems, three proprietary systems and two open source systems, to identify the observable effects of the use of design patterns in early versions on changes that occur as the systems evolve. In four of the five systems, pattern classes are more rather than less change prone. Pattern classes in one of the systems were less change prone. These results held up after normalizing for the effect of class size - larger classes are more change prone in two of the five systems. These results provide insight into how design patterns are actually used, and should help us to learn to develop software designs that are more easily adapted.
doi_str_mv 10.1109/METRIC.2003.1232454
format conference_proceeding
fullrecord <record><control><sourceid>ieee_6IE</sourceid><recordid>TN_cdi_ieee_primary_1232454</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>1232454</ieee_id><sourcerecordid>1232454</sourcerecordid><originalsourceid>FETCH-LOGICAL-i175t-cc8e027a3e5898193636f616743298b854aa89fb691a47fb442d1fdde9bbf1843</originalsourceid><addsrcrecordid>eNotj91KwzAYQAMquE2fYDd5gdZ8-WvindSpgw1B5vVI2y81sqalKcW9vYK7OnAuDhxC1sByAGYf9pvDx7bMOWMiBy64VPKKLFmhrQJrCnFNFqAEy0AKdUuWKX0zxgy3ckH2z5hCG-ngpgnHmKiLDa2_XGyRDmMfMWJKj3-W4o_rQnRT6CPtPfVhRopzf5pDbGk6pwm7dEduvDslvL9wRT5fNofyLdu9v27Lp10WoFBTVtcGGS-cQGWsASu00F6DLqTg1lRGSeeM9ZW24GThKyl5A75p0FaVByPFiqz_uwERj8MYOjeej5d18QtoBk5S</addsrcrecordid><sourcetype>Publisher</sourcetype><iscdi>true</iscdi><recordtype>conference_proceeding</recordtype></control><display><type>conference_proceeding</type><title>Design patterns and change proneness: an examination of five evolving systems</title><source>IEEE Electronic Library (IEL) Conference Proceedings</source><creator>Bieman, J.M. ; Straw, G. ; Wang, H. ; Munger, P.W. ; Alexander, R.T.</creator><creatorcontrib>Bieman, J.M. ; Straw, G. ; Wang, H. ; Munger, P.W. ; Alexander, R.T.</creatorcontrib><description>Design patterns are recognized, named solutions to common design problems. The use of the most commonly referenced design patterns should promote adaptable and reusable program code. When a system evolves, changes to code involving a design pattern should, in theory, consist of creating new concrete classes that are extensions or subclasses of previously existing classes. Changes should not, in theory, involve direct modifications to the classes in prior versions that play roles in a design patterns. We studied five systems, three proprietary systems and two open source systems, to identify the observable effects of the use of design patterns in early versions on changes that occur as the systems evolve. In four of the five systems, pattern classes are more rather than less change prone. Pattern classes in one of the systems were less change prone. These results held up after normalizing for the effect of class size - larger classes are more change prone in two of the five systems. These results provide insight into how design patterns are actually used, and should help us to learn to develop software designs that are more easily adapted.</description><identifier>ISSN: 1530-1435</identifier><identifier>ISBN: 0769519873</identifier><identifier>ISBN: 9780769519876</identifier><identifier>DOI: 10.1109/METRIC.2003.1232454</identifier><language>eng</language><publisher>IEEE</publisher><subject>Computer science ; Concrete ; Educational institutions ; Laboratories ; Pattern analysis ; Pattern recognition ; Programming ; Size measurement ; Software design ; Software maintenance</subject><ispartof>Proceedings. 5th International Workshop on Enterprise Networking and Computing in Healthcare Industry (IEEE Cat. No.03EX717), 2003, p.40-49</ispartof><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/1232454$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>309,310,780,784,789,790,2058,4050,4051,27925,54555,54920,54932</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/1232454$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc></links><search><creatorcontrib>Bieman, J.M.</creatorcontrib><creatorcontrib>Straw, G.</creatorcontrib><creatorcontrib>Wang, H.</creatorcontrib><creatorcontrib>Munger, P.W.</creatorcontrib><creatorcontrib>Alexander, R.T.</creatorcontrib><title>Design patterns and change proneness: an examination of five evolving systems</title><title>Proceedings. 5th International Workshop on Enterprise Networking and Computing in Healthcare Industry (IEEE Cat. No.03EX717)</title><addtitle>METRIC</addtitle><description>Design patterns are recognized, named solutions to common design problems. The use of the most commonly referenced design patterns should promote adaptable and reusable program code. When a system evolves, changes to code involving a design pattern should, in theory, consist of creating new concrete classes that are extensions or subclasses of previously existing classes. Changes should not, in theory, involve direct modifications to the classes in prior versions that play roles in a design patterns. We studied five systems, three proprietary systems and two open source systems, to identify the observable effects of the use of design patterns in early versions on changes that occur as the systems evolve. In four of the five systems, pattern classes are more rather than less change prone. Pattern classes in one of the systems were less change prone. These results held up after normalizing for the effect of class size - larger classes are more change prone in two of the five systems. These results provide insight into how design patterns are actually used, and should help us to learn to develop software designs that are more easily adapted.</description><subject>Computer science</subject><subject>Concrete</subject><subject>Educational institutions</subject><subject>Laboratories</subject><subject>Pattern analysis</subject><subject>Pattern recognition</subject><subject>Programming</subject><subject>Size measurement</subject><subject>Software design</subject><subject>Software maintenance</subject><issn>1530-1435</issn><isbn>0769519873</isbn><isbn>9780769519876</isbn><fulltext>true</fulltext><rsrctype>conference_proceeding</rsrctype><creationdate>2003</creationdate><recordtype>conference_proceeding</recordtype><sourceid>6IE</sourceid><recordid>eNotj91KwzAYQAMquE2fYDd5gdZ8-WvindSpgw1B5vVI2y81sqalKcW9vYK7OnAuDhxC1sByAGYf9pvDx7bMOWMiBy64VPKKLFmhrQJrCnFNFqAEy0AKdUuWKX0zxgy3ckH2z5hCG-ngpgnHmKiLDa2_XGyRDmMfMWJKj3-W4o_rQnRT6CPtPfVhRopzf5pDbGk6pwm7dEduvDslvL9wRT5fNofyLdu9v27Lp10WoFBTVtcGGS-cQGWsASu00F6DLqTg1lRGSeeM9ZW24GThKyl5A75p0FaVByPFiqz_uwERj8MYOjeej5d18QtoBk5S</recordid><startdate>2003</startdate><enddate>2003</enddate><creator>Bieman, J.M.</creator><creator>Straw, G.</creator><creator>Wang, H.</creator><creator>Munger, P.W.</creator><creator>Alexander, R.T.</creator><general>IEEE</general><scope>6IE</scope><scope>6IL</scope><scope>CBEJK</scope><scope>RIE</scope><scope>RIL</scope></search><sort><creationdate>2003</creationdate><title>Design patterns and change proneness: an examination of five evolving systems</title><author>Bieman, J.M. ; Straw, G. ; Wang, H. ; Munger, P.W. ; Alexander, R.T.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-i175t-cc8e027a3e5898193636f616743298b854aa89fb691a47fb442d1fdde9bbf1843</frbrgroupid><rsrctype>conference_proceedings</rsrctype><prefilter>conference_proceedings</prefilter><language>eng</language><creationdate>2003</creationdate><topic>Computer science</topic><topic>Concrete</topic><topic>Educational institutions</topic><topic>Laboratories</topic><topic>Pattern analysis</topic><topic>Pattern recognition</topic><topic>Programming</topic><topic>Size measurement</topic><topic>Software design</topic><topic>Software maintenance</topic><toplevel>online_resources</toplevel><creatorcontrib>Bieman, J.M.</creatorcontrib><creatorcontrib>Straw, G.</creatorcontrib><creatorcontrib>Wang, H.</creatorcontrib><creatorcontrib>Munger, P.W.</creatorcontrib><creatorcontrib>Alexander, R.T.</creatorcontrib><collection>IEEE Electronic Library (IEL) Conference Proceedings</collection><collection>IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume</collection><collection>IEEE Xplore All Conference Proceedings</collection><collection>IEEE/IET Electronic Library</collection><collection>IEEE Proceedings Order Plans (POP All) 1998-Present</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Bieman, J.M.</au><au>Straw, G.</au><au>Wang, H.</au><au>Munger, P.W.</au><au>Alexander, R.T.</au><format>book</format><genre>proceeding</genre><ristype>CONF</ristype><atitle>Design patterns and change proneness: an examination of five evolving systems</atitle><btitle>Proceedings. 5th International Workshop on Enterprise Networking and Computing in Healthcare Industry (IEEE Cat. No.03EX717)</btitle><stitle>METRIC</stitle><date>2003</date><risdate>2003</risdate><spage>40</spage><epage>49</epage><pages>40-49</pages><issn>1530-1435</issn><isbn>0769519873</isbn><isbn>9780769519876</isbn><abstract>Design patterns are recognized, named solutions to common design problems. The use of the most commonly referenced design patterns should promote adaptable and reusable program code. When a system evolves, changes to code involving a design pattern should, in theory, consist of creating new concrete classes that are extensions or subclasses of previously existing classes. Changes should not, in theory, involve direct modifications to the classes in prior versions that play roles in a design patterns. We studied five systems, three proprietary systems and two open source systems, to identify the observable effects of the use of design patterns in early versions on changes that occur as the systems evolve. In four of the five systems, pattern classes are more rather than less change prone. Pattern classes in one of the systems were less change prone. These results held up after normalizing for the effect of class size - larger classes are more change prone in two of the five systems. These results provide insight into how design patterns are actually used, and should help us to learn to develop software designs that are more easily adapted.</abstract><pub>IEEE</pub><doi>10.1109/METRIC.2003.1232454</doi><tpages>10</tpages></addata></record>
fulltext fulltext_linktorsrc
identifier ISSN: 1530-1435
ispartof Proceedings. 5th International Workshop on Enterprise Networking and Computing in Healthcare Industry (IEEE Cat. No.03EX717), 2003, p.40-49
issn 1530-1435
language eng
recordid cdi_ieee_primary_1232454
source IEEE Electronic Library (IEL) Conference Proceedings
subjects Computer science
Concrete
Educational institutions
Laboratories
Pattern analysis
Pattern recognition
Programming
Size measurement
Software design
Software maintenance
title Design patterns and change proneness: an examination of five evolving systems
url http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-05T01%3A55%3A26IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-ieee_6IE&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=proceeding&rft.atitle=Design%20patterns%20and%20change%20proneness:%20an%20examination%20of%20five%20evolving%20systems&rft.btitle=Proceedings.%205th%20International%20Workshop%20on%20Enterprise%20Networking%20and%20Computing%20in%20Healthcare%20Industry%20(IEEE%20Cat.%20No.03EX717)&rft.au=Bieman,%20J.M.&rft.date=2003&rft.spage=40&rft.epage=49&rft.pages=40-49&rft.issn=1530-1435&rft.isbn=0769519873&rft.isbn_list=9780769519876&rft_id=info:doi/10.1109/METRIC.2003.1232454&rft_dat=%3Cieee_6IE%3E1232454%3C/ieee_6IE%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-i175t-cc8e027a3e5898193636f616743298b854aa89fb691a47fb442d1fdde9bbf1843%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_id=info:pmid/&rft_ieee_id=1232454&rfr_iscdi=true