views:

206

answers:

5

I'm looking for a diagramming program that can help in designing software, right from the high-level requirements down to the low-level classes and functions.

I've seen a lot of UML programs, but they don't let you design at multiple levels of detail in the same map, like if you could "zoom in" and design the details of a part.

Do programs exist that help in such designing? Programs that let you design at the high-level and low-level on the same map?

+1  A: 

I've used Rational Rose and looks like it fits your needs.

Dan
Links at IBM : http://www-01.ibm.com/software/awdtools/developer/rose/ and http://www.ibm.com/developerworks/rational/products/rose/
Jenko
+1  A: 

You could try BOUML which, although it doesn't allow you to "zoom in", does cover all the aspects of UML, and allows you to view different parts of the design at once (in multiple windows). It is also free, which may or may not make it more desirable for you, and is quite cross platform.

a_m0d
A: 

First of all there are different diagrams for different things you want to express. During software design you dont only use UML, but also HTML sketches and things like that. So choose the right tool for the right task is my advice. Create a folder structure depending on your granularity, one for Frontend sketches (you can place it hiracially), one for class diagrams and so on. So try to establish a process that fullfils all your needs. Often the holy grail programm doenst exist or is not good, just because of the fact that it tries to satisfy to many customers.

Mork0075
+3  A: 

Most of the UML products from large vendors will let you do what you want. "Rational Rose" and "Enterprise Architect" are just two examples that I have used. They both let you mix component, package and class level information in the same view. Both of them provide a way to specify requirements as part of the meta-data to a class and I believe, functions too.

Edit 8/23/09 I just found Topcased. It's free and does many of the same things as Rose & EA. I'm not sure about mixing different diagram types in one view, but you might want to give it a shot. I'm definitely going to investigate using it for my personal projects.

nathan
Enterprise Architect is awesome, specifically the feature to generate Sequence diagrams from code :)
Kishork
As long as you are on Windows platform, of course
Miro A.
Enterprise Architect also runs on Linux. http://www.sparxsystems.com/products/ea/sysreq.html
nathan
+2  A: 

I recommend BOUML. It's a free UML modelling application, which:

  • has a great SVG export support, which is important, because viewing large graphs in vector format, which scales fast in e.g. Firefox, is very convenient (you can quickly switch between "birds eye" view and class detail view),
  • this can work as the "zoom" feature you're asking (I use such SVG exports my self, to be able to quickly overview relation of group of classes, and then zoom in into details of selected one),
  • is extremely fast (fastest UML tool ever created, check out benchmarks),
  • has rock solid C++, Java, PHP and others import support,
  • is multiplatform (Linux, Windows, other OSes),
  • is full featured, impressively intensively developed (look at development history, it's hard to believe that such fast progress is possible).
  • supports plugins, has modular architecture (this allows user contributions, looks like BOUML community is forming up)

The "zoom" feature you're asking can be obtained through SVG export. I use such exports my self in the way you're asking.