Function Points I EEE493 2000 - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

Function Points I EEE493 2000

Description:

Boehm, Ray, Function Point FAQ, Software Composition Technologies, Inc., 1997, http://ourworld.compuserve.com/homepages/softcomp/fpfaq.htm ... – PowerPoint PPT presentation

Number of Views:19
Avg rating:3.0/5.0
Slides: 28
Provided by: knig9
Category:

less

Transcript and Presenter's Notes

Title: Function Points I EEE493 2000


1
Function Points I EEE493 2000
Royal Military College of Canada Electrical and
Computer Engineering
  • Major Greg Phillips
  • greg.phillips_at_rmc.ca
  • 1-613-541-6000 ext. 6190

Dr. Scott Knight knight-s_at_rmc.ca 1-613-541-6000
ext. 6190
2
Refs
  • Pressman, R.S., Software Engineering a
    Practitioners Approach 5th Ed., McGraw-Hill,
    2001, Chapter 4
  • Capers Jones, What are Function Points,
    www.spr.com/library/0funcmet.htm
  • Boehm, Ray, Function Point FAQ, Software
    Composition Technologies, Inc., 1997,
    http//ourworld.compuserve.com/homepages/softcomp/
    fpfaq.htm
  • Dreger, J.D., Function Point Analysis,
    Prentice-Hall, 1989

3
Teaching Points
  • The software productivity paradox
  • Measuring by counting business functions
  • Identifying different business function types

4
Review
  • What is the philosophy behind Wideband Delphi?
  • What is a good unit of measure?

5
What is a Good Unit of Measure?
  • Consider lines of deliverable source code - LOC
  • ProductivityGoods or services produced per
    unit of labour and expense
  • Does moving to a higher-order language compiler
    increase productivity?

6
A Measure of Productivity
  • "Goods or services produced per unit of labor and
    expense."

7
Consider This Estimate
ACTIVITY CASE A
CASE B
ASSEMBLER FORTRAN
VERSION
VERSION
(10,000 LINES) (3,000 LINES) DIFFERENCE

-------------- -------------- --------------
Requirements 2
Months 2 Months 0
Design 3 Months
3 Months 0
Coding 10 Months 3
Months - 7
Integration/Test 5 Months 3
Months - 2 User
Documentation 2 Months 2 Months
0
Management/Support 3 Months 2
Months - 1
-------------- --------------
-------------- Total
25 Months 15 Months -
10
-------------- -------------- --------------
Total Costs
125,000 75,000 - 50,000
Cost Per Source Line 12.50
25.00 12.50
Lines Per Person Month 400
200 - 200
8
The Software Productivity Paradox
  • Software involves a substantial number of
    activities that behave like fixed or inelastic
    costs that are not associated with coding.
  • Requirements analysis
  • writing specifications (analysis/design)
  • generating user documentation
  • project planning/management
  • configuration management/change control
  • Increasing the efficiency of code generation
    increases the cost per line of source code!

9
A different Measure of Productivity
  • In the late 1970's A.J. Albrecht of IBM took the
    position that the economic output unit of
    software projects should be valid for all
    languages, and should represent topics of concern
    to the users of the software.
  • Measure the functionality of software
  • the external aspects of software visible to the
    user
  • the users functional requirement

10
Business Functions
  • The external aspects/ units of functionality
    visible to the user are
  • the inputs to the application
  • the outputs from the application
  • inquiries by users
  • the data files that would be updated by the
    application
  • the interfaces to other applications

11
Weighting the Business Functions
  • empirical weighting factors were developed for
    the five business function types
  • e.g. if we had identified one function of each
    type

FUNCTION RAW DATA
WEIGHTS POINTS
1 INPUT X 4 4
1 OUTPUT X 5
5 1 INQUIRY X 4
4 1 DATA FILE
X 10 10 1
INTERFACE X 7 7
----
UNADJUSTED TOTAL
30 COMPLEXITY
ADJUSTMENT NONE
ADJUSTED FUNCTION POINTS 30
12
Now Consider This Estimate
ACTIVITY CASE A
CASE B
ASSEMBLER FORTRAN
VERSION
VERSION
(30 F.P.) (30 F.P.) DIFFERENCE

-------------- -------------- --------------
Requirements 2
Months 2 Months 0
Design 3 Months
3 Months 0
Coding 10 Months 3
Months - 7
Integration/Test 5 Months 3
Months - 2 User
Documentation 2 Months 2 Months
0
Management/Support 3 Months 2
Months - 1
-------------- --------------
-------------- Total
25 Months 15 Months -
10
-------------- -------------- --------------
Total Costs
125,000 75,000 - 50,000
Cost Per F.P. 4,166.67
2,500.00 - 1,666.67
F.P. Per Person Month 1.2
2.0 0.8
13
Finding Business Functions
  • We count only those business functions that are
    approved
  • benefits to the end user
  • Not
  • job control/ operating system functions
  • not temporary files
  • nothing implementation specific

14
Disclaimer
  • Real function point counting systems are complex
  • They require carefully defined function point
    counting guides and practices
  • We will use a small example system to illustrate
    the ideas underlying function point counting
  • The small example system used is not defined
    precisely enough to be used to count real systems
  • For a real FP counting system see
  • The International Function Points Users Group

15
Finding Business Functions
End User
Transactions
Input
Output
Inquiry
Application A
Application B
Interface
Shared Interface
A Files
B Files
Interface
Output
Input
Transactions
Transactions
Inquiry
16
The 5 Function Types
  • Inputs - ITs
  • Outputs - OTs
  • Inqueries - QTs
  • Files - FTs
  • Interfaces - ETs

17
How We Count
  • Count business functions
  • Identify business functions
  • classify the identified functions
  • Adjust raw FP total
  • based on application characteristics

18
Identifying Outputs
  • Each unique user data or control output
  • I.e. things that leave the context boundary
  • Unique means
  • it has a different format
  • it has the same format but requires different
    processing
  • Example a report that needs to be generated on a
    daily, weekly and monthly bases in both a GUI
    screen version and a printed version has 6
    different outputs
  • Example Presenting a table of data on a screen
    and a summary of the table at the bottom of the
    screen are 2 different outputs

19
Finding Business Functions
End User
Transactions
Input
Output
Inquiry
Application A
Application B
Interface
Shared Interface
A Files
B Files
Interface
Output
Input
Transactions
Transactions
Inquiry
20
Identifying Inputs
  • Each unique user data or control input
  • I.e. things that enter the context boundary
  • Unique means
  • it has a different format
  • it has the same format but requires different
    processing
  • Example to screens appear identical but cause a
    internal entities to be modified in different
    ways or cause the update of different logical
    internal files

21
Identifying Inquiries
  • Each unique user data or control input/output
    combination in which on-line user-defined input
    causes and generates an immediate on-line output
  • Unique means
  • it has a different format in either the input or
    output portion
  • it has different processing logic in either the
    input or output portion

22
Identifying Inquiries (contd)
  • Must have a simple keythe output must be a
    single record or group of related records - I.e.
    not a range of records
  • The output response must be immediate
  • The inquiry must not update/change any records

23
Identifying Logical Files
  • Each major logical group of user data or control
    information maintained entirely within the
    application boundary
  • Unique means
  • master files that are lasting or permanent data
    needed to recorded by the application
  • a logical collection of data as seen by the user
  • NOT - files/groups of temporary transactions or
    lists of events that may be used to update
    another file

24
Identifying Interfaces
  • Each major logical file or other group of data or
    control information within the application the
    application boundary that is sent to, shared
    with, or received from another application
  • This can include transaction files
  • Files shared between applications are counted
    both as FTs and ETs

25
Identifying Interfaces (contd)
Consider Appln A
26
When can we Count?
  • In early product planning?
  • During requirement specification?
  • After requirement specification?
  • After Design?
  • After Delivery?

27
Next ClassFunction Points II
Write a Comment
User Comments (0)
About PowerShow.com