1 / 19

Function Points

Function Points. Synthetic measure of program size used to estimate size early in the project Easier (than lines of code) to calculate from requirements Standards at the International Function Point Users Group (IFPUG) www.ifpug.org. FP Rules: #FPs depends on:. External Inputs

eugene
Download Presentation

Function Points

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. Function Points • Synthetic measure of program size used to estimate size early in the project • Easier (than lines of code) to calculate from requirements • Standards at the International Function Point Users Group (IFPUG) www.ifpug.org

  2. FP Rules: #FPs depends on: • External Inputs • External Outputs • External Queries • Internal Logical Files • External Interface Files

  3. FP Rules: #FPs depends on: • External Inputs • Screens, forms, dialogs, controls • User or other program adds, deletes, modifies data • Any input that requires processing logic • External Outputs • External Queries • Internal Logical Files • External Interface Files

  4. FP Rules: #FPs depends on: • External Inputs • External Outputs • Screens, reports, dialog boxes, control signals generated for end user or other program • External Queries • Internal Logical Files • External Interface Files

  5. FP Rules: #FPs depends on: • External Inputs • External Outputs • External Queries • I/O combinations in which an input results in a simple output • Queries retrieve data with no formatting. Output is formatted • Internal Logical Files • External Interface Files

  6. FP Rules: #FPs depends on: • External Inputs • External Outputs • External Queries • Internal Logical Files • Major logical groups of end-user data completely controlled by the program • Might be a flat file, a database table, or a collection of other data • External Interface Files

  7. FP Rules: #FPs depends on: • External Inputs • External Outputs • External Queries • Internal Logical Files • External Interface Files • Files controlled by other programs

  8. FP Rules: Complexity Multipliers

  9. LOC vs FP (Boehm 2000, Stutzke 2005)

  10. FP results • Certified counters vary by 10% • Untrained counters vary by much more • The multipliers may or may not be useful (some research indicates unadjusted FPs are more closely correlated with effort) • The LOC have on average a range of 3x wrt FPs

  11. COCOMO

  12. COCOMO • COCOMO  COnstructive COst MOdel • Model to help reason about the cost and schedule implications of decisions • Project Budgets • Scheduling • Planning • Risk Management Decisions

  13. 3 Types of COCOMO Estimates • Basic • good for quick estimate of software costs • Does not account for differences in hardware constraints, personnel quality and experience, or use of modern tools and techniques • Early Design Model • High level model • Used to explore architectural alternatives or incremental development strategies • Post-Architecture Model • Detailed model • Used once the project is ready to sustain a fielded system

  14. 3 classes of projects • Organic projects • "small" teams • with "good" experience • working with "less than rigid" requirements • Semi-detached projects • "medium" teams • with mixed experience • working with a mix of rigid and less than rigid requirements • Embedded projects • developed within a set of "tight" constraints (hardware, software, operational, ...)

  15. Basic COCOMO Equations Effort Applied (in person-months) = a* (KLOC)b Development Time (in months) = c * (Effort Applied)d People required = Effort Applied / Development Time

  16. Intermediate COCOMO • Development effort is function of program size and "cost drivers" • Subjective assessment of product, hardware, personnel and project attributes. • Product attributes (required reliability, size of database, product complexity) • Hardware attributes (performance and memory constraints) • Personnel attributes • Analyst capability • Software engineering capability • Applications experience • Virtual machine experience • Programming language experience • Project attributes (use of tools and methods)

  17. Intermediate COCOMO Cost Drivers • 15 attributes • Rated on 6-point scale (very low to extra high) • Effort multipliers (from 0.9 to 1.4) from table • Intermediate Cocomo formula: E=a (KLoC)b * EAF • E: effort applied in person-months • KLoC: estimated number of thousands of lines of code for the project • EAF: factor calculated above

  18. COCOMO II: Post Architecture PM = 2.45*EAF*(SLOC/1000)^PDM = 2.50*(PM)^TST = PM/DMPM - person-months needed for projectEAF - effort adjustment factor (0.6-1.4)SLOC - source lines of codeP - project complexity (1.04-1.24)DM - duration time in months for projectT - sloc-dependent coefficient (0.32-0.38)ST - average staffing necessary

  19. Effort Per Phase Schedule

More Related