Design Patterns as Laws of Quality
Yann-Gaël Gueheneuc (University of Montreal, Canada), Jean-Yves Guyomarc’h (University of Montreal, Canada), Khashayar Khosravi (University of Montreal, Canada) and Hourari Sahraoui (University of Montreal, Canada)
Copyright: © 2007
Software quality models link internal attributes of programs with external quality characteristics. They help in understanding relationships among internal attributes and between internal attributes and quality characteristics. Object-oriented software quality models usually use metrics on classes (such as number of methods) or on relationships between classes (for example coupling) to measure internal attributes of programs. However, the quality of object-oriented programs does not depend on classes solely: it depends on the organisation of classes also. We propose an approach to build quality models using patterns to consider program architectures. We justify the use of patterns to build quality models, describe the advantages and limitations of such an approach, and introduce a first case study in building and in applying a quality model using design patterns on the JHotDraw, JUnit, and Lexi programs. We conclude on the advantages of using patterns to build software quality models and on the difficulty of doing so.