Saturday, November 15, 2008

A digression on UML modeling

What do you need UML diagrams for?

UML is a language and a language is used for communication. This is also true for programming languages because through them you are communicating a compiler what you want to achieve. So anyway, the communication is the goal.

Who do you communicate with? This depends, really. For one, you may be trying to describe your application's structure in technical documentation. This means you're communicating with people that will require knowledge on your application in the future. Then there are design meetings. You can use UML to express your thoughts more clearly than in regular spoken language. Once other people get your idea, they can discuss, suggest changes and modify your diagrams.

How accurate should the diagrams be? This also depends. While writing a science book you would want to be a little more accurate than when making notes for your next grocery shopping. But this doesn't make your shopping list worse than a science book in terms of communication. It's accurate ENOUGH.

What I'm driving at is that you only need to make your UML diagrams (or any other diagrams) as good as it gets to communicate your ideas to your audience. In my opinion, once this is done, diagrams can be disposed. Well if you need them for future reference, that's fine, but treat them as a way of communication. As analogy I might ask you if you keep transcript of every meeting.

Finally, the language itself. Do you really need UML? Think twice before you use it, because maybe a few boxes connected with arrows will tell your audience more than an elaborate UML diagram. Not everyone can tell the difference between solid and dashed line, but that doesn't make them less able to comprehend your ideas.

DotNetKicks Image

No comments:

Share