Download presentation
Presentation is loading. Please wait.
1
Software Sizing and Costing
Anandi Hira CS 510, Fall 2018
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), used since 1960s 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. Agenda at this point - quick review of COCOMO, and each of the models I am going to bring up (IFPUG FPs, SNAP, CFPs, UCPs, SPs) Fall 2018 ©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 Fall 2018 ©USC-CSSE
4
SLOC Pros and Cons Pros Cons Low-Level representation of software size
Seems objective High correlation with effort Easy to calculate at end of project (automate) Lots of historical data available Language-dependent Difficult to impossible to estimate early in lifecycle Different code counting standards/practices Fall 2018 ©USC-CSSE
5
IFPUG Function Points (FPs) (1979)
EI EIF EO EI EO EQ EI – External Input EO – Ext. Output EQ – Ext. Queries ILF – Internal Logical File EIF – External Interface File DET – Data Element Types RET – Record Element Types EQ ILF EI EO EQ Fall 2018 ©USC-CSSE
6
Software Estimation Accuracy
4x 2x Relative Size Range x 0.5x IFPUG FPs 0.25x Feasibility Plans/Rqts. Design/Architecture Develop and Test Need Estimates Here Phases and Milestones Fall 2017 ©USC-CSSE
7
IFPUG Function Points Pros and Cons
Easy to calculate towards beginning to mid-lifecycle Language independent Objective – everyone should get same values Decent amount of historical data available Difficult to calculate at end of project Difficult to automate calculation Requires manual effort to calculate/estimate Lacks low-level of granularity Not applicable to all types of software Metric not intuitive/easy to understand and calculate Fall 2018 ©USC-CSSE
8
Use Case – Diagram (1986) Withdraw Cash Transfer Funds Deposit Funds
Bank Customer Deposit Funds Bank Refill Machine Maintenance Person Fall 2018 ©USC-CSSE
9
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 Fall 2018 ©USC-CSSE
10
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. … Fall 2018 ©USC-CSSE
11
Use Case Points (1993) Actor Complexity Use Case Complexity
Brief Description Actors Preconditions Basic Flow Alternative Flows Actor Complexity Use Case Complexity Fall 2018 ©USC-CSSE
12
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 Fall 2017 ©USC-CSSE
13
Use Case Points Pros and Cons
Easy to calculate towards beginning to mid-lifecycle Language independent Objective – everyone should get same values Uses lifecycle deliverable – requirements gathering Automation tools exist Difficult to calculate at end of project Written Use Cases are tedious to write Lacks low-level of granularity Metric definition not based on or validated with real data Fall 2018 ©USC-CSSE
14
COSMIC Function Points (1999)
Fall 2018 ©USC-CSSE
15
Software Estimation Accuracy
4x 2x Relative Size Range x 0.5x COSMIC Methods 0.25x Feasibility Plans/Rqts. Design/Architecture Develop and Test Need Estimates Here Phases and Milestones Fall 2017 ©USC-CSSE
16
COSMIC Function Points Pros and Cons
Easy to calculate towards beginning to mid-lifecycle Language independent Objective – everyone should get same values Decent amount of historical data available – but less than IFPUG Function Points Difficult to calculate at end of project Difficult to automate calculation Requires manual effort to calculate/estimate Fall 2018 ©USC-CSSE
17
Agile Methodology (2001) Fall 2018 ©USC-CSSE
18
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 Fall 2018 ©USC-CSSE
19
Story Points (2004) Planning Poker Development Team
Planning Poker Cards Fibonacci Series (1, 2, 3, 5, 8, 13, 21, …) Estimate Size (not effort) Fall 2018 ©USC-CSSE
20
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 Fall 2018 ©USC-CSSE
21
Story Points Pros and Cons
Easy to calculate towards beginning of lifecycle Language independent Uses lifecycle deliverable – requirements gathering Involve team to estimate size – opportunity to understand requirements Not objective – varies across teams Lacks low-level of granularity Not designed to estimate effort Low correlation with effort Fall 2018 ©USC-CSSE
22
Software Estimation Accuracy
4x 2x Relative Size Range x IFPUG & COSMIC Methods 0.5x Use Case Points Story Points SLOC 0.25x Feasibility Plans/Rqts. Design/Architecture Develop and Test Need Estimates Here Phases and Milestones Fall 2018 ©USC-CSSE
23
How To Calculate Sizes IFPUG Function Points: http://www.ifpug.org/
Requires membership to get access to recent counting manual, but can get older version Use Case Points: COSMIC Function Points: Story Points: Fall 2018 ©USC-CSSE
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.