Spot on, I agree that sequence diagrams are super useful, I see them used all the time in FAANG. I do really wonder why UML is still taught in universities, as the article states, it's pretty useless. I took a masters Software Engineering course at Georgia Tech two years ago and a big part of the class was learning UML. That time was mostly wasted as I've never used any of it and never met anyone who has used it. It…
Sequence diagrams, the only good thing UML brought to software development
351–360 of 427 posts
Re: Sequence diagrams, the only good thing UML brought to software development
#352Earlier quoted context omitted.
For whiteboarding remotely I use https://excalidraw.com . I use it exactly for your use case. I’ve told live stories with it.
excalidraw is great especially the paid product. One of the cases of a very good open core business plan. I hope they do well.
Re: Sequence diagrams, the only good thing UML brought to software development
#353Earlier quoted context omitted.
> And it takes a lot of effort to create them. Have you tried mermaidjs? It's probably related to mermaidchart.com -- I don't know. The first sequence diagram in the article boils down to this: sequenceDiagram Customer->>Bank: Login request Bank-->>Customer: Login approval with a fancier image for the customer than a box. Try it out at https://mermaid.live (linked from https://mermaid.js.org/ ) Or this one, from a se…
I've used mermaid and lots of other tools. Mermaid is my quick and dirty tool of choice lately, actually. I sank a lot of time in using mermaid to get some sequence diagrams. They suck both visually and the process of creating them is also terrible. But it gets the job done as far as ass-coverage is concerned. The example above tells me that you have a bog standard login thingy that behaves exactly like a login thing…
I need something for the tech people, and I need something for the money people.
The diagram gives my target audience (again, non-tech people) an overview of the system. There were sequence diagrams for all the functionality we wrote code for. Technical specs and documentation were also written up, but the money people won't bother to wade through that to understand how it works; the dev team can read that.
> Why does the app have to generate the id for example? What's wrong with the email address as an id?
The example was extracted from a project I worked on a couple of years ago. I obfuscated what the "id" field is on purpose. If it helps, think of it as the unique device identifier used to send push notifications.
> So not only is it uninformative, it's probably wrong.
They were not inaccurate.
Re: Sequence diagrams, the only good thing UML brought to software development
#354Re: Sequence diagrams, the only good thing UML brought to software development
#355Plantuml is a really convenient tool for drawing diagrams
I yearn for something that lets me draw sequence diagrams as human-readable ascii art (instead of declarative statements as with PlantUML,) but that is also rigorous enough to be rendered to a professional looking PNG when the situation requires it.
Re: Sequence diagrams, the only good thing UML brought to software development
#356Earlier quoted context omitted.
"Pick the wrong thing and then retract, losing some work" is as close to optimal as you can get. Iterate. The much worse outcome is "pick a thing, fiercely defend it whether it helps the ship to float or to sink".
I agree that outcome is worse. However, both extremes are bad. The optimal approach would be to do a little bit more work upfront, pick a "better" thing (where "better" is at least more than the next sprint or 3!), and use that.
Re: Sequence diagrams, the only good thing UML brought to software development
#357Earlier quoted context omitted.
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
#358Earlier quoted context omitted.
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.
Those are a different kind of diagram than the one you create from scratch to decide what goes in the program.
Re: Sequence diagrams, the only good thing UML brought to software development
#359Re: Sequence diagrams, the only good thing UML brought to software development
#360I also find sequence diagrams to be the most useful, but disagree that the rest of UML is useless. Class, component, package, activity and state machine diagrams are all useful ways to model the structure and behavior of a system visually. The only reason the other diagram types fell out of favor is because of the development methodology change starting in the early 2000s. The industry started rejecting Waterfall, ea…
It wasn't also visual design tools that Agile killed. Agile killed design documentation altogether.
With Agile, today's problems are addressed on tomorrow's sprint, and changes in software architecture take place only in the code. Any effort to document the system architecture in any remotely rigorous way is quickly deprecated, and teams simply don't waste time maintaining something that might already be deprecated once they finish editing the document.