Requirements Engineering for Software and Systems, 4th Edition

Requirements Engineering for Software and Systems, 4th Edition

Read it now on the O’Reilly learning platform with a 10-day free trial.

O’Reilly members get unlimited access to books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.

Book description

Solid requirements engineering has increasingly been recognized as the key to improved, on-time, and on-budget delivery of software and systems projects. New software tools are emerging that are empowering practicing engineers to improve their requirements engineering habits. However, these tools are not usually easy to use without significant training.

Requirements Engineering for Software and Systems, Fourth Edition is intended to provide a comprehensive treatment of the theoretical and practical aspects of discovering, analyzing, modeling, validating, testing, and writing requirements for systems of all kinds, with an intentional focus on software-intensive systems. It brings into play a variety of formal methods, social models, and modern requirements writing techniques to be useful to practicing engineers. The book is intended for professional software engineers, systems engineers, and senior and graduate students of software or systems engineering.

Since the first edition, there have been made many changes and improvements to this textbook. Feedback from instructors, students, and corporate users was used to correct, expand, and improve the materials. The fourth edition features two newly added chapters: "On Non-Functional Requirements" and "Requirements Engineering: Road Map to the Future." The latter provides a discussion on the relationship between requirements engineering and such emerging and disruptive technologies as Internet of Things, Cloud Computing, Blockchain, Artificial Intelligence, and Affective Computing.

All chapters of the book were significantly expanded with new materials that keep the book relevant to current industrial practices. Readers will find expanded discussions on new elicitation techniques, agile approaches (e.g., Kanpan, SAFe, and DEVOps), requirements tools, requirements representation, risk management approaches, and functional size measurement methods. The fourth edition also has significant additions of vignettes, exercises, and references. Another new feature is scannable QR codes linked to sites containing updates, tools, videos, and discussion forums to keep readers current with the dynamic field of requirements engineering.

Show and hide more Table of contents Product information

Table of contents

  1. Cover
  2. Half Title
  3. Title Page
  4. Copyright Page
  5. Table of Contents
  6. Preface
  7. Acknowledgments
  8. Authors
  9. 1 Introduction to Requirements Engineering
    1. Motivation
    2. What Is Requirements Engineering?
    3. You Probably Don’t Do Enough Requirements Engineering
    4. What Are Requirements?
      1. Requirements vs. Features vs. Goals
      2. Requirements Classifications
      3. Requirements Level Classification
      4. Requirements Specifications Types
        1. Functional Requirements
        2. Nonfunctional Requirements
        3. Domain Requirements
        1. Requirements Elicitation/Discovery
        2. Requirements Analysis and Agreement
        3. Requirements Representation
        4. Requirements Validation
        5. Requirements Management
        6. Bodies of Knowledge
        1. Requirements Engineer as Software or Systems Engineer
        2. Requirements Engineer as Subject Matter Expert
        3. Requirements Engineer as Architect
        4. Requirements Engineer as Business Process Expert
        5. Ignorance as Virtue
        1. Complexity
        2. Gold-Plating and Ridiculous Requirements
        3. Obsolete Requirements
        4. Four Dark Corners
        1. The Danger of “All” in Specifications
        1. Product Business Goals and Mission Statements
        2. Encounter with a Customer
        3. Identifying the System Boundaries
          1. Context Diagrams
          1. Negative Stakeholders
          2. Stakeholder Identification
            1. Stakeholder Identification Questions
            2. Rich Pictures
            3. Stakeholder/User Classes
            4. Stakeholders vs. Use Case Actors
            5. User Characteristics
            1. What Do Customers Want?
            2. What Don’t Customers Want?
            1. Managing Expectations
            1. Introduction
            2. Requirements Elicitation - First Step
            3. Elicitation Techniques Survey
              1. Brainstorming
              2. Card Sorting
              3. Crowdsourcing
              4. Designer as Apprentice
              5. Domain Analysis
              6. Ethnographic Observation
              7. Goal-Based Approaches
              8. Group Work
              9. Interviews
              10. Introspection
              11. Joint Application Design
              12. Laddering
              13. Protocol Analysis
              14. Prototyping
              15. Quality Function Deployment
              16. Questionnaires/Surveys
              17. Repertory Grids
              18. Reverse Engineering
              19. Scenarios
              20. Task Analysis
              21. Use Cases
              22. User Stories
              23. Viewpoints
              24. Workshops
              1. Which Combination of Requirements Elicitation Techniques Should Be Used?
              2. Prevalence of Requirements Elicitation Techniques
              1. Misuse Cases
              2. Antimodels
              3. Formal Methods
              1. Requirements Agreement and Analysis
              2. Requirements Representation
                1. Approaches to Requirements Representation
                1. Recommendations on Representing Nonfunctional Requirements
                2. Recommendations on Representing Functional Requirements
                  1. Operating System
                  2. Command Validation
                  1. Users of a Requirements Document
                  2. Requirements Document Requirements
                    1. Preferred Writing Style
                    2. Text Structure Analysis
                    3. Requirement Format
                    4. Use of Imperatives
                    5. Shall or Shall Not?
                    6. Avoiding Imprecision in Requirements
                    1. Motivation to Consider NFRs Earlier in Development
                      1. What Is an NFR?
                      2. What Are the Different Types of NFRs?
                      1. Security
                      2. Modifiability
                      3. Interoperability
                      4. Performance
                      5. Testability
                      6. Usability
                        1. Other Approaches to Handle NFRs in RE
                        1. What Is Requirements Risk Management?
                        2. Validation and Verification
                          1. Techniques for Requirements V&V
                            1. Walkthroughs
                            2. Inspections
                            3. Goal-Based Requirements Analysis
                            4. Requirements Understanding
                            5. Validating Requirements Use Cases
                            6. Prototyping
                            1. ISO/IECIEEE Standard 29148
                              1. Singularity
                              2. Feasibility
                              3. Ambiguity
                              4. Completeness
                              5. Consistency
                              6. Verifiability
                              7. Traceability
                              8. Ranking
                              1. Singular
                              2. Feasible
                              3. Unambiguous
                              4. Complete
                              5. Consistent
                              6. Verifiable
                              7. Traceable
                              8. Ranked
                              1. Goal/Question/Metric Analysis
                              1. NASA ARM Tool
                                1. Imperatives
                                2. Continuances
                                3. Directives
                                4. Options
                                5. Weak Phrases
                                6. Incomplete
                                7. Subjects
                                8. Specification Depth
                                9. Readability Statistics
                                10. Summary of NASA Metrics
                                1. Motivation
                                2. What Are Formal Methods?
                                  1. Formal Methods Classification
                                  2. A Little History
                                  3. Using Formal Methods
                                  1. Formalization of Train Station in B
                                  2. Formalization of Space Shuttle Flight Software Using MurΦ
                                  3. Formalization of an Energy Management System Using Category Theory
                                    1. Example: An Energy Management System
                                    1. Consistency Checking Using Truth Tables
                                    2. Consistency Checking by Inspection
                                    3. Consistency Checking Limitations
                                    1. Program Correctness
                                    2. Hoare Logic
                                    1. Objections and Myths
                                    2. Limitations of Formal Methods
                                    1. Bowen and Hinchey’s Advice
                                    1. Introduction to Agile Methodologies
                                      1. Principles Behind the Agile Manifesto
                                      2. Benefits of Agile Software Development
                                      1. Technical Debt
                                      2. Example Application of Agile Software Development
                                      3. When Is Agile Recommended?
                                      4. Requirements Engineering in XP
                                      5. Requirements Engineering in Scrum
                                      1. Story-Test-Driven Development
                                      2. State of Practice for Requirements Engineering in Agile Methodologies
                                      1. Introduction
                                      2. Traceability Support
                                        1. Requirements Linkage Traceability Matrix
                                        2. Requirements Source Traceability Matrix
                                        3. Requirements Stakeholder Traceability Matrix
                                        1. Tool Evaluation
                                        1. FreeMind
                                        2. FitNesse
                                        1. Using Wikis for Requirements Elicitation
                                        2. Mobile Technologies
                                        3. Virtual Environments
                                        4. Content Analysis
                                        5. Artificial Intelligence
                                        1. Introduction
                                        2. Requirements Management Process
                                        3. Configuration Management and Control
                                        4. Reconciling Differences
                                          1. Managing Divergent Agendas
                                          2. Consensus Building
                                          3. Analytical Hierarchical Process (AHP)
                                          4. Wideband Delphi Technique
                                          1. Environmental Antipatterns
                                            1. Divergent Goals
                                            2. Process Clash
                                            1. Metric Abuse
                                            2. Mushroom Management
                                            1. Requirements Management and Improvisational Comedy
                                            2. Requirements Management as Scriptwriting
                                            1. Capability Maturity Model Integration
                                            2. ISO 9001
                                            3. ISO/IEEE 12207
                                            4. Six Sigma
                                            1. What, Why, When, and How of Value Engineering
                                              1. What Is Value Engineering?
                                              2. When Does Value Engineering Occur?
                                              3. Challenges to Simple Cost vs. Risk Analysis
                                              1. The Aspect of Software Size
                                              2. Software Length
                                              3. Software Complexity
                                              4. Functional Size
                                              1. Function Point Cost Drivers
                                              1. COCOMO
                                              2. WEBMO
                                              3. COSYSMO
                                              4. Feature Points
                                              5. Use Case Points
                                              1. Return on Investment
                                              2. Net Present Value
                                              3. Internal Rate of Return
                                              4. Profitability Index
                                              5. Payback Period
                                              6. Discounted Payback
                                              1. Shaping Factors of the Future Landscape of Requirements Engineering
                                              2. The Changing Landscape of Requirements Engineering
                                              3. Requirements Engineering for Small Businesses
                                              4. Requirements Engineering and Disruptive Technologies
                                                1. Requirements Engineering and Blockchain
                                                2. Requirements Engineering and Internet of Things
                                                3. Requirements Engineering and Artificial Intelligence (AI)
                                                4. Requirements Engineering and Cloud Computing
                                                5. Requirements Engineering and Affective Computing
                                                Show and hide more

                                                Product information

                                                • Title: Requirements Engineering for Software and Systems, 4th Edition
                                                • Author(s): Phillip A. Laplante, Mohamad H. Kassab
                                                • Release date: June 2022
                                                • Publisher(s): Auerbach Publications
                                                • ISBN: 9781000593815