Live data from Hacker News

Sequence diagrams, the only good thing UML brought to software development

mermaidchart.com

321–330 of 427 posts

Re: Sequence diagrams, the only good thing UML brought to software development

#321
post #311

Earlier quoted context omitted.

How is that worse than waterfall with outdated documentation which is what we had before.

"we are lazy assholes who can't keep docs up to date, therefore docs are useless" Is essentially the argument i see over and over again. And every time i start a new project and that project has docs or uml or whatever I appreciate it. Even if it is a bit out of date, it's way better than nothing. In my opinion, every project should have a readme file with instructions for running the project locally, and ideally als…

It's not a question of laziness. People just need to use better tools to generate docs and fail CI if the implementation and docs diverge.

I used to hear people say the same thing about laziness about code style before reformatting/linting tools became standard.

Re: Sequence diagrams, the only good thing UML brought to software development

#322

Earlier quoted context omitted.

Assuming that you're using a modern IDE: it is an order of magnitude quicker to model the domain (classes + attributes) in code and project them as diagrams, say with graphvis. High level boxes are great for thinking about systems but the key there is abstraction - minimal viable level of detail..

Dont you want to discuss and talk about a design before you even touch a keyboard? In my projects we always discus high level overviews with pen and whiteboards. Nobody should even dare to touch a keyboard.

Absolutely, I pretty much always start with design sessions on a whiteboard (or if remote a call using draw.io).

That discussion is almost never going down the the level of an individual class and NEVER adheres to the UML standard.

Very occasionally I've had discussions about class structure by drawing class name + methods on a whiteboard but having the same discussion using Visual Studio's UML projection was just as effective.

Re: Sequence diagrams, the only good thing UML brought to software development

#323

Earlier quoted context omitted.

Assuming that you're using a modern IDE: it is an order of magnitude quicker to model the domain (classes + attributes) in code and project them as diagrams, say with graphvis. High level boxes are great for thinking about systems but the key there is abstraction - minimal viable level of detail..

If you're creating diagrams with graphvis, you're just coding on another language. The benefits of diagrams appear when you draw them by hand (or graphically by mouse).

I generate them: initially with my own generator (which is copyright an employer from > 15 years ago), on a later project I found that Doxygen can do do that for you out of the box :-)

For interactive discussion I just use Visual Studio's projection, for databases I use the SQL Server Management Tool ERD projector or pgAdmin if I'm using Postgres.

Re: Sequence diagrams, the only good thing UML brought to software development

#324
post #228

Earlier quoted context omitted.

Sequence and activity diagrams were already present in Jacobsons original method, which again is based on the "Ericsson Approach" (originating in 1967), long before UML; they were called interaction diagram and state transition graph.

Who's Jacobson? Google doesn't turn anything up. Neither does "Ericsson Approach" for that matter..

Have a look at e.g. this presentation: https://web.archive.org/web/20060622072014if_/http://www.tcr...

The state transition graphs of Objectory (Jacobson's method) on the other hand originated in SDL process and procedure diagrams, which were issued in 1976 by CCITT as the Z101 to Z104 recommendations.

Re: Sequence diagrams, the only good thing UML brought to software development

#325
post #221

Earlier quoted context omitted.

I'm also interested in the german software engineering culture. And also, heavy plus to this being a social problem more than a "engineers just need more time" problem. I tried to articulate this in another comment of mine but mostly beat around the bush. This is more directly what I was attempting to say.

Well in my theory core reason is that Germany never developed a thriving startup IT economy[0] that was ever relevant for the GDP, especially not in comparison with the industrial sectors (cars, steel, chemistry) and so IT completely got ignored by politicians. That resulted in no one who'd challenge the biggest gatekeepers Telekom and SAP, so they lobbied for and enforced whatever they wanted[1]. If you study CS in…

I just read up on the IHK and it sounds like the equivalent for business that an employee pays to be a member of a union. The fee is 47 EUR + 0.14% of gross income, which is not exactly "significant" compared to the other fees, taxes etc.

As for the old people running the IHK, from what I read, the membership is one-company-one-vote, so what stops people running for election?

As for the influx of refugees, that is a distinct advantage to Germany of an increased availability of workers, including many educated Syrians and others.

So it sounds like there's a problem with entrepreneurship in Germany outside the engineering / petro-chemical businesses. There's also a problem with your political choices due to the usual issues prevalent in every Western country. An aging population, the effects of the "financial industry" (a misnomer if ever there was one), the effects of climate change, etc.

Re: Sequence diagrams, the only good thing UML brought to software development

#326
Wrong. Never used them, probably never will.

>> The programming use case died because, according to Hillell Wayne, “even most proponents of UML considered it a terrible idea.”

When Ivar Jacobson's Use Cases were added to UML it was a day to celebrate for me and many others. I still create them 30 years later with other methodologies, even ones with no direct tie to software development like Dr. Eli Goldratt's TOC (Theory of Constraints).

Re: Sequence diagrams, the only good thing UML brought to software development

#327
post #311

Earlier quoted context omitted.

"we are lazy assholes who can't keep docs up to date, therefore docs are useless" Is essentially the argument i see over and over again. And every time i start a new project and that project has docs or uml or whatever I appreciate it. Even if it is a bit out of date, it's way better than nothing. In my opinion, every project should have a readme file with instructions for running the project locally, and ideally als…

It's not a question of laziness. People just need to use better tools to generate docs and fail CI if the implementation and docs diverge. I used to hear people say the same thing about laziness about code style before reformatting/linting tools became standard.

> It's not a question of laziness, it's just that people don't do it so you need automated tools to do it for them

Sounds a lot like laziness to me. It may be more accurate to say it's because people don't care. I've seen projects full of typos. Ive seen projects where basically everything had been duplicated not once but twice because they wanted a slightly different version of the same website so instead of adding some configuration or otherwise finding a reasonable solution for it they just went and copied hundreds of files and prefixed their names before making a couple minor changes and leaving the mess for someone else to discover. No mention anywhere of the fact that this had been done, nor why.

These are the actions of people who don't give a shit. Whatever problems they create are someone else's problems. The way i see it, if you care about your work you'll make sure the code is readable, well documented and so on. If you don't, you won't.

Re: Sequence diagrams, the only good thing UML brought to software development

#328
post #179

In some ways, software development practices have degraded since that era. It largely has to do with the need for speed which comes at the expense of careful consideration, quality, integrity and the formal standards that support it. In fact, I believe it pretty much killed the profession of software architect. Many teams had it as a dedicated role, and this indeed would be a person documenting/designing systems usin…

Has anything replaced UML? I mean, if there are teams out there that aren't shunning design, what do they use to create architecture diagrams?

C4 is more than adequate.

Draw the boxes and lines and make sure that people understand what they mean. Describe the system from the perspective of the reader. Just like a real architect will have different drawings/plans/elevations for their customer, the planning authorities, and the builder.

The architecture diagrams are meant to communicate the design, not comply with some over-worked standard.

UML was a clusterfuck that evolved from the trifecta of late 90s OOP (inheritance not composition), design patterns that mostly provided fill-ins for what was missing from Java as a language, the ridiculous concepts of generating code from diagrams that could be regenerated from code, which never, ever, worked, in the same way that ORMs have an impedance mismatch between OO and relational logic.

It was yet another silver bullet, the late 70s/early 80s had "structured programming", the late 80s/early 90s had CASE, the 90s had all the stupid diagramming tools where people argued about the shape of the bubbles and what arrows to put on the lines.

There was also the Capability Maturity Model, where everyone was trying to get to "Level 5" which was only useful if you were doing exactly the same software over and over again, along with the "6 Sigma" and "Black Belt" nonsense.

The 2000s had the "iterative Rational Unified Process" (an excuse to sell expensive tools from IBM), along with CORBA et al.

The last decade has suffered from the Agile-with-a-capital-A and especially "Scaled Agile" which is just an excuse for project managers to again treat programmers as fungible, while losing all of the affordances of actual project management, like GANTT, critical path, S curves, earned value etc.

Sprints are nonsense, so is "t shirt" sizing and velocity and burn down charts, and retrospectives and scrum "masters".

There are a couple of useful things:

* Domain Driven Design, using Names That Make Sense To The Customer

* Entity Relationship Diagrams, where the Entities are the same Names as the DDD

* State Diagrams for those Entities, describing the events that will cause them to change state

* Event definitions that match the State Diagram transitions, where externally generated events end up being your external API.

Bah, I've been in this industry for almost 40 years and its the same shit over and over, just with different names, and different consultants selling expensive courses.

Re: Sequence diagrams, the only good thing UML brought to software development

#329

Earlier quoted context omitted.

Yeah, hard disagree on all that. As someone who lived through that era professionally, and who has had an "architect" title in the past, I was actually resistant to ever stepping into that role, because I had so many bad experience with the Formal Architecture Methodology crew, who would produce the most absurd and out-of-touch designs. There's a reason that "architecture astronaut" is a term from that era. Lots of p…

I’d argue software architecture has never been more healthy. DDD Europe by all accounts was a resounding success. We’ve replaced older architecture activities like data modeling first with event modeling and Domain-Driven Design. We’ve learned to embrace monoliths when appropriate and reduce complexity with bounded contexts. We have phenomenal testing capabilities that didn’t exist 20 years ago. We have a myriad of d…

You may also just be more competent with 40 years experience?

Re: Sequence diagrams, the only good thing UML brought to software development

#330
post #311

Earlier quoted context omitted.

How is that worse than waterfall with outdated documentation which is what we had before.

"we are lazy assholes who can't keep docs up to date, therefore docs are useless" Is essentially the argument i see over and over again. And every time i start a new project and that project has docs or uml or whatever I appreciate it. Even if it is a bit out of date, it's way better than nothing. In my opinion, every project should have a readme file with instructions for running the project locally, and ideally als…

> "we are lazy assholes who can't keep docs up to date, therefore docs are useless"

Rather: managers do not highly value work on documentation, so many programmers care little about it. If writing good documentation was valued more by managers than implementing feature stories, the situation would be different. Incentives do matter.

Post reply on HN