Books I read


These books are listed in the order that I read them. I will be adding more books, the ISBN numbers etc.

My rating system has three levels:

When it's not one of these three (which means I was disappointed), I'll rate it with "So-So", "Bad" or something like that.

Object Technology: A Manager's Guide

Very clear introduction to object technology. In my opinion it's a bit heavy on hailing the benefits of OO. Still, a book that makes a concept clear to managers must have been written veeery clearly ;-). Still, just about every book related to OO will have a chapter or two on the concepts, so a separate book on the subject isn't really necessary.

Authors: David A. Taylor
Addison Wesley, ISBN 0-201-30994-7
Rating: Nice To Have

Object-Oriented Modeling and Design

This book presents the OMT method, one of the methods that went into the Unified Modeling Language (UML) and the Rational Unified Process (RUP). It used to be a must-have, but I think that nowadays you could just as well buy the RUP and UML books.

Authors: James Rumbaugh, Michael Blaha, William Premerlani, Frederick Eddy, William Lorensen
Prentice Hall, ISBN 0-13-630054-5
Rating: Nice To Have

Object-Oriented Software Engineering: A Use Case Driven Approach [OOSE]

Even though OOSE has gone up in the Rational Unified Process, this is still a book that is very current. Here Jacobson presented use cases and some very good insights on components in organisations. Jacobson practised CBDi avant la lettre. This book is certainly not just about use cases!

Authors: Ivar Jacobson, Magnus Christerson, Patrik Jonsson, Gunnar Övergaard
Addison Wesley, ISBN 0-201-54435-0
Rating: Should Have

The Art and Science of Smalltalk

Very good introduction to what Smalltalk is about: the book explains all those things that made Smalltalk famous: Model-View-Controller, the dependency mechanism, pluggability and adaptors and more. Interesting for non-Smalltalkers as well.

Authors: Simon Lewis
Prentice Hall, ISBN 0-13-371345-8
Rating: Nice To Have

Design Patterns: Elements of Reusable Object-Oriented Software [GOF]

The book that started the patterns movement. It is more a reference guide than a book with a "story". This book showed me what good OO design should look like. This book is a must-have, especially because most of the pattern names have become part of the lingo, like Observer, Singleton, Visitor, Flyweight etc. By the way, GOF stands for Gang-Of-Four, referring to the four authors of the book, which make the patterns from this book the "GOF patterns".

Authors: Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides ("Gang of Four")
Addison Wesley, ISBN 0-201-63361-2
Rating: Must Have

Object-Oriented Software Construction 2nd ed. [OOSC2]

Landmark book on OO. This was the first book I read that presented the theoretical foundations for OO, and proved them right. It is crammed with good advice and guidelines.

Author: Bertrand Meyer
Prentice Hall, ISBN 0-13-629155-4
Rating: Must Have

Pattern Languages of Program Design 1 & 2 [PLOPD]

I've got two of the now four volumes of this series. These books are very interesting because they present patterns in the broadest sense. Again a lot of these patterns have become part of the vocabulary like Product Trader.

Editors: Coplien, Schmidt, Vlissides, Kerth
Addison Wesley, ISBN 0-201-60734-4 (book 1), ISBN 0-201-89527-7 (book 2)
Rating: Nice To Have

Pattern-Oriented Software Architecture: A System of Patterns [POSA]

Another book on patterns. It complements the GOF book very well because it presents patterns at several layers of abstraction, whereas the GOF book patterns all have the same abstraction level. Especially the architectural patterns are interesting because they explain some of the most important architectures used like Microkernel, Broker, Layers, Model-View-Controller etc.

Authors: Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad and Michael Stal
Wiley, ISBN 0-471-95869-7
Rating: Should Have

Analysis Patterns: Reusable Object Models [AP]

Analysis patterns are for capturing the "user model". Martin Fowler did a tremendous job in capturing these patterns. Just like the with GOF book, I notice that the pattern names are starting to become standard vocabulary. We all know what Quantities and Observations are, right?

Author: Martin Fowler
Addison Wesley, ISBN 0-201-89542-0
Rating: Should Have

UML Distilled: Applying the Standard Object Modeling Language

The introduction to the Unified Modeling Language. 'Nuff said.

Authors: Martin Fowler, Kendall Scott
Addison Wesley, ISBN 0-201-32563-2
Rating: Must Have

Anti Patterns: Refactoring Software, Architectures, and Projects in Crisis

This book presents patterns in another way: first it tells you the "thing that is wrong", then it gives you a refactored solution. It has a broader scope than just software and is a good read, if just for the anecdotal evidence of each pattern. This book also introduced some common vocabulary like The Blob, Stovepipe and Lava Flow.

Authors: William H. Brown, Raphael C. Malveau, Hays W. "Skip" McCormick III and Thomas J. Mowbray
Wiley, ISBN 0-471-19713-0
Rating: Nice To Have

The Mythical Man-Month [MMM]

I bought this book because it was being referred to so often. And boy, what a book. The original was written in 1975. The tragedy is that the book is still very current at this time. I guess the IT business doesn't learn from its mistakes... Its basic postulation is: the man-month as a unit for measuring the size of a job is a dangerous and deceptive myth. And this is only one of his thought-provoking chapters... Every Pointy-Haired Boss should be given a copy.

Authors: Frederick P. Brooks, Jr.
Addison Wesley, ISBN 0-201-83595-9 (make sure it's the 1995 anniversary edition)
Rating: Must Have

Catalysis: Objects, Components and Frameworks with UML [Catalysis]

This is my favorite work on OO Analysis and Design. It was the first book I found that showed me how to really work with components, OCL, frameworks and lots more. This is not a book that you will be able te read in one go. It is crammed with so much information that sometimes even half a page would dazzle me. This book inspired me to the method I use today to do OOA&D.

Authors: Alan Cameron Wills, Desmond D'Souza.
Addison Wesley, ISBN 0-201-31012-0
Rating: Should Have

The Object Constraint Language: Precise Modeling with UML [OCL]

Believe me, when you read the Catalysis book, you'll get interested in OCL. This book presents OCL without the extensions that are proposed by the Catalysis book. I agree with Wills and S'Souza, so I use their extentions as well.

Authors: Jos Warmer, Anneke Kleppe
Addison Wesley, ISBN 0-201-37940-6
Rating: Should Have

Applying Use Cases: A Practical Guide

Hmmm... I don't know what to think of this book. It's a good introduction, no doubt, but well... I simply don't agree with the "make all the use cases first" method that it uses. I prefer an iterative approach with an analysis object model alongside any use cases. This approach is simply not mine. But to be fair, the book delivers what it promises.

Authors: Geri Schneider, Jason P. Winters
Addison Wesley, ISBN 0-201-30981-5
Rating: Nice To Have

The Unified Modeling Language Reference Manual

Important book, if only because the "Three Amigos" wrote it. It is an in-depth reference of UML. However, if you just start to read it you'll find lots of nice information. It's more than just a reference.

Authors: James Rumbaugh, Ivar Jacobson, Grady Booch
Addison Wesley, ISBN 0-201-30998-X
Rating: Should Have

Smalltalk Best Practice Patterns

I read this book long after I used Smalltalk regularly, and had been using Delphi for quite some time. Even so, the ideas in this book were very useful, teaching you what good coding is and giving a vocabulary for these code structures like Lazy Initialization and Execute Around Method. A must-read that is a great companion (precursor to?) to the Refactoring book.

Authors: Kent Beck
Prentice Hall, ISBN 0-13-476904-X
Rating: Nice To Have

Seamless Object-Oriented Software Architecture: Analysis and Design of Reliable Systems

Another Eiffel book. I must admit that I didn't read it completely, but what I read was certainly very interesting, It leans heavily on Eiffel and the BON notation. The book isn't very easy to read.

Authors: Kim Waldén, Jean-Marc Nelson
Prentice Hall, ISBN 0-13-031303-3
Rating: So-So

An Object-Oriented Introduction to Data Structures Using Eiffel

I never studied Computer Science, so I never learned anything about data structures. This book was the first one I could find that presented data structured in the object-oriented way. This book is geared towards the use of Eiffel, but it explains the concepts behind it as well.

Authors: Richard S. Wiener
Prentice Hall, ISBN 0-13-185588-3
Rating: Should Have (a book like this)

Reusable Software: The Base Object-Oriented Component Libraries

This book presents the base Eiffel libraries and - more importantly - the ideas and concepts behind them. Although this is based heavily on Eiffel, when Betrand Meyer speaks, we should listen. A solid read for all library producers.

Authors: Bertrand Meyer
Prentice Hall, ISBN 0-13-245499-8
Rating: Nice To Have

Extreme Programming: embrace change [XP]

This book, like some others I read, put the finger on lots of ideas I - like many software professionals - knew but could not put into words. Kent Beck took these ideas, drove them to their logical extremes and came up with... something that works unexpectedly well. Kent presents the case for XP in this book. Even I you don't agree with everything, this book will change the way you look at making software for ever.

Authors: Kent Beck
Rating: Must Have

Refactoring: Improving the design of existing code

Martin Fowler does it again: taking something not-so-simple and putting it in a book so that it becomes a basic tool of the trade. Here he shows how to improve code into well-designed, robust code. The code examples are Java. I believe this is something every software professional should be able to do.

Authors: Martin Fowler (contributions by Kent Beck, John Brant, Don Roberts and William Opdyke)
Addison Wesley, ISBN 0-201-48567-2
Rating: Must Have


Home - e-mail - Sitemap