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.