Do Rules and Patterns Affect Design Maintainability?
- 128 Downloads
At the present time, best rules and patterns have reached a zenith in popularity and diffusion, thanks to the software community’s efforts to discover, classify and spread knowledge concerning all types of rules and patterns. Rules and patterns are useful elements, but many features remain to be studied if we wish to apply them in a rational manner. The improvement in quality that rules and patterns can inject into design is a key issue to be analyzed, so a complete body of empirical knowledge dealing with this is therefore necessary. This paper tackles the question of whether design rules and patterns can help to improve the extent to which designs are easy to understand and modify. An empirical study, composed of one experiment and a replica, was conducted with the aim of validating our conjecture. The results suggest that the use of rules and patterns affect the understandability and modifiability of the design, as the diagrams with rules and patterns are more difficult to understand than non-rule/pattern versions and more effort is required to carry out modifications to designs with rules and patterns.
Keywordsdesign patterns and rules maintainability software quality object-oriented design
Unable to display preview. Download preview PDF.
- Agerbo E, Cornils A. How to preserve the benefits of design patterns. In Proc. Conference on Object Oriented Programming, Systems, Languages, and Applications (OOPSLA’98), Vancouver, Canada, Oct. 18–22, 1998, pp.134–143.Google Scholar
- Gamma E, Helm R, Johnson R, Vlissides J. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, 1995.Google Scholar
- Coplien J, Schmidt D. Pattern Languages of Program Design. Addison-Wesley Publishing Company, 1995.Google Scholar
- Pescio C C. Principles versus patterns. IEEE Computer, 1997, 30(9): 130–131.Google Scholar
- Glass R L. Facts and Fallacies of Software Engineering. Addison Wesley, 2003.Google Scholar
- Reibing R. The impact of pattern use on design quality. In Proc. OOPSLA Workshop Beyond Design: Patterns (Mis)used, Tampa Bay, Florida, USA, Oct. 14–18, 2001.Google Scholar
- Bieman J, Jain D, Yang H. OO design patterns, design structure, and program changes: An industrial case study. In Proc. 17th IEEE International Conference on Software Maintenance (ICSM’01), Florence, Italy, Nov. 6–10, 2001, pp.580–589.Google Scholar
- Wendorff P. Assessment of design patterns during software reengineering: Lessons learned from a large commercial project. In Proc. the Fifth European Conference on Software Maintenance and Reengineering (CSMR), Lisbon, Portugal, IEEE Computer Society, March 14–16, 2001, pp.77–84.Google Scholar
- Bezivin J, Jouault F, Touzet D. Principles, standards and tools for model engineering. In Proc. 10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS’2005), Shanghai, China, June 20, 2005, pp.28–29.Google Scholar
- Bieman J, Straw G,Wang H, Munger W, Alexander R. Design patterns and change proneness: An examination of five evolving systems. In Proc. Ninth International Software Metrics Symposium, Sidney, Australia, Sept. 3–5, 2003, pp.40–49.Google Scholar
- Masuda G, Sakamoto N, Ushijima K. Redesigning of an existing software using design patterns. In Proc. the International Symposium on Principles of Software Evolution (ISPSE’00), Kanazawa, Japan, Nov. 1–2, 2000, pp.165–169.Google Scholar
- Elish M. Do structural design patterns promote design stability? In Proc. the 30th Annual International Computer Software and Applications Conference (COMPSAC’06), Chicago, USA, Sept. 17–21, 2006, pp.215–220.Google Scholar
- Ng T H, Cheung S C, Chan W K, Yu Y T. Do maintainers utilize deployed design patterns effectively? In Proc. International Conference on Software Engineering (ICSE), Minneapolis, USA, May 19–27, 2007, pp.168–177.Google Scholar
- Ng T H, Cheung S C, Chan W K, Yu Y T. Work experience versus refactoring to design patterns: A controlled experiment. In Proc. SIGSOFT FSE, Portland, USA, 2006, pp.12–22.Google Scholar
- Ng T H, Cheung S C. Proactive views on concrete aspects: A pattern documentation approach for software evolution. In Proc. 27th Annual International Computer Software and Applications Conference (COMPSAC’03), Dallas, USA, Nov. 3–6, 2003, p.242.Google Scholar
- Garzàs J, Piattini M (eds.). Object-Oriented Design Knowledge: Principles, Heuristics, Best Practices. Idea Group Inc, 2006.Google Scholar
- Martin R. Agile Software Development, Principles, Patterns, and Practices. Prentice Hall, 2003.Google Scholar
- Eysenck M, Keane M. Cognitive Psychology: A Student’s Handbook. Lawrence Erlbaum Associates: Mahwah NJ, 2000, p.540.Google Scholar
- Patig S. A practical guide to testing the understandability of notations. In Proc. Fifth Asia-Pacific Conference on Conceptual Modelling (APCCM 2008), Australia, January 2008, pp.49–55.Google Scholar