Скачать презентацию University of Southern California Center for Systems and Скачать презентацию University of Southern California Center for Systems and

a64d3454c664c8084e13c138c6f810eb.ppt

  • Количество слайдов: 29

University of Southern California Center for Systems and Software Engineering Alternative Software Size Measures University of Southern California Center for Systems and Software Engineering Alternative Software Size Measures for Cost Estimation CS 510 Software Management and Economics Fall 2017 Anandi Hira, USC

University of Southern California Center for Systems and Software Engineering COCOMO Effort Formulation # University of Southern California Center for Systems and Software Engineering 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. Fall 2017 ©USC-CSSE 2

University of Southern California Center for Systems and Software Engineering Software Estimation Accuracy 4 University of Southern California Center for Systems and Software Engineering Software Estimation Accuracy 4 x 2 x Relative x Size Range 0. 5 x SLOC 0. 25 x Feasibility Need Estimates Here Fall 2017 Plans/Rqts. Design/Archit ecture Develop and Test Phases and Milestones ©USC-CSSE 3

University of Southern California Center for Systems and Software Engineering IFPUG Function & SNAP University of Southern California Center for Systems and Software Engineering IFPUG Function & SNAP Points EI EIF EO EI 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 Fall 2017 EO EQ ILF EI EO EQ ©USC-CSSE 4

University of Southern California Center for Systems and Software Engineering IFPUG Function Points (1/4) University of Southern California Center for Systems and Software Engineering IFPUG Function Points (1/4) 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 Fall 2017 Complexity for ILFs and EIFs 1 19 –DETs 20 50 –DETs > 50 DETs 1 RET Low Average 2 5 –RETs Low Average High > 5 RETs Average High ©USC-CSSE 5

University of Southern California Center for Systems and Software Engineering IFPUG Function Points (2/4) University of Southern California Center for Systems and Software Engineering IFPUG Function Points (2/4) Complexity for EIs 1 4 –DETs 5 15 –DETs > 15 DETs 0 1 –FTRs Low Average 2 3 –FTRs Low Average High > 3 FTRs Average High Complexity for EOs and EQs 1 5 –DETs 6 19 –DETs > 19 DETs 0 1 –FTRs Low Average 2 3 –FTRs Low Average High > 3 FTRs Average High FTR –File Types Referenced Fall 2017 ©USC-CSSE 6

University of Southern California Center for Systems and Software Engineering IFPUG Function Points (3/4) University of Southern California Center for Systems and Software Engineering IFPUG Function Points (3/4) Fall 2017 ©USC-CSSE 7

University of Southern California Center for Systems and Software Engineering IFPUG Function Points (4/4) University of Southern California Center for Systems and Software Engineering IFPUG Function Points (4/4) • New Development Projects • Enhancement Projects • Total Project after Enhancements Fall 2017 ©USC-CSSE 8

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

University of Southern California Center for Systems and Software Engineering IFPUG SNAP Points (2/5) University of Southern California Center for Systems and Software Engineering IFPUG SNAP Points (2/5) Subcategory Rating Method Complexity Multiplier Factor Low Average High Total Interface Design User Interface Multiple Output Fall 2017 Methods 10 – 15 16 + 3 * #items 4 * #items User Manual Online/Co ntext Online + Context 1 * #items Multiple Input Methods < 10 2 * #items Help Methods # of properties 2 * #items 3 * #items # DETs and # of additional input methods 1 - 4 DETs 5 -15 DETs 16 + DETs 3 * #meth. 4 * #meth. 6 * #meth. # DETs and # of additional output methods 1 - 4 DETs 5 -15 DETs 16 + DETs 4 * #meth. 6 * #meth. Help Method type and # of items ©USC-CSSE 3 * #meth. 10

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

University of Southern California Center for Systems and Software Engineering IFPUG SNAP Points (4/5) University of Southern California Center for Systems and Software Engineering IFPUG SNAP Points (4/5) Subcategory Rating Method Complexity Multiplier Factor Low Average High Total Architecture Component Based Software Type of components and # of unique components Multiple Input / # DETs and # of Output additional interfaces Interfaces Fall 2017 In-house 3 rd party N/A 3 * #comp 4 * #comp 1– 5 6 – 19 20 + 3*# interfaces 4*# interfaces 6*# interfaces ©USC-CSSE 12

University of Southern California Center for Systems and Software Engineering IFPUG SNAP Points (5/5) University of Southern California Center for Systems and Software Engineering IFPUG SNAP Points (5/5) • New Development Projects • Enhancement Projects • Total Project after Enhancements Fall 2017 ©USC-CSSE 13

University of Southern California Center for Systems and Software Engineering COSMIC Function Points (1/2) University of Southern California Center for Systems and Software Engineering COSMIC Function Points (1/2) Fall 2017 ©USC-CSSE 14

University of Southern California Center for Systems and Software Engineering COSMIC Function Points (2/2) University of Southern California Center for Systems and Software Engineering COSMIC Function Points (2/2) Fall 2017 ©USC-CSSE 15

University of Southern California Center for Systems and Software Engineering Software Estimation Accuracy 4 University of Southern California Center for Systems and Software Engineering Software Estimation Accuracy 4 x 2 x Relative x Size Range IFPUG & COSMIC Methods 0. 5 x 0. 25 x Feasibility Need Estimates Here Fall 2017 Plans/Rqts. Design/Archit ecture Develop and Test Phases and Milestones ©USC-CSSE 16

University of Southern California Center for Systems and Software Engineering Use Case - Written University of Southern California Center for Systems and Software Engineering 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 1. 2. 3. 4. 5. 6. 7. 8. 9. Fall 2017 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 ©USC-CSSE 17

University of Southern California Center for Systems and Software Engineering Use Case – Written University of Southern California Center for Systems and Software Engineering Use Case – Written Cntd. Basic Flow 10. Money is dispensed 11. ATM/Debit card is returned 12. Receipt is printed Alternative Flows 2 a. If user is not validated, then return error 8 a. 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. 8 b. If Bank Customer enters an amount that exceeds the withdrawal limit, display warning message and ask Bank Customer to re-enter amount. 8 c. If Bank Customer enters an amount that exceeds the amount available in account, return warning message and ask Customer to re-enter. … Fall 2017 ©USC-CSSE 18

University of Southern California Center for Systems and Software Engineering Use Case - Diagram University of Southern California Center for Systems and Software Engineering Use Case - Diagram Withdraw Cash Bank Customer Transfer Funds Deposit Funds Maintenance Person Fall 2017 Bank Refill Machine ©USC-CSSE 19

University of Southern California Center for Systems and Software Engineering Use Case Points (1/4) University of Southern California Center for Systems and Software Engineering 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 textbased interface 2 Complex Person through GUI 3 Fall 2017 ©USC-CSSE 20

University of Southern California Center for Systems and Software Engineering Use Case Points (2/4) University of Southern California Center for Systems and Software Engineering Use Case Points (2/4) Tech- Description nical Factor Weight T 1 Distributed System 2 T 2 Performance Objectives 2 T 3 End-user Efficiency 1 T 4 Complex Processing 1 T 5 Reusable Code 1 T 6 Easy to Install 0. 5 T 7 Easy to Use 0. 5 Fall 2017 Weight T 8 Portable 2 T 9 Easy to Change 1 T 10 Concurrent Use 1 T 11 Security 1 T 12 Access for 3 rd Parties 1 T 13 ©USC-CSSE Tech- Description nical Factor Training Needs 1 21

University of Southern California Center for Systems and Software Engineering Use Case Points (3/4) University of Southern California Center for Systems and Software Engineering Use Case Points (3/4) Environmental Factor E 1 Familiar with Development Process 1. 5 E 2 Application Experience 0. 5 E 3 Object-Oriented Experience 1 E 4 Lead Analyst Capability 0. 5 E 5 Motivation 1 E 6 Stable Requirements 2 E 7 Part-time Staff -1 E 8 Fall 2017 Description Weight Difficult Programming Language -1 ©USC-CSSE 22

University of Southern California Center for Systems and Software Engineering Use Case Points (4/4) University of Southern California Center for Systems and Software Engineering 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 Fall 2017 ©USC-CSSE 23

University of Southern California Center for Systems and Software Engineering Software Estimation Accuracy 4 University of Southern California Center for Systems and Software Engineering Software Estimation Accuracy 4 x 2 x Relative x Size Range 0. 5 x Use Case Points 0. 25 x Feasibility Need Estimates Here Fall 2017 Plans/Rqts. Design/Archit ecture Develop and Test Phases and Milestones ©USC-CSSE 24

University of Southern California Center for Systems and Software Engineering Agile Methodology Fall 2017 University of Southern California Center for Systems and Software Engineering Agile Methodology Fall 2017 ©USC-CSSE 25

University of Southern California Center for Systems and Software Engineering User Stories Structure Example University of Southern California Center for Systems and Software Engineering User Stories Structure Example As a , As a Customer, I want , I want to withdraw cash from an ATM, So that So that I don’t have to wait in line at the Bank Fall 2017 ©USC-CSSE 26

University of Southern California Center for Systems and Software Engineering Story Points • Planning University of Southern California Center for Systems and Software Engineering Story Points • Planning Poker – – Fall 2017 Development Team Planning Poker Cards Fibonacci Series (1, 2, 3, 5, 8, 13, 21, …) Estimate Size (not effort) ©USC-CSSE 27

University of Southern California Center for Systems and Software Engineering Software Estimation Accuracy 4 University of Southern California Center for Systems and Software Engineering Software Estimation Accuracy 4 x 2 x Relative x Size Range 0. 5 x Story Points 0. 25 x Feasibility Need Estimates Here Fall 2017 Plans/Rqts. Design/Archit ecture Develop and Test Phases and Milestones ©USC-CSSE 28

University of Southern California Center for Systems and Software Engineering Software Estimation Accuracy 4 University of Southern California Center for Systems and Software Engineering Software Estimation Accuracy 4 x 2 x Relative x Size Range 0. 5 x Use Case Points Story Points IFPUG & COSMIC Methods SLOC 0. 25 x Feasibility Need Estimates Here Fall 2017 Plans/Rqts. Design/Archit ecture Develop and Test Phases and Milestones ©USC-CSSE 29