Function Point in Object Oriented Metrics - PowerPoint PPT Presentation

1 / 38
About This Presentation
Title:

Function Point in Object Oriented Metrics

Description:

... (Mk, Ml) such that IkIl=f)*(the number of pairs (Mk, Ml) ... files (collection of user identifiable data) Classes(encapsulates collection of data items) ... – PowerPoint PPT presentation

Number of Views:175
Avg rating:3.0/5.0
Slides: 39
Provided by: evrena
Category:

less

Transcript and Presenter's Notes

Title: Function Point in Object Oriented Metrics


1
Function Point in Object Oriented Metrics
  • Evren Ayorak

2
Outline
  • Functional Point Analysis
  • Object Oriented Approaches
  • Kemerer Metrics
  • 3D Function Points
  • Predictive Object Points
  • Object Oriented Fucntion Points
  • Class Points

3
Function Points Analysis (FPA)
  • What is Function Point Analysis (FPA)?
  • It is designed to estimate and measure the time,
    and thereby the cost, of developing new software
    applications and maintaining existing software
    applications.
  • It is also useful in comparing and highlighting
    opportunities for productivity improvements in
    software development.
  • It was developed by A.J. Albrecht of the IBM
    Corporation in the early 1980s.

4
FPA
  • How is Function Point Analysis done?
  • Working from the project design specifications,
    the following system functions are measured
    (counted)
  • External Inputs (EI)
  • External Outputs (EO)
  • Files (ILF-internal logical files)
  • External Inquires (EQ)
  • Interfaces (ELF external logical files)

5
FPA
Inquiries
Boundary
Input
Output
Internal Logical Files
External Interface Files
6
FPA
  • EI An elementary process in which data crosses
    the boundary from outside to inside.
  • Data input screen
  • Another application
  • Business data does update ILF
  • Control data does not update ILF
  • EO An elementary process in which derived data
    passes across the boundary from inside to
    outside.
  • Creates reports
  • Creates output files sent to other applications
  • Created from ILF and ELF

7
FPA
  • EQAn elementary process with both input and
    output components that result in data retrieval
    from one or more ILF and ELF
  • Sent outside the application boundary
  • Input process does not update ILF
  • Output side does not contain derived data
  • ILF A User identifiable group of logically
    related data that entirely within the
    applications boundary and is maintained through
    External Inputs
  • EIF A User identifiable group of logically
    related data that is used for reference purposes
    only.
  • Resides entirely outside application
  • Maintained by another application
  • It is an ILF for another application

8
Unadjusted FP Calculation
  • Functional Count by (Complexity)
  • Complexity rated by three categories
  • Simple
  • Average
  • Complex
  • Each of the 5 functional components has its own
    unique complexity matrix weighting based on level
    of complexity

9
Degrees of Influence (DI)
  • Data communications
  • Distributed functions
  • Perfomance objectives
  • Heavily used configuration
  • Transaction rate
  • On-line data entry
  • End-user efficiency
  • On-line update
  • Complex processing
  • Reusability
  • Installation ease
  • Operational ease
  • Multiple sites
  • Facilitate change

General characteristics to be ranked by degree of
influence from 0-5 Degree of Influence
Measures Not Present, or no influence
present0 Insignificant Influence1 Moderate
Influence2 Average Influence3 Significant
Influence4 Strong influence, throughout5
10
(No Transcript)
11
FP Calculation
  • Complexity Adjustment Factor (CAF)
  • CAF 0.65 0.01 x DI
  • each degree of influence is worth 1 percent of a
    TCF which can range from 0.65 to 1.35
  • Adjusted Function Points (AFP)
  • AFP CAF x UFP

12
Complexity of Files Transactions
  • Data Element Type (DET)
  • A unique user recognizable field from a business
    perspective which participates in a transaction
    or is stored on a logical data file.
  • Record Element Type (RET)
  • A user recognizable subgroup of data elements
    within an ILF or EIF. (orders types)
  • The complexity of an transaction is determined
    by counting the number of logical File Types
    Referenced (FTRs) and the number of DET.

13
Productivity Index
  • Function points method can be used for measuring
    the productivity of development activities

14
Critics to FPA
  • The calculation of function counts tends to take
    a black box view of the system.
  • The user defined function types currently
    established may not be wholly appropriate for
    current technology.
  • The classification of the user function types
    into simple, average, and complex appears to be
    oversimplified
  • The choice of weights was determined by debate
    and trial.
  • The restriction to 14 processing complexity
    factors is not going to be satisfactory for all
    time

15
What about Object Oriented Languages??
16
Chidamber and Kemerer Approach
17
Chidamber and Kemerer Approach
  • All the previous measures provide a class-level
    measurement.
  • As a consequence, they are more useful for
    productivity analysis once the software has been
    realized but less profitable for effort
    prediction

18
3D Function Points
  • Each class is an internal file
  • Messages sent across the system boundary as
    transactions
  • Require a greater degree of detail in order to
    determine size and consequently make early
    counting more difficult.

19
Predictive Object Points
  • Systemlevel measure for effort prediction, which
    adopts a counting scheme analogous to FPs.
  • POPs counting is based on the WMC measure applied
    to top level classes, and combines such
    information with the average depth of the
    inheritance tree and the average NOC.
  • To compute the WMC value,
  • Each method is weighted by a complexity
    determined by the type of method (constructor,
    destructor, modifier, selector, iterator), by the
    number of properties the method affects and the
    number of services it provides to the system.
  • Determining complexity of methods is not
    available in early stages of the software
    development process.

20
Object-Oriented Function Points(OOFP)
  • Characterized by a mapping of FP concepts
    (logical files and transactions) to OO concepts
    (classes and methods), and by a flexible method
    for handling specific OO concepts like
    inheritance and aggregation.

21
OOFP
  • Uses OMT Model
  • Object Model
  • Static representation of classes and objects
  • First to be developed so can be measured early
    stages
  • Function Model
  • Data Flow Diagrams
  • Identifiying and Design some methods in early
    stages
  • Dynamic Model
  • State machiness
  • Use case and Scenarios

22
OOFP
  • Central Analogy to map FP to OOFP
  • Logical files (collection of user identifiable
    data)? Classes(encapsulates collection of data
    items)
  • Transactions ? Methods
  • Application Boundary
  • External classes encapsulates non-system
    components (external services and reused library
    classes) EIF
  • Classes with in the App. Boundary is ILF

23
OOFP
  • OOFP Calculation

24
OOFP Process
  • Analyze object model and identify units to be
    counted as LF.
  • Calculate the complexity of each LF and SR.
  • Convert complexity values to numbers
  • If LF is reused its OOFP value is calculated
    with a scale factor flt1
  • All OOFP values are summed up.

25
OOFP Process
26
OOFP
  • Identify LF
  • Classes are mapped to LF
  • Aggregation and Inheritance is encountered
  • Mainly a concern of implementation
  • At analysis phase
  • Each class is a LF
  • Scale factor 1 (Origin of class does not matter)
  • At design phase
  • Scale factor lt1, reuse makes classes easier to
    develop
  • For designer, each class is LF
  • For user perspective, it is complicated

27
OOFP
  • Ways to Identify LF
  • Simple LF
  • Sigle Class is a LF
  • Composite LF
  • Aggregation
  • Generalization/Specialization
  • Mixed (combine aggregation and generalization)

28
Aggregation
Single
Mix
Generalization
29
OOFP
  • Calcution of DET and RETs
  • One RET for each ILF/ELF
  • Simple LF
  • Simple attributes sucs as integer and strings
    counted as DET
  • Associations are counted as DET or RET accoring
    to cardinality
  • Single valued association is DET
  • Multiple valued association is RET

30
OOFP
  • Composite LF
  • DETs and RETs are counted as in simple LF, except
    for aggregation
  • Aggregations act as subgroups in composite LF
  • One RET is counted for aggregations
  • For each OOFP , weighted vector table for ILF and
    ELF in IFPUG (international function point user
    group)

31
OOFP
  • Service Requests
  • Concrete methods are only counted once, abstract
    methods are not counted
  • Simple Items (analogy to DET)
  • simple data items referenced as a argument
  • simple global variables referenced by the method
  • Complex Items (analogy to FTR)
  • Complex arguments, objects and complex global
    variables references by the method
  • For each OOFP(SR) , weighted vector table for
    EI,EQ in IFPUG

32
OOFP
33
Class Points
  • Recasting the ideas underlying the FP analysis
    within the OO paradigm and by suitably combining
    well-known OO measures.
  • CP1 Provides an initial size estimation at the
    beginning of the development process.
  • CP2 Calculated whendata that are usually
    available later in the development process.
  • Similar to POP counting, with the main difference
    lying in the fact that we distinguish among
    categories of classes, rather than classifying
    methods.

34
Class Point Measure Steps
  • Identification and Classification of User Classes
  • Problem Domain Type(PDT)
  • Human Interaction Type (HIT)
  • Data Management Type (DMT)
  • Task Management Type (TMT)

35
Class Point Measure Steps
  • Evaluation of a Class Complexity Level
  • Number of External Methods (NEM) measures the
    size of the interface of a class and is
    determined by the number of locally defined
    public methods.
  • Number of Services Requested (NSR) provides a
    measure of the interconnection of system
    components.

CP1
36
Class Point Measure Steps
CP2
TUPC
37
Class Point Measure Steps
  • Complexity Adjustment Factor
  • 4 requirements are added to requirements
  • User Adaptivity
  • Rapid Prototyping
  • Multiuser Interactivity
  • Multiple Interfaces
  • Final Calculations

38
  • THANKS!!
Write a Comment
User Comments (0)
About PowerShow.com