1 / 52

Presented By:

ESTIMATION . Presented By:. Riaz Ahmad. INTRODUCTION. Define Cost estimation Importance of estimation Need of cost estimation Factors affecting the estimation Approaches of estimation Procedure of estimation Estimation techniques CoCoMo model Basic CoCoMo model.

jessie
Télécharger la présentation

Presented By:

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ESTIMATION Presented By: Riaz Ahmad

  2. INTRODUCTION • Define Cost estimation • Importance of estimation • Need of cost estimation • Factors affecting the estimation • Approaches of estimation • Procedure of estimation • Estimation techniques • CoCoMo model • Basic CoCoMo model

  3. Define Cost estimation • Software cost estimation is the process of predicting the amount of effort required to build a software system. • Cost estimates are needed throughout the software production lifecycle. • Preliminary estimates are required to determine the feasibility of a project.

  4. Define Cost estimation (cont...) • Detailed estimates are needed to assist with project planning. • The actual effort is compared with estimated and planned values, enabling project managers to reallocate resources when necessary. • Projects normally have a budget.cost estimation is necessary to ensure that spending is in line with the budget.

  5. Importance of estimation • Cost estimation has several uses: • It establishes a firm, reliable budget for an project. • it facilitate competitive contract bids. • It determines what is most cost effective for the organization.

  6. Where Estimation lies in project planning Task set for project planning are 1.establish project scope. 2.determine feasibility. 3.Analyze risk. 4.Define required resources. 5.Estimate cost and effort. 6.Develop a project schedule.

  7. Factors Effecting The Estimation Major factors influence software estimation : • Product size and complexity • Programmer ability • Available time • Required reliability • Level of technology

  8. Need of Cost Estimation • The software cost estimation problem deserve special attention due to following reasons. 1.Uniqueness of software product:- • There are no two identical system or project. • New specifications, new development tools and designs methodologies, new hardware and software platform. 2.Large size of software :- • Software become complex and large.

  9. Need of Cost Estimation (cont) Estimation mistakes (underestimate, overestimate) could cost a lot in terms of resource allocated to project. 3.Uncertainity of cost estimation:- • Uncertainty about cost is very high. • Mostly confine the estimation to single number but consider 1.most likely cost values. 2.its upper bound . 3.its lower bound.

  10. Effort Estimate Upper Estimate Estimate Lower Estimate Time (project Phases) Fig: Uncertainty Reduction over the course of S/W project

  11. Components of project cost • The principal components of project costs are: • Hardware costs. • Travel and training costs. • Effort costs (the costs of paying software engineers). • The dominant cost is the effort cost.

  12. Approaches of estimation • Two approaches are used 1. Top down cost estimation. 2. Bottom up cost estimation. Top down cost estimation:- • established by considering the overall functionality of the product and how that functionality is provided by interacting sub-functions. • Cost estimates are made on the basis of the logical function rather than the components implementing that function.

  13. Approaches of estimation (cont...) • Conflicts are resolved by how to meet the requirement in the presence of limited resources. • Bottom up cost estimation:- • The cost of each component is estimated • Overall cost is sum of contributing individual cost (or effort) of subsystems. • This method is straight forward but it will overlook some system level factor.

  14. Procedure of Estimation Estimation can be done by using following steps: 1.expert opinion 2.analogy 3.Decompose the problem. 4.PERT model 5.Mathematical model.

  15. Procedure of Estimation (cont....) 1. Expert opinion:- • Essential estimate • guesses are made based on some past personnel experience. • informal approach. 2. Analogy:- • formal approach • exercise on some judgment based on some previous projects.

  16. Procedure of Estimation (cont....) 3.Decompostion Technique:- • Decompose the problem as a set of smaller manageable subtasks. • It is done by considering two different point of views. • Decomposition of problem . • Decomposition of process • Summarization of estimation is done by taking average effect of weighted complexity of individual component • Decompositions is done in such a way that • the size is properly estimated. • Cost and effort required for each component can be accurately estimated. .

  17. Procedure of Estimation (cont....) 4.PERT Model:- • Effort is estimated based on worst best possible and most likely estimate . • Effort=(lower estimate+4 * most likely estimate +upper estimate )/ 6 Compensate for risk by developing a weighted estimate. • The individual estimate are derived using any analogy technique.

  18. Procedure of Estimation (cont....) 5.Mathematical models:- • Relationship relating some input measure with overall effort. • It provides formulas to predict effort as a function of LOC or FP. • The data used to support these models are derived from limited sample. • The Cocomo effort model is used.

  19. Procedure of Estimation (cont....) • Estimation using size:- • The size of software to be built can be estimated using a 1.Direct measure.(LOC) 2.Indirect measure.(FP)

  20. Procedure of Estimation (cont....) • Estimation using functional point:- • Focus on information domain values rather than software functions. • The project planner estimate external inputs ,external outputs,external inquiries,internal logical files ,external iterface file. • For this purpose complexity waiting factors is assumed to be average. • Estimated number of FP is derived • FPestimated=count-(total*0.65+0.01*∑Fi)

  21. Procedure of Estimation (cont....) • Estimation using Use-Cases:- • Developing an estimation approach by using Use-cases is problematic for the following reasons. • No standard form of use cases. • Represents an external view of the software and are written in different level of abstraction. • Do not address the complexity of functions.

  22. Procedure of Estimation (cont....) • LOC(estimate)=N*LOCavg + {(Sa/Sh-1) + (Pa/Ph-1)}*LOCadjust. • Where N=actual no of use cases • LOCavg=historical average LOC per use case for this type of system. • Sa=actual senario per use case. • Sh=average senario per use case. • Pa=actual pages per use case. • Ph=average pages per use case for this type of system.

  23. COCOMO is well defined • It can be calibrated and produce more accurate estimates.

  24. start Identify Components Bound scope & Difficulty components components Size each component scope Guidelines S/W Requirements size Estimate Resources Estimate Resources scope Resources Resources Compare & Validate Estimate Handbook Handbook What-if Analysis Estimates What-if Analysis Allocate Resources Budgets Track & Refine Estimates Project Updates

  25. Estimation techniques • There are three categories of Estimation • Empirical estimation techniques • Heuristic techniques • Analytic estimation techniques

  26. OVERVIEW Of CATEGORIES • Empirical estimation techniques • it based on making educated guess of project parameters. • prior experience of similar project is helpful. • Example: Expert Judgment Techniques Delphi cost estimation techniques

  27. OVERVIEW Of CATEGORIES 2. Heuristic estimation techniques: • it assumes relationship b/w project parameters and modeled them using suitable mathematical expression. • Different heuristic estimation model can divided into two classes: • Single variable model :(e.g basic CoCoMo model) • Multivariable model :(e.g intermediate CoCoMo model)

  28. OVERVIEW Of CATEGORIES 3.Analytical estimation techniques: • it derive the required result starting with certain basic assumptions regarding the project. • unlike other two categories of techniques, it require scientific basis. • EXAMPLE: Halstead's software science

  29. THE CoCoMo MODEL

  30. CoCoMo model • COCOMO stands for COnstructive Cost Model. • It was developed by Barry Boehm in 1981. • COCOMO is one of the most widely used software estimation models in the world. • It is an open model, bcz all of the details are published. • it is used to model • effort required to develop software • project duration • cost

  31. CoCoMo model :some assumptions • Primary cost driver is the number of Delivered Source Instructions (DSI) developed by the project • COCOMO estimates assume that the project will enjoy good management by both the developer and the customer • Assumes the requirements specification is not substantiallychanged after the plans and requirements phase

  32. CoCoMo model :some assumptions( cont....) • COCOMO predicts the effort and schedule for a software product development based on inputs relating to the size of the software and a number of cost drivers that affect productivity

  33. Cost drivers • Cost drivers are those variables which influence the actual amount spent on any given project. • The cost drivers can vary from project to project . • One of the major Cost Drivers in many estimation models is the size of the software product

  34. Cost drivers (cont...) • The size of the software product: • is one of the major cost drivers in software development projects. • is also the weakest link in the estimation process. • Needs extra attention if an organization is developing its own model.

  35. The CoCoMo Model • The COCOMO model is a set of models which consider 3 development modes 3 levels

  36. CoCoMo : development modes • Three development modes are • Organic • Embedded • Semi-detached

  37. development modes

  38. CoCoMo: Model levels • COCOMO model levels: • Basic (model 1) : computes software development effort (and cost) as a function of program size expressed in estimated lines of code (LOC). • Intermediate(model 2) - model computes software developement effort as a function of program size and set of "costdivers" that include hardware, personnel, and project attributes • Advanced(model 3) -model incorporates all characteristics of the intermediate version with an assessment of the cost driver's impact on each step (analysis, design, etc.) of the software engineering process.

  39. BASIC COCOMO MODEL

  40. BASIC COCOMO MODEL • This model gives approximate estimates of • the software development effort and time • using only a single predictor variable (size in DSI)

  41. Basic CoCoMo model • The general equation of the basic COCOMO model is E = a1* [ (S)^b1] T = a2 *[ (E)^b2 ] Where: • E is total effort required to develop product in person-months (PM). • S is the estimated size of the software product in KLOC. • a1,a2,b1,b2 are constants for each category of software product (i.e development mode). • T is estimated time to develop software in months.

  42. No of person Working on Project. Time Person month curve

  43. Estimation of development effort • For three classes of software products, equation of estimating effort based on size are: organic : E = 2.4* [ (S)^1.05] (PM) Semi-detached : E = 3.0* [ (S)^1.12] (PM) embedded : E = 3.6* [ (S)^1.20] (PM)

  44. Estimation of development Time • For three classes of software products, equation of estimating development time based on effort are: organic : T = 2.5* [ (E)^0.38] (Months) Semi-detached: T = 2.5* [ (E)^0.35] (Months) embedded : T = 2.5* [ (E)^0.32] (Months)

  45. Effort Embedded Semidetached Organic KLOC EFFORT VS KLOC For Embedded,organic,semidedatched software

  46. Behaviour of graph • Observe that effort is superlinear in the size of product. • Thus effort required to develop a product increases rapidly with project size.

  47. DEVELOPMENT TIME Embedded semidetached Organic KLOC (size) Development time as a function of size

  48. Behavior of graph • Observe that development time is sublinear function of size of product. • size of product doubles but development time not doubles but rise moderately. • Parallel activities can be carried out simultaneously. • development time is roughly same for all categories which shows that there is more scope for parallel activities in system .

  49. Effort and duration also known as Nominial Effort and Nominial duration.

  50. Estimation of S/W maintenance • The formula of estimate s/w maintenance, EFFORT(maint)=ACT * EFFORT Where: ACT is annual change traffic i-e fraction of KLOC undergoing change during a year.

More Related