www.btinternet.com/~adrian.larner/review/pressman

Software Engineering: A Practitioner's Approach
Roger S Pressman (adapted by Darrel Ince)

McGraw-Hill, 1994, 801pp, softbound, £22.95

ISBN 0 07 707936 1

A Review by Adrian Larner for the Computer Journal

 

 

This is the European, and scarcely changed, version of the 3rd edition of Pressman’s Software Engineering. Current trends in this subject point to textbooks weighing several tons by the next millenium, but the increment from the (1992) international 3rd edition to this one is tiny. Darrel Ince has added a few words on software quality, including ISO9001 (a topic as fascinating as watching paint dry), and has rewritten the section on formal methods, mostly Z (wisely taken from Spivey's 1990 paper in IEEE Software for the international edition). “European” does not mean "British English".

Pressman’s original text was born in 1982, and has thriven and spread ever since. But, as the weight of these general texts increases, their content thins. If you wanted to know about any of the topics covered – say, database normalisation, data structures, object-orientation, or CASE – you would not read a book on “Software Engineering”. And if you wanted a general overview of Software Engineering, you would not read 800 pages. However, if you really do want one of these massive tomes, Pressman’s is as good as any, and better than some.

 

 

 

 

Brutal? Perhaps, and yet I give little credence to the tale that Darrel Ince’s reaction to this review was to cast doubt on the propriety of my parents’ conception of me.

If you enjoyed the Ratcliff review and this one, there is (alas!) more in the same vein on Feijs, Jonkers, & Middelburg.

I am told that, for all my criticism, this “European” edition of Pressman’s book has been a great commercial success.
 

But what has Ince done for the book? Not enough to justify a new edition; and worse: once again we have claims for rigour made by a writer who has not exercised even care. The term “subset” is introduced without definition, and the “subset” and “proper subset” operators are given the interpretations of each other. The union operator is carelessly called “intersection” and defined thus: The ... operator takes two sets and forms a set that contains all the elements in the set with duplicates eliminated. The conditional (“if ... then”) operator is (as ever) misleadingly called “implies”, and is introduced without definition. On sequences, we read: Since a sequence is set of pairs, then all the set operators described in the previous subsection are applicable. If you can ignore the syntax of that sentence, and think about its meaning, you will appreciate that “applicable” is used in a Pickwickian sense: without closure. A sequence of n things is defined as a set of n ordered pairs, the first members of those pairs being the integers 1 to n. So you can form (say) the union of two sequences, but it is unlikely itself to be a sequence. As it happens, Ince’s carelessness provides him with a logically impeccable defence. The subsection on sets is not “the previous subsection”, which is about logic, and describes no set operator.

In the international edition, Pressman wisely says that [a]mbiguity, incompleteness, and inconsistency can be discovered and corrected more easily using formal methods. Ince substitutes the claim that there is little possibility of ambiguity, specifications can be mathematically validated for contradictions and incompleteness, and vagueness disappears completely. If you are waiting for Ince’s proof procedure for set theory, don’t hold your breath. Indeed, why not fill in the time by working as a much needed technical proof-reader for McGraw-Hill?

 

SITE HOME PAGE

 

THE REVIEWS

Another review ...

 

Copyright © 1995, 2001 Adrian Larner. The author asserts all moral rights.

The decorative image of a key (cc004239.gif) used on this page was obtained from IMSI's MasterClips/MasterPhotos© Collection, 1895 Francisco Blvd East, San Rafael, CA 94901-5506, USA.