Content of this Book
Here you find an overview of the eight parts of the book. Please click on a part heading to view the detailed structure of the corresponding part.
Part I Fundamentals and Framework
Part IV Core Activities
Part V Validation
1 Motivation
1.1 Software-Intensive Systems
1.2 Importance of Requirements Engineering
1.3 Embedding of Requirements Engineering in the Organisational Context
2 Requirements
2.1 The Term “Requirement”
2.2 Requirement Types
2.3 Problem vs. Solution
3 Continuous Requirements Engineering
3.1 Traditional Systems Analysis
3.2 Essential Systems Analysis
3.3 Requirements Engineering as an Early Development Phase
3.4 Shortcomings of Systems Analysis and Phase-Oriented Requirements Engineering
3.5 Continuous Requirements Engineering
4 The Requirements Engineering Framework
4.1 Goal of Requirements Engineering: Establishing a Vision in Context
4.2 Overview of the Framework
4.3 Four Context Facets
4.4 Three Core Activities
4.5 Two Cross-Sectional Activities
4.6 The Three Kinds of Requirements Artefacts
4.7 Overview of the Book
Part II System Context1.1 Software-Intensive Systems
1.2 Importance of Requirements Engineering
1.3 Embedding of Requirements Engineering in the Organisational Context
2 Requirements
2.1 The Term “Requirement”
2.2 Requirement Types
2.3 Problem vs. Solution
3 Continuous Requirements Engineering
3.1 Traditional Systems Analysis
3.2 Essential Systems Analysis
3.3 Requirements Engineering as an Early Development Phase
3.4 Shortcomings of Systems Analysis and Phase-Oriented Requirements Engineering
3.5 Continuous Requirements Engineering
4 The Requirements Engineering Framework
4.1 Goal of Requirements Engineering: Establishing a Vision in Context
4.2 Overview of the Framework
4.3 Four Context Facets
4.4 Three Core Activities
4.5 Two Cross-Sectional Activities
4.6 The Three Kinds of Requirements Artefacts
4.7 Overview of the Book
5 System and Context Boundaries
5.1 The Term “Context”
5.2 System Boundary
5.3 Context Boundary
5.4 Need to Document Context Aspects
6 Structuring the System Context
6.1 Structuring Principles
6.2 Four Context Facets and Three Types of Context Aspects
6.3 Relevant Context Aspects within the Four Context Facets
6.4 Different Roles of a Context Aspect
Recommended Literature for Part II
Part III Requirements Artefacts5.1 The Term “Context”
5.2 System Boundary
5.3 Context Boundary
5.4 Need to Document Context Aspects
6 Structuring the System Context
6.1 Structuring Principles
6.2 Four Context Facets and Three Types of Context Aspects
6.3 Relevant Context Aspects within the Four Context Facets
6.4 Different Roles of a Context Aspect
Recommended Literature for Part II
Part III.a Goals
7 Fundamentals of Goal Orientation
7.1 Motivation
7.2 The Term “Goal”
7.3 AND/OR Goal Decomposition
7.4 Goal Dependencies
7.5 Identifying Goal Dependencies
8 Documenting Goals
8.1 A Template for Documenting Goals
8.2 Seven Rules for Documenting Goals
8.3 Goal Modelling Languages and Methods
8.4 Documenting Goals Using AND/OR Trees and AND/OR Graphs
8.5 i* (i-Star)
8.6 KAOS
8.7 Deciding Which Goal Modelling Language to Use
Recommended Literature for Part III.a
7.1 Motivation
7.2 The Term “Goal”
7.3 AND/OR Goal Decomposition
7.4 Goal Dependencies
7.5 Identifying Goal Dependencies
8 Documenting Goals
8.1 A Template for Documenting Goals
8.2 Seven Rules for Documenting Goals
8.3 Goal Modelling Languages and Methods
8.4 Documenting Goals Using AND/OR Trees and AND/OR Graphs
8.5 i* (i-Star)
8.6 KAOS
8.7 Deciding Which Goal Modelling Language to Use
Recommended Literature for Part III.a
Part III.b Scenarios
9 Fundamentals of Scenarios
9.1 Scenarios as Middle-Level Abstractions
9.2 Scenarios as a Means for Putting Requirements in Context
9.3 Developing Scenarios for Each Context Facet
10 Scenario Types
10.1 Current-State and Desired-State Scenarios
10.2 Positive and Negative Scenarios
10.3 Misuse Scenarios
10.4 Descriptive, Exploratory, and Explanatory Scenarios
10.5 Instance and Type Scenarios
10.6 System-Internal, Interaction, and Context Scenarios
10.7 Main Scenario, Alternative Scenarios, and Exception Scenarios
10.8 Use Cases: Grouping Scenarios
11 Documenting Scenarios
11.1 Narrative Scenarios
11.2 Structured Scenarios
11.3 A Reference Template for Use Cases
11.4 Eleven Rules for Documenting Scenarios
11.5 Sequence Diagrams
11.6 Activity Diagrams
11.7 Use Case Diagrams
11.8 Use of the Different Scenario Types in the Requirements Engineering Process
12 Benefits of Using Goals and Scenarios
12.1 Benefits of Goal Orientation
12.2 Benefits of Using Scenarios
12.3 Benefits of Goal–Scenario–Coupling
Recommended Literature for Part III.b
9.1 Scenarios as Middle-Level Abstractions
9.2 Scenarios as a Means for Putting Requirements in Context
9.3 Developing Scenarios for Each Context Facet
10 Scenario Types
10.1 Current-State and Desired-State Scenarios
10.2 Positive and Negative Scenarios
10.3 Misuse Scenarios
10.4 Descriptive, Exploratory, and Explanatory Scenarios
10.5 Instance and Type Scenarios
10.6 System-Internal, Interaction, and Context Scenarios
10.7 Main Scenario, Alternative Scenarios, and Exception Scenarios
10.8 Use Cases: Grouping Scenarios
11 Documenting Scenarios
11.1 Narrative Scenarios
11.2 Structured Scenarios
11.3 A Reference Template for Use Cases
11.4 Eleven Rules for Documenting Scenarios
11.5 Sequence Diagrams
11.6 Activity Diagrams
11.7 Use Case Diagrams
11.8 Use of the Different Scenario Types in the Requirements Engineering Process
12 Benefits of Using Goals and Scenarios
12.1 Benefits of Goal Orientation
12.2 Benefits of Using Scenarios
12.3 Benefits of Goal–Scenario–Coupling
Recommended Literature for Part III.b
Part III.c Solution-Oriented Requirements
13 Fundamentals
13.1 Three Perspectives on a Solution
13.2 Solution-Oriented Requirements, Goals, and Scenarios
14 Documenting Solution-Oriented Requirements
14.1 Documenting Requirements in the Data Perspective
14.2 Documenting Requirements in the Functional Perspective
14.3 Documenting Requirements in the Behavioural Perspective
14.4 Documenting Quality Requirements in the Three Perspectives
15 Integration of the Three Perspectives
15.1 Extended Example
15.2 Relationships between the Perspectives
15.3 Integration Using UML 2
15.4 Integration Using SysML
Recommended Literature for Part III.c
13.1 Three Perspectives on a Solution
13.2 Solution-Oriented Requirements, Goals, and Scenarios
14 Documenting Solution-Oriented Requirements
14.1 Documenting Requirements in the Data Perspective
14.2 Documenting Requirements in the Functional Perspective
14.3 Documenting Requirements in the Behavioural Perspective
14.4 Documenting Quality Requirements in the Three Perspectives
15 Integration of the Three Perspectives
15.1 Extended Example
15.2 Relationships between the Perspectives
15.3 Integration Using UML 2
15.4 Integration Using SysML
Recommended Literature for Part III.c
Part IV.a Documentation
16 Fundamentals of Requirements Documentation
16.1 Motivation and Aims
16.2 Documentation vs. Specification
16.3 Quality Criteria for Requirements Artefacts
16.4 Acceptance Criteria
17 Natural Language Documentation
17.1 Natural Language Requirements
17.2 Requirements Documents
17.3 Quality Criteria for Requirements Documents
17.4 Use of Natural Language: Advantages and Disadvantages
17.5 Techniques for Avoiding Ambiguity
18 Structuring Natural Language Requirements
18.1 Reference Structures for Requirements Documents
18.2 Defining Attributes for Requirements
18.3 Requirements Attributes
18.4 Templates and Information Models
18.5 Establishing Views on Textual Requirements
19 Fundamentals of Conceptual Modelling
19.1 Physical vs. Conceptual Models
19.2 Model Properties
19.3 Semiotics of Conceptual Models
19.4 Quality of Conceptual Models
19.5 Modelling Languages
19.6 Model Creation and Model Interpretation
20 Interrelation of Model-Based and Textual Requirements
20.1 Requirements Models
20.2 Interrelating Requirements Models and Textual Requirements
20.3 Traceability Meta-models
20.4 Relationships between Conceptual Models and Textual Requirements
20.5 Technical Realisation
Recommended Literature for Part IV.a
16.1 Motivation and Aims
16.2 Documentation vs. Specification
16.3 Quality Criteria for Requirements Artefacts
16.4 Acceptance Criteria
17 Natural Language Documentation
17.1 Natural Language Requirements
17.2 Requirements Documents
17.3 Quality Criteria for Requirements Documents
17.4 Use of Natural Language: Advantages and Disadvantages
17.5 Techniques for Avoiding Ambiguity
18 Structuring Natural Language Requirements
18.1 Reference Structures for Requirements Documents
18.2 Defining Attributes for Requirements
18.3 Requirements Attributes
18.4 Templates and Information Models
18.5 Establishing Views on Textual Requirements
19 Fundamentals of Conceptual Modelling
19.1 Physical vs. Conceptual Models
19.2 Model Properties
19.3 Semiotics of Conceptual Models
19.4 Quality of Conceptual Models
19.5 Modelling Languages
19.6 Model Creation and Model Interpretation
20 Interrelation of Model-Based and Textual Requirements
20.1 Requirements Models
20.2 Interrelating Requirements Models and Textual Requirements
20.3 Traceability Meta-models
20.4 Relationships between Conceptual Models and Textual Requirements
20.5 Technical Realisation
Recommended Literature for Part IV.a
Part IV.b Elicitation
21 Fundamentals of Requirements Elicitation
21.1 Goal of Requirements Elicitation
21.2 Requirements Elicitation: Definition
21.3 Use of Goals and Scenarios in Requirements Elicitation
21.4 Sub-activity: Identifying Relevant Requirement Sources
21.5 Sub-activity: Eliciting Existing Requirements
21.6 Sub-activity: Developing New and Innovative Requirements
22 Elicitation Techniques
22.1 Evaluation of the Techniques
22.2 Template for Describing the Techniques
22.3 Interview
22.4 Workshop
22.5 Focus Groups
22.6 Observation
22.7 Questionnaires
22.8 Perspective-Based Reading
23 Assistance Techniques for Elicitation
23.1 Evaluation of the Techniques
23.2 Brainstorming
23.3 Prototyping
23.4 KJ Method
23.5 Mind Mapping
23.6 Elicitation Checklists
Recommended Literature for Part IV.b
21.1 Goal of Requirements Elicitation
21.2 Requirements Elicitation: Definition
21.3 Use of Goals and Scenarios in Requirements Elicitation
21.4 Sub-activity: Identifying Relevant Requirement Sources
21.5 Sub-activity: Eliciting Existing Requirements
21.6 Sub-activity: Developing New and Innovative Requirements
22 Elicitation Techniques
22.1 Evaluation of the Techniques
22.2 Template for Describing the Techniques
22.3 Interview
22.4 Workshop
22.5 Focus Groups
22.6 Observation
22.7 Questionnaires
22.8 Perspective-Based Reading
23 Assistance Techniques for Elicitation
23.1 Evaluation of the Techniques
23.2 Brainstorming
23.3 Prototyping
23.4 KJ Method
23.5 Mind Mapping
23.6 Elicitation Checklists
Recommended Literature for Part IV.b
Part IV.c Negotiation
24 Fundamentals of Requirements Negotiation
24.1 Goal of Requirements Negotiation
24.2 Requirements Negotiation: Definition
24.3 Use of Goals and Scenarios in Requirements Negotiation
25 Conflict Management
25.1 Sub-activity: Identifying Conflicts
25.2 Sub-activity: Analysing Conflicts
25.3 Sub-activity: Resolving Conflicts
25.4 Sub-activity: Documenting Conflict Resolutions
26 Negotiation Techniques
26.1 The Win–Win Approach
26.2 Interaction Matrix
Recommended Literature for Part IV.c
24.1 Goal of Requirements Negotiation
24.2 Requirements Negotiation: Definition
24.3 Use of Goals and Scenarios in Requirements Negotiation
25 Conflict Management
25.1 Sub-activity: Identifying Conflicts
25.2 Sub-activity: Analysing Conflicts
25.3 Sub-activity: Resolving Conflicts
25.4 Sub-activity: Documenting Conflict Resolutions
26 Negotiation Techniques
26.1 The Win–Win Approach
26.2 Interaction Matrix
Recommended Literature for Part IV.c
27 Fundamentals of Requirements Validation
27.1 Motivation and Goals
27.2 Validation vs. Verification
27.3 Sub-activity: Validating the Created Requirements Artefacts
27.4 Sub-activity: Validating the Consideration of the Context
27.5 Sub-activity: Validating the Execution of Activities
27.6 Capability Model for Validation with Three Levels
27.7 Goals and Scenarios in Validation
27.8 Principles of Validation
28 Validation Techniques
28.1 Inspections
28.2 Desk-Checks
28.3 Walkthroughs
28.4 Comparison: Inspections, Desk-Checks, and Walkthroughs
28.5 Validation Using Prototypes
29 Assistance Techniques for Validation
29.1 Validation Checklists
29.2 Perspective-Based Reading
29.3 Creation of Artefacts
Recommended Literature for Part V
Part VI Management27.1 Motivation and Goals
27.2 Validation vs. Verification
27.3 Sub-activity: Validating the Created Requirements Artefacts
27.4 Sub-activity: Validating the Consideration of the Context
27.5 Sub-activity: Validating the Execution of Activities
27.6 Capability Model for Validation with Three Levels
27.7 Goals and Scenarios in Validation
27.8 Principles of Validation
28 Validation Techniques
28.1 Inspections
28.2 Desk-Checks
28.3 Walkthroughs
28.4 Comparison: Inspections, Desk-Checks, and Walkthroughs
28.5 Validation Using Prototypes
29 Assistance Techniques for Validation
29.1 Validation Checklists
29.2 Perspective-Based Reading
29.3 Creation of Artefacts
Recommended Literature for Part V
30 Fundamentals of Requirements Management
30.1 Goals of the Management Activity
30.2 Definition
30.3 Managing Requirements Artefacts
30.4 Observing the System Context
30.5 Managing the Requirements Engineering Activities
31 Requirements Traceability
31.1 Fundamentals of Traceability
31.2 Pre- and Post-traceability of Requirements
31.3 Traceability Relationship Types
31.4 Documenting Traceability Relationships
31.5 Presentation of Traceability Information
31.6 Project-Specific Traceability
32 Prioritising Requirements
32.1 Fundamentals of Requirements Prioritisation
32.2 Preparation Activities for Prioritisation
32.3 Techniques for Requirements Prioritisation
33 Change Management for Requirements
33.1 Configuration Management
33.2 Requirements Changes
33.3 Systematic Change Management
Recommended Literature for Part VI
Part VII COSMOD-RE: the Goal- and Scenario-Based RE Method30.1 Goals of the Management Activity
30.2 Definition
30.3 Managing Requirements Artefacts
30.4 Observing the System Context
30.5 Managing the Requirements Engineering Activities
31 Requirements Traceability
31.1 Fundamentals of Traceability
31.2 Pre- and Post-traceability of Requirements
31.3 Traceability Relationship Types
31.4 Documenting Traceability Relationships
31.5 Presentation of Traceability Information
31.6 Project-Specific Traceability
32 Prioritising Requirements
32.1 Fundamentals of Requirements Prioritisation
32.2 Preparation Activities for Prioritisation
32.3 Techniques for Requirements Prioritisation
33 Change Management for Requirements
33.1 Configuration Management
33.2 Requirements Changes
33.3 Systematic Change Management
Recommended Literature for Part VI
34 Fundamentals
34.1 Abstraction Layers
34.2 Co-development of Requirements and Architectural Artefacts
35 The COSMOD-RE Method
35.1 The Four COSMOD-RE Abstraction Layers
35.2 The Four COSMOD-RE Artefact Types
35.3 COSMOD-RE Co-design Processes
35.4 The Five Sub-processes of Each Co-design Process
36 Applying COSMOD-RE: an Example
36.1 Developing Initial Goals and Scenarios (SP1)
36.2 Developing an Initial Architecture (SP2)
36.3 Developing Component Goals and Scenarios (SP3)
36.4 Consolidating Requirements and Architectural Artefacts (SP4)
36.5 Specifying the Detailed System Requirements (SP5)
36.6 Summary
Part VIII Software Product Lines and Requirements-Based Testing34.1 Abstraction Layers
34.2 Co-development of Requirements and Architectural Artefacts
35 The COSMOD-RE Method
35.1 The Four COSMOD-RE Abstraction Layers
35.2 The Four COSMOD-RE Artefact Types
35.3 COSMOD-RE Co-design Processes
35.4 The Five Sub-processes of Each Co-design Process
36 Applying COSMOD-RE: an Example
36.1 Developing Initial Goals and Scenarios (SP1)
36.2 Developing an Initial Architecture (SP2)
36.3 Developing Component Goals and Scenarios (SP3)
36.4 Consolidating Requirements and Architectural Artefacts (SP4)
36.5 Specifying the Detailed System Requirements (SP5)
36.6 Summary
37 Requirements Engineering for Software Product Lines
37.1 Core Concepts of Product Line Engineering
37.2 Challenges for Requirements Engineering in Software Product Line Engineering
37.3 Documenting Variability
37.4 Domain Requirements Engineering
37.5 Application Requirements Engineering
37.6 Summary
38 Requirements-Based Testing: the ScenTED Approach
38.1 Motivation
38.2 Main Concepts behind Testing
38.3 The Role of Scenarios in Testing
38.4 Requirements-Based Definition of Test Cases
38.5 The ScenTED Approach
38.6 Summary
37.1 Core Concepts of Product Line Engineering
37.2 Challenges for Requirements Engineering in Software Product Line Engineering
37.3 Documenting Variability
37.4 Domain Requirements Engineering
37.5 Application Requirements Engineering
37.6 Summary
38 Requirements-Based Testing: the ScenTED Approach
38.1 Motivation
38.2 Main Concepts behind Testing
38.3 The Role of Scenarios in Testing
38.4 Requirements-Based Definition of Test Cases
38.5 The ScenTED Approach
38.6 Summary