Comparison of the classification methods in software development effort estimation
Subject Areas : Multimedia Processing, Communications Systems, Intelligent SystemsSadegh Ansaripour 1 , Taghi Javdani Gandomani 2
1 - Aghigh University
2 - Faculty Member,, Shahrekord University
Keywords: Data mining, Machine Learning, Software effort estimation, Software engineering, Classification,
Abstract :
Introduction: The main goal of software companies is to provide solutions in various fields to better meet the needs of customers. The process of successful modeling depends on finding the right and accurate requirements. However, the key to successful development for adapting and integrating different developed parts is the importance of selecting and prioritizing the requirements that will advance the workflow and ultimately lead to the creation of a quality product. Validation is the key part of the work, which includes techniques that confirm the accuracy of a set of requirements for building a solution that leads to the project's business objectives. Requirements change during the project, and managing these changes is important to ensure the accuracy of the software built for stakeholders. In this research, we will discuss the process of checking and validating the software requirements.Method: Requirement extraction is conducted by means of discovery, review, documentation, and understanding of user needs and limitations of a system. The results are presented in the form of products such as text requirements descriptions, use cases, processing diagrams, and user interface prototypes.Findings: Data mining and recommender systems can be used to increase the necessary needs, however, another method. of social networks and joint filtering can be used to create requirements for large projects to identify needs.Discussion: In the area of product development, requirements engineering approaches focus exclusively on requirement development. There are challenges in the development process due to the existence of human resources. If the challenges are not seen well at this stage, it will be extremely expensive after the software production. Therefore, in this regard, errors should be minimized and they should be identified and corrected as soon as possible. Now, with the investigations carried out, one of the key issues in the field of requirements is the discussion of validation, which first confirms that the requirements are able to be implemented in a set of characteristics according to the system description, and secondly, a set of essential characteristics. such as complete, consistent, according to standard criteria, non-contradiction of requirements, absence of technical errors, and lack of ambiguity in requirements. In fact, the purpose of validation is to ensure the result that a sustainable and renewable product is created according to the requirements.
[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
.
_||_