logo资料库

Requirements Engineering Fundamentals 2nd Edition.pdf

第1页 / 共184页
第2页 / 共184页
第3页 / 共184页
第4页 / 共184页
第5页 / 共184页
第6页 / 共184页
第7页 / 共184页
第8页 / 共184页
资料共184页,剩余部分请下载后查看
Cover
Contents
Foreword
With Contributions from
1 Introduction and Foundations
1.1 Introduction
1.1.1 Figures and Facts from Ordinary Projects
1.1.2 Requirements Engineering – What Is It?
1.1.3 Embedding Requirements Engineering into Process Models
1.2 Fundamentals of Communication Theory
1.3 Characteristics of a Requirements Engineer
1.4 Requirement Types
1.5 Importance and Categorization of Quality Requirements
1.6 Summary
2 System and Context Boundaries
2.1 System Context
2.2 Defining System and Context Boundaries
2.2.1 Defining the System Boundary
2.2.2 Defining the Context Boundary
2.3 Documenting the System Context
2.4 Summary
3 Eliciting Requirements
3.1 Requirements Sources
3.1.1 Stakeholders and Their Significance
3.1.2 Handling Stakeholders in the Project
3.2 Requirements Categorization According to the Kano Model
3.3 Elicitation Techniques
3.3.1 Types of Elicitation Techniques
3.3.2 Survey Techniques
3.3.3 Creativity Techniques
3.3.4 Document-centric Techniques
3.3.5 Observation Techniques
3.3.6 Support Techniques
3.4 Summary
4 Documenting Requirements
4.1 Document Design
4.2 Types of Documentation
4.2.1 The Three Perspectives of Requirements
4.2.2 Requirements Documentation using Natural Language
4.2.3 Requirements Documentation using Conceptual Models
4.2.4 Hybrid Requirements Documents
4.3 Document Structures
4.3.1 Standardized Document Structures
4.3.2 Customized Standard Contents
4.4 Using Requirements Documents
4.5 Quality Criteria for Requirements Documents
4.5.1 Unambiguity and Consistency
4.5.2 Clear Structure
4.5.3 Modifiability and Extendibility
4.5.4 Completeness
4.5.5 Traceability
4.6 Quality Criteria for Requirements
4.7 Glossary
4.8 Summary
5 Documenting Requirements in Natural Language
5.1 Effects of Natural Language
5.1.1 Nominalization
5.1.2 Nouns without Reference Index
5.1.3 Universal Quantifiers
5.1.4 Incompletely Specified Conditions
5.1.5 Incompletely Specified Process Verbs
5.2 Requirement Construction using Templates
5.3 Summary
6 Model-Based Requirements Documentation
6.1 The Term Model
6.1.1 Properties of Models
6.1.2 Modeling Languages
6.1.3 Requirements Models
6.1.4 Advantages of Requirements Models
6.1.5 Combined Use of Models and Natural Language
6.2 Goal Models
6.2.1 Goal Documentation Using AND/OR Trees
6.2.2 Example of AND/OR Trees
6.3 Use Cases
6.3.1 UML Use Case Diagrams
6.3.2 Use Case Specifications
6.4 Three Perspectives on the Requirements
6.5 Requirements Modeling in the Data Perspective
6.5.1 Entity-Relationship Diagrams
6.5.2 UML Class Diagrams
6.6 Requirements Modeling in the Functional Perspective
6.6.1 Data Flow Diagrams
6.6.2 Models of the Functional Perspective and Control Flow
6.6.3 UML Activity Diagrams
6.7 Requirements Modeling in the Behavioral Perspective
6.7.1 Statecharts
6.7.2 UML State Diagrams
6.8 Summary
7 Requirements Validation and Negotiation
7.1 Fundamentals of Requirements Validation
7.2 Fundamentals of Requirements Negotiation
7.3 Quality Aspects of Requirements
7.3.1 Quality Aspect "Content"
7.3.2 Quality Aspect "Documentation"
7.3.3 Quality Aspect "Agreement"
7.4 Principles of Requirements Validation
7.4.1 Principle 1: Involvement of the Correct Stakeholders
7.4.2 Principle 2: Separating the Identification and the Correction of Errors
7.4.3 Principle 3: Validation from Different Views
7.4.4 Principle 4: Adequate Change of Documentation Type
7.4.5 Principle 5: Construction of Development Artifacts
7.4.6 Principle 6: Repeated Validation
7.5 Requirements Validation Techniques
7.5.1 Commenting
7.5.2 Inspection
7.5.3 Walk-Through
7.5.4 Perspective-Based Reading
7.5.5 Validation through Prototypes
7.5.6 Using Checklists for Validation
7.6 Requirements Negotiation
7.6.1 Conflict Identification
7.6.2 Conflict Analysis
7.6.3 Conflict Resolution
7.6.4 Documentation of the Conflict Resolution
7.7 Summary
8 Requirements Management
8.1 Assigning Attributes to Requirements
8.1.1 Attributes for Natural Language Requirements and Models
8.1.2 Attribute Scheme
8.1.3 Attribute Types of Requirements
8.2 Views on Requirements
8.2.1 Selective Views on the Requirements
8.2.2 Condensed Views on the Requirements
8.3 Prioritizing Requirements
8.3.1 Method for Requirements Prioritization
8.3.2 Techniques for Requirements Prioritization
8.4 Traceability of Requirements
8.4.1 Advantages of Traceable Requirements
8.4.2 Purpose-Driven Definition of Traceability
8.4.3 Classification of Traceability Relations
8.4.4 Representation of Requirements Traceability
8.5 Versioning of Requirements
8.5.1 Requirements Versions
8.5.2 Requirements Configurations
8.5.3 Requirements Baselines
8.6 Management of Requirements Changes
8.6.1 Requirements Changes
8.6.2 The Change Control Board
8.6.3 The Change Request
8.6.4 Classification of Incoming Change Requests
8.6.5 Basic Method for Corrective and Adaptive Changes
8.7 Measurement of Requirements
8.7.1 Product vs. Process Metric
8.7.2 Examples of Product and Process Metrics
8.8 Summary
9 Tool Support
9.1 General Tool Support
9.2 Modeling Tools
9.3 Requirements Management Tools
9.3.1 Specialized Tools for Requirements Management
9.3.2 Standard Office Applications
9.4 Introducing Tools
9.5 Evaluating Tools
9.5.1 Project View
9.5.2 User View
9.5.3 Product View
9.5.4 Process View
9.5.5 Provider View
9.5.6 Technical View
9.5.7 Economic View
9.6 Summary
References
Index
A
B
C
D
E
F
G
H
I
K
L
M
N
O
P
Q
R
S
T
U
V
W
ii About the Authors Klaus Pohl holds a full professorship for Software Systems Engineer- ing at the Institute for Computer Science and Business Information Systems (ICB) at University of Duisburg-Essen, Germany. He was the scientific funding director of Lero, the Irish Software Engineering Research Centre. Currently he is the acting director of paluno—The Ruhr Institute for Software Technology—at the University of Duis- burg-Essen. He received his Ph.D. and his habilitation in computer science from RWTH Aachen, Germany. Klaus is (co-)author of more than 250 peer-reviewed publications and several text books. He served as Program and General Chair for many international and national conferences including the 35th ACM/IEEE Conference on Software Engineering (ICSE 2013). As consultant, asses- sor, and expert he supports small and multi-national companies, research institutes, and public funded research programs. Klaus is co- founder of the IREB e.V. (International Requirements Engineering Board). You can find more information on https://sse.uni-due.de. Chris Rupp—SOPHIST-in-chief (formally: founder and executive part- ner of the SOPHIST GmbH), chief consultant, coach and trainer. Looking back over 25 years of professional experience, a lot has come up: a company… 6 books… 55 employees… countless articles and presen- tations… and a whole lot of experience. My passion for project consul- tation might account for the fact that, until now, I do not “only” manage, but I am still directly involved in projects and close to custo- mers. What drives me is the vision to implement good ideas so that developers, contractual partners and users—both direct and indi- rect—face an intelligent, sophisticated and beneficial product. In doing so, I work with a range of methods and approaches in agile and non-agile environments. In order to standardize qualification for requirements engineers / busi- ness analysts, I founded the IREB e.V. (International Requirements Engineering Board). You can find further information on www. sophist.de.
iii Klaus Pohl · Chris Rupp Requirements Engineering Fundamentals A Study Guide for the Certified Professional for Requirements Engineering Exam Foundation Level – IREB compliant 2nd Edition
iv Klaus Pohl (klaus.pohl@sse.uni-due.de) Chris Rupp (chris.rupp@sophist.de) Translated from German by Thorsten Weyer, Bastian Tenbergen, and Marta Tayeh. Editor: Michael Barabas Project Manager: Matthias Rossmanith Copyeditor: Judy Flynn Proofreader: James Johnson Layout and Type: Josef Hegele Cover design: Helmut Kraus, www.exclam.de Printer: Courier Printed in USA ISBN 978-1-937538-77-4 2nd Edition 2015 © 2015 by Klaus Pohl and Chris Rupp Rocky Nook Inc. 802 East Cota St., 3rd Floor Santa Barbara, CA 93103 www.rockynook.com Library of Congress Cataloging-in-Publication Data Pohl, Klaus. Requirements engineering fundamentals : a study guide for the certified professional for requirements engineering exam, foundation level, IREB compliant / Klaus Pohl, Chris Rupp. -- 2nd edition. pages cm ISBN 978-1-937538-77-4 (softcover : alk. paper) 1. Software engineering--Examinations--Study guides. 2. System design--Examinations--Study guides. 3. Requirements engineering--Examinations--Study guides. 4. Electronic data processing documentation-- Examinations--Study guides. I. Rupp, Chris. II. Title. QA76.758.P6413 2015 005.1076--dc23 2015009245 Many of the designations in this book used by manufacturers and sellers to distinguish their products are claimed as trademarks of their respective companies. Where those designations appear in this book, and Rocky Nook was aware of a trademark claim, the designations have been printed in caps or initial caps. They are used in editorial fashion only and for the benefit of such companies, they are not intended to convey endorsement or other affiliation with this book. No part of the material protected by this copyright notice may be reproduced or utilized in any form, electronic or mechanical, including photocopying, recording, or by any information storage and retrieval system, without written permission of the copyright owner. While reasonable care has been exercised in the preparation of this book, the publisher and author assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein. This book is printed on acid-free paper.
Foreword Foreword v Dear reader, With Requirements Engineering Fundamentals, you are holding the official text book of the Certified Professional for Requirements Engineering (CPRE) – Foundation Level certification in your hands. The 2nd edition of this book is aligned with the curriculum (version 2.2) of the International Requirements Engineering Board e.V. (IREB) and the IREB glossary. In addition, some minor defects of the 1st edition have been corrected. A short introduction to the IREB and the certification process can be found in the previous section “The Certified Professional for Requirements Engineering (CPRE) Exam”. The aim of this book is to aid you in your preparation for the certifi- cation examination of the Certified Professional for Requirements Engi- neering. The book is suited for your individual preparation for the exam- ination as well as for companion literature to training courses offered by training providers. In addition to the book, you should consider the information about the preparation for the certification examination published on the IREB website (http://www.ireb.org/en). That additional information reflects updates of the curriculum (after version 2.2) and potentially amends this book with respect to some areas of interest. Errata to this book are pub- lished on the IREB website. Our decision to author this book collaboratively was not unjustified. The book at hand is meant to integrate long-lasting practical experiences with educational and research knowledge concerning the topic of require- ments engineering, in particular for the Foundation Level of the Certified Professional for Requirements Engineering. As a consequence, this book is based on the two best-selling books in the German language about requirements engineering by the two main authors:
vi Foreword Klaus Pohl: Requirements Engineering – Grundlagen, Prinzipien, Tech- niken. Published at dpunkt.verlag, Heidelberg, 2008. This book was written from a perspective of research and education and offers a structured discussion of the fundamentals, principles, and techniques of requirements engineering. (Also available in English: Requirements Engineering – Fundamentals, Principles, and Techniques. Springer, New York, 2010) Chris Rupp: Requirements-Engineering und -Management – Aus der Praxis von klassisch bis agil. Published at Hanser Fachbuchverlag, Munich, 2014. This book contains application-oriented knowledge about requirements engineering, which supports the requirements engineer in his or her daily practice. (Individual chapters also available in English on the SOPHIST website: http://www.sophist.de) We have chosen not to reference the two books listed above in the individ- ual chapters of this book. You can find detailed additional information on the topics of this book in both of the books mentioned above. This book was made possible with the help of a number of people. Our special thanks go to Dirk Schüpferling and Thorsten Weyer for their contributions to this book and their outstanding commitment, without which this book would not have been possible. Many reviews and consistent support by other board members increased the quality of this book. We particularly thank all board members of the IREB for their active support. In addition, Urte Pautz of the Siemens AG; Christian Pikalek and Rainer Joppich of the SOPHIST GmbH (www.sophist.de); and Dr. Kim Lauenroth and Nelufar Ulfat-Bunyadi from “paluno – The Ruhr Institute for Software Technology” at the University of Duisburg-Essen (www.paluno.de) have contributed to individual sections of the book. Fur- thermore, we want to thank Thorsten Weyer and Bastian Tenbergen (paluno) as well as Marta Tayeh (SOPHIST GmbH) for their commitment towards translating this book from German into English. Thanks also to Philipp Schmidt and Dirk Schüpferling for their support in aligning this book to the IREB syllabus version 2.2. We also want to thank Christa Preisendanz, Dr. Michael Barabas, and Judy Flynn for their support in publishing this book. Klaus Pohl and Chris Rupp Essen and Nuremberg, February 2015
With Contributions from vii With Contributions from Karol Frühauf studied in Bratislava and at RWTH Aachen, gain- ing his degree in computer engineering in 1975. He then spent 12 years at Brown, Boveri & Cie working as a programmer, head of quality and finally as a manager in network control technol- ogy. In 1987, Frühauf founded INFOGEM AG with Helmut Sandmayr, and the company has since gained a reputation as one of the leading system engineering consulting and training addresses in Switzerland. He is an honorary member of SAQ, the Swiss Association for Quality and was instrumental in the launch of the “Brückenwächter” (“Bridge Guard”) residence for artists and scientists in Štúrovo, Slovakia. Emmerich Fuchs has over 30 years of experience in application development. Since 1985, he has been working as a lecturer at schools of higher education and as a seminar instructor as well as a co-author of many books and an examination expert. In 1989, he founded the FUCHS-INFORMATIK AG and is now working as a consulting business manager for renowned com- panies in the areas of business process modeling, requirements engineering, and quality assurance. Martin Glinz is a full professor of computer science and leads the research unit Requirements Engineering at the University of Zurich. He is mainly interested in methods, languages and tools for requirement modeling. His additional fields of inter- est include software engineering, software quality, and model- ing. He obtained his doctoral degree from RWTH Aachen in computer science. Before he accepted the call to Zurich, he worked for over 10 years in the industry as a researcher, devel- oper, consultant, and lecturer in the field of software engineer- ing. He is a member of the board of publishers of Requirements Engineering and a member of the International Requirements Engineering Board (IREB). He was chairman of the steering committee for the International Requirements Engineering Conference from 2007–2009. Karol Frühauf INFOGEM AG, SAQ Emmerich Fuchs FUCHS-INFORMATIK AG Prof. Dr. Martin Glinz University of Zurich
viii With Contributions from Rainer Grau Digitec Galaxus Colin Hood Colin Hood Systems Engineering Ltd. Dr. Frank Houdek Daimler AG Rainer Grau is Head of Business Development at Digitec/ Galaxus, one of Switzerland's top eCommerce companies. He and his team are responsible for innovation and portfolio man- agement as well as the implementation of all the company’s strategic projects. Before joining Digitec/Galaxus he was a director and partner at Zühlke Engineering, where he was in charge of agility, lean management, requirements engineering and product management. Rainer Grau holds various teaching posts at Swiss universi- ties and is actively involved in SAQ, the Swiss Association for Quality. He is a founder member of the Swiss Agile Leaders Circle where he supports community members in their requirements engineering, enterprise agility and lean manage- ment activities. Rainer Grau likes to spend his free time with his family, on his bicycle, windsurfing, rock climbing or reading the latest novels by T.C. Boyle and Haruki Murakami. Starting out in 1977, Colin Hood has accompanied the evolu- tion of control systems from their beginnings in relay-based systems through programmable logic controllers (PLCs) to modern software-controlled safety-critical systems. His vari- ous jobs have included analysis, design, implementation, test- ing and delivery of complex software systems. Requirements engineering has always been the foundation of his success at companies such as Alcatel, BMW, DaimlerChrysler, Hella and Miele. As well as continually improving the processes involved, he specializes in introducing new methods and tools that sup- port the process of change. Frank Houdek graduated in Computer Science at the Univer- sity of Ulm and joined the Daimler Research Centre in 1995. After completing his PhD in empirical software engineering in 1999 he began working in requirements engineering and has headed various research and technology transfer projects within the Daimler passenger car and commercial vehicles business units. Since 2013 he has been responsible for coordi- nating the requirements engineering activities for all electric/ electronic specifications in Mercedes-Benz passenger car development. Dr. Houdek is a member of GI (German Interest Group on Computer Science) and IEEE CS, and belongs to the steering committee of the GI Group 2.1.6 (Requirements Engineering). He is also involved in the organizational and program commit- tees for requirements engineering events such as RE, REFSQ, and ICSE. He is responsible for the Requirements Engineering module of the Software Engineering for Embedded Systems course at the Technical University at Kaiserslautern.
分享到:
收藏