Solved

OOAD: Reference and Educational Materials

Posted on 1999-01-22
6
389 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
Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

 
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

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

When writing generic code, using template meta-programming techniques, it is sometimes useful to know if a type is convertible to another type. A good example of when this might be is if you are writing diagnostic instrumentation for code to generat…
Errors will happen. It is a fact of life for the programmer. How and when errors are detected have a great impact on quality and cost of a product. It is better to detect errors at compile time, when possible and practical. Errors that make their wa…
The viewer will learn how to user default arguments when defining functions. This method of defining functions will be contrasted with the non-default-argument of defining functions.
The viewer will be introduced to the technique of using vectors in C++. The video will cover how to define a vector, store values in the vector and retrieve data from the values stored in the vector.

758 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

17 Experts available now in Live!

Get 1:1 Help Now