scispace - formally typeset
Open AccessJournal ArticleDOI

Software Development Effort and Cost Estimation: Neuro-Fuzzy Model

Divya Kashyap, +2 more
- 01 Jan 2012 - 
- Vol. 2, Iss: 4, pp 12-14
Reads0
Chats0
TLDR
Neuro-Fuzzy model is discussed, which is the combination of Artificial Neural Network and Fuzzy Logic and it model complex relationships between both independent variables (cost drivers) and dependent variables (effort).
Abstract
Software development effort and cost prediction is one of the important activities in software project management. Accuracy in prediction is a challenge for software developers. There are many models exists that defines a relationship between size and effort. Cost of developing a project increases with complexity of project accuracy predictions are strongly required during the early stages of project development. Because data and info available at the starting phases of project is not complete, not consistent and not even certain. An objective of the software engineering community is to develop a useful model that define the development life-cycle and accurately predict the cost of developing a software product. In this paper we discuss Neuro-Fuzzy model deals with this situation. Neuro-Fuzzy models are the combination of Artificial Neural Network and Fuzzy Logic. Artificial Neural Network has the ability to learn from previous data. It model complex relationships between both independent variables (cost drivers) and dependent variables (effort). Fuzzy logic simulates the human behavior and reasoning. Fussy logic is basically used in situation where decision making is very difficult and conditions are not clearly defined. Facts that may be dismissed are focused in this technique.

read more

Content maybe subject to copyright    Report

IOSR Journal of Computer Engineering (IOSRJCE)
ISSN: 2278-0661 Volume 2, Issue 4 (July-Aug. 2012), PP 12-14
www.iosrjournals.org
Software Development Effort and Cost Estimation: Neuro-Fuzzy
Model
1
Divya Kashyap
2
Ashish Tripathi
3
Prof. A. K. Misra
1, 2, 3
(CSED, MNNIT, Allahabad, India)
Abstract: Software development effort and cost prediction is one of the important activities in software project
management. Accuracy in prediction is a challenge for software developers. There are many models exists that defines
a relationship between size and effort. Cost of developing a project increases with complexity of project accuracy
predictions are strongly required during the early stages of project development. Because data and info available at
the starting phases of project is not complete, not consistent and not even certain. An objective of the software
engineering community is to develop a useful model that define the development life-cycle and accurately predict the
cost of developing a software product.
In this paper we discuss Neuro-Fuzzy model deals with this situation. Neuro-Fuzzy models are the
combination of Artificial Neural Network and Fuzzy Logic. Artificial Neural Network has the ability to learn from
previous data. It model complex relationships between both independent variables (cost drivers) and dependent
variables (effort). Fuzzy logic simulates the human behavior and reasoning. Fussy logic is basically used in situation
where decision making is very difficult and conditions are not clearly defined. Facts that may be dismissed are focused
in this technique.
Keywords: Neural Network, Fuzzy Logic, Artificial Neural Network.
I. Introduction
Software cost estimation has been an important but difficult task since the beginning of the computer era in
the 1940s. As software applications have grown in size and importance, the need for accuracy in software cost
estimating has grown too. Software development effort-estimation is the process to predict the most realistic use
of effort required to develop or maintain software based on incomplete, uncertain
and/or noisy input. Cost estimation is sometimes referred as
“parametric estimation because cost-estimation accuracy demands understanding the relationships
among scores of discrete parameters that can affect the outcome of software projects. Some major problems
encountered during cost estimation process are: (i) factor that affect the cost are non-linear in nature so it is very
difficult to establish a mapping between these factors and output metrics, (ii) data present at the starting phases
are incomplete and imprecise so measurement of metrics are difficult, (iii) there are many models available for
estimation purpose but the problem is how to determine which model is useful in which situation,and (iv)
difficulty to use algorithmic model(numerical data)[1] and non-algorithmic model[2,5] together. To overcome
these problems, Neuro-Fuzzy model is proposed. This model is a combination of Artificial Neural Network and
Fuzzy Logic. It shows better result than the existing individual algorithmic and non-algorithmic cost estimation
models.
II. Neural Network
Neural network is a powerful class of model which includes many diverse models and approaches.
Information processing by neural network is inspired by the way biological nervous system, like Brain, process
information. It has a novel structure for processing information. To solve a specific problem, a large number of
neurons (i.e. densely interconnected processing elements) working in unison. Specific application such as pattern
recognition or data classification, through a learning process is configured by neural network. Neural network learn
by examples. They do not follow algorithmic approach.
III. Fuzzy Logic
In the race for developing sophisticated control system, Fuzzy Logic has become one of the most
noteworthy technologies. Fuzzy logic is a control system methodology that solves problems in a very large
domain ranging from simple, small to large, networked or workstation based control system. Two logic supports either
true or false (also known as truth value). In Fuzzy logic an intermediate truth value, such as may be true is also possible.
Many applications have reported successful achievements of using Fuzzy logic. Fuzzy logic has made it easier in
understanding image applications. Fuzzy logic has ability to behave like human mind and apply effectively the
logics that are approximate rather than exact.
www.iosrjournals.org 12 | Page

Software Development Effort And Cost Estimation: Neuro-Fuzzy Model
IV. Solving Approach
Xishi [6] et al. proposed a Neuro-Fuzzy model for cost estimation which is modified in the current paper. It
is applied on various estimation problems for accuracy. The Neuro-Fuzzy model contributes
Figure 1: Proposed Neuro-Fuzzy model for cost estimation
with algorithmic model like COCOMO, Function Point. In [6], Xishi uses three components in soft computing
framework for software cost estimation. Three components are: Preprocessing Neuro-Fuzzy inference system
(PNFIS), Neuro-Fuzzy bank (NFB), Algorithmic models. Model
proposed in this paper(shown in Figure 1) has certain modifications over Xishi’s soft computing model. In
the proposed Neuro-Fuzzy model for software development effort estimation, 22 software cost drivers are used as
initial inputs. Cost drivers affect the value of software
development cost. These cost drivers include 17 Effort multipliers (EM
1
….EM
17
) and 5 scale factors (SF
1
…SF
5
)
[2]
(shown in Figure 2).
These cost drivers are used as input for expert judgment and analogy system. Based on their
experience, experts give their judgment about the degree of the drivers for the next level i.e. Non-algorithmic
system. Experts with special and particular
experience are required in this model. Data sources are: (i)
Industrial project data: 6 projects, (ii) COCOMO’81 dataset: 63 projects.
Figure 2: Proposed Neuro-Fuzzy architecture for cost estimation
Neuro-Fuzzy system maps degree of drivers to Adjustment rating factors (ARFs). Output ARFs are passed
through the Neuro-Fuzzy system which produces corresponding numerical values known as multiplier for inputs to
the algorithmic values. Artificial Neural Network and fuzzy logic is applied to the ARFs. Fuzzy logic system is
constructed on the basis of fuzzy net, fuzzy rules and fuzzy influence. Output ARFs and values (V
1
…V
n
) which are
used originally in the COCOMO [1] are now passed to the COCOMO algorithmic model that finally concludes the
estimation process. COCOMO uses the mathematical formula for cost estimation process. ARF improves the
accuracy of the outcome of algorithmic COCOMO model. This is because the proposed model uses the capabilities
of artificial neural network, fuzzy logic’s “if-then”, expert judgment and
analogy which improve the accuracy of the existing model.
V. Exprimental Result
The results of the models are evaluated by using Mean Magnitude of Relative Error (MMRE), PRED
(Prediction percentage), RMSE (Root Mean Square Error), Root Mean Square Standardized Error (RMSSE) etc. [5, 8]
Results obtained with the ANN models indicate that the performance of such a model mainly depends on its
architecture and parameter settings, and relying on empirical rules to determine these settings is not the optimal
approach. A summary of Neural Network studies [7] is tabulated in Table 1.
In [5], Ihtiram Raza Khan et. al. propose model with MMRE less than 15% in the case of Function
point and improvement of accuracy in larger proportion in the case of COCOMO. In [8], Parvinder S. S. et. al.
www.iosrjournals.org 13 | Page

Software Development Effort And Cost Estimation: Neuro-Fuzzy Model
calculates the output of Neuro-Fuzzy system has the lowest MMRE and RMSSE values i.e. 0.11943 and 7.0731
respectively with comparison to other models.
Table 1 summarizes the results of the existing models and in the proposed model, the expert judgment, analogy
and
inference with Neuro-Fuzzy model are combined that can improve the accuracy percentage of cost
estimation. In this paper, all issues and their respective solutions are considered; which may affect the
estimation process and not discussed in the existing models.
VI. Future Work
In last decades, most of the researchers mainly focused to find the cause of software project failure.
Inaccurate estimation at the early stages is the main reason for this failure. So focus on estimation models is very
important to achieve reliable and accurate estimation. In current paper, most of the related existing algorithmic
and non-algorithmic estimation models are discussed. Project managers use models according to the situation and
requirement. Performance of these models depends on complexity of the project, experience of the expert, development
method and so on. To improve the accuracy we combine the Neuro-Fuzzy framework with existing estimation model
COCOMO. The benefit of using artificial Neural Network is that it has the ability to learn from the previously
completed projects. Advantage of applying
Neuro-Fuzzy framework is its interpretability because fuzzy logic is used. Fuzzy logic simulates the
user’s idea in estimation. The proposed model can be used in various estimation problems because, in proposed
model, algorithmic and non-algorithmic; both models are used. Future work will be to apply proposed model to
other estimation models like function point, SLIM, SEER-SEM etc. and also try to develop a tool for this
purpose.
References
[1] Boehm. “Software Engineering Economics”, Prentice Hall, 1981.
[2] Idri, A., S. Mbarki, et al. “Validating and understanding software cost estimation models based on neural networks”.
Information and CommunicationTechnologies: From Theory to Applications, 2004. Proceedings. 2004 International Conference on,
2004.
[3] M. Jorgensen, B. Boehm, et al. “Software Development Effort Estimation: Formal Models or Expert Judgement?” Software, IEEE
26(2): 14-19, 2009.
[4] Vahid Khatibi, Dayang N. A. Jawawi “Software cost Estimation Methods: A Review”, 2010-2011. Journal of Emerging Trends in
Computing and Information Sciences on 2010-2011.
[5] Mr. Ihtiram Raza Khan, Prof Afshar Alam, Ms. HumaAnwar. “Efficient Software Cost Estimation using Neuro- Fuzzy
Technique”, National Conference onRecent Developments in Computing and its application, August 2009.
[6] Huang X, Ho D, Ren J, Capretz L, “ A Soft Computing Framework for Software Effort Estimation”Soft Computing Journal,
Springer, available at
www.springeronline.com, 2005.
[7] Ali Idri, Taghi M. Khoshgoftaar and Alain Abran. “Can Neural Networks be easily Interpreted in Software Cost Cost Estimation?”,
2002 World Congress on Computational Intelligence, Honolulu, Hawaii, May 12-17, 2002.
[8] Parvinder S. Sandhu, Porush Bassi and Amanpreet Singh Brar. “Software Effort Estimation Using Soft Computing Techniques”,
World Academy of Science, Engineering and Technology, 46, 2008.
www.iosrjournals.org 14 | Page
Citations
More filters

Software engineering economics

Barry Boehm
TL;DR: In this article, the authors provide an overview of economic analysis techniques and their applicability to software engineering and management, including the major estimation techniques available, the state of the art in algorithmic cost models, and the outstanding research issues in software cost estimation.
Journal ArticleDOI

A review on the applications of neuro-fuzzy systems in business

TL;DR: A review of the application of neuro-fuzzy systems in business on the basis of the research articles issued in various reputed international journals and conferences during 2005-2015 has identified finance, marketing, distribution, business planning, information systems, production and operations as the main business application domains of NFS during this period.

Software Effort Estimation: A Comparison Based Perspective

TL;DR: All widespread models discussed at one place will give researchers a prospect to comprehend the pros and cons, similarities and the differences among various models in software effort estimation field.
Proceedings ArticleDOI

Software Effort Estimation of GSD Projects Using Calibrated Parametric Estimation Models

TL;DR: The calibrated estimation shows better accuracy in GSD-projects than the estimation before calibration, and the performance can be evaluated based on the accuracy of effort measured from the deviation of actual effort from completed projects and estimated effort before and after calibration.
Journal ArticleDOI

Design and Implementation of Neuro Fuzzy model for Software Development Time Estimation

TL;DR: This proposed technique is aimed at building and evaluating a Neuro fuzzy model using three (3) membership functions (MFs) for software project development time.
References
More filters

Software engineering economics

Barry Boehm
TL;DR: In this paper, the authors provide an overview of economic analysis techniques and their applicability to software engineering and management, including the major estimation techniques available, the state of the art in algorithmic cost models, and the outstanding research issues in software cost estimation.
Book

Software Engineering Economics

Barry Boehm
TL;DR: In this article, the authors provide an overview of economic analysis techniques and their applicability to software engineering and management, including the major estimation techniques available, the state of the art in algorithmic cost models, and the outstanding research issues in software cost estimation.
Proceedings ArticleDOI

Can neural networks be easily interpreted in software cost estimation

TL;DR: This paper study the interpretation of cost estimation models based on a backpropagation three layer perceptron network based on the COCOMO'81 dataset and proposes a method that maps this neural network to a fuzzy rule based system.
Journal ArticleDOI

Software Development Effort Estimation: Formal Models or Expert Judgment?

TL;DR: Two luminaries are taking opposite sides and trying to help software project managers figure out when, and under what conditions, each method would be best.

Performance Analysis of the Software Cost Estimation Methods: A Review

TL;DR: A comparative analysis among existing popular models are performed and the performance is analysed and compared in terms MMRE (Mean Magnitude of Relative Error) and PRED (Prediction).
Related Papers (5)
Trending Questions (1)
Is artificial neural network supervised learning?

Artificial Neural Network has the ability to learn from previous data.