The ability to reengineer object-oriented systems has become a vital matter in today’s software industry. Early adopters of
the object-oriented programming paradigm are now facing the problem of transforming their object-oriented ‘legacy’ systems
into full-fledged frameworks. Dealing with programs exceeding 10,000 lines of badly documented code definitely requires support
from methodologies as well as tools.