Solved

OOAD: Reference and Educational Materials

Posted on 1999-01-22
6
392 Views
Last Modified: 2008-02-26
I've been programming for nearly 17 years now, and have up to now been able to get away with performing very little analysis work and my designs have always come to me during experimentation and prototyping.  Most of my applications up to this point have been rather trivial in size and complexity.  I now find myself being moved into roles of greater responsibility for the overall analysis, design and management of larger and more complex projects.

I've started reading about object oriented analysis and design techniques and it seems like a great methodology to adopt, however where are the tools?  Rational Rose had the Microsoft Visual Modeler included in the latest rev of Visual Studio, it has a lot of great features, but it doesn't seem stable enough to rely on for large projects.

So what I need is some pointers to online educational materials (or actual books) regarding the ooad process as well as some pointers to excellent ooad applications.  Freeware would be ideal, (I don't think I'll be so lucky) but a fully functional demo would be great too.  I'd like to mostly hear from anybody who is in a role similar to what I described above, however any input would be great.

Thanks,
-Ray
0
Comment
Question by:rayb
6 Comments
 
LVL 2

Author Comment

by:rayb
ID: 1184866
BTW, I'm also mostly concerned with UML as it seems to be the emerging standard.

-Ray
0
 
LVL 4

Expert Comment

by:nil_dib
ID: 1184867
A good book is "Object Modelling Technique"
from James Rumbaugh.
Look also for articles and books from Grady Booch and Edward Yourdon.
These three guys are the gurus in OO and the fathers of UML.
0
 
LVL 3

Expert Comment

by:rmichels
ID: 1184868
my 2 cents :)

I was in your shoes a few years ago, moving into OOAD with OMT (prior to UML).  I have probably about 120 hours of instruction on OOA, OOD and applying C++ to OMT.

We sort of created a hybrid model to fit our needs.  If you follow OOA/OOD to the n-degree..you will have spent many many months doing conceptual design and modelling.  We found that was too much with business needs/desires. Doing a good object model and then prototypeing it was the way to go..and interate the model from there.  Also doing the object interaction diagrams was very useful to develop methods and attributes.

You also have to be careful of your implementation model.  For examlpe VB does not support inheritance directly (though you kindof kludge it)..so a true object model would not fit.

C++ with COM had similar problems...you do thing more by aggregation/delegation (but that is changing with COM++).

I guess my bottom line advice is: Don't get too wrapped up in performing the pure tasks with appying reality check, you can iterate forever on an object model..cause there never is really a true correct way to do them.
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 2

Author Comment

by:rayb
ID: 1184869
In response to rmichels...

This is good advice...
Perhaps as I continue reading the materials that I have, this will become apparent, but, how do you know when you've analyzed and designed enough?  I'm sure there is no RIGHT answer to this question, but still, how do you know when you've designed far enough?  If you go only half way then your developers may follow your poorly thought out design and wind up painting themselves into a corner.  Then on the other hand, if you take it too far, the developers may consider you to be too oppresive and stiffling their creativity.

-Ray
0
 
LVL 1

Accepted Solution

by:
arbitrary earned 50 total points
ID: 1184870
The best thing you should do is read the book "Design Patterns"
by Erich Gamma,Richard Helm,Ralph Johnson and John Vlissides .
(Addison-Wesley).
it's the best refference in the market and it shows the best techniques for writing reusable object oriented code via a series of known design patterns.
so far it solved me a lot of problems.

0
 
LVL 2

Author Comment

by:rayb
ID: 1184871
Took me awhile to look through those titles, but they are quite good.  Thanks.

-Ray
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Written by John Humphreys C++ Threading and the POSIX Library This article will cover the basic information that you need to know in order to make use of the POSIX threading library available for C and C++ on UNIX and most Linux systems.   [s…
C++ Properties One feature missing from standard C++ that you will find in many other Object Oriented Programming languages is something called a Property (http://www.experts-exchange.com/Programming/Languages/CPP/A_3912-Object-Properties-in-C.ht…
The goal of the video will be to teach the user the concept of local variables and scope. An example of a locally defined variable will be given as well as an explanation of what scope is in C++. The local variable and concept of scope will be relat…
The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now