tags:

views:

134

answers:

6

I am working on a large scale application but only in design. Right now it's all on papers but the problem is I want the ability to say design some classes just the names not implementations and then have a schematic graph that I can form things with those.

And also when I change a particular class name, that it would update the graph wherever it's used, etc.

What program are you using to design large scale software easily?

+2  A: 

We use a bunch of the software Serena produces. Their software is great for design and project planning.

Geoffrey Chetwood
+4  A: 

You may want to check out the Wikipedia entry on UML design tools if you need diagrams for design/archival purposes. I'm using Visio for entity diagrams, but that's about it. Mostly I use a whiteboard for design and a wiki for documentation.

tvanfosson
+2  A: 

Couldn't you just use a piece of paper?

oxbow_lakes
I'm going to get downvoted for this, I know...
oxbow_lakes
Yes, but the paper isn't very flexible in changing stuff. Have to write all over again, and it's really very large app.
Joan Venge
@oxbow: So why would post it if you new it would be DVed?
Geoffrey Chetwood
@Rich B: because it's the best tool?
Javier
@DV - because I think it's the best way. Limitations of space mean that you often come up with more concise and useful diagrams.
oxbow_lakes
+1  A: 

I think our crusty old designers pretty much just use Word docs and white boards.

Scottie T
A: 

As oxbox_lakes, I often uses pen and paper only, or a drawing board.

However, if the design have to be communicated, I use Visio to create design documents.

Klaim
+2  A: 

I don't feel too comfortable with design tools. Besides, I don't think diagrams make thngs any easier to comprehend or maintain. Large projects tend to have huge diagrams, which intimidate any new developer.

At first I start small and don't care about documentation and create a working prototype. When I have an idea of what it's going to look like, I start writing interfaces and/or class stubs, which I try to document thoroughly in the source code. The documentation generated with tools like doxygen give a good overview of the architecture, especially if you enable DOT graphs. This generates small UML diagrams for parts of the project, which often looks quite ok and get the idea to the reader.

The last step is to implement small parts and improve the documentation at the same time, adding code snippets as examples. IMHO this saves me the pain of squeezing everything into a giant diagram-monster and generates decent documentation that people actually use (!!!).

When the very basic functions are complete and documented, I add more features, refactoring the existing code a bit. This takes some time, but I think the results are worth it.

soulmerge