Beter meten met Cffp. Omvangbepaling voor eigentijdse ontwikkelmethoden. kwantificeren. Functiepuntanalyse is de meest gebruikte methode



Vergelijkbare documenten
Cosmic Full Function Points (CFFP) Een introductie. Algemene informatie voor medewerkers van: SYSQA B.V.

Functie Punt Analyse in het voortraject

Functiepuntanalyse. Een introductie. Algemene informatie voor medewerkers van: SYSQA B.V.

Exameneisen en -specificaties

Documentatie Overzicht en Begrippenlijst

Copyright 2016 Metrieken.nl Alle rechten voorbehouden

Functie punt analyse leeft

QSM Benchmark Project ABC

DEFINITIES EN TELRICHTLIJNEN VOOR DE TOEPASSING VAN FUNCTIEPUNTANALYSE. NESMA functional size measurement method conform ISO/IEC Versie 2.

Scenario analyse ABC

BIJLAGE bij Functional Sizing op basis van FPA-principes in een SOA-gebaseerde omgeving. Versie 1.0

Marc Koper Performancetesten voor dummies

Antwoordmodel beoordelaars

Informatie Beheer Groep

Socio-technisch systemen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 2 Slide 1

Invloed van IT uitbesteding op bedrijfsvoering & IT aansluiting

* Eerste leden van het COSMIC kernteam, samen met de COSMIC-FFP Methode v2.0 auteurs.

Contractmanagement voor Software-ontwikkeling

Business Intelligence Teststrategie

Meetbare diepgang van testen

Subwerkgroep Methoden. Toelichting inhoud en voortgang tot nu toe

(De COSMIC telrichtlijnen voor ISO/IEC 19761: 2003)

RUM. requirements Management. SPIder session Project. driven by requirements 25th april. Risk assessed User

TROWA. Visie en scope Informatiemodel Waterschapsverordening. Datum : : 2.0, definitief

ABN AMRO Project: Conceptueel model hypothekendomein

DATAMODELLERING ARCHIMATE DATA- & APPLICATIEMODELLERING

TOEPASSING VAN FUNCTIEPUNTANALYSE IN DE EERSTE FASEN VAN SYSTEEMONTWIKKELING

Werkgroep ISO TestNet thema-avond 9 oktober 2014

Release notes. Versie 2.3

Procesvalidatie voor een veiliger ketentest

Supply Chain Solutions

De beheerrisico s van architectuur

Stichting NIOC en de NIOC kennisbank

aan datum pagina Ir. G. de Peuter 12 februari /6

Extended ISO 9126: Een introductie. Algemene informatie voor medewerkers van SYSQA B.V.

Industrieel Ontwerpen

Er valt veel te zeggen over enterprise architectuur. Dit document wil een deel van het onderwerp aansnijden vanuit twee motto s: Begrippen...

Business Intelligence White Paper

Datum: 31 augustus 2011

Je kunt de presentaties downloaden op: Docent: Marcel Gelsing. Les 1

Vraag Ondersteuning door Virtuele Experts

Een onderzoek naar de toepasbaarheid van COSMIC functiepunten op gelaagde architecturen van conceptuele modellen.

De system engineer: succesfactor in het ontwikkelproces

Computercommunicatie B: Informatiesystemen

Informatie Logistiek op basis van RAMS en Architectuur Inleiding in RAMS (Diagonale Matrix) methode en Architectuuraanpak

De brug tussen requirement engineer en gebruiker

Methodisch Begroten van Projecten. Harold van Heeringen. Amersfoort, 11 mei 2010

Systems Engineering en Value Engineering introductie en functie in ontwerpprocessen

notitie Systems Engineering Lesplan Requirements Engineering (RE) Werkgroep opleidingen Definitief; vastgesteld Stuurgroep 4P

Implementatiescenario voor lidorganisaties

Workshop 3x. Huiswerk. Huiswerk vorige week. Workshop 22 september A. Snippe ICT Lyceum 1. Huiswerk. Project documentatie. Analytisch vermogen

Project benchmark. Vaststellen van feitelijke projectresultaten. Basis voor toekomstige succesvolle projectscenario s

Bedrijfsproces-Architectuur

Technisch Ontwerp W e b s i t e W O S I

Software Processen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1. Het software proces

Richtlijnen voor het ontwerpen een Intranetportal Door Bas Fockens

Methodiek. Versie: 16/05/ :42:35

Een duivelse samenwerking (Projectmanagement vs. Testmanagement) Albrie Beemer & Erik Bits 18 april 2012

Software Test Plan. Yannick Verschueren

Kwaliteit. 1. Introductie. Deel 1. Algemene Kennis

Testen kost te veel tijd

Hoofdstuk 3. Verantwoording methode doelgerichte digitale regelgeving. Hoofdstuk 3. Verantwoording methode doelgerichte digitale regelgeving

Smart Power Networks. Energie Management. Bas de Koningh - HARTING B.V.

Contractmanagement voor Software-ontwikkeling

EIGENSCHAPPEN CONVERGED HARDWARE

DATAMODELLERING BASIS UML KLASSEMODEL

Software Test Plan. PEN: Paper Exchange Network Software Engineering groep 1 (se1-1415) Academiejaar

Inhoud imos cursussen 2 e semester 2011

Cover Page. The handle holds various files of this Leiden University dissertation.

Tools voor canonieke datamodellering Bert Dingemans

DATAMODELLERING BEGRIPPENBOOM

TE LAAT OPGELEVERD, IS DUURDER DAN GEPLAND OF BIEDT NIET DE GEWENSTE FUNCTIONALITEIT EN KWA- VAN ZIJN TERUG TE VOEREN OP EEN ONJUISTE PLANNING

Projectmanagement. Software ontwikkeling

Salespresentatie Colorex

ICT Beheermodel informatiesystemen Drechtsteden Baseline inrichting ICT beheermodel Drechtsteden

Adding value to test tooling

Adding value to test tooling

Het Testen van Elektronica nu en in de toekomst

Aansluiten op VPI. (VolmachtBeheer Producten Interface)

ICT GROUP WATER CONGRES 2018 Slimmer omgaan met machines door softwareanalyse

Organisatie SYSQA B.V. Pagina 1 van 6 Titel Overzicht Versie 1.0 Onderwerp Overzicht blackbox testtechnieken Datum 15 februari 1996

ALS ORGANISATIE IN SHAPE MET P3O Judith Engelberts

DrainVision VISIONELE MONITORING. monitoring solutions

Solution Builder Lines. User Guide

Snel te implementeren. Inpasbaar in uw situatie

Software Test Document

[ SCRUM. ] Een introductie

De tester als bruggenbouwer

Technisch Ontwerp Ontwerp template

KENNISSESSIE. How Shared Service Centers (SSC) can use Big Data

Cursus Software evolution. Dr. Bastiaan Heeren Touw Symposium, 24 november 2012 Studiecentrum Amsterdam

Introductie Overwegingen bij het gebruik van PUE In de meting op te nemen elementen Ontwerp gebaseerd op volledige capaciteit Toepassing van PUE

Data Warehouse. Een introductie. Algemene informatie voor medewerkers van SYSQA B.V.

Van Samenhang naar Verbinding

Exact Online. Uw financiële cockpit op internet

Business Scenario. Voorbeeld Archimate Risico Extensie. versie 0.1. Bert Dingemans

DATAMODELLERING DATA FLOW DIAGRAM

SVHT-IT. Mission statement

DATAMODELLERING ARCHIMATE DATAMODELLERING

Transcriptie:

kwantificeren Beter meten met Cffp Omvangbepaling voor eigentijdse ontwikkelmethoden Functiepuntanalyse is de meest gebruikte methode voor omvangbepaling van softwareontwikkelprojecten. De telrichtlijnen hiervan zijn echter lastig toepasbaar bij nieuwe methoden zoals objectgeoriënteerd of 14 Bij veel succesvolle projecten is de projectomvang de basis voor de budgetbeheersing (tijd en kosten). Het uitgangspunt hierbij is een correlatie tussen de omvang van het project en de benodigde inspanning. Wanneer de omvang en de aan het project bestede uren bekend zijn, is de productiviteit te berekenen. Omdat er verschillen zijn tussen projecten, is het uiteraard belangrijk de omstandigheden van de projecten te kennen. De ontwikkelomgeving is sterk bepalend voor de productiviteit. Wanneer de productiviteit tussen projecten, branches of leveranciers wordt vergeleken, dan gebeurt dat normaliter per ontwikkelomgeving. Lastiger zijn de projectspecifieke invloeden op het budget. Dat zijn de maatregelen om risicovolle omstandigheden te beheersen als tijdsdruk, ervaringsniveau, besluitvorming en de aard van de software. componentgebaseerd ontwikkelen. Voor deze methoden zijn Cosmic full function points ontwikkeld. Ton Dekkers Analyse van gerealiseerde projecten met het model in figuur 1 levert diverse prestatiecijfers, zoals de productiviteit. Bij budgetteren wordt dit model gebruikt, bij voorkeur met prestatiecijfers op basis van eigen ervaringen. Bij onvoldoende of geen ervaring worden cijfers van derden gebruikt. Een belangrijke onafhankelijke aanbieder van ervaringscijfers is de International Software Benchmarking Standards Group (ISBSG). De basis voor het budgetteren blijft de omvang. Omvangbepaling Functiepuntanalyse is wereldwijd de meest gebruikte methode voor omvangbepaling. Een methode in opkomst is Cosmic full function points (Cffp). Beide methoden zijn in december 2002 Iso-gecertificeerd, waarmee is aangetoond dat de methoden voldoen aan de definities van Iso/IEC-standaard 14143. Hierin staat beschreven waar een meetmethode voor functionele omvang aan moet voldoen. Andere in Nederland gangbare methoden zijn functiepuntanalyse in onderhoud en testpuntanalyse. Functiepuntanalyse (fpa) wordt vooral gebruikt bij nieuwbouwprojecten in de zakelijke software. Functiepuntanalyse in onderhoud is een aanvulling op fpa, zodat ook onderhoudsprojecten methodisch kunnen worden begroot. Cosmic full function points is toepasbaar bij zowel nieuwbouw als onderhoud. Testpuntanalyse is een

Samenvatting Elke entry, exit, read en write heeft binnen Cosmic full function points (Cffp) de omvang van 1 Cosmic functional size unit. De omvang van een functioneel proces is gelijk aan het aantal entry s, exits, reads en writes van het proces. Cffp biedt verschillende voordelen boven functiepuntanalyse zoals de eenvoud van meten en een betere omgang met complexiteit van software. methode om de testinspanning te begroten. Vooralsnog is deze methode gebaseerd op fpa, een versie op basis van Cffp is in ontwikkeling. Cosmic full function points Fpa is ontstaan in een periode van het mainframe en ontwikkeling aan de hand van specificaties, gebaseerd op functionele decompositie. In deze omgeving bestaat een sterke correlatie tussen omvang en inspanning. De nieuwe ontwikkelmethoden (objectgeoriënteerd, componentgebaseerd, rad) en het toepassen van architectuur (naast de klassieke monolithische architectuur, multi-tier of web) hebben ook gevolgen voor de specificaties. De telrichtlijnen van fpa zijn daardoor lastiger toepasbaar. De toename van de complexiteit van software door vergaande integratie van systemen, de plaats van software in andere domeinen en de aard van software (real time oplossingen en ingebedde software) zetten de veronderstelde correlatie tussen de functionele omvang in functiepunten en inspanning onder druk. Wat echter blijft is dat ook ontwikkeling met een nieuwe aanpak moet worden begroot en bewaakt. Het Common Software Measurement International Consortium (Cosmic) ontwikkelde Cffp om aan de nieuwe vraag te kunnen voldoen. Uitgangspunten Op het hoogste niveau gaat Cffp uit van het softwarecontextmodel. Op dit niveau wordt aangegeven Budgetteren 1 waarom en vanuit welk gezichtspunt (viewpoint) de meting wordt uitgevoerd. Hoewel de te meten componenten per gezichtspunt kunnen verschillen, zijn de meetprincipes zijn gelijk. Voor de eenvoud worden in dit artikel een generiek softwaremodel als voorbeeld gebruikt. De functionele omvang is zoals bij alle Iso-14143-gecertificeerde methoden afgeleid van de functional user requirements (functionele gebruikersspecificaties fur s). Voor het meten worden base functional components (functionele basiscomponenten bfc s) gebruikt. Om de bfc s te kunnen identificeren, hanteert Cffp twee principes. De software wordt geactiveerd door invoer en levert uitvoer of resultaten bruikbaar voor de gebruiker. En de software verwerkt, bewerkt en presenteert brokken informatie in de vorm van een gegevensgroep die bestaat uit één of meerdere attributen. Cosmic De ervaren beperkingen van de toepasbaarheid van functiepuntanalyse zijn in 1998 aanleiding geweest voor de oprichting van Cosmic (COmmon Software Measurement International Consortium). Cosmic is een initiatief van experts op het gebied van softwaremetrieken uit alle werelddelen, zowel uit de academische wereld als uit de praktijk. Cosmic heeft zich tot doel gesteld een nieuwe meetmethode te definiëren die geschikt is om de prestatiecijfers (productiviteit, levertijd en kwaliteit) te bepalen. De meetmethode moet toepasbaar zijn in zo veel mogelijke software domeinen en besturingssystemen. Denk hierbij aan zakelijke software, real time software en ingebedde software. Cosmic coördineert het valideren, beschikbaar stellen en de acceptatie van de methode. 15

kwantificeren Volgens het model in figuur 2 worden de fur s onderverdeeld in een aantal functionele processen. Elk van die functionele processen bestaat uit een unieke verzameling van bfc s van het type gegevensverplaatsing of datamanipulatie. Cffp onderkent vier soorten subprocessen die gegevens verplaatsen: entry, exit, read en write (zie figuur 3). Entry s leveren gegevens (van de gebruiker) aan het functionele proces. Exits bieden gegevens aan aan de gebruiker. Reads en writes verplaatsen gegevens van en naar opslag. Het bewerken van gegevens wordt gezien als onderdeel van de gegevensverplaatsingen. Bij zakelijke en real time software blijkt deze aanname op te gaan. Voor wetenschappelijke software, met veel algoritmen, is de methode niet geschikt. Definities In het meethandboek worden de relevante begrippen uitgebreid beschreven. De belangrijkste zijn de grens en de gebruiker. De (systeem)grens is de grens tussen de te meten software en zijn omgeving. De omgeving wordt bepaald door het perspectief van de gebruiker. De gebruiker is iedere persoon of ieder object dat communiceert of samenwerkt met de software. Met deze definities zijn multi-tier, componenten-, real time software en interacties met apparatuur binnen de meetmethode te plaatsen. Een functioneel proces is een elementair onderdeel van de fur s die bestaat uit een unieke samenhangende 16 verzameling gegevensverplaatsingen en die zelfstandig uitvoerbaar is. Een proces wordt geactiveerd door een gebruiker en is beëindigd als is opgeleverd wat wordt verwacht. Een gegevensgroep is een onderscheidende verzameling attributen waarvan elk attribuut een aanvullend aspect beschrijft van hetzelfde item. De aard van een gegevensgroep wordt bepaald door de rol. Een object of interest is gedefinieerd binnen de eisen en wensen en kan zijn een fysiek iets of een begrip of deel van een begrip in de wereld van de gebruiker dat van belang is voor het proces en/of voor opslag. De gegevensgroeppersistentie wordt bepaald door de rol van de gegevens in het functioneel proces. Cffp kent permanente en vluchtige gegevens. Permanent zijn gegevens die na afloop van het proces blijven bestaan, gegevens die worden opgeslagen. Vluchtige gegevens zijn na het proces niet meer beschikbaar. De gegevens worden doorgegeven door de gebruiker aan functionele processen, door processen aan andere processen en door processen aan gebruikers. Een entry is een gegevensverplaatsing die een gegevensgroep van de Gegevensmodel functionele gebruikerseisen 2 Vier typen gegevensverplaatsing 3

gebruiker over de (systeem)grens brengt naar het functionele proces dat deze gegevens nodig heeft. Een exit is een gegevensverplaatsing die een gegevensgroep van het functionele proces over de (systeem)grens brengt naar de gebruiker die deze gegevens nodig heeft. Een read is een gegevensverplaatsing die een gegevensgroep van de opgeslagen permanente gegevens brengt naar het functionele proces dat deze gegevens nodig heeft. Een write is een gegevensverplaatsing die een gegevensgroep brengt van het functionele proces naar de opgeslagen permanente gegevens. In figuur 4 is de meetmethode schematisch weergegeven. De Cffp-meeteenheid is Cosmic functional size unit (Cfsu). Elke gegevensverplaatsing heeft standaard de omvang van 1 Cfsu. De omvang van een functioneel proces in Cfsu s is daardoor gelijk aan het aantal entry s, exits, reads en writes waaruit het functioneel proces bestaat. De omvang van de software is gelijk aan de som van de omvang van de functionele processen die samen de software bepalen. Meten Twee voorbeelden maken duidelijk hoe de regels in de praktijk worden toegepast. Als eerste een voorbeeld uit de wereld van de zakelijke software. Het functionele proces bestaat hier uit het aanmaken van facturen van de transacties van week 40. Hiervoor zijn acht gegevensverplaatsingen nodig (1 entry, 2 reads, 1 write en 4 exits; zie figuur 5). De omvang van dit functionele proces is 8 Cfsu s. Het andere voorbeeld is een real time toepassing. Dit functionele proces bestaat uit het op vaste tijdsintervallen controleren van de temperatuur om een ruimte op de gewenste temperatuur te houden. Hierbij zijn vier gegevensverplaatsingen nodig (2 entry s, 1 read en 1 exit; zie figuur 6). De omvang van dit functioneel proces is 4 Cfsu s. Meetmethode 4 Gegevensverplaatsingen voor transacties week 40 5 Gegevensverplaatsingen temperatuurcontrole 6 17

kwantificeren Voordelen Het gebruik van Cffp biedt verschillende voordelen boven dat van fpa. Een belangrijk voordeel van Cffp is de eenvoud van meten. Bij Cffp worden de functionele processen gewaardeerd door de aantallen gegevensverplaatsingen (entry, exit, read en write), die zijn gewaardeerd als 1 Cfsu. Bij fpa moeten de functionele processen worden benoemd als invoer-, uitvoer- of opvragingsfunctie. Het type functie en de aantallen gerefereerde gegevensverzamelingen en attributen zijn bij fpa bepalend voor het aantal functiepunten. Datamodel Een ander voordeel van Cffp is dat permanente gegevens niet worden gewaardeerd. Bij fpa is dit wel het geval. Om fpa te kunnen toepassen moet er een datamodel aanwezig zijn. Om fpa te kunnen toepassen en de complexiteit van de functies goed te kunnen bepalen bij een ontwikkelmethode waarbij datamodellering geen specifieke activiteit is, moet dit worden opgesteld. Dit is bijvoorbeeld het geval bij een objectgeoriënteerde ontwikkelmethode. Bij Cffp speelt een datamodel geen bepalende rol. Gegevens worden niet als zelfstandig item gewaardeerd. Complexiteit De ervaring leert dat de complexiteit van de functionele processen bij nieuwe software toeneemt. Deze groei in complexiteit heeft binnen fpa geen evenredige groei van 18 functiepunten tot gevolg. Een belangrijke factor binnen Cffp is de nuancering in de omvang van een functie. Binnen fpa is de omvang minimaal 3 functiepunten en maximaal 7 functiepunten. Bij Cffp is een functioneel proces is minimaal 2 Cfsu. Er is in principe geen maximum. Architectuur Met het Cffp-softwarecontextmodel is het mogelijk de omvang van architectuurafhankelijke specificaties apart te bepalen, zoals bij een meerlagenarchitectuur. Ook van real time toepassingen in zowel zakelijke software als in ingebedde software (consumentenelektronica, mobiele telefoons) waar de definities van fpa tekortschieten is met Cffp de omvang goed te bepalen. Overigens is Cffp goed toepasbaar waar fpa dit is. Nadelen Natuurlijk er ook nadelen. Door de jarenlange toepassing van fpa zijn er veel meer prestatiecijfers bekend op basis van functiepunten. ISBSG is inmiddels begonnen projecten in haar database op te nemen waarvan de omvang is bepaald met Cffp. Met fpa kan op basis van een datamodel in een vroeg stadium van het project een indicatie worden gegeven van de omvang van een project. Cffp kent ook een indicatieve methode, early ffp, maar deze moet zich nog bewijzen in de praktijk. Conclusie Omdat de mogelijkheden van Cffp groter zijn dan die van fpa, zal Cffp fpa op termijn gaan vervangen. Naarmate meer ervaring wordt opgedaan met de methode, duidelijke richtlijnen ontstaan voor de praktische toepassing van Cffp en ook representatieve prestatiecijfers beschikbaar komen, zal de overgang van fpa naar Cffp versnellen. De Cosmic/ISBSG-benchmarking study 2003 is een eerste verzameling cijfers. Reviewer Hans van der Mey Literatuur Cosmic (2003). Measurement Manual Cosmic Full Function Points 2.2. Cosmic/ISBSG (2003). Cosmic Benchmarking Invitation. ISBSG (2002). Software Metrics Compendium. Iso (1998). Iso/IEC 14143 Software Engineering Software Measurement Functional Size Measurement Part 1: Definitions of concepts. Iso (2003). Iso/IEC 19761 Software Engineering Software Measurement Cosmic Full Function Points. Nesma (april 1996). Definities en telrichtlijnen voor de toepassing van functiepuntanalyse 2.0. Pol, M., R. Teunissen & E. van Veenendaal (1999). Testen volgens Tmap. 2de druk (hoofdstuk 12). Uitgeverij Tutein Nolthesius. Toivonen, H. (2002). Defining Measures for Memory Efficiency of the Software in Mobile Terminals. Proceedings 12th International Workshop Software Measurement. Nokia. Links www.cffp.nl www.cosmicon.com www.isbsg.org www.lrgl.uqam.ca/cosmic-ffp www.nesma.org Ton Dekkers is senior projectconsultant bij de divisie Engineering & Projecten van Sogeti Nederland B.V. en coördinator van het Expertise Centrum Metrieken. E-mail: ton.dekkers@sogeti.nl