Abstract
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.
Similar content being viewed by others
References
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.
Gamma E, Helm R, Johnson R, Vlissides J. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, 1995.
Coplien J, Schmidt D. Pattern Languages of Program Design. Addison-Wesley Publishing Company, 1995.
Garzás J, Piattini M. An ontology for micro-architectural design knowledge. IEEE Software, 2005, 22(2): 28–33.
Pescio C C. Principles versus patterns. IEEE Computer, 1997, 30(9): 130–131.
Wiederhold G. What is your software worth? Communications of the ACM, 2006, 49(9): 65–75.
Glass R L. Facts and Fallacies of Software Engineering. Addison Wesley, 2003.
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.
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.
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.
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.
Selic B. The pragmatics of model-driven development. IEEE Software, 2003, 20(5): 19–25.
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.
Prechelt L, Unger B, Tichy W F, Brössler P, Votta L G. A controlled experiment in maintenance comparing design patterns to simpler solutions. IEEE Transactions on Software Engineering, December, 2001, 27(12): 1134–1144.
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.
Vokàc M. Defect frequency and design patterns: An empirical study of industrial code. IEEE Transactions on Software Engineering, December 2004, 30(12): 904–917.
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.
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.
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.
Prechelt L, Philippsen M, Tichy W F. Two controlled experiments assessing the usefulness of design pattern documentation in program maintenance. IEEE Transaction of Software Engineering, 2002, 28(6): 595–606.
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.
Ng T H, Cheung S C. Enhancing class commutability in the deployment of design patterns. Information & Software Technology, 2005, 47(12): 797–804.
Garzàs J, Piattini M (eds.). Object-Oriented Design Knowledge: Principles, Heuristics, Best Practices. Idea Group Inc, 2006.
Martin R. Agile Software Development, Principles, Patterns, and Practices. Prentice Hall, 2003.
Eysenck M, Keane M. Cognitive Psychology: A Student’s Handbook. Lawrence Erlbaum Associates: Mahwah NJ, 2000, p.540.
Genero M, Moody D, Piattini M. Assessing the capability of internal metrics as early indicators of maintenance effort through experimentation. Journal of Software Maintenance and Evolution: Research and Practice, 2005, 17(3): 225–246.
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.
Dong J. Adding pattern related information in structural and behavioral diagrams. Information and Software Technology, 2004, 46(5): 293–300.
Author information
Authors and Affiliations
Corresponding author
Additional information
This research has been partially supported by the following projects: MECENAS (Junta de Comunidades de Castilla-La-Mancha, Consejeria de Educacion y Ciencia) under Grnat No. PBI06–0024, ESFINGE (Dirección General de Investigación of the Ministerio de Educación y Ciencia) under Grant No. TIN2006–15175–C05–05 and IDONEO (Junta de Comunidades de Castilla-La-Mancha, Consejeria de Educacion y Ciencia) under Grant No. PAC08–0160–6141.
Rights and permissions
About this article
Cite this article
Garzás, J., García, F. & Piattini, M. Do Rules and Patterns Affect Design Maintainability?. J. Comput. Sci. Technol. 24, 262–272 (2009). https://doi.org/10.1007/s11390-009-9222-7
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11390-009-9222-7