Skip to main content
Log in

Reusing functional software requirements in small-sized software enterprises: a model oriented to the catalog of requirements

  • Original Article
  • Published:
Requirements Engineering Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

Notes

  1. These percentages were obtained by analyzing the requirements that fulfilled the quality attributes, against all the requirements written in the SRS document.

References

  1. Benitti FBV, da Silva RC (2013) Evaluation of a systematic approach to requirements reuse. J Univers Comput Sci 19(2):254–280

    Google Scholar 

  2. 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

    Chapter  Google Scholar 

  3. CMMI Product Team (2010) CMMI for Development (CMMI-DEV) (version 1.3), CMU/SEI-2010-TR-033, Software Engineering Institute, Carnegie Mellon University

  4. 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

  5. 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

    Article  Google Scholar 

  6. 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

    Article  Google Scholar 

  7. 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

    Chapter  Google Scholar 

  8. De Lucia A, Qusef A (2010) Requirements engineering in agile software development. J Emerg Technol Web Intell 2(3):212–220

    Google Scholar 

  9. 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

    Article  Google Scholar 

  10. 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

    Article  Google Scholar 

  11. 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

    Chapter  Google Scholar 

  12. IEEE (1990) Standard glossary of software engineering terminology. In: IEEE Std. 610.12-1990. IEEE Press, Piscataway, NJ

  13. IEEE (1998a) Recommended practice for software requirements specifications. In: IEEE Std. 830-1998. IEEE Press, Piscataway, NJ

  14. IEEE (1998b) Guide for developing system requirements specifications. In: IEEE Std. 1233-1998. IEEE Press, Piscataway, NJ

  15. Insfran E, Chastek G, Donohoe P, Leite JC (2014) Requirements engineering in software product line engineering. Requir Eng 19(4):331–332

    Article  Google Scholar 

  16. Kassab M, Neill C, Laplante P (2013) State of practice in requirements engineering: contemporary data. Innov Syst Softw Eng 10(4):235–241

    Article  Google Scholar 

  17. Krueger CW (1992) Software reuse. ACM Comput Surv 24(2):131–183

    Article  Google Scholar 

  18. 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

    Google Scholar 

  19. Lam W, McDermid JA, Vickers AJ (1997) Ten steps towards systematic requirements reuse. Requir Eng 2(2):102–113

    Article  Google Scholar 

  20. Lauesen S (2002) Software requirements, styles and techniques. Pearson Education, Harlow

    Google Scholar 

  21. 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

    Chapter  Google Scholar 

  22. Lethbridge T, Sim SE, Singer J (2005) Studying software engineers: data collection techniques for software field studies. Empir Softw Eng 10(3):311–341

    Article  Google Scholar 

  23. Mannion M, Kaindl H (2008) Using parameters and discriminants for product line requirements. Syst Eng 11(1):61–80

    Article  Google Scholar 

  24. McCarey F, Cinnéide MÓ, Kushmerick N (2005) Rascal: a recommender agent for agile reuse. Artif Intell Rev 24(3–4):253–276

    Article  Google Scholar 

  25. Miles MB, Huberman AM (1994) Qualitative data analysis: an expanded sourcebook. Sage, CA, USA

    Google Scholar 

  26. 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

  27. 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

  28. 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

    Article  Google Scholar 

  29. 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

  30. Northrop L, Clements P (2007) A framework for software product line practice (version 5.0). Carnegie Mellon University, Pittsburgh, USA, Software Engineering Institute

  31. 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

    Article  Google Scholar 

  32. 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

    Chapter  Google Scholar 

  33. Perry JM (1998) Perspective on software reuse (Technical report CMU/SEI-88-TR-22). Carnegie-Mellon University Pittsburgh, USA, Software Engineering Institute

  34. Ramesh B, Jarke M (2001) Toward reference models for requirements traceability. IEEE Trans Softw Eng 27(1):57–93

    Article  Google Scholar 

  35. Robertson J (2006) Mastering the requirements process, 6th edn. Pearson Education, USA

    Google Scholar 

  36. Runeson P, Höst M (2009) Guidelines for conducting and reporting case study research in software engineering. Empir Softw Eng 14(2):131–164

    Article  Google Scholar 

  37. Sommerville I, Sawyer P (1997) Requirements engineering. A good practice guide. Wiley, London

    MATH  Google Scholar 

  38. 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

    Google Scholar 

  39. Wiegers K (1999) First things first: prioritizing requirements. Softw Dev 7(9):48–53

    Google Scholar 

  40. 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

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to I. Garcia.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-015-0243-1

Keywords

Navigation