Presentation is loading. Please wait.

Presentation is loading. Please wait.

TCS2411 Software Engineering1 Software Cost Estimation “What do you need for the project?”

Similar presentations


Presentation on theme: "TCS2411 Software Engineering1 Software Cost Estimation “What do you need for the project?”"— Presentation transcript:

1

2 TCS2411 Software Engineering1 Software Cost Estimation “What do you need for the project?”

3 TCS2411 Software Engineering2 Lecture Objectives zTo describe different methods of estimation for a software project zTo understand the factors that affects the estimation of a software development project

4 TCS2411 Software Engineering3 What Do You Estimate? zTime (schedule) zResources zCost

5 TCS2411 Software Engineering4 Three-point Estimation Technique zEstimate 3 values For each function or count for each information domain value yOptimistic value (s opt ) yMost likely value (s m ) yPessimistic value (s pess ) zCompute the expected value (EV) for the estimation variable (size), S is:

6 TCS2411 Software Engineering5 Time Estimates Example

7 TCS2411 Software Engineering6 Project Schedule Calculation of the project duration and critical path uses the following times: zEarliest Start Time (EST) yEarliest possible time an activity can begin without interfering with the completion of preceding activity zLatest Finish Time (LFT) yLatest time an activity can be completed without delaying the end of the project

8 TCS2411 Software Engineering7 Calculating Earliest Start Times zStart with the first node, which has time 0 zIf only one arrow leads into a node, EST at that node is EST for previous node + time estimate AB EST=0 EST=5EST=7 5 2

9 TCS2411 Software Engineering8 Calculating Earliest Start Times (Continued) zIf more than one arrow leads to a node, the EST of the node is the largest time value of the separate paths C D EST=3 EST=7 EST=5 2 3

10 TCS2411 Software Engineering9 Project Duration zWhen all the ESTs have been calculated, the EST at the last node is the project duration zThe project duration is also the LFT of the last node zThe calculation is then ‘reversed’ to previous nodes for the LFT values

11 TCS2411 Software Engineering10 Calculating Latest Finish Times zStart with the last node, which has LFT = project duration zIf only one arrow originates from a node, LFT at that node is LFT for next node - time estimate EF LFT=6 LFT=9LFT=10 3 1

12 TCS2411 Software Engineering11 Calculating Latest Finish Times (Continued) zIf more than one arrow originates at a node, the LST of the node is the smallest time value of the separate paths G H LFT=12 LFT=5 LFT=10 5 3

13 TCS2411 Software Engineering12 Activity Times zAvailable time = LFT - EST yExample, Available time for X = 12 - 5 = 7 zTotal float = Available time - time estimate yExample, Float for X = 7 - 4 = 3 zThis means that activity X has a ‘slack’ of 3 ycan start late, within 3 days/weeks X LFT=12 EST=5 4

14 TCS2411 Software Engineering13 Critical Path zAll activities with 0 float time form the critical path of the project zAny delay on these activities will directly affect the project duration

15 TCS2411 Software Engineering14 Critical Path Example 2 1 G A 3 4 35 6 F E D C B H 7 8 10 7 3 6 6 EST LFT 0 8 11 17 18 20 23

16 TCS2411 Software Engineering15 Software Cost Factors zProgrammer Ability zProduct Complexity zProduct Size zAvailable Time zRequired Level of Reliability zLevel of Technology

17 TCS2411 Software Engineering16 Estimation Options zExpert Judgment yEstimation done by panel of experts zBottom-Up Approach yProject separated into components yEstimate components, then combined zAlgorithmic Models yUse of software metrics, formulas yHistorical models

18 TCS2411 Software Engineering17 Expert Judgment zOne or more experts are consulted to provide estimates, given information on the software project zInherently top-down approach zCommon approach is to have a panel of experts, who will agree on estimates by consensus zMay be affected by group dynamics zInteresting variation: Delphi technique

19 TCS2411 Software Engineering18 Delphi Technique zDeveloped by Rand Corporation zCoordinator provide estimator information zEstimator provides estimation individually, without discussion with each other zCoordinator summarises estimations and other responses, distributes for another round of estimation zEstimation repeated as much as required

20 TCS2411 Software Engineering19 Bottom-Up Approach zProduct or requirements broken down into smaller components zEstimates done for components, then combined for overall estimate zApplies to Work Breakdown Structure, or other similar methods of decomposing the project

21 TCS2411 Software Engineering20 Bottom-Up Approach (Continued) zEasier to estimate, more accurate and detailed estimate can be done zHowever, the product may be more than the total of the components zAdditional cost may be required to consolidate the components

22 TCS2411 Software Engineering21 Algorithmic Models zCosts are analyzed using mathematical formulae linking costs with metrics zCommon methods use kLOC zExample: 3-point estimation zDetailed studies of software project provides empirical estimation models zExample: COCOMO

23 TCS2411 Software Engineering22 Constructive Cost Model (COCOMO) zIntroduced by Barry Boehm zWidely used for effort and cost estimation z3 models: yBasic COCOMO yIntermediate COCOMO yAdvanced COCOMO zSelect a model for estimation, identify ‘mode’ and estimate kLOC, and effort (and cost) is calculated from the model

24 TCS2411 Software Engineering23 Project Categories

25 TCS2411 Software Engineering24 Basic COCOMO zComputes software development effort (and cost) as function of program size expressed in estimated lines of code zModel:

26 TCS2411 Software Engineering25 Basic COCOMO Equations where zE is effort in person-months zD is development time in months zkLOC is estimated number of lines of code

27 TCS2411 Software Engineering26 Intermediate COCOMO zcomputes software development effort as a function of program size and a set of “cost drivers” that include subjective assessments of product, hardware, personnel, and project attributes zGive rating to 15 attributes, from “very low” to “extra high”, find effort multipllier (from table) and product of all effort multipliers gives an effort adjustment factor (EAF)

28 TCS2411 Software Engineering27 Cost Driver Attributes zProduct attributes yRequired reliability yDatabase size yProduct complexity zComputer attributes yExecution time constraint yMain storage constraint yVirtual machine volatility yComputer turnaround time

29 TCS2411 Software Engineering28 Cost Driver Attributes (Continued) zPersonnel attributes yAnalyst capability, Programmer capability yApplications experience yVirtual machine experience yProgramming language experience zProject attributes yUse of modern programming practices yUse of software tools yRequired development schedule

30 TCS2411 Software Engineering29 Intermediate COCOMO Equation zwhere zE is effort in person-months, zkLOC is estimated number of lines of code

31 TCS2411 Software Engineering30 Advanced COCOMO zIncorporates all characteristics of intermediate COCOMOwith an assessment of the cost driver’s impact on each step of software engineering process

32 TCS2411 Software Engineering31 Estimation Issues zHistorical Data zAccuracy zEstimation Technique zAutomation zImproving the Estimate

33 TCS2411 Software Engineering32 References z“Software Engineering: A Practitioner’s Approach” 5th Ed. by Roger S. Pressman, Mc-Graw-Hill, 2001 z“Software Engineering” by Ian Sommerville, Addison-Wesley, 2001


Download ppt "TCS2411 Software Engineering1 Software Cost Estimation “What do you need for the project?”"

Similar presentations


Ads by Google