Tecniche di stima - Punti di casi d'uso
UN Use-Case è una serie di interazioni correlate tra un utente e un sistema che consente all'utente di raggiungere un obiettivo.
I casi d'uso sono un modo per acquisire i requisiti funzionali di un sistema. L'utente del sistema viene definito "attore". I casi d'uso sono fondamentalmente in forma di testo.
Punti del caso d'uso - Definizione
Use-Case Points (UCP)è una tecnica di stima del software utilizzata per misurare la dimensione del software con casi d'uso. Il concetto di UCP è simile ai FP.
Il numero di UCP in un progetto si basa su quanto segue:
- Il numero e la complessità dei casi d'uso nel sistema.
- Il numero e la complessità degli attori del sistema.
Vari requisiti non funzionali (come portabilità, prestazioni, manutenibilità) che non sono scritti come casi d'uso.
L'ambiente in cui verrà sviluppato il progetto (come la lingua, la motivazione del team, ecc.)
La stima con gli UCP richiede che tutti i casi d'uso siano scritti con un obiettivo e approssimativamente allo stesso livello, fornendo la stessa quantità di dettagli. Quindi, prima della stima, il team di progetto dovrebbe assicurarsi di aver scritto i propri casi d'uso con obiettivi definiti ea livello dettagliato. Il caso d'uso viene normalmente completato in una singola sessione e una volta raggiunto l'obiettivo, l'utente può passare a qualche altra attività.
Storia dei casi d'uso
Il metodo di stima Use-Case Point è stato introdotto da Gustav Karner nel 1993. Il lavoro è stato successivamente concesso in licenza da Rational Software che si è fusa in IBM.
Processo di conteggio dei punti dei casi d'uso
Il processo di conteggio dei punti caso d'uso prevede i seguenti passaggi:
- Calcola gli UCP non aggiustati
- Adatta alla complessità tecnica
- Adeguare la complessità ambientale
- Calcola gli UCP aggiustati
Passaggio 1: calcolare i punti caso d'uso non regolati.
Calcola prima i punti caso d'uso non aggiustati, procedendo come segue:
- Determina il peso del caso d'uso non adattato
- Determina il peso dell'attore non aggiustato
- Calcola punti caso d'uso non regolati
Step 1.1 - Determina il peso del caso d'uso non adattato.
Step 1.1.1 - Trova il numero di transazioni in ogni caso d'uso.
Se i casi d'uso sono scritti con i livelli obiettivo utente, una transazione equivale a un passaggio del caso d'uso. Trova il numero di transazioni contando i passaggi nel caso d'uso.
Step 1.1.2- Classificare ogni caso d'uso come semplice, medio o complesso in base al numero di transazioni nel caso d'uso. Inoltre, assegnare il peso del caso d'uso come mostrato nella tabella seguente:
Complessità dei casi d'uso | Numero di transazioni | Peso caso d'uso |
---|---|---|
Semplice | ≤3 | 5 |
Media | Da 4 a 7 | 10 |
Complesso | > 7 | 15 |
Step 1.1.3- Ripeti per ogni caso d'uso e ottieni tutti i pesi dei casi d'uso. Il peso del caso d'uso non regolato (UUCW) è la somma di tutti i pesi del caso d'uso.
Step 1.1.4 - Trova il peso del caso d'uso non regolato (UUCW) utilizzando la tabella seguente -
Complessità dei casi d'uso | Peso caso d'uso | Numero di casi d'uso | Prodotto |
---|---|---|---|
Semplice | 5 | NSUC | 5 × NSUC |
Media | 10 | NAUC | 10 × NAUC |
Complesso | 15 | NCUC | 15 × NCUC |
Unadjusted Use-Case Weight (UUCW) | 5 × NSUC + 10 × NAUC + 15 × NCUC |
Dove,
NSUC è il no. di casi d'uso semplici.
NAUC è il no. di casi d'uso medi.
NCUC è il no. di casi d'uso complessi.
Step 1.2 - Determina il peso dell'attore non aggiustato.
Un attore in un caso d'uso potrebbe essere una persona, un altro programma, ecc. Alcuni attori, come un sistema con API definite, hanno esigenze molto semplici e aumentano solo leggermente la complessità di un caso d'uso.
Alcuni attori, come un sistema che interagisce attraverso un protocollo, hanno più esigenze e aumentano la complessità di un caso d'uso in una certa misura.
Altri attori, come un utente che interagisce tramite la GUI, hanno un impatto significativo sulla complessità di un caso d'uso. Sulla base di queste differenze, puoi classificare gli attori come semplici, medi e complessi.
Step 1.2.1 - Classificare gli attori come semplici, medi e complessi e assegnare i pesi degli attori come mostrato nella tabella seguente -
Complessità dell'attore | Esempio | Peso dell'attore |
---|---|---|
Semplice | Un sistema con API definite | 1 |
Media | Un sistema che interagisce tramite un protocollo | 2 |
Complesso | Un utente che interagisce tramite GUI | 3 |
Step 1.2.2- Ripeti per ogni attore e ottieni tutti i pesi degli attori. Peso attore non regolato (UAW) è la somma di tutti i pesi attore.
Step 1.2.3 - Trova il peso dell'attore non regolato (UAW) utilizzando la seguente tabella -
Complessità dell'attore | Peso dell'attore | Numero di attori | Prodotto |
---|---|---|---|
Semplice | 1 | NSA | 1 × NSA |
Media | 2 | NAA | 2 × NAA |
Complesso | 3 | NCA | 3 × NCA |
Unadjusted Actor Weight (UAW) | 1 × NSA + 2 × NAA + 3 × NCA |
Dove,
NSA è il no. di Simple Actors.
NAA è il no. di attori medi.
NCA è il no. di attori complessi.
Step 1.3 - Calcola punti caso d'uso non regolati.
L'Unadjusted Use-Case Weight (UUCW) e il Unadjusted Actor Weight (UAW) insieme danno la dimensione non aggiustata del sistema, denominata Unadjusted Use-Case Points.
Unadjusted Use-Case Points (UUCP) = UUCW + UAW
I passaggi successivi consistono nell'adeguare i punti del caso d'uso non adattato (UUCP) per complessità tecnica e complessità ambientale.
Passaggio 2: regolare la complessità tecnica
Step 2.1 - Considera i 13 fattori che contribuiscono all'impatto della complessità tecnica di un progetto sui punti del caso d'uso e i loro pesi corrispondenti come indicato nella tabella seguente -
Fattore | Descrizione | Peso |
---|---|---|
T1 | Sistema distribuito | 2.0 |
T2 | Tempo di risposta o obiettivi di rendimento del throughput | 1.0 |
T3 | Efficienza dell'utente finale | 1.0 |
T4 | Elaborazione interna complessa | 1.0 |
T5 | Il codice deve essere riutilizzabile | 1.0 |
T6 | Facile da installare | .5 |
T7 | Facile da usare | .5 |
T8 | Portatile | 2.0 |
T9 | Facile da cambiare | 1.0 |
T10 | Concorrente | 1.0 |
T11 | Include obiettivi di sicurezza speciali | 1.0 |
T12 | Fornisce accesso diretto a terzi | 1.0 |
T13 | Sono necessarie speciali strutture per la formazione degli utenti | 1.0 |
Molti di questi fattori rappresentano i requisiti non funzionali del progetto.
Step 2.2 - Per ciascuno dei 13 fattori, valutare il progetto e valutare da 0 (irrilevante) a 5 (molto importante).
Step 2.3 - Calcola l'impatto del fattore dal peso dell'impatto del fattore e il valore nominale per il progetto come
Impact of the Factor = Impact Weight × Rated Value
Step (2.4)- Calcola la somma dell'impatto di tutti i fattori. Questo dà il fattore tecnico totale (TFactor) come indicato nella tabella seguente:
Fattore | Descrizione | Peso (W) | Valore nominale (da 0 a 5) (RV) | Impatto (I = W × RV) |
---|---|---|---|---|
T1 | Sistema distribuito | 2.0 | ||
T2 | Tempo di risposta o obiettivi di rendimento del throughput | 1.0 | ||
T3 | Efficienza dell'utente finale | 1.0 | ||
T4 | Elaborazione interna complessa | 1.0 | ||
T5 | Il codice deve essere riutilizzabile | 1.0 | ||
T6 | Facile da installare | .5 | ||
T7 | Facile da usare | .5 | ||
T8 | Portatile | 2.0 | ||
T9 | Facile da cambiare | 1.0 | ||
T10 | Concorrente | 1.0 | ||
T11 | Include obiettivi di sicurezza speciali | 1.0 | ||
T12 | Fornisce accesso diretto a terzi | 1.0 | ||
T13 | Sono necessarie speciali strutture per la formazione degli utenti | 1.0 | ||
Total Technical Factor (TFactor) |
Step 2.5 - Calcola il fattore di complessità tecnica (TCF) come -
TCF = 0.6 + (0.01 × TFactor)
Passaggio 3: adeguare la complessità ambientale
Step 3.1 - Considera gli 8 fattori ambientali che potrebbero influenzare l'esecuzione del progetto ei loro pesi corrispondenti come indicato nella tabella seguente -
Fattore | Descrizione | Peso |
---|---|---|
F1 | Familiarità con il modello di progetto utilizzato | 1.5 |
F2 | Esperienza applicativa | .5 |
F3 | Esperienza orientata agli oggetti | 1.0 |
F4 | Capacità di analista principale | .5 |
F5 | Motivazione | 1.0 |
F6 | Requisiti stabili | 2.0 |
F7 | Personale part-time | -1.0 |
F8 | Linguaggio di programmazione difficile | -1.0 |
Step 3.2 - Per ciascuno degli 8 fattori, valutare il progetto e valutare da 0 (irrilevante) a 5 (molto importante).
Step 3.3 - Calcola l'impatto del fattore dal peso dell'impatto del fattore e il valore nominale per il progetto come
Impact of the Factor = Impact Weight × Rated Value
Step 3.4- Calcola la somma dell'impatto di tutti i fattori. Questo dà il Total Environment Factor (EFactor) come indicato nella seguente tabella:
Fattore | Descrizione | Peso (W) | Valore nominale (da 0 a 5) (RV) | Impatto (I = W × RV) |
---|---|---|---|---|
F1 | Familiarità con il modello di progetto utilizzato | 1.5 | ||
F2 | Esperienza applicativa | .5 | ||
F3 | Esperienza orientata agli oggetti | 1.0 | ||
F4 | Capacità di analista principale | .5 | ||
F5 | Motivazione | 1.0 | ||
F6 | Requisiti stabili | 2.0 | ||
F7 | Personale part-time | -1.0 | ||
F8 | Linguaggio di programmazione difficile | -1.0 | ||
Total Environment Factor (EFactor) |
Step 3.5 - Calcola il fattore ambientale (EF) come -
1.4 + (-0.03 × EFactor)
Fase 4: calcolare i punti di caso d'uso rettificati (UCP)
Calcola i punti caso d'uso rettificati (UCP) come -
UCP = UUCP × TCF × EF
Vantaggi e svantaggi dei punti caso d'uso
Vantaggi dei punti caso d'uso
Gli UCP si basano su casi d'uso e possono essere misurati molto presto nel ciclo di vita del progetto.
L'UCP (stima delle dimensioni) sarà indipendente dalle dimensioni, dalle capacità e dall'esperienza del team che implementa il progetto.
Le stime basate sull'UCP sono vicine ai valori effettivi quando la stima viene eseguita da persone esperte.
UCP è facile da usare e non richiede analisi aggiuntive.
I casi d'uso vengono utilizzati ampiamente come metodo di scelta per descrivere i requisiti. In questi casi, l'UCP è la tecnica di stima più adatta.
Svantaggi dei punti caso d'uso
UCP può essere utilizzato solo quando i requisiti sono scritti sotto forma di casi d'uso.
A seconda di casi d'uso ben scritti e orientati agli obiettivi. Se i casi d'uso non sono ben o uniformemente strutturati, l'UCP risultante potrebbe non essere accurato.
I fattori tecnici e ambientali hanno un forte impatto su UCP. È necessario prestare attenzione nell'assegnare valori ai fattori tecnici e ambientali.
L'UCP è utile per la stima iniziale delle dimensioni complessive del progetto, ma sono molto meno utili per guidare il lavoro di iterazione di un team.