Designing Object Oriented Software
Designing Object Oriented Software by Rebecca Wirfs Brock and others
[ISBN 0136298257] An early (1990) book about designing object-oriented software. Well-known for its "behaviorist" approach; for ResponsibilityDrivenDesign and the use of CrcCards.
A vastly underutilitzed book, imho. It appeared in 1991, and I have been unable to update from its contents much since then, even trying deliberately in 1995. One of the reasons it is underappreciated (I think) is because of the honesty in its title. It doesn't say: Analysis and Design - only Design (which is where the action is, anyway), and it doesn't say Systems, only software (though it's completely applicable to systems design). So it maybe got beaten out by all the "A&D of OO Systems" books, which typically have much less useful info.
If you are doing "design" (which may be rare these days), and you actually care to do "OO" design (even rarer, but making a small comeback), then get and study this book for its techniques and thinking patterns.
This book is still selling, in 2004, which is a pleasant surprise to me. Although perhaps undervalued, it has sold over 50,000 copies. So I am happy with that. Here's hoping the my new book on object design (an update to this book) will provide designers new and fresh views on responsibility-driven design. My new book is ObjectDesign: Roles, Responsibilities, and Collaborations, [ISBN: 021379430] -- RebeccaWirfsBrock
The IvarJacobson (UseCase) approach to A&D is what the actors expect/need from the SystemUnderDiscussion, while this book�s approach to A&D is what are the responsibilities held by the classes and the collaborations where they (the classes) participate that can serve the actors� needs. -- Gast�nNusimovich