9 votes

Has UML died without anyone noticing?

13 comments

  1. [2]
    ras
    Link
    UML is like quicksand. I heard a lot about it in school, but have yet to come across it in the real world.

    UML is like quicksand. I heard a lot about it in school, but have yet to come across it in the real world.

    13 votes
    1. Kuromantis
      Link Parent
      As someone who is taking programming courses, you still hear about it at school, although in my case it was by no means "a lot".

      As someone who is taking programming courses, you still hear about it at school, although in my case it was by no means "a lot".

      2 votes
  2. [6]
    fleg
    Link
    Say what you want, but you may pry sequence diagrams from my cold dead hands. I don't use it often, but it was very useful when I needed to synchronize how should a system work that was split...

    Say what you want, but you may pry sequence diagrams from my cold dead hands.

    I don't use it often, but it was very useful when I needed to synchronize how should a system work that was split between different modules, maintained by different people who not necessarily lived in the same timezones.

    7 votes
    1. NomadicCoder
      Link Parent
      I use sequence diagrams more than almost any other type of diagram. They're easy to understand, easy to follow, easy to create, and have cut through hours and hours of repetitive discussion. I...

      I use sequence diagrams more than almost any other type of diagram. They're easy to understand, easy to follow, easy to create, and have cut through hours and hours of repetitive discussion. I quite recently had an experience where we went around and around on something and I kept having to re-explain it, while people had their various diagrams that showed deployment, with numbered arrows, it really didn't become clear for everybody until I threw together a sequence diagram in PlantUML. I will continue to use UML to document relationships and sequences until something better comes along.

      That said, I do NOT stick to very strict formal specifications. I think that's a waste of time. We use UML to communicate intended design at a very high level, and then to document as designed, again, at a high level, but we don't worry about the legalistic definitions. If it communicates clearly, and unambiguously at the level of detail needed, it's good enough.

      So, I frequently use sequence, state, and class diagrams.

      Use case diagrams, on the other hand, are just stupid, IMO. :)

      5 votes
    2. [4]
      GoingMerry
      Link Parent
      Personally I find a lot of UML diagrams useful, although the object relation diagrams (which most people associate with UML) are maybe the ones I dislike the most. Sequence and entity-relation...

      Personally I find a lot of UML diagrams useful, although the object relation diagrams (which most people associate with UML) are maybe the ones I dislike the most.

      Sequence and entity-relation diagrams are really useful! I don’t know if my scribbles match the UML spec, but my team understands what I draw.

      3 votes
      1. [3]
        Akir
        Link Parent
        I found OR diagrams to be super useful when working with a traditional object-oriented application. But those basically don't exist anymore; even in languages that are highly built around Objects,...

        I found OR diagrams to be super useful when working with a traditional object-oriented application. But those basically don't exist anymore; even in languages that are highly built around Objects, everyone's using IoC and Objects barely matter anymore.

        To be honest, the way everyone's gone away from the structure of a traditionally engineered application has taken away some of the appeal that got me interested in programming. But reality feels more like I'm flinging a bunch of solutions at the wall hoping that it works.

        2 votes
        1. [2]
          joplin
          Link Parent
          What is "IoC"? A quick search turned up lots of unrelated answers, and the ones that were related didn't expand the acronym.

          What is "IoC"? A quick search turned up lots of unrelated answers, and the ones that were related didn't expand the acronym.

          2 votes
          1. skybrian
            Link Parent
            "Inversion of control." Basically passing configuration to objects as parameters. In Java, there multiple frameworks that will automatically create objects based on a configuration. Guice and...

            "Inversion of control." Basically passing configuration to objects as parameters.

            In Java, there multiple frameworks that will automatically create objects based on a configuration. Guice and Dagger are popular ones, or at least were. (It's been a long time since I've programmed in Java.)

            It's sort of like you create the bricks with some hints on how they go together, and the system assembles them into a house.

            3 votes
  3. [4]
    vord
    Link
    I 100% do this. For myself, it's much easier to architect things on a spreadsheet. It's easier to convert design into things like SQL statements and ansible playbooks coming from fully fleshed out...

    I still structure solutions using multiple dimensions but, today, I do this in a pure data/tabular fashion.

    I 100% do this. For myself, it's much easier to architect things on a spreadsheet. It's easier to convert design into things like SQL statements and ansible playbooks coming from fully fleshed out text rather than relying on visual diagrams.

    I need the text no matter what, because visual diagrams can't contain all the needed detail. So when a networking or security team demands a visual from that same information, it always feels like duplicate work.

    Incidentally, this is why I'm starting to use markdown more to design stuff. Hyperlinks and Mermaid have great potential. I haven't figured out a best-practice yet (as the holy grail would be to auto-generate scripts from a markdown design document) so am open to suggestions.

    3 votes
    1. Toric
      Link Parent
      There are quite a few markdown like diagram syntax. My personal favorite is mermaid, although Graphviz's DOT is a good solution as well.

      There are quite a few markdown like diagram syntax. My personal favorite is mermaid, although Graphviz's DOT is a good solution as well.

      4 votes
    2. [2]
      Adys
      Link Parent
      You may have tried it / it’s certainly not perfect but this is why people use Notion a lot. Markdown, block editing and some basic scripting and spreadsheet capabilities makes Notion incredibly...

      You may have tried it / it’s certainly not perfect but this is why people use Notion a lot. Markdown, block editing and some basic scripting and spreadsheet capabilities makes Notion incredibly powerful

      3 votes
      1. vord
        Link Parent
        Thanks, will check that out!

        Thanks, will check that out!

        1 vote