Redesigning of an Existing Software using Design Patterns

Author(s): Gou Masuda, Norihiro Sakamoto, Kazuo Ushijima
Venue: IEEE Software
Date: 2001

Type of Experiement: Case Study
Sample Size: 2


Size of Projects: #1 [LOC 2627 ], #2[LOC 4992]
Nubmer of Classes: #1 [25], #2 [49]
Design Patterns Analyzed: Builder, Template Method, Strategy, Factory Method, Abstract Factory, Composite, Visitor, Command

Software Domain: Knowledge Discovery System

In this case study a Decision Tree Learning System is redesigned by utilizing Design Patterns and then compared to the original system. The authors used C & K metrics to perform the comparison. Redesign proceeds by first identifying the “hot-spots” in the application and then identifying design patterns that will amortize the effects of the hot-spot. Eight hot-spots were identified. Eight Different patterns were used for the hot-spots, some applied to multiple hot-spots.

Out of the six C & K metrics WMC(Weighted Methods per Class) and RFC(Response For a Class) had significant differences between the two versions of the software. These two indicate that the overall complexity of software decreased by 5% in the new version that was redesigned with design patterns. The authors claim that WMC and RFC are relevant metrics for evaluating flexibility and extensibility because they take into account that in crease in composition decreases the scope of each class, and composition is the main tool of design patterns.