Does it make sense to learn UML well?

Most of the people I know use UML in quite informal way. How many of you actually know (and use) UML in detail? Also, do you see great value in learning UML well?

Posted Jan 13, 2017, 10:08 PM UTC

114
jpflathead•

I've seen it used on largish projects where they hire people who call themselves architects. I've seen it used in large organizations where people have to communicate with other tech specialists from other large organizations. Gov't. Financial. Aerospace.

And then what UML? All 14 diagrams or the 2 - 4 that are actually helpful?

Some of it is no doubt helpful in communicating designs, protocols, specifications.

The concepts aren't bad and the most familiar diagrams are helpful to know how to sketch informally on a napkin when you are building your own code to model objects, interfaces, etc.

It it probably good to know how to read them, and know what they are trying to communicate, but dude, make sure you can do your basic fizzbuzzes first before worrying about learning them.

7
its_a_frappe•

I use UML all the time, and I think it's important to have a vocabulary to help design software, critique software design and explain designs to others.

Not all diagrams are useful to me, but for the main ones - class, sequence and use-case - they are essential. Also, others I use are business process modelling notation and state diagram.

If you code and don't draw diagrams, you are missing out on a massive opportunities in thinking, analysing and communicating your code.

I noticed a huge difference in my own coding standard since learning UML and you will too.

6
transpostmeta•

I've only ever used UML in interviews. If you need to write formal documentation, sure, look it up and use it correctly. If you are just sketching out something on a whiteboard, who cares if you are using the correct arrow type.

Also, I think UML comes from an era where people thought encapsulation, inheritance and interfaces were a really good idea. Now with more of a compositional, functional approach to software design, I find UML far less useful.

I do really like the sequence diagrams of UML though. Learn how to read those at the very least.

4
coredev•

I seldom create or read UML diagrams in my daily work, but I think that knowing UML makes it easier to reason about problems and solutions with myself and with coworkers.

2