Vroege Functiepuntanalyse

Nesma recognizes three function point analysis methods:

  • Detailed function point analysis
  • Estimated function point analysis
  • Indicative function point analysis

Al deze drie methoden zijn een op zichzelf staande meting van functionele afmetingen (FSM) methode op zichzelf. De FPA-methode op hoog niveau en de indicatieve FPA-methode vereisen geen gedetailleerde gebruikersvereisten, terwijl de functionele grootte bepaald met behulp van deze methoden zeer dicht bij de functionele grootte is bepaald met behulp van de gedetailleerde FPA-methode. Daarom zijn deze twee methoden zeer geschikt om vroeg in de levenscyclus van softwareontwikkeling te worden toegepast of voor het geval de functionele omvang snel moet worden bepaald.

The information on this page is also available as a free document
in Dutch, English, Portuguese and Japanese.

Gedetailleerde FPA

This is the usual function point analysis method and is performed as follows:

  • Determine all functions of all function types (ILF, EIF, NIET, EO, EQ)
  • Rate the complexity of every function (Laag, Gemiddelde, Hoog)
  • Calculate the total unadjusted function point count

High-level FPA (aka. geschatte FPA)

The high-level function point analysis method is performed as follows:

  • Determine all functions of all function types (ILF, EIF, NIET, EO, EQ)
  • Rate the complexity of every data function (ILF, EIF) as Low and of every transactional function (NIET, EO, EQ) als gemiddeld
  • calculate the total unadjusted function point count

Zo, the only difference of this approximation with the detailed function point analysis method is that the complexity is not determined per individual function, maar standaard.

Indicatieve FPA

The indicative function point analysis method is performed as follows:

  • Determine the number of data functions (ILF's en EIF's);
  • Calculate the total unadjusted function point count of the application as follows: indicatieve maat (fp) = 35 x aantal ILF's + 15 x aantal EIF's

Deze benadering is dus uitsluitend gebaseerd op de logische bestanden (ILF's en EIF's).

The indicative function point analysis is based on the assumption that there will be about three EIs (toevoegen, verandering, en verwijder informatie in de ILF), twee EO's, en gemiddeld één EQ voor elke ILF, en ongeveer één EO en één EQ voor elk EIF.

Voorbeeld indicatief, hoogwaardige en gedetailleerde FPA

Deze sectie illustreert de drie FPA-methoden door een kleine casestudy: een applicatie die klantgegevens en productgegevens bijhoudt, en referenties Leveranciersgegevens. The more accurate functional size one wants, de meer gedetailleerde gebruikersvereisten die men nodig heeft. That’s why this case study presents the three methods of function point analysis in the order of increasing accuracy:

  • Indicative function point analysis
  • Hoog niveau (geschatte) function point analysis
  • (Gedetailleerd) function point analysis

Indicatieve FPA

For an indicative function point analysis just information about the data functions is needed.

Gebruikers vereisten:

  • gebruiker wil Klantgegevens en Productgegevens onderhouden, en om te verwijzen naar leveranciersgegevens.

Dit (ruw) specification is enough for an indicative function point count:

  • ILF: Klant en product
  • EIF: Leverancier
Data function

Function type

Function points
(standaard)

Klant

ILF

35

Product

ILF

35

Leverancier

EIF

15

Indicative functional size

85 fp

High-level FPA

To perform a high-level function point analysis we also need information about the transactional functions, er zijn dus meer gedetailleerde gebruikersvereisten nodig: Gebruikers vereisten:

  • Gebruiker wil toevoegen, verandering, Klantgegevens verwijderen, wil informeren naar de klant, en vereist ook vier verschillende rapporten over de klant met berekende gegevens
  • Gebruiker wil toevoegen, verandering, Productgegevens verwijderen, wil informeren naar Product, en vereist ook een rapport over het product met berekende gegevens
  • Gebruiker wil navraag doen bij leverancier met leveranciersnummer, en vereist ook een rapport over de leverancier met de totale resultaten

This more detailed specification of the user requirements shows the actual amount of transactional functions, and therefore enables an estimated function point count.

Data or transactional function

Function type

Complexiteit (standaard)

Function points (niet aangepast)

Klant

ILF

Laag

7

Product

ILF

Laag

7

Leverancier

EIF

Laag

5

Klant toevoegen

NIET

Gemiddelde

4

Klant wijzigen

NIET

Gemiddelde

4

Klant verwijderen

NIET

Gemiddelde

4

Informeer bij de klant

EQ

Gemiddelde

4

Verslag doen van 1 op klant

EO

Gemiddelde

5

Verslag doen van 2 op klant

EO

Gemiddelde

5

Verslag doen van 3 op klant

EO

Gemiddelde

5

Verslag doen van 4 op klant

EO

Gemiddelde

5

Product toevoegen

NIET

Gemiddelde

4

Product wijzigen

NIET

Gemiddelde

4

Product verwijderen

NIET

Gemiddelde

4

Informeer naar het product

EQ

Gemiddelde

4

Rapport over product

EO

Gemiddelde

5

Informeer bij leverancier

EQ

Gemiddelde

4

Rapport over leverancier

EO

Gemiddelde

5

Estimated functional size

85 fp

Gedetailleerde FPA

To carry out a detailed function point count, one does not only need the number of functions of each function type (NIET, EO, EQ, ILF, EIF), but one also needs to determine the functional complexity of each individual function (Laag, Gemiddelde, Hoog). In FPA, the functional complexity of a (gegevens of transactionele) function is determined, gebaseerd op het aantal DET's, RETs and File Types Referenced that are relevant to this function. Dat is waarom de gebruikersvereisten (as they were stated above in this example when we discussed the estimated function point count) moeten nader worden geanalyseerd: welke gegevenselementen (zijn) en logische bestanden (Bestandstypen waarnaar wordt verwezen) are used by a transactional function (NIET, EO, EQ), en welke logische datagroepen (RET's) en gegevenselementen (zijn) a data function (ILF, EIF) bestaat uit. This detailed analysis of the user requirements could result in the following function point count:

Data or transactional function

Function type

Complexiteit

Function points (niet aangepast)

Klant

ILF

Gemiddelde

10

Product

ILF

Laag

7

Leverancier

EIF

Laag

5

Klant toevoegen

NIET

Hoog

6

Klant wijzigen

NIET

Gemiddelde

4

Klant verwijderen

NIET

Laag

3

Informeer bij de klant

EQ

Laag

3

Verslag doen van 1 op klant

EO

Laag

4

Verslag doen van 2 op klant

EO

Gemiddelde

5

Verslag doen van 3 op klant

EO

Laag

4

Verslag doen van 4 op klant

EO

Hoog

7

Product toevoegen

NIET

Gemiddelde

4

Product wijzigen

NIET

Laag

3

Product verwijderen

NIET

Laag

3

Informeer naar het product

EQ

Gemiddelde

4

Rapport over product

EO

Gemiddelde

5

Informeer bij leverancier

EQ

Laag

3

Rapport over leverancier

EO

Gemiddelde

5

functionele omvang

85 fp

Gevolgtrekking

In this particular case study all three methods result in the same functional size of 85 functiepunten. Meestal zijn de resultaten niet precies hetzelfde, maar nog steeds vrij dicht bij elkaar. Below the results of research on the accuracy of the estimated and indicative function point analysis methods are shown.

Resultaten van onderzoek op basis van a 100+ projecten database

Met behulp van een database van ongeveer 100+ ontwikkelde en geïmplementeerde applicaties Nesma heeft onderzoek gedaan naar de nauwkeurigheid van de geschatte en indicatieve FPA-benaderingsmethoden. De geïmplementeerde applicaties werden gelijktijdig gemeten met behulp van alle drie de FPA-methoden. De resultaten worden weergegeven in twee grafieken:

1. the size measured via the high-level function point analysis method versus the size measured via the detailed function point analysis method:

estdetfp

2. the size measured via the indicative function point analysis versus the size measured via the detailed function point analysis method:

inddetfp

Er is een goede correlatie (rechte lijn) in beide gevallen. In the graph of the indicative function point analysis, echter, er zijn aanzienlijke afwijkingen (tot ongeveer 50%) in sommige gevallen. That is why one should be careful using the indicative function point analysis. De kracht van deze indicatieve FPA-methode is dat men in zeer korte tijd gemakkelijk een ruwe schatting krijgt van de omvang van een applicatie.

In een applicatie met meer (of minder) dan een normaal aantal inputs of outputs, mogelijk moet u de vermenigvuldigers van wijzigen 35 en 15, maar de filosofie achter de aanpak kan over het algemeen worden gebruikt.

When to use which method for function point counting

A detailed function point analysis is more accurate than an estimated or an indicative analysis, maar het kost ook meer tijd en heeft meer gedetailleerde specificaties nodig. It’s up to the project manager and the phase in the system life cycle as to which function point analysis method is used.

The results of the high-level function point analysis and the detailed function point analysis are very close. Er is geen statistisch significant verschil in de uitkomsten van beide FPA-methoden. Daarom hebben veel organisaties ervoor gekozen om standaard de hoogwaardige FPA-methode te gebruiken, in plaats van de gedetailleerde FPA-methode.

In many applications an indicative function point analysis gives a surprisingly good estimate of the size of the application. It is often relatively easy to carry out an indicative function point analysis, omdat een datamodel beschikbaar is of met weinig moeite kan worden gemaakt. Wees voorzichtig bij het gebruik van deze methode, omdat het slechts een ruwe indicatie geeft van de maat, en afwijkingen zijn mogelijk.