Requirements Engineering
Fundamentals, Principles and Techniques
Second Edition, Springer (2025)
ISBN 978-3-662-69204-2
New and Revised Content, Major Updates
- Most comprehensive description of requirements engineering fundamentals
- Didactically sound and industrially validated framework to structure requirements engineering
- Helpful checklists and guidelines to support the practical application of the concepts and the techniques presented
This textbook provides a comprehensive and well-structured introduction to the fundamentals, principles, and techniques of requirements engineering (RE). It presents approved techniques for eliciting, negotiating, and documenting as well as validating, and managing requirements for software-intensive systems. The various aspects of the process and the techniques are illustrated using numerous examples based on extensive teaching experience and industrial collaborations.
This second edition of Pohl’s widely used and trusted textbook provides a considerable number of updates, places a stronger focus on the consideration of the context, puts a stronger emphasis on conflict resolution, and includes new, expanded and revised techniques. The presentation aims at professionals, students, and lecturers in systems and software engineering or business applications development. Professionals such as project managers, software architects, systems analysts, and software engineers will benefit in their daily work from the didactically well-presented combination of validated procedures and industrial experience. Students and lecturers will appreciate the comprehensive description of sound fundamentals, principles, and techniques, which is completed by a huge, commented list of references for further reading.
Structure of this Book
The book is structured in five parts. Part I “Fundamentals and Framework” provides a comprehensive introduction to the fundamentals of RE, illustrates why it is a critical success factor for any software development project, and describes different ways of implementing it in an organization and its role in different software engineering process models. Part II “Requirements Engineering Context” explains the essential role and influence of the RE context on system requirements, defines basic terms,and introduces the concept of context perspectives to support context consideration. Part III “Core Activities” describes requirements elicitation, documentation, and negotiation and conflict resolution strategies. Part IV “Requirements Artefacts” explains the management of goals, scenarios, and solution-oriented requirements, including methodologies like i* and KAOS. Eventually, Part V “Cross-Sectional Activities” details four validation and three management activities.
Author
Teaching Material
As soon as the book is published (at the beginning of 2025), extensive teaching material will be available on this page. It can be used for presentations in requirements engineering courses and is structured according to our requirements engineering framework. If you would like to have a first look at the teaching material, please send an e-mail to to: re-book@uni-due.de. We will send you some slide decks in advance and inform you as soon as all slides are available.
Details on the Content
The book is aimed at both beginners and advanced learners. Click on the chapter headings to find out more about the content and level of each chapter.
Part I Fundamentals and Framework
Part I Fundamentals and Framework
| Chapter | Classification | |
|---|---|---|
| Basic Level | Advanced Level | |
| 1. Software Systems | x | |
| 1.1 Information Systems | x | |
| 1.2 Embedded Systems | x | |
| 1.3 Software-Intensive Systems | x | |
| 1.4 Adaptive Systems | x | |
| 1.5 Consequences for Requirements Engineering | x | |
| 2. Software Project Failures | x | |
| 3. Requirements | ||
| 3.1 Definition | x | |
| 3.2 Three Types of Requirements | x | |
| 3.3 Taxonomy for Quality Requirements | x | |
| 3.4 Impact of Constraints | x | |
| 3.5 So-Called Non-functional Requirements (NFRs) | x | |
| 4. Goal of Requirements Engineering | ||
| 4.1 Establishing Vision in Context | x | |
| 4.2 The Three Dimensions of Requirements Engineering | x | |
| 4.3 The Requirements Engineering Process Within the Three Dimensions | x | |
| 5. “What” vs. “How” in System Development | ||
| 5.1 Between Requirements Engineering and Design | x | |
| 5.2 Within Requirements Engineering | x | |
| 5.3 Within Design | x | |
| 5.4 Co-evolution of Requirements and Design | x | |
| 6. Embedding Requirements Engineering in Organisations | ||
| 6.1 Typical Interrelations with Organisational Processes | x | |
| 6.2 Early Development Phase | x | |
| 6.3 Cross-Lifecycle Activity | x | |
| 6.4 Continuous Organisational Process | x | |
| 7. Requirements Engineering & Software Development Processes | ||
| 7.1 Interrelation with other Development Activities | x | |
| 7.2 Traditional Software Development Process Models | x | |
| 7.3 Agile Software Development Process Models | x | |
| 7.4 Combining Traditional and Agile Development Principles | x | |
| 8. The Requirements Engineering Framework | ||
| 8.1 Overview of the Framework | x | |
| 8.2 The Requirements Engineering Context | x | |
| 8.3 Three Core Activities | x | |
| 8.4 Two Cross-Sectional Activities | x | |
| 8.5 Interrelations Between the Five Activities | x | |
| 8.6 Three Types of Requirements Artefacts | x | |
| 8.7 Overview of the Book | x | |
Part II Requirements Engineering Context
Part II.a Foundations
| Chapter | Classification | |
|---|---|---|
| Basic Level | Advanced Level | |
| 9. Why Context Matters | ||
| 9.1 Context and System Vision | x | |
| 9.2 Context Impact: Examples | x | |
| 10. Definitions | ||
| 10.1 Context Objects | x | |
| 10.2 Context Information | x | |
| 10.3 Requirements Engineering Context | x | |
| 11. Context Consideration | ||
| 11.1 Context Consideration in the Core Activities | x | |
| 11.2 Context Consideration in the Cross-Sectional Activities | x | |
| 12. System Decomposition and Context Consideration | ||
| 12.1 System Decomposition | x | |
| 12.2 Sub-System-Specific Context | x | |
| 13. System Boundary | ||
| 13.1 System Boundary: Definition | x | |
| 13.2 Defining the System Boundary | x | |
| 13.3 Scope of Development | x | |
Part II.b Context Perspectives
| Chapter | Classification | |
|---|---|---|
| Basic Level | Advanced Level | |
| 14. Foundations | ||
| 14.1 Characteristics of a Perspective | x | |
| 14.2 Potential Benefits of Using Perspectives | x | |
| 14.3 Example: Four Worlds of Information System Development | x | |
| 14.4 Perspective-Based Context Object Consideration | x | |
| 15. Eight Context Perspectives | ||
| 15.1 Usage Perspective | x | |
| 15.2 Subject Perspective | x | |
| 15.3 IT System Perspective | x | |
| 15.4 Development Perspective | x | |
| 15.5 Business Perspective | x | |
| 15.6 Innovation Perspective | x | |
| 15.7 Society Perspective | x | |
| 15.8 Technical Perspective | x | |
| 16. Example: Automated Car Park | ||
| 16.1 Initial Context Objects | x | |
| 16.2 Access Control | x | |
| 16.3 Additional Functionality: Advertisement | x | |
| 16.4 Summary | x | |
Part III Core Activities
Part III.a Elicitation
| Chapter | Classification | |
|---|---|---|
| Basic Level | Advanced Level | |
| 17. Fundamentals | ||
| 17.1 Three Elicitation Activities | x | |
| 17.2 Four Types of Requirements Sources | x | |
| 17.3 Use of Goals and Scenarios | x | |
| 18. Three Elicitation Activities | ||
| 18.1 Identification and Selection of Requirements Sources | x | |
| 18.2 Elicitation of Existing Requirements and Context Information | x | |
| 18.3 Development of New and Innovative Requirements | x | |
| 19. Elicitation Techniques | ||
| 19.1 Template for Describing the Techniques | x | |
| 19.2 Interview | x | |
| 19.3 Workshop | x | |
| 19.4 Focus Group | x | |
| 19.5 Observation | x | |
| 19.6 Questionnaire | x | |
| 19.7 Perspective-Based Reading | x | |
| 19.8 Design Thinking | x | |
| 20. Assistance Techniques | ||
| 20.1 Brainstorming | x | |
| 20.2 Prototyping | x | |
| 20.3 KJ Method | x | |
| 20.4 Mind Mapping | x | |
| 20.5 Elicitation Checklists | x | |
Part III.b Documentation
| Chapter | Classification | |
|---|---|---|
| Basic Level | Advanced Level | |
| 21. Fundamentals | ||
| 21.1 Goal of Documentation | x | |
| 21.2 Documenting Requirements | x | |
| 21.3 Documenting Context Information | x | |
| 21.4 Documenting Process Information | x | |
| 21.5 Representation Formats | x | |
| 21.6 Usage-Driven Documentation and Specification | x | |
| 22. Quality Critera | ||
| 22.1 For a Single Requirements Artefact | x | |
| 22.2 For Sets of Requirements Artefacts | x | |
| 22.3 Acceptance Criteria | x | |
| 23. Requirements Attributes | ||
| 23.1 Attributes and Attribute Schemes | x | |
| 23.2 Typical Requirements Attributes | x | |
| 24. Requirements Specifications | ||
| 24.1 Types of Requirements Specifications | x | |
| 24.2 Reference Structures for Requirements Documents | x | |
| 25. Natural Language | ||
| 25.1 Advantages and Disadvantages of Textual Requirements | x | |
| 25.2 Non-Atomic, Intermingled Requirements Artefacts | x | |
| 25.3 Ambiguity of Textual Requirements | x | |
| 25.4 Techniques for Avoiding Ambiguity | x | |
| 26. Conceptual Models | ||
| 26.1 Properties of Conceptual Models | x | |
| 26.2 Advantages of Conceptual Models | x | |
| 26.3 Semiotics of Conceptual Models | x | |
| 26.4 Syntax, Semantics, Pragmatics of Conceptual Models | x | |
| 26.5 Model Creation and Model Interpretation: Potential Transformation Effects | x | |
| 26.6 Conceptual Modelling Languages | x | |
| 27. Combining Model-Based and Textual Documentation | ||
| 27.1 Textual Annotations of Model Elements | x | |
| 27.2 Interrelating Conceptual Models and Textual | x | |
Part III.c Negotiation
| Chapter | Classification | |
|---|---|---|
| Basic Level | Advanced Level | |
| 28. Fundamentals | ||
| 28.1 Goal of Requirements Negotiation | x | |
| 28.2 Requirements Negotiation: Definition | x | |
| 28.3 Achieving Win-Win Conflict Resolution Result | x | |
| 28.4 Benefits of Using Goals and Scenarios | x | |
| 29. Conflict Causes and Conflict Types | ||
| 29.1 Conflict Causes | x | |
| 29.2 Conflict Types | x | |
| 30. Conflict Resolution Strategies | ||
| 30.1 Negotiation Strategy | x | |
| 30.2 Creative Solution Strategy | x | |
| 30.3 Decision Strategy | x | |
| 30.4 Product Differentiation Strategy | x | |
| 30.5 Conflict Types and Resolution Strategies | x | |
Part IV Requirements Artefacts
Part IV.a Goals
| Chapter | Classification | |
|---|---|---|
| Basic Level | Advanced Level | |
| 31. Fundamentals | ||
| 31.1 Benefits of Using Goals | x | |
| 31.2 AND/OR Decomposition | x | |
| 31.3 AND/OR Goal Trees and Graphs | x | |
| 31.4 Goal Dependencies | x | |
| 31.5 Context Impact on Goal Dependencies | x | |
| 32.Textual Goal Documentation | ||
| 32.1 Seven Rules for Documenting Goals | x | |
| 32.2 A Template for Documenting Goals | x | |
| 32.3 Hints | x | |
| 33. Goal Modelling Languages | ||
| 33.1 i* (iStar) 2.0 | x | |
| 33.2 KAOS | x | |
| 33.3 Selecting a Goal Modelling Language | x | |
Part IV.b Scenarios
| Chapter | Classification | |
|---|---|---|
| Basic Level | Advanced Level | |
| 34. Fundamentals | ||
| 34.1 Scenarios as Middle-Level Abstractions | x | |
| 34.2 Capturing Context Information in Scenarios | x | |
| 35. Scenario Types | ||
| 35.1 Current-State and Desired-State Scenarios | x | |
| 35.2 Positive and Negative Scenarios | x | |
| 35.3 Narrative Scenarios | x | |
| 35.4 Misuse Scenarios | x | |
| 35.5 Descriptive, Exploratory, and Explanatory Scenarios | x | |
| 35.6 Instance and Type Scenarios | x | |
| 35.7 System-Internal, Interaction, and Context Scenarios | x | |
| 35.8 Main Scenario, Alternative Scenarios, and Exception Scenarios | x | |
| 35.9 User Stories | x | |
| 35.10 Use Cases | x | |
| 35.11 Use of the Different Scenario Types | x | |
| 36. Textual Scenario Documentation | ||
| 36.1 Eleven Rules for Documenting Scenarios | x | |
| 36.2 Structured Documentation of Scenarios | x | |
| 37. Model-Based Scenario Documentation | ||
| 37.1 Message Sequence Charts | x | |
| 37.2 Use Case Diagrams | x | |
| 38. Benefits of Goals and Scenarios | ||
| 38.1 Benefits of Goal Orientation | x | |
| 38.2 Benefits of Using Scenarios | x | |
| 38.3 Goal–Scenario Coupling | x | |
Part IV.c Solution-Oriented Requirements
| Chapter | Classification | |
|---|---|---|
| Basic Level | Advanced Level | |
| 39. Fundamentals | ||
| 39.1 Three Key Perspectives on a Solution | x | |
| 39.2 Documentation of Solution-Oriented Requirements | x | |
| 39.3 Differences between Solution-Oriented Requirements, Goals, and Scenarios | x | |
| 39.4 Relationships between Solution-Oriented Requirements, Goals, and Scenarios | x | |
| 40. Data Models | ||
| 40.1 Entity-Relationship Models | x | |
| 40.2 UML Class Diagrams | x | |
| 41. Functional Models | ||
| 41.1 Data Flow Models | x | |
| 41.2 Essential Data Flow Models | x | |
| 41.3 UML Activity Diagrams | x | |
| 42. Behavioural Models | ||
| 42.1 Finite Automata | x | |
| 42.2 Statecharts | x | |
| 42.3 UML State Machine Diagram | x | |
| 43. Interrelations Between the Three Perspectives | ||
| 43.1 Navigation System Example | x | |
| 43.2 Relationships between the Perspectives | x | |
| 43.3 Interrelation of the Perspectives Using UML | x | |
Part V Cross-Sectional Activities
Part V.a Validation
| Chapter | Classification | |
|---|---|---|
| Basic Level | Advanced Level | |
| 44. Fundamentals | ||
| 44.1 Motivation | x | |
| 44.2 Quality Assurance | x | |
| 44.3 Six Validation Principles | x | |
| 44.4 Validation of Goals and Scenarios | x | |
| 45. Three Validation Activities | ||
| 45.1 Validation of Context Consideration | x | |
| 45.2 Validation of Activity Execution | x | |
| 45.3 Validation of Requirements Artefacts | x | |
| 46. Validation Techniques | ||
| 46.1 Artefact Commentary | x | |
| 46.2 Walkthroughs | x | |
| 46.3 Inspections | x | |
| 46.4 Prototyping | x | |
| 46.5 Comparison of Validation Techniques | x | |
| 47. Assistance Techniques | ||
| 47.1 Perspective-Based Reading | x | |
| 47.2 Validation Checklists | x | |
| 47.3 Creation of Artefacts | x | |
Part V.b Management
| Chapter | Classification | |
|---|---|---|
| Basic Level | Advanced Level | |
| 48. Three Management Activities | ||
| 48.1 Management of the Requirements Engineering Context | x | |
| 48.2 Management of the Requirements Engineering Activities | x | |
| 48.3 Management of the Requirements Artefacts and Context Information | x | |
| 49. Requirements Traceability | ||
| 49.1 Motivation | x | |
| 49.2 Three Kinds of Requirements Traceability | x | |
| 49.3 Traceability Relationships | x | |
| 49.4 Documenting Traceability Relationships | x | |
| 49.5 Visualisation of Traceability Information | x | |
| 49.6 Usage-Driven, Project-Specific Traceability | x | |
| 50. Requirements Prioritisation | ||
| 50.1 Preparation of Prioritisation | x | |
| 50.2 Techniques for Requirements Prioritisation | x | |
| 51. Configuration Management | ||
| 51.1 Three Levels of Configuration Management | x | |
| 51.2 Artefact Versions | x | |
| 51.3 Configurations of Artefacts | x | |
| 51.4 Baselines of Requirements Artefacts | x | |
| 52. Change Management | ||
| 52. 1 Change Control Board | x | |
| 52.2 Documenting Change Requests | x | |
| 52.3 Change Management Process | x | |