ارائه روشی مبتنی بر تکنیکهای دادهکاوی و وبمعنایی جهت اولویتبندی نیازمندیهای نرم افزار
سحر قاضی زاده
1
(
دانشکده فنی مهندسی- واحد لارستان، دانشگاه آزاد اسلامی، لارستان، ایران
)
سیدابراهیم دشتی
2
(
دانشکده برق و کامپیوتر- واحد جهرم، دانشگاه آزاد اسلامی، جهرم، ایران
)
کلید واژه: پردازش متن, الگوریتمهای خوشهبندی, شباهت معنایی, اولویتبندی نیازمندیها,
چکیده مقاله :
مهندسی نیازمندی ها یکی از فازهای مهم و اصلی در فرآیند توسعه نرم افزار است. در این فاز فعالیت های مختلفی توسط مهندسین نرم افزار انجام می شود. در این مقاله مسئله اولویت بندی نیازمندی ها در فرآیند توسعه تکراری نرم افزار مورد بررسی قرار گرفته است. هدف اصلی پیداکردن گروه های اولویت نیازمندی ها به صورت خودکار بوده، به گونه ای که بتوان هر گروه از نیازمندی ها را در یک تکرار از فرآیند توسعه پیاده سازی کرد. برای این منظور از تکنیک های داده کاوی، پردازش متن و شباهت معنایی استفاده شده است. روش پیشنهادی بر روی مجموعه داده های مربوط به نیازمندی های نرم افزارهای مختلف اعمال شده است. این روش دارای فازهای پیش-پردازش، استخراج ویژگی، خوشه بندی و اولویت بندی است. در فاز اول آماده سازی داده ها انجام می شود و در فاز دوم ویژگی های نیازمندی ها استخراج می شود. در فاز خوشه بندی از الگوریتم های مختلف خوشه بندی مانند میانگین k، سلسله مراتبی و خوشهبندی فضایی مبتنی بر چگالی در کاربردهای دارای نویز (DBSCAN) استفاده شده و در نهایت اولویت بندی انجام می شود. نتایج مقایسه نشان می دهد روش ارائه شده دارای کارایی خوب و قابل قبولی نسبت به روش های قبل در دسته بندی و خوشه بندی بوده و به طور میانگین دارای 3 درصد عملکرد بهتری است.
چکیده انگلیسی :
Requirements engineering is one of the important and main phases in the software development process. In this phase, various activities are performed by software engineers. In this paper, the problem of prioritizing requirements in the iterative software development process has been investigated. The main goal is to automatically find priority groups of requirements so that each group of requirements can be implemented in one iteration of the development process. For this purpose, data mining, text processing and semantic similarity techniques have been used. The proposed methods have been applied to the data set related to the requirements of different software. The proposed methods have different phases. In the clustering phase, various clustering algorithms such as K-Means, hierarchical clustering, and Density-based spatial clustering of applications with noise (DBSCAN) have been used. In order to check the effectiveness of clustering methods, the results obtained for the prioritization of requirements have been compared with the priority groups determined by experts. The results of the comparison show that the presented methods have good and acceptable performance for classifying requirements and clustering methods. Proposed method provides an average of 3% better performance.
[1] P. Achimugu, A. Selamat, R. Ibrahim, M.N.R. Mahrin, "A systematic literature review of software requirements prioritization research", Information and Software Technology, vol. 56, no. 6, pp. 568-585, June 2014 (doi: 10.1016/j.infsof.2014.02.001).
[2] L. Alawneh, "Requirements prioritization using hierarchical dependencies", Information Technology - New Generations, vol. 558, pp. 459-464, 2018 (doi: 10.1007/978-3-319-54978-1_59).
[3] J.R.F.D. Santos, A.B. Albuquerque, P.R. Pinheiro, "Requirements prioritization in market-driven software: A survey based on large numbers of stakeholders and requirements", Proceeding of the IEEE/QUATIC, pp. 67-72, Lisbon, Portugal, Sept. 2016 (doi: 10.1109/QUATIC.2016.020).
[4] J. Khan, I. U. Rehman, L. Ali, S. Khan, I.J. Khan, "Requirements prioritization using analytic network process (anp)", International Journal of Scientific and Engineering Research, vol. 7, no. 11, Nov. 2016.
[5] E. Serral, P. Sernani, A.F. Dragoni, F. Dalpiaz, "Contextual requirements prioritization and its application to smart homes", Ambient Intelligence, vol. 13, pp. 94-109, April 2017 (doi: 10.1007/978-3-319-56997-0_7).
[6] S.D. Federico, S. Gonnet, "New requirements prioritization based on customer historical profiles", Proceeding of the IEEE/CLEI, pp. 1-8, Valparaiso, Chile, Oct. 2016 (doi: 10.1109/CLEI.2016.7833344).
[7] A. Corezolla, L. Costa, F.C. Souza, A.C. Souza, "Investigating fitness functions for search-based requirements prioritization", Anais do Computer on the Beach, vol 12, pp. 451-458, April 2021 (doi: 10.14210/cotb.v12.p451-458).
[8] K. AbdElazim, R. Moawad, E. Elfakharany, "A framework for requirements prioritization process in agile software development", Journal of Physics: Conference Series, vol. 1454, no. 1, Article Number: 012001, Feb. 2020 (doi: 10.1088/1742-6596/1454/1/012001).
[9] I. Ibriwesh, S.B. Ho, I. Chai, C.H. Tan, "Prioritizing solution-oriented software requirements using the multiple perspective prioritization technique algorithm: An empirical investigation", Concurrent Engineering, vol. 27, no. 1, pp. 68-79, March 2019 (doi: 10.1177/1063293X188085).
[10] N.P.B. Arévalo, M.F.C. Carrasco, J.L.T. Espinoza, M.V. Córdova, "Neutrosophic AHP for the prioritization of requirements for a computerized facial recognition system", Neutrosophic Sets and Systems, vol. 34, no. 1, pp. 21, June 2020.
[11] M. Yaseen, N. Ibrahim, A. Mustapha, "Requirements prioritization and using iteration model for successful implementation of requirements", International Journal of Advanced Computer Science and Applications, vol. 10, no. 1, Jan. 2019 (doi: 10.14569/IJACSA.2019.0100115).
[12] F.A. Bukhsh, Z.A. Bukhsh, M. Daneva, "A systematic literature review on requirement prioritization techniques and their empirical evaluation", Computer Standards & Interfaces, vol 69, Article Number: 103389, March 2020 (doi: 10.1016/j.csi.2019.103389).
[13] H. Tufail, I. Qasim, M.F. Masood, S. Tanvir, W.H. Butt, "Towards the selection of optimum requirements prioritization technique: a comparative analysis", Proceeding of the IEEE/ICIM, pp. 227-231, Cambridge, UK, March 2019 (doi: 10.1109/INFOMAN.2019.8714709).
[14] A. Ali, Y. Hafeez, S. Hussain, S. Yang, "Role of requirement prioritization technique to improve the quality of highly-configurable systems", IEEE Access, vol 8, pp. 27549-27573, Feb. 2020 (doi: 10.1109/ACCESS.2020.2971382).
[15] N. Govil, A. Sharma "Information extraction on requirement prioritization approaches in agile software development processes", Proceeding of the IEEE/ICCMC, pp. 1097-1100, Erode, India, April 2021 (doi: 10.1109/ICCMC51019.2021.9418285).
[16] K.J. Kumar, N. Rajkumar, "Improving energy-efficient management for identifying software requirement prioritization based on optimized fuzzy logic social spider optimization", Personal and Ubiquitous Computing, vol. 27, pp. 1419-1428, June 2023 (doi: 10.1007/s00779-021-01617-1).
[17] S. Ali, Y. Hafeez, M. Humayun, N.Z. Jhanjhi, D.N. Le, "Towards aspect based requirements mining for trace retrieval of component-based software management process in globally distributed environment", Information Technology and Management, vol 23 no. 3, pp. 151-165, Nov. 2022 (doi: 10.1007/s10799-021-00343-7).
[18] N. Upadhyay, A. Sharma, "Requirement prioritization based on cost using artificial bee colony algorithm", Proceeding of the IEEE/ICRITO, pp. 426-430, Noida, India, June 2020 (doi: 10.1109/ICRITO48877.2020.9197941).
[19] T.Z. Win, R. Mohamed, J. Sallim, "Requirement prioritization based on non-functional requirement classification using hierarchy AHP", IOP Conference Series: Materials Science and Engineering, vol. 769, no. 1, Article Number: 012060, Feb. 2020 (doi: 10.1088/1757-899X/769/1/012060).
[20] G.D. Rottoli, C. Casanova, "Multi-criteria group requirement prioritization in software engineering using fuzzy linguistic labels", Proceeding of the ICAIW, pp. 16-28, Buenos Aires, Argentina, Oct. 2021.
[21] A. Ejnioui, CE Otero, AA Qureshi, "Software requirement prioritization using fuzzy multi-attribute decision making", Proceeding of the IEEE/COS, pp. 1-6, Kuala Lumpur, Malaysia, Oct. 2012 (doi: 10.1109/ICOS.2012.6417646).
[22] Y. Kuengjai, L. Ramingwong, "A pilot study of requirement prioritization techniques in agile software development", Proceedings of the CSSE, pp. 146-151, Singapore, Oct. 2021 (doi: 10.1145/3494885.3494912).
[23] A. Gupta, C. Gupta, "CDBR: A semi-automated collaborative execute-before-after dependency-based requirement prioritization approach", Journal of King Saud University-Computer and Information Sciences, vol. 34, no. 2, pp. 421-432, Feb. 2022 (doi: 10.1016/j.jksuci.2018.10.004).
_||_