Settings

Theme

Ask HN: What Has Replaced UML?

14 points by arturkane7 3 years ago · 13 comments


cybrexalpha 3 years ago

Nothing. Because UML was pointless to begin with.

As a medium to describe systems it was harder to understand that just a flowchart, and less specific than just reading the code code. A useless halfway house.

  • ak_111 3 years ago

    I tend to sympathise with this view, but I think one interesting thing which it tried to accomplish was code-generation or auto-verification, in a way it was an interesting early form of no-code in this regard

    Also it is quite useful to understand sophisticated class dependency diagrams.

AnimalMuppet 3 years ago

What replaced flowcharts? Um, pretty much nothing. We just quit making flowcharts, and we found that we could get by just fine without them. (In fairness, when structured programming replaced goto-based programming, we didn't need flowcharts nearly as often in order to keep track of what was going on.)

We mostly quit doing UML because for most people, most of the time, it mostly wasn't worth it. It didn't provide enough value to be worth the effort. So what replaced it was usually nothing.

dcminter 3 years ago

On a related note - are there diagramming tools that let you draw (and write) freehand and then automatically neaten the diagram up?

I'm imagining something on an iPad or Android tablet that lets me just draw my usual boxes, circles, lines, terrible handwriting, and so on, and then I can punch a button and get it as a draw.io (or whatever) compatible diagram...?

The Newton handheld had some abilities along this line in the mid nineties so it seems like it shouldn't be an impossible dream.

rickette 3 years ago

Checkout the C4 model (https://c4model.com) if you're looking for a easy but detailed method to describe your software architecture. I my experience it works well in teams, you can let any dev contribute since there are only a handful of rules/notations.

BerislavLopac 3 years ago

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/

JoeMayoBot 3 years ago

It's been a while since I've done a class diagram, but I still use sequence diagrams to coordinate non-trivial component interactions. Occasionally, I'll use a state diagram to describe workflow. More commonly, I've used ad-hoc network diagrams to describe the architecture of a system. I think flowcharts are still useful.

omgbear 3 years ago

I use mermaid now because it's embedded into markdown on gitlab.

Also powerpoint equivalents -- For more control over format and presentation.

kingkongjaffa 3 years ago

Nicely specced TTD style tests can show and then also verify that things work as you might expect them to.

They can serve as example and documentation on how the architectural pieces fit together in a piece of software.

That plus high level, loosely specced diagrams can encapsulate most simple/medium complexity apps.

maxbaines 3 years ago

Interested to hear any answer, my opinion is nothing has. However I think this is a struggle of the domain UML solves, as I am not too sure UML ever established itself as a goto diagram/modelling language?

SirChainsaw 3 years ago

Maybe not a replacement, but mermaid-js is a happy middle ground for me.

revskill 3 years ago

draw.io of course :)

  • dcminter 3 years ago

    There's a lot of truth in that :D

    On the whole I think that the value of "diagrams as the source of truth" turned out to be almost non-existant for much the same reasons that mostly we prefer source code over visual programming environments.

    Flowcharts were never all that useful (to me at least) because they were harder to read than the pseudocode!

    I use draw.io (diagrams.net) or Miro depending on what's in commonest use at the current Org for informal data flow diagrams and the like. Does Microsoft have some kind of Visio descended monster in Office 365? I hope I never have to find out!

    I use PlantUML¹ for sequence diagrams² and state diagrams. So much so that I wish GitHub and its brethren would support PlantUML natively in their flavours of Markdown.

    ---

    ¹The IntelliJ plugin is mercifully good

    ²Or swimlanes.io is quite good for these, especially for sharing ephemeral stuff

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection