ACCU Home page ACCU Conference Page
Search Contact us ACCU at Flickr ACCU at GitHib ACCU at Facebook ACCU at Linked-in ACCU at Twitter Skip Navigation

Search in Book Reviews

The ACCU passes on review copies of computer books to its members for them to review. The result is a large, high quality collection of book reviews by programmers, for programmers. Currently there are 1949 reviews in the database and more every month.
Search is a simple string search in either book title or book author. The full text search is a search of the text of the review.
    View all alphabetically
Title:
Constructing Superior Software
Author:
Paul C Clements
ISBN:
1 57870 147 3
Publisher:
MTP
Pages:
285
Price:
£36.99
Reviewer:
Pete Goodliffe
Subject:
writing solid code
Appeared in:
OL38
This is the first in a series of books sponsored by the publishers in conjunction with the Software Quality Institute (a partnership between The University of Texas and some industry bodies) that are aimed at Software development/management. The aim of this book is to help the reader create high quality software in the context of real world development.

Having got past the first page, which tells you the book discusses 'high-leverage problems' (eugh) you will find a bit of a patchwork quilt of a book. It is split into three sections, detailing 'quality systems', 'quality designs' and 'quality projects'.

Each section contains a selection of essays by different people. Because of this structure the style of each chapter varies greatly. It would have been nice to see a consistent conclusion and summary at the end of every chapter, not just in those where the author thought it appropriate.

Each chapter is discrete and self-contained and the book does not provide much to tie them all together. You can't necessarily use every technique at once and not every chapter will be applicable to every software project. The book would perhaps have benefited from a 'compare and contrast' section.

Some chapters are written by industry figures and you sometimes feel they are subtly trying to sell their company or product (although the book does appear to limit this as much as possible). Each writer clearly believes in the particular methodology that they describe, but the chapters would perhaps also benefit from information on when a technique is not applicable or useful.

The book has a clean design and layout, which does make it easy to read. It has a generally useful index, which helps the reader revisit specific issues later on.

Each chapter is a useful overview of its discipline, but they (necessarily) cannot get into enough detail to make it a really worthwhile read - presumably the later books in the series will carry on each thread.

The book is an interesting read if you want to learn a little more about the various disciplines it describes, but is not a must-buy by any means.

Whilst it is not normal to quote the contents of a book in ACCU reviews, due to the nature of the book the reader will find it useful;

Part I: Quality Systems

1 The System is the Key

About taking the 'system view' during development.

2 Engineer the Reliability

About the Software Reliability Engineering process.

3 User-Centred Design and Development

About adopting a user-centred development methodology.

Part II: Quality Designs

4 Software Architecture and Quality

The importance of a central software 'architecture'.

5. Rationalise your Design

About making your design look coherent after it has been formulated - even if it didn't start out that way.

6. Building Systems from Pieces with Component-Based Software Engineering

Buzzword compliant section ;-)

Part III: Quality Projects

7. Teamwork Considerations for Superior Software Development

A good section on how to improve the quality of your teamwork.

8. Use Realistic, Effective Software Measurement

How to use measurements to improve engineering. Didn't talk about the metrics I hoped it would.

9. Select Tools to For the Tasks

Selecting the appropriate tools for each task. Not a particularly groundbreaking chapter, reads more like a shopping list.