It's crazy think about now, but the methodology strongly influences the design.
Late 90s, I favored the Fusion Methodology for design. There was a researcher in the UK (Tony something?) that showed using the UML process led to overuse of Observable (Listener), which quickly becomes intractable. Tony (?) then reimplemented the same problems with Fusion, then diffing the resulting implementations.
The notion is almost lost in the sands of time. I'm pretty sure this is the same Fusion. I couldn't quickly refind Tony's (?) original work.
http://wiki.c2.com/?FusionMethodology
The diagrams and other artifacts were largely the same.
> ... only a fraction of the benefit
Emphatic agreement.
Alas, I've never worked at orgs that would or could keep the modeling and the implementation in sync. Perhaps it's more feasible now. (I haven't looked for a long time.)
I used to use UML (well, OMT, but fortunately Rumbaugh's notation won over Booch's for UML) constantly, when I was doing lots of Java. I worked on high-end CASE and methodology, and on the side I made a convenient little tool to help go from OMT to Java, and keep it up-to-data (in conjunction with Rumbaugh's own OMTool): https://www.neilvandyke.org/jomtool/
One thing to know about these system analysis&design methodologies (before UML, there were maybe a dozen prominent ones) and their various diagrams is that the user bases seemed to change over time. If you were a technical developer of a large system, or maybe a certain kind of big embedded systems developer, you might use it. If you were a database architect, there was a different camp for that, and they had different needs and tools. At some point, maybe around the time that Java was adopted for corporate internal IS development, the UML I occasionally saw was usually simply as a way of visualizing class inheritance hierarchies (and summarizing their Java attribute and method signatures). Which is fine, but it's only a fraction of the benefit they could get from higher-level modeling and documenting, with even that one kind of UML diagram.