From: Ishan on
On Dec 31 2007, 1:21 pm, Pandit <jala...(a)gmail.com> wrote:
> > On Mon, 31 Dec 2007 13:13:39 +0500, Pandit wrote:
> > 1.) Object-Oriented Analysis & Design with Applications -- Grady Booch
> > 2.) Object-Oriented Modelling & Design with UML -- James Rumbaugh
> > 3.) Designing Object-Oriented Software -- Wirf-Brock
> > 4.) Fundamentals of Object-Oriented Design in UML
> > -- Meillir page-jones
>
> sorry, I forgot to mention the full list of available books:
>
> 5.) MDA Distilled -- Stephen Mellor, Kendall Scott, Axel
> 6.) Object Oriented Software Engineering -- Ivar Jacobson
> 7.) Unified Modelling Language User Guide -- Booch, Rumbaugh & Jacobson
> 8.) UML Distilled --- MARTIN FOWLER
> 9.) Applying UML and Patterns : An introduction to OOA & D and iterative
> development -- Craig Larman

Just to add my two cents...

Out of the first 4 books, I have only gone through the first one, OOAD
with Apps by Booch. I would say it's pretty good to really grasp the
basics of OOA&D. But I read it after graduation and, IIRC, also after
working for about 1 year. Since you've done some programming I hope
you can digest it. The first part of the book is what you should read.
2nd part is about the process and the 3rd has some case studies.

The first part covers the topics of classification, abstraction etc.
really well. I must say that it is by reading this book that I
understood the concept of an object's *representation*. I would
certainly recommend Booch's book if you want the fundamentals of OOAD.

For UML... first read Fowler (No. 8 in your list) That is the best UML
digest I have found to date, truly keeping to its name. Read UML User
Guide to get the finer points of UML thereafter. Fowler's articles on
his site (www.martinfolwer.com) also helped me.

Another good source to get the basic principles of OOAD is to read
Robert Martin's "Designing OO C++ Apps with Booch Method". Although
this is dated, it's quite good. However, I'm not sure whether it's
available in this region (I'm from Sri Lanka) (However, the Booch
notation makes it a bit difficult to follow the examples). You can
also read Robert's articles published on his site
(www.objectmentor.com). Especially his articles on fundamental OO
principles such as the Open Closed Principle are very helpful.

Don't read Design Patterns until you are, I would say, really
comfortable with the basics of OOA&D. You will not know how to
appreciate a design pattern until after you go through lot of
programming problems.

And finally... keep in mind that no one book will suffice. You have to
read many books many a times. (I now have over 5 years of working
experience and I still re-read these books sometimes) Don't stop
reading until a concept really struck you from within... I mean until
you are able to *visualize* things without the help of books, diagrams
etc. It's really difficult to explain it, but you will know it when
you get to that state.

HTH,
Ishan


PS:
I, too, agree with Pandit about the un-affordability of books in this
region. The shipping costs and the exchange rates really put some
quality books out of our reach. :(

--

Ishan De Silva
-- Blogs are ideal for Personal Knowledge Bases --
[http://personal-knowledge-base.blogspot.com/]