Software Effort Estimation Development From Neural Networks to Deep Learning Approaches

Software Effort Estimation Development From Neural Networks to Deep Learning Approaches

Poonam Rijwani, Sonal Jain
Copyright: © 2022 |Pages: 16
DOI: 10.4018/JCIT.296715
Article PDF Download
Open access articles are freely available for download

Abstract

Software Engineering is a branch of computers that includes the development of structured software applications. Estimation is a significant measure of software engineering projects, and the skill to yield correct effort estimates influences vital economic processes, which include budgeting and bid tenders. But it is challenging to estimate at an initial stage of project development. Numerous conventional and machine learning-based methods are utilized for estimating effort and still, it is a challenge to achieve consistency in precise predictions. In this research exploration, various ANN-based models are compared with conventional algorithmic methods. The study also presents the comparison of results on various datasets from the artificial neural network models, deep learning models, higher-order Neural Network models, leading to the conclusion that hybrid methods yield better results. This paper also includes an analysis of primary data collected from Software Project professionals using the questionnaire method involving questions related to software cost estimation.
Article Preview
Top

1. Introduction

The necessity for software development is growing progressively, causing continuous development in software projects and this progress has augmented the competition amongst corporations to yield extraordinary quality products at low-cost in less time. For the successful development of a software project, Prediction of cost and effort is important and has to be done at the primary phase of the software development procedure. Making software estimates encompasses effort, size, time, cost, and staff. We can easily make from Figure 1 that for estimating effort and schedule, comprehensive steps need to be completed with adhered guidelines.

Precise software estimate empowers the project manager towards effectively planning the project and allot resources efficiently. Under-estimating a project contributes to under-employment (the consequence is burnout of staff), under-scale quality control measures (the possibility of reduced quality supplies)), and set a small schedule (causing destruction of trustworthiness as targets remain unfulfilled). Overestimating a project is equally bad for the business. If more resources are provided than needed in real for a project without adequate scope control, it will consume them. The project is thus possibly taking longer than expected to execute (which leads to loss of chance) as well as prolong the usage of capital for the next project. The calculation of software costs is the mechanism by which the practical effort to create and maintain software is estimated based on incomplete, unpredictable, and noisy data.

Figure 1.

Simple procedure of software development estimation

JCIT.296715.f01

Numerous models and simulations for software effort estimation have been suggested by software researchers. Accordingly, these models can be classified based on their basic formulation patterns: analogy based estimation (Chiu & Huang, 2007; Shepperd & Kadoda, 2000), expert-judgment method (Jørgensen & Sjøberg, 2004), and algorithmic models containing empirical methods like Function points, constructive cost model(COCOMO) (Kaczmarek & Kucharski, 2004). Still, the failure rate of software projects is very high. One of the major causes behind the non-success of software projects is inefficient cost and effort estimation which leads to overall poor project management. The restrictions in algorithmic models have headed to the study of models that are non-algorithmic and are centered on the concept of soft computing. Machine learning was found to be suitable as it provides improved accuracy due to their predictive ability by leading repetitive training sequences and handle problems with efficacy. The often utilized soft computing practices in software development estimation are logistic regression, linear regression, decision trees, Artificial Neural Network, K Nearest Neighbor algorithm, Naive Bayes, classification, Support Vector M, deep learning, etc. The methods provide different precision on varied datasets. Consequently, it is difficult to determine the finest method with the necessary accuracy. Subsequently, a lot of investigation is going on Estimating software effort exhausting machine learning approaches that have shown their importance in estimating the effort.

Complete Article List

Search this Journal:
Reset
Volume 26: 1 Issue (2024)
Volume 25: 1 Issue (2023)
Volume 24: 5 Issues (2022)
Volume 23: 4 Issues (2021)
Volume 22: 4 Issues (2020)
Volume 21: 4 Issues (2019)
Volume 20: 4 Issues (2018)
Volume 19: 4 Issues (2017)
Volume 18: 4 Issues (2016)
Volume 17: 4 Issues (2015)
Volume 16: 4 Issues (2014)
Volume 15: 4 Issues (2013)
Volume 14: 4 Issues (2012)
Volume 13: 4 Issues (2011)
Volume 12: 4 Issues (2010)
Volume 11: 4 Issues (2009)
Volume 10: 4 Issues (2008)
Volume 9: 4 Issues (2007)
Volume 8: 4 Issues (2006)
Volume 7: 4 Issues (2005)
Volume 6: 1 Issue (2004)
Volume 5: 1 Issue (2003)
Volume 4: 1 Issue (2002)
Volume 3: 1 Issue (2001)
Volume 2: 1 Issue (2000)
Volume 1: 1 Issue (1999)
View Complete Journal Contents Listing