NOTE: You are looking at the PDF version. If you have an iPad or Mac, the book is also available in the Apple iBook Store. We recommend iPad owners buy the iBook version for the best reading experience.
This is a book about Object Oriented Analysis (OOA). Our original idea for this book was a simple volume of worked examples to be sold as a companion to our best-selling, "UML 2 and the Unified Process". We’ve had lots of requests over the years for a really complete worked example.
However, as we began to write we became very aware that throughout the construction of the examples we were using particular thought processes and techniques that had been hard learned by us over many years of analysis and design. Nowhere (to our knowledge) had these thought processes and techniques been made explicit. In fact, until we had the leisure to work on these examples relatively free of time constraints, we had not even been consciously aware that we were using them. This is why we call them "secrets".
Other OOA books, such "UML 2 and the Unified Process", tell the novice what to do when, and are very valuable and relevant. In fact, they are an essential prerequisite for a book such as this.
However, they tend not to cover the how of OOA that experienced modelers apply often intuitively and unconsciously to get great results. After many years teaching OOA we observe again and again that beginners to analysis and design, even if told exactly what to do and when to do it, generally don’t get the same quality of results as experienced analysts. Something is missing - the how that only the experts have. Thus a larger idea for this book was born.
We decided to model what we, as experienced analyst/designers, do and how we do it. Our goal is to impart this knowledge to you, the reader, in as efficient and entertaining a way as possible. We call the book “Secrets of Analysis” because the techniques we present here have been, until now, self-secret. That is to say no one has been consciously hiding them, it is just that the inner process of analysis, the how part, has never before been presented in a book such as this.
We call our approach Generative Analysis: It is generative because its focus is on generating information - how you capture information and how you transform information into new, more specific forms of information that take you ever-nearer to your goal.
It is analytical not so much in the specific sense of OO Analysis but rather in the general sense in that it uncovers basic principles.
In summary, this book is very different to other books on OOA because (as far as we know) it is the first to explicitly present the how, the inner processes you go through in order to get the results you need. One of our early reviewers called this book revolutionary, because it can revolutionise how you approach software engineering and how you think about software. This is testable: we set out to answer the question "how do you do OO analysis"? Your success as an OO analyst is the measure of how well we have managed to answer that question for you.