What are the Pros and Cons of UML?

It depends on the area you are about to use it. UML has all the advantages and disadvantages of a formal language. Even though it's visual it follows all the principles of being a language. Following that thought it's not enough to know a language to say smart things.

On the other hand most of it's pros comes from the fact it's visual as "one image is worth a thousand words". In my experience:
  • It's easy to learn it to the level of understanding and it's nicely adopted by business
  • It's quite unequivocal so people don't have different interpretations of the same model

It''s very useful for:
  • Requirements engineering (Use Case diagram as a basis for your scope definition, class diagram for domain model, sequence diagrams for proof-of-concepts and component diagrams to see the whole picture from architectural level)
  • For proof of concept - you can easily and with less effort than prototyping model your solution and then test it against business cases in order to find if your idea of a solution is optimal

It won't solve all of your problems though - there are many poor books and articles using UML the wrong way so it's often treated as a drawing rather than a model.

Concluding - if you use it properly it's a great advantage in software development. Follow your research in fields of Model Driven Development, Domain Driven Design and check out people like Martin Fowler or Craig Larman - they really know a lot about it.

Useful UML Resources

No comments:

Post a Comment