Presentation is loading. Please wait.

Presentation is loading. Please wait.

Function Points Synthetic measure of program size used to estimate size early in the project Easier (than lines of code) to calculate from requirements.

Similar presentations


Presentation on theme: "Function Points Synthetic measure of program size used to estimate size early in the project Easier (than lines of code) to calculate from requirements."— 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)

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
Low Complexity Medium Complexity High Complexity External Inputs 3 4 6 External Outputs 5 7 External Queries Internal Logical Files 10 15 External Interface Files

9 LOC vs FP (Boehm 2000, Stutzke 2005)
Language LOC per FP Ada 50 C 128 C# 55 C++ Java Assembly 213 Perl 20 VB 32

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 Semi-detached 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 a b c d Organic 2.4 1.05 2.5 0.38 Semi-detatched 3.0 1.12 0.35 Embedded 3.6 1.20 0.32

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)^P DM = 2.50*(PM)^T ST = PM/DM PM - person-months needed for project EAF - effort adjustment factor ( ) SLOC - source lines of code P - project complexity ( ) DM - duration time in months for project T - sloc-dependent coefficient ( ) ST - average staffing necessary

19 Effort Per Phase Schedule


Download ppt "Function Points Synthetic measure of program size used to estimate size early in the project Easier (than lines of code) to calculate from requirements."

Similar presentations


Ads by Google