Requirements engineering : fundamentals, principles, and techniques / Klaus Pohl
- Author
- Pohl, Klaus, 1960-
- Published
- Heidelberg ; New York : Springer, [2010]
- Copyright Date
- ©2010
- Physical Description
- xvii, 813 pages : illustrations ; 27 cm
- Contents
- Machine generated contents note: pt. I Fundamentals and Framework -- 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 -- pt. II System Context -- 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 -- pt. III Requirements Artefacts -- pt. 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 -- pt. 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 -- pt. 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 -- pt. IV Core Activities -- pt. IV.a Documentation -- 16.Fundamentals of Requirements Documentation -- 16.1.Motivation and Aims -- 16.2.Documentation vs. Specification -- 16.3.Quality Criteria for Requiremetns 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 -- pt. 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 -- pt. 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 -- pt. V Validation -- 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 -- pt. VI Management -- 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 -- pt. VII COSMOD-RE: the Goal-and Scenario-Based RE Method -- 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 -- pt. VIII Software Product Lines and Requirements-Based Testing -- 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.
- Summary
- Requirements engineering is the process of eliciting individual stakeholder requirements and needs and developing them into detailed, agreed requirements documented and specified in such a way that they can serve as the basis for all other system development activities. --
In this textbook, Klaus Pohl provides a comprehensive and well-structured introduction to the fundamentals, principles, and techniques of requirements engineering. He 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 his extensive teaching experience and his work in industrial collaborations. --
His 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. Lecturers will find additional teaching material on the book's website. --Book Jacket. - Subject(s)
- ISBN
- 9783642125775 (hbk.)
3642125778 (hbk.) - Bibliography Note
- Includes bibliographical references and index.
View MARC record | catkey: 6945450