Abstract
Requirements represent a verbalisation of decision alternatives on the functionality and quality of a system. Engineering, planning, and implementing requirements are collaborative, problem-solving activities, where stakeholders consume and produce considerable amounts of knowledge. Managing requirements knowledge is about efficiently identifying, accessing, externalising, and sharing this knowledge by and to all stakeholders, including analysts, developers, and users. This chapter introduces five foundations of managing requirements knowledge, which are discussed in the book parts. First, identifying requirements knowledge aims at externalising tacit knowledge such as rationale or presuppositions. Second, representing requirements knowledge targets an efficient information access and artefact reuse within and between projects. Third, sharing requirements knowledge improves stakeholders’ collaboration and ensures that their experiences do not get lost. Fourth, reasoning about requirements and their interdependencies aims at detect inconsistencies and deriving new knowledge. Finally, intelligent tool support reduces the overhead to manage requirements knowledge.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Bruegge B, Dutoit A (2010) Object-oriented software engineering using UML, Patterns, and Java, vol 3. Prentice Hall, Upper Saddle River
Kang K, Cohen S, Hess J, Nowak W, Peterson S (1990) Feature-oriented domain analysis (FODA) feasibility study. Technical report, CMU/SEI-90-TR-21. Software Engineering Institute, Carnegie Mellon University, Pittsburgh
Institute of Electrical and Electronic Engineers (1990) IEEE standard glossary of software engineering terminology (IEEE Std 610.12-1990). Institute of Electrical and Electronics Engineers, New York
Clements P, Northrop L (2006) A framework for software product line practice-version 4.2 (2006). Carnegie Mellon, Software Engineering Institute, Pittsburgh. http://www.sei.cmu.edu/prodvolnuctlines/framework.html. Last visited Nov 2012
Davis A (2003) The art of requirements triage. IEEE Comput 36(3):42–49
Sommerville I, Sawyer P (1997) Requirements engineering: a good practice guide. Wiley, New York
Nuseibeh B, Easterbrook S (2000) Requirements engineering: a roadmap. In: Proceedings of the conference on the future of software engineering (ICSE’00). ACM, New York, pp 35–46
Aurum A, Wohlin C (2003) The fundamental nature of requirements engineering activities as a decision-making process. Inf Softw Technol 45(14):945–954
Pohl K (1996) Process-centered requirements engineering. Wiley, New York
Hofmann H, Lehner F (2001) Requirements engineering as a success factor in software projects. IEEE Softw 18(4):58–66
Yang D, Wu D, Koolmanojwong S, Brown A, Boehm B (2008) Wikiwinwin: a wiki based system for collaborative requirements negotiation. In: Proceedings of the HICCS, p 24, Waikoloa
Leffingwell D (1997) Calculating the return on investment from more effective requirements management. Am Program 10(4):13–16
Firesmith D (2004) Prioritizing requirements. J Object Technol 3(8):35–47
Gartner Group (2011) Hype cycle for application development: requirements elicitation and simulation. Gartner Group
Dorfman M, Thayer RH (1997) Software requirements engineering. IEEE Computer Society Press, Los Alamitos
Pohl K, Böckle G, van der Linder F (2005) Software product line engineering foundations, principles, and techniques. Springer, New York
Software Engineering Institute (2012) Product line hall of fame. http://www.sei.cmu.edu/productlines/plp_hof.html
Smith G (2000) The object-Z specification language, Advances in formal methods series. Kluwer, Boston
Creighton O, Software Cinema (2006) Employing digital video in requirements engineering. Dissertation, Technische Universtät München
Neill CJ, Laplante PA (2003) Requirements engineering: the state of the practice. IEEE Softw 20(6):40–45, IEEE CS
Peterson M (2009) An introduction to decision theory. Cambridge University Press, Cambridge/New York
Cooke S, Slack N (1984) Making management decisions. Prentice Hall, Englewood cliffs
Kunz W, Rittel H (1970) Issues as elements of information systems. Working paper no. 131. University of California at Berkeley, Institute of Urban and Regional Development, Berkeley
MacLean A, Young RM, Bellotti VME, Moran TP (1991) Questions, options, and criteria: elements of design space analysis. Hum Comput Interact 6(3):201–250
Dutoit AH (1996) Rationale management in requirements engineering. Ph.D. dissertation, Carnegie Mellon University
Dutoit A, Paech B (2003) Eliciting and maintaining knowledge for requirements evolution. In: Aurum A, Jeffery R, Wohlin C, Handzic M (eds) Managing software engineering knowledge. Springer, Berlin
Dutoit A, McCall R, Mistrik I, Paech B (2006) Rationale management in software engineering. Springer, Berlin
Damian D, Zowghi D (2003) Requirements engineering challenges in multi-site software development organizations. Requir Eng J 8:149–160
Chisholm RM (1982) The foundations of knowing. The University of Minnesota Press, Minneapolis
Resher N (2003) Epistemology: an introduction to the theory of knowledge. State University of New York Press, Albany
Thierauf RJ (1999) Knowledge management systems for business. Praeger
Wikipedia, the free encyclopaedia (2012) http://en.wikipedia.org/wiki/Knowledge_management. Last visited in Nov 2012
Hansen MT (1999) The search-transfer problem: the role of weak ties in sharing knowledge across organization subunits. Adm Sci Q 44(1):82–111
Ma L, Nuseibeh B, Piwek P, De Roeck A, Willis A (2009) On presuppositions in requirements. In: 2nd international workshop on managing requirements knowledge, MaRK’09 IEEE, Atlanta, USA, pp. 27–31
Finkelstein A, Kramer J, Nuseibeh B, Finkelstein L, Goedicke M (1992) Viewpoints: a framework for integrating multiple perspectives in system development. Int J Softw Eng Knowl Eng 2–1:31–57
Ko AK, DeLine R, Venolia G (2007) Information needs in collocated software development teams. In: Proceedings of the 29th international conference on software engineering, Minneapolis, USA, pp 344–353
Herbsleb JD, Mockus A (2003) An empirical study of speed and communication in globally-distributed software development. IEEE Trans Softw Eng 29(6):481–494
Milewski AE, Tremaine A, Egan R, Zhang S, Kobler F, O’Sullivan P (2008) Guidelines for effective bridging in global software engineering. In: Proceedings of the 2008 I.E. international conference on global software engineering, pp 23–32. IEEE Computer Society, Washington, DC
Daramola O, StĂĄlhane T, Omoronyia I, Sindre G (2013) Using ontologies and machine learning for hazard identification and safety analysis. In: Managing requirements knowledge. Springer
Ghaisas S, Ajmeri N (2013) Knowledge-assisted ontology-based requirements evolution. In: Managing requirements knowledge (Chapter 7 in this volume). Springer, Heidelberg
Soffer A, Dori D (2012) Model-based requirements engineering framework for systems lifecycle support. In: Managing requirements knowledge (Chapter 13 in this volume). Springer, Heidelberg
Lutz R, Lavin M, Lux J, Peters K, Rouquette NF (2013) Mining requirements from operational experience. In: Managing requirements knowledge (Chapter 3 in this volume). Springer, Heidelberg
Franch X, Quer C, Renault S, Guerlain C, Palomares C (2012) Constructing and using software requirements patterns. Springer
Carrillo de Gea JM, Nicolás J, Alemán JLF, Toval A, VizcaĂno A, Ebert C (2013) Reusing requirements in global software engineering. In: Managing requirements knowledge (Chapter 8 in this volume). Springer, Heidelberg
Thurimella AK, Bruegge B (2012) Issue-based variability management. Inf Softw Technol 54(9):933–950
Narayan N, Delater A, Paech B, Bruegge B (2011) Enhanced traceability in model-based CASE tools using ontologies and information retrieval. In: Proceedings of the 4th international workshop on managing requirements knowledge (MaRK’11), Trento
Bjørnson FO, Dingsøyr T (2008) Knowledge management in software engineering: a systematic review of studied concepts, findings and research methods used. Inf Softw Technol 50:1055–1068
Lago P, van Vliet H, Babar MA, Dingsoyr T (eds) (2009) Software architecture knowledge management: theory and practice, 1st edn. Springer
Gamma E, Helm R, Johnson R, Vlissides J (1995) Design patterns: elements of reusable object-oriented software. Addison-Wesley, Reading
Basili VR, Caldiera G, Rombach DH (1994) The experience factory, Encyclopedia of software engineering – 2 volume set. Wiley, New York, pp 469–476
Basili V, Costa P, Lindvall M, Mendonca M, Seaman C, Tesoriero R, Zelkowitz M (2001) An experience management system for a software engineering research organization. In: Proceedings of the 26th annual NASA Goddard Software engineering workshop. Greenbelt, Maryland, USA
Humphrey WS (2005) PSP: a self-improvement process for software engineers. Addison-Wesley, Reading. ISBN 03213054931
Humphrey WS (1999) Introduction to the team software process. Addison-Wesley, Reading. ISBN 0-201-47719-X
Holz H (2003) Process-based knowledge management support for software engineering. Doctoral dissertation. University of Kaiserslautern, dissertation.de Online- Press
Sillito J, Murphy GC, De Volder K (2008) Asking and answering questions during a programming change task. Trans Softw Eng 34:434–451
Robillard MP (2009) What makes APIs hard to learn? Answers from developers. IEEE Softw 26:27–34
Rus I, Lindvall M, Sinha SS (2001) Knowledge management in software engineering: a state-of-the-art-report. Fraunhofer Center for Experimental Software Engineering Maryland and the University of Maryland for Data and Analysis Center for Software, Department of Defence
Bajracharya S, Lopes C (2009) Mining search topics from a code search engine usage log. In: Proceedings of the 2009 6th IEEE international working conference on mining software repositories (MSR’09). IEEE Computer Society, Washington, DC, pp 111–120
Happel H-J, Maalej W, Seedorf S (2010) Applications of ontologies in collaborative software development. In: MistrĂk I, Grundy J, van der Hoek A, Whitehead J (Hrsg.) Collaborative software engineering. Springer, Berlin/Heidelberg. ISBN 978-3642102936
Aguiar A, Dekel U, Merson P (2009) Wikis4SE’2009: Wikis for software engineering. ICSE companion 2009, pp 480–481
Happel H-J, Maalej W (2008) Potentials and challenges of recommendation systems for software development. In: RSSE’08: proceedings of the 2008 international workshop on recommendation systems for software engineering, ACM
Robillard MP, Walker RJ, Zimmermann T (2010) Recommendation systems for software engineering. IEEE Softw 27(4):80–86
Maalej W, Thurimella A (2013) DUFICE – guidelines for a lightweight management of requirements knowledge. In: Managing requirements knowledge. Springer
Dumitru H, Gibiec M, Hariri N, Cleland-Huang J, Mobasher B, Castro-Herrera C, Mirakhorli M (2011) On-demand feature recommendations derived from mining public product descriptions. ICSE 2011, pp 181–190
Mathes A (2004) Folksonomies: cooperative classification and communication through shared metadata. In: Computer mediated communication – LIS590CMC http://www.adammathes.com/academic/computer-mediated-communication/folksonomies.html
Jürgens E, Deissenboeck F, Feilkas M, Hummel B, Schätz B, Wagner S, Domann C, Streit J (2010) Can clone detection support quality assessments of requirements specifications? ICSE (2): 79–88
Ajmeri N, Vidhani K, Bhat M, Ghaisas G (2011) An ontology-based method and tool for cross-domain requirements visualization. In: Fourth workshop on managing requirements knowledge, MaRK11, pp 22–23, Trento
Lohmann S, Heim P, Auer S, Dietzold S, Riechert R (2008) Semantifying requirements engineering – the softWiki approach, I-SEMANTICS, Graz, pp 182–185
Uenalan O, Riegel N, Weber S, Doerr J (2008) Using enhanced wiki-based solutions for managing requirements. First international workshop on managing requirements knowledge (MARK), Barcelona, Spain, pp 63–67
Lohmann S, Riechert T, Auer S (2008) Collaborative development of knowledge bases in distributed requirements elicitation. Software engineering (workshops): agile knowledge sharing for distributed software teams, Munich, Germany, pp 22–28
Ruhe G, Saliu M (2005) The art and science of software release planning. IEEE Softw 22(6):47–53
Karlsson J, Olsson S, Ryan K (1998) Improved practical support for large-scale requirements prioritization. Require Eng J 2(1):51–60
Ramesh B, Jarke M (2001) Toward reference models for requirements traceability. IEEE Trans Softw Eng 27(1):58–93
Dahlstedt A, Persson A (2003) Requirements interdependencies – moulding the state of research into a research agenda, REFSQ’03, Klagenfurt, pp 71–80
Iyer J, Richards D (2004) Evaluation framework for tools that manage requirements inconsistency. In: 9th Australian workshop on requirements engineering (AWRE’04). Adelaide, Australia
Göknil A, Kurtev I, and van den Berg K (2008) A metamodeling approach for reasoning about requirements. In: 4th European conference on model driven architecture – foundations and applications, Berlin. LNCS, vol 5095, pp 310–325, Berlin
Hoenderboom B, Liang P (2009) A survey of semantic wikis for requirements engineering. Technical report RUG-SEARCH-09-L03, University of Groningen
Mobasher B, Cleland-Huang J (2011) Recommender systems in requirements engineering. AI Mag 32(3):81–89
Glinz M (2007) On non-functional requirements. In: 15th IEEE international requirements engineering conference, New Delhi, 15–19 Oct 2007, pp 21–26
Acknowledgements
We are grateful to Pete Sawyer, Smita S Ghaisas, Yang Li, and Zardosht Hodaie for their constructive reviews.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Maalej, W., Thurimella, A.K. (2013). An Introduction to Requirements Knowledge. In: Maalej, W., Thurimella, A. (eds) Managing Requirements Knowledge. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-34419-0_1
Download citation
DOI: https://doi.org/10.1007/978-3-642-34419-0_1
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-34418-3
Online ISBN: 978-3-642-34419-0
eBook Packages: Computer ScienceComputer Science (R0)