How to visualize the design of a program in order to communicate it to others

Posted by Joris Meys on Programmers See other posts from Programmers or by Joris Meys
Published on 2012-10-15T14:06:51Z Indexed on 2012/10/15 15:52 UTC
Read the original article Hit count: 294

I am (re-)designing some packages for R, and I am currently working out the necessary functions, objects, both internal and for the interface with the user. I have documented the individual functions and objects.

So I have the description of all the little parts. Now I need to give an overview of how the parts fit together. The scheme of the motor so to say.

I've started with making some flowchart-like graphs in Visio, but that quickly became a clumsy and useless collection of boxes, arrrows and-what-not. So hence the question:

  • Is there specific software you can use for vizualizing the design of your program
  • If so, care to share some tips on how to do this most efficiently
  • If not, how do other designers create the scheme of their programs and communicate that to others?

Edit: I am NOT asking how to explain complex processes to somebody, nor asking how to illustrate programming logic. I am asking how to communicate the design of a program/package, i.e.:

  • the objects (with key features and representation if possible)
  • the related functions (with arguments and function if possible)
  • the interrelation between the functions at the interface and the internal functions (I'm talking about an extension package for a scripting language, keep that in mind)

So something like this :

enter image description here

But better. This is (part of) the interrelations between functions in the old package that I'm now redesigning for obvious reasons :-)

PS : I made that graph myself, using code extraction tools on the source and feeding the interrelation matrix to yEd Graph Editor.

© Programmers or respective owner

Related posts about design

Related posts about project-management