Author Topic: UML - Unified Modeling Language  (Read 2868 times)

0 Members and 1 Guest are viewing this topic.

Offline z64555

  • 210
  • Self-proclaimed controls expert
    • Minecraft
    • Steam
UML - Unified Modeling Language
Link: http://en.wikipedia.org/wiki/Unified_Modeling_Language

Has anyone ever heard of this, or better yet even used it? Today was the first time I ever came across it, and suffice to say I'm surprised I hadn't come across it sooner.
Secure the Source, Contain the Code, Protect the Project
chief1983

------------
funtapaz: Hunchon University biologists prove mankind is evolving to new, higher form of life, known as Homopithecus Juche.
z64555: s/J/Do
BotenAlfred: <funtapaz> Hunchon University biologists prove mankind is evolving to new, higher form of life, known as Homopithecus Douche.

 

Offline LHN91

  • 27
Re: UML - Unified Modeling Language
Heard of, yes. Used, unfortunately no. Sorry

 

Offline Rodo

  • Custom tittle
  • 212
  • stargazer
    • Minecraft
    • Steam
Re: UML - Unified Modeling Language
I'm covering this crap on several of my classes at the uni, not an expert but I might be able to help you.

What do you need?
el hombre vicio...

 

Offline z64555

  • 210
  • Self-proclaimed controls expert
    • Minecraft
    • Steam
Re: UML - Unified Modeling Language
Basically need to know if it's worth the time to learn. I've seen at least one Engineering job application that has it as a requirement... and oddly enough that application is for a microcontroller application.

Also, since I seem to be managing programming jobs for a handful of modders nowadays, I think it might be a good idea to learn something like UML so that I can graphically describe object-oriented systems and get things moving.
Secure the Source, Contain the Code, Protect the Project
chief1983

------------
funtapaz: Hunchon University biologists prove mankind is evolving to new, higher form of life, known as Homopithecus Juche.
z64555: s/J/Do
BotenAlfred: <funtapaz> Hunchon University biologists prove mankind is evolving to new, higher form of life, known as Homopithecus Douche.

 

Offline Rodo

  • Custom tittle
  • 212
  • stargazer
    • Minecraft
    • Steam
Re: UML - Unified Modeling Language
Well, on every subject I get that crap about it being "the right way" to do stuff, the argument behind this is basically that all the time you spend making the different documents/artifacts will compensate for the supposed time you'd be spending in re-engineering / fixing stuff.

Personally I find some of the documents of the UML useless (probably because I couldn't find anything usefull about them while making class projects), some other documents generated by the process are indeed quite usefull from a programmer / designer pov, eg: Class Diagrams, Sequence Diagrams, Use Cases (the full dressed ones are better, these explained on wikipedia differ from the ones we use on class, we only make written descriptions of the interactions / actions that occur between the actor and the system).

Learning it all will prove to be a pain in the ass, at least for me it is right now, note that I've never used this on any real project so far.. it just happens to be the main subject on two of my current classes.
« Last Edit: May 18, 2012, 11:43:10 pm by Rodo »
el hombre vicio...

 
Re: UML - Unified Modeling Language
I know I got a bunch of UML in my Software Engineering, and again we were required to use these diagrams in designing a compiler in Compiler Writing.

I find them a supreme pain in the ass, myself. Especially since there doesn't seem to be any standard tool for drawing the damned things, meaning everyone has a different one (I've seen StarUML, ArgoUML, Umbrello, LaTeX... bleh) that they're used to using, meaning nobody in your group will agree on which tool you're all going to use...

Damn, I hate UML. :blah:
"You need to believe in things that aren't true. How else can they become?" -DEATH, Discworld

"You can fight like a krogan, run like a leopard, but you'll never be better than Commander Shepard!"

 

Offline z64555

  • 210
  • Self-proclaimed controls expert
    • Minecraft
    • Steam
Re: UML - Unified Modeling Language
I find them a supreme pain in the ass, myself. Especially since there doesn't seem to be any standard tool for drawing the damned things, meaning everyone has a different one (I've seen StarUML, ArgoUML, Umbrello, LaTeX... bleh) that they're used to using, meaning nobody in your group will agree on which tool you're all going to use...

Supposedly the project manager/group leader chooses which program to use. Having everybody use a different tool than everyone else ends up with problems with keeping the group cohesive (which I'm sure you know). Also, I think it's probable that there hasn't been enough support behind any one of the UML tools to vindicate their usefulness.

Well, on every subject I get that crap about it being "the right way" to do stuff, the argument behind this is basically that all the time you spend making the different documents/artifacts will compensate for the supposed time you'd be spending in re-engineering / fixing stuff.

[rant]From what I've seen, it won't be you that will be re-engineering/ fixing stuff that wasn't built "the right way." No, instead you'll get a group of overworked guys stressing over what was built so that they can figure out what the heck you where trying to do in the first place. My dad works at an engineering firm that normally caters to chemical and manufacturing plants... and is one of those overworked guys.

It's not just him, either, I've had several times where I had to painfully trudge through program code that had little to no documentation, and just absolutely horrid formatting. And at least one of those times involved going through my professor's code![/rant]

I do, however, know what you mean. Persistent preaching of ideals gets on my nerves, especially when they say "Just do it because so-and-so said to do it" instead of "Do it like this, otherwise something like this, this, and/or this will happen."

Quote
Personally I find some of the documents of the UML useless (probably because I couldn't find anything usefull about them while making class projects), some other documents generated by the process are indeed quite usefull from a programmer / designer pov, eg: Class Diagrams, Sequence Diagrams, Use Cases (the full dressed ones are better, these explained on wikipedia differ from the ones we use on class, we only make written descriptions of the interactions / actions that occur between the actor and the system).

I think that's how pretty much everything that's less than 30 or so years old is like, we have to basically wait until people get enough experience and balls to distill out the worthless fluff from the useful stuff.



Secure the Source, Contain the Code, Protect the Project
chief1983

------------
funtapaz: Hunchon University biologists prove mankind is evolving to new, higher form of life, known as Homopithecus Juche.
z64555: s/J/Do
BotenAlfred: <funtapaz> Hunchon University biologists prove mankind is evolving to new, higher form of life, known as Homopithecus Douche.

 

Offline Flipside

  • əp!sd!l£
  • 212
Re: UML - Unified Modeling Language
I covered UML quite extensively in my Uni course. It's a useful tool, but there seems to be an attitude that you should design the entire program in UML before you touch a Development Kit, which is, to put it bluntly, pointless, because without doubt the finished product will only be mildly related to the original plan with regards to structure. Sometimes you don't realise you need a class or variable until you are actually writing the code or, even worse, the code structure forces to do things differently (for example, Java only allows one Superclass, whereas, iirc, C++ allows several, so that can change the design structure of the code).

I tend to use UML side-by-side with development, I draw a quick, rough UML diagram to describe what I'm looking for, and then use that merely as a guideline, rather than a blueprint of the code.

Use-Case diagrams, on the other hand, are beyond useless.

Edit: The other thing that pisses me off is that there seems to be no consensus on what to call things when dealing with Object Oriented stuff and inheritance, you start sitting there asking 'Is that an Extended Class or an Interface because the language uses a different term to the UML?"
« Last Edit: May 20, 2012, 01:07:10 am by Flipside »

 

Offline Tomo

  • 28
Re: UML - Unified Modeling Language
Sometimes you don't realise you need a class or variable until you are actually writing the code
The theory behind designing in UML or some other abstract technique is to ensure there aren't any surprises like that.

Of course, that doesn't mean it actually works, as the other issue is that the waterfall method of software design simply doesn't work as no customer can ever properly define their needs until the prototypes have been demonstrated, and rarely even then.

The other big thing UML is intended to help with is passing the library or program on to somebody else - there are a lot of really good libraries out there that are actually near-impossible to use because their documentation is poor or doesn't exist.

As an example, at work we have a core library pack that is needed for a lot of projects. The library itself is fairly well-designed, flexible etc, and each module has fairly good documentation.
However, the way everything works together is barely documented and thus it's almost impossible to learn to use unless you can spend several weeks on nothing else.

 

Offline Flipside

  • əp!sd!l£
  • 212
Re: UML - Unified Modeling Language
Yup, I'm not saying that UML is useless, far from it, but I just think it should be used alongside development, rather than as a pre-coding stage, and for much the same reason as you code a small bit, and then test it, rather than writing an entire monolithic program and leave yourselves 1000s+ lines of code to debug :)

Will agree that it is, however, extremely useful when dealing with someone else's code.