Professor Henderson-Sellers gives us a thorough, academic tour through Object Orientation. The book is aimed at newcomers who want to learn the principles of object technology and it certainly covers all the topics. You need to have a grounding in the basics of software engineering, but that probably covers everyone reading this review. The text itself is dry, but easy to read. There are 7 chapters.
Chapter 1 is a brief introduction describing the structure of the book.
Chapter 2 deals with OO terminology and intro-duces the OO paradigm (inheritance, encapsulation, polymorphism).
Chapter 3 expands the discussion of OO software engineering by looking closer at encapsulation and modularity. The Quality buzzword is introduced.
Chapter 4 examines OO systems development. The OO development life cycle is contrasted with the tra-ditional approach. Various models and methodologies are described. This is quite a useful literature survey. Chapter 5 goes on to look at object modelling. Both static and dynamic models are described and an example bank account design is produced.
Chapter 6 concentrates on implementation concepts for all OO languages. He defines what features are necessary for a language to be considered an OOPL and contrasts the features/terminology of some of the more common OOPLs available today.
Chapter 7 looks at challenges for object technology - migration issues, object management, standards etc.
Each chapter has a small bibliography and there are two extensive bibliographies at the end of the book. So, if you're stuck for reading, look no further.
The tone of the text is much as one would expect from a university lecturer, which should come as no surprise. The BOOK (Book of Object Oriented Knowledge!) is peppered with 'Exhibits'. These look suspiciously like overhead projector slides once used for a lecture course and now pressed into service as space fillers in the BOOK (there are 191 exhibits on 226 pages). They are helpfully numbered from 1 to 191 (just in case you need to find a specific one in a hurry). I reproduce 'Exhibit 29' for you below (omitting only the highly graphic box that surrounds it in the book):
How are these
Software Engineering
Concerns Addressed
in an
Object-Oriented
Approach?