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.
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
- Använd fallmodellering
- Funktionspunkt
- Programvaruuppskattning
- Uppskattning av mjukvaruutvecklingsinsats
externa länkar
- Fördelar med Function Point Analysis i förhållande till Use Case Points
- Använd fallpunkter – en uppskattningsmetod
- Uppskattning av programvara via användningsfall
- Förbättring av konsekventa användningsfall, uppskattningar
- Clemmons, Roy K. "Projektuppskattning med användningsfallspoäng." CrossTalk februari 2006