Extracting Components from Object-Oriented System: A Transformational Approach

Eunjoo LEE  Woochang SHIN  Byungjeong LEE  Chisu WU  

IEICE TRANSACTIONS on Information and Systems   Vol.E88-D   No.6   pp.1178-1190
Publication Date: 2005/06/01
Online ISSN: 
DOI: 10.1093/ietisy/e88-d.6.1178
Print ISSN: 0916-8532
Type of Manuscript: PAPER
Category: Software Engineering
object-oriented system,  component,  metrics,  reengineering,  

Full Text: PDF>>
Buy this Article

The increasing complexity and shorter life cycle of software have made it necessary to reuse software. Object-oriented development has not facilitated extensive reuse of software and it has become difficult to manage and understand modern object-oriented systems which have become very extensive and complex. However, components, compared with objects, provide more advanced means of structuring, describing and developing systems, because they are more coarse grained and have more domain-specific aspects than objects. In addition, they are also suited to a current distributed environment due to their reusability, maintainability and granularity. In this paper, we present a process of extracting components from object-oriented systems. We define some static metrics and guidelines that can be applied to transform object-oriented systems into component-based systems. Our process consists of two parts. First, basic components are created based on composition and inheritance relationships between classes. Second, the intermediate system is refined into a component-based system with our proposed static metrics and guidelines.