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 :
بازگشت