Feb
26
Picking the Right UML Modeling Tool
February 26, 2008 | 3 Comments
With the growing popularity of agile development philosophies, UML modeling has taken a back seat in a lot of development shops. I still believe that modeling has it’s place, despite the fact that this has puts me at odds with a number of practitioners I’ve run into in the last few years.
UML modeling allows me to organize and plan out my thoughts for large systems, and share them easily. I’m thinking of those systems where extensibility and maintainability are important. It creates artifacts that allow others who come after me (or, for that matter, me in 6 months when I’ve forgotten) to understand the concepts and structures in the systems I build without having to pore over the code to do so. I also find when I’m trying to understand existing code, and there exist no good documents to describe that code, creating models helps me put the whole enchilada down in front of me at once, where I can get a sense of it.
As I mentioned, a good number of practitioners I run into today think that modeling does not need to happen, ever, and this is just wrong-headed. But let’s assume for the moment that you think perhaps you want a model for one of the reasons I mention, or for one I didn’t. Which tool should you use? The answer depends on what you’re trying to accomplish. Just as you wouldn’t drive a nail with a screwdriver, you want to pick the appropriate tool for the job you’re trying to accomplish. I’m going to talk about several popular modeling tools: IBM Rational Rose, IBM Rational Software Architect, Sparx Systems Enterprise Architect, and Borland Together Control Center.
Blogroll
- Ars Technica
- Dark Reading - IT Security
- Help Net Security
- InformIT
- SANS Internet Storm Center
- Schneier on Security - Dr. Bruce Schieier’s blog
- Security Info Watch
- What to Fix - Daniel Markham, fellow consultant
- Wired Gadget Lab
- Wordpress Documentation
- WordPress Planet
- Wordpress Support Forum
