Recording the reasons for design decisions
ICSE '88 Proceedings of the 10th international conference on Software engineering
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Pattern-oriented software architecture: a system of patterns
Pattern-oriented software architecture: a system of patterns
Softwear Reliability
Object Oriented Design Measurement
Object Oriented Design Measurement
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
JIAD: a tool to infer design patterns in refactoring
PPDP '04 Proceedings of the 6th ACM SIGPLAN international conference on Principles and practice of declarative programming
Facilitating software extension with design patterns and Aspect-Oriented Programming
Journal of Systems and Software
Design Pattern Detection by Using Meta Patterns
IEICE - Transactions on Information and Systems
A methodology to assess the impact of design patterns on software quality
Information and Software Technology
Design pattern alternatives: what to do when a GoF pattern fails
Proceedings of the 17th Panhellenic Conference on Informatics
Hi-index | 0.00 |
This paper presents a kind of software design measures that help us to determine the application of Gang-Of-Four design patterns to refactoring processes. Refactoring using design patterns is one of the promising approaches to improve the designs during development activities, and a crucial issue is to identify when, where and which patterns could be applied. We analyzed several actual object-oriented designs of low quality needed to be refactored and focus on the characteristics of conditional statements of methods and inheritance structures, which seemed to cause the low quality. We provide 20 measures to objectively detect these characteristics in object-oriented designs. These measures express the complexity of branching execution in conditional statements and the strength of the dependency among the sub classes in the inheritance trees. Designers can be guided to recognize when, where and which design patterns should be used, in order to refactor their designs of low quality, by calculating these measures. We apply our approach to the low-quality design of the drawing editor that was produced by a novice designer and assess the effectiveness of our measures.