
Requirements Engineering for Software and Systems
- 404 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
Requirements Engineering for Software and Systems
About this book
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.
Frequently asked questions
- Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
- Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Information
Chapter 1 Introduction to Requirements Engineering
Motivation
There are four kinds of problems that arise when one fails to do adequate requirements analysis: top-down design is impossible; testing is impossible; the user is frozen out; management is not in control. Although these problems are lumped under various headings to simplify the discussion, they are all variations of one themeâpoor management. Good project management of software procurement is impossible without some form of explicit (validated) and governing requirements.
What Is Requirements Engineering?
The bridge shall replace the existing span across the Brandywine River at Creek Road in Chadds Ford, Pennsylvania, and shall be a cantilever bridge of steel construction. It shall support two lanes of traffic in each direction and handle a minimum capacity of 100 vehicles per hour in each direction.
Requirements engineering is the branch of software engineering concerned with the real-world goals for, functions of, and constraints on software systems. It is also concerned with the relationship of these factors to precise specifications of software behavior, and to their evolution over time and across software families. (Zave 1997)
Requirements engineering is the branch of engineering concerned with the real-world goals for, functions of, and constraints on systems. It is also concerned with the relationship of these factors to precise specifications of system behavior and to their evolution over time and across families of related systems.
You Probably Donât Do Enough Requirements Engineering

What Are Requirements?
Requirements vs. Features vs. Goals
Requirements Classifications
Requirements Level Classification
- User requirements
- System requirements
- Design specifications
Table of contents
- Cover
- Half Title
- Title Page
- Copyright Page
- Table of Contents
- Preface
- Acknowledgments
- Authors
- 1 Introduction to Requirements Engineering
- 2 Preparing for Requirements Elicitation
- 3 Requirements Elicitation
- 4 Writing the Requirements Document
- 5 On Nonfunctional Requirements
- 6 Requirements Validations and Verifications
- 7 Formal Methods
- 8 Requirements Specification and Agile Methodologies
- 9 Tool Support for Requirements Engineering
- 10 Requirements Management
- 11 Value Engineering of Requirements
- 12 Requirements Engineering: A Road Map to the Future
- Appendix A: Software Requirements Specification for a Smart Home
- Appendix B: Software Requirements for a Wastewater Pumping Station Wet-Well Control System
- Appendix C: Unified Modeling Language (UML)
- Appendix D: User Stories
- Appendix E: Use Cases
- Appendix F: IBM DOORS Requirements Management Tool
- Glossary
- Index