The document introduces the Ptidej Tool Suite for reverse engineering, identifying design patterns and defects in object-oriented programs. It provides an example of the Composite design pattern and describes spaghetti code as an example of a design defect. The tool suite was developed by the Ptidej Team at the University of Montreal to help evaluate and enhance the quality of OO programs through the use of design patterns.
4. Example of a Design Defect
Spaghetti Code [Brown 98]
“Ad hoc software structure
makes it difficult to extend and
optimize code”
– Procedural thinking in OO
programming
– Lack of structure : no
inheritance, no reuse, no
polymorphism
– Classes with procedural names
– Long methods process oriented
with no parameters and low
cohesion
– Use of class and global variables
for processing