The process of designing a modern, complex information system using object-oriented analysis and design techniques is described. The authors provide a generous amount of background information in systems analysis and design, including surveys of information engineering techniques and relational database design. Object-oriented concepts are discussed in detail throughout the book and integrated into the design process.
The book introduces a hybrid systems analysis technique called frame-object analysis, which combines features of earlier systems analysis methods with the newer object-oriented concepts. Frame-object analysis is then used to design a financial application.
This book has three strengths. First, it integrates object-oriented techniques with earlier techniques, such as dataflow diagrams and relational database normalization, and shows how these new techniques can be added to the designer’s toolkit of design representations. Second, it provides excellent surveys of relational database theory, object-oriented concepts, and information engineering. Finally, it shows object-oriented techniques being used in a traditional information systems application.
It also has some unfortunate weaknesses. The authors attempt to provide a design methodology with a worked-out example, and at the same time attempt to provide background tutorials on a variety of related analysis and design techniques. The focus of the book suffers from this dual purpose, and the reader may be confused as to what the book is about. Two good books may have been merged into one, and the whole is not greater than the sum of the parts.
In the fourth chapter, the authors survey five well-known information engineering techniques and then introduce their approach (frame-object analysis) as though it were in the same league with these widely accepted approaches. At the same time, they fail to mention Coad’s object-oriented analysis [1], which is comparable to the approach they introduce and is probably much more widely known.
Finally, the book suffers from some minor but distracting editorial errors. For example, in the second chapter, the topics introduced in the beginning are not the topics actually covered. This and other hints throughout the text suggest that the book may have been brought to market a little too quickly.
Individual parts of this book provide excellent treatments of specific topics. The survey of information engineering is excellent, as is the discussion of object-oriented concepts. As a whole, however, the book is less impressive. I cannot recommend this book without reservation, but I recommend considering it for a course in object-oriented systems analysis and design. I also recommend it for practitioners who view the new object-oriented design techniques as a thing apart from traditional analysis and design approaches.