scholarly journals Estimating Software Development Efforts Using a Random Forest-Based Stacked Ensemble Approach

Electronics ◽  
2021 ◽  
Vol 10 (10) ◽  
pp. 1195
Author(s):  
Priya Varshini A G ◽  
Anitha Kumari K ◽  
Vijayakumar Varadarajan

Software Project Estimation is a challenging and important activity in developing software projects. Software Project Estimation includes Software Time Estimation, Software Resource Estimation, Software Cost Estimation, and Software Effort Estimation. Software Effort Estimation focuses on predicting the number of hours of work (effort in terms of person-hours or person-months) required to develop or maintain a software application. It is difficult to forecast effort during the initial stages of software development. Various machine learning and deep learning models have been developed to predict the effort estimation. In this paper, single model approaches and ensemble approaches were considered for estimation. Ensemble techniques are the combination of several single models. Ensemble techniques considered for estimation were averaging, weighted averaging, bagging, boosting, and stacking. Various stacking models considered and evaluated were stacking using a generalized linear model, stacking using decision tree, stacking using a support vector machine, and stacking using random forest. Datasets considered for estimation were Albrecht, China, Desharnais, Kemerer, Kitchenham, Maxwell, and Cocomo81. Evaluation measures used were mean absolute error, root mean squared error, and R-squared. The results proved that the proposed stacking using random forest provides the best results compared with single model approaches using the machine or deep learning algorithms and other ensemble techniques.

Author(s):  
FATIMA AZZAHRA AMAZAL ◽  
ALI IDRI ◽  
ALAIN ABRAN

Software effort estimation is one of the most important tasks in software project management. Of several techniques suggested for estimating software development effort, the analogy-based reasoning, or Case-Based Reasoning (CBR), approaches stand out as promising techniques. In this paper, the benefits of using linguistic rather than numerical values in the analogy process for software effort estimation are investigated. The performance, in terms of accuracy and tolerance of imprecision, of two analogy-based software effort estimation models (Classical Analogy and Fuzzy Analogy, which use numerical and linguistic values respectively to describe software projects) is compared. Three research questions related to the performance of these two models are discussed and answered. This study uses the International Software Benchmarking Standards Group (ISBSG) dataset and confirms the usefulness of using linguistic instead of numerical values in analogy-based software effort estimation models.


Software development becomes a complex process when the software grows in size or complexity making it difficult to estimate usage of resources or development costs. Software effort estimation is that part of development which helps in assessing resource prior to development. An estimate is a quantified evaluation of the effort necessary to carry out a given development task and most often expressed in terms of durations. Effort estimation is done with an intent to aggregate individual estimates and obtain the overall duration, effort or cost of a software project. The workforce is measured as effort and the total time required is defined for a task in effort estimations which is usually expressed in units (Man-day, Man-month, and Man-year). Most other factors like cost or total time required to developed software are dependent on these estimations. Further, Algorithms used for estimating software developments efforts, may also be imprecise. Thus, Effort estimations plays an important part of software development in planning and monitoring projects. Agile methodology is relatively a new set of practices in software development. Agile estimations are based on many factors. Improperly recorded information from Agile methods can result in erratic estimations thus creating an impending need for precise effort estimations. It is difficult to find a single technique which can suit all conditions. Hence, this paper attempts to estimate agile development efforts by using a hybrid technique based on function points and user stories. Results of the proposed technique demonstrate that the arrived effort estimations based on user stories are efficient.


Author(s):  
Ardiansyah Ardiansyah ◽  
Murein Miksa Mardhia ◽  
Sri Handayaningsih

Accurate effort estimation of software development plays an important role to predict how much effort should be prepared during the works of a software project so that it can be completed on time and budget. Some sectors, e.g. banking sectors, were renowned fields of software projects, not only due to its huge size of project, but also extremely expensive and takes a long time to completion. Project estimation is essential for software development project able to run on time and budget with maximum quality. This study aims to investigate the accuracy of software project effort estimation with the Analogy method using three parameters: Euclidean, Manhattan and Minkowski distance. Analogy based estimation consists several stage included similarity measure, analogy adaptation, estimation calculation and model evaluation. The results showed that the best combination of Analogy methods was using Manhattan distance with an accuracy of 50% MMRE, 28% MdMRE and Pred(25) 48%. Thus, we can concluded that this model can be used to predict accurately.


2018 ◽  
Vol 7 (3) ◽  
pp. 1812
Author(s):  
Archana Srivastava ◽  
Dr. K. Singh ◽  
Dr Syed Qamar Abbas

Use Case Point Method (UCP) is used to estimate software development effort. UCP uses a project’s use cases to produce a reasonable estimate of a project’s complexity and required man hours. Advance Use Case Point Method (AUCP) is an extension of UCP. AUCP extends UCP by adding the additional effort required in incorporating end user development (EUD) features in the software for overall project effort estimation. Today user needs are diverse, complex, and frequently changing hence need of EUD is also increasing. EUD features if incorporated in the software increases end user satisfaction exponentially but incorporating EUD features increases design time complexity and increases the effort significantly based on the end users requirements. This paper provides a case study to demonstrate the comparative analysis of UCP and AUCP using paired t-test. It also observes that there can be on an average 20% increase in overall effort of development on adding EUD features.  


Author(s):  
Fatih Yücalar ◽  
Deniz Kilinc ◽  
Emin Borandag ◽  
Akin Ozcift

Estimating the development effort of a software project in the early stages of the software life cycle is a significant task. Accurate estimates help project managers to overcome the problems regarding budget and time overruns. This paper proposes a new multiple linear regression analysis based effort estimation method, which has brought a different perspective to the software effort estimation methods and increased the success of software effort estimation processes. The proposed method is compared with standard Use Case Point (UCP) method, which is a well-known method in this area, and simple linear regression based effort estimation method developed by Nassif et al. In order to evaluate and compare the proposed method, the data of 10 software projects developed by four well-established software companies in Turkey were collected and datasets were created. When effort estimations obtained from datasets and actual efforts spent to complete the projects are compared with each other, it has been observed that the proposed method has higher effort estimation accuracy compared to the other methods.


2019 ◽  
Vol 148 ◽  
pp. 343-352 ◽  
Author(s):  
Zakrani abdelali ◽  
Hain Mustapha ◽  
Namir Abdelwahed

Author(s):  
Emilia Mendes

The objective of this chapter is threefold. First is to introduce new terminology that relates specifically to hypertext, the model the Web is based upon. Second, it provides an overview of differences between Web and software development with respect to their development processes, technologies, quality factors, and measures. Third, it discusses the differences between Web effort estimation and software effort estimation.


Sign in / Sign up

Export Citation Format

Share Document