Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Size Measures for Cost Estimation

Similar presentations


Presentation on theme: "Software Size Measures for Cost Estimation"— Presentation transcript:

1 Software Size Measures for Cost Estimation
CSCI 577a Software Engineering I Fall 2017 Kan Qi, USC

2 Outline The Commonly Used Size Metrics Effort Estimation
Local Calibration Workshop 11/06/2017 ©USC-CSSE

3 Software Size Measures
Source Lines of Code (SLOC) Function Points (FP) Use Case Points (UCP) Story Points 11/06/2017 ©USC-CSSE

4 COCOMO Effort Formulation
# of cost drivers Effort (person-months) = A (Size)E P EMi i=1 Where: A is a constant derived from historical project data (currently A = 2.94 in COCOMOII.2000) Size is in KSLOC (thousand source lines of code), or converted from function points or object points E is an exponent for the diseconomy of scale dependent on five additive scale factors according to b = *SSFi, where SFi is a weighting factor for ith scale factor EMi is the effort multiplier for the ith cost driver. The geometric product results in an overall effort adjustment factor to the nominal effort. 11/06/2017 ©USC-CSSE

5 Software Estimation Accuracy
4x 2x Relative Size Range x 0.5x SLOC 0.25x Feasibility Plans/Rqts. Design/Architecture Develop and Test Need Estimates Here Phases and Milestones 11/06/2017 ©USC-CSSE

6 Function Points EIF EI EI EO EO EQ EQ ILF EI EO EQ 11/06/2017
©USC-CSSE

7 Function Points (1/3) Data Functions: Transaction Functions: L : low
EI – External Input EO – Ext. Output EQ – Ext. Queries Classified by: DET – Data Element Type FTR - File Type Referenced Data Functions: Data Function: ILF – Internal Logical File EIF – External Interface File Classified by: DET – Data Element Type RET - Record Element Type L : low A:average H: high 9/19/2016 ©USC-CSSE

8 Function Points (1/3) 11/06/2017 ©USC-CSSE

9 Function Points (2/3) General System Characteristics
General System Characteristics Cntd. Installation ease Operational ease Multiple sites Facilitate change Data communications Distributed data processing Performance Heavily used configuration Transaction rate Online data entry End-user efficiency Online update Complex processing Reusability Value Adjustment Factor (VAF) 11/06/2017 ©USC-CSSE

10 Function Points (3/3) Application Function Points (AFP)
Development Function Points (DFP): Enhancement Function Points (EFP): 11/06/2017 ©USC-CSSE

11 Software Estimation Accuracy
4x 2x Relative Size Range x 0.5x Function Points 0.25x Feasibility Plans/Rqts. Design/Architecture Develop and Test Need Estimates Here Phases and Milestones 11/06/2017 ©USC-CSSE

12 Use Case - Written Brief Description
Bank Customer uses the ATM to withdraw money. Actors Bank Customer; Bank Preconditions There is an active network connection to the bank. The ATM has cash available Basic Flow Bank Customer inserts ATM/Debit card Validate user ATM displays and prompts for account Bank Customer selects account ATM displays alternatives Bank Customer selects withdraw option ATM prompts for amount Bank Customer enters an amount ATM sends info to Bank as transaction 11/06/2017 ©USC-CSSE

13 Use Case – Written Cntd. Basic Flow Money is dispensed
ATM/Debit card is returned Receipt is printed Alternative Flows 2a. If user is not validated, then return error 8a. If Bank Customer enters an amount that cannot be created with the type of cash in the ATM machine, display a message that amount must be in multiple of 20. Ask Bank Customer to re-enter amount. 8b. If Bank Customer enters an amount that exceeds the withdrawal limit, display warning message and ask Bank Customer to re-enter amount. 8c. If Bank Customer enters an amount that exceeds the amount available in account, return warning message and ask Customer to re-enter. 11/06/2017 ©USC-CSSE

14 Use Case - Diagram Withdraw Cash Transfer Funds Deposit Funds
Bank Customer Deposit Funds Bank Refill Machine Maintenance Person 11/06/2017 ©USC-CSSE

15 Use Case Points (1/4) Use Case Complexity # of Transactions Weight
Simple 3 or fewer 5 Average 4 to 7 10 Complex More than 7 15 Unadjusted Use Case Weight(UUCW): Actor Complexity Actor Type Weight Simple System through API 1 Average System through protocol Person through text-based interface 2 Complex Person through GUI 3 Unadjusted Actor Weight(UAW): 11/06/2017 ©USC-CSSE

16 Use Case Points (2/4) Tech-nical Factor Description Weight T1
Distributed System 2 T2 Performance Objectives T3 End-user Efficiency 1 T4 Complex Processing T5 Reusable Code T6 Easy to Install 0.5 T7 Easy to Use Tech-nical Factor Description Weight T8 Portable 2 T9 Easy to Change 1 T10 Concurrent Use T11 Security T12 Access for 3rd Parties T13 Training Needs For each of the 13 Factors, assess the project and rate from 0 (irrelevant) to 5 (very important). Impact of each factor = Impact Weight (W)× Rated Value (A) 11/06/2017 ©USC-CSSE

17 Use Case Points (3/4) Environ-mental Factor Description Weight E1
Familiar with Development Process 1.5 E2 Application Experience 0.5 E3 Object-Oriented Experience 1 E4 Lead Analyst Capability E5 Motivation E6 Stable Requirements 2 E7 Part-time Staff -1 E8 Difficult Programming Language For each of the 8 Factors, assess the project and rate from 0 (irrelevant) to 5 (very important). Impact of each factor = Impact Weight (W)× Rated Value (A) 11/06/2017 ©USC-CSSE

18 Use Case Points (4/4) Unadjusted Use Case Point(UUCP)
Unadjusted Use Case Weight (UUCW) + Unadjusted Actor Weight (UAW) Technical Complexity Factor (TCF) Environment Complexity Factor (EF) Use Case Points UUCPx TCF x EF 11/06/2017 ©USC-CSSE

19 Software Estimation Accuracy
4x 2x Relative Size Range x 0.5x Use Case Points 0.25x Feasibility Plans/Rqts. Design/Architecture Develop and Test Need Estimates Here Phases and Milestones 11/06/2017 ©USC-CSSE

20 Agile Methodology 11/06/2017 ©USC-CSSE

21 User Stories Structure Example
As a <Type of User>, I want <To Perform Some Task>, So that <I can achieve some Goal / Benefit / Value> As a Customer, I want to withdraw cash from an ATM, So that I don’t have to wait in line at the Bank 11/06/2017 ©USC-CSSE

22 Story Points Planning Poker Development Team Planning Poker Cards
Fibonacci Series (1, 2, 3, 5, 8, 13, 21, …) Estimate Relative Effort 11/06/2017 ©USC-CSSE

23 Software Estimation Accuracy
4x 2x Relative Size Range x 0.5x Story Points 0.25x Feasibility Plans/Rqts. Design/Architecture Develop and Test Need Estimates Here Phases and Milestones 11/06/2017 ©USC-CSSE

24 Software Estimation Accuracy
4x 2x Relative Size Range x Use Case Points 0.5x Function Points Story Points SLOC 0.25x Feasibility Plans/Rqts. Design/Architecture Develop and Test Need Estimates Here Phases and Milestones 11/06/2017 ©USC-CSSE

25 Effort Estimation SLOC Use Case Points Function Points Story Points
Empirically calibrated model, e.g. COCOMO II. Use Case Points 20 person-hours per UCP Function Points 4 ~ 15 person-hours per FP Story Points Decided based on the referenced task 11/06/2017 ©USC-CSSE

26 Local Calibration Productivity Index Simple Linear Regression
Using the productivity of past projects to estimate the effort of the current project size. The most simple but widely used. Simple Linear Regression Building a simple regression model to explain the linear relationship between a size metric as the predictor and effort (PM) as the response. The Bayesian approach to combine domain knowledge and empirically calibrated results. Used in COCOMO II’s calibration. 11/06/2017 ©USC-CSSE

27 Evaluation Criteria Coefficient of determination (R^2) :
Used to evaluate goodness of fit. Mean Magnitude Relative Error (MMRE) : Used to evaluate predication accuracy Commonly accepted criterion: MMRE <= 25% Percentage Relative Error Deviation (PRED) Used to evaluate predication accuracy. Commonly accepted criterion: PRED(.25) >= 75% 11/06/2017 ©USC-CSSE

28 References [1] Anandi Hira, Alternative Size Measures for Software Estimation [2]Ray Madachy, Capability Maturity Model – Integrated (CMMI) 11/06/2017 ©USC-CSSE

29 Workshop Choose a use case and apply the counting process of UCP to evaluate UUCW, UAW, TCF, and EF to Calculate UCPs. ~ 12 minutes. Present your counting results and estimated effort for this use case. ~ 3-5 minutes. Briefly introduce the use case you choose. Present the evaluation results. How many person-hours are estimated. Do you think the estimate is in line with your experience? 11/06/2017 ©USC-CSSE


Download ppt "Software Size Measures for Cost Estimation"

Similar presentations


Ads by Google