Vroege Functiepuntanalyse

Nesma kent drie methoden voor functiepuntanalyse:

  • Gedetailleerde functiepuntanalyse
  • Geschatte functiepuntanalyse
  • Indicatieve functiepuntanalyse

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

Dit is de gebruikelijke methode voor functiepuntanalyse en wordt als volgt uitgevoerd:

  • Bepaal alle functies van alle functietypen (ILF, EIF, NIET, EO, EQ)
  • Beoordeel de complexiteit van elke functie (Laag, Gemiddelde, Hoog)
  • Bereken het totale aantal niet-gecorrigeerde functiepunten

High-level FPA (aka. geschatte FPA)

De functiepuntanalysemethode op hoog niveau wordt als volgt uitgevoerd:

  • Bepaal alle functies van alle functietypen (ILF, EIF, NIET, EO, EQ)
  • Beoordeel de complexiteit van elke gegevensfunctie (ILF, EIF) als Laag en van elke transactionele functie (NIET, EO, EQ) als gemiddeld
  • bereken het totale aantal niet-aangepaste functiepunten

Zo, het enige verschil van deze benadering met de gedetailleerde functiepuntanalysemethode is dat de complexiteit niet per individuele functie wordt bepaald, maar standaard.

Indicatieve FPA

De indicatieve functiepuntanalysemethode wordt als volgt uitgevoerd:

  • Bepaal het aantal datafuncties (ILF's en EIF's);
  • Bereken het totale aantal niet-aangepaste functiepunten van de applicatie als volgt: 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).

De indicatieve functiepuntanalyse is gebaseerd op de aanname dat er ongeveer drie EI's zullen zijn (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. De meer nauwkeurige functionele maat die men wil, de meer gedetailleerde gebruikersvereisten die men nodig heeft. Daarom presenteert deze casestudy de drie methoden van functiepuntanalyse in volgorde van toenemende nauwkeurigheid:

  • Indicatieve functiepuntanalyse
  • Hoog niveau (geschatte) functiepuntanalyse
  • (Gedetailleerd) functiepuntanalyse

Indicatieve FPA

Voor een indicatieve functiepuntanalyse is alleen informatie over de datafuncties nodig.

Gebruikers vereisten:

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

Dit (ruw) specificatie is voldoende voor een indicatieve telling van functiepunten:

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

Functie type

Functie punten
(standaard)

Klant

ILF

35

Product

ILF

35

Leverancier

EIF

15

Indicatieve functionele omvang

85 fp

High-level FPA

Om een ​​functiepuntanalyse op hoog niveau uit te voeren, hebben we ook informatie nodig over de transactionele functies, 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

Deze meer gedetailleerde specificatie van de gebruikersvereisten toont het werkelijke aantal transactiefuncties, en maakt daarom een ​​geschatte telling van functiepunten mogelijk.

Gegevens- of transactiefunctie

Functie type

Complexiteit (standaard)

Functie punten (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

Geschatte functionele omvang

85 fp

Gedetailleerde FPA

Om een ​​gedetailleerde telling van functiepunten uit te voeren, men heeft niet alleen het aantal functies van elk functietype nodig (NIET, EO, EQ, ILF, EIF), maar men moet ook de functionele complexiteit van elke individuele functie bepalen (Laag, Gemiddelde, Hoog). In FPA, de functionele complexiteit van a (gegevens of transactionele) functie wordt bepaald, gebaseerd op het aantal DET's, RET's en bestandstypen waarnaar wordt verwezen die relevant zijn voor deze functie. Dat is waarom de gebruikersvereisten (zoals ze hierboven in dit voorbeeld werden vermeld toen we het geschatte aantal functiepunten bespraken) moeten nader worden geanalyseerd: welke gegevenselementen (zijn) en logische bestanden (Bestandstypen waarnaar wordt verwezen) worden gebruikt door een transactionele functie (NIET, EO, EQ), en welke logische datagroepen (RET's) en gegevenselementen (zijn) een datafunctie (ILF, EIF) bestaat uit. Deze gedetailleerde analyse van de gebruikersvereisten zou kunnen resulteren in het volgende aantal functiepunten:

Gegevens- of transactiefunctie

Functie type

Complexiteit

Functie punten (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 deze specifieke case study resulteren alle drie de methoden in dezelfde functionele grootte van 85 functiepunten. Meestal zijn de resultaten niet precies hetzelfde, maar nog steeds vrij dicht bij elkaar. Hieronder worden de resultaten van onderzoek naar de nauwkeurigheid van de geschatte en indicatieve functiepuntanalysemethoden weergegeven.

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. de grootte gemeten via de high-level functiepuntanalysemethode versus de grootte gemeten via de gedetailleerde functiepuntanalysemethode:

estdetfp

2. de grootte gemeten via de indicatieve functiepuntanalyse versus de grootte gemeten via de gedetailleerde functiepuntanalyse:

inddetfp

Er is een goede correlatie (rechte lijn) in beide gevallen. In de grafiek van de indicatieve functiepuntanalyse, echter, er zijn aanzienlijke afwijkingen (tot ongeveer 50%) in sommige gevallen. Daarom moet men voorzichtig zijn bij het gebruik van de indicatieve functiepuntanalyse. 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.

Wanneer welke methode moet worden gebruikt voor het tellen van functiepunten

Een gedetailleerde functiepuntanalyse is nauwkeuriger dan een geschatte of indicatieve analyse, maar het kost ook meer tijd en heeft meer gedetailleerde specificaties nodig. Het is aan de projectmanager en de fase in de levenscyclus van het systeem welke functiepuntanalysemethode wordt gebruikt.

De resultaten van de functiepuntanalyse op hoog niveau en de gedetailleerde functiepuntanalyse komen zeer dicht bij elkaar. 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.

Bij veel applicaties geeft een indicatieve functiepuntanalyse een verrassend goede schatting van de omvang van de applicatie. Het uitvoeren van een indicatieve functiepuntanalyse is vaak relatief eenvoudig, 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.