Independence of module is bad and coupling between modules is always high in legacy systems written in conventional procedural languages. Transforming legacy systems into equivalent object-oriented systems makes software more maintainable,reliable and understandable. However,there is no concept directly corresponding to objects in non object-oriented systems. A lot of object-extraction approaches for extracting objects from legacy systems into object-oriented systems. The paper did a lot of in-depth research about object-extracting approach on module features. An subprogram-type graph is introduced to represent the relation between subprograms and types in programs. Several module cohesion metrics are discussed,and the effects of adding a subprogram to or deleting a subprogram from a module are analyzed based on module cohesion. An object-extracting algorithm is proposed.
|