(responding toTorsten Hannemann)

> is there any experience about reengineering legacy C code
> by making a transition to OO design and generating a model
> in RoseRT ( Creating a new architecture , too) ?
>
> I want to reuse well running/tested program parts/modules
>  which have been written in C by wrapping them into classes
> or capsules. Other parts probably have to be designed from
> scratch. 
>
> Is it possible to generate a model from the existing C code as
> a starting pint for restructuring ?
 
My experience with legacy code is with Rose rather than RoseRT,
so I don't know how pertinent it would be.

In Rose, when you reverse engineer C code, you won't get much
in the model - a few structs, possibly.

If you create a few artificial classes and assign each C procedure
to a class (probably as a static method, i.e. class method rather
than instance method) then the methods become visible in the 
reverse engineered model - but this won't tell you anything you
don't already know about the structure of the code.  The model
can act as an 'aide-memoir' but little else.

My approach when dealing with legacy code is to sketch out a
model of the ideal - where I want to be heading as I change the 
code.  As long as you don't expend too much effort in sketching
this ideal, the effort is usually well repaid.

Martin Fowler's book on refactoring outlines steps to convert
from procedural to OO code (starting from a refactoring
called "Convert Procedural Design to Objects").  There's a
good chance it won't tell you anything you didn't already
know, but I still keep it handy to jog my memory, and I've 
been refactoring since long before the book was written.

HTH,

Paul Oldfield

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
www.aptprocess.com

any opinions expressed herein are not necessarily those of
Mentors of Cally or the Appropriate Process Movement
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

************************************************************************
* Rose Forum is a public venue for ideas and discussions.
* For technical support, visit http://www.rational.com/support
*
* Post or Reply to: [EMAIL PROTECTED]
* Subscription Requests: [EMAIL PROTECTED]
* Archive of messages:
*    http://www.rational.com/support/usergroups/rose/rose_forum.jsp
* Other Requests: [EMAIL PROTECTED]
*
* To unsubscribe from the list, please send email
*    To: [EMAIL PROTECTED]
*    Subject: <BLANK>
*    Body: unsubscribe rose_forum
*************************************************************************

Reply via email to