Cost Estimation Using AI Techniques - PowerPoint PPT Presentation

1 / 40
About This Presentation
Title:

Cost Estimation Using AI Techniques

Description:

1. Cost Estimation Using. AI Techniques. Supervisor: Prof. Dr. Meer Hamza. Speaker: Ahmed S. ALSUM ... Why we use AI techniques in Cost Estimation? ... – PowerPoint PPT presentation

Number of Views:83
Avg rating:3.0/5.0
Slides: 41
Provided by: Moha221
Category:

less

Transcript and Presenter's Notes

Title: Cost Estimation Using AI Techniques


1
Cost Estimation Using AI Techniques
Arab Academy For Science, Technology Maritime
Transport
College Of Computing Information Technology
Supervisor Prof. Dr. Meer Hamza Speaker
Ahmed S. ALSUM Teaching Assistant in FCIS,
Mansoura University
MASTER
2004
2
OutLine
  • Cost Estimation Techniques Overview.
  • Software Cost Estimation with Case Based
    Reasoning.
  • Software Cost Estimation with Neural Networks.
  • Software Cost Estimation with Fuzzy Models.

3
Importance of Cost Estimation!
  • Budgeting
  • Tradeoff and risk analysis.
  • Project planning and control.
  • Software improvement investment analysis.

4
Generic Vs. Bespoke
  • With products developed for the mass markets the
    cost of development is not visible in the price
    of the product.
  • With custom or bespoke development, the
    development cost influences the price.
  • It is of strategic importance for an
    organisation, whether as a customer or a
    developer

5
From surveys of organizations
  • only 25 of projects come within their originally
    predicted cost and schedule,
  • But 66 of companies significantly underestimate
    the time and cost and that the costs for similar
    projects can vary by up to 200.

6
Software Estimation Techniques
Expert judgement is still the most dominant
method of estimation. (1991)
7
Why we use AI techniques in Cost Estimation?
  • Software project cost estimation is difficult
    because of problems of quantifying project size
    and because of the continual emergence of new
    technology.

8
Software Cost Estimation with Case Based
Reasoning CBR
9
What is CBR?
  • Case-based reasoning (CBR) may function as a
    corporate memory where experience is stored as
    cases and may be drawn upon when new problems
    arise.

10
Should we use CBR?
  • Software project cost estimation is difficult to
    derive accurate size and cost figures from the
    features of a project that are known early.
  • This is characteristic of weak theory domains
    where CBR has potential as a solution.

11
CBR Techniques?
  • CBR involves matching the current problem against
    similar problems that have occurred in the past.
  • It uses past experiences to solve new problems
    which corresponds to how experts operate.

12
How To Apply CBR?
  • The current research focuses on problem domains
    that are
  • similar in nature,
  • similar types of applications
  • from similar organizations

13
How to say its similar?
  • Examination of the features or attributes that
    contribute to the case representation used in the
    current research imply that
  • Using attributes such as numbers of inputs,
    outputs, internal and external files to a
    identify similar cases.

14
Early Estimation
We are here
15
Early Estimation Problem
  • The main problem is the availability of enough
    predictive features that can give an accurate
    estimate of effort.
  • To be SUCCESSFUL in applying CBR to early cost
    estimation will involve identifying more abstract
    features than metrics such as size or specific
    detailed design features to represent a case.

16
CBR in early estimation How to find a measure of
the system size.
  • Effort 8 Size Productivity
  • Solution describe using analogy for effort
    estimation and state that it is important to
    choose at least one variable or feature to act as
    a size driver.

17
Cost Driver
  • Cost drivers are the variables that are believed
    to influence the cost of software development.
  • Ex.. COCOMO uses 15 cost drivers
  • Problem with cost drivers are
  • There is a lack of clear definitions for them
    especially quality, complexity and experience,
  • Difficult to quantify and can be very subjective.

18
Case Representation
19
It is only a management representation?
  • Management can have more influence on the
    productivity of the programming staff than any
    technology now in use
  • Research has also identified the importance of
    significant user participation and experience in
    successful projects

20
You speak about the same domain What about
Estimation Across Broader Domains?
  • In order to use CBR in estimation in a broader
    context there is need to identify abstract
    features that will support reminding across
    different contexts and a need to develop
    adaptation techniques to transform cases between
    these contexts.

21
Software Cost Estimation with Neural Network
22
What is Neural Network?
  • These are estimation models that can be trained
    using historical data to produce ever better
    results by automatically adjusting their
    algorithmic parameter values to reduce the delta
    between known actuals and model predictions.

23
Ex..

24
To create NN
  • developing an appropriate layout of neurons, or
    connections between network nodes.
  • This includes defining
  • the number of layers of neurons,
  • the number of neurons within each layer,
  • and the manner in which they are all linked.
  • The weighted estimating functions between the
    nodes, ...etc

25
To create NN
  • the model must be trained by providing it with a
    set of historical project data inputs and the
    corresponding known actual values for project
    schedule and/or cost.

26
Problems
  • Extremely large data sets are needed to
    accurately train neural networks.
  • Neural Networks provide little intuitive support
    for understanding the sensitivity relationships
    between cost driver parameters and model results.

27
Conclusion for NN CBR
  • Experience to date indicates that neural-net and
    dynamics-based techniques are less mature than
    the other classes of techniques, but that all
    classes of techniques are challenged by the rapid
    pace of change in software technology.

28
Software Cost Estimation with Fuzzy Model
29
Why Fuzzy Model?
  • Estimation of effort/cost required for
    development of software products is inherently
    associated with uncertainty. ,
  • we are concerned with a fuzzy set-based
    generalization of the COCOMO model, that what we
    called F-COCOMO.

30
Difference BetweenCOCOMO model (f-COCOMO)
  • standard COCOMO model the inputs of the include
    an estimation of project size and an evaluation
    of other parameters.
  • Rather than using a single number, the software
    size can be regarded as a fuzzy set (fuzzy
    number) yielding the cost estimate also in form
    of a fuzzy set.

31
Fuzzy Sets
  • Using fuzzy sets, size of a software project can
    be specified by distribution of its possible
    values.

32
Ex..
  • a small software project can be described by a
    fuzzy set K.

In general, a fuzzy set K is described by its
membership function K(x) which expresses the
degree of membership of x to the fuzzy set K
describing a certain concept
33
Basic COCOMO
  • Models may have the general form
  • where S is the code-size, and a, b are (usually
    simple) functions of other cost factors.

34
A. Simple f-COCOMO Model Triangular Numbers
35
Triangular Numbers
As the input variable (size K) is a fuzzy set .
(fuzzy number), so is the effort E.
where K(x) and E(e) denote membership functions
of the size of the code and membership function
of the effort
36
Triangular Numbers
This formula can be used directly for estimation
of effort from size of software project described
by triangular fuzzy set.
37
Simple f-COCOMO Model
38
Conclusion On Fuzzy Model
  • The model admits inputs (say, size of code) that
    are nonnumeric and therefore more acceptable to
    the designer and project manager.
  • Fuzzy sets create a more flexible, highly
    versatile development environment.
  • First, they help articulate the estimates and
    their essence (e.g., by exploiting fuzzy numbers
    described by asymmetric membership functions).
  • Second, they generate a feedback as to the
    resulting uncertainty (granularity) of the results

39
References.
  • Sarah Jane Delany, Pádraig Cunningham and
    Wolfgang Wilke, The Limits of CBR in Software
    Project Estimation, 1998 German Workshop on
    Case-Based Reasoning.
  • Barry Boehm, Chris Abts, Sunita Chulani ,
    Software Development Cost Estimation Approaches
    A Survey, 1998.
  • Petr Musflek, Witold Pcd.rycz, Giancarlo Succi,
    Marek Reformat, Software Cost Estimation with
    Fuzzy Models

40
Thanks
CS MASTER
2004
S
Write a Comment
User Comments (0)
About PowerShow.com