Research Landscape of Patterns in Software Engineering: Taxonomy, State-of-the-Art, and Future Directions

被引:0
作者
Mzid R. [1 ,2 ]
Selvi S. [1 ]
Abid M. [2 ]
机构
[1] ISI, University Tunis-El Manar, 2 Rue Abourraihan Al Bayrouni, Ariana
[2] CES Lab ENIS, University of Sfax, B.P:w.3, Sfax
关键词
Guidelines; Patterns; Software engineering; Software reuse; Systematic mapping study;
D O I
10.1007/s42979-024-02767-8
中图分类号
学科分类号
摘要
Software system development is a difficult, error-prone, and time-consuming task. Pattern-based development has been successfully used to produce high-quality software to address these concerns. Patterns actually document expert knowledge on how to solve recurring problems. As a result, they provide a valuable foundation for experience sharing and reuse. Pattern-based strategies have become increasingly popular in recent years. In the literature, several secondary studies dealing with this concept have been proposed. Nevertheless, they either focus on specific sub-fields (domain-specific or intention-specific) or give only quantitative analysis, with no intention of classifying and synthesizing the state-of-the-art of pattern-based approaches. The objective of this work is to provide a comprehensive survey of the literature reporting outcomes from various research communities and domains. We present a taxonomy that serves as a basis for categorizing and analyzing 134 papers from various scientific areas. The findings may serve as a guide for novice researchers in this field on the one hand, and may assist the research community in consolidating their research efforts through the description of future directions on the other. © The Author(s), under exclusive licence to Springer Nature Singapore Pte Ltd 2024.
引用
收藏
相关论文
共 170 条
[1]  
Boehm B., Abts C., Chulani S., Software development cost estimation approaches—a survey, Ann Softw Eng, 10, 1, pp. 177-205, (2000)
[2]  
Dyba T., Dingsoyr T., Empirical studies of agile software development: a systematic review, Inf Softw Technol, 50, 9-10, pp. 833-859, (2008)
[3]  
Ben Said M., Hadj Kacem Y., Kerboeuf M., Abid M., An MDE-based approach for self-adaptive RTES model generation, Cluster Comput, 23, 2, pp. 925-951, (2020)
[4]  
Riehle D., Zullighoven H., Understanding and using patterns in software development, Tapos, 2, 1, pp. 3-13, (1996)
[5]  
Prikladnicki R., Damian D., Audy J.L.N., Patterns of evolution in the practice of distributed software development: Quantitative results from a systematic review, 12Th International Conference on Evaluation and Assessment in Software Engineering (EASE), 12, pp. 1-10, (2008)
[6]  
Sena B., Garces L., Allian A.P., Nakagawa E.Y., Investigating the applicability of architectural patterns in big data systems, Proceedings of the 25Th Conference on Pattern Languages of Programs., pp. 1-15, (2018)
[7]  
Krupitzer C., Temizer T., Prantl T., Raibulet C., An overview of design patterns for self-adaptive systems in the context of the internet of things, IEEE Access, 8, pp. 187384-99, (2020)
[8]  
Rajmohan T., Nguyen P.H., Ferry N., Research landscape of patterns and architectures for IoT security: A systematic review, In: 2020 46Th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)., pp. 463-470, (2020)
[9]  
Dong J., Zhao Y., Peng T., A review of design pattern mining techniques, Int J Softw Eng Knowl Eng, 19, 6, pp. 823-855, (2009)
[10]  
Priya R.K., A survey: Design pattern detection approaches with metrics, In: 2014 IEEE National Conference on Emerging Trends in New & Renewable Energy Sources and Energy Management (NCET NRES EM), 2014, pp. 22-26