Practitioner Series Springer-Verlag London Ltd. Series Editor Ray Paul BruneI University, Uxbridge, UK Editorial Board Richard Baskerville Georgia State University, Atlanta, USA FrankBott UWA, Aberystwyth, UK NicHolt ICL, Manchester, UK Kay Hughes QinetiQ, Malvern, UK Elizabeth Hull University of Ulster, Newtownabbey, N Ireland Richard Nance Virginia Tech, Blacksburg, USA Russel Winder OneEighty Software, Croydon, UK SionWyn Conformity, Llanrwst, UK Published in association with the British Computer Society Other Titles in This Series: The Project Management Paradigm Forensic Computing KBurnett T. Sammes and B. Jenkinson 3-540-76238-8 1-85233-299-9 Key Java The Component-Based Business ]. Hunt and A. McManus R. Veryard 3-540-76259-0 1-85233-361-8 Distributed Applications Engineering Developing IT Staff: A Practical Approach l. Wijegunaratne and G. Fernandez M. Clarkson 3-540-76210-8 1-85233-433-9 Software Design: Cognitive Aspects The Renaissance of Legacy Systems F. Detienne (Translator: F. Bott) l. Warren 1-85233-253-0 1-85233-060-0 The Usability Business Java for Practitioners ]. Bawa, P. Dorazio and L. Trenner ]. Hunt 1-85233-484-3 1-85233-093-7 Practical Software Reuse Computer-Based Diagnostic Systems M. Ezran, M. Morisio and C. Tully C. Price 1-85233-502-5 3-540-76198-5 Managing Software Quality The Unified Process for Practitioners R.E. Nance and J.D. Arthur J.Hunt 1-85233-393-6 1-85233-275-1 Coping with IS/IT Risk Management Managing Electronic Services T.Moynihan A. Gronlund 1-85233-555-6 1-85233-281-6 Middleware and Enterprise Application Real-Time and Multi-Agent Systems Integration A. Attoui (Translator: S. Ingram) D. Serain (Translator: l. Craig) 1-85233-252-2 1-85233-570-X Elizabeth Hull, Ken Jackson and Jeremy Dick Requirements Engineering , Springer Elizabeth Huli, BSc, PhD, CEng, FBCS Faculty of Informatics, University of Ulster, Newtownabbey, Co Antrim, BT37 OQB, Northern Ireland, UK Ken Jackson, BSc, MSc, MBCS Jeremy Dick, BSc (Eng), ACGI, DPhil, MA Telelogic UK Ltd, Northbrook House, Oxford Science Park, Oxford, OX4 4GA, UK British Library Cataloguing in Publication Data Huli, Elizabeth Requirements engineering approach. - (Practitioner series) 1. Systems engineering 2. Software engineering 1. Title II. Jackson, Ken III. Dick, Jeremy 620'.0011 ISBN 978-1-85233-577-9 Library of Congress Cataloging-in-Publication Data Huli, Elizabeth 1953- Requirements engineering: a structured project information approach/Elizabeth Huli, Ken Jackson, and Jeremy Dick. p. cm.-(Practitioner series) ISBN 978-1-85233-577-9 ISBN 978-1-4471-3730-6 (eBook) DOI 10.1007/978-1-4471-3730-6 1. Systems engineering.l. Jackson, Ken, 1942-Il. Dick, Jeremy, 1955- 111. Title. N. Series. TA168 .H84 2002 620'.001'171-dc21 2002021737 Apart from any fair dealing for the purposes of research or private study, or criticism or review, as per mitted under the Copyright, Designs and Patents Act 1988, this publication may only be reproduced, stored or transmitted, in any form or by any means, with the prior permission in writing of the publish ers, or in the case of reprographic reproduction in accordance with the terms oflicences issued by the Copyright Licensing Agency. Enquiries concerning reproduction outside those terms should be sent to the publishers. Practitioner series ISSN 1439-9245 ISBN 978-1-85233-577-9 http:/ /www.springer.co.uk © Springer-Verlag London 2002 Originally published by Springer-Verlag London Berlin Heidelberg in 2002 The use of registered names, trademarks etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant laws and regulations and therefore free for general use. The publisher makes no representation, express or implied, with regard to the accuracy ofthe infor mation contained in this book and cannot accept any legal responsibility or liability for any errors or omissions that may be macte. Typeset by Gray Publishing, Tunbridge Wells, Kent 34/3830-543210 Printed on acid-free paper SPIN 10861220 Dedications We would like to dedicate this book as follows: To my late parents, John and Edna Hull Elizabeth Hull To my late parents, Fred and Amy Jackson To my wife, Chris and to my children, Kate, Andrew and Peter Ken Jackson To my wife, Yvonne and to my children, Sebastian, Timothy, Angus, Robin and Felicity Jeremy Dick • v. Series Editor's Foreword We live in a commercial world where much of our work is undertaken through a project -oriented approach. This has the advantage of determining the cost and time of the project to be undertaken, which in their turn are based on the knowledge of what the project is to deliver. Computing is no different in this regard, and so in order to organize our activities, we need to know what it is that is to be delivered. Hence Requirements Engineering, an organized approach to determining what is required in the project/ system that is being undertaken. There are some problems with the idea of Requirements Engineering, which I have on previous occasions encapsulated in a single sentence called 'The Mock Theorem of Information Systems' which states 'There exists some point in time when everyone involved in the system knows what they want and agrees with everyone else' Clearly nonsense (how would you know what everyone is agreeing to for example?). But in order to build a system on a project basis, this sentence has to be assumed to be true (either explicitly, or even worse, implicitly). Then Requirements Engineering can be made to work, and the correct prod uct/ system delivered by the project. However, we do not have an established alternative to the project approach, and the business world is used to projects. So Requirements Engineering is necessary, but it needs tempering to allow for the desired certainty actually being unknown. This book addresses our current understanding of how to deal with the cer tainties and uncertainties of the project based approach. All the traditional material associated with Requirements Engineering is covered (Lifecycle, Modeling, Testing etc) as well as emphasis on Traceability, Problem and Solution Domains, case study examples and discussion of a package to man age Requirements. The authors utilize a wealth of practical experience to bring the Practice of Requirements Engineering to the Practitioner. • vll. . .. . . . ~ Traceability is one good example, where the problem of uncertainty is addressed through a search for a means of communication that allows peo ple at all levels in the project to effectively participate - no mean task when this group can include users, managers, designers, developers, program mers et al. Here the authors excel in explaining the rhythm of compromise, level of detail, communication and so on that can contribute to the success of the project. The book is of similar quality throughout. Practitioners requiring a comprehensive coverage of Requirements Engi neering will find their needs met in this excellent new addition to the Practitioner Series. And because of its coverage, so will any reader. The prob lems associated with system development, encapsulated in the Fixed Point Theorem above, are beyond resolution at the moment. This book success fully addresses what can effectively be done in the meantime. Ray]. Paul • vIII • Preface Requirements Engineering is common sense, but it is perceived to be diffi cult and is not well understood. For these reasons it is generally not very well done. The ever-increasing pressures on an organization are often given as the main reasons for not introducing a more disciplined approach to requirements engineering. However, it is these very pressures that make it even more important for the requirements engineer to help the organization do the job properly. Systems engineering is critical in to day's industry and requirements engi neering is an important aspect of that overall process. A good process is key to requirements engineering - it determines how efficiently and rapidly products can be generated. This is particularly important in a global com petitive market where the 'time to market' and meeting stakeholder require ments are the key success factors. Requirements engineering is also about management and hence issues in relation to requirements and management blend to show how requirements can be used to manage systems development. The book is concerned with engineering requirements and how systems engineers may be helped to create better requirements. A generic process is presented which assists the reader in gaining a good understanding of the essence of requirements engineering. The process is then instantiated for the problem and solution domains of development. The book also addresses the concept of system modelling and presents various techniques and meth ods which are widely used. An important feature of the book is the presenta tion of approaches to traceability, the way in which it is captured and metrics which can be derived from traceability. Finally the book presents an overview of DOORS which is a tool for requirements management. A case study is used to illustrate the process presented in the book and the features of the tool. This book should be read by those systems and requirements engineers in industry, who, as practitioners, are keen to gain knowledge of using require ments engineering for system development. The book will also be of interest -Ix- to final year undergraduate students in Computer Science, Software Engi neering and Systems Engineering studying a course in Requirements Engineering and also to postgraduate research students in Computer Science or and other flavours of Engineering. The approach taken in the book is based on current research in Require ments Engineering, however it has not only taken the academic view but has also built substantially on current experience of working in industry to enable system engineers to manage requirements (and projects) more suc cessfully. It provides a snapshot, in this rapidly evolving subject, of what we see as best practice in Requirements Engineering today. A web site supporting additional material for the book can be found at: http://www.requirementsengineering/ info Elizabeth Hull, Ken Jackson and Jeremy Dick (May 2002) .x. Acknowledgements Thanks are due to a number of individuals and organisations who helped in various ways Richard Stevens, who inspired us with his work in requirements manage ment and who laid the foundation for the work in this book. He was a founder of QSS Ltd, which developed the DOORS tool. Les Oliver of Astrium for assistance in the development of statecharts for agreement, qualification and satisfaction. Praxis Critical Systems Ltd for the initial concept of design justification which became Rich Traceability. Keith Collyer, Jill Burnett and other colleagues ofTelelogic Ltd for contribu tions to ideas presented in this book; for reviews, comments, suggestions and encouragement. . xI •