Metodo del punto di funzione di Albrecht
Le metriche dei punti funzione forniscono un metodo standardizzato per misurare le varie funzioni di un'applicazione software. Misura la funzionalità dal punto di vista dell'utente, cioè sulla base di ciò che l'utente richiede e riceve in cambio. L'analisi dei punti funzionali è un metodo standard per misurare lo sviluppo del software dal punto di vista dell'utente.
La misura Function Point originariamente concepita da Albrecht ha ricevuto una maggiore popolarità con la creazione dell'International Function Point Users Group (IFPUG) nel 1986. Nel 2002, IFPUG Function Points è diventato uno standard ISO internazionale - ISO / IEC 20926.
Cos'è un Function Point?
FP (Function Point)è la metrica di tipo funzionale più diffusa adatta per quantificare un'applicazione software. Si basa su cinque "funzioni" logiche identificabili dagli utenti, suddivise in due tipi di funzioni dati e tre tipi di funzioni transazionali. Per una data applicazione software, ciascuno di questi elementi viene quantificato e ponderato, contando i suoi elementi caratteristici, come riferimenti a file o campi logici.
I numeri risultanti (FP non aggiustato) sono raggruppati in set di funzioni aggiunte, modificate o eliminate e combinati con il fattore di regolazione del valore (VAF) per ottenere il numero finale di FP. Per ogni tipo di conteggio viene utilizzata una formula finale distinta: applicazione, progetto di sviluppo o progetto di miglioramento.
Applicazione del metodo del punto funzione di Albrecht
Vediamo ora come applicare il metodo Function Point di Albrecht. La sua procedura è la seguente:
Determina il numero di componenti (EI, EO, EQ, ILF ed ELF)
EI- Il numero di ingressi esterni. Si tratta di processi elementari in cui i dati derivati passano attraverso il confine dall'esterno all'interno. In un sistema di database della biblioteca di esempio, inserisci il numero di tessera della biblioteca di un utente esistente.
EO- Il numero di uscite esterne. Si tratta di processi elementari in cui i dati derivati passano attraverso il confine dall'interno all'esterno. In un sistema di database di una biblioteca di esempio, visualizzare un elenco di libri ritirati a un utente.
EQ- Il numero di query esterne. Si tratta di processi elementari con componenti di input e output che risultano nel recupero dei dati da uno o più file logici interni e file di interfaccia esterna. In un sistema di database di biblioteche di esempio, determinare quali libri sono attualmente ritirati da un utente.
ILF- Il numero di file di registro interni. Si tratta di gruppi identificabili dall'utente di dati correlati logicamente che risiedono interamente all'interno del confine delle applicazioni che vengono mantenuti tramite input esterni. In un sistema di database della libreria di esempio, il file dei libri nella libreria.
ELF- Il numero di file di registro esterni. Questi sono gruppi identificabili dall'utente di dati correlati logicamente che vengono utilizzati solo a scopo di riferimento e che risiedono interamente al di fuori del sistema. In un sistema di database della libreria di esempio, il file che contiene le transazioni nel sistema di fatturazione della libreria.
Calcola il conteggio dei punti funzione non aggiustato (UFC)
Valuta ogni componente come low, average, o high.
Per le transazioni (EI, EO, and EQ), la valutazione si basa su FTR e DET.
FTR - Il numero di file aggiornati o referenziati.
DET - Il numero di campi riconoscibili dall'utente.
Sulla base della seguente tabella, un file EI che fa riferimento a 2 file e 10 elementi di dati sarebbero classificati come average.
FTR | DET | |||
---|---|---|---|---|
1-5 | 6-15 | >15 | ||
0-1 | Basso | Basso | Media | |
2-3 | Basso | Media | Alto | |
>3 | Media | Alto | Alto |
Per i file (ILF and ELF), la valutazione si basa su RET e DET.
RET - Il numero di elementi di dati riconoscibili dall'utente in un file ILF o ELF.
DET - Il numero di campi riconoscibili dall'utente.
Sulla base della seguente tabella, un file ILF che contiene 10 elementi di dati e 5 campi sarebbero classificati come high.
RET | DET | |||
---|---|---|---|---|
1-5 | 6-15 | >15 | ||
1 | Basso | Basso | Media | |
2-5 | Basso | Media | Alto | |
>5 | Media | Alto | Alto |
Converti le valutazioni in UFCs.
Valutazione | Valori | ||||
---|---|---|---|---|---|
EO | EQ | EI | ILF | ELF | |
Low | 4 | 3 | 3 | 7 | 5 |
Average | 5 | 4 | 4 | 10 | 7 |
High | 6 | 5 | 6 | 15 | 10 |
Calcola il conteggio dei punti funzione finale (FPC)
Calcola il fattore di regolazione del valore (VAF) basato su 14 caratteristiche generali del sistema (GSC).
Caratteristica generale del sistema | Breve descrizione | |
---|---|---|
GSC 1 | Comunicazione dei dati | Quante strutture di comunicazione ci sono per aiutare il trasferimento o lo scambio di informazioni con l'applicazione o il sistema? |
GSC 2 | Elaborazione dati distribuita | Come vengono gestiti i dati distribuiti e le funzioni di elaborazione? |
GSC 3 | Prestazione | Il tempo di risposta o la velocità effettiva erano richiesti dall'utente? |
GSC 4 | Configurazione molto usata | Quanto è utilizzata l'attuale piattaforma hardware su cui verrà eseguita l'applicazione? |
GSC 5 | Tasso di transazione | Con quale frequenza vengono eseguite le transazioni giornaliere, settimanali, mensili, ecc.? |
GSC 6 | Inserimento dati in linea | Quale percentuale delle informazioni viene inserita online? |
GSC 7 | Efficienza dell'utente finale | L'applicazione è stata progettata per l'efficienza dell'utente finale? |
GSC 8 | Aggiornamento in linea | Quanti ILF vengono aggiornati tramite transazione online? |
GSC 9 | Elaborazione complessa | L'applicazione dispone di un'ampia elaborazione logica o matematica? |
GSC 10 | Riusabilità | L'applicazione è stata sviluppata per soddisfare le esigenze di uno o più utenti? |
GSC 11 | Facilità di installazione | Quanto sono difficili la conversione e l'installazione? |
SGC 12 | Facilità operativa | Quanto sono efficaci e / o automatizzate le procedure di avvio, backup e ripristino? |
SGC 13 | Più siti | L'applicazione è stata progettata, sviluppata e supportata specificamente per essere installata in più siti per più organizzazioni? |
SGC 14 | Facilitare il cambiamento | L'applicazione è stata progettata, sviluppata e supportata specificamente per facilitare il cambiamento? |
Pesa ciascuno GSC su una scala da 0 a 5 in base al fatto che non abbia influenza su un'influenza forte.
Calcola il file FPC come segue -
FPC = UFC * (0.65+ (somma (GSC) * .01))
Complessità
La complessità è una componente separata della dimensione. È di due tipi:
Complexity of a problem - È la quantità di risorse necessarie per una soluzione ottimale al problema.
Complexity of a solution- Sono le risorse necessarie per implementare una particolare soluzione. Ha due aspetti. Sono i seguenti:
Time complexity - La risorsa è l'ora del computer.
Space complexity - La risorsa è la memoria del computer.
Misurare la complessità
Un aspetto della complessità è l'efficienza. Misura qualsiasi prodotto software che può essere modellato come algoritmo.
Ad esempio: se un algoritmo per risolvere tutte le istanze di un particolare problema richiede f(n) calcoli, quindi f(n) è asintoticamente ottimale, se per ogni altro algoritmo di complessità g che risolve il problema f è O(g). Quindi, la complessità del problema dato è grande -O dell'algoritmo asintoticamente ottimale per la soluzione del problema.