Software is crucial in current life cycle management, impacting social, political, financial, healthcare, and military sectors. As software becomes more complex, accurately estimating the effort required for development has become increasingly challenging. Software development effort estimation (SDEE) involves predicting the effort needed to develop software based on its specifications, measured in person-months or person-hours. Accurate effort estimation is essential during the early stages of a project, particularly in planning and requirement assessment, as it aids in project planning, budgeting, monitoring, scheduling, and resource allocation. Effective estimation helps manage large and complex projects and improves application quality by addressing issues of overestimation and underestimation. Effort estimation methodologies are broadly categorized into expert judgment, algorithmic models, and machine learning processes. Algorithmic models rely on statistical analysis of project input data to estimate effort, using mathematical formulas derived from numerical inputs of one or more projects. Expert judgment, on the other hand, depends on the experience of domain experts in providing effort estimates. Still, this approach can lack objectivity and is challenging to fine-tune, especially when data or numerical expertise is scarce. Machine learning techniques have emerged as a promising alternative, often matching or surpassing the accuracy of algorithmic methods while offering improved understandability and ease of application. This chapter contains different software effort estimation projects that can be solved using machine learning techniques. This chapter will briefly present a case study of applications of each machine learning model for various tasks in software development effort estimation.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Case Studies: Machine Learning Approaches for Software Development Effort Estimation

  • Sarika Mustyala,
  • Pravali Manchala,
  • Manjubala Bisi

摘要

Software is crucial in current life cycle management, impacting social, political, financial, healthcare, and military sectors. As software becomes more complex, accurately estimating the effort required for development has become increasingly challenging. Software development effort estimation (SDEE) involves predicting the effort needed to develop software based on its specifications, measured in person-months or person-hours. Accurate effort estimation is essential during the early stages of a project, particularly in planning and requirement assessment, as it aids in project planning, budgeting, monitoring, scheduling, and resource allocation. Effective estimation helps manage large and complex projects and improves application quality by addressing issues of overestimation and underestimation. Effort estimation methodologies are broadly categorized into expert judgment, algorithmic models, and machine learning processes. Algorithmic models rely on statistical analysis of project input data to estimate effort, using mathematical formulas derived from numerical inputs of one or more projects. Expert judgment, on the other hand, depends on the experience of domain experts in providing effort estimates. Still, this approach can lack objectivity and is challenging to fine-tune, especially when data or numerical expertise is scarce. Machine learning techniques have emerged as a promising alternative, often matching or surpassing the accuracy of algorithmic methods while offering improved understandability and ease of application. This chapter contains different software effort estimation projects that can be solved using machine learning techniques. This chapter will briefly present a case study of applications of each machine learning model for various tasks in software development effort estimation.