Mlcroelectron. Reliab., Vol. 32, No. 12, pp. 1775-1778, 1992.
0026-2714/9255.00 + .00 Pcrgamon Press Ltd
Printed in Great Britain.
BOOK REVIEWS
S O F T W A R E RELIABILITY H A N D B O O K Edited:
Publisher:
Price:
Paul Rook, C e n t r e . for. S o f t w a r e Reliability, London, UK
K[ZEVIER S C I B C E RBLI~IER, Cr~,-nHouse, Barking, Essex IGI1 8JU, England xx+548 Pages, 75 illus. £ 75.00/ US $ 135.00.
(ISBN 1-85186-400-9)
Published 1990
The "Software Reliability Handbook", edited by Paul Rook, is a systematic and well-balanced collection, which has as contributors highly qualified persons from specialised institutions of U.K. Divided in twelve chapters, the material covers essential aspects of the problem: formulation and determination of the intended software reliability level, creation and maintenance of reliable software products, estimation of the resulting software reliability. The book can be both a technical and managerial guide for everyone implied in software development life-cycle from the feasibility study to operation. The first chapter by Chris Dale establishes the basic framework of the discussion: the software reliability, definitions and concepts, and provides some types of software risks, suggesting reliability metrics appropriate for assessing and supervising each kind of reliability risks. Chapter 2, by fan Sommerville, entitled "Software Design for Reliability" emphasises an object-oriented design process, as a sollution for the mutual independance between programme-parts by giving a general design strategy and proving the assertions with a simple example in "Pascal". Chris Reade and Peter Froome's chapter 3 on "Formal Methodes for Reliability" is an argumentation for the use of formal design methods, even if they are "too mathematical', in order to improve the quality of software not only in critical areas, but in current industrial practice. Michael Moulding's chapter 4 on "Software Fault Tolerance" deals with fault-tolerance approaches, basic concepts and terms, design techniques for fault tolerance, all of them explained within the context of an abstract model of a software system and an implementation framework for software fault tolerance. Patrick Hall's chapter 5 on "Defect Detection and Correction" presents a model of software development life-cycle, that has been discomposed into a number of smaller phases, which have the same general form and general principles underlying the detection and correction of errors. Chapter 6: "Modelling Growth in Software Reliability", and Appendix A -- "Software Reliability Growth Models", both by Bey Littlewood, provides an overview on reliability predictions t e c h n i ~ n ~ c ~ m p a r ~ a n d signaling the qa~abilities and deficiences of the a v a i l a b l e m ~ Paul ITo~ a n d Alan Wingrove~S chapter 7 on "Software Project Control and Management", and Paul Rook's Appendix B on "Software Development Process Models" offer a good presentation of some important aspects related to software production process, manager responsabilit~es and risks, quality and productivity demands, and software development ways. Gillian Frewin's chapter 8 on "Procuring and Maintaining Reliable Software" emphaeises the necessity of a dynamic exchange of information with the software
1775
1776
Book Reviews Procurer and Maintainer, by using acceptance tests, improving the usage conditions, all these leading to continous refining of contractual requirements. Gillian Frewin's chapter 9 on "Software Quality Management" presents methods and tools for achieving required results using control and management prerogatives. Barbara Kltchenham" s chapter I0 on "Measuring Software Development", and Appendix C on "Software Developments Metrics and Models" refer to the best known and practical metrics and models applicable to the software field, including estimation procedures for particular situations. Barbara Kitchenham and Bernard de Neumann's chapter ii on "Cost Modelling and Estimation", and Barbara Kitchenham's Appendix D on "Software Developments Cost Models" present some cost measurements and various estimation technique s for software costs, point out the adequate managerial decision. In chapter 12, "Software Engineering Environments", Ian Sommerville arguments the role of tools in software reliability enhancement, particularly revealing the importance of an integrated project support environment (IPSE), which must support all aspects of software development. The book offers the interested readers the great experience of several international level scientists. The editor has contribuited substantially to a better understanding and promotion of software reliability .
Dr. F1. Popentiu ROMANIA