Engineering Bookshelf

Software Quality Books
Book Cover: Software Quality Assurance: From Theory to Implementation

Software Quality Assurance: From Theory to Implementation

by Daniel Galin

Publisher: Addison-Wesley
ISBN: 0201709457

Check price @ amazon.com , amazon.ca , amazon.co.uk


Book Description

Software quality assurance (SQA) is becoming increasingly important to the software and the electronics industries as software systems become more complex and integrative. This book is designed to serve the three audiences who will be facing the SQA challenge: students at universities and colleges, participants in vocational training courses and software development and maintenance practitioners/professionals.

The book is a product of the author¿s many years of consulting and teaching experience.

Features:

The book comprehensively covers the ISO 9000-3 requirements. It also provides a substantial portion of the body of knowledge required for the CSQE (Certified Software Quality Engineer) as outlined by the ASQ (American Society for Quality).

Dr Daniel Galin currently serves as Head of Information Systems Studies, the Ruppin Academic Center. In addition to his many papers, Dr Galin has also authored several books on the analysis and design of information systems as well as co-authoring (with Dr Z. Bluvband) a book on software quality assurance in Hebrew. His professional experience includes numerous consulting projects in software quality assurance and information systems design for major Israeli firms. He received his BSc, MSc and DSc from the Faculty of Industrial and Management Engineering of the Technion, Israel Institute of Technology, Haifa, Israel.

About the Author

Dr Daniel Galin currently serves as head of Information Systems Studies, the Ruppin Academic Center. In addition to his many papers, Dr Galin has also authored several books on the analysis and design of information systems as well as co-authoring (with Dr Z. Bluvband) a book on software quality assurance in Hebrew. His professional experience includes numerous consulting projects in software quality assurance and information systems design for major Israeli firms. He received his B.Sc., M.Sc. and D.Sc. from the Faculty of Industrial and Management Engineering of the Technion, Israel Institute of Technology, Haifa, Israel.


Customer Reviews

Solid college text + real world reference
By Mike Tarrani "Jazz Drummer" (Deltona, FL USA)

Although written as a college text (the publisher also has instructor manual, syllabus and discussion guidelines, and test material), this book sufficiently reflects real world SQA to be used by working practitioners. My review focus is on the latter use.

Chapters that will be of interest to real world SQA include Chapter 3. Software Quality Factors (excellent foundation for a metrics initiative), Chapter 5. Contract Review (checklists for proposal and contract review are excellent), Chapters 7 (Integrating Quality Activities in the Project Life Cycle - especially the model for SQA defect removal effectiveness and cost) and 8 (Reviews, which includes supporting templates), and Chapter 11. Assuring The Quality of Software Maintenance, which is an often overlooked aspect of SQA.

Note that this book has been written to support ISO 9001 and contains chapters that are specifically slanted towards that approach. Included are chapters on document and configuration control, auditing, and attaining ISO 9001 certification. The author also provides solid information on ISO/IEC Quality Assurance standards, IEEE/ANSI Standards, and MIL-STD-498, as well as on common assessment approaches (CMM and SPICE).

As a textbook the coverage of every facet of SQA from why and what, to testing, metrics and its role in organizations and projects are thoroughly covered. The fact that the material is up-to-date and truly reflects the real world makes this one of the better texts for college level courses because it does prepare students for roles as practitioners.

emphasis on metrics to gauge progress
By W Boudville (Terra, Sol 3)

Galin explains why software is usually far harder to test than hardware. The latter usually only has a few modes of operation, thousands at most. While the combinatorics of any nontrivial software package can easily produce millions of modes. Also, hardware defects (like parts missing) are often easy to detect by visual inspection. While software is often inherently opaque. It might have a corrupted or missing module that might not be found until the customer tries to use it. This is exacerbated by bugs being found essentially mostly in development and testing. And not in manufacturing. This latter step is trivial is software, but is the key step in hardware.

His book then goes over the main types of Software Quality Assurance models. These might already be familiar to you. The Waterfall model, which forms the basis of most SQA standards. But for small software projects, you might be able to use the Prototyping model, which can be faster. If you have a complex project, then maybe try the Spiral model. Here the spiral is a useful metaphor that indicates a hopeful convergence of the project at the centre of a Spiral chart.

Then there is the Object Oriented model. Which takes its inspiration from the rise of OO languages like C++ and Java. As you build up a library of classes, then the more useful this model becomes, at the project level.

Each of the above models is concisely explained. The entire book has this flavour. With a continual emphasis on metrics, as these are crucial to permitting an objective assessment of your project. In some ways, without taking sides as to which model you might adopt, the book seems to suggest that doing the metrics may be at least as important. So that you get some tangible idea of how your project is progressing.

It is also nice to see that he gives no mention of Extreme Programming. This is a dead end that was briefly popular amongst some developers, until its disadvantages became apparent.

The book is structured somewhat like a textbook, with questions at the end of each chapter. Certainly useful in focusing your attention. But its usage as an actual text in a university course seems unlikely. Not due to any failing in the book. But simply that computer science departments rarely teach this topic in any detail. Mostly left to industry.