Home Page -------------------
[Home Page] - [Reviews Main]
-------------------

Book Review
Object-Oriented Software Engineering (revised 4th reprint) by Ivar Jacobson
Recommended
ISBN: 0-201-54435-0       Publisher: Addison-Wesley       Pages: 528pp       Price: £29-95
Categories:   object oriented     engineering     modelling languages    
Reviewed by Eric Richards in C Vu 6-6 (Sep 1994)
This is a revised fourth printing of the book published in 1992. For existing owners the changes are minor, an example has been added which does not affect the rest of the book.

The subtitle is 'A use-case driven approach' and this indicates its unique strength. I have suggested in earlier reviews that the best approach to O-O is to read Booch's book first (particularly now that he has revised his notation to conform more closely to Rumbaugh's book on OMT and produced all the illustrations in C++) to get an overview and then read Rumbaugh to fill in details, especially if you are involved with relational databases.

Jacobsen's book is a harder read, partly because of the style, but if you only read three books on object-oriented design, this should be one of them. Jacobsen's 'use cases' are what others call scenarios and he presents convincing arguments for employing use cases based on user-specified requirements as the very foundation of O-O design.

This is the essence of the book. He makes a less convincing case for changing notations in mid-stream, just because any preliminary modelling of a system, mapping real-world entities onto computer objects, needs to be supplemented by classes concerned with implementation details such as the user interface. Recall that the Smalltalk community has long used model-view- controller or model-pane-dispatcher classes to similar effect and more recently visual Doc/View programming methods have been introduced into C++ classes by Microsoft and Borland, in every case without introducing wholesale notational inconsistencies. Although none of these class-based systems are mentioned in the book, you may find it helpful to keep one of them in mind while reading it and to relate its concepts to what Jacobsen terms entity objects, control objects, and interface objects.

The book is divided into three parts: Introduction, Concepts, and Applications. The second is the longest and most important. It repeats some of part one, which could be skimmed over by anyone familiar with the other texts I mentioned. Interaction diagrams are introduced in a way entirely consistent with the Booch and Rumbaugh texts. The book's most significant single sentence is 'The use case model may be expressed in terms of the domain object model, structured by the analysis model, realised by the design model, implemented by the (class) implementation model and tested in the testing model'. These successive elaborations provide a complete methodology that is more firmly rooted in the customer requirement specification than the alternatives.

The analysis model (which Jacobsen calls robustness analysis in presentations) is where he first introduces control and interface objects alongside objects corresponding to entities in the outside world, i.e. where he paves the way for Doc/View or equivalent concepts.

This is the best, almost the only, account of a significant addition to the received wisdom of O-O design.


Other Authors with the same surname

Jacobson
Information Design by Robert Jacobson  (Reviewed Jan 2000)
Object-Oriented Software Engineering by Ivar Jacobson [Recommended with Reservations]  (Reviewed Jan 1993)
Software Reuse by Ivar Jacobson  (Reviewed Jan 1998)
Unified Modelling Language Reference Manual, The by Booch & Jacobson & Rumbaugh [Recommended]  (Reviewed May 1999)
Unified Modelling Language User Guide, The by Booch & Jacobson & Rumbaugh [Recommended]  (Reviewed Mar 1999)
Unified Software Development Process, The by Jacobson [Recommended]  (Reviewed Sep 1999)


Last Update - 13 May 2001.

To link to this review, please use the URL: http://www.accu.org/bookreviews/public/reviews/o/o000921.htm

Copyright © The Association of C & C++ Users 1998-2000. All rights reserved.

Mirrored from http://www.accu.org/