How to get flow chart or UML Activity Diagram for C/C++

Posted on 2011-09-07
Last Modified: 2012-05-12
Have a C++ program and want to get a flow chart or UML Activity Diagram to improve algorithm and understand the logic. Does any guru know any decent tools to do that?
Question by:jl66
  • 2
  • 2
  • 2
  • +1

Accepted Solution

LeeeRussell earned 167 total points
ID: 36495904
I've used Crystal Flow to do this:

I thought it was pretty good.

Assisted Solution

theKashyap earned 167 total points
ID: 36498218
Licensed or free?
Licenced: Rational Rose is big hit. Other option is RSM (Rational Software Modeler, it's a licensed eclipse plugin from Rational).
Free: You'll find plenty of UML plugins for eclipse.

I find Rose to be the best, perhaps because I've been using it all my life, but with eclipse plugins I've seen that if you don't have enough processing power it can be irritatingly slow.

How does it improve the algorithm? Well, just documenting it doesn't "improve" the algorithm as such, it gives you a better visual grip / understanding of an algorithm. You have to know how to improve it to improve it. The simplest example that comes to mind is breaking out of a loop when you find what you're looking for.

Author Comment

ID: 36499257
Thank both of you for the recommendations. Just want to get the ideas from your gurus. If the paid version is worth the price, definitely buy it.
Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

LVL 18

Assisted Solution

JoseParrot earned 166 total points
ID: 36499269
I agree to theKashyap hint: Rational is the number one.
By the free side, I recommend StarUML. I can't say if it is the number one, but I use it and like a lot.
It has also a programming language generator (C++, C#, java) and plugins to MS Office (Excel, Word, Powerpoint). The graphical interface is very intuitive.


Expert Comment

ID: 36501179
Maybe I've misunderstood the question, but I recommended Crystal Flow because I thought the questioner wanted software that would produce UML documents from pre-existing code.  Does Rational Rose do this?  My use of it is limited, but I didn't think it did?

Expert Comment

ID: 36504439
"...I thought the questioner wanted software that would produce UML documents from pre-existing code.  Does Rational Rose do this?  My use of it is limited, but I didn't think it did? "
Yes and no.
Yes, it generates "UML documents". I've done with java and c++ at least. It's called reverse engg in Rose.
No, it doesn't generate "flow diagram", which I guess is what you meant. :)
(same goes for RSM though I've never done it myself)
I suppose Crystal Flow can generate flow diagrams? Good to know!

Author Closing Comment

ID: 36520202
Thanks a lot for the tips and links. Actually I need all.

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Templates For Beginners Or How To Encourage The Compiler To Work For You Introduction This tutorial is targeted at the reader who is, perhaps, familiar with the basics of C++ but would prefer a little slower introduction to the more ad…
One of Google's most recent algorithm changes affecting local searches is entitled "The Pigeon Update." This update has dramatically enhanced search inquires for the keyword "Yelp." Google searches with the word "Yelp" included will now yield Yelp a…
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.
The viewer will learn how to use the return statement in functions in C++. The video will also teach the user how to pass data to a function and have the function return data back for further processing.

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now