• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Does UML sometimes make more confusion than helps?

 
Rogerio Kioshi
Ranch Hand
Posts: 690
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Once I tried to use class diagram to represent my model, but most of the people (specially older ones) doesn't understand nothing about it (composition, agregation, association, etc)... they just understand relational database models. In these cases using UML should be avoided?
 
Matt Weisfeld
author
Greenhorn
Posts: 24
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

In my writings and when I teach programming, I like to use UML class diagrams as a graphical way to assist in the learning process. I find that UML class diagrams are really good for demonstrating how to model systems and show relationships between classes.

Matt
 
William Brogden
Author and all-around good cowpoke
Rancher
Posts: 13074
6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Confusion? Man! You should have seen the confusion before UML came along.

Every OO consultant / teacher had his own diagramming notation with clouds, boxes, vectors, dotted lines, you name it and somebody was pushing it and claiming proprietary rights to it.

See this Wikipedia article for some history.

Bill
 
Matthew Brown
Bartender
Posts: 4568
9
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If you're trying to illustrate an object-oriented design to people that only understand relational models, I'd suggest that it isn't the particular notation that you're using that is the problem.
 
Junilu Lacar
Bartender
Pie
Posts: 7804
62
Android Eclipse IDE IntelliJ IDE Java Linux Mac Scala Spring Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If you are trying to communicate with someone who understands only French, should you avoid speaking to them in German? Absolutely! It's the same deal with UML. The goal is to communicate ideas, not to draw. That being said, you can still start off with simpler UML diagrams and slowly educate other members of your team on the finer points of UML.
 
Matt Weisfeld
author
Greenhorn
Posts: 24
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Again, I do like using the UML class diagrams to represent the models. Basically, I can model the attributes (public/private) and methods in a small, concise manner. I can also represent inheritance and composition (aggregations and associations) relationships in a straightforward manner. Since there are only several concepts involved: attributes, methods, inheritance and composition, I find the class diagrams to be pretty useful.
 
Sunderam Goplalan
Ranch Hand
Posts: 86
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yes, UML diagrams are useful to depict the model of a System, both to the business users and developers. As an architect, I firmly believe that an understanding of UML is essential
to communicate our ideas succinctly.

1) Describing the System in words in the English language can be ambiguous. UML diagrams cannot be ambigious. For instance, if one were to draw Use case diagrams, one can
clearly show what each actor's role is and what that role means.
2) Class diagram is useful to show the Object model to the developers. Some tools simple generate the boilerplate model code from the fields in the UML.
3) It's easy to explain the flow of messages to business users using Sequence diagrams. When I read sequence diagram of a new system, it becomes clear to me as to what the system seeks to accomplish.
I dont want to read a 10 page document -
4) Component diagrams are helpful in communicating the architecture to the developers. Developers can take the component diagrams and implement the functionality without much help
 
Matt Weisfeld
author
Greenhorn
Posts: 24
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
My approach is to use several different types of tools to try and help people understand object concepts. For some people, the light bulb may go on by writing small bits of code and seeing what works and what doesn't. For others, something more graphical in nature might do the trick. The bottom line for me as I have been training/teaching is to use several techniques to try and explain the concepts in the hopes that one technique or a combination of the techniques will do the job.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic