De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

NESMA najaarsconferentie

Verwante presentaties


Presentatie over: "NESMA najaarsconferentie"— Transcript van de presentatie:

1 NESMA najaarsconferentie
Converteren van Functionele omvang: Van FPA naar COSMIC-FFP Harold van Heeringen 7 december 2006 Vechthuis,Utrecht Sogeti Nederland B.V.

2 Overzicht Waarom van FPA naar COSMIC-FFP? FPA in a nutshell
COSMIC-FFP in a nutshell Overeenkomsten en verschillen Conversie - Eerdere studies Conversie - Sogeti studie Aanbevelingen

3 COSMIC-FFP Tweede generatie FSM Bestaat sinds eind jaren ‘90
Toepasbaar op de domeinen: bedrijfsapplicatie software, realtime software, infrastructuur software en hybriden Maakt meten van herbruikbare componenten mogelijk Geschikt voor traditionele ontwikkelmethodieken en architecturen Geschikt voor moderne ontwikkelmethodieken (RUP, OO, etc) Geschikt om software in moderne architecturen te meten (meerlagen, soa)  COSMIC is beter toegespitst op het meten van moderne vormen van documentatie dan FPA

4 Mogelijke redenen om van FPA naar COSMIC-FFP te gaan
Nieuwe ontwikkelmethodieken en daarom van andere vormen van functionele documentatie.  FPA minder goed toepasbaar De organisatie wil ook software in het realtime, telecommunicatie of infrastructuur domein gaan meten. De organisatie wil de omvang van verschillende afzonderlijke componenten vaststellen. De organisatie wil dat er genuanceerdere metingen worden uitgevoerd. Een zeer complexe functie zou een grotere omvang moeten opleveren dan een complexe functie. De organisatie is op een manier ingericht dat een afdeling slechts een deel van een gebruikersfunctie bouwt. Men wil echter wel op afdelingsniveau kunnen meten en begroten. Waarom meet dan niet iedereen met COSMIC-FFP??

5 Overstappen? Overstappen van FPA naar COSMIC-FFP wordt als onwenselijk beschouwd omdat men bang is dat de met veel pijn en moeite in FPA opgebouwde ervaringscijfers dan nutteloos worden.  Tenzij er een goede manier is om een database met ervaringscijfers te converteren van FP naar cfsu!

6 Functionele omvang

7 Omvang Methoden om de omvang van software te meten Probleem:
Source lines of code Number of objects Number of screens Number of classes etc Probleem: Meetresultaten hangen sterk af van de gekozen technische implementatie  Moeilijk te vergelijken. Pas meetbaar na implementatie ISO Functional Size Measurement

8 Hebben we het over hetzelfde ??
ISO-Standaard 14143 400 400 Er is een ISO-standaard die voorschrijft hoe requirements objectief gemeten kunnen worden. Niet inhoudelijk ingaan op de methodieken, maar aangeven dat deze methoden de omvang van de functionaliteit van software (de requirements van de gebruiker dus) kwantitatief meetbaar maken. Functiepuntanalyse is data georiënteerd en dus vooral geschikt voor administratieve systemen. COSMIC-FFP is proces georiënteerd en is ook geschikt voor real-time systemen. Waarom is dat interessant? Omdat je dan een duidelijke standaard hebt hoe requirements in een getalswaarde worden uitgedrukt en het dus niet uitmaakt wie je die vertaalslag laat maken. Doordat de methodiek gestandaardiseerd is kun je deze als basis voor contracten gebruiken. Functiepuntanalyse is niet nauwkeurig. Dat is waar als je er deterministisch naar kijkt. Geef twee analisten dezelfde documentatie en de uitkomst kan tot 12% afwijken. Is daarmee de methode waardeloos? Vergelijk het met een dobbelsteen: Als je met twee stenen een 1 en een 3 gooit, zijn ze dan verschillend? Bij functiepuntanalyse wel. Maar bij een dobbelsteen zeg je pas na een aantal keer gooien dat ze een verschillende kans hebben. Chris Verhoef heeft metingen van ruim functiepunten in honderden projecten bekeken en geen verschil in kans ontdekt bij meer dan 90% van de gemeten functiepunten. Het uitvoeren van een omvangsmeting kost één tot enkele €uro’s per eenheid. Een totaal bouwtraject vaak algauw honderden euro’s per eenheid, afhankelijk van een aantal factoren die Warner toe gaat lichten. Sogeti Nederland B.V.

9 ISO standaard? Consistent Ondubbelzinnig Wereldwijde afspraak
Onafhankelijk van technische implementatie ISO gecertificeerd (anno 2006) IFPUG FPA, Mark II Function Points NESMA FPA, COSMIC-FFP,

10 Functional Sizing Methods

11 Business requirements System requirements (hoe)
FSM  User Requirements User requirements (wat) Business requirements (waarom) System requirements (hoe)

12 User requirements Functional UR Technical UR Quality UR
FPA en COSMIC-FFP meten alleen de Functional User Requirements

13 Functional User Requirements
Functional User Requirements (FUR) kunnen uit de verschillende ontwerp producten worden ge-extraheerd voordat de software bestaat… Requirements definitie documenten Functional User Requirements Data analyse / modellering documenten Functionele decompositie documenten Sogeti Nederland B.V.

14 Functional User Requirements
Functional User Requirements (FUR) kunnen ook worden geidentificeerd nadat de software is gerealiseerd Fysieke Programma’s en schermen Functional User Requirements Gebruikers- handleidingen en procedures Fysieke databases

15 Functiepunt Analyse

16 Functiepunt Zodra de FUR zijn vastgesteld, kunnen we FPA gebruiken om de omvang te meten De functiepunt is de eenheid om de omvang te bepalen van de functionaliteit die aan de gebruiker wordt aangeboden vanuit het gezichtspunt van de gebruiker.

17 Functiepunt Analyse Transacties Data Gebruiker kgv ilgv IF OF UF

18 Functionaliteit twee types functionaliteit transacties data
o p v r a a g u i t v o E r n e Ondersteunende functies Interne Logische Gegevens Verzameling Koppelings Gegevensverzameling data

19 Waardering: LGV ILGV KGV Data-Element-Types Record- Types
1 2 - 5 > 5 Data-Element-Types > 50 H(15) G(10) L(7) Record- Types 1 - 19 ILGV KGV 1 2 - 5 > 5 Data-Element-Types > 50 H(10) G(7) L(5) Record- Types 1 - 19

20 Waardering: Transacties
0 - 1 2 > 2 Data-Element-Typen > 15 H(6) G(4) 5 - 15 L(3) 1 - 4 gerefereerde Logische Gegevens- Verzamelingen Invoerfunctie Uitvoerfunctie 0 - 1 2 - 3 > 3 Data-Element-Typen > 19 H(7) G(5) 6 - 19 L(4) 1 - 5 gerefereerde Logische Gegevens- Verzamelingen

21 Meten: voorbeeld FPA FUR Aanmaken nieuwe medewerker (vanuit menu)
LGV’s WERKNEMER FUNCTIE Attributen naam, adres, tel., datum in dienst, functiecode functiecode, omschrijving, salarisschaal Invoerfunctie LGV = 2 (WERKNEMER en FUNCTIE) DET = 6 (5 attributen + 1 appl det voor opstarten functie) Gemiddelde invoerfunctie, 4 FP 0 - 1 2 > 2 > 15 H(6) G(4) 5 - 15 L(3) 1 - 4 Sogeti Nederland B.V.

22 FPA samenvattend Toepasbaarheid FPA is sterk afhankelijk van de aanwezigheid van een datamodel FPA kent een waarde toe aan de aanwezige gegevensverzamelingen en aan de aanwezige functies Deze waarde is per functie begrensd

23 COSMIC-FFP

24 COSMIC Full Function Points
functioneel proces transient [vluchtig] persistent [permanent] Gegevens Transacties Gebruiker e w x r Sogeti Nederland B.V.

25 Functioneel Proces Functioneel Proces Elementaire component van de FUR
Unieke, samenhangende, onafhankelijk uitvoerbare set van data movements Wordt getriggered door een triggering event in de wereld van de gebruiker Is pas afgerond op het moment dat alles is gedaan wat op basis van dat triggering event mag worden verwacht. Functionele processen zijn vrijwel altijd gelijk aan FPA functies Sogeti Nederland B.V.

26 Data Group - vb In het logisch datamodel komt een entiteit voor met de naam MEDEWERKER, met de volgende attributen: Medewerker, naam, adres, tel., datum in dienst, functiecode Object of Interest Functioneel Proces Data groep (Write) Medewerker Toevoegen mdw {mdwnr, naam, adres, woonplaats, sofinr} Wijzigen mdw {naam, adres, woonplaats} Verwijderen mdw {mdwnr} Sogeti Nederland B.V.

27 Meetfase Identificeer van elk functioneel proces de data movements
Elke data movement is één Cfsu Cfsu = COSMIC Functional Size Unit De omvang van de te meten software is gelijk aan het aantal geïdentificeerde data movements Sogeti Nederland B.V.

28 Meten: voorbeeld COSMIC-FFP
Functioneel proces Aanmaken nieuwe medewerker (vanuit menu) OOI WERKNEMER FUNCTIE Data Movement Entry Read Write Exit Attributen naam, adres, tel., dat. id, functiecode functiecode, omschrijving, salarisschaal Data Group {werknemergegevens} FUNCTIE WERKNEMER {medewerkernummer} {boodschap (fout / bevestiging)} Totaal: 5 Cfsu NB: Standaard 1 exit voor melding Sogeti Nederland B.V.

29 COSMIC-FFP samenvattend
COSMIC-FFP is niet afhankelijk van de aanwezigheid van een datamodel COSMIC-FFP kent een waarde toe aan verplaatsingen van datagroepen binnen functionele processen Deze waarde is niet begrensd per functioneel proces

30 Verschillen en Overeenkomsten

31 Belangrijkste verschillen methodieken
FPA COSMIC-FFP Toepasbaar op Domein Bedrijfsapplicaties Bedrijfsapplicaties, Realtime, Infrastructuur Datamodel vereist? Ja Nee (wel handig) Meten van afzonderlijke componenten mogelijk? Nee Omvang per functie begrensd? Benchmarking data Veel Weinig Meten van complexe verwerking Nee, maar lokale uitbreiding mogelijk Early sizing o.b.v. datamodel o.b.v. procesmodel

32 Overeenkomsten in terminologie
NESMA FPA 2.2 COSMIC-FFP 2.2 User Gebruiker FURs Applicatie Application Systeemgrens Boundary Transactie Gebruikerstransactie Functional process Logische gegevensgroep LGV Data group Data element type (DET) DET

33 De methodes vergeleken
FSM Method Datagroep types Datagroep omvang Transactie types Trans-actie Transactie omvang FPA ILGV # RET’s # DET’s Invoerfunctie # Gerefereerde LGV’s KGV Uitvoerfunctie Opvraagfunctie COSMIC-FFP Transient Onderdeel van Functioneel proces Functioneel Proces Entry # data movements Exit Persistent Read Write

34 Overeenkomsten en verschillen in telwijze
FUR worden geanalyseerd FPA Functies / Functionele processen worden geidentificeerd De complexiteit van een functie / functioneel proces wordt bepaald door het toekennen van een getal die de functionele omvang weergeeft. Verschillen: Het datamodel wordt bij FPA wel gekwantificeerd, niet bij COSMIC-FFP De complexiteit van de functies wordt bij FPA uit een tabel gehaald (max. 7) en bij COSMIC bepaald op basis van het aantal datagroep verplaatsingen tijdens het proces (geen maximum).

35 van FPA naar COSMIC-FFP
Converteren van FPA naar COSMIC-FFP

36 Eerdere Conversie studies
Fetcke (1999) N=4 Y(Cfsu) = 1,1(FP IFPUG) – 7,6 R2 = 0.97 Vogelezang & Lesterhuis (2003) N=11 Y(Cfsu) = 1,2(FP NESMA) – 87 R2 = 0.99 <200 FP: Y(Cfsu) = 0,75(FP) – 2.6 >200 FP: Y(Cfsu) = 1,2(FP) – 108 Desharnais & Abran (2006) N=14 Y(Cfsu) = 1,0(FP IFPUG) – 3 R2 = 0.93 Transactions only: Y(Cfsu) = 1,36 (FPTX) + 0 R2 = 0.98

37 Onderzoek Doel – Onderzoeken of het mogelijk is om een conversieformule te bepalen om een gemeten omvang in FP te converteren naar een omvang in cfsu Methode – Zowel in FPA als in COSMIC-FFP meten van een aantal projecten om daarna de verschillen te analyseren Projecten – 28 nieuwbouwprojecten voor verschillende klanten

38 Resultaten deel 1 Project #cfsu # Func. Proc. Gem. cfsu # FP # ILGV
# kGV # IF # UF # OF A 66 7 9,4 61 1 4 6 B 75 8 112 2 9 C 73 14 5,2 129 12 D 120 15 8,0 135 3 E 137 25 5,5 136 13 11 F 257 43 6,0 245 31 23 G 270 36 7,5 249 H 286 44 6,5 279 20 I 352 J 252 35 7,2 K 313 54 5,8 302 16 19 L 301 34 8,9 334 26 27 M 281 42 6,7 381 30 N 509 51 10,0 412 21

39 Resultaten deel 2 Project #cfsu # Func. Proc Gem. cfsu # FP #ILGV #kGV
# IF # UF #OF O 530 104 5,1 498 21 63 39 6 P 445 66 6,7 499 16 3 45 34 1 Q 488 64 7,6 565 38 25 R 848 106 8,0 779 10 5 54 13 S 620 118 5,3 586 31 75 30 2 T 778 152 606 17 55 8 U 714 113 6,3 627 23 58 22 V 603 110 5,5 653 53 20 W 893 7,9 741 49 51 X 737 151 4,9 873 ? 83 Y 925 159 5,8 874 32 95 Z 1144 143 924 136 7 AA 1448 181 1076 43 AB 1864 223 8,4 1622 27 4 169 221

40 Sogeti 2006 N=28 Y(Cfsu) = 1,2(FP NESMA) – 54 R2 = 0.95

41 Opdelen dataset? Alleen transacties  geen hoge R2
Opsplitsen in datasets groter en kleiner dan 200 verkleint de R2 1 formule voor hele dataset geeft de beste correlatie

42 Outliers Mogelijke oorzaken: FP > cfsu Cfsu > FP
Omvangrijk datamodel, maar geen dekkende CRUD matrix Relatief veel KGV’s (meer dan 50%) Veel kleine functionele processen (3 a 4 cfsu) Cfsu > FP Veel functies waarin data van veel entiteiten wordt verplaatst Veel onderhoudbare codetabellen Veel output processen Veel zeer eenvoudige functies (message X speelt zware rol)

43 Aanbevelingen Om een database met ervaringscijfers van FPA naar cfsu te converteren: Doe een aantal tellingen opnieuw in COSMIC-FFP Maak een overzicht in excel met daarin de dubbelmetingen Laat Excel een spreidingsgrafiek opstellen en stel in dat de formule en de R2 worden getoond Pas de gevonden formule toe op de hele database Als men geen dubbeltellingen wil doen Bepaal of het NESMA of IFPUG functiepunten betreft Kies op basis daarvan een van de gegeven formules Pas deze formule toe op de hele database

44 De Nesma en COSMIC-FFP Harold.van.heeringen@sogeti.nl
Werkgroep COSMIC-FFP Doel: toegankelijker maken van de methode voor de ‘metrics community’ in Nederland Vertalen measurement manual Papers en presentaties op conferenties

45 Vragen Discussie Thank you for your attention
Do we have some time for questions or discussion? Discussie Sogeti Nederland B.V.


Download ppt "NESMA najaarsconferentie"

Verwante presentaties


Ads door Google