Popis: |
The product/software effort/cost-estimation techniques are applied to predict the effort required to finish the project. An incorrect estimation leads to increase in deadline and budget of the project which may further consequence to failure of the project. The estimation models and techniques are used in different phases of software engineering like budgeting, risk analysis, planning, etc. The effort estimation must be done meticulously in SDLC to avoid any slippage to timelines and over budgeting problems. Techniques of effort estimation can be grouped into two categories, i.e. parametric/algorithmic and non-parametric/non-algorithmic models. To overcome the limitations of algorithmic models, non-algorithmic methodologies have been explored which are based on soft-computing methods. Non-algorithmic techniques include Parkinson, expert judgement, machine learning (ML) and price to win. The ML models have been introduced to handle the flaws of parametric estimation models. These models also complement the modern project development and management. Neural networks, fuzzy logic, genetic algorithms, case-based reasoning, etc., are part of the non-algorithmic models. This review paper focuses on software effort estimation techniques based on machine learning techniques, their application domain, method to calculate software cost estimation and analysis on existing ML techniques to explore possible areas of further research. |