Unformatted text preview:

Personal Software Process Software Estimation CIS 376 Bruce R Maxim UM Dearborn 01 13 19 1 Product Size Measures Must be Precise gives an exact value for product size and is defined by the product content Specific based on defined product properties Countable automated counting is far less tedious than manual counting and more accurate 01 13 19 2 Establishing Satandards Database Projects fields tables GUI elements queries code lines GUI Creation buttons boxes labels Programming LOC FP 01 13 19 3 Expert Guessing A The most pessimistic estimate B The most likely estimate C The most optimistic estimate A 4B C 6 Weighted average where estimate 01 13 19 4 Function Points Parameter 01 13 19 Simple Average Complex Fi Distinct input items 3 4 6 Output screens reports 4 5 7 Types of user queries 3 4 6 Number of files 7 10 15 External interface 5 7 10 Total 5 Function Point Equation F P s T 0 65 0 01 Q T unadjusted table total Q score from questionnaire 14 items with values 0 to 5 Cost of producing one function point May be organization specific 01 13 19 6 Function Point Questionnaire 1 2 3 4 5 Backup Data communication Distributed processes Optimal performance Heavily used operating system 6 On line data security 7 Multiple screens 8 On line master file update 01 13 19 9 Complex inputs queries outputs 10 Complex internal processing 11 Reusable code 12 Conversion or installation 13 Multiple user sites 14 Ease of use 7 COCOMO I Model E a Sb m x BASIC MODE 01 13 19 INTERMEDIATE a b a b Organic 2 4 1 05 3 2 1 05 Semidetached 3 0 1 12 3 0 1 12 Embedded 3 6 1 20 2 8 1 20 8 Basic COCOMO Computes software development effort and cost as a function of program size expressed in estimated lines of code m x 1 01 13 19 9 Intermediate COCOMO Computes software development effort as a function of program size and a set of cost drivers that include subjective assessments of product hardware personnel and project attributes m x m xi 01 13 19 10 01 13 19 11 Detailed COCOMO Includes all characteristics of the intermediate version with an assessment of the cost driver s impact on each step analysis design ect of the software engineering process m x based on similar questionnaire 01 13 19 12 Size Accounting Base initial unmodified original program Added new lines not in base always increases LOC in base count Modified lines changed in base does not increase LOC includes adapted reused code Deleted lines removed from base always decreases LOC Reused unmodified existing code increases LOC Total net sum of changes in base LOC 01 13 19 13 Example Base code 500 LOC Added 60 LOC Deleted 40 LOC Modified 30 LOC Reused 50 LOC Total 500 60 40 0 50 570 01 13 19 14 Using Size Data Planning and tracking historical size and time data are necessary to estimate future project Assessing program quality useful in computing defect density and service costs Assessing personal work reused added deleted modified code 01 13 19 15 Productivity Computed in terms of units produced divided by the time units required to create it Total time 01 13 19 570 LOC 50 hours 11 2 LOC hours 16 Size Counters Manual counting works for small programs not large programs Physical LOC Counters count all text lines except counters Logical LOC Counters only count logical program lines defined by program control structures Counting Program Elements measure sizes of procedures or classes in large programs 01 13 19 17 Proxy Based Estimation Estimates made by comparing new project to previously completed project Requires that you have saved historical data from previous projects May have to do estimation based on similar pieces from multiple projects 01 13 19 18 Proxy Selection Criteria Proxy size measure closely related to required development effort Proxy content or product should be automatically countable Proxy should be easy to visualize at project beginning Proxy customizable to needs of each project and developer Proxy sensitive to implementation variations affecting development cost or effort 01 13 19 19 Possible Proxies Function points Classes Database elements Forms Scripts Document chapters 01 13 19 20 Estimation Considerations 1 Improving Estimation Accuracy break up product in to several parts and compute average of several independent estimates for each Estimating Bias use historical data techniques to minimize impact of subjective judgment Incomplete Knowledge Bias reestimate product size several times during development 01 13 19 21 Estimation Considerations 2 Overcompensation caused by making too small an estimate after being too large or the reverse Selecting Abstraction Level get the right grain size Large Systems divide in to separately estimated subsystems Unprecedented Systems build prototypes and extrapolate 01 13 19 22 PROBE Estimation Method 1 Step 1 Conceptual Design identify parts of product after conceptual design is finished Step 2 Estimate Parts Size use relative size table to get estimate for each part based on expected size VS S M L VL Step 3 Estimate Sizes of Reused Parts and Base Additions estimate sizes of any additional parts needed 01 13 19 23 PROBE Estimation Method 2 Step 4 Size Estimating Procedure select which PROBE method to use A B C D E the default is A Step 5 Time Estimating Procedure check your data to see whether or not you can use method A Step 6 Prediction Interval determine prediction interval surrounding the size or time estimate 01 13 19 24 PROBE Use 1 Estimating practice once regression parameters stabilize they do not need to be recomputed for every new program Estimating judgment poor proxy estimates will ruin PROBE estimate Outliers discard obvious outliers from regression data 01 13 19 25 PROBE Use 2 Using limited data you need at least 3 historical data points for regression to work 30 is better Overcompensation and Undercompensation only make changes when you change processes or discover ineffective practices normal statistical fluctuations are common 01 13 19 26


View Full Document

U-M CIS 376 - Personal Software Process Software Estimation

Loading Unlocking...
Login

Join to view Personal Software Process Software Estimation and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Personal Software Process Software Estimation and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?