59
CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved Slide 1 CSE7315M13 January 10, 2001 SMU CSE 7315 / NTU SE 584- N Planning and Managing a Software Project Module 13 Size Estimating Methods Part 2 - Function Points and Related Methods

CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Embed Size (px)

DESCRIPTION

CSE7315M13 Slide # 3 January 10, 2001 CSE SW Project Management / Module 13 - Function Points and Related Methods Copyright © , Dennis J. Frailey, All Rights Reserved Detailed Planning - Processes Estimate Schedule Evaluate Source Information Statement of Work Requirements Constraints Standards Processes History etc. WBSSize Effort & Cost ScheduleOK Complete Detailed Planning Revise & Negotiate Not OK Estimate Size Estimate Effort and Cost

Citation preview

Page 1: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

CSE 7315 - SW Project Management / Module 13 - Function Points and Related MethodsCopyright © 1995-2001, Dennis J. Frailey, All Rights Reserved Slide 1

CSE7315M13

January 10, 2001

SMU CSE 7315 / NTU SE 584-NPlanning and Managing a

Software Project

Module 13Size Estimating Methods

Part 2 - Function Points and Related Methods

Page 2: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 2 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Objective of This Module• To discuss function point methods

and related size estimating methods

Page 3: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 3 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Detailed Planning - Processes

EstimateScheduleEvaluate

Source InformationStatement of Work

RequirementsConstraintsStandardsProcesses

Historyetc.

WBS Size

Effort &

Cost

Schedule

OKCompleteDetailedPlanning

Revise &Negotiate

Not OK

EstimateSize

EstimateEffort and

Cost

Page 4: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 4 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Architecture of Spreadsheet

CoCoMo BasedEstimate

Other EffortEstimates ...

Analogy basedSize Estimate

SoftwareReuse

Analysis

Final EffortEstimate

ProductivityBased Effort

Estimate

Other SizeEstimates ...

Final SizeEstimate

Expert BasedSize Estimate

Size / Reuse Effort Effort & Cost Schedules

Generic Schedule

Effort Schedule

Labor Schedule

Cost Schedule

Page 5: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 5 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Function Point Methods(background)

• Function points measure the size of the customer’s requirements, or the size of the functionality to be produced, rather than the physical size of the software– This is analogous to measuring the size

of a house by counting the number and types of rooms, rather than by square footage

Page 6: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 6 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Function Point Methods

• Function Points as a size unit

• Function Point Analysis as an estimating method

Page 7: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 7 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Function Points are a Unitof Size

• “Function points” may be directly correlated to effort, memory requirements, or even to lines of code– All of the estimating methods discussed

previously can be used with function points as the size unit

– For example, you can compare new software with previous software, or use the wideband Delphi techniques

Page 8: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 8 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Function Point Analysis (FPA) is a Method of Estimating

• The function point method was developed by Allan Albrecht and refined by others (see references) to deal with situations where much was known about the functionality of the software but little about the structure or the size in “lines of code”.

Page 9: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 9 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Function Point Methods• The original definition by Albrecht

was based on transaction oriented systems – This concept of a “function” may not

work as well with other types of software

• Variations exist for real time, object oriented, and other kinds of applications

Page 10: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 10 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

(*) This is a goal of all size estimating methods.

Goals of Function Point Analysis

• To predict size accurately, as early as possible

• To provide a mechanism to track and monitor “scope creep” (*)– The difference in the number of function

points after requirements analysis, design & delivery is an indication to how much the scope of a project has grown

Page 11: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 11 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Albrecht’s Model of a Computer Software

Application

InternalLogical Files

(ILFs)

End User / Other ProgramsEO EI EQ

External

Queries

External

Outputs

External

InputsDataBase

(ExternalInterface

Files)

Page 12: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 12 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Categories of Functions - I1. External Inputs (EI)– An elementary process where data flows

in across the system boundary2. External Outputs (EO)– An elementary process where

“derived-data” flows out across the system boundary

3. External Queries (EQ)– An elementary process which outputs

data from ILFs based on the data input

Page 13: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 13 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Categories of Functions - II4. Internal Logical Files (ILF)– A logically related group of data that

resides entirely within the applications boundary and is maintained through EIs

5. External Interface Files (EIF) – A logically related group of data that is

used for reference purposes only – The data resides entirely outside the

application

Note: the idea of splitting files into internal & external is credited to Capers Jones in the early 1980’s.

Page 14: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 14 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Function Point Methodin a Nutshell

1) Count the functions in each category2) Establish the complexity of each:– High, Medium, or Low

3) Establish weights for each complexity4) Multiply each function by its weight and

then sum up to get total function points5) Adjust for application characteristics

Page 15: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 15 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Function Point ExampleCategory Simple Average ComplexEO 3 4 5

Weights 4 5 7

Points 12 20 35

Total Points for External Outputs: 67

Page 16: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 16 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Function Point Formula“Unadjusted” Function Points (UFP)

= EO points + EI points

+ EQ points + ILF points + EIF points

Page 17: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 17 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Adjustment Factor“Adjusted” FP = UFP * VAF

• VAF is an “application characteristics value adjustment factor” that ranges from 0.65 to 1.35 (see appendix A)

• VAF is determined by application characteristics that cannot be counted but that affect the application as a whole– Ease of use, reliability, flexibility, etc.

Page 18: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 18 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Note on Adjustment Factor• Some studies have shown that the

adjustment factor degrades the function point metric, resulting in lower accuracy

• Thus some authors prefer to leave out the adjustment factor and, instead, to assess application characteristics in the process of estimating effort

Page 19: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 19 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

The Devil is in the Details• How do you establish the weights?• How do you identify the functions?• How do you determine the

adjustment factor?• What do you do if your application

seems to have different kinds of functions other than Albrecht’s?

• The literature on function points is largely devoted to issues like these

Page 20: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 20 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Step by Step Details• Longstreet, Garmus, and the

International Function Point Users Group (IFPUG) have good descriptions of how to count function points

• For more information, see the reference list at the end of these notes

Page 21: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 21 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Calibration is Helpful - But Hard!

• Albrecht warns against attempting to calibrate for a given industry, application domain, or company

• He and others believe the specific software development organization must calibrate the FPA method to their own characteristics.

• But few organizations have enough data to do an effective calibration

Page 22: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 22 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Notes on Function Points

Page 23: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 23 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

1. Determine the Application Boundaries

The “functions” counted are those that cross the application boundary (except for internal files)

Application

External Environment

Page 24: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 24 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

2. Plan to Review and Update the Function Point Count

• Plan updates at key points where new information will be available, such as at major milestones

• Gather documentation, such as key requirements, constraints, and assumptions, for reference during future updates

• Record all of the functions that were counted, as well as their complexities

Page 25: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 25 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

3. How to Compute the Value Adjustment Factor

• VAF is based on the 14 General System Characteristics (GSCs)– The degree of influence of each GSC is

ranked from 0 - 5 as “No-Influence” to “Strong-Influence“ ; 2.5 is “typical”.

– Appendix A enumerates the GSCs

VAF = 0.65 + GSCi/100

Page 26: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 26 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

4. Using Function Points as Input to an Effort Estimate

• For many methods, you must convert to LOC after calculating Function Points

LOC = POINTS *CONVERSION FACTOR– Conversion factor is established

based on historical experience representing average number of lines per simple function

Page 27: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 27 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

What About Applications Where Function Points Don’t Seem to

Fit?• Example: Real Time Systems– Tend to have few internal files– But have very complex algorithms

• Extensions to Function Points are often used to handle non-transaction oriented systems, such as real time systems, object oriented designs etc

• Among the extensions are Feature Points and Object Points

Page 28: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 28 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Feature Points• An extension of the function point

method designed to deal with real time systems.

• A new category of function that represents complex algorithms

• The complexity of the algorithm is defined in terms of the number of “rules” required to express that algorithm

Page 29: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 29 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Algorithm Rules PointsNormalize 4 1Predictor 14 3Sort 50 7etc.TOTAL 11

Feature Point Example

Add this total to the total number of function points, after adjusting weights for internal files

Page 30: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 30 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Other Changes for Feature Points Method

• Lower weights for internal files• Other adjustments based on local

experience• Numerous variations in literature• The bottom line is that whatever

works for you should be used

Page 31: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 31 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Object Points• This approach is at a more macro

level than function points• Developed to address object

oriented designs• Assign one object point to each

unique class or object, such as a screen, output report, etc.

• The rest of the process is similar, but the weights are different

Page 32: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

CSE 7315 - SW Project Management / Module 13 - Function Points and Related MethodsCopyright © 1995-2001, Dennis J. Frailey, All Rights Reserved Slide 32

CSE7315M13

January 10, 2001

Parametric Models

These are top-down methods based on some understanding of what factors or parameters affect the size of the software

Page 33: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 33 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

How Do You Determine What Factors Affect the Size?

Data AnalysisFactsabout

Which Factorshave What

Impact

ParametricModel

Page 34: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 34 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Several Types of Adjustment Factors

Non-sensitive Factors

0

5

10

0 1 2 3 4 5 6 7 8 9Size

Impact

Sensitive Factors

05

10

0 1 2 3 4 5 6

Size

Impact

Sum of All Factors??

05

10

1 2 3 4 5 6 7 8

Size

Impact

Linear Factors

05

10

1 2 3 4 5 6 7 8

Size

Impact

Page 35: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 35 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Using a Parametric Model

ParametricModel

SpecificValues

forSpecific

Situation

Expected orEstimatedBehavior

Page 36: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 36 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Adjustment Method Derived from Price-S®

• Define attributes for the software, as follows:

-- Software development environment

-- Software complexity -- Program data -- Project planning

Price-S® is a cost and size estimating tool originally developed by RCA and then owned by General

Electric, sold to Lockheed-Martin (Price Systems division).

Page 37: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 37 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Adjustment Method Derived from Price-S®

(continued) • Apply all of these attributes

by means of a complex function to adjust the size estimate

Page 38: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 38 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Adjustment Process

Complex andProprietary

Model

FunctionPoints

Attributes

EstimatedEquivalent

Lines of Code

Page 39: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 39 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Software Development Environment Attributes

• Number of design reviews planned• Number of code walkthroughs planned• Sophistication of design method– OO, SA/SD. Etc.

• Number of hardware and other software elements to integrate with

• Sophistication of test methods– Structured, modular, etc.

Page 40: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 40 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Software Complexity Attributes(select the one that fits)

• Commercial - no constraints• Commercial - moderate constraints– eg., must fit on a Pentium with

16Megabytes• Commercial - significant

constraints– eg. must fit on a microprocessor with

only 256K bytes and must meet significant timing constraints

Page 41: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 41 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Software Complexity Attributes(select the one that fits)

(continued)• Military - no constraints– eg., military data processing

application• Military - moderate constraints– eg., ground-based combat support

system• Military - significant constraints– eg., flight controls on an aircraft

Page 42: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 42 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Program Data Attributes• Number of unique output page formats• Number of unique display formats

(alphanumeric)• Number of unique graphic displays • Number of unique input streams• Number of unique output streams• Number of control states (decision

points)

Page 43: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 43 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Program Data Attributes (continued)

• Number of input message fields (unique fields)

• Number of unique operator actions• Number of unique analog signals on

input• Number of data elements in tables• Functional bulkiness (tool efficiency,

staff experience)

Page 44: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 44 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Project Planning Attributes• Expected requirements growth (%

of original system requirements)• Organizational know-how and

experience• Organizational business approach• Source language

Page 45: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 45 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Advantages of Function Pointsand Related Methods

• Estimates can be made relatively early in the project– before we know the

architecture of the software• Easier for customers to relate

the impact of change in functional requirements etc.

Page 46: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 46 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Advantages of Function Points

and Related Methods(continued)• Independent of programming

language, technology, and techniques

• More reliable relationship to effort– IF you can determine the right

functions to measure and the correct weights and adjustments

Page 47: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 47 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Disadvantages of Function Points and Related Methods• It is hard to count and track

function points– Much judgment involved– Difficult to automate

• Details, such as weights and definitions of complexity level, vary significantly from one application to the next and from one organization to the next

Page 48: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 48 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Disadvantages of Function Points and Related Methods

(continued)• Internal complexity of the application is

not considered– For example, housekeeping, memory

management, and other support functions• Calibration takes time, effort, and data– Although using results from similar

applications may be a good starting point

Page 49: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Many People Really Like Function Points … but ...

• Many effort/cost estimation tools use lines of code as input, so figures in function points may have to be converted – FPA may be a useful way to estimate lines of

code, regardless of whether function points are a good size unit

• More data may be available on lines of code than on function points– This depends on your company and business

Page 50: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 50 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

Module Summary• Function point methods do not

require information in size in lines of code, only the functions to be performed

• Other parametric methods rely on general characteristics of the software rather than specific details

Page 51: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 51 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

References• Albrecht, Allan J., "Measuring Application

Development Productivity," reprinted in Tutorial, Programming Issues for the Eighties (Capers Jones, editor), IEEE Computer Society Press, 1986, pp 35-44.

• Garmus, David and David Herron, Measuring the Software Process - A Practical Guide to Functional Measurements, Prentice-hall, 1996.

• International Function Point Users Group, Function Point Counting Practices Manual

Page 52: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 52 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

References (continued)• Longstreet, David “Function Points: Step

by Step”. Available on line at www.SoftwareMetrics.com/fpsteps.htm

• Symons, Charles, Software Sizing and Estimation, Mk II Function Point Analysis, West Sussex, England, John Wiley and Sons, 1991.

Page 53: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 53 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

END OFMODULE 13

Page 54: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

CSE 7315 - SW Project Management / Module 13 - Function Points and Related MethodsCopyright © 1995-2001, Dennis J. Frailey, All Rights Reserved Slide 54

CSE7315M13

January 10, 2001

Appendix A

General System Characteristics Used to Calculate Function Point

Adjustment Factor

Page 55: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 55 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

The General System Characteristics

1. Data communications– How many communication facilities are

there to aid in the transfer or exchange of information with the application or system?

2. Distributed data processing– How are distributed data and processing

functions handled?3. Performance– Was response time or throughput

required by the user?

Page 56: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 56 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

The General System Characteristics (continued)

4. Heavily used configuration– How heavily used is the current

hardware platform where the application will be executed?

5. Transaction rate– How frequently are transactions

executed daily, weekly, monthly, etc.?6. On-Line data entry– What percentage of the information is

entered On-Line?

Page 57: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 57 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

The General System Characteristics (continued)

7. End-user efficiency– Was the application designed for end-

user efficiency?8. On-Line update– How many ILF’s are updated by On-Line

transaction?9. Complex processing– Does the application have extensive

logical or mathematical processing?

Page 58: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 58 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

The General System Characteristics (continued)

10. Reusability– Was the application developed to meet

one or many user’s needs?11. Installation ease– How difficult is conversion and

installation12. Operational ease– How effective and/or automated are

start-up, back-up, and recovery procedures?

Page 59: CSE 7315 - SW Project Management / Module 13 - Function Points and Related Methods Copyright © 1995-2001, Dennis J. Frailey, All Rights Reserved CSE7315M13

Slide # 59 January 10, 2001

CSE 7315 - SW Project Management / Module 13 - Function Points and Related

MethodsCopyright © 1995-2001, Dennis J. Frailey,

All Rights ReservedCSE7315M13

The General System Characteristics (continued)

13. Multiple sites– Was the application specifically

designed, developed, and supported to be installed at multiple sites for multiple organizations?

14. Facilitate change– Was the application specifically

designed, developed, and supported to facilitate change?