  The design structure of OO software has decisive impact on its quality. The
design must be strongly correlated with quality characteristics like
analyzability, changeability, stability and testability, which are important
for maintaining the system. But due to the diversity and complexity of the
design properties of OO system e.g. Polymorphism, encapsulation, coupling it
becomes cumbersome.
