Has anyone tried looking in to Unified Modeling Language Class Diagrams for work. Whenever you get put to an new project or starting a new job, you need to learn how the program works. I'm wondering if generating UML class diagrams would help out a lot in understanding the workings of it?
UML Class Diagram
Falling into your wing while paragliding is called 'gift wrapping' and turns you into a dirt torpedo pic.twitter.com/oQFKsVISkI
— Mental Videos (@MentalVids) March 15, 2023
Yea, it probably does. I don't use it much myself but my coworker draws these whenever some new library appears in our code base and needs to use it. He puts it out for the rest of us to see and it can be useful just to get some general sense of the design. However I wouldn't focus on how formally to draw it too much, just make it make sense.
I noticed that there are programs that can generate them for you. I'm wondering if i should try learning that.
I make my own diagrams on paper to better understand how a new fairly complex project will work exactly, maybe I was inspired by uml which I've learned in school
you only need ERDs
rest is bloat
I've only ever actually made them when I've had to for school assignments, but they've always been useful. If I could just generate them automatically I'd probably use it a lot more.
plantuml, it works for other naggerlicious diagrams unis ask you to do
If you get your data model right, the rest of your entire codebase will flow from that initial setup. If you get your relationships, keys, and data types right, everything else is just manipulations on that data. So if UML helps you to define your data models, then yes, it's very useful.
>t. been doing this for 23 years
so it really depends on how the program is made?
if you used a program to generate the UML diagram from existing code (provided it was correct) it could come out gibberish?
If you're committed to using UML - go for it. If it helps you, it's the tool for you. If you're using something to *generate* UML from something existing, to me, it sounds like it's not useful for you.
well i want to use it to learn an existing program for when you get a new job and they put you to fix bugs for it, etc.
i would like to generate the diagram to learn the program quicker.
i get that UML is useful for designing new software but that's not what i'm looking for atm.
Anyone else get the intense urge to kill themselves when looking at an OOP UML diagram? It's like my soul is instantly sucked out of my body.
More or less. As this guy says:
the data model is the important part. UML can help there but is more often than not a huge waste of time and energy. There lots of ways to reason about data.
It seems like a good way to visually map a software program you're building in c++ or java. I have no idea if I'm using it correctly half of the time, however.
I use Dia.
One thing people don’t get about Haskell is that types replace UML entirely. You can use types to structure the program and then use the compiler to check the correctness. It’s like a compilable UML. Definitely one of the strongest things about the language. Yes, I use it at work
UML is a big specification, it doesn't make sense to formally write UML diagrams and nobody do that. But they are really helpful as a draft for some core part of the SW
> Compilable UML
That's an entire different story. I did a project with the MDA framework (specifically the EMF) while it has some similarities with types, the development focus more on model+transformation. It has a huge overhead since the development proceed by specifying a meta-modelling language using a meta-meta-modelling language and you then define a concrete syntax for you modelling language to use. I'm not very familiar with Haskell but MDA is more powerful since you can also implement contraint or dependent type with OCL
In Haskell you just use the language, but write “undefined” for the implementation, until you’re satisfied with the way types align . Haskell is very good at the “code movement principle”, so you can iterate on your design rather quickly
>but write “undefined” for the implementation
typed holes are also very helpful when you get round to writing the implementation
I don't understand how exactly I would make a useful diagram of something that isn't C++ using a UML class diagram.
I'm studying electrical engineering and they make us draw UML state and transition diagrams.
I don't know how often they are actually used in the real world but they are pretty useful for arranging your thoughts.
i only it for generating ERP diagrams for the db
yes