[HN Gopher] UML Diagrams Designer via Code
       ___________________________________________________________________
        
       UML Diagrams Designer via Code
        
       Author : begoon
       Score  : 76 points
       Date   : 2022-05-05 13:35 UTC (9 hours ago)
        
 (HTM) web link (sequencediagram.org)
 (TXT) w3m dump (sequencediagram.org)
        
       | wooptoo wrote:
       | There's also Mermaid which is natively supported by Github:
       | https://mermaid-js.github.io/mermaid/
        
       | smusamashah wrote:
       | No other text to diagram tool also allows moving/editing diagram
       | itself with mouse. I have shared this list[1] of all similar
       | tools on web a few times before.
       | 
       | [1]: https://xosh.org/text-to-diagram/
        
         | oldsecondhand wrote:
         | Umlet allows that too. Though dragging won't change the
         | structure.
         | 
         | https://www.umlet.com/
        
         | yodon wrote:
         | You've clearly put a lot of work into assembling this list. I'm
         | guessing the page would be significantly more valuable to
         | readers and much more likely to be found by people interested
         | in the the information in it if you added a brief sentence or
         | two description of each of the projects.
        
           | smusamashah wrote:
           | More info I put there, more difficult it will be to keep it
           | updated. There are tags/words below each to describe what
           | that tool is for.
        
             | ncr100 wrote:
             | Wikipedia?
             | 
             | EDIT: https://en.wikipedia.org/wiki/List_of_Unified_Modelin
             | g_Langu...
             | 
             | This list is not a good fit for your XOSH list. It does
             | include PlantUML but does not include a feature-breakdown.
             | Instead it's simply a declaration of existence.
        
         | koch wrote:
         | Nice list! How can I get https://cascade.page on there?
        
           | smusamashah wrote:
           | This is nice, added. At some point I will move the list to
           | gist.github which will keep this page upto date.
        
       | 0xbadcafebee wrote:
       | This is fantastic! Code and UI in one! _please make every
       | technology be like this_
        
       | tonerow wrote:
       | Very simple but easy syntax with visual feedback:
       | https://flowchart.fun/
        
       | rowls66 wrote:
       | Looks like a web UI for PlantUML. Does anyone see anything more
       | than that?
       | 
       | https://plantuml.com/
        
         | jupiter909 wrote:
         | It's pretty much that. I like to use
         | https://www.websequencediagrams.com/ and/or plantuml plugins
         | for vscode that can process locally or via api.
        
         | sjburt wrote:
         | You can drag or modify the items in the diagram and it changes
         | the UML, that's actually pretty neat. PlantUML normally only
         | goes code to diagram.
        
         | remram wrote:
         | Or Mermaid, which is less capable but natively supported by
         | GitLab and GitHub.
        
           | djur wrote:
           | I really wish Mermaid and PlantUML had compatible syntax, or
           | at least more overlap for the basic structural stuff. On a
           | day to day basis I'm writing either PlantUML in Confluence
           | (via a plugin) or Mermaid in GitHub, and I almost always have
           | to open up the reference or review an existing diagram to
           | refresh myself on the different syntax.
        
         | RandyRanderson wrote:
         | plant needs to have a UI to manipulate the drawings and round-
         | trip the adjustments back into the spec. This is required for
         | any non-trivial diagram.
        
       | raxxorraxor wrote:
       | Very nice! I wish I had something like this when having to write
       | papers for university. There are some nice tools but getting a
       | consistent layout was always a problem. Are more diagram types
       | planned?
        
       | scrapcode wrote:
       | Are UML diagrams used effectively in the dev industry? I'm in
       | more of an systems analyst / solutions consultant role and don't
       | see them used much.
        
         | Vanit wrote:
         | Only time I've seen them is when one of my jobs was contracted
         | to the local Telco here who wanted all kinds of design
         | deliverables.
        
         | ClumsyPilot wrote:
         | I prefer BPMN, it is more specific and easier on the eyes. The
         | fact that there are many different types of UML diagram means
         | noone knows them well enough to navivate and create them
        
         | bluGill wrote:
         | Most of my UML is what I call whiteboard UML because we draw
         | something that looks almost like UML on a whiteboard, then
         | start implementing that. A couple weeks later we realize the
         | implementation and the UML have diverged because didn't think
         | of something so we erase the whiteboard. The initial drawing
         | was very useful to get the implementation started.
         | 
         | 20 years ago I worked at a place that keep the UML up to date.
         | It was nice to have, every week I'd print out the latest and
         | paste it on my wall, then as I developed I'd look over at the
         | poster to answer questions. It only worked there because we
         | generated out code from the UML and so up to date UML was
         | always easy to find. If you don't have a dev process that keeps
         | it up to date I don't think it is worth it.
        
           | inetknght wrote:
           | > _It only worked there because we generated out code from
           | the UML_
           | 
           | That sounds very interesting! Was that a proprietary
           | tool/pipeline or is there something which I can use to
           | leverage UML to generate some specific language... for
           | example C++?
        
             | PinguTS wrote:
             | I know many cooperations in automotive use the UML tool
             | from Enterprise Architect. There is code generation
             | available: https://sparxsystems.com/enterprise_architect_us
             | er_guide/15....
        
             | throwawayForMe2 wrote:
             | I did for a while code gen from UML, in IBM/Rational
             | Software Architect. They would transform the model into an
             | intermediate xml, which was fed to JSP's for code gen.
             | 
             | We also used Sparx Enterprise Architect to model a large
             | amount of business processes notated in BPMN, Use Cases in
             | UML, business rules using a Sparx framework, etc. From
             | these linked and traced models we generated comprehensive
             | documentation using a nice framework that could walk the
             | model and merge information into Word documents.
        
             | bluGill wrote:
             | Proprietary, and it was 20 years ago, I don't remember what
             | the tool was anymore. I doubt it is still available.
        
         | Saint_Genet wrote:
         | I'm a system architect within the world of large industrial
         | systems and I have never seen a UML diagram in the wild.
        
         | lifefeed wrote:
         | I draw boxes and arrows. Sometimes the boxes are rounded.
         | 
         | There was a study on this, UML in practice by Marian Petre.
         | http://oro.open.ac.uk/35805/8/UML%20in%20practice%208.pdf where
         | she interviewed 50 developers across 50 companies. Here's what
         | she found.
         | 
         | - 50 interviews.
         | 
         | - 35 people don't use it.
         | 
         | - 11 use it selectively, just whatever is useful.
         | 
         | - 3 use it just once in a project, to generate code.
         | 
         | - 1 uses it to comply with customer or management requirements.
         | 
         | - 0 use it fully.
        
           | PinguTS wrote:
           | That study is almost 10 years old. Would be interesting to
           | know if this has changed to the better or to the worse.
           | 
           | (Of course, depending on how you define "better" and "worse"
           | for yourself.) ;)
        
         | rjsw wrote:
         | UML diagrams with UML behind them are used in aerospace.
         | PlantUML just does diagrams, not full UML.
        
         | emerged wrote:
         | I use them sometimes for component or sequence diagrams. I'm
         | usually really happy with the result and get positive feedback
         | for going to the effort. But stick to the 80:20 principle
         | instead of diving down a UML pedantry rabbit hole.
        
         | inetknght wrote:
         | > _Are UML diagrams used effectively in the dev industry?_
         | 
         | Are they effective? I say they are when correctly used. For
         | example last year I used plant UML to draw a sequence diagram
         | to demonstrate some threading/mutex problems. [1]
         | 
         | I've also used draw.io to draw similar problems. [2]
         | 
         | I would say that tbqh using UML (or maybe just plant UML) is
         | the "better" solution because it can be embedded in code and
         | re-rendered as needed. But draw.io is _much_ easier to use!
         | 
         | I will also say that UML diagrams aren't well taught nor do
         | most devs even know to reach for the tool.
         | 
         | [1]: https://github.com/mavlink/qgroundcontrol/pull/9595
         | 
         | [2]: https://github.com/airmap/qgroundcontrol/pull/6
        
           | tomduncalf wrote:
           | I was going to say, I used a sequence diagram last week to
           | wrap my head around a threading situation. I think they are a
           | good way to visually model anything asynchronous or thread
           | based, and sometimes also user interaction flows, and I think
           | UML's bad rep (is that fair to say?) means a lot of
           | developers either are not aware of them or think they must
           | have no value - I consider using them a bit of a secret
           | superpower ;)
           | 
           | I do occasionally use ER diagrams for drawing out data models
           | too, but I'm super rough about following the "rules" with
           | both of these. Really just a convenient way to sketch stuff
           | out (usually using PlantUML or Mermaid, as I find it quicker
           | to do in ASCII).
        
         | capableweb wrote:
         | Following them like a holy-grail, no, not that useful. I
         | usually use them to help juniors build a foundational skill
         | about drawing graphs of architecture before implementing them,
         | as the ground-work for discussing the proposed architecture.
         | Also explaining to them that it doesn't have to be using the
         | right fill/hollow arrow or whatever, more that the graphs
         | themselves accurately describes the architecture.
         | 
         | So in short: kinda.
        
       | RandyRanderson wrote:
       | Bullet points for requirements and one "box, swimlane, and
       | cylinder" diagram (with no standard elements) for analysis and
       | design if you're on a 'strict' project.
       | 
       | If we can't even decide on language A or B, CSV or JSON, ...
       | (these are implementation artifacts that are essential to the
       | solution), what hope do we have of even understanding- no even
       | seeing that there is a problem in the other disciplines
       | (requirements, analysis, etc) of technology delivery?
       | 
       | If we make it another 100 years, we'll look back at this time and
       | view what we are coding now as wattle and daub huts whereas a
       | century from now we'll be erecting the analogue of technological
       | skyscrapers (but probably not good ones, if I'm being realistic).
        
       ___________________________________________________________________
       (page generated 2022-05-05 23:01 UTC)