Software Quality Assurance Quality Assurance From theory to implementation Software Quality Assurance

  • View
    21

  • Download
    5

Embed Size (px)

Text of Software Quality Assurance Quality Assurance From theory to implementation Software Quality...

  • Software Quality

    Assurance From theory to implementation

    Softw are Q

    uality A

    ssurance

    Software Quality Assurance From theory to implementation

    DANIEL GALIN GALIN

    DANIEL GALIN

    www.pearson-books.com

    Software quality assurance (SQA) is becoming increasingly important to the software and 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: ✦ A broad view of SQA. Discussion goes beyond classic custom-made software to

    include issues of in-house software development, outsourcing, and SQA in small organizations.

    ✦ Comprehensive discussion of practical issues. Stress is placed throughout on SQA application, operation, organization and control.

    ✦ Comprehensive coverage of SQA topics.Topics rarely covered in SQA texts are included: procedures and work instructions, supportive quality devices, costs of software quality and the actors participating in the SQA framework.

    ✦ State-of–the-art topics.Automated testing, computerized SQA tools and interna- tional standards (e.g., ISO 9000-3) are among the topics covered.

    ✦ Pedagogical support. Each chapter includes summary frames, case studies, real-life examples and implementation tips, review questions and topics for discussion.

    ✦ On-line instructor’s guide.The guide contains lesson planning guidelines, PowerPoint presentations and a test bank.

    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.

    Cover image © Getty Images

    CYAN MAGENTAYELLOW BLACK

    Galin_ppc 21/9/05 8:51 PM Page 1

  • Software Quality Assurance

    SQAS_A01.QXD 21/9/05 8:34 PM Page i

  • We work with leading authors to develop the strongest educational materials in computing, bringing cutting-edge thinking and best learning practice to a global market.

    Under a range of well-known imprints, including Addison Wesley, we craft high quality print and electronic publications which help readers to understand and apply their content, whether studying or at work.

    To find out more about the complete range of our publishing, please visit us on the World Wide Web at: www.pearsoned.co.uk

    SQAS_A01.QXD 21/9/05 8:34 PM Page ii

  • Software Quality Assurance From theory to implementation

    Daniel Galin

    SQAS_A01.QXD 21/9/05 8:34 PM Page iii

  • Pearson Education Limited Edinburgh Gate Harlow Essex CM20 2JE England

    and Associated Companies around the world

    Visit us on the World Wide Web at: www.pearsoned.co.uk

    First published 2004

    © Pearson Education Limited 2004

    The right of Daniel Galin to be identified as the author of this work has been asserted by him in accordance with the Copyright, Designs, and Patents Act 1988.

    All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise without either the prior written permission of the Publishers or a licence permitting restricted copying in the United Kingdom issued by the Copyright Licensing Agency Ltd, 90 Tottenham Court Road, London W1T 4LP.

    All trademarks used herein are the property of their respective owners. The use of any trademark in this text does not vest in the author or publisher any trademark ownership rights in such trademarks, nor does the use of such trademarks imply any affiliation with or endorsement of this book by such owners.

    ISBN 0201 70945 7

    British Library Cataloguing-in-Publication Data A catalogue record for this book is available from the British Library

    Library of Congress Cataloging-in-Publication Data

    Galin, Daniel, Software quality assurance / Daniel Galin.

    p. cm. Includes bibliographical references and index. ISBN 0-201-70945-7 1. Computer software--Quality control. I. Title.

    QA76.76.Q35G35 2003 005.1'068'5--dc21

    2003050668

    10 9 8 7 6 5 4 3 2 09 08 07 06 05

    Typeset in 10/12pt Sabon by 30. Printed and bound in Great Britain by Biddles Ltd, Guildford and King’s Lynn

    The publisher’s policy is to use paper manufactured from sustainable forests.

    SQAS_A01.QXD 21/9/05 8:34 PM Page iv

  • To my parents, Blima and Elchanan,

    who inspired me with their love of learning, scholarship, and teaching

    SQAS_A01.QXD 21/9/05 8:34 PM Page v

  • SQAS_A01.QXD 21/9/05 8:34 PM Page vi

  • Contents

    Preface xvii Unique features of this text xviii The book’s audience xix

    Acknowledgements xx

    Publisher’s acknowledgements xxi

    About the author xxii

    Guides for special groups of readers xxiii Guide to readers interested in ISO 9000-3 requirements xxiii Guide to readers interested in ASQ’S CSQE body of knowledge xxiv

    Part I Introduction 1

    Chapter 1 The software quality challenge 3

    1.1 The uniqueness of software quality assurance 4 1.2 The environments for which SQA methods

    are developed 7 Summary 11 Review questions 12 Topics for discussion 12

    Chapter 2 What is software quality? 14

    2.1 What is software? 15 2.2 Software errors, faults and failures 16 2.3 Classification of the causes of software errors 19 2.4 Software quality – definition 24 2.5 Software quality assurance – definition and objectives 25 2.6 Software quality assurance and software engineering 30

    Summary 30 Selected bibliography 32 Review questions 32 Topics for discussion 33

    SQAS_A01.QXD 21/9/05 8:34 PM Page vii

  • Chapter 3 Software quality factors 35

    3.1 The need for comprehensive software quality requirements 36

    3.2 Classifications of software requirements into software quality factors 37

    3.3 Product operation software quality factors 38 3.4 Product revision software quality factors 41 3.5 Product transition software quality factors 43 3.6 Alternative models of software quality factors 44 3.7 Who is interested in the definition of quality

    requirements? 47 3.8 Software compliance with quality factors 49

    Summary 51 Selected bibliography 52 Review questions 52 Topics for discussion 54

    Chapter 4 The components of the software quality assurance system – overview 56

    4.1 The SQA system – an SQA architecture 57 4.2 Pre-project components 60 4.3 Software project life cycle components 61 4.4 Infrastructure components for error prevention

    and improvement 65 4.5 Management SQA components 68 4.6 SQA standards, system certification, and

    assessment components 69 4.7 Organizing for SQA – the human components 70 4.8 Considerations guiding construction of an

    organization’s SQA system 72

    Part II Pre-project software quality components 75

    Chapter 5 Contract review 77

    5.1 Introduction: the CFV Project completion celebration 78

    5.2 The contract review process and its stages 79 5.3 Contract review objectives 80 5.4 Implementation of a contract review 82 5.5 Contract review subjects 85 5.6 Contract reviews for internal projects 85

    viii

    Contents

    SQAS_A01.QXD 21/9/05 8:34 PM Page viii

  • Summary 87 Selected bibliography 88 Review questions 89 Topics for discussion 89 Appendix 5A: Proposal draft reviews –

    subjects checklist 92 Appendix 5B: Contract draft review –

    subjects checklist 94

    Chapter 6 Development and quality plans 95

    6.1 Development plan and quality plan objectives 97 6.2 Elements of the development plan 97 6.3 Elements of the quality plan 101 6.4 Development and quality plans for small projects

    and for internal projects 103 Summary 106 Selected bibliography 108 Review questions 109 Topics for discussion 110 Appendix 6A: Software development risks and

    software risk management 112

    Part III SQA components in the project life cycle 119

    Chapter 7 Integrating quality activities in the project life cycle 121

    7.1 Classic and other software development methodologies 122

    7.2 Factors affecting intensity of quality assurance activities in the development process 131

    7.3 Verification, validation and qualification 133 7.4 A model for SQA defect removal effectiveness

    and cost 135 Summary 143 Selected bibliography 145 Review questions 146 Topics for discussion 147

    Chapter 8 Reviews 149

    8.1 Review objectives 150 8.2 Formal desi