Använd fallpunkter

Use case points ( UCP eller UCP ) är en mjukvaruuppskattningsteknik som används för att prognostisera mjukvarustorleken för programvaruutvecklingsprojekt. UCP används när Unified Modeling Language (UML) och Rational Unified Process (RUP) används för mjukvarudesign och utveckling. Konceptet med UCP bygger på att kraven för systemet skrivs med användning av användningsfall , som är en del av UML-uppsättningen av modelleringstekniker. Programvarustorleken (UCP) beräknas baserat på delar av systemets användningsfall med factoring för att ta hänsyn till tekniska och miljömässiga hänsyn. UCP för ett projekt kan sedan användas för att beräkna den uppskattade insatsen för ett projekt.

Historia

UCP-tekniken utvecklades av Gustav Karner 1993 när han var anställd på det som då var känt som Objectory Systems, som senare slogs samman med Rational Software och sedan IBM . UCP - metoden skapades för att lösa för att uppskatta mjukvarustorleken för system som var objektorienterade . Den är baserad på liknande principer som Function Point (FP), men designades för de specifika behoven hos objektorienterade system och systemkrav baserat på användningsfall .

Metod

Metoden för att bestämma storleksuppskattningen för att utveckla ett system är baserad på en beräkning med följande element:

  • Unadjusted Use Case Weight (UUCW) – punktstorleken på programvaran som står för antalet och komplexiteten av användningsfall.
  • Unadjusted Actor Weight (UAW) – programvarans punktstorlek som står för antalet och komplexiteten hos skådespelare.
  • Technical Complexity Factor (TCF) – faktor som används för att justera storleken utifrån tekniska överväganden.
  • Environmental Complexity Factor (ECF) – faktor som används för att justera storleken utifrån miljöhänsyn.

När de föregående fyra elementen har beräknats kan den slutliga storleksuppskattningen beräknas. Detta slutliga nummer är känt som use case points eller UCP för ett programvaruutvecklingsprojekt.

Följande avsnitt går igenom de olika beräkningarna för att bestämma UCP för ett projekt.

Ojusterad vikt för användningsfodral (UUCW)

UUCW är en av de faktorer som bidrar till storleken på programvaran som utvecklas. Den beräknas utifrån antalet och komplexiteten av användningsfallen för systemet. För att hitta UUCW för ett system måste vart och ett av användningsfallen identifieras och klassificeras som Enkelt, Genomsnittligt eller Komplext baserat på antalet transaktioner som användningsfallet innehåller. Varje klassificering har en fördefinierad vikt tilldelad. När alla användningsfall har klassificerats som enkla, genomsnittliga eller komplexa, bestäms den totala vikten (UUCW) genom att summera motsvarande vikter för varje användningsfall. Följande diagram visar de olika klassificeringarna av användningsfall baserat på antalet transaktioner och viktvärdet som tilldelas för varje användningsfall inom klassificeringen.

Användningsfallsklassificering Antal transaktioner Vikt
Enkel 1 till 3 transaktioner 5
Genomsnitt 4 till 7 transaktioner 10
Komplex 8 eller fler transaktioner 15
UUCW = (Totalt antal enkla användningsfall x 5) + (Totalt antal genomsnittliga användningsfall x 10) + (Totalt antal komplexa användningsfall x 15)

Ojusterad skådespelarevikt (UAW)

UAW är en annan faktor som bidrar till storleken på programvaran som utvecklas. Den beräknas utifrån antalet och komplexiteten hos aktörerna för systemet. I likhet med att hitta UUCW måste var och en av aktörerna identifieras och klassificeras som enkel, genomsnittlig eller komplex baserat på typen av skådespelare. Varje klassificering har också en fördefinierad vikt tilldelad. UAW är summan av vikterna för var och en av skådespelarna. Följande diagram visar de olika klassificeringarna av skådespelare och det viktvärde som tilldelas.

Skådespelare klassificering Typ av skådespelare Vikt
Enkel Externt system som måste interagera med systemet med hjälp av ett väldefinierat API 1
Genomsnitt Externt system som måste interagera med systemet med hjälp av standardkommunikationsprotokoll (t.ex. TCP/IP, FTP, HTTP, databas) 2
Komplex Mänsklig skådespelare som använder ett GUI-applikationsgränssnitt 3
UAW = (Totalt antal enkla skådespelare x 1) + (Totalt antal genomsnittliga skådespelare x 2) + (Totalt antal komplexa skådespelare x 3)

Teknisk komplexitetsfaktor (TCF)

TCF är en av de faktorer som tillämpas på den uppskattade storleken på programvaran för att ta hänsyn till tekniska överväganden i systemet. Den bestäms genom att tilldela en poäng mellan 0 (faktor är irrelevant) och 5 (faktor är väsentlig) till var och en av de 13 tekniska faktorerna som listas i tabellen nedan. Denna poäng multipliceras sedan med det definierade viktade värdet för varje faktor. Summan av alla beräknade värden är den tekniska faktorn (TF). TF används sedan för att beräkna TCF med följande formel:

TCF = 0,6 + (TF/100)
Faktor Beskrivning Vikt
T1 Distribuerat system 2.0
T2 Svarstid/prestationsmål 1.0
T3 Slutanvändareffektivitet 1.0
T4 Intern bearbetningskomplexitet 1.0
T5 Kod återanvändbarhet 1.0
T6 Lätt att installera 0,5
T7 Lätt att använda 0,5
T8 Portabilitet till andra plattformar 2.0
T9 System underhåll 1.0
T10 Samtidig/parallell bearbetning 1.0
T11 Säkerhetsfunktioner 1.0
T12 Tillgång för tredje part 1.0
T13 Utbildning för slutanvändare 1.0

Environmental Complexity Factor (ECF)

ECF är en annan faktor som tillämpas på den uppskattade storleken på programvaran för att ta hänsyn till miljöhänsyn i systemet. Den bestäms genom att tilldela en poäng mellan 0 (ingen erfarenhet) och 5 (expert) till var och en av de 8 miljöfaktorerna som listas i tabellen nedan. Denna poäng multipliceras sedan med det definierade viktade värdet för varje faktor. Summan av alla beräknade värden är miljöfaktorn (EF). EF används sedan för att beräkna ECF med följande formel:

ECF = 1,4 + (-0,03 x EF)
Faktor Beskrivning Vikt
E1 Förtrogenhet med utvecklingsprocessen används 1.5
E2 Applikationserfarenhet 0,5
E3 Objektorienterad erfarenhet av team 1.0
E4 Lead analytikerförmåga 0,5
E5 Motivation av laget 1.0
E6 Kravens stabilitet 2.0
E7 Deltidsanställd personal -1,0
E8 Svårt programmeringsspråk -1,0

Use Case Points (UCP)

Slutligen kan UCP beräknas när den ojusterade projektstorleken (UUCW och UAW), teknisk faktor (TCF) och miljöfaktor (ECF) har bestämts. UCP beräknas utifrån följande formel:

UCP = (UUCW + UAW) x TCF x ECF

Exempel

För att illustrera processen för att beräkna UCP kommer ett online shoppingsystem att användas. Diagrammet nedan visar Use Case-diagrammet för systemet som ska utvecklas.

Online Shopping System Use Case Model

Ojusterad vikt för användningsfodral (UUCW)

För att beräkna UUCW måste användningsfallen definieras och antalet transaktioner för varje användningsfall identifieras. Diagrammet för användningsfall för onlineshoppingsystemet visar att det finns nio användningsfall för systemet. Om vi ​​antar att 2 av dessa användningsfall är enkla, 3 är genomsnittliga och 4 är komplexa, är beräkningen för UUCW som följer:


UUCW = (Totalt antal enkla användningsfall x 5) + (Totalt antal genomsnittliga användningsfall x 10) + (Totalt antal komplexa användningsfall x 15)
För onlineshoppingsystemet är UUCW = (2 x 5) + (3 x 10) + (4 x 15) = 100
UUCW = 100

Ojusterad skådespelarevikt (UAW)

För att beräkna UAW måste aktörerna identifieras. Användningsfallsdiagrammet för Online Shopping System visar fem aktörer; En enkel för betalningshanteringssystemet och fyra komplexa för var och en av de mänskliga användarnas aktörer (dvs. onlinekund, marknadsadministratör, lagertjänsteman, lagerchef.) Beräkningen för UAW är följande:

UAW = (Totalt antal enkla skådespelare x 1) + (Totalt antal genomsnittliga skådespelare x 2) + (Totalt antal komplexa skådespelare x 3)
För onlineshoppingsystemet, UAW = (1 x 1) + (0 x 2 ) + (4 x 3) = 13
UAW = 13

Teknisk komplexitetsfaktor (TCF)

För att beräkna TCF tilldelas var och en av de tekniska faktorerna ett värde baserat på hur väsentlig den tekniska aspekten är för det system som utvecklas. Diagrammet nedan visar de tilldelade värdena för Online Shopping System. Värdena multipliceras med de viktade värdena och den totala TF bestäms.

Faktor Beskrivning Vikt Tilldelat värde Vikt x Tilldelat värde
T1 Distribuerat system 2.0 5 10
T2 Svarstid/prestationsmål 1.0 5 5
T3 Slutanvändareffektivitet 1.0 3 3
T4 Intern bearbetningskomplexitet 1.0 2 2
T5 Kod återanvändbarhet 1.0 3 3
T6 Lätt att installera 0,5 1 0,5
T7 Lätt att använda 0,5 5 2.5
T8 Portabilitet till andra plattformar 2.0 2 4
T9 System underhåll 1.0 2 2
T10 Samtidig/parallell bearbetning 1.0 3 3
T11 Säkerhetsfunktioner 1.0 5 5
T12 Tillgång för tredje part 1.0 1 1
T13 Utbildning för slutanvändare 1.0 1 1
Totalt (TF): 42

Därefter beräknas TCF:

TCF = 0,6 + (TF/100)
För onlineshoppingsystemet är TCF = 0,6 + (42/100) = 1,02
TCF = 1,02

Environmental Complexity Factor (ECF)

För att beräkna ECF tilldelas var och en av miljöfaktorerna ett värde baserat på teamets erfarenhetsnivå. Diagrammet nedan visar de tilldelade värdena för Online Shopping System. Värdena multipliceras med de viktade värdena och den totala EF bestäms.

Faktor Beskrivning Vikt Tilldelat värde Vikt x Tilldelat värde
E1 Förtrogenhet med utvecklingsprocessen används 1.5 3 4.5
E2 Applikationserfarenhet 0,5 3 1.5
E3 Objektorienterad erfarenhet av team 1.0 2 2
E4 Lead analytikerförmåga 0,5 5 2.5
E5 Motivation av laget 1.0 2 2
E6 Kravens stabilitet 2.0 1 2
E7 Deltidsanställd personal -1,0 0 0
E8 Svårt programmeringsspråk -1,0 4 -4
Totalt (EF): 10.5

Därefter beräknas ECF:

ECF = 1,4 + (-0,03 x EF)
För onlineshoppingsystemet är ECF = 1,4 + (-0,03 * 10,5) = 1,085
ECF = 1,085

Use Case Points (UCP)

När den ojusterade användningsfallsvikten (UUCW), den ojusterade aktörsvikten (UAW), den tekniska komplexitetsfaktorn (TCF) och den miljömässiga komplexitetsfaktorn (ECF) har bestämts, kan användningsfallspoängen (UCP) beräknas med följande formel:

UCP = (UUCW + UAW) x TCF x ECF
För onlineshoppingsystemet, UCP = (100 + 13) x 1,02 x 1,085 = 125,06
UCP = 125,06

För onlineshoppingsystemet är den totala uppskattade storleken för att utveckla programvaran 125,06 Use Case Points.

Nu när projektets storlek är känd kan den totala insatsen för projektet uppskattas. För exemplet Online Shopping System kommer 28 mantimmar per användningsfall att användas.

Uppskattad insats = UCP x timmar/UCP
För onlineshoppingsystemet, uppskattad insats = 125,06 x 28
Uppskattad insats = 3501 timmar

Ytterligare utveckling

En stor svaghet med Use Case Points-metoden är att den aldrig har kalibrerats noggrant med hjälp av regressionsanalys på grund av bristen på ett statistiskt tillräckligt antal projekt. Dessutom tar den linjära modellen av Karners tillvägagångssätt inte hänsyn till de skalfördelar som uppstår i programvaruutvecklingsprojekt. Ändå ger det lätttillämpbara tillvägagångssättet för storlek och räkneregler många fördelar för uppskattningar i tidiga faser och gör det således möjligt att snabbt ge FSM (funktionell storleksmätning, i det här fallet UUCW + UAW) för en applikation eller IT-produkt. Denna FSM kan sedan kombineras med statistiskt validerade uppskattningsmodeller som COCOMO II för att få mer tillförlitliga uppskattningsresultat.

Se även

externa länkar