Wednesday, March 12, 2008

UML, c++, ClassBuilder and you!

Raise your hand if you know what c++ is. Okay, we got some hands. Now leave it up if you know what's UML. Still ok. Now, leave it up if you use it to prepare your project and get your c++ code started.

Yeah, didn't think so. While most people will agree it should be done that way and in theory should make all the first steps easier, in practice people do not. Well ok, this guy here and that girl there, but not everyone, not often, not as often as you should.

ClassBuilder, http://sourceforge.net/projects/classbuilder/ , is a very nice free tool. A very good alternative is : http://www.gnome.org/projects/dia/ or for windows : http://dia-installer.de/index_en.html .

The reason I recommend ClassBuilder first is because of his code generating capabilities AND read back. While dia has export through various plugins (most of which don't work on windows), it does not compare with the ease of use of ClassBuilder on that aspect. And ease of use is crucial at development time. Would that be so easy on dia, I'd use it any day instead due to it's better design and interface. Also, you can look for yourself, plenty of other tools exist, both commercial and free. (avoid FreeMind. It looks nice at first but is ultimately too limited and restrictive. Also, it does not follow the UML standard.)

Now, no matter which tool you choose, you should look for export AND import capacities to code. This is primordial. It is so very useful. One advice. Use it. Then use it some more. Then again. Keep doing so until the point where the UML becomes limiting. Guess what, if you've planned well your things, it won't. Also, your code will be that much clearer. Customize your tool as much as you need so that it's import/export agree with you and when you're satisfied, start teaching people in your team how to use it.

Well, I'll talk more later on the subject, but for now I hope any coder reading this is at the very least starting to search for a good UML tool to work with.

Dorth, signing out and reaching for his bed.