Presentation is loading. Please wait.

Presentation is loading. Please wait.

Personal Estimation with PROBE CS3300 Fall 2015. Code Size Estimation Wide Band Delphi (Boehm) Give the team the specs to study Discuss the project goals.

Similar presentations


Presentation on theme: "Personal Estimation with PROBE CS3300 Fall 2015. Code Size Estimation Wide Band Delphi (Boehm) Give the team the specs to study Discuss the project goals."— Presentation transcript:

1 Personal Estimation with PROBE CS3300 Fall 2015

2 Code Size Estimation Wide Band Delphi (Boehm) Give the team the specs to study Discuss the project goals and issues Anonymously list the tasks and then estimate the size Estimates are given to moderator who tabulates the results Review the tasks Re-estimate and continue until convergence Fuzzy-Logic Method (Putnam) Need historical data on smallest and largest project Divide evenly using the log of the sizes by 4 Use the half-way mark to make ranges of size variance

3 Fuzzy Logic example Our company produced products between 173 and 10,341 LOC Determine the log difference log(10341) – log(173) = 4.014 – 2.238 = 1.776 Divide this by 4 = 1.776 / 4 =.444 Now use this number to calculate log of each category Very Small 173 2.238 Small 481 2.682 Medium 1338 3.126 Large 3719 3.57 Very Large 10341 4.014

4 Fuzzy Logic Continued Now take half the log difference to find ranges =.444/2 =.222 LowAverageHigh Very Small104173288 Small288481802 Medium80213382230 Large223037196202 Very Large62021034117243 Historical data is required Size of applications is constantly growing What if we are doing something much larger than ever built before?

5 Standard Component (Putnam) Again uses historical data for organization Get historical average lines of code for different components Estimate the number/type of components that you will need: Smallest Possible Number (S) Most likely number (M) Largest Possible Number (L) Use formula (S + 4*M + L) / 6 File IO 2535 S=3 M=6 L=10 = 6.17 * 2535 = 15633 Reports 967 S=2 M=6 L=11 = 6.17 * 967 = 5963

6 Function Points (Albrecht) Evaluate project with: Inputs (screens or forms to enter data) : 15 screen = 15 x 4 = 60 Outputs (screens or reports to display or provide to other systems): 10 screen = 10 x 5 = 50 Inquiries (screens to allow queries): 35 screens x 4 = 140 Logical Files (collections of records updated by system): 8 files x 10 = 80 Interfaces (files shared with other applications) : 4 interfaces x 7 = 28 Total = 358

7 Adjustments 0-5 Data Communication 4 Distributed Functions 2 Performance Objectives1 Heavily Used Config5 Transaction Rate3 Online entry5 End User efficiency4 Online update4 Complex Processing1 Reuse1 Install Ease2 Operational Ease3 Multiple Sites0 Facilitate Change3 Total38 Multiplier = 0.65+.01*38 = 1.03

8 Final Estimate 358 * 1.03 = 368.74 Conversion Factor for LOC: Java/C++ 80 C225 Assembly575 COBOL175 SQL 60 Assume we are Java 369 * 80 = 29,520 LOC Effort = 2.5 * 29520 ^.38 = 70.52 Schedule = 3 * 70.52 ^.33 = 5.8 person-months

9 PROBE Try to come up with a proxy like home builders use for square footage. For OO, we can think of classes Then we consider possible number of methods, kind of class and its relative size For example: LinkedList Data 3 methods Large StatisticsCalculation8 methods Large TestCalculation10 methods Large Then we convert the types and methods to a LOC count using a conversion table. See the PROBE table in SEI slides

10 Terms Base Program – an existing program that you are going to enhance/modify. Reused Objects – classes that are taken from your reuse library and reused in the application New Reused Objects – classes that you are going to write, but that are destined for the reuse library.

11 PROBE Bottom line – the more data and experience you gain, the more accurate the linear regression numbers will be and therefore your accuracy improves.

12 Scheduling and Tracking The 90% problem

13 Scheduling and Tracking Earned Value Tracking Task must be completed to earn value Task Planning Worksheet Task Name Planned and Actual Hours Value Cumulative Hours Cumulative Value Date

14 Schedule Worksheet Planning available hours

15 Examples from Slides

16 Quality Measures Cost of Quality:


Download ppt "Personal Estimation with PROBE CS3300 Fall 2015. Code Size Estimation Wide Band Delphi (Boehm) Give the team the specs to study Discuss the project goals."

Similar presentations


Ads by Google