954,224 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

What do you think about UML?

Hi! I've just passed a university subject which made me do a medium console-based game in Java. I had to do the design first with UML and then code the game.

I just found useful the Domain model (the first aproach of what's the point of the program) and the Class Diagram (what you really look when you are about to code), there was a lot of very heavy diagrams (Sistem sequence diagram) that I found that was larger and harder to draw a diagram than coding directly and well-commented because there were simple loops over a collection searching for a match.

What do you think about UML? do you think it's necessary to do all the diagrams (including all classes, attributes,methods...)of an application and then code?, or do you think the design model is just to not to code directly but have an idea about the classes that would have your application and the main methods?

freddypyther
Newbie Poster
14 posts since Jul 2007
Reputation Points: 10
Solved Threads: 1
 

I think UML is a good for documenting while you develop your software. Sometimes you don't know what you need to do until it's done and UML provides a set of models which, if used appropriately, document your system in an easily readable fashion.

Cerberus
Junior Poster
162 posts since Sep 2006
Reputation Points: 27
Solved Threads: 14
 

UML is great!... for selling books and useless corporate OO design seminars...

Ezzaral
Posting Genius
Moderator
15,985 posts since May 2007
Reputation Points: 3,250
Solved Threads: 847
 

Criticizing things without knowing where they are used and how they impact the software world is a bit uncalled for...

~s.o.s~
Failure as a human
Administrator
11,938 posts since Jun 2006
Reputation Points: 3,281
Solved Threads: 733
 
Criticizing things without knowing where they are used and how they impact the software world is a bit uncalled for...


Yes, ok, UML is not without value. I'm just still bitter from the Rational Process training seminars foisted upon us back when I was in a large corporation :icon_neutral:

Ezzaral
Posting Genius
Moderator
15,985 posts since May 2007
Reputation Points: 3,250
Solved Threads: 847
 

Ah..that explains things. ;-)

~s.o.s~
Failure as a human
Administrator
11,938 posts since Jun 2006
Reputation Points: 3,281
Solved Threads: 733
 

Yes, UML is a handy tool.
And yes, it's way overhyped (like most things in IT, sadly) by people using hypes to sell tools, books, and services.

It won't solve your problems for you, it is not a magic bullet. People won't suddenly transform from code monkeys to first rate developers of the class of a Martin Fowler or James Gossling when you give them a UML tool.
In fact they'll likely fall down another rung or two unless you also provide training to use those tools and actually understand what you're doing when using them (most training doesn't teach the second, only going through the motions of clicking and dragging together some diagrams without any understanding of what the diagram means).

jwenting
duckman
Team Colleague
8,392 posts since Nov 2004
Reputation Points: 1,662
Solved Threads: 337
 

At the moment I use a simple flowchart for the program I am working on. It has been especially helpful when I have gone back to make modifications or updates. Would UML be a better way to diagram my program and if so, is there any free software out there?

davidjhay
Newbie Poster
12 posts since Mar 2007
Reputation Points: 10
Solved Threads: 6
 

UML pretty much replaced flowcharts as the de-facto standard to visualise software design.
There's some free software, but it's not good enough to be useful in my opinion.

jwenting
duckman
Team Colleague
8,392 posts since Nov 2004
Reputation Points: 1,662
Solved Threads: 337
 

When given a codebase to understand, automatically generated overviews such as UML diagrams and maybe Doxygen views might help and seldom hinder.

When given a task and a clean slate, then you have to be somewhat aware of when to put down the charts and start writing code. As for automatic code generation from diagrams: I'd prefer not to as to get to that stage I would have to put far too much into the diagram.

- Paddy.

paddy3118
Light Poster
35 posts since Sep 2007
Reputation Points: 21
Solved Threads: 11
 

whoa..that's explain why deitel java book discuss UML too, better get back to those UML topics after i finish the book :s

upstream
Light Poster
43 posts since Sep 2007
Reputation Points: 10
Solved Threads: 1
 

UML is good for sketching, but that's about it... It in no way helps to raise the level of abstraction, and therefore, does not help to improve development... DSM does that.

jameshammond
Newbie Poster
1 post since Sep 2007
Reputation Points: 10
Solved Threads: 0
 

i am sorry for bumping the thread but i think it is better that i bump this one than to start a new and closely related thread.

i have read some up on UML tools and i get the impression that the tools can also generate some code. in fact wikipedia says that automatic code generation is now a standard or accepted practice in some areas.

firstly let me say that i have never used uml tools and i am only beginning to learn uml myself although i do understand a lot of it.

what i would like to know is how usefull is it for code generation. how far can it go to replace the programmer? it cannot replace the software engineer since the engineer specifies the high level logic. but remember that 4th gl and 3rd gl languages generate low level code so how far are we from the day that the uml diagrams generated by the software engineer replaces the programmer and generates the 4th generation code itself?

Ravenous Wolf
Junior Poster
164 posts since Aug 2007
Reputation Points: 33
Solved Threads: 1
 

Code generation sucks. The only people who believe some generator will ever replace programmers are the people who sell BPEL like tools.
I've been hearing that within 5 years there will be no need for programmers for at least the last 15 years, and from people who've been in the industry longer I hear it's been said for probably as long as people have been writing software.

4GL (which you probable refer to) languages have fallen almost completely by the wayside, as they were utterly incapable of making true even the least sweeping of their promises.
Instead they led to very poorly constructed code which was impossible to maintain and performed abysmally.

jwenting
duckman
Team Colleague
8,392 posts since Nov 2004
Reputation Points: 1,662
Solved Threads: 337
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You
View similar articles that have also been tagged: