Requirements Engineering - Fundamentals, Principles, Techniques

Second Edition

Table of Contents

The book consists of five parts. Click on a part heading to display its table of contents, including sub-parts, chapters, and sections.

Part I Fundamentals and Framework
Chapter 1 Software Systems
Section 1.1 Information Systems
Section 1.2 Embedded Systems
Section 1.3 Software-Intensive Systems
Section 1.4 Adaptive Systems
Section 1.5 Consequences for Requirements Engineering
Chapter 2 Software Project Failures
Chapter 3 Requirements
Section 3.1 Definition
Section 3.2 Three Types of Requirements
Section 3.3 Taxonomy for Quality Requirements
Section 3.4 Impact of Constraints
Section 3.5 So-Called Non-functional Requirements (NFRs)
Chapter 4 Goal of Requirements Engineering
Section 4.1 Establishing Vision in Context
Section 4.2 The Three Dimensions of Requirements Engineering
Section 4.3 The Requirements Engineering Process Within the Three Dimensions
Chapter 5 “What” vs. “How” in System Development
Section 5.1 Between Requirements Engineering and Design
Section 5.2 Within Requirements Engineering
Section 5.3 Within Design
Section 5.4 Co-evolution of Requirements and Design
Chapter 6 Embedding Requirements Engineering in Organisations
Section 6.1 Typical Interrelations with Organisational Processes
Section 6.2 Early Development Phase
Section 6.3 Cross-Lifecycle Activity
Section 6.4 Continuous Organisational Process
Chapter 7 Requirements Engineering & Software Development Processes
Section 7.1 Interrelation with other Development Activities
Section 7.2 Traditional Software Development Process Models
Section 7.3 Agile Software Development Process Models
Section 7.4 Combining Traditional and Agile Development Principles
Chapter 8 The Requirements Engineering Framework
Section 8.1 Overview of the Framework
Section 8.2 The Requirements Engineering Context
Section 8.3 Three Core Activities
Section 8.4 Two Cross-Sectional Activities
Section 8.5 Interrelations Between the Five Activities
Section 8.6 Three Types of Requirements Artefacts
Section 8.7 Overview of the Book
Part II Requirements Engineering Context
Part II.a Foundations
Chapter 9 Why Context Matters
Section 9.1 Context and System Vision
Section 9.2 Context Impact: Examples
Chapter 10 Definitions
Section 10.1 Context Objects
Section 10.2 Context Information
Section 10.3 Requirements Engineering Context
Chapter 11 Context Consideration
Section 11.1 Context Consideration in the Core Activities
Section 11.2 Context Consideration in the Cross-Sectional Activities
Chapter 12 System Decomposition and Context Consideration
Section 12.1 System Decomposition
Section 12.2 Sub-System-Specific Context
Chapter 13 System Boundary
Section 13.1 System Boundary: Definition
Section 13.2 Defining the System Boundary
Section 13.3 Scope of Development
Part II.b Context Perspectives
Chapter 14 Foundations
Section 14.1 Characteristics of a Perspective
Section 14.2 Potential Benefits of Using Perspectives
Section 14.3 Example: Four Worlds of Information System Development
Section 14.4 Perspective-Based Context Object Consideration
Chapter 15 Eight Context Perspectives
Section 15.1 Usage Perspective
Section 15.2 Subject Perspective
Section 15.3 IT System Perspective
Section 15.4 Development Perspective
Section 15.5 Business Perspective
Section 15.6 Innovation Perspective
Section 15.7 Society Perspective
Section 15.8 Technical Perspective
Chapter 16 Example: Automated Car Park
Section 16.1 Initial Context Objects
Section 16.2 Access Control
Section 16.3 Additional Functionality: Advertisement
Section 16.4 Summary
Part III Core Activities
Part III.a Elicitation
Chapter 17 Fundamentals
Section 17.1 Three Elicitation Activities
Section 17.2 Four Types of Requirements Sources
Section 17.3 Use of Goals and Scenarios
Chapter 18 Three Elicitation Activities
Section 18.1 Identification and Selection of Requirements Sources
Section 18.2 Elicitation of Existing Requirements and Context Information
Section 18.3 Development of New and Innovative Requirements
Chapter 19 Elicitation Techniques
Section 19.1 Template for Describing the Techniques
Section 19.2 Interview
Section 19.3 Workshop
Section 19.4 Focus Group
Section 19.5 Observation
Section 19.6 Questionnaire
Section 19.7 Perspective-Based Reading
Section 19.8 Design Thinking
Chapter 20 Assistance Techniques
Section 20.1 Brainstorming
Section 20.2 Prototyping
Section 20.3 KJ Method
Section 20.4 Mind Mapping
Section 20.5 Elicitation Checklists
Part III.b Documentation
Chapter 21 Fundamentals
Section 21.1 Goal of Documentation
Section 21.2 Documenting Requirements
Section 21.3 Documenting Context Information
Section 21.4 Documenting Process Information
Section 21.5 Representation Formats
Section 21.6 Usage-Driven Documentation and Specification
Chapter 22 Quality Criteria
Section 22.1 For a Single Requirements Artefact
Section 22.2 For Sets of Requirements Artefacts
Section 22.3 Acceptance Criteria
Chapter 23 Requirements Attributes
Section 23.1 Attributes and Attribute Schemes
Section 23.2 Typical Requirements Attributes
Chapter 24 Requirements Specifications
Section 24.1 Types of Requirements Specifications
Section 24.2 Reference Structures for Requirements Documents
Chapter 25 Natural Language
Section 25.1 Advantages and Disadvantages of Textual Requirements
Section 25.2 Non-Atomic, Intermingled Requirements Artefacts
Section 25.3 Ambiguity of Textual Requirements
Section 25.4 Techniques for Avoiding Ambiguity
Chapter 26 Conceptual Models
Section 26.1 Properties of Conceptual Models
Section 26.2 Advantages of Conceptual Models
Section 26.3 Semiotics of Conceptual Models
Section 26.4 Syntax, Semantics, Pragmatics of Conceptual Models
Section 26.5 Model Creation and Model Interpretation: Potential Transformation Effects
Section 26.6 Conceptual Modelling Languages
Chapter 27 Combining Model-Based and Textual Documentation
Section 27.1 Textual Annotations of Model Elements
Section 27.2 Interrelating Conceptual Models and Textual
Part III.c Negotiation
Chapter 28 Fundamentals
Section 28.1 Goal of Requirements Negotiation
Section 28.2 Requirements Negotiation: Definition
Section 28.3 Achieving Win-Win Conflict Resolution Result
Section 28.4 Benefits of Using Goals and Scenarios
Chapter 29 Conflict Causes and Conflict Types
Section 29.1 Conflict Causes
Section 29.2 Conflict Types
Chapter 30 Conflict Resolution Strategies
Section 30.1 Negotiation Strategy
Section 30.2 Creative Solution Strategy
Section 30.3 Decision Strategy
Section 30.4 Product Differentiation Strategy
Section 30.5 Conflict Types and Resolution Strategies
Part IV Requirements Artefacts
Part IV.a Goals
Chapter 31 Fundamentals
Section 31.1 Benefits of Using Goals
Section 31.2 AND/OR Decomposition
Section 31.3 AND/OR Goal Trees and Graphs
Section 31.4 Goal Dependencies
Section 31.5 Context Impact on Goal Dependencies
Chapter 32 Textual Goal Documentation
Section 32.1 Seven Rules for Documenting Goals
Section 32.2 A Template for Documenting Goals
Section 32.3 Hints
Chapter 33 Goal Modelling Languages
Section 33.1 i* (iStar) 2.0
Section 33.2 KAOS
Section 33.3 Selecting a Goal Modelling Language
Part IV.b Scenarios
Chapter 34 Fundamentals
Section 34.1 Scenarios as Middle-Level Abstractions
Section 34.2 Capturing Context Information in Scenarios
Chapter 35 Scenario Types
Section 35.1 Current-State and Desired-State Scenarios
Section 35.2 Positive and Negative Scenarios
Section 35.3 Narrative Scenarios
Section 35.4 Misuse Scenarios
Section 35.5 Descriptive, Exploratory, and Explanatory Scenarios
Section 35.6 Instance and Type Scenarios
Section 35.7 System-Internal, Interaction, and Context Scenarios
Section 35.8 Main Scenario, Alternative Scenarios, and Exception Scenarios
Section 35.9 User Stories
Section 35.10 Use Cases
Section 35.11 Use of the Different Scenario Types
Chapter 36 Textual Scenario Documentation
Section 36.1 Eleven Rules for Documenting Scenarios
Section 36.2 Structured Documentation of Scenarios
Chapter 37 Model-Based Scenario Documentation
Section 37.1 Message Sequence Charts
Section 37.2 Use Case Diagrams
Chapter 38 Benefits of Goals and Scenarios
Section 38.1 Benefits of Goal Orientation
Section 38.2 Benefits of Using Scenarios
Section 38.3 Goal–Scenario Coupling
Part IV.c Solution-Oriented Requirements
Chapter 39 Fundamentals
Section 39.1 Three Key Perspectives on a Solution
Section 39.2 Documentation of Solution-Oriented Requirements
Section 39.3 Differences between Solution-Oriented Requirements, Goals, and Scenarios
Section 39.4 Relationships between Solution-Oriented Requirements, Goals, and Scenarios
Chapter 40 Data Models
Section 40.1 Entity-Relationship Models
Section 40.2 UML Class Diagrams
Chapter 41 Functional Models
Section 41.1 Data Flow Models
Section 41.2 Essential Data Flow Models
Section 41.3 UML Activity Diagrams
Chapter 42 Behavioural Models
Section 42.1 Finite Automata
Section 42.2 Statecharts
Section 42.3 UML State Machine Diagram
Chapter 43 Interrelations Between the Three Perspectives
Section 43.1 Navigation System Example
Section 43.2 Relationships between the Perspectives
Section 43.3 Interrelation of the Perspectives Using UML
Part V Cross-Sectional Activities
Part V.a Validation
Chapter 44 Fundamentals
Section 44.1 Motivation
Section 44.2 Quality Assurance
Section 44.3 Six Validation Principles
Section 44.4 Validation of Goals and Scenarios
Chapter 45 Three Validation Activities
Section 45.1 Validation of Context Consideration
Section 45.2 Validation of Activity Execution
Section 45.3 Validation of Requirements Artefacts
Chapter 46 Validation Techniques
Section 46.1 Artefact Commentary
Section 46.2 Walkthroughs
Section 46.3 Inspections
Section 46.4 Prototyping
Section 46.5 Comparison of Validation Techniques
Chapter 47 Assistance Techniques
Section 47.1 Perspective-Based Reading
Section 47.2 Validation Checklists
Section 47.3 Creation of Artefacts
Part V.b Management
Chapter 48 Three Management Activities
Section 48.1 Management of the Requirements Engineering Context
Section 48.2 Management of the Requirements Engineering Activities
Section 48.3 Management of the Requirements Artefacts and Context Information
Chapter 49 Requirements Traceability
Section 49.1 Motivation
Section 49.2 Three Kinds of Requirements Traceability
Section 49.3 Traceability Relationships
Section 49.4 Documenting Traceability Relationships
Section 49.5 Visualisation of Traceability Information
Section 49.6 Usage-Driven, Project-Specific Traceability
Chapter 50 Requirements Prioritisation
Section 50.1 Preparation of Prioritisation
Section 50.2 Techniques for Requirements Prioritisation
Chapter 51 Configuration Management
Section 51.1 Three Levels of Configuration Management
Section 51.2 Artefact Versions
Section 51.3 Configurations of Artefacts
Section 51.4 Baselines of Requirements Artefacts
Chapter 52 Change Management
Section 52.1 Change Control Board
Section 52.2 Documenting Change Requests
Section 52.3 Change Management Process