DocumentCode
3451667
Title
Redesigning legacy systems into the object-oriented paradigm
Author
Wong, W. Eric ; Li, J. Jenny
Author_Institution
Dept. of Comput. Sci., Texas Univ., Richardson, TX, USA
fYear
2003
fDate
14-16 May 2003
Firstpage
221
Lastpage
229
Abstract
Object-oriented1 languages support many modern programming paradigms such as information hiding, inheritance, polymorphism, and dynamic binding. As a result, software systems implemented in OO languages are more reusable and reliable than those in non-OO. Many legacy software systems were created before OO programming became popular and needed to be redesigned and updated to OO programs. The process of abstracting OO designs from the procedural source code was often done manually or with limited assistance from program structural diagrams. Most reengineering focuses on the functionality of the original program, and the OO redesign often results in a completely new design based on the designers´ understanding of the original program. Such an approach is not sufficient, for it not only takes time and effort for designers to become familiar with the original program, but the approach itself is also mistake-prone due to the human involvement. This paper presents a computer-aided semi-automatic method that abstracts OO designs from the original procedural source code. More specifically, it is a method for OO redesign based on program structural diagrams, visualization, and execution slice. We conducted a case study by applying this method to an inventory management software system. Results indicate that our method can effectively and efficiently abstract an appropriate OO design out of the original C code as well as re-generate part of the system in C++ code based on this new OO design.
Keywords
C++ language; inventory management; object-oriented methods; object-oriented programming; C code; C++ code; OO program; OO redesign; code partition; computer-aided semiautomatic method; execution slice; feature visualization; inventory management software system; object oriented language; procedural source code; procedure call graph; program structural diagram; structural pattern; structure distance; Abstracts; Computer languages; Computer science; Data visualization; Dynamic programming; Humans; Inventory management; LAN interconnection; Object oriented programming; Software systems;
fLanguage
English
Publisher
ieee
Conference_Titel
Object-Oriented Real-Time Distributed Computing, 2003. Sixth IEEE International Symposium on
Print_ISBN
0-7695-1928-8
Type
conf
DOI
10.1109/ISORC.2003.1199257
Filename
1199257
Link To Document