The Role of Domain Expenence in Software Design
IEEE Transactions on Software Engineering - Special issue on artificial intelligence and software engineering
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Software design---cognitive aspects
Software design---cognitive aspects
Principles of survey research: part 1: turning lemons into lemonade
ACM SIGSOFT Software Engineering Notes
Principles of survey research: part 3: constructing a survey instrument
ACM SIGSOFT Software Engineering Notes
Principles of survey research part 2: designing a survey
ACM SIGSOFT Software Engineering Notes
Principles of survey research: part 5: populations and samples
ACM SIGSOFT Software Engineering Notes
Principles of survey research part 4: questionnaire evaluation
ACM SIGSOFT Software Engineering Notes
Principles of survey research part 6: data analysis
ACM SIGSOFT Software Engineering Notes
CSMR '01 Proceedings of the Fifth European Conference on Software Maintenance and Reengineering
Evidence-Based Software Engineering
Proceedings of the 26th International Conference on Software Engineering
Discovering Statistics Using SPSS
Discovering Statistics Using SPSS
Empirical studies of agile software development: A systematic review
Information and Software Technology
Where Is the Proof? - A Review of Experiences from Applying MDE in Industry
ECMDA-FA '08 Proceedings of the 4th European conference on Model Driven Architecture: Foundations and Applications
Systematic literature reviews in software engineering - A systematic literature review
Information and Software Technology
Software Engineering
The effectiveness of pair programming: A meta-analysis
Information and Software Technology
Do Design Patterns Impact Software Quality Positively?
CSMR '08 Proceedings of the 2008 12th European Conference on Software Maintenance and Reengineering
The relation between design patterns and schema theory
Proceedings of the 15th Conference on Pattern Languages of Programs
Systematic literature reviews in software engineering - A tertiary study
Information and Software Technology
Research synthesis in software engineering: A tertiary study
Information and Software Technology
Empirical evidence about the UML: a systematic literature review
Software—Practice & Experience
Using mapping studies as the basis for further research - A participant-observer case study
Information and Software Technology
Six years of systematic literature reviews in software engineering: An updated tertiary study
Information and Software Technology
Preliminary reporting guidelines for experience papers
EASE'09 Proceedings of the 13th international conference on Evaluation and Assessment in Software Engineering
Proceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement
What Do We Know about the Effectiveness of Software Design Patterns?
IEEE Transactions on Software Engineering
Hi-index | 0.00 |
Context: Although the concept of the software design pattern is well-established, there is relatively little empirical knowledge about the patterns that experienced users consider to be most valuable. Aim: To identify which patterns from the set catalogued by the 'Gang of Four' are considered to be useful by experienced users, which ones are considered as not being useful, and why this is so. Method: We undertook a web-based survey of experienced pattern users, seeking information about their experiences as software developers and maintainers. Our sampling frame consisted of the authors of all of the pattern papers that we had identified in a preceding systematic review of studies of patterns. Results: We received 206 usable responses, corresponding to a response rate of 19% from the original sampling frame. Most respondents were involved with software development rather than maintenance. Conclusion: While patterns can provide a means of sharing 'knowledge schemas' between designers, only three patterns were widely regarded as valuable. Around one quarter of the patterns gained very low approval or worse. These observations need to be considered when using patterns; teaching students about the pattern concept; and planning empirical studies about patterns.