Størrelsesindikatorer |
|
Kontakt Jan Mogensen |
Brug af størrelsesindikatorDer er gennem tiden udviklet adskillige metoder til opgørelse af størrelsen af en softwareapplikation. Blandt de vigtigste kan nævnes antallet af kodelinier, function points, object points, use case points og antal entiteter. I princippet kunne antallet af sider i kravspecifikationen eller den tid det tager at udarbejde den, være lige så anvendelige størrelser. Grundlæggende bruges størrelsesmålene på den måde at man ud fra afsluttede projekter beregner en produktivitetsfaktor angivet som størrelse pr. tidsenhed. Hvis vi tager antal kodelinier som eksempel, kan produktiviteten, P, beregnes i linier/time: P = antal linier/tidsenhed Udviklingstiden, T, for et nyt produkt kan derefter beregnes som: T = antal linier / P I praksis kan man dog ikke regne for givet at to projekter har samme produktivitetsfaktor, så uanset hvilken måleenhed man vælger at bruge i sin organisation, skal der indarbejdes en række justeringsfaktorer. Antal kodelinierAntallet af kodelinier (LOC - lines of code) har været brugt til at beskrive størrelse lige siden softwareindustriens spæde start for over 5o år siden, og det må være noget nær den eneste måleenhed der endnu ikke er blevet standardiseret. Der er mange problemer forbundne med brugen af LOC til estimering. For det første er det ikke let tidligt i forløbet at afgøre hvor mange linier der skal kodes; ved starten af et projekt kan antallet af kodelinier ikke tælles, de skal estimeres, og de fleste projektledere er ikke bedre til at estimere kodelinier end til at estimere de omkostninger der bliver resultatet af dem. Kode består typisk af:
og af dem der tæller kodelinier, begrænser ca. 20 % sig til at tælle de eksekverbare linier, mens 40 % også medregner datadefinitioner, 30% tæller tillige kommentarlinier, og 10 % tæller endog de blanke linier med. Alt i alt er LOC altså ikke så anvendelig til estimering, men det er alligevel en størrelse der kan være anvendelig til at kontrollere udviklingsprocessen. |
Function pointsFunction points (herefter FP) er et mål for størrelsen af et softwareprojekt eller en applikation, men FP siger kun i begrænset omfang noget om hvor komplekst indholdet er. Derfor skal FP sammenholdes med andre faktorer for at kunne sige noget om hvor ressourcekrævende et softwareprojekt er. Function Point Analysen (FPA) blev udviklet af Albrecht hos IBM som en reaktion på ulemperne ved at bruge LOC til estimering og planlægning. Albrechts mål var at udvikle en metrik der byggede på eksterne faktorer som kunne forstås af brugerne og som skulle være tilgængelige på et tidligt tidspunkt i produktets livscyklus, den skulle være sproguafhængig og være relateret til økonomisk produktivitet. Albrecht definerede FP som end-user benefits. FPA blev offentliggjort for første gang i 1979, men blev først kendt uden for IBM-kredse med publiceringen af Albrechts artikel i en IEEE-toturial i 1981. Siden er FPA blevet modificeret adskillige gange; indtil 1984 af Albrecht og IBM, og siden først og fremmest af IFPUG (International Function Point Users Group), som bl.a. publicerer og reviderer Function Point Counting Practices Manual. I 2003 blev Function Point Counting Practices 4.1 godkendt som en international standard af IS/IEC. Function Point Analysen tager udgangspunkt i en optælling af interne filer, input- og outputfiler, eksterne forespørgsler og interfacefiler, og disse vægtes efter antallet. Disse ujusterede function points justeres v.h.a. 14 justeringsfaktorer (generelle systemkarakteristika), som hver især evalueres efter en skala fra nul (minimal indflydelse) til fem (meget stor indflydelse). Function points er blevet den dominerende metrik inden for software i USA og mange andre lande. Det er en måleenhed der - i modsætning til LOC - er sproguafhængig, og selv om antallet af FP ikke direkte kan omsættes til udviklingsomkostninger, giver det alligevel et mål for den kvantitet der skal leveres. Produktiviteten kan måles i FP pr mandemåned (MM) eller timer pr. FP, og produktiviteten varierer i USA mellem 0,13 FP pr. MM - eller over 1000 t/FP - til mere end 200 FP/MM (0,66 t/FP). Gennemsnittet ligger omkring 5 FP pr. MM. Fordele ved FP
De forskellige typer af størrelsesindikatorer har hver deres fordele og ulemper, og der er mange anvendelsesmuligheder for dem. Jeg kan lave en analyse af hvad der kan være fordelagtigt i din organisation. |