Design Patterns and Design Quality
Autor: | Liguo Yu, Srini Ramaswamy, Yingmei Li |
---|---|
Rok vydání: | 2017 |
Předmět: |
Computer science
business.industry media_common.quotation_subject 05 social sciences 020207 software engineering 02 engineering and technology Empirical research User experience design Human–computer interaction 0502 economics and business Software design pattern 0202 electrical engineering electronic engineering information engineering Quality (business) business 050203 business & management media_common |
Zdroj: | International Journal of Secure Software Engineering. 8:53-81 |
ISSN: | 1947-3044 1947-3036 |
Popis: | Design patterns are reusable software design solutions to object-oriented programs. Since the initial introduction of the 23 well-known design patterns in 1995, more and more patterns have been identified and utilized in the software industry. The benefits of applying design patterns include reducing development cost, improving code quality, and standardizing the integration and maintenance processes. Therefore, using design patterns is becoming a common practice to build both commercial software and open-source products. Although most design patterns are considered creative solutions to some difficult design problems, not all of them are necessarily the best with respect to all different software quality measures, such as program complexity. This paper studies 13 commonly employed design patterns in software industry. First, these 13 patterns are analyzed theoretically about their design complexity in comparison to the conventional solutions. Second, empirical studies are performed on five open-source Java projects to investigate the correlations between design patterns and class structural quality. Finally, these 13 design patterns are evaluated by software programmers who have experience of using all of them. Overall, this study finds that although some design patterns are considered useful, creative, and significant compared to conventional solutions based on user experience, pattern-involved classes are more complex than pattern-free classes, both theoretically and empirically. The authors accordingly recommend a balanced approach to using design patterns: design quality, cost, development time, and product quality should all be considered, when design patterns are utilized. |
Databáze: | OpenAIRE |
Externí odkaz: |