EE493'09 Function Points References:HvV 7'3'5 - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

EE493'09 Function Points References:HvV 7'3'5

Description:

external outputs OT (EO) external inquiries QT (EQ) Data ... So what is the point of this class. If you want to measure productivity, SLOC is a poor measure ... – PowerPoint PPT presentation

Number of Views:23
Avg rating:3.0/5.0
Slides: 29
Provided by: terrys8
Category:

less

Transcript and Presenter's Notes

Title: EE493'09 Function Points References:HvV 7'3'5


1
EE493.09Function Points
ReferencesHvV 7.3.5
Royal Military College of Canada Electrical and
Computer Engineering
  • Professor Greg Phillips
  • Greg.Phillips_at_rmc.ca
  • 1-613-541-6000 ext. 6656

Major JW Paul Jeff.Paul_at_rmc.ca 1-613-541-6000
ext. 6091
2
There are two ways of constructing a software
design One way is to make it so simple that
there are obviously no deficiencies The
other way is to make it so complicated that
there are no obvious deficiencies. The first
method is far more difficult. -- C.A.R.
Hoare
3
How do you count function points?
  • Release 4.0 of the IFPUG Function Point Counting
    Practices Manual is about 200 pages long. Many
    people feel that it does not adequately explain
    the function point counting process six page
    magazine articles or summaries in more general
    textbooks do not accomplish this either.....
  • But - it is NOT complicated (YMMV)

4
Software Paradox
  • ProductivityGoods or services produced per
    unit of labour and expense
  • What is productivity in software?
  • SLOC?
  • Completed Applications?
  • User Stories?
  • UML use cases?

5
Remember 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
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
6
Comparison
http//www.csee.umbc.edu/mikeg/cmsc645/function_p
oint.html
7
What do you count
  • Functionality from a user perspective
  • ie what does the application do
  • Look at
  • Logical Data Grouping
  • Logical Transactions
  • (complicating aside - algorithims)

8
Functions Points at a glance
9
Types of Function Points
  • Transaction
  • external inputs IT (EI)
  • external outputs OT (EO)
  • external inquiries QT (EQ)
  • Data
  • internal Logical Files FT (ILF)
  • external interface files ET (EIF)

10
Internal Logical File (ILF)
  • a group of logically related data or control
    information that is maintained by the application
    itself. Must
  • be logical grouping user identifiable
  • maintained through an elementary process within
    the application boundary

11
External Logical File (ELF)
  • logically related, user identifiable data or
    control information that is not maintained within
    the application boundary
  • be logical grouping user identifiable
  • be external to the application
  • maintained through an elementary process outside
    the application boundary (ie is an ILF of another
    app).

12
External Output
  • an elementary process in which derived data
    passes across the boundary from inside to
    outside. Additionally, an EO may update an ILF.

13
External Inquiries
  • an elementary process with both input and output
    components that result in data retrieval from one
    or more internal logical files and external
    interface files. The input process does not
    update or maintain any FTRs (Internal Logical
    Files or External Interface Files) and the output
    side does not contain derived data. .

14
External Inputs (EI)
  • an elementary process in which data crosses the
    boundary from outside to inside.
  • This data may come from a data input screen or
    another application.
  • The data may be used to maintain one or more
    internal logical files.
  • The data can be either control information or
    business information.
  • If the data is control information it does not
    have to maintain an internal logical file

15
To determine weighting
  • Raw Count
  • Type of Function Point Complexity
  • FTR (File Types Referenced)
  • DET (Data Element Types)
  • Adjusted Count
  • Based on organizational factors

16
Adjusting the raw value
of data elements of file
types 1-4 5-15 gt15 0-1 simple
simple average 2-3
simple average complex gt3
average complex complex
An ongoing research effort The International
Function Points Users Group
17
Relative weighting
  • function point simple average complex
  • input 3 4 6
  • output 4 5 7
  • inquiry 3 4 6
  • files 7 10 15
  • interfaces 5 7 10
  • If all were average complexity

UFP 4IT 5OT 4QT 10FT 7ET
18
Organizational/Environment Adjustment Factors
  • fpadj fpraw (0.65 .01 TDI)

19
(No Transcript)
20
Example
21
The Weather Application
  • The following application was designed to capture
    temperature and rainfall by city and state.
    There is only one input screen, one file and one
    report. Each field on the following input screen
    can be modified (add, changed or deleted). The
    add and change functions are different. All
    previous entries viewed by using the scroll bar.
    Assume a VAF of 1.0.

22
Weather Application Example
23
Questions?
24
What are they good for...
  • Defining When and What to Re-Engineer
  • Estimating Test Cases
  • Understanding Wide Productivity Ranges
  • Understanding Scope Creep
  • Calculating the True Cost of Software
  • Estimating Overall Project Costs, Schedule and
    Effort
  • Understanding Maintenance Costs
  • Help with contract negotiations
  • Understanding the appropriate set of metrics

25
What are they not good for...
  • Performance tuning
  • related to interaction of function
  • Web Design
  • high graphic intensity
  • Small projects
  • individual skill is confounding factor
  • Maintenance
  • primarily detective work on internal relations

26
So what is the point of this class
  • If you want to measure productivity, SLOC is a
    poor measure
  • Function Points (and similar systems) can provide
    a better estimate
  • Why do we want a better estimate?

27
Questions?
28
On Computers
  • For a long time it puzzled me how something so
    expensive, so leading edge, could be so useless
  • and then it occurred to me that a computer is a
    stupid machine with the ability to do incredibly
    smart things,
  • while computer programmers are smart people with
    the ability to do incredibly stupid things.
  • They are, in short, a perfect match.
  • Bill Bryson, Notes from a Big Country
Write a Comment
User Comments (0)
About PowerShow.com