REVIEW - Classical and Object-Oriented Software Engineering with UML and C++

Title:

Classical and Object-Oriented Software Engineering with UML and C++

Author:

Stephen R. Schach

ISBN:

0071167617

Publisher:

McGraw-Hill (1999)

Pages:

616pp

Reviewer:

Tim Penhey

Reviewed:

August 2000

Rating:

3 out of 5

I think that this book does a reasonable job teaching a very dry subject. Recommended as a textbook.

I remember being told that if you are going to give a negative remark, always start and finish on a positive. This book markets itself as a textbook for teaching Software Engineering and as a textbook I find it reasonably good.

The book is split into two parts. The first talks about software lifecycles and issues with software development, while the second covers each of the steps in the software lifecycle in more detail. The content of the sections has all the usual boredom that you would expect from a textbook. However there are occasional boxes titled 'Just in case you wanted to know' that hold interesting bits of information.

The subscript to the title of this book is With UML and C++. I find examples that refer to

title : char[41]
in a class diagram as opposed to
title : string
somewhat lacking in the C++ field. The introduction to the book says that although the code examples are written in C++, they prefer to make the code more accessible to readers that are not C++ experts as opposed to using good C++ style. I think that using strings is much easier for people from either a Java or Pascal background to pick up rather than char[41]. I also found it interesting that one of the 'Just in case you wanted to know' boxes told me that C++ programmers would use
queueLength += 1;
to increment a variable rather than
queueLength = queueLength + 1;
Personally I use
++queueLength
.

Each chapter has a section for problems. These I expect are discussion questions that would be talked about at the end of a lecture. As far as a textbook for teaching software engineering at the university level, I think that this book does a reasonable job teaching a very dry subject. Do not expect to learn UML or C++ though. Recommended as a textbook.


Book cover image courtesy of Open Library.