Influence of Design Patterns Application on Quality of IT Solutions NADINA ZAIMOVIC, DZENANA DONKO Department for Computer Science and Informatics Faculty of Electrical Engineering, University of Sarajevo Zmaja od Bosne bb, Kampus Univerziteta, 71000 Sarajevo BOSNIA AND HERZEGOVINA nzaimovic@etf.unsa.ba, ddonko@etf.unsa.ba Abstract: - Previous studies have shown that the design patterns contain or support the principles of Object Oriented Design (OOD). Design that contains the principles of design is considered to be high quality design, and such a design should be flexible and easy to maintain and upgrade, which is very important for business solutions. Quality of design is measured with Object Oriented (OO) metrics, which indicate the weak points of design, such as high dependency, unnecessarily large inheritance hierarchies and similar malicious relations. Simulating change requirements on a simple business software solution, this work analyzes the impact of design patterns in a software quality in the context of changeability and basic features and principles of good OOD. Object Oriented metrics evaluation gives measurement of the impact of the used patterns and shows whether design patterns quantitatively increase software quality. Key-Words: - Object Oriented Design, design patterns, Object Oriented metrics 1 Introduction The development of information technologies and tools that enabled the implementation of almost any user requirements, has led to a shift of focus of research and work from achieving the functionality of software solutions to the quality of design that will provide ease of maintenance and upgrades. Conform to the principles of OOD leads to a flexible solution suitable for the change, but how to achieve that design, without much experience in OOD is still a question. Design principles are focused on the management of dependencies between classes and objects, because high dependency is the main cause for maintenance and upgrade problems of existing systems [3]. With design principles being more theoretical foundation and goal of development, many authors introduced a strategies as a practical guidelines for implementing the principles that primarily lead to a ready to change and maintainable code [1][2]. OOD principles assure quality, flexibility and convenience for software maintenance [3]. At the same time the design that follows strategies described above leads to the solution that is ready for upgrades and modifications [1][2]. Design patterns, as already proven solutions to common design problems, in its class and dependencies structure contain or implement the principles of design [4][9]. That would lead to the conclusion that they contribute to quality of design [8]. However, we still have discussions about whether this is indeed the case and are design patterns themselves make better design quality and remove unnecessary dependencies, reduce the number of classes and change difficulties, or do they lead to greater number of classes and fuzzy code. Application of object-oriented metrics gave unexpected results: the result factors for solution with patterns applied were worse than factors with no patterns applied [4][8]. The question is whether the problem is in the design patterns or metrics themselves. In order to answer this question, this paper approaches general analysis, which includes: • A descriptive analysis of patterns application in implementation of change requirements to the existing simple solution for BuyCar system - a system for selling vehicles at an auto dealership, that will show the impact of design patterns on current and future changes in the system. • Compliance of solution with and without applying patterns to the principles and strategies of design., • Quantitative analysis with OO metric evaluation to solutions. 2 Characteristics, Principles and Strategies of Good Design Analysis of the impact of design patterns in software development solution determines if solution without and with a design pattern applied has the basic qualities of good design, whether it is in line with the Recent Advances in Computer Science and Applications ISBN: 978-960-474-317-9 94