Live data from Hacker News

Ask HN: Is UML still relevant today?

news.ycombinator.com

51–60 of 69 posts

Re: Ask HN: Is UML still relevant today?

#51
post #17

Outside of sequence diagrams: Over many years as a indie developer, corporate developer, architect, engineering manager, product manager, technical founder, and CTO, I've never found the specifics of UML (which arrows and box types mean what, or its distinctions between different types of containment and relationships) to be useful. I've never been in a room with someone who admitted knowing UML, or where UML made a…

just want to second uml distilled. if you need to use uml you should read it - it's very slim and very practical. http://martinfowler.com/books/uml.html

also, uml with a tool like enterprise architect (which is basically a set of gui interfaces onto a database, where you construct a design in the database using the views, and are forced to be consistent) is very different from sketching a few diagrams.

it's not for me, but with a good tool you can see the attraction in certain scenarios.

Re: Ask HN: Is UML still relevant today?

#52
post #26
post #4

If you learn only one diagram from UML, take the time to understand and use Sequence Diagrams [1]. Being able to break down an interaction into a sequence diagram (especially between 2 or 3 servers) is a powerful thought tool for specifying interactions and its easy for people to understand. [1] http://en.wikipedia.org/wiki/Sequence_diagram

zenbowman's reply is [dead]. Why?

It set off a spam filter.

Re: Ask HN: Is UML still relevant today?

#53
I don't think so; but there may be disciplines that find benefit from it.

However, there is one element that I still use and find very useful--time sequence diagrams. Like tracking web requests and responses and communications with back ends, for example.

And often used, but not really exclusive to UML are state diagrams. Certain problems are elucidated nicely that way.

There may be some enterprise, governmental, or aerospace environments that benefit from it or are required to use them.

Re: Ask HN: Is UML still relevant today?

#54
post #26
post #4

If you learn only one diagram from UML, take the time to understand and use Sequence Diagrams [1]. Being able to break down an interaction into a sequence diagram (especially between 2 or 3 servers) is a powerful thought tool for specifying interactions and its easy for people to understand. [1] http://en.wikipedia.org/wiki/Sequence_diagram

zenbowman's reply is [dead]. Why?

I am seeing it as not dead--is it possible the post was deleted then resubmitted?

Re: Ask HN: Is UML still relevant today?

#55
There was a presentation that tackled this question at the most recent ICSE conference. Here's the paper: "UML in practice", http://oro.open.ac.uk/35805/8/UML%20in%20practice%208.pdf

The author interviewed people from 50 different major companies, and found people's use fit within the following:

Category of UML Use, Instances of Declared Current Use

no UML, 35

retrofit, 1

automated code generation, 3

selective, 11

wholehearted, 0

From the conclusion: "The majority of those interviewed simply do not use UML, and those who do use it tend to do so selectively and often informally."

In my own experience and research, people draw extensively, but have their own shorthand for writing things specific to their domain.

Re: Ask HN: Is UML still relevant today?

#56
post #4

If you learn only one diagram from UML, take the time to understand and use Sequence Diagrams [1]. Being able to break down an interaction into a sequence diagram (especially between 2 or 3 servers) is a powerful thought tool for specifying interactions and its easy for people to understand. [1] http://en.wikipedia.org/wiki/Sequence_diagram

Sequence diagrams are extremely useful. The only problem with UML is that it was used as a method of intellectual masturbation by people who love massive class hierarchies. There's a lot of good stuff in UML, the problem is that the people who were attracted to it in the mid 90s were the same people who were poor programmers and were looking for any excuse to avoid writing code. There are the same guys who spent year…

> the people who were attracted to it in the mid 90s were the same people who were poor programmers and were looking for any excuse to avoid writing code

Sounds like the same people who became Agile consultants in the early 2000's. Perhaps they realized activity and sequence diagrams can get fairly complicated soon enough, so they looked for a bandwagon requiring no technical chops whatever.

Re: Ask HN: Is UML still relevant today?

#57
I work for a very object-oriented customer, and I find class or object diagrams useful (for example, to take notes about an unfamiliar system being explained to me, like expressing precisely and concisely that Permissions are granted either to Employees or Groups of Employees, and not associated to the Employee's or Group's parent OU directly) much more often than sequence diagrams (typically used to document boring and straightforward odysseys of method calls through layers and layers of indirection, not interesting protocols).

All non-bullshit UML diagram types are going to be valuable sooner or later in one's career; basic familiarity with all of them is a useful language skill.

Re: Ask HN: Is UML still relevant today?

#58
It depends where you work and who you work with. I'd say only about a quarter of the places I've worked since UML became popular have used them at all (yes - I'm an old fk who can remember before UML ;-).

Despite what some have said here I don't think using UML is an sign of technical chops, or otherwise. It's just a tool. Some people use it sensibly. Some people use it stupidly. Thus has it ever been.

People drew and draw representations of data, structure and flow long before UML was around, and will continue to do so in years to come.

People wasted a bunch of time writing diagrams which would have been more effectively spent writing code before UML was around, and will continue to do so in years to come.

People wasted a bunch of time writing code when they should have spent five minutes drawing a diagram to make sure they were building the right thing before UML was around, and will continue to do so in years to come.

I'd say the more important skill is being able to talk about data and structure and flow visually - and to know when the right time to do that is. UML is a nice common language to throw on top of that skill.

But UML is certainly not used everywhere. Never has been.

Re: Ask HN: Is UML still relevant today?

#59
Lot of companies are moving away from UML but not away from modeling tools by using domain specific languages (DSL) instead of a language like UML which tries to please everybody. The Eclipse Foundation hosts lot of domain specific tools like Xtext (1) for textual DSL or Sirius (2) for graphical DSL. Both tools are even compatible since they are using the same underlying framework, the Eclipse Modeling Framework (EMF). With those tools, and others (have a look at all the modeling tools in the Eclipse Foundation), you can build a "development environment" for your own domain with your dedicated editors (syntax highlighting, completion, error detection, etc) and designers.

1: https://www.eclipse.org/Xtext/ 2: http://www.eclipse.org/sirius/

Disclaimer: I work for the company behind Eclipse Sirius.

Re: Ask HN: Is UML still relevant today?

#60

TL;DR Yes but only the basics and only certain key diagram types Of course it is! Now the verbose, overblown specs are only really useful for propping up your monitor (see http://www.omg.org/spec/ ) but fundamentally UML is all about a common way of discussing code, patterns, architectures and algorithms visually. It's kinda handy to be able to sketch out something on a whiteboard and have everyone in the room be abl…

I mostly agree, but I would qualify this with saying you don't need to know exact UML. I wouldn't worry about filled in triangles vs. diamonds, just the big ideas.

Like everything enterprise, before it UML was wrapped in a three ring binder and sold by consultants it was created to solve a problem. That problem is; at the beginning of a project(or at cross-team-collaboration-bs-meetings) you'll have an idea in you head, a fist full of markers, and an empty whiteboard. How do you go about explaining that idea to everyone in the room? UML was an attempt at standardizing some of the boxes-with-lines schemes everyone invented.

Post reply on HN