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 : stringsomewhat 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.