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 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 |