Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I started studying Object Oriented Design and Modelling using the this book by James Rumbaugh. It uses a tool called Object Modeling Technique (OMT). I have certain newbie questions. I searched the net, but couldn't get answers

  1. The book is pretty old. Don't know why the school told me to learn this. I know OMT is a predecessor of the Unified Modeling Language (UML). So its a waste?

  2. Whether the concepts change very much when we move from OMT to UML? I know OMT has Object, Dynamic and Functional Model. Wikipedia says UML is compatible with OMT and UML is a model too.

  3. As per wikipedia the UML models are Static and Dynamic and they are represented by different diagrams like class, object, activity, sequence..... I couldn't find the equivalence of this in OMT.

  4. I read that there are many object oriented development methods like OMT, Booch,.... Which one is used by Industry ?

  5. Where could I get a comparison of different Object oriented development methods?

share|improve this question
2  
Don't take it close to the heart. Make your professor happy with whatever he wants to hear from you. The OOP is important yes, but every implementation in compileable languages is slightly different from each other. RTTI, Multiple Inheritance, Friend classes, Interfaces, Virtual, Dynamic, Generic etc. There is always a gap in features in every important language. The best and latest important compileable OOP language is C#. If C# has no particular terminology or feature or notation, then that part is not important. And perhaps even some of C# own features are not practically important as well. –  user7071 Jun 9 '12 at 2:50
    
@Rocket Surgeon: Sometimes the latest methodology or language is also the best, but I would not support this as a principle. So I would not say OMT is worse just because it is older: many ideas and methodologies are being tried out and more recent ones are not necessarily better. So it might be worthwhile to take a look at OMT and compare it with other methodologies. –  Giorgio Jun 9 '12 at 4:05
    
Exactly. So Important and Best are not the same things in software, and in digital hardware. Many papers, which could change the software world were never read. In software egos and actions win, the ideas loose. –  user7071 Jun 9 '12 at 11:28
1  
@RocketSurgeon That's a bold claim about C# but i do agree it is a very well designed language and i also agree some features aren't really needed (LINQ, dynamic, etc). However, it's not really compiled in the native sense as C++ is, it runs on a VM like Java. Now allow me to make a bold claim to mirror yours. After using the D language i am firmly of the opinion that it trumps every other compiled language out there and compiles to a true native executable. Also D has been developed using real life experience of C++ to address shortcoming of that language. Take a look. –  Gary Willoughby Jun 9 '12 at 11:33
    
@Gary Willoughby: The nice thing about Rumbaugh's book about OMT is that it considers the chosen implementation language as an implementation decision and describes the whole methodology in a language-neutral way. You can also use Eiffel, Objective-C or even Ada or plain C to implement an object-oriented design. –  Giorgio Jun 9 '12 at 11:45
show 1 more comment

2 Answers

up vote 6 down vote accepted

The book is pretty old. Don't know why the school told me to learn this.

Because your professor thinks it is a good one? Object orientation is not a brand-new concept. And the concept does not depend on such details like if you are drawing the cardinality of an aggregation by using a star or a circle. The OMT book is not mainly about the graphical notation, it is mainly about object oriented modeling, which is a concept independent from the notation.

Whether the concepts change very much when we move from OMT to UML.

Learning OMT first will be no waste of time, as others have pointed out, UML is more like a superset of OMT. For example, the class diagram notation in OMT and UML is very similar, I guess you will grasp the notation differences in an hour.

As per wikipedia the UML models are Static and Dynamic and they are represented by different diagrams like class, object, activity, sequence..... I couldn't find the equivalence of this in OMT.

UML has some more diagram types compared to OMT, that's true. But class diagrams are the most important ones, and the differences are small. Real-world use of dynamic models is relatively seldom compared to class diagrams.

I read that there are many object oriented development methods like OMT, Booch,.... Which one is used by Industry ?

In the software industry IMHO you will find 90% of the companies using object oriented programming languages (but almost no diagrams), 9% using UML class diagrams and 1% using some additional tools like other UML diagrams or data flow diagrams (just my personal experience, YMMV).

Where could I get a comparison of different Object oriented development methods?

Enter "comparison of different Object oriented development methods" into Google, and you will probably find this link.

share|improve this answer
    
So 100% of software companies use OOP? –  tdammers Jun 9 '12 at 7:24
    
You mean the company I work for is in that 9%? –  Giorgio Jun 9 '12 at 7:59
    
@tdammers: I guess almost 100% are using an OOP language. That does not mean they do really OOP. You can write FORTRAN in any language. –  Doc Brown Jun 9 '12 at 10:27
    
I've worked at companies where the UML was done after the code was written, and put into a document never to be seen again. I've always found it overrated myself apart from sequence diagrams. –  James Jun 9 '12 at 11:08
    
James: There are people who learn most reliably by seeing pictures. This is what both OMT and UML rely on. If you learn some other way, then choose something else. –  tp1 Jun 9 '12 at 12:01
add comment

UML is a much larger modeling language than is OMT--the former basically a superset of the latter. Because of this, any book on UML is going to contain a lot of stuff that will probably be more confusing than useful to a novice. However, the book on OMT is very focused on something anyone trying to describe objects probably needs to know, and so it's a pretty good choice for a class.

Moreover, Rumbaugh is basically the MAN for this stuff. What he brought to Rational was the foundation for UML. This is foundational stuff--not a waste at all.

share|improve this answer
    
+1: I agree. I use the OMT book for reference because it deals with object orientation at a quite general level (even though it focuses on a specific methodology). IMO it contains a lot of useful information. I also like it because it is programming-language neutral. –  Giorgio Jun 9 '12 at 7:57
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.