Requirements Engineering

Using the latest research and driven by practical experience from industry, this book gives useful hints to practitioners on how to write and structure requirements. It will benefit those seeking to develop their knowledge of requirements engineering process.

Saved in:
Bibliographic Details
Main Authors Dick, Jeremy, Hull, Elizabeth, Jackson, Ken
Format eBook
LanguageEnglish
Published Cham Springer International Publishing AG 2017
Springer International Publishing
Springer
Edition4
Subjects
Online AccessGet full text
ISBN9783319610726
3319610724
DOI10.1007/978-3-319-61073-3

Cover

Loading…
Table of Contents:
  • 3.3.1.1 Controlled Requirements Expression (CORE) -- 3.3.1.2 Structured Analysis and Design Technique (SADT) -- 3.3.1.3 Viewpoint-Oriented Requirements Definition (VORD) -- 3.3.2 Object-Oriented Methods -- 3.3.2.1 OOA -- 3.3.2.2 OMT -- 3.3.2.3 Booch -- 3.3.2.4 Objectory -- 3.3.2.5 The UML -- 3.3.3 The UML Notation -- 3.3.4 SysML -- 3.3.5 Formal Methods -- 3.3.5.1 Z-A Model-Based Formal Method -- 3.4 Model-Based Systems Engineering -- 3.5 Modelling and Qualification -- 3.6 Summary -- 4 Writing and Reviewing Requirements -- 4.1 Introduction -- 4.2 Requirements for Requirements -- 4.3 Structuring Requirements Documents -- 4.4 Key Requirements -- 4.5 Using Attributes -- 4.5.1 Definition of a Requirement Expression -- 4.6 Ensuring Consistency Across Requirements -- 4.7 Value of a Requirement -- 4.8 The Language of Requirements -- 4.9 Requirement Boilerplates -- 4.10 Granularity of Requirements -- 4.11 Requirements and Modelling -- 4.12 Criteria for Writing Requirements Statements -- 4.13 Guide to Writing Requirements -- 4.14 Summary -- 5 Requirements Engineering in the Problem Domain -- 5.1 What is the Problem Domain? -- 5.2 Instantiating the Generic Process -- 5.3 Agree Requirements with Customer -- 5.4 Analyse &amp -- Model -- 5.4.1 Identify Stakeholders -- 5.4.2 Create Usage Model -- 5.4.2.1 Characteristics of Use Scenarios -- 5.4.3 Scoping the System -- 5.5 Derive Requirements -- 5.5.1 Define Structure -- 5.5.2 Capture Requirements -- 5.5.2.1 Sources of Stakeholder Requirements -- 5.5.2.2 Stakeholder Interviews -- 5.5.2.3 Extracting Requirements From Informal Documents -- 5.5.2.4 Identifying Capability Requirements From Scenarios -- 5.5.2.5 Requirements Workshops -- 5.5.2.6 Requirements Learnt From Experience -- 5.5.2.7 Requirements From Prototypes -- 5.5.2.8 Constraints in the Stakeholder Requirements -- 5.5.2.9 Refine Requirements
  • 7.10 Rich Traceability Analysis -- 7.11 Requirements Flow-down -- 7.12 Rich Traceability for Qualification -- 7.13 Implementing Rich Traceability -- 7.13.1 Single-layer Rich Traceability -- 7.13.2 Multi-layer Rich Traceability -- 7.14 Design Documents -- 7.15 Metrics for Traceability -- 7.15.1 Breadth -- 7.15.2 Depth -- 7.15.3 Growth -- 7.15.4 Balance -- 7.15.5 Latent Change -- 7.16 Summary -- 8 DOORS: A Tool to Manage Requirements -- 8.1 Introduction -- 8.2 The Case for Requirements Management -- 8.3 DOORS Information Model -- 8.4 The Project Area -- 8.5 Modules as Documents -- 8.6 Artifacts -- 8.7 Traceability Links -- 8.8 Views -- 8.8.1 Rows in Views -- 8.8.2 Columns in Views -- 8.9 Artifact Types and Attributes -- 8.10 Import and Export -- 8.11 Summary -- 9 Management Aspects of Requirements Engineering -- 9.1 Introduction to Management -- 9.2 Requirements Management Problems -- 9.2.1 Summary of Requirement Management Problems -- 9.3 Managing Requirements in an Acquisition Organisation -- 9.3.1 Planning -- 9.3.2 Monitoring -- 9.3.3 Changes -- 9.4 Supplier Organisations -- 9.4.1 Bid Management -- 9.4.1.1 Planning -- 9.4.1.2 Monitoring -- 9.4.1.3 Changes -- 9.4.2 Development -- 9.4.2.1 Planning -- 9.4.2.2 Monitoring -- 9.4.2.3 Changes -- 9.5 Product Organisations -- 9.5.1 Planning -- 9.5.1.1 Single Product Version -- 9.5.1.2 Multiple Products and Versions -- 9.5.2 Monitoring -- 9.5.3 Changes -- 9.6 Agile Development -- 9.7 Organisational Culture -- 9.8 Summary -- 9.8.1 Planning -- 9.8.2 Monitoring -- 9.8.3 Changes -- 9.8.4 Organisational Culture -- Erratum to: Requirements Engineering -- Erratum to: J. Dick et al., Requirements Engineering https://doi.org/10.1007/978-3-319-61073-3 -- Bibliography -- Index
  • 5.5.2.10 Derive Qualification Strategy -- 5.5.3 Define Acceptance Criteria -- 5.5.4 Define Qualification Strategy -- 5.6 Summary -- 6 Requirements Engineering in the Solution Domain -- 6.1 What is the Solution Domain -- 6.2 Engineering Requirements From Stakeholder Requirements to System Requirements -- 6.2.1 Producing the System Model -- 6.2.2 Creating System Models to Derive System Requirements -- 6.2.2.1 Internal Functionality -- 6.2.2.2 Interface Functionality -- 6.2.2.3 Human Interaction Functionality -- 6.2.2.4 Safeguard Functionality -- 6.2.2.5 System Transactions -- 6.2.2.6 Modes of Operation -- 6.2.2.7 Additional Constraints -- 6.2.3 Banking Example -- 6.2.3.1 Internal Functionality -- 6.2.3.2 Interface Functionality -- 6.2.3.3 Human Interaction Functionality -- 6.2.3.4 Safeguard Functionality -- 6.2.3.5 System Transactions -- 6.2.3.6 Modes of Operation -- 6.2.4 Car Example -- 6.2.4.1 Internal Functionality -- 6.2.4.2 Interface Functionality -- 6.2.4.3 Human Interaction Functionality -- 6.2.4.4 Safeguard Functionality -- 6.2.4.5 System Transactions -- 6.2.4.6 Modes of Operation -- 6.2.5 Deriving Requirements From a System Model -- 6.2.5.1 Create a Document Structure for the Requirements -- 6.2.5.2 Derive or Allocate Requirements -- 6.2.6 Agreeing the System Requirements with the Design Team -- 6.3 Engineering Requirements From System Requirements to Subsystems -- 6.3.1 Creating a System Architecture Model -- 6.3.2 Deriving Requirements From an Architectural Design Model -- 6.4 Other Transformations Using a Design Architecture -- 6.5 Summary -- 7 Advanced Traceability -- 7.1 Introduction -- 7.2 Elementary Traceability -- 7.3 Rationale -- 7.4 Satisfaction Statements -- 7.5 Rich Traceability -- 7.6 Supporting Information and Evidence -- 7.7 Sufficiency and Necessity -- 7.8 Reviewing Traceability -- 7.9 The Language of Satisfaction Statements
  • Intro -- Preface to the Fourth Edition -- Preface to the Third Edition -- Preface to the Second Edition -- Preface to the First Edition -- Acknowledgements -- Contents -- 1 Introduction -- 1.1 Introduction to Requirements -- 1.2 Introduction to Systems Engineering -- 1.3 Defining Requirements Engineering -- 1.3.1 Definition of a Requirement -- 1.3.2 Definition of a Stakeholder -- 1.3.3 Definition of Requirements Engineering -- 1.4 Requirements and Quality -- 1.5 Requirements and the Lifecycle -- 1.6 Requirements Tracing -- 1.7 Requirements and Modelling -- 1.8 Requirements and Testing -- 1.9 Requirements in the Problem and Solution Domains -- 1.10 Requirements and Design Agnosticism -- 1.11 Requirements and Interfaces -- 1.12 How to Read this Book -- 2 A Generic Process for Requirements Engineering -- 2.1 Introduction -- 2.2 Developing Systems -- 2.3 Generic Process Context -- 2.3.1 Input Requirements and Derived Requirements -- 2.3.2 Acceptance Criteria and Qualification Strategy -- 2.4 Generic Process Introduction -- 2.4.1 Ideal Development -- 2.4.2 Development in the Context of Change -- 2.5 Generic Process Information Model -- 2.5.1 Information Classes -- 2.5.2 Agreement State -- 2.5.3 Qualification State -- 2.5.4 Satisfaction State -- 2.5.5 Information Model Constraints -- 2.6 Generic Process Details -- 2.6.1 Agree Requirements -- 2.6.2 Analyse and Model -- 2.6.3 Derive Requirements and Qualification Strategy -- 2.6.3.1 Deriving Requirements -- 2.6.3.2 Deriving the Qualification Strategy -- 2.7 Summary -- 3 System Modelling for Requirements Engineering -- 3.1 Introduction -- 3.2 Representations for Requirements Engineering -- 3.2.1 Data Flow Diagrams -- 3.2.2 Entity-Relationship Diagrams -- 3.2.3 Statecharts -- 3.2.4 Object-Oriented Approaches -- 3.2.4.1 Class Diagrams -- 3.2.4.2 Use Cases -- 3.3 Methods -- 3.3.1 Viewpoint Methods