Function Point Analysis. Function Points Analysis (FPA) What is Function Point Analysis (FPA)? Function points are a standard unit of measure that represent.

Slides:



Advertisements
Similar presentations
Database Planning, Design, and Administration
Advertisements

FPA – IFPUG CPM 4.1 Rules.
Planning a software project: Function point analysis. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Function Point Analysis example. Function point FP is defined as one end-user business function FPA evaluates the system from a user perspective.
Object-Oriented Metrics. Characteristics of OO ● Localization ● Encapsulation ● Information hiding ● Inheritence ● Object abstraction.
R&D SDM 1 Metrics How to measure and assess software engineering? 2009 Theo Schouten.
Software project management (intro)
© Copyright Eliyahu Brutman Programming Techniques Course.
CS 551 Estimation Fall December QSE Lambda Protocol Prospectus Measurable Operational Value Prototyping or Modeling sQFD Schedule, Staffing,
Lecture Nine Database Planning, Design, and Administration
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
Estimating Software Size Part I. This chapter first discuss the size estimating problem and then describes the PROBE estimating method used in this book.
Software Metric capture notions of size and complexity.
Copyright © The David Consulting Group, Inc. 1 UNDERSTANDING and EFFECTIVELY USING FUNCTIONAL MEASUREMENT Presented By The David Consulting Group.
Database System Development Lifecycle © Pearson Education Limited 1995, 2005.
Overview of the Database Development Process
Cmpe 589 Spring Software Quality Metrics Product  product attributes –Size, complexity, design features, performance, quality level Process  Used.
COCOMO Models Ognian Kabranov SEG3300 A&B W2004 R.L. Probert.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Chapter 6 : Software Metrics
Coupling and Cohesion Pfleeger, S., Software Engineering Theory and Practice. Prentice Hall, 2001.
Function Point Analysis What is Function Point Analysis (FPA)? It is designed to estimate and measure the time, and thereby the cost, of developing new.
1 Minggu 9, Pertemuan 17 Database Planning, Design, and Administration Matakuliah: T0206-Sistem Basisdata Tahun: 2005 Versi: 1.0/0.0.
Sizing Your Development Effort Using Function Point Analysis Mike Pasley Logic Central
Personal Estimation with PROBE CS3300 Fall Code Size Estimation Wide Band Delphi (Boehm) Give the team the specs to study Discuss the project goals.
Version control – Project repository, version management capability, make facility, issue/bug tracking Change control Configuration audit – compliments.
Software Metrics Software Engineering.
Software Engineering SM ? 1. Outline of this presentation What is SM The Need for SM Type of SM Size Oriented Metric Function Oriented Metric 218/10/2015.
1 Estimation Function Point Analysis December 5, 2006.
Lecture 4 Software Metrics
Software Engineering Research Group, Graduate School of Engineering Science, Osaka University 1 Evaluation of a Business Application Framework Using Complexity.
Cohesion and Coupling CS 4311
Software complexity estimation by Adam Bondarowicz by Adam Bondarowicz.
SEG3300 A&B W2004R.L. Probert1 COCOMO Models Ognian Kabranov.
Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA Bellevue.
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
Effort Estimation In WBS,one can estimate effort (micro-level) but needed to know: –Size of the deliverable –Productivity of resource in producing that.
Functional Size Measurement Methodologies. What is FSM ? Definitions: Functional Size: A size of the software derived by quantifying the Functional User.
CSE SW Project Management / Module 13 - Function Points and Related Methods Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M13.
540f07cost12oct41 Reviews Postmortem u Surprises? u Use white background on slides u Do not zip files on CD u Team leader should introduce team members.
Personal Estimation with PROBE CS3300 Fall Process Everybody has one !!! Formal – Completely defined and documented Informal – Just the way things.
NASA Software Assurance Symposium 2001 Metrics for Fault-Tolerant Real-Time Software Afzel Noore Computer Science and Electrical Engineering West Virginia.
FUNCTION POINT ANALYSIS & ESTIMATION
Intro to Estimating Part Art, Part Science. Importance of Good Estimates Time (Realistic Deadlines) most software projects are late because the time was.
Coupling and Cohesion Schach, S, R. Object-Oriented and Classical Software Engineering. McGraw-Hill, 2002.
Coupling and Cohesion Pfleeger, S., Software Engineering Theory and Practice. Prentice Hall, 2001.
Cost9b 1 Living with Function Points Bernstein and Lubashevsky Text pp
Estimation Questions How do you estimate? What are you going to estimate? Where do you start?
Cost23 1 Question of the Day u Which of the following things measure the “size” of the project in terms of the functionality that has to be provided in.
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M13 - Version 8.01 SMU CSE 7315 Planning and Managing a Software Project.
Internal Logical Files (ILF) An internal logical file (ILF) is a user identifiable group of logically related data or control information maintained within.
Alternative Software Size Measures for Cost Estimation
The Work Breakdown Structure and Project Estimation
Testing Techniques.
RET Rules One of the following rules applies when counting RETs:
Sizing With Function Points
Prepared by Manish Sharma Manish Kumar Kushwaha
Function Point Analysis
Mk II Function Point Analysis
Alternative Software Size Measures for Cost Estimation
Software Size Measures for Cost Estimation
Function Point.
Chapter 5: Software effort estimation- part 2
Software Metrics “How do we measure the software?”
More on Estimation In general, effort estimation is based on several parameters and the model ( E= a + b*S**c ): Personnel Environment Quality Size or.
COCOMO Models.
Software Sizing and Costing
Software Effort Estimation
COCOMO MODEL.
Presentation transcript:

Function Point Analysis

Function Points Analysis (FPA) What is Function Point Analysis (FPA)? Function points are a standard unit of measure that represent the functional size of a software application. 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.

Objectives of Function Point Analysis Measure software by quantifying the functionality requested by and provided to the customer. Measure software development and maintenance independently of technology used for implementation. Measure software development and maintenance consistently across all projects and organizations.

Important FPA notes Measured from the user's perspective Technology-independent Low cost Repeatable Work well with use cases

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)

FPA External Interface Files Internal Logical Files Inquiries InputOutput Boundary

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

FPA EQ:An 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

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

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 present=0 Insignificant Influence=1 Moderate Influence=2 Average Influence=3 Significant Influence=4 Strong influence, throughout=5

FP Calculation Complexity Adjustment Factor (CAF)  CAF = x DI each degree of influence is worth 1 percent of a Total count factor which can range from 0.65 to 1.35 Adjusted Function Points (AFP)  AFP = CAF x UFP

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.

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

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. Function point counts are affected by project size Difficult to apply to massively distributed systems or to systems with very complex internal processing Difficult to define logical files from physical files

Critics to FPA 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

Benefits of FPA Organizations that adopt Function Point Analysis as a software metric realize many benefits including:  improved project estimating  understanding project and maintenance productivity  managing changing project requirements; and gathering user requirements

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.

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.

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

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

OOFP OOFP Calculation

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 f<=1 All OOFP values are summed up.

OOFP Process

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 <1, reuse makes classes easier to develop For designer, each class is LF For user perspective, it is complicated

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

Single Aggregation Generalization Mix

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

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 )

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

OOFP