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 books website, www.requirements-book.com.
Cited By
- Daun M and Brings J How ChatGPT Will Change Software Engineering Education Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 1, (110-116)
- Kotronis C, Nikolaidou M and Bardaki C QoS-aware model-based systems design using systems modeling language Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings, (296-305)
- Raţiu C, Assunção W, Haas R and Egyed A Reactive links across multi-domain engineering models Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems, (76-86)
- Frank S, Hakamian A, Wagner L, Kesim D, Zorn C, von Kistowski J and van Hoorn A Interactive Elicitation of Resilience Scenarios Based on Hazard Analysis Techniques Software Architecture, (229-253)
- Veizaga A, Alferez M, Torre D, Sabetzadeh M and Briand L (2021). On systematically building a controlled natural language for functional requirements, Empirical Software Engineering, 26:4, Online publication date: 1-Jul-2021.
- Akbar M, Shameem M, Khan A, Nadeem M, Alsanad A and Gumaei A (2020). A fuzzy analytical hierarchy process to prioritize the success factors of requirement change management in global software development, Journal of Software: Evolution and Process, 33:2, Online publication date: 14-Feb-2021.
- Naous D and Legner C (2021). A preference-based approach to incorporate the "voice of the customer" in mass-market software product design, ACM SIGAPP Applied Computing Review, 20:4, (35-49), Online publication date: 12-Jan-2021.
- Silva A and Sequeira C Towards a library of usability requirements Proceedings of the 35th Annual ACM Symposium on Applied Computing, (1371-1378)
- Martinez N and Barbieri G Abstraction Layers for the Synthesis and Analysis of Production Systems 2019 24th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), (333-340)
- Li Y, Yue T, Ali S and Zhang L (2019). Enabling automated requirements reuse and configuration, Software and Systems Modeling (SoSyM), 18:3, (2177-2211), Online publication date: 1-Jun-2019.
- Florea R and Stray V A global view on the hard skills and testing tools in software testing Proceedings of the 14th International Conference on Global Software Engineering, (133-141)
- Caramujo J, Rodrigues Da Silva A, Monfared S, Ribeiro A, Calado P and Breaux T (2019). RSL-IL4Privacy, Requirements Engineering, 24:1, (1-26), Online publication date: 1-Mar-2019.
- Arora C, Sabetzadeh M, Nejati S and Briand L (2019). An Active Learning Approach for Improving the Accuracy of Automated Domain Model Extraction, ACM Transactions on Software Engineering and Methodology, 28:1, (1-34), Online publication date: 23-Feb-2019.
- Yanuarifiani A, Chua F and Chan G Automating Business Process Model Generation from Ontology-based Requirements Proceedings of the 2019 8th International Conference on Software and Computer Applications, (205-209)
- Usdadiya C, Tiwari S and Banerjee A An Empirical Study on Assessing the Quality of Use Case Metrics Proceedings of the 12th Innovations in Software Engineering Conference (formerly known as India Software Engineering Conference), (1-11)
- De Angelis G, Ferrari A, Gnesi S and Polini A (2018). Requirements elicitation and refinement in collaborative research projects, Journal of Software: Evolution and Process, 30:12, Online publication date: 12-Dec-2018.
- Gerogiannis V, Fitsilis P, Kakarontzas G and Born C Handling vagueness and subjectivity in requirements prioritization Proceedings of the 22nd Pan-Hellenic Conference on Informatics, (150-155)
- Fanti M, Rinaldi A, Roccotelli M, Silvestri B, Porru S and Pani F Software Requirements and Use Cases for Electric Light Vehicles Management 2018 IEEE International Conference on Systems, Man, and Cybernetics (SMC), (311-316)
- Pawełoszek I and Korczak J Merging of Ontologies - Conceptual Design Issues Proceedings of the 2018 10th International Conference on Information Management and Engineering, (59-63)
- de Kinderen S and Ma Q Towards purposeful enterprise modeling for enterprise analysis Proceedings of the 1st International Conference on Information Management and Management Science, (163-167)
- Ouhbi S, Fernández‐Alemán J, Toval A, Rivera Pozo J and Idri A (2018). Sustainability requirements for connected health applications, Journal of Software: Evolution and Process, 30:7, Online publication date: 22-Jul-2018.
- Krusche S, Dzvonyar D, Xu H and Bruegge B (2018). Software Theater—Teaching Demo-Oriented Prototyping, ACM Transactions on Computing Education, 18:2, (1-30), Online publication date: 14-Jul-2018.
- Oliveira M, Rivero L, de Oliveira Neto J, Santos R and Viana D Developing an Application for Dealing with Depression through the Analysis of Information and Requirements found in Groups from a Social Network Proceedings of the XIV Brazilian Symposium on Information Systems, (1-10)
- Wessling F, Ehmke C, Hesenius M and Gruhn V How much blockchain do you need? Proceedings of the 1st International Workshop on Emerging Trends in Software Engineering for Blockchain, (44-47)
- Carrión M, Paredes M, Niquen P and del Carpio Á Traceability information model for very small entities with ISO/IEC 29110 Proceedings of the International Conference on Geoinformatics and Data Analysis, (186-191)
- Zainuddin F, Arshah R and Mohamad R Software Visual Specification for Requirement Specification Validation Proceedings of the 2018 7th International Conference on Software and Computer Applications, (66-71)
- (Weber) Dupree J, Lank E and Berry D (2018). A case study of using grounded analysis as a requirement engineering method, Science of Computer Programming, 152:C, (1-37), Online publication date: 15-Jan-2018.
- Chu M, Dang D, Nguyen N, Le M and Nguyen T USL Proceedings of the 8th International Symposium on Information and Communication Technology, (401-408)
- Gerogiannis V and Tzikas G Using Fuzzy Linguistic 2-Tuples to Collectively Prioritize Software Requirements based on Stakeholders' Evaluations Proceedings of the 21st Pan-Hellenic Conference on Informatics, (1-6)
- Yamamoto S (2017). An Evaluation of Requirements Specification Capability Index, Procedia Computer Science, 112:C, (998-1006), Online publication date: 1-Sep-2017.
- Matsumoto Y, Shirai S and Ohnishi A (2017). A Method for Verifying Non-Functional Requirements, Procedia Computer Science, 112:C, (157-166), Online publication date: 1-Sep-2017.
- Ghazi P and Glinz M (2017). Challenges of working with artifacts in requirements engineering and software engineering, Requirements Engineering, 22:3, (359-385), Online publication date: 1-Sep-2017.
- Rempel P and Mäder P (2017). Preventing Defects: The Impact of Requirements Traceability Completeness on Software Quality, IEEE Transactions on Software Engineering, 43:8, (777-797), Online publication date: 1-Aug-2017.
- Zachary G (2017). The nuclear weapons complexities [Spectral Lines], IEEE Spectrum, 54:8, (8-8), Online publication date: 1-Aug-2017.
- (2017). A smashing success [Back Story], IEEE Spectrum, 54:8, (5-5), Online publication date: 1-Aug-2017.
- Smith A, de Salas K, Lewis I and Schz B (2017). Developing smartphone apps for behavioural studies, Journal of Biomedical Informatics, 72:C, (108-119), Online publication date: 1-Aug-2017.
- da Silva A Linguistic Patterns and Linguistic Styles for Requirements Specification (I) Proceedings of the 22nd European Conference on Pattern Languages of Programs, (1-27)
- Sedelmaier Y and Landes D Experiences in Teaching and Learning Requirements Engineering on a Sound Didactical Basis Proceedings of the 2017 ACM Conference on Innovation and Technology in Computer Science Education, (116-121)
- Hermans F and Aldewereld M Programming is Writing is Programming Companion Proceedings of the 1st International Conference on the Art, Science, and Engineering of Programming, (1-8)
- Burnay C and Snoeck M Trust in requirements elicitation Proceedings of the Symposium on Applied Computing, (1094-1100)
- Ryan M and Wheatcraft L (2017). On a Cohesive Set of Requirements Engineering Terms, Systems Engineering, 20:2, (118-130), Online publication date: 1-Mar-2017.
- Bosch J and Olsson H (2017). Toward Evidence-Based Organizations: Lessons from Embedded Systems, Online Games, and the Internet of Things, IEEE Software, 34:5, (60-66), Online publication date: 1-Jan-2017.
- Delatorre P and Salguero A Training to capture software requirements by role playing Proceedings of the Fourth International Conference on Technological Ecosystems for Enhancing Multiculturality, (811-818)
- Martin-Rodilla P and Gonzalez-Perez C Understanding user behavior in textual analysis Proceedings of the Fourth International Conference on Technological Ecosystems for Enhancing Multiculturality, (269-276)
- Burnay C (2016). Are Stakeholders the Only Source of Information for Requirements Engineers? Toward a Taxonomy of Elicitation Information Sources, ACM Transactions on Management Information Systems, 7:3, (1-29), Online publication date: 18-Oct-2016.
- Jovanovic P, Romero O and Abelló A A Unified View of Data-Intensive Flows in Business Intelligence Systems Transactions on Large-Scale Data- and Knowledge-Centered Systems XXIX - Volume 10120, (66-107)
- Souza A and Cavalcanti A (2016). Visual Language for Use Case Description, Software—Practice & Experience, 46:9, (1239-1261), Online publication date: 1-Sep-2016.
- Mohammadi N and Heisel M Patterns for identification of trust concerns and specification of trustworthiness requirements Proceedings of the 21st European Conference on Pattern Languages of Programs, (1-20)
- García S, Romero O and Raventós R (2016). DSS from an RE Perspective, Journal of Systems and Software, 117:C, (488-507), Online publication date: 1-Jul-2016.
- Eckhardt J, Vogelsang A and Fernández D Are "non-functional" requirements really non-functional? Proceedings of the 38th International Conference on Software Engineering, (832-842)
- De Angelis G, Ferrari A, Gnesi S and Polini A Collaborative requirements elicitation in a european research project Proceedings of the 31st Annual ACM Symposium on Applied Computing, (1282-1289)
- de la Vara J, Ruiz A, Attwood K, Espinoza H, Panesar-Walawege R, López Á, del Río I and Kelly T (2016). Model-based specification of safety compliance needs for critical systems, Information and Software Technology, 72:C, (16-30), Online publication date: 1-Apr-2016.
- Autili M, Bertolino A, De Angelis G, Ruscio D and Sandro A (2016). A Tool-Supported Methodology for Validation and Refinement of Early-Stage Domain Models, IEEE Transactions on Software Engineering, 42:1, (2-25), Online publication date: 1-Jan-2016.
- Xu H, Krusche S and Bruegge B Using software theater for the demonstration of innovative ubiquitous applications Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, (894-897)
- da Silva A, Savić D, Vlajić S, Antović I, Lazarević S, Stanojević V and Milić M A pattern language for use cases specification Proceedings of the 20th European Conference on Pattern Languages of Programs, (1-18)
- Plachkinova M, Peffers K and Moody G Communication Artifacts for Requirements Engineering Proceedings of the 10th International Conference on New Horizons in Design Science: Broadening the Research Agenda - Volume 9073, (104-118)
- Ruf C and Back A How Can We Design Products, Services, and Software That Reflect the Needs of Our Stakeholders? Towards a Canvas for Successful Requirements Engineering Proceedings of the 10th International Conference on New Horizons in Design Science: Broadening the Research Agenda - Volume 9073, (455-462)
- Ferreira Filho J, Acher M and Barais O Challenges on software unbundling: growing and letting go Companion Proceedings of the 14th International Conference on Modularity, (43-46)
- Morales J, Navarro E, Sánchez P and Alonso D (2015). A controlled experiment to evaluate the understandability of KAOS and i* for modeling Teleo-Reactive systems, Journal of Systems and Software, 100:C, (1-14), Online publication date: 1-Feb-2015.
- Arora C, Sabetzadeh M, Briand L and Zimmer F Improving requirements glossary construction via clustering Proceedings of the 8th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, (1-10)
- Nasr S, Sannier N, Acher M and Baudry B Moving toward product line engineering in a nuclear industry consortium Proceedings of the 18th International Software Product Line Conference - Volume 1, (294-303)
- Yang W, Xu C, Liu Y, Cao C, Ma X and Lu J Verifying self-adaptive applications suffering uncertainty Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering, (199-210)
- Lamm J and Weilkiens T (2014). Method for Deriving Functional Architectures from Use Cases, Systems Engineering, 17:2, (225-236), Online publication date: 1-Jun-2014.
- Metzger A and Pohl K Software product line engineering and variability management: achievements and challenges Future of Software Engineering Proceedings, (70-84)
- Nair S, Vara J, Melzi A, Tagliaferri G, De-La-Beaujardiere L and Belmonte F Safety Evidence Traceability Proceedings of the 20th International Working Conference on Requirements Engineering: Foundation for Software Quality - Volume 8396, (309-324)
- Maiden N, Lockerbie J, Zachos K, Bertolino A, Angelis G and Lonetti F A Requirements-Led Approach for Specifying QoS-Aware Service Choreographies Proceedings of the 20th International Working Conference on Requirements Engineering: Foundation for Software Quality - Volume 8396, (239-253)
- da Silva A Quality of requirements specifications Proceedings of the 29th Annual ACM Symposium on Applied Computing, (1021-1022)
- Heuer A and Pohl K Structuring variability in the context of embedded systems during software engineering Proceedings of the 8th International Workshop on Variability Modelling of Software-Intensive Systems, (1-8)
- Nakatani T and Tsumaki T Predicting requirements changes by focusing on the social relations Proceedings of the Tenth Asia-Pacific Conference on Conceptual Modelling - Volume 154, (65-70)
- Edwards C and Gruner S A new tool for URDAD to Java EE EJB transformations Proceedings of the South African Institute for Computer Scientists and Information Technologists Conference, (144-153)
- Ferrari A, Gnesi S and Tolomei G Using clustering to improve the structure of natural language requirements documents Proceedings of the 19th international conference on Requirements Engineering: Foundation for Software Quality, (34-49)
- Sakamoto S, da Silva L and de Miranda L Identificando barreiras de acessibilidade web em dispositivos móveis Proceedings of the 11th Brazilian Symposium on Human Factors in Computing Systems, (23-32)
- Pflüger A, Golubski W and Queins S Tool-supported model-driven validation process for system architectures Proceedings of the 5th International Workshop on Model Based Architecting and Construction of Embedded Systems, (1-6)
- Meth H, Maedche A and Einoeder M Exploring design principles of task elicitation systems for unrestricted natural language documents Proceedings of the 4th ACM SIGCHI symposium on Engineering interactive computing systems, (205-210)
- Radliński Ł Empirical analysis of the impact of requirements engineering on software quality Proceedings of the 18th international conference on Requirements Engineering: foundation for software quality, (232-238)
- Adam S Providing software product line knowledge to requirements engineers --- a template for elicitation instructions Proceedings of the 18th international conference on Requirements Engineering: foundation for software quality, (147-164)
- Teruel M, Navarro E, López-Jaquero V, Montero F and González P CSRML Proceedings of the 30th international conference on Conceptual modeling, (33-46)
- Sikora E, Tenbergen B and Pohl K Requirements engineering for embedded systems Proceedings of the 17th international working conference on Requirements engineering: foundation for software quality, (151-165)
- Jarke M, Klamma R, Pohl K and Sikora E Requirements engineering in complex domains Graph transformations and model-driven engineering, (602-620)
- Flório C, Lencastre M, Pimentel J and Araujo J iStar-p: A Modelling Language for Requirements Prioritization Conceptual Modeling, (540-548)
Index Terms
- Requirements Engineering: Fundamentals, Principles, and Techniques