مقایسه روش های طبقه بندی در تخمین تلاش توسعه نرم افزار
الموضوعات : سامانههای پردازشی و ارتباطی چندرسانهای هوشمندصادق انصاری پور 1 , تقی جاودانی گندمانی 2
1 - دانشگاه عقیق، شاهین شهر، اصفهان
2 - عضو هیات علمی، دانشگاه شهرکرد
الکلمات المفتاحية: تخمین تلاش نرم افزار, طبقه بندی, یادگیری ماشین, مهندسی نرم افزار, داده کاوی,
ملخص المقالة :
نادرست بودن تخمین هزینه نرم افزار یکی از دلایل مهم ناامیدی متخصصان نرم افزار و محققان تخمین هزینه بوده است و علیرغم تلاش های فراوانی که برای بهبود آن انجام شده است اما هنوز هم دقت تخمین پایین است. عدم تجزیه و تحلیل مناسب در ابتدای شروع به کار پروژه و همچنین عدم به روز آن در حین انجام پروژه یکی از مهم ترین دلایل شکست پروژه ها محسوب می شود. اگر چه زمانی که یک پروژهها بسته میشوند، بازخورد های آن ایجاد میشود، اما اگر تخمینها و واقعیات ثبتشده با پروژه انجامشده به طور کامل مطابقت نداشته باشند، آنگاه نمی توان انتظار تخمین دقیقی را داشت. بنابراین جمع آورده داده های پروژه بر اساس ویژگی های مشخص امری ضروری است و در اینجاست که می توان به نقش پررنگ پروژه های انجام شده در گذشته و مجموعه داده هایی که می توان با استفاده از آنها ایجاد نمود پی برد. در این مطالعه سعی بر این است که به بررسی نقش روش های مختلف طبقه بندی در تخمین تلاش نرم افزار بپردازیم.
[1] P. M. Institute, Success rates rise: Transforming the high cost of low performance, 2017.
[2] I. S. -. "IEEE Standard for Software Productivity Metrics.," 1993:1045, 1992.
[3] A. Trendowicz, and J. Münch, “Factors influencing software development productivity—state‐of‐the‐art and industrial experiences,” Advances in computers, vol. 77, pp. 185-241, 2009.
[4] D. Rodríguez, M. Sicilia, E. García, and R. Harrison, “Empirical findings on team size and productivity in software development,” Journal of Systems and Software, vol. 85, no. 3, pp. 562-570, 2012.
[5] F. González-Ladrón-de-Guevara, M. Fernández-Diego, and C. Lokan, “The usage of ISBSG data fields in software effort estimation: A systematic mapping study,” Journal of Systems and Software, vol. 113, pp. 188-215, 2016.
[6] A. García-Floriano, C. López-Martín, C. Yáñez-Márquez, and A. Abran, “Support vector regression for predicting software enhancement effort,” Information and Software Technology, vol. 97, pp. 99-109, 2018.
[7] A. Ali, and C. Gravino, “A systematic literature review of software effort prediction using machine learning methods,” Journal of software: evolution and process, vol. 31, no. 10, pp. e2211, 2019.
[8] J. Wen, S. Li, Z. Lin, Y. Hu, and C. Huang, “Systematic literature review of machine learning based software development effort estimation models,” Information and Software Technology, vol. 54, no. 1, pp. 41-59, 2012.
[9] M. Halkidi, D. Spinellis, G. Tsatsaronis, and M. Vazirgiannis, “Data mining in software engineering,” Intelligent Data Analysis, vol. 15, no. 3, pp. 413-441, 2011.
[10] V. S. Dave, and K. Dutta, “Neural network based models for software effort estimation: a review,” Artificial Intelligence Review, vol. 42, no. 2, pp. 295-307, 2014.
[11] N. Ohsugi, M. Tsunoda, A. Monden, and K.-i. Matsumoto, "Effort estimation based on collaborative filtering." pp. 274-286.
[12] A. L. Oliveira, “Estimation of software project effort with support vector regression,” Neurocomputing, vol. 69, no. 13-15, pp. 1749-1753, 2006.
[13] Y. Kultur, B. Turhan, and A. B. Bener, "ENNA: software effort estimation using ensemble of neural networks with associative memory." pp. 330-338.
[14] Y. Kultur, B. Turhan, and A. Bener, “Ensemble of neural networks with associative memory (ENNA) for estimating software development costs,” Knowledge-Based Systems, vol. 22, no. 6, pp. 395-402, 2009.
[15] Y.-F. Li, M. Xie, and T.-N. Goh, “Adaptive ridge regression system for software cost estimating on multi-collinear datasets,” Journal of Systems and Software, vol. 83, no. 11, pp. 2332-2343, 2010.
[16] A. Corazza, S. Di Martino, F. Ferrucci, C. Gravino, and E. Mendes, “Investigating the use of support vector regression for web effort estimation,” Empirical Software Engineering, vol. 16, no. 2, pp. 211-243, 2011.
[17] L. L. Minku, and X. Yao, "A principled evaluation of ensembles of learning machines for software effort estimation." pp. 1-10.
[18] L. L. Minku, and X. Yao, "Can cross-company data improve performance in software effort estimation?." pp. 69-78.
[19] E. Kocaguneli, T. Menzies, and J. W. Keung, “On the value of ensemble effort estimation,” IEEE Transactions on Software Engineering, vol. 38, no. 6, pp. 1403-1416, 2011.
[20] K. Dejaeger, W. Verbeke, D. Martens, and B. Baesens, “Data mining techniques for software effort estimation: a comparative study,” IEEE transactions on software engineering, vol. 38, no. 2, pp. 375-397, 2011.
[21] L. L. Minku, and X. Yao, “Software effort estimation as a multiobjective learning problem,” ACM Transactions on Software Engineering and Methodology (TOSEM), vol. 22, no. 4, pp. 1-32, 2013.
[22] E. Kocaguneli, T. Menzies, J. Keung, D. Cok, and R. Madachy, “Active learning and effort estimation: Finding the essential content of software effort estimation data,” IEEE Transactions on software engineering, vol. 39, no. 8, pp. 1040-1053, 2012.
[23] V. Khatibi, D. N. Jawawi, and E. Khatibi, “Increasing the accuracy of analogy based software development effort estimation using neural networks,” International Journal of Computer and Communication Engineering, vol. 2, no. 1, pp. 78, 2013.
[24] P. Subitsha, and J. K. Rajan, “Artificial neural network models for software effort estimation,” International journal of technology enhancements and emerging engineering research, vol. 2, no. 4, pp. 76-80, 2014.
[25] J. Huang, Y.-F. Li, and M. Xie, “An empirical analysis of data preprocessing for machine learning-based software cost estimation,” Information and software Technology, vol. 67, pp. 108-127, 2015.
[26] W. Zhang, Y. Yang, and Q. Wang, “Using Bayesian regression and EM algorithm with missing handling for software effort prediction,” Information and software technology, vol. 58, pp. 58-70, 2015.
[27] V. Khatibi Bardsiri, and E. Khatibi, “Insightful analogy-based software development effort estimation through selective classification and localization,” Innovations in Systems and Software Engineering, vol. 11, no. 1, pp. 25-38, 2015.
[28] E. Khatibi, and V. Khatibi Bardsiri, “Model to estimate the software development effort based on in‐depth analysis of project attributes,” IET software, vol. 9, no. 4, pp. 109-118, 2015.
[29] A. B. Nassif, M. Azzeh, L. F. Capretz, and D. Ho, “Neural network models for software development effort estimation: a comparative study,” Neural Computing and Applications, vol. 27, no. 8, pp. 2369-2381, 2016.
[30] F. Zare, H. K. Zare, and M. S. Fallahnezhad, “Software effort estimation based on the optimal Bayesian belief network,” Applied Soft Computing, vol. 49, pp. 968-980, 2016.
[31] M. Azzeh, and A. B. Nassif, “A hybrid model for estimating software project effort from Use Case Points,” Applied Soft Computing, vol. 49, pp. 981-989, 2016.
[32] V. Gopinath, and R. Menon, “Software Effort Prediction-A Datamining Approach,” Journal of Network and Information Security Volume, vol. 5, no. 01, 2017.
[33] A. B. Nassif, M. Azzeh, A. Idri, and A. Abran, “Software development effort estimation using regression fuzzy models,” Computational intelligence and neuroscience, vol. 2019, 2019.
[34] M. Z. Khan, “Particle swarm optimisation based feature selection for software effort prediction using supervised machine learning and ensemble methods: A comparative study,” Invertis Journal of Science & Technology, vol. 13, no. 1, pp. 33-50, 2020.
[35] W. Rhmann, B. Pandey, and G. A. Ansari, “Software effort estimation using ensemble of hybrid search-based algorithms based on metaheuristic algorithms,” Innovations in Systems and Software Engineering, vol. 18, no. 2, pp. 309-319, 2022.
[36] V. Resmi, S. Vijayalakshmi, and R. S. Chandrabose, “An effective software project effort estimation system using optimal firefly algorithm,” Cluster Computing, vol. 22, no. 5, pp. 11329-11338, 2019.
[37] A. A. Fadhil, R. G. Alsarraj, and A. M. Altaie, “Software cost estimation based on Dolphin algorithm,” IEEE Access, vol. 8, pp. 75279-75287, 2020.
[38] M. Dashti, T. J. Gandomani, D. H. Adeh, H. Zulzalil, and A. B. M. Sultan, “LEMABE: a novel framework to improve analogy-based software cost estimation using learnable evolution model,” PeerJ Computer Science, vol. 7, pp. e800, 2022.
[39] M. Dashti, and T. J. Gandomani, "A Taxonomy of Approaches and Methods for Software Effort Estimation," Innovations in Computer Science and Engineering, pp. 97-105: Springer, 2022
.
_||_