What's the best way to create a large, complex, flexible UML diagram?
July 26, 2007 10:54 AM Subscribe
I need to spec out a huge, complex application in UML. I'm looking for good tools/techniques to do this in a fluid situation, where there are a ton of classes and new ones will be added all the time.
posted by grumblebee to computers & internet (11 answers total) 3 users marked this as a favorite
My team is going to write a gargantuan program. We need to spec it, and I'm expecting we'll spend two or three weeks on the spec, before writing a line of code. It's vital that the finished spec be clear, rational, utilitarian and scalable. I've gotten to that point before, on other projects, but never on one this large. And my way of getting there is to make many drafts of the spec.
During draft stages, I continually refine the spec by adding new classes, removing redundant ones, etc. So the entire UML chart needs to be revised maybe 50 times before it's done.
The only UML tools I've used are graphical-UI ones, where you have to draw little boxes and drag connectors between them. But the thought of doing that on this project makes me queasy. It would mean continually dragging tons of boxes around to make space for new ones.
Here's what I'd like:
-- a way to create the graph via XML or something similar. The XML could be fed into an application that would spit out a diagram.
-- the XML/outline/whatever is easy to modify, in terms of adding new classes, relationships, etc.
-- when done, we could PRINT the whole diagram as a giant chart which we could hang on the wall. I guess it would have to be on many sheets of paper that we'd tape together. But we'd really like to be able to view the entire model at once.
Does such an app exist? If not, I'm very open to analog approaches. Is there a good method of doing something like this with tons of index cards (one for each class) tacked to the wall or something?
I'm sure other teams have faced this problem. How have the solved it?
We're Mac and Linux based, but if the best solution is PC-only, we could go that way via parallels.
If it matters (and I'm not sure why it would), this will be a web app coded in Actionscript 3.0.