Abstract
Software reuse can be defined as the process of creating software products from the existing ones rather than developing software from scratch. Thus, software reuse is normally proposed to increase software productivity and quality and leads to economic benefits. In this sense, the reuse of software requirements has received important attention because it provides a solid support to develop quality software through obtaining and reusing quality software requirements [i.e., software product line (SPL) approach used in large-sized software enterprises]. However, the small-sized enterprises—which represent up to 85 % of all software organizations in many countries around the world—cannot implement a SPL approach because it does not fit with the context, properties, and complexity of their software projects. Moreover, the software engineering community has not adequately explored a more proper approach in the context of small-sized software enterprises. The use of a software requirements catalog could be this proper approach. In this context, the aim of this paper was to introduce the requirements reuse model for software requirements catalog (RRMSRC). Also, a set of guidelines to perform the main activities defined for reusing functional requirements within small-sized software enterprises is provided. As evidence of its feasibility, RRMSRC has been used in an industrial context, and the obtained results and learned lessons are summarized.
Similar content being viewed by others
Notes
These percentages were obtained by analyzing the requirements that fulfilled the quality attributes, against all the requirements written in the SRS document.
References
Benitti FBV, da Silva RC (2013) Evaluation of a systematic approach to requirements reuse. J Univers Comput Sci 19(2):254–280
Chernak Y (2012) Requirements reuse: the state of the practice. Proceedings of 2012 IEEE international conference on software science, technology and engineering. IEEE Computer Society Press, Herzlia, pp 46–53
CMMI Product Team (2010) CMMI for Development (CMMI-DEV) (version 1.3), CMU/SEI-2010-TR-033, Software Engineering Institute, Carnegie Mellon University
Cybulski JL (1996) Reusing requirements specifications: review of methods and techniques. In: Proceedings of 1st Australian requirements engineering workshop. Melbourne, Australia, pp 2.1–2.17
De Gea JMC, Nicolás J, Fernández JL, Toval A, Ebert C, Vizcaíno A (2011) Requirements engineering tools. IEEE Softw 28(4):86–91
De Gea JMC, Nicolás J, Fernández JL, Toval A, Ebert C, Vizcaíno A (2012) Requirements engineering tools: capabilities, survey and assessment. Inf Softw Technol 54(10):1142–1157
De Gea JMC, Nicolás J, Fernández JL, Toval A, Vizcaíno A, Ebert C (2013) Reusing requirements in global software engineering. In: Maalej W, Thurimella AK (eds) Managing requirements knowledge. Springer, Berlin, pp 171–197
De Lucia A, Qusef A (2010) Requirements engineering in agile software development. J Emerg Technol Web Intell 2(3):212–220
Goldin L, Berry DM (2015) Reuse of requirements reduced time to market at one industrial shop: a case study. Requir Eng 20(1):23–44
Hauksdóttir D, Mortensen NH, Nielsen PE (2014) Identified adjustability dimensions when generating a product specific requirements specification by requirements reuse. Comput Ind 65(6):952–966
Hummel O, Atkinson C (2007) Supporting agile reuse through extreme harvesting. In: Concas G, Damiani E, Scotto M, Succi G (eds) Agile processes in software engineering and extreme programming. Springer, Berlin, pp 28–37
IEEE (1990) Standard glossary of software engineering terminology. In: IEEE Std. 610.12-1990. IEEE Press, Piscataway, NJ
IEEE (1998a) Recommended practice for software requirements specifications. In: IEEE Std. 830-1998. IEEE Press, Piscataway, NJ
IEEE (1998b) Guide for developing system requirements specifications. In: IEEE Std. 1233-1998. IEEE Press, Piscataway, NJ
Insfran E, Chastek G, Donohoe P, Leite JC (2014) Requirements engineering in software product line engineering. Requir Eng 19(4):331–332
Kassab M, Neill C, Laplante P (2013) State of practice in requirements engineering: contemporary data. Innov Syst Softw Eng 10(4):235–241
Krueger CW (1992) Software reuse. ACM Comput Surv 24(2):131–183
Laguna MA, García FJ, López O (2002) Reutilización de requisitos de usuario: El modelo mecano [User requirements reuse: Meccano model]. Rev Colomb Comput 3(2):45–62
Lam W, McDermid JA, Vickers AJ (1997) Ten steps towards systematic requirements reuse. Requir Eng 2(2):102–113
Lauesen S (2002) Software requirements, styles and techniques. Pearson Education, Harlow
Leite JC, Yu Y, Liu L, Yu E, Mylopoulos J (2005) Quality-based software reuse. In: Pastor O, Cunha FJ (eds) Advanced information systems engineering. Springer, Berlin, pp 535–550
Lethbridge T, Sim SE, Singer J (2005) Studying software engineers: data collection techniques for software field studies. Empir Softw Eng 10(3):311–341
Mannion M, Kaindl H (2008) Using parameters and discriminants for product line requirements. Syst Eng 11(1):61–80
McCarey F, Cinnéide MÓ, Kushmerick N (2005) Rascal: a recommender agent for agile reuse. Artif Intell Rev 24(3–4):253–276
Miles MB, Huberman AM (1994) Qualitative data analysis: an expanded sourcebook. Sage, CA, USA
Ministerio de las Administraciones Públicas. (2005). METRICAV.3 Metodología de Planificación, Desarrollo y Mantenimiento de Sistemas de Información [Methodology of planning, development and maintenance of information system]. Madrid, España
Moros B, Vicente-Chicote C, Toval A (2008) Metamodeling variability to enable requirements reuse. In: Proceedings of 13th international workshop on exploring modeling methods for systems analysis and design. Montpellier, France, pp 140–154
Moros B, Toval A, Rosique F, Sánchez P (2013) Transforming and tracing reused requirements models to home automation models. Inf Softw Technol 55(6):941–965
Nicolás J (2010) Una propuesta de gestión integrada de modelos y requisitos en líneas de productos software [A proposal for integrated management of models and requirements in software product lines]. Tesis Doctoral, Facultad de informática, Universidad de Murcia
Northrop L, Clements P (2007) A framework for software product line practice (version 5.0). Carnegie Mellon University, Pittsburgh, USA, Software Engineering Institute
O’Leary P, McCaffery F, Thiel S, Richardson I (2012) An agile process model for product derivation in software product line engineering. J Softw Evolut Process 24(5):561–571
Palomares C, Franch X, Quer C (2014) Requirements reuse and patterns: a survey. In: Salinesis C, van de Weerd I (eds) Requirements engineering: foundation for software quality. Springer, Berlin, pp 301–308
Perry JM (1998) Perspective on software reuse (Technical report CMU/SEI-88-TR-22). Carnegie-Mellon University Pittsburgh, USA, Software Engineering Institute
Ramesh B, Jarke M (2001) Toward reference models for requirements traceability. IEEE Trans Softw Eng 27(1):57–93
Robertson J (2006) Mastering the requirements process, 6th edn. Pearson Education, USA
Runeson P, Höst M (2009) Guidelines for conducting and reporting case study research in software engineering. Empir Softw Eng 14(2):131–164
Sommerville I, Sawyer P (1997) Requirements engineering. A good practice guide. Wiley, London
Toval A, Moros B, Nicolás J, Lasheras J (2008) Eight key issues for an effective reuse-based requirements process. J Comput Syst Sci Eng 23(5):1–13
Wiegers K (1999) First things first: prioritizing requirements. Softw Dev 7(9):48–53
Wohlin C, Höst M, Henningsson K (2003) Empirical research methods in software engineering. In: Conradi R, Wang AI (eds) Empirical methods and studies in software engineering—experiences from ESERNET. Springer, Berlin, pp 7–23
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Pacheco, C., Garcia, I., Calvo-Manzano, J.A. et al. Reusing functional software requirements in small-sized software enterprises: a model oriented to the catalog of requirements. Requirements Eng 22, 275–287 (2017). https://doi.org/10.1007/s00766-015-0243-1
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-015-0243-1