Nội dung được dịch bởi AI, chỉ mang tính chất tham khảo
Tái sử dụng các yêu cầu phần mềm chức năng trong các doanh nghiệp phần mềm quy mô nhỏ: một mô hình định hướng đến danh mục yêu cầu
Tóm tắt
Tái sử dụng phần mềm có thể được định nghĩa là quá trình tạo ra các sản phẩm phần mềm từ những sản phẩm hiện có thay vì phát triển phần mềm từ đầu. Do đó, tái sử dụng phần mềm thường được đề xuất nhằm nâng cao năng suất và chất lượng phần mềm, dẫn đến lợi ích kinh tế. Trong bối cảnh này, việc tái sử dụng các yêu cầu phần mềm đã nhận được sự chú ý quan trọng vì nó cung cấp hỗ trợ vững chắc để phát triển phần mềm chất lượng thông qua việc thu thập và tái sử dụng các yêu cầu phần mềm chất lượng (tức là, phương pháp dòng sản phẩm phần mềm (SPL) được sử dụng trong các doanh nghiệp phần mềm quy mô lớn). Tuy nhiên, các doanh nghiệp quy mô nhỏ—đại diện cho tới 85% tất cả các tổ chức phần mềm ở nhiều quốc gia trên thế giới—không thể thực hiện phương pháp SPL vì nó không phù hợp với bối cảnh, đặc điểm và độ phức tạp của các dự án phần mềm của họ. Hơn nữa, cộng đồng kỹ thuật phần mềm chưa khám phá đầy đủ một phương pháp phù hợp hơn trong bối cảnh của các doanh nghiệp phần mềm quy mô nhỏ. Việc sử dụng danh mục yêu cầu phần mềm có thể là phương pháp phù hợp này. Trong bối cảnh đó, mục tiêu của bài báo này là giới thiệu mô hình tái sử dụng yêu cầu cho danh mục yêu cầu phần mềm (RRMSRC). Ngoài ra, một tập hợp các hướng dẫn để thực hiện các hoạt động chính được xác định cho việc tái sử dụng các yêu cầu chức năng trong các doanh nghiệp phần mềm quy mô nhỏ được cung cấp. Như là bằng chứng cho tính khả thi của nó, RRMSRC đã được sử dụng trong bối cảnh công nghiệp, và các kết quả obtained và bài học đã học được tóm tắt.
Từ khóa
#tái sử dụng phần mềm #yêu cầu phần mềm #danh mục yêu cầu #doanh nghiệp phần mềm quy mô nhỏ #mô hình tái sử dụng yêu cầuTài liệu tham khảo
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