views:

143

answers:

4

Hi,

UML is all the rage now, and software allowing you to draw the various UML diagrams are a dime a dozen.

However, after much googling I was unable to find tools that are capable of drawing structure charts and other structured design diagrams.

Which tools or software allow you to do this?

+1 for free
+1 for runs on linux

Thanks


EDIT: Please, no UML-only tools! I need a tool that supports drawing of structure charts, and understands/ enforces their diagramming syntax, i.e. a modeling tool rather than a drawing tool.

Structure charts (not UML)

+1  A: 

for free and running on linux I'd recommend dia and Umbrello. dia is pretty free-form so even if it doesn't have a template for the structure charts you want, you can still draw them. Also, Eclipse has graphical modelling capabilities. I know there are commercial plugins that do what you want, I don't know if there are free ones, but it might be worth checking the Eclipse plug-ins page (Similar advice would apply to NetBeans).

FrustratedWithFormsDesigner
@FrustratedWithFormsDesi : Thanks for the suggestionsDo umbrello and dia support structure charts? Their websites don't appear to mention it.
bguiz
@FrustratedWithFormsDesi : Also dia appears to be a pure drawing tool - like Visio - or does it enforce UML/structured diagramming syntax?
bguiz
@bguiz: Could you be a little more specific by what you mean by "structure chart" (such as posting a picture)? I can imagine a couple things that could be the same thing as what you're talking about but might not be called the same thing. dia is pretty free-form so you can draw almost anything. Not sure if Umbrello has structure charts but by a different name.
FrustratedWithFormsDesigner
@bguiz: dia is close to visio, but I think there are plugins to generate code from UML diagrams. I've never used them so I can't vouch for them myself.
FrustratedWithFormsDesigner
@FrustratedWithFormsDesi : Structure charts are not UML. They are a type of structured design diagram, not object oriented design. See my edit above!
bguiz
@bguiz: Ok, I've seen it now. I have never seen that kind of chart before, nor do I know a tool on Linux that is free that is designed *specifically* for that. You could still use dia to draw the boxes and arrows and text labels, but it won't do much more than that. Of course, dia supports plugins so a plugin to do more could be written...
FrustratedWithFormsDesigner
+2  A: 

Try out ArgoUML

ArgoUML is a powerful yet easy-to-use interactive, graphical software design environment that supports the design, development and documentation of object-oriented software applications.

Feature highlights as specified in its quick start guide -

  • Open standards: XMI, SVG and PGML
  • 100% Platform independent thanks to the exclusive use of Java
  • Open Source, which allows extending or customizeing.
  • Cognitive features like: reflection-in-action, opportunistic design, comprehension and problem solving
Gopi
@Gopi : Structure charts are not UML, please see my edit above!
bguiz
A: 

I'm sorry that I don't have a tool to offer.

Thank you, I didn't know what a structure chart was until I read your question and this.

The Wikipedia example brought mind mapping tools to mind. They start with a root and allow you to create trees of dependent nodes. Maybe that will work for you, even if they're not called "structure charts".

UML is, by definition, an object-oriented tool. It's the standardization of the approaches championed by Booch, Jacobsen, and Rumbaugh to modeling objects.

Structure charts have a more functional/procedural feel to them. When I was first taught how to program, they talked about top down programming and modular decomposition. It's an old technique that predates object oriented programming's appearance in the mainstream.

duffymo
@duffymo : Thanks for your answer. I know structured design predates OO design - and it is not mainstream anymore. H/w don't really have a choice in the matter.
bguiz
@bguiz - I'm not judging, just posting what I learned for others to consume. It makes perfect sense to me if you're using a functional language instead of OO. I thought that my discussion might explain why you're saying "No UML". You're not being difficult; you're simply not programming with an OO language. Fair? Do consider mind mapping tools - they might be acceptable.
duffymo
@duffymo : Yup, hit the nail on the head there. Thanks for your input!
bguiz
So why not vote the answer up? Costs you nothing....
duffymo
+1  A: 

I'm not aware of any modelling tools still available that support structure charts (or DFDs). Some options below, but a caveat: none will give you, out of the box, all the features you're looking for without some work.

First option is Visio (or similar). You said you want something that enforces diagram syntax. There are SASD templates available for visio (e.g. here) that will guide but won't enforce. Upside is there's little or no set up. Not free, and doesn't run on linux. But you could use yEd which is both.

If you need more enforcement of standards, two further things to consider:

  1. MetaEdit. You'll have to build your own definition of the language - not trivial (~days). However advantage is it'll enforce all the rules you want, so you can tailor as required. Not free (EUR150 for intro license) but does run on linux.

  2. Do you need graphical drawing or just graphical rendering? Marcus Voelter has some examples of generating diagrams from source code (or a DSL) using prefuse or graphviz. Both free, both linux compatible.

sfinnie
bguiz
no worries, glad it's useful. One more thing (at the risk of confusing): you can also provide text input to yEd (graphml) and it'll layout and render too. Its hierarchical auto-layout algorithms are v good. Another advantage is you can then edit, view, print etc. the diagram in the tool - assuming you need that of course.
sfinnie
One more thing: there's a limitation with graphviz in that you can't instruct it to draw edges as straight lines - it'll route them as curves. yEd / prefuse can do straight lines - so will render a diagram closer to SC standards.
sfinnie