SOFTWARE ENGINEERING

Software Engineering, 5/e
by Ian Sommerville

This book is good both for students and practitioners. It is a reliable and lucid presentation of the major issues in software engineering. Regularly updated by the author (four times since the 1st 1982 edition) it presents rigorous techniques and sound process activities. Many changes have been introduced in this edition; Sommerville not only expanded his book, but he also removed dated and obsolete material. Program examples are in Ada and C++, except for safety-critical system examples where the author firmly rejects the use of C++. Supplements --including an instructor's guide, source code for most examples, and an introduction to Ada-- are available free of charge over the Internet. (742 pages, 1995)
Prices & orders: hardcover *** ($54.95)

Software Requirements & Specifications
by Michael Jackson

This is a collection of 75 short pieces about software development practice, principles and prejudice, presented in the form of a lexicon. Jackson addresses such issues as how to evaluate development methods, the relationship of software systems and problem contexts, as well as the nature of description and its techniques. Reading this book in detail will help you become a better software engineer. The book is sometimes provocative, even infuriating to some we're sure, but it is also witty and well-written. The reader will be rewarded with countless valuable insights, page after page, and will certainly gain a deeper understanding of specification and descriptions. (228 pages, 1995)
Prices & orders: softcover ** ($26.95)

The Mythical Man-Month
by Frederick P. Brooks, Jr.

This classic collection of essays on software engineering is a perfect introduction to the problems that have plagued software development in the past decades. The title reflects the author's view on projects that add more workers when they are running late: it is clear to all that nine women will not together make a baby in one month--but what about making software? The main thesis presented by Brooks is that large programming projects suffer management problems due to effects of the division of labor and that therefore the conceptual integrity of a software system is a critical issue. This 20th anniversary edition contains additional thoughts and advice, including the famous "No Silver Bullet" 1986 article. (322 pages, 1995)
Prices & orders: softcover * ($20.65)

Applying Use Cases: a practical guide
by Geri Schneider and Jason P. Winters

Many projects struggle to define the specific functions of software, and end-users often find that the final product does not perform as expected. Use cases --originally pioneered by Jacobson-- allow analysts to identify the required features of a software system based on how various stakeholders want the system to perform. This book is easy to read and contains a wealth of details about an efficient and straightforward analysis process. The authors skillfully step the reader through applying use cases in the different phases of a rational software process, using a subset of UML as a notation.

Contains a detailed case study (an order-processing system for a mail order company), a number of highly useful checklists, and an annotated bibliography. The tone of the book is very informal (at times sounding like an interactive tutorial) but it should be very effective at involving a development team and end-users into a successful analysis process. (188 pages, 1998)
Prices & orders: softcover **

Object-Oriented Software Construction, 2/e
by Bertrand Meyer

Meyer, designer of the Eiffel programming language, is one of the founders of object-oriented software development. The first edition of his book introduced many developers to the concepts underlying object-orientation. This new edition is a thoroughly revised and expanded version, with the same virtues of clarity, comprehensiveness, and practicality that made the first edition a major reference in the field.

Meyer's writing style is clear and concise; he holds many ideas that are dear to the hearts of Ada users and has definite visions of where software development is headed. The book includes completely updated discussions of essential topics, such as reusability, modularity, software quality, object-oriented languages, and memory management. Meyer evaluates object-oriented programming languages (using Eiffel as the standard). Definitely a must read, which you are likely to use as a reference work over and over. The book comes with a CD full of object tools and containing the entire book in PDF for computer-based reading. (1254 pages + CD, 1997)
Prices & orders: softcover+CD *** ($70)

Page last modified: 1999-01-03