I was always fond of modelling. Maybe it is because I like abstraction. Maybe because it somehow connects me with my soul of automatics engineer. Or maybe simply because I prefer pretty pictures over large books of documentation. Who knows? ;) The fact is, when the design/modelling process is over, all the stake holders become more aware of the domain: its characteristics, requirements and hidden not so obvious processes or artefacts. So it is great to model! But lets talk about tools as promised.
Nowadays, most of the tools will allow you to capture the design in one way or the other. The problems will start appearing when you want to develop a model quickly, share it with others and keep it up to date. These are the objective factors (let me skip money for the moment). Not less important are the subjective factors like beauty of the created diagrams and ease of use of the software. Think especially about your audience and the fact that it is much more pleasing for them to look at diagrams with WOW factor rather then rough technical layouts...
- Together Soft [Code is your model], which was great for forward and reverse engineering of the models directly in the code. First tool to propose GoF design patterns during development. Now it is integrated into Eclipse.
- Rational Rose [Complexity doesn't matter], which was great for sharing distributed models. After integration into Eclipse, it allows meta-model handling using QVT
- MS Visio [Beautiful Deployment], which is great for beautiful stencils and allows sharing models with other MS Office users
- Poseidon [Free and MDA Compatible], which was great as being the first exporting models into XMI to be able to employ e.g. AndroMDA
- Magic Draw [WOW but might be expensive], which I am fond of at the moment. As it does nearly all the things mentioned above plus more and has the WOW factor. Check CSE Builder for flash demo.
- Select Enterprise [Model your process]
- iUML by Kennedy and Carter [TEST! your models before employing MDA]
In case you are looking for information on UML
Check those links:
- UML Specification
- Learn about various resources on UML.ORG as supported by the OMG
- UML Tutorial by Borland