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 |
---|---|---|
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:
2. de grootte gemeten via de indicatieve functiepuntanalyse versus de grootte gemeten via de gedetailleerde functiepuntanalyse:
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.