Presentation is loading. Please wait.

Presentation is loading. Please wait.

Alternative Software Size Measures for Cost Estimation

Similar presentations


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

1 Alternative Software Size Measures for Cost Estimation
CS 510 Software Management and Economics Fall 2016 Anandi Hira, USC

2 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. 9/19/2016 ©USC-CSSE

3 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 9/19/2016 ©USC-CSSE

4 Function & SNAP Points EIF EI EI EO EO EQ EQ ILF EI EO EQ
EI – External Input EO – Ext. Output EQ – Ext. Queries ILF – Internal Logical File EIF – External Interface File DET – Data Element Types ILF EI EO EQ 9/19/2016 ©USC-CSSE

5 Function Points (1/3) 9/19/2016 ©USC-CSSE

6 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) 9/19/2016 ©USC-CSSE

7 Function Points (3/3) New Development Projects Enhancement Projects
Total Project after Enhancements 9/19/2016 ©USC-CSSE

8 Subcategory Rating Method Complexity Multiplier Factor
SNAP Points (1/5) Subcategory Subcategory Rating Method Complexity Multiplier Factor Low Average High Total Data Operations Data Entry Validation # of nesting levels in longest chain 1 – 2 3 – 5 6 + 2 * #DET 3 * #DET 4 * #DET Logical Operations # of File Types Referenced 0 – 3 4 – 9 10 + 6 * #DET 10 * #DET Mathematical Operations 7 * #DET Internal Data Movement Data Configuration # of records configured 1 – 10 11 – 29 30 + 8 * #DET 12 * #DET 9/19/2016 ©USC-CSSE

9 Subcategory Rating Method Complexity Multiplier Factor
SNAP Points (2/5) Subcategory Subcategory Rating Method Complexity Multiplier Factor Low Average High Total Interface Design User Interface # of properties < 10 10 – 15 16 + 2 * #items 3 * #items 4 * #items Help Methods Help Method type and # of items User Manual Online/Context Online + Context 1 * #items Multiple Input Methods # DETs and # of additional input methods DETs 5-15 DETs 16 + DETs 3 * #meth. 4 * #meth. 6 * #meth. Multiple Output Methods # DETs and # of additional output methods 9/19/2016 ©USC-CSSE

10 SNAP Points (3/5) Subcategory Subcategory Rating Method
Complexity Multiplier Factor Low Average High Total Technical Environment Multiple Platforms # of platforms 2 3 4 + Same Family Diff. Family Internet Browsers 20 40 10 30 60 80 Database Technology # of DETs and database operations 1-19 DETs 20-50 DETs 51 + DETs 6 * #oper 9 * #oper 12 * #oper Batch Processes # file types referenced 1 – 3 4 – 9 10 + 4 * #DET 6 * #DET 10 * #DET 9/19/2016 ©USC-CSSE

11 Subcategory Rating Method Complexity Multiplier Factor
SNAP Points (4/5) Subcategory Subcategory Rating Method Complexity Multiplier Factor Low Average High Total Architecture Component Based Software Type of components and # of unique components In-house 3rd party N/A 3 * #comp 4 * #comp Multiple Input / Output Interfaces # DETs and # of additional interfaces 1 – 5 6 – 19 20 + 3 * # interfaces 4 * # interfaces 6 * # interfaces 9/19/2016 ©USC-CSSE

12 SNAP Points (5/5) New Development Projects Enhancement Projects
Total Project after Enhancements 9/19/2016 ©USC-CSSE

13 Software Estimation Accuracy
4x 2x Relative Size Range x 0.5x Function & SNAP Points 0.25x Feasibility Plans/Rqts. Design/Architecture Develop and Test Need Estimates Here Phases and Milestones 9/19/2016 ©USC-CSSE

14 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 9/19/2016 ©USC-CSSE

15 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. 9/19/2016 ©USC-CSSE

16 Use Case - Diagram Withdraw Cash Transfer Funds Deposit Funds
Bank Customer Deposit Funds Bank Refill Machine Maintenance Person 9/19/2016 ©USC-CSSE

17 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 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 9/19/2016 ©USC-CSSE

18 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 9/19/2016 ©USC-CSSE

19 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 9/19/2016 ©USC-CSSE

20 Use Case Points (4/4) Unadjusted Use Case Points Use Case Complexity
+ Actor Complexity Technical Complexity Factor (TCF) Environment Complexity Factor (EF) Unadj. Use Case Points x TCF x EF Use Case Points 9/19/2016 ©USC-CSSE

21 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 9/19/2016 ©USC-CSSE

22 Agile Methodology 9/19/2016 ©USC-CSSE

23 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 9/19/2016 ©USC-CSSE

24 Story Points Planning Poker Development Team Planning Poker Cards
Fibonacci Series (1, 2, 3, 5, 8, 13, 21, …) Estimate Size (not effort) 9/19/2016 ©USC-CSSE

25 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 9/19/2016 ©USC-CSSE

26 Software Estimation Accuracy
4x 2x Relative Size Range x Use Case Points 0.5x Function & SNAP Points Story Points SLOC 0.25x Feasibility Plans/Rqts. Design/Architecture Develop and Test Need Estimates Here Phases and Milestones 9/19/2016 ©USC-CSSE


Download ppt "Alternative Software Size Measures for Cost Estimation"

Similar presentations


Ads by Google