UML Diagrams Debate

The cluster discusses the usefulness of UML diagrams (especially class and sequence diagrams) for software design, communication, and documentation, debating their pros, cons, alternatives like boxes-and-arrows, and whether they should be taken more seriously versus autogenerated or simplified.

📉 Falling 0.2x Other
3,098
Comments
20
Years Active
5
Top Authors
#5541
Topic ID

Activity Over Time

2007
8
2008
14
2009
34
2010
37
2011
71
2012
29
2013
92
2014
72
2015
118
2016
181
2017
87
2018
133
2019
136
2020
142
2021
578
2022
465
2023
496
2024
199
2025
201
2026
5

Keywords

e.g IMHO OO HN XML plantuml.com OOP SPARX README.md thedailywtf.com uml diagrams diagram sequence useful boxes relationships code modeling class

Sample Comments

suyash Mar 14, 2017 View on HN

Developers need to start taking Flowcharts, UML more seriously - I think most people don't see it's full power.

raphman Nov 28, 2025 View on HN

My personal opinion (based in part on HN):- In a nutshell: everyone should know about UML and how some relevant diagram types look. Nobody should use it religiously.- Diagrams are great tools for communicating ideas and implementations on an abstract level, and for interactively thinking about ideas that can be drawn in some way. A diagram can also visually highlight problem areas (e.g., components with many dependencies).- Good use cases for diagrams in SE are e.g., explaining high-lev

draazon Oct 4, 2022 View on HN

There's a place for UML in the README.md; as some other commenters have pointed out, UML works much better as a sketching tool than as a total definition of a software system. A couple of quick class diagrams at the top level (probably generated using something like https://plantuml.com/) might provide a better communication model than text.

kragen Oct 7, 2015 View on HN

I've definitely found UML class diagrams useful for that, and probably if I knew them better, they would be more useful. Other kinds of UML diagrams, like sequence diagrams, might be even more useful, especially if they had been designed better. But I feel like they belong on a whiteboard or a sheet of paper, where you can throw them away once you're done having the conversation; automatically-created UML class diagrams in my experience tend to be too unfocused to be useful (containi

gjulianm Oct 4, 2022 View on HN

I've used UML to communicate certain things about code. Class or sequence diagrams are great tools to explain code structure or workflow. Of course it's not very frequent that I need to use them, but they're still useful.

davidcuddeback Oct 7, 2012 View on HN

UML is very useful to communicate ideas and designs to the rest of your team. It doesn't have to be 100% strict UML. It just has to get the point across. I use http://www.asciiflow.com/ to make simple UML diagrams that I add to my code when it helps clarify the code's structure. So I disagree that you have to "live in the land of too-tight blue ties" to find UML useful.

throw_m239339 Apr 19, 2025 View on HN

It's useful to convey architectures. The problem is that UML has been abused by some vendors that implemented bad software based on "Rapid UML Development" and it soured a lot of developers. Also it is very old java OO oriented. But Sequence diagrams are still in use.

fourier Jun 27, 2015 View on HN

Yes this could work for personal things. But it is often you need to represent your understanding of the current state of affairs and propose your ideas, so the UML is a good tool to do it - everybody understand it or could learn in like 0.5 hour.

fieldforceapp Oct 25, 2013 View on HN

I'm curious why you didn't try UML or SysML instead?

BerislavLopac Nov 22, 2022 View on HN

The key problem with UML was that it was trying to work on a too low a level, essentially replacing code with diagrams, which didn't really work. The only UML diagram that is still relevant today is the sequence diagram, because it has just the right balance between being too abstract and being too specific.In my experience, the best approach in documenting software systems is the C4 model: https://c4model.com/</