1 / 26

Personal Software Process Software Estimation

Personal Software Process Software Estimation. CIS 376 Bruce R. Maxim UM-Dearborn. 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.

abiba
Download Presentation

Personal Software Process Software Estimation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Personal Software ProcessSoftware Estimation CIS 376 Bruce R. Maxim UM-Dearborn

  2. 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

  3. Establishing Satandards • Database Projects • fields, tables • GUI elements, queries, code lines • GUI Creation • buttons, boxes, labels • Programming • LOC, FP

  4. 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).

  5. Parameter 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 = ? Function Points

  6. 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.

  7. Backup. Data communication. Distributed processes. Optimal performance. Heavily used operating system. On-line data security. Multiple screens. On-line master file update. Complex inputs, queries, outputs. Complex internal processing. Reusable code. Conversion or installation. Multiple user sites. Ease of use. Function Point Questionnaire

  8. BASIC INTERMEDIATE MODE 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 COCOMO - I • Model E = a Sb * m(x)

  9. Basic COCOMO • Computes software development effort (and cost) as a function of program size, expressed in estimated lines of code. • m(x) = 1

  10. 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)

  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

  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

  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

  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

  15. Productivity • Computed in terms of units produced divided by the time units required to create it Total/time = 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

  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

  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

  19. Possible Proxies • Function points • Classes • Database elements • Forms • Scripts • Document chapters

  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

  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

  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

  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

  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

  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)

More Related