Alternative Software Size Measures for Cost Estimation

Slides:



Advertisements
Similar presentations
FPA – IFPUG CPM 4.1 Rules.
Advertisements

USE CASE – ATM EXAMPLE Actors: ATM Customer ATM Operator Use Cases: The customer can withdraw funds from a checking or savings account query the balance.
Estimation of Defects and Effort Requirements Engineering & Project Management Lecture.
CPSC 333: Foundations of Software EngineeringJ. Denzinger Small Test: Bank account manager System has to run on an automated teller machine. User must.
Information System Design IT60105 Lecture 3 System Requirement Specification.
Software project management (intro)
Predictive Modeling And Reporting Environment (PMRE) CS 552 Senior Design Architecture Review Presenting: Steve Su Ilya Chalyt Yuriy Stelmakh (Architect)
Lecture 2 Estimation-revisited Estimate size, then Estimate effort, schedule and cost from size Reuse, reuse, reuse CS 552.
CS 551 Estimation Fall December QSE Lambda Protocol Prospectus Measurable Operational Value Prototyping or Modeling sQFD Schedule, Staffing,
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
Copyright © The David Consulting Group, Inc. 1 UNDERSTANDING and EFFECTIVELY USING FUNCTIONAL MEASUREMENT Presented By The David Consulting Group.
Cmpe 589 Spring Software Quality Metrics Product  product attributes –Size, complexity, design features, performance, quality level Process  Used.
COCOMO Models Ognian Kabranov SEG3300 A&B W2004 R.L. Probert.
Estimation Why estimate? What to estimate? When to estimate?
Chapter 6 : Software Metrics
1 UseCase-based effort estimation of software projects TDT 4290 Customer-driven project IDI, NTNU, 14. Sept Bente Anda, Simula Research Lab., Oslo,
Csi315csi315 Client/Server Models. Client/Server Environment LAN or WAN Server Data Berson, Fig 1.4, p.8 clients network.
1 Estimation Function Point Analysis December 5, 2006.
Lecture 4 Software Metrics
Cost Estimation. Problem Our ability to realistically plan and schedule projects depends on our ability to estimate project costs and development efforts.
Project Planning and Estimation
Software complexity estimation by Adam Bondarowicz by Adam Bondarowicz.
Function Point Analysis. Function Points Analysis (FPA) What is Function Point Analysis (FPA)? Function points are a standard unit of measure that represent.
SEG3300 A&B W2004R.L. Probert1 COCOMO Models Ognian Kabranov.
Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA Bellevue.
1 Graph Coverage (6). Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Section
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
Effort Estimation In WBS,one can estimate effort (micro-level) but needed to know: –Size of the deliverable –Productivity of resource in producing that.
Functional Size Measurement Methodologies. What is FSM ? Definitions: Functional Size: A size of the software derived by quantifying the Functional User.
540f07cost12oct41 Reviews Postmortem u Surprises? u Use white background on slides u Do not zip files on CD u Team leader should introduce team members.
Personal Estimation with PROBE CS3300 Fall Process Everybody has one !!! Formal – Completely defined and documented Informal – Just the way things.
FUNCTION POINT ANALYSIS & ESTIMATION
Lecture Outline Monday 23 rd February (Week 4) 3 – 3:10pm Review of Requirements Eng. and use cases 3:10 – 3:40pm Exercise on Use Case 3:40-4:40 Class.
Cost9b 1 Living with Function Points Bernstein and Lubashevsky Text pp
Estimation Questions How do you estimate? What are you going to estimate? Where do you start?
Cost23 1 Question of the Day u Which of the following things measure the “size” of the project in terms of the functionality that has to be provided in.
E- Patient Medical History System
THE FAMU-CIS ALUMNI SYSTEM
The Work Breakdown Structure and Project Estimation
Project Management Chapter 3.
Paul Ammann & Jeff Offutt
Introduction to Computers, the Internet and the World Wide Web
Structured Analysis and Design Technique
Testing Techniques.
Foundations of Information Systems in Business
RET Rules One of the following rules applies when counting RETs:
Storyboarding and Game Design SBG, MBG620 Full Sail University
Dynamic Modeling of Banking System Case Study - I
Prepared by Manish Sharma Manish Kumar Kushwaha
Application of SysML to LLRF system design M.Grecki
Cost Estimation with COCOMO II
Alternative Software Size Measures for Cost Estimation
Cost Estimation with COCOMO II
Software Size Measures for Cost Estimation
Paul Ammann & Jeff Offutt
Function Point.
Chapter 5: Software effort estimation- part 2
Cost Estimation with COCOMO II
Software Metrics “How do we measure the software?”
Cost Estimation with COCOMO II
LECTURE 14: Software Metrics
More on Estimation In general, effort estimation is based on several parameters and the model ( E= a + b*S**c ): Personnel Environment Quality Size or.
COCOMO Models.
Cost Estimation with COCOMO II
Cost Estimation with COCOMO II
Cost Estimation with COCOMO II
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Software Sizing and Costing
Real-Time Structured Analysis and Design Technique (RSTAD)
COCOMO MODEL.
Presentation transcript:

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

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 = .91 + .01*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

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

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

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

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

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

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

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 1 - 4 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

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

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

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

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

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

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

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

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

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

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

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

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

Agile Methodology 9/19/2016 ©USC-CSSE

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

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

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

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