Download presentation
Presentation is loading. Please wait.
Published byClyde Benson Modified over 6 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.