"Classical and Object-Oriented Software Engineering", 6/e is designed for an introductory software engineering course. This book provides an excellent introduction to software engineering fundamentals, covering both traditional and object-oriented techniques. Schach's unique organization and style makes it excellent for use in a classroom setting. It presents the underlying software engineering theory in Part I and follows it up with the more practical life-cycle material in Part II. A running case study through the second half of the book helps students apply software engineering principles to a real project. The book has been updated to use the Unified Process model throughout, making the text more practical and modern. The material has also been revised to conform to the latest ISO/IEC 12207 standards. Additionally, the references and examples have been thoroughly updated to appeal to today's student.
3.0 out of 5 stars Pick a Methodology, Any Methodology June 18, 2008
Stephen R. Schach's "Object-Oriented & Classical Software Engineering" (7ed) is an OK book: it's not bad, but it could certainly be better.
First, some minor quibbles: even though the typography and editing is good, I'm not all that enamored with the color scheme: the orange and black theme is too much like a pumpkin. I know it's trivial, but I thought I'd just pass it along. A little more meaningful is that Schach seems to place too much emphasis on definitions. I don't need multiple reminders of the differences between things like corrective, perfective and adaptive maintenance. It would be better if he just focused on the function and not on the definition. For university use, I suppose this is OK. But, I found it a bit irritating.
The medium-level problem with the book is that there's a lot of temporal shift in the presentation: he would talk about some model or methodology in terms that implied it was the latest and greatest thing. Yet, it had been around for decades. This is probably a function of the overall age of the book: this is the 7th edition.
Most importantly, Schach needs to pick a methodology and stick with it: either talk about the classical methodology or the object-oriented one. Not both. Nowadays, most people probably work with, and are interested in, an object-oriented methodology. Having 1/3 of a book filled with the classical methodology is useless to them. Ditto for those people still working in a classical environment: they won't care about 2/3 of the book. And, for those people who are in a classical environment and want to move to an object-oriented one, there's really nothing in the book that will help them with the transition. If he removed the classical material from the book and published a "how to transition" book instead, that would be great.
Again, it's not a bad book. But, it's not that great. I rate it at an OK 3 stars out of 5.
It is one of the best book for understanding the organized and classical object oriented software engineering. Really enjoyed reading it, the book have some great examples and easy to undertand.