An Overview of Recommender Systems in Requirements Engineering

Requirements engineering (RE) is considered as one of the most critical phases in software development. Poorly implemented RE processes are still one of the major risks for project failure. As a consequence, we can observe an increasing demand for intelli

  • PDF / 177,012 Bytes
  • 18 Pages / 439.37 x 666.142 pts Page_size
  • 55 Downloads / 200 Views

DOWNLOAD

REPORT


An Overview of Recommender Systems in Requirements Engineering A. Felfernig, G. Ninaus, H. Grabner, F. Reinfrank, L. Weninger, D. Pagano, and W. Maalej

Abstract Requirements engineering (RE) is considered as one of the most critical phases in software development. Poorly implemented RE processes are still one of the major risks for project failure. As a consequence, we can observe an increasing demand for intelligent software components that support stakeholders in the completion of RE tasks. In this chapter, we give an overview of the research dedicated to the application of recommendation technologies in RE. On the basis of a literature analysis, we exemplify the application of recommendation technologies in different scenarios. In this context, the approaches of collaborative filtering, content-based filtering, clustering, knowledge-based recommendation, group-based recommendation, and social network analysis are discussed. With the goal to stimulate further related research, we conclude the chapter with a discussion of issues for future work.

A. Felfernig (*) • G. Ninaus • H. Grabner • F. Reinfrank Graz University of Technology, Graz, Austria e-mail: [email protected]; [email protected]; [email protected]; [email protected] L. Weninger wsop, Vienna, Austria e-mail: [email protected] D. Pagano Technische Universita¨t Mu¨nchen, Munich, Germany e-mail: [email protected] W. Maalej University of Hamburg, Hamburg, Germany e-mail: [email protected] W. Maalej and A.K. Thurimella (eds.), Managing Requirements Knowledge, DOI 10.1007/978-3-642-34419-0_14, # Springer-Verlag Berlin Heidelberg 2013

315

316

14.1

A. Felfernig et al.

Introduction

Requirements engineering (RE) is considered as one of the most critical phases of a software development project. Poorly implemented RE is one of the major reasons for the failure of a project [1]. Core activities of an RE process are elicitation and definition, quality assurance, negotiation, and release planning [2]. Due to the increasing size and complexity of software systems, we can observe a growing demand for intelligent methods, techniques, and tools that can help to improve the overall quality of RE processes [3–5]. In this chapter, we focus on the aspect of how different types of recommendation technologies [6] can be applied to support stakeholders in the completion of their RE tasks. A recommender system can be defined as any system that guides a user in a personalized way to interesting or useful objects in a large space of possible options or that produces such objects as output [6, 7]. Recommender systems are intensively applied for the purpose of recommending products and services such as movies, books, digital cameras, and financial services. Such systems support users in the identification of relevant items in situations where the amount and/or complexity of an assortment outstrips their capability to survey it and to reach a decision [8]. Low-involvement items such as movies and books are often recommended by ana