skip to main content
Skip header Section
Requirements Engineering: Fundamentals, Principles, and TechniquesJuly 2010
Publisher:
  • Springer Publishing Company, Incorporated
ISBN:978-3-642-12577-5
Published:23 July 2010
Pages:
813
Skip Bibliometrics Section
Bibliometrics
Skip Abstract Section
Abstract

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

  1. ACM
    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)
  2. ACM
    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)
  3. ACM
    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)
  4. 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)
  5. 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.
  6. 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.
  7. ACM
    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.
  8. ACM
    Silva A and Sequeira C Towards a library of usability requirements Proceedings of the 35th Annual ACM Symposium on Applied Computing, (1371-1378)
  9. 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)
  10. 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.
  11. 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)
  12. 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.
  13. ACM
    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.
  14. ACM
    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)
  15. ACM
    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)
  16. 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.
  17. ACM
    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)
  18. 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)
  19. ACM
    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)
  20. ACM
    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)
  21. 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.
  22. ACM
    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.
  23. ACM
    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)
  24. ACM
    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)
  25. ACM
    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)
  26. ACM
    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)
  27. (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.
  28. ACM
    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)
  29. ACM
    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)
  30. Yamamoto S (2017). An Evaluation of Requirements Specification Capability Index, Procedia Computer Science, 112:C, (998-1006), Online publication date: 1-Sep-2017.
  31. 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.
  32. 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.
  33. 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.
  34. Zachary G (2017). The nuclear weapons complexities [Spectral Lines], IEEE Spectrum, 54:8, (8-8), Online publication date: 1-Aug-2017.
  35. (2017). A smashing success [Back Story], IEEE Spectrum, 54:8, (5-5), Online publication date: 1-Aug-2017.
  36. 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.
  37. ACM
    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)
  38. ACM
    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)
  39. ACM
    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)
  40. ACM
    Burnay C and Snoeck M Trust in requirements elicitation Proceedings of the Symposium on Applied Computing, (1094-1100)
  41. 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.
  42. 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.
  43. ACM
    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)
  44. ACM
    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)
  45. ACM
    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.
  46. 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)
  47. 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.
  48. ACM
    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)
  49. 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.
  50. ACM
    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)
  51. ACM
    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)
  52. 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.
  53. 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.
  54. ACM
    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)
  55. ACM
    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)
  56. 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)
  57. 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)
  58. ACM
    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)
  59. 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.
  60. ACM
    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)
  61. ACM
    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)
  62. ACM
    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)
  63. 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.
  64. ACM
    Metzger A and Pohl K Software product line engineering and variability management: achievements and challenges Future of Software Engineering Proceedings, (70-84)
  65. 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)
  66. 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)
  67. ACM
    da Silva A Quality of requirements specifications Proceedings of the 29th Annual ACM Symposium on Applied Computing, (1021-1022)
  68. ACM
    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)
  69. 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)
  70. ACM
    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)
  71. 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)
  72. 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)
  73. ACM
    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)
  74. ACM
    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)
  75. 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)
  76. 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)
  77. 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)
  78. 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)
  79. Jarke M, Klamma R, Pohl K and Sikora E Requirements engineering in complex domains Graph transformations and model-driven engineering, (602-620)
  80. Flório C, Lencastre M, Pimentel J and Araujo J iStar-p: A Modelling Language for Requirements Prioritization Conceptual Modeling, (540-548)
Contributors
  • University of Duisburg-Essen

Recommendations

Reviews

Michael G. Murphy

This massive tome by Pohl succeeds in providing "a comprehensive, well-structured, and easy-to-read ... compendium" on the field of requirements engineering where such did not exist previously. It serves as an excellent reference volume for students and practitioners of software and systems engineering as opposed to a practical textbook, given its size. The author's aim is to provide "the fundamentals, principles, and techniques of requirements engineering based on knowledge and experience gained in research and on industrial projects"; he does so successfully. The layout, visuals, and organization of the book are exceptional. The contents are presented in eight parts: "Fundamentals and Framework," "System Context," "Requirements Artefacts," "Core Activities," "Validation," "Management," "COSMOD-RE: the Goal- and Scenario-Based RE Methodology," and "Software Product Lines and Requirements-Based Testing." The requirements artifacts part has subparts on goals, scenarios, and solution-oriented requirements, while the core activities part has subparts on documentation, elicitation, and negotiation. Most parts and subparts have recommended literature lists with annotations. Also included is an appendix with a glossary, an extensive literature list, and an index. Real-world examples are used to illustrate concepts, methods, and issues. Standards are referenced when appropriate. Pohl's book is effectively a significantly enhanced third edition of his two previous German editions. As such, the book is much more polished and effective than most first editions. It also has a reader-friendly feel that makes the material readily accessible and digestible for both students and practitioners. Although I would find it daunting to use the book as a primary text, the author does provide a Web site with assistance based on his experiences in doing just that. Domain-specific requirements engineering is not emphasized, but it is mentioned where appropriate. The agile development community may feel somewhat left out, but the elements of requirements engineering to support virtually any methodology can be extracted easily from this comprehensive treatise. Students, practitioners, and researchers with an interest in requirements engineering for software and systems engineering should consider adding this unique book to their libraries. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.