reverse engineering visual c++ 6.0 source code into UML

M

mary

Hi, for my thesis at the university I'm working on a Visual c++ 6.0
source code, to understand better it I need to extract the UML
graphics: Class Diagram, Object Diagram, Use Case Diagram, State
Diagram, Sequence Diagram, Collaboration Diagram, Activity Diagram.
I've installed Visio 2003 and I'm trying to reverse engineering my
project to get the conceptual design of it. When I start Visio, it
exstracts and decodes correctly the informations from my source code
(there are no error messages); it creates all the static structures
from my VS project (I can see the Static Model in the Explorer Models
Window), but it does not create any diagram for me.
Is it then possible to show relations between all the static
structures? How do I generate various UML diagrams from that? Is there
any way than to just push a button and get a nice comprehensive set of
UML diagrams or I have to pick and choose what classes and
relationships to include and which to leave out? If not could you
suggest me other ways to obtain UML diagrams or other programs about
reverse engineering Visual c++ 6.0 source code into the UML?
Thank you!
 
P

Phlip

mary said:
any way than to just push a button and get a nice comprehensive set of
UML diagrams or I have to pick and choose what classes and
relationships to include and which to leave out?

Tip: Don't UML a program, UML one feature of the program. (This tip is
similar to a AAA Triptik, or a Google Maps Get Directions report, for you
youngsters.)

Put a breakpoint deep inside that feature, run to it, and examine your VC++
callstack. It will be a Sequence Diagram (all squished up). Sketch this
diagram on paper (and leave out boring details like std::string).

Now take all the objects' classes in this diagram, look up their
inheritances, and draw your class diagram. Remember that you can also put
arrows thru this that lead to your target feature.

The point is not to replicate your program exactly in UML, in all its
nauseating detail. The point is to produce a map or a travel guide to the
program, to give you a rough idea what classes and methods support which
features.
 
I

Ivan Vecerina

: Hi, for my thesis at the university I'm working on a Visual c++ 6.0
: source code, to understand better it I need to extract the UML
: graphics: Class Diagram, Object Diagram, Use Case Diagram, State
: Diagram, Sequence Diagram, Collaboration Diagram, Activity Diagram.
: I've installed Visio 2003 and I'm trying to reverse engineering my
: project to get the conceptual design of it. When I start Visio, it
: exstracts and decodes correctly the informations from my source code
: (there are no error messages); it creates all the static structures
: from my VS project (I can see the Static Model in the Explorer Models
: Window), but it does not create any diagram for me.
: Is it then possible to show relations between all the static
: structures? How do I generate various UML diagrams from that? Is there
: any way than to just push a button and get a nice comprehensive set of
: UML diagrams or I have to pick and choose what classes and
: relationships to include and which to leave out?

Many of your questions are specifically about Visio and Microsoft tools.
These are off-topic here, so if you want informed answers, try posting
on an adequate Microsoft-sponsored forum (e.g. see news.microsoft.com).

: If not could you
: suggest me other ways to obtain UML diagrams or other programs about
: reverse engineering Visual c++ 6.0 source code into the UML?

Take a look at www.doxygen.org . While it is designed to take
advantage of specially tagged comments, doxygen is also able to
parse any C++ source tree and to generate a variety of dependency
graphs and class-relationship diagrams. Not using UML notation
(although it has a pseudo-UML mode), but quite useful anyway
to analyze a legacy piece of code...
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,007
Latest member
obedient dusk

Latest Threads

Top