REVIEW - Software Engineering - A Practitioner's Approach

Title:

Software Engineering - A Practitioner's Approach

Author:

Roger S. Pressman

ISBN:

0077094115

Publisher:

McGraw-Hill Science, Engineering & Mathematics (1997)

Pages:

852pp

Reviewer:

Francis Glassborow

Reviewed:

February 1998

Rating:

★★★★★

If you consider yourself a professional developer you should have this book near the top of your reading list. Even if you have read an earlier edition you should still read this one.

This is another instance of a new edition of a classic book for those in software development. It traces its origins back to the 1982 first edition and has been substantially re-written and extended between the third and fourth editions. What is less obvious is that the version available in the UK has been further extended and modified by Darrel Ince to incorporate extra material such as that on ISO 9001, concurrent formal methods, the SPICE ISO initiative and Intranet developments. All that extra and for considerably less than you would pay for the US edition (European AdaptationĀ£24-99, US Edition $57-75 orĀ£65-99 if you insist on buying less for more) While I believe that most people claiming to be software engineers are simply adopting a grandiose title with no substance behind it, the author of this book is one of those who conceived of the potential discipline many years ago and has spent much of his professional life promoting it.

I have no doubt that this book should be on every Computer Science/Software Engineering student's reading list. I fear that some will skip reading it because it is so large (I remain cynical about the average student) however those that try it will find that it is much more readable than many of the texts on their reading lists. The result will be that it actually takes them less time to read with understanding than many books a third the length. In addition those who aspire to being genuine software engineers (sadly in my opinion a small minority of those in software development) should find the time to read this book.

The book covers almost all aspects of the subject. It starts with a detailed study of product (application, etc.) and process (the mechanisms both formal and informal that result in a product). The ability to recognise the importance of the process is one of the characteristics of those reaching to become software engineers. It continues with a section on that vital element, the management of software projects. Without appropriate management you lack the framework for an engineering approach. Think about the number of companies who have got as far as recognising the desirability of coding standards but have no mechanism for monitoring their use.

The next two sections cover Conventional (procedural, dataflow etc.) and OO Software Engineering from analysis, through design to testing. These are the guts for the normal practitioner but without a thorough understanding and application of the earlier parts a focus on these would be building on sand. The book concludes with an advanced section covering such things as formal methods, cleanroom software engineering etc.

If you consider yourself a professional developer you should have this book near the top of your reading list. Even if you have read an earlier edition you should still read this one. How you get your manager to read it is another issue. Perhaps you shouldn't work for employers whose managers lack time and motivation to keep up to date.


Book cover image courtesy of Open Library.