Information and Software Technology
Hi-index | 0.00 |
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.