یک مدل برآوردگر تلاش انعطاف پذیر بر اساس الگوریتم ASO

نوع مقاله : مقاله کامپیوتر

نویسندگان

1 دانشکده علوم، گروه مهندسی کامپیوتر، دانشگاه آزاد اسلامی واحد کرمان، کرمان، ایران

2 استادیار، دانشکده علوم، گروه مهندسی کامپیوتر، دانشگاه آزاداسلامی واحد کرمان، کرمان، ایران

3 دانشکده مهندسی، گروه برق، دانشگاه آزاداسلامی واحد کرمان، کرمان، ایران

چکیده

مدیریت موفق پروژه توسعه نرم افزار، نیازمند تخمین دقیق هزینه ها است. تخمین دقیق هزینه ها باعث برنامه ریزی بهتر، با حداقل هزینه خواهد شد. اما تخمین هزینه های پروژه نرم افزار، بدلیل ماهیت ناملموس نرم افزار، همواره با چالش های فراوانی روبرو بوده است. از این رو پژوهش های فراوانی در جهت توسعه ابزار های دقیق برای تخمین تلاش مورد نیاز برای توسعه نرم افزار انجام شده است. بر اساس ادبیات تحقیق، استفاده از شیوه های شناسایی نوع ارتباط میان ویژگی های پروژه نرم افزار و ویژگی های موثر بر تلاش مورد نیاز برای توسعه نرم افزار، تاثیر بسازایی بر افزایش دقت تخمین مقدار این تلاش دارد. ایده این مقاله ارائه یک مدل جدید متشکل از زیرمدل هایی برای تحلیل ویژگی های پروژه و استفاده از یک الگوریتم هیوریستیک جدید و دقیق به نام الگوریتم بهینه سازی جستجوی اتم(ASO) برای پیکربندی ابزارها و روش های مدل سازی داده بوده است. سازماندهی زیر مدل ها به نحوی انجام شده است که موجب افزایش کارایی یکدیگر و در نهایت افزایش دقت تخمین نهایی شده اند. برای ارزیابی دقت مدل پیشنهادی، از3مجموعه داده از پروژه های واقعی استفاده شده و نتایج بدست آمده با نتایج روشهای مختلف بر اساس معیار های MMRE، MdMRE و Pred مقایسه شده است. در انتها برای اثبات برتری مدل پیشنهادی نسبت به سایر مدل ها و روش ها از تحلیل آماری wilcoxon استفاده شده است. نتایج بدست آمده، نشان دهنده دقت بالای مدل پیشنهادی است.

کلیدواژه‌ها

موضوعات


عنوان مقاله [English]

A flexible effort estimator model based on ASO algorithm

نویسندگان [English]

  • Amin Moradbeiky 1
  • Vahid Khatibi 2
  • Mehdi Jafari 3
1 Department of Computer Engineering, Faculty of Science, Kerman Branch, Islamic Azad University, Kerman, Iran
2 Department of Computer Engineering, Faculty of Science, Kerman Branch, Islamic Azad University, Kerman, Iran
3 Department of Electrical Engineering, Faculty of Engineering, Kerman Branch, Islamic Azad University, Kerman, Iran
چکیده [English]

Accurate estimation of required effort for software development plays an important role in the success of the software project. This is always a challenging issue due to the intangible nature of the software project. Therefore, a large category of researches have been performed to develop accurate tools to estimate the required efforts for software development. According to the presented papers in related works, the adoption of methods to identify the types of relationship between software project features and features affecting the required effort for software development have a significant impact on effort estimation accuracy increment. In addition, the effectiveness of various features on the software development effort estimation is different. So, the feature effectiveness determination is advantageous in increasing the effort estimation accuracy. This paper presents a new model consisting of sub-models for project features analyzing and it uses a new and accurate heuristic algorithm called Atom Search Optimization (ASO) Algorithm to configure tools and data modeling methods. The presented model in this article is designed in multiple layers and the sub-models are organized in separate layers. The organizations of sub-models are in such a way to increase performance of other layers and ultimately increase the final estimate accuracy. In accuracy evaluation of the proposed model, 3 data sets from real projects are used and the comparisons of the results with different methods are presented. Based on the results, the proposed model leads to significant improvement of final effort estimation accuracy.

کلیدواژه‌ها [English]

  • Atom Search Optimization
  • Development Effort Estimation
  • Machine Learning
  • Software Project
[1] Dominguez, J., "The CHAOS report 2009 on IT project failure," Project Management Hut, 2009.
[2] Nelson, E. A., "Management handbook for the estimation of computer programming costs," SYSTEM DEVELOPMENT CORP SANTA MONICA CA1967.
[3] Boehm, B. W., "Software engineering economics," in Software pioneers, ed: Springer, 2002, pp. 641-686.
[4] Boehm, B. W., Abts, C., Brown, A. W., Chulani, S., Clark, B. K., Horowitz, E., et al., Software cost estimation with COCOMO II: Prentice Hall Press, 2009.
[5] Albrecht, A. J. and Gaffney, J. E., "Software function, source lines of code, and development effort prediction: a software science validation," IEEE transactions on software engineering, 1983, pp. 639-648.
[6] Abbas, S. A., Liao, X., Rehman, A. U., Azam, A., and Abdullah, M., "Cost estimation: A survey of well-known historic cost estimation techniques," Journal of Emerging Trends in Computing and Information Sciences, vol. 3, 2012, pp. 612-636.
[7] Finnie, G. R., Wittig, G. E., and Desharnais, J.-M., "A comparison of software effort estimation techniques: Using function points with neural networks, case-based reasoning and regression models," Journal of systems and software, vol. 39, 1997, pp. 281-289.
[8] Sentas, P., Angelis, L., Stamelos, I., and Bleris, G., "Software productivity and effort prediction with ordinal regression," Information and software technology, vol. 47, 2005, pp. 17-29.
[9] Briand, L. C., El Emam, K., Surmann, D., Wieczorek, I., and Maxwell, K. D., "An assessment and comparison of common software cost estimation modeling techniques," in Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No. 99CB37002), 1999, pp. 313-323.
[10] Briand, L. C., Langley, T., and Wieczorek, I., "A replicated assessment and comparison of common software cost modeling techniques," in Proceedings of the 22nd international conference on Software engineering, 2000, pp. 377-386.
[11] Kad, S. and Chopra, V., "Software development effort estimation using soft computing," International Journal of Machine Learning and Computing, vol. 2, 2012, p. 548.
[12] Bardsiri, V. K., Jawawi, D. N. A., Bardsiri, A. K., and Khatibi, E., "LMES: A localized multi-estimator model to estimate software development effort," Engineering Applications of Artificial Intelligence, vol. 26, 2013, pp. 2624-2640.
[13] Attarzadeh, I. and Ow, S. H., "A novel algorithmic cost estimation model based on soft computing technique," Journal of computer science, vol. 6, 2010, p. 117.
[14] Idri, A., Hosni, M., and Abran, A., "Improved estimation of software development effort using classical and fuzzy analogy ensembles," Applied Soft Computing, vol. 49, 2016, pp. 990-1019.
[15] Zare, F., Zare, H. K., and Fallahnezhad, M. S., "Software effort estimation based on the optimal Bayesian belief network," Applied Soft Computing, vol. 49, 2016, pp. 968-980.
[16] Moradbeiky, A. and Bardsiri, A. K., "A New Architecture Based on Artificial Neural Network and PSO Algorithm for Estimating Software Development Effort," Journal of Telecommunication, Electronic and Computer Engineering (JTEC), vol. 9, 2017, pp. 13-17.
[17] Karimi, A. and Gandomani, T. J., "Software development effort estimation modeling using a combination of fuzzy-neural network and differential evolution algorithm," International Journal of Electrical & Computer Engineering (2088-8708), vol. 11, 2021.
[18] Chhabra, S. and Singh, H., "Optimizing design of fuzzy model for software cost estimation using particle swarm optimization algorithm," International Journal of Computational Intelligence and Applications, vol. 19, 2020,  pp. 2050005.
[19] Kumar, P. S., Behera, H. S., Kumari, A., Nayak, J., and Naik, B., "Advancement from neural networks to deep learning in software effort estimation: Perspective of two decades," Computer Science Review, vol. 38, 2020, pp. 100288.
]20[ عمید خطیبی بردسیری، سیدمحسن هاشمی و محمدرضا رزازی، " ارائه یک مدل جدید جهت تخمین تلاش لازم برای توسعه سرویس های نرم افزاری"، مدل سازی در مهندسی، دوره 15، شماره 49، تابستان 1396، صفحه 245-261.
]21[ صبا بیرانوند و محمدعلی زارع چاهوکی،  "مروری بر روش‌های تخمین هزینه نرم‌افزار مبتنی بر یادگیری ماشین " ، محاسبات نرم، دوره 5، شماره 1، تابستان 1395، صفحه 36-65.
[22] Sharma, A. and Chaudhary, N., "Analysis of Software Effort Estimation Based on Story Point and Lines of Code using Machine Learning," International Journal Of Computing and Digital System, 2021.
[23] Setiadi, A., Hidayat, W. F., Sinnun, A., Setiawan, A., Faisal, M., and Alamsyah, D. P., "Analyze the Datasets of Software Effort Estimation With Particle Swarm Optimization," in 2021 International Seminar on Intelligent Technology and Its Applications (ISITIA), 2021, pp. 197-201.
[24] Ranichandra, S., "Optimizing non‐orthogonal space distance using ACO in software cost estimation," Mukt Shabd J, vol. 9, 2020, pp. 1592-1604.
[25] Khan, B., Naseem, R., Binsawad, M., Khan, M., and Ahmad, A., "Software Cost Estimation Using Flower Pollination Algorithm," Journal of Internet Technology, vol. 21, 2020, pp. 1243-1251.
]26[ مژده صباغ نژاد و عمید خطیبی بردسیری، " ارائه یک مدل ترکیبی جهت افزایش دقت روش استدلال مبتنی بر رویداد در برآورد تلاش توسعه نرم افزار"، مدل سازی در مهندسی، دوره 16، شماره 54، پائیز 1397، صفحه 39-52.
[27] Bilgaiyan, S., Mishra, S., and Das, M., "Effort estimation in agile software development using experimental validation of neural network models," International Journal of Information Technology, vol. 11, 2019, pp. 569-573.
[28] Rankovic, D., Rankovic, N., Ivanovic, M., and Lazic, L., "Convergence rate of Artificial Neural Networks for estimation in software development projects," Information and Software Technology, 2021, pp. 106627.
[29] Araujo, R. d. A., Oliveira, A. L., and Meira, S., "A class of hybrid multilayer perceptrons for software development effort estimation problems," Expert Systems with Applications, vol. 90, 2017, pp. 1-12.
[30] Moosavi, S. H. S. and Bardsiri, V. K., "Satin bowerbird optimizer: A new optimization algorithm to optimize ANFIS for software development effort estimation," Engineering Applications of Artificial Intelligence, vol. 60, 2017, pp. 1-15.
]31[ سمیه شعبانی زاده رابری، وحید خطیبی بردسیری, وعمید خطیبی بردسیری، " ارائه یک روش نوین جهت پیش‌بینی نقص نرم‌افزار با استفاده از ترکیب شبکه عصبی و الگوریتم‌ ملخ "، مدل سازی در مهندسی، دوره 17، شماره 57، تابستان 1398، صفحه 201-214.
[32] Ali, A. and Gravino, C., "Improving software effort estimation using bio-inspired algorithms to select relevant features: An empirical study," Science of Computer Programming, vol. 205, 2021, pp. 102621.
[33] Goyal, S. and Bhatia, P. K., "Feature selection technique for effective software effort estimation using multi-layer perceptrons," in Proceedings of ICETIT 2019, ed: Springer, 2020, pp. 183-194.
[34] Phannachitta, P., "On an optimal analogy-based software effort estimation," Information and Software Technology, vol. 125, 2020, pp. 106330.
[35] Chiu, N.-H. and Huang, S.-J., "The adjusted analogy-based software effort estimation based on similarity distances," Journal of Systems and Software, vol. 80, 2007, pp. 628-640.
[36] Bardsiri, V. K., Jawawi, D. N. A., Hashim, S. Z. M., and Khatibi, E., "A PSO-based model to increase the accuracy of software development effort estimation," Software Quality Journal, vol. 21, 2013, pp. 501-526.
[37] Resmi, V., Vijayalakshmi, S., and Chandrabose, R. S., "An effective software project effort estimation system using optimal firefly algorithm," Cluster Computing, vol. 22, 2019, pp. 11329-11338.
[38] Vijay, J. F., "Enrichment of accurate software effort estimation using fuzzy-based function point analysis in business data analytics," Neural Computing and Applications, vol. 31, 2019, pp. 1633-1639.
[39] Kaur, I., Narula, G. S., Wason, R., Jain, V., and Baliyan, A., "Neuro fuzzy—COCOMO II model for software cost estimation," International Journal of Information Technology, vol. 10, 2018, pp. 181-187.
[40] García-Floriano, A., López-Martín, C., Yáñez-Márquez, C., and Abran, A., "Support vector regression for predicting software enhancement effort," Information and Software Technology, vol. 97, 2018, pp. 99-109.
[41] Puspaningrum, A. and Sarno, R., "A hybrid cuckoo optimization and harmony search algorithm for software cost estimation," Procedia Computer Science, vol. 124, 2017, pp. 461-469.
[42] Singh, S. P., Singh, V. P., and Mehta, A. K., "Differential evolution using homeostasis adaption based mutation operator and its application for software cost estimation," Journal of King Saud University-Computer and Information Sciences, 2018.
[43] Idri, A., Abran, A., and Khoshgoftaar, T. M., "Estimating software project effort by analogy based on linguistic values," in Proceedings Eighth IEEE Symposium on Software Metrics, 2002, pp. 21-30.
[44] Kocaguneli, E. and Menzies, T., "Software effort models should be assessed via leave-one-out validation," Journal of Systems and Software, vol. 86, 2013, pp. 1879-1890.
[45] Wilcoxon, F., "Individual comparisons by ranking methods," in Breakthroughs in statistics, ed: Springer, 1992, pp. 196-202.