De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

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

Verwante presentaties


Presentatie over: "NESMA najaarsconferentie Converteren van Functionele omvang: Van FPA naar COSMIC-FFP Harold van Heeringen 7 december 2006 Vechthuis,Utrecht."— Transcript van de presentatie:

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

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 >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

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 FSM  User Requirements User requirements (wat) Business requirements (waarom) System requirements (hoe)

12 User requirements Functional URTechnical URQuality UR User Requirements FPA en COSMIC-FFP meten alleen de Functional User Requirements

13 Requirementsdefinitiedocumenten Functioneledecompositiedocumenten Data analyse / modelleringdocumenten FunctionalUserRequirements Functional User Requirements Functional User Requirements (FUR) kunnen uit de verschillende ontwerp producten worden ge- extraheerd voordat de software bestaat…

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

15 Functiepunt Analyse

16 Functiepunt 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. Zodra de FUR zijn vastgesteld, kunnen we FPA gebruiken om de omvang te meten

17 Functiepunt Analyse Transacties Gebruiker IF OF UF kgv ilgv Data

18 Functionaliteit twee types functionaliteit transacties opvraagopvraag uitvoEruitvoEr invoerinvoer Ondersteunende functies Interne Logische Gegevens Verzameling Koppelings Gegevensverzameling data

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

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

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

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 TransactiesGegevens Gebruiker persistent [permanent] transient [vluchtig] functioneel proces ew xr

25 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

26 Data Group - vb Object of InterestFunctioneel ProcesData groep (Write) MedewerkerToevoegen mdw{mdwnr, naam, adres, woonplaats, sofinr} MedewerkerWijzigen mdw{naam, adres, woonplaats} MedewerkerVerwijderen mdw{mdwnr} In het logisch datamodel komt een entiteit voor met de naam MEDEWERKER, met de volgende attributen: Medewerker, naam, adres, tel., datum in dienst, functiecode

27 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 Meetfase

28 Meten: voorbeeld COSMIC-FFP 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)} Functioneel proces Aanmaken nieuwe medewerker (vanuit menu) NB: Standaard 1 exit voor melding Totaal: 5 Cfsu

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 FPACOSMIC-FFP Toepasbaar op DomeinBedrijfsapplicatiesBedrijfsapplicaties, Realtime, Infrastructuur Datamodel vereist?JaNee (wel handig) Meten van afzonderlijke componenten mogelijk? NeeJa Omvang per functie begrensd? JaNee Benchmarking dataVeelWeinig Meten van complexe verwerking NeeNee, maar lokale uitbreiding mogelijk Early sizingo.b.v. datamodelo.b.v. procesmodel

32 Overeenkomsten in terminologie TermNESMA FPA 2.2COSMIC-FFP 2.2 User Gebruiker FURs Applicatie Application Systeemgrens Boundary TransactieGebruikerstransactieFunctional process Logische gegevensgroepLGVData group Data element type (DET)DET

33 De methodes vergeleken FSM MethodDatagroep types Datagroep omvang Transactie types Trans- actie Transactie omvang FPAILGV # RET’s # DET’s Invoerfunctie # DET’s # Gerefereerde LGV’s KGVUitvoerfunctie Opvraagfunctie COSMIC-FFPTransient Onderdeel van Functioneel proces Functioneel Proces Entry# data movements Exit# data movements PersistentRead# data movements Write# data movements

34 Overeenkomsten en verschillen in telwijze Overeenkomsten: >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 Converteren van FPA naar COSMIC-FFP

36 Eerdere Conversie studies Fetcke (1999) >N=4 >Y(Cfsu) = 1,1(FP IFPUG) – 7,6 >R 2 = 0.97 Vogelezang & Lesterhuis (2003) >N=11 >Y(Cfsu) = 1,2(FP NESMA) – 87 >R 2 = 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 >R 2 = 0.93 Transactions only: Y(Cfsu) = 1,36 (FPTX) + 0 R 2 = 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 A6679, B7589, C73145, D120158, E137255, F257436, G270367, H286446, I352448, J252357, K313545, L301348, M281426, N ,

39 Resultaten deel 2 Project#cfsu# Func. Proc Gem. cfsu # FP#ILGV#kGV# IF# UF#OF O , P445666, Q488647, R , S , T , U , V , W , X ,9873?? Y , Z , AA , AB ,

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

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

42 Outliers Mogelijke oorzaken: FP > cfsu 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: 1.Doe een aantal tellingen opnieuw in COSMIC-FFP 2.Maak een overzicht in excel met daarin de dubbelmetingen 3.Laat Excel een spreidingsgrafiek opstellen en stel in dat de formule en de R 2 worden getoond 4.Pas de gevonden formule toe op de hele database Als men geen dubbeltellingen wil doen 1.Bepaal of het NESMA of IFPUG functiepunten betreft 2.Kies op basis daarvan een van de gegeven formules 3.Pas deze formule toe op de hele database

44 De Nesma en COSMIC-FFP 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


Download ppt "NESMA najaarsconferentie Converteren van Functionele omvang: Van FPA naar COSMIC-FFP Harold van Heeringen 7 december 2006 Vechthuis,Utrecht."

Verwante presentaties


Ads door Google