Analisi iniziale dei punti di funzione

Nesma riconosce tre metodi di analisi dei punti funzione:

  • Analisi dettagliata dei punti funzione
  • Analisi stimata dei punti di funzione
  • Analisi indicativa dei punti di funzione

Tutti questi tre metodi sono una misurazione del dimensionamento funzionale autonoma (FSM) metodo da soli. Il metodo FPA di alto livello e il metodo FPA indicativo non richiedono requisiti utente dettagliati, mentre la dimensione funzionale determinata utilizzando questi metodi è molto vicina alla dimensione funzionale determinata utilizzando il metodo FPA dettagliato. Ecco perché questi due metodi sono molto adatti per essere applicati nelle prime fasi del ciclo di vita dello sviluppo del software o nel caso in cui la dimensione funzionale debba essere determinata rapidamente.

The information on this page is also available as a free document
in Dutch, English, Portuguese and Japanese.

FPA dettagliato

Questo è il solito metodo di analisi dei punti funzione e viene eseguito come segue:

  • Determina tutte le funzioni di tutti i tipi di funzione (ILF, FEI, NO, È IL, EQ)
  • Valuta la complessità di ogni funzione (Basso, Media, Alto)
  • Calcola il conteggio totale dei punti funzione non regolati

FPA di alto livello (a.k.a. FPA stimato)

Il metodo di analisi dei punti di funzione di alto livello viene eseguito come segue:

  • Determina tutte le funzioni di tutti i tipi di funzione (ILF, FEI, NO, È IL, EQ)
  • Valuta la complessità di ogni funzione dati (ILF, FEI) come Basso e di ogni funzione transazionale (NO, È IL, EQ) come nella media
  • calcolare il conteggio totale dei punti funzione non regolati

Così, l'unica differenza di questa approssimazione con il metodo di analisi dei punti funzione dettagliata è che la complessità non è determinata per singola funzione, ma per impostazione predefinita.

FPA indicativo

Il metodo di analisi del punto di funzione indicativo viene eseguito come segue:

  • Determina il numero di funzioni dati (ILF e FEI);
  • Calcolare il conteggio totale dei punti funzione non regolati dell'applicazione come segue: dimensione indicativa (fp) = 35 x numero di ILF + 15 x numero di FEI

Quindi questa approssimazione si basa esclusivamente sui file logici (ILF e FEI).

L'analisi indicativa dei punti di funzione si basa sul presupposto che ci saranno circa tre EI (aggiungere, modificare, ed eliminare le informazioni nell'ILF), due EO, e un EQ in media per ogni ILF, e circa un EO e un EQ per ogni EIF.

Esempio di indicativo, FPA di alto livello e dettagliato

Questa sezione illustra i tre metodi FPA da un piccolo caso di studio: un'applicazione che conserva i dati del cliente e del prodotto, e fa riferimento ai dati del fornitore. La dimensione funzionale più accurata che si desidera, i requisiti utente più dettagliati di cui si ha bisogno. Ecco perché questo caso di studio presenta i tre metodi di analisi dei punti funzione in ordine crescente di accuratezza:

  • Analisi indicativa dei punti di funzione
  • Alto livello (stimato) analisi dei punti funzione
  • (Dettagliato) analisi dei punti funzione

FPA indicativo

Per un'analisi indicativa dei punti funzione sono necessarie solo le informazioni sulle funzioni dei dati.

Requisiti degli utenti:

  • l'utente desidera conservare i dati del cliente e dei prodotti, e per fare riferimento ai dati del Fornitore.

Questo (ruvido) la specifica è sufficiente per un conteggio dei punti funzione indicativo:

  • ILF: Cliente e prodotto
  • FEI: Fornitore
Funzione dati

Tipo di funzione

Punti funzionali
(per impostazione predefinita)

Cliente

ILF

35

Prodotto

ILF

35

Fornitore

FEI

15

Dimensioni funzionali indicative

85 fp

FPA di alto livello

Per eseguire un'analisi dei punti funzione di alto livello, abbiamo anche bisogno di informazioni sulle funzioni transazionali, quindi sono necessari requisiti utente più dettagliati: Requisiti degli utenti:

  • L'utente desidera aggiungere, modificare, eliminare i dati del cliente, desidera informarsi sul cliente, e richiede anche quattro diversi report sul cliente con dati calcolati
  • L'utente desidera aggiungere, modificare, eliminare i dati del prodotto, vuole chiedere informazioni sul prodotto, e richiede anche un report sul prodotto con dati calcolati
  • L'utente desidera richiedere informazioni sul fornitore utilizzando il numero del fornitore, e richiede anche un rapporto sul fornitore con i risultati totali

Questa specifica più dettagliata dei requisiti dell'utente mostra la quantità effettiva di funzioni transazionali, e quindi abilita un conteggio dei punti funzione stimato.

Dati o funzione transazionale

Tipo di funzione

Complessità (per impostazione predefinita)

Punti funzionali (non regolato)

Cliente

ILF

Basso

7

Prodotto

ILF

Basso

7

Fornitore

FEI

Basso

5

Aggiungi cliente

NO

Media

4

Cambia cliente

NO

Media

4

Elimina cliente

NO

Media

4

Informarsi sul cliente

EQ

Media

4

rapporto 1 sul cliente

È IL

Media

5

rapporto 2 sul cliente

È IL

Media

5

rapporto 3 sul cliente

È IL

Media

5

rapporto 4 sul cliente

È IL

Media

5

Aggiungi prodotto

NO

Media

4

Cambia prodotto

NO

Media

4

Elimina prodotto

NO

Media

4

Richiedi informazioni sul prodotto

EQ

Media

4

Rapporto sul prodotto

È IL

Media

5

Informarsi sul fornitore

EQ

Media

4

Rapporto sul fornitore

È IL

Media

5

Dimensioni funzionali stimate

85 fp

FPA dettagliato

Per eseguire un conteggio dettagliato dei punti funzione, non è necessario solo il numero di funzioni di ciascun tipo di funzione (NO, È IL, EQ, ILF, FEI), ma bisogna anche determinare la complessità funzionale di ogni singola funzione (Basso, Media, Alto). In FPA, la complessità funzionale di a (dati o transazionali) la funzione è determinata, in base al numero di DET, RET e tipi di file a cui si fa riferimento che sono rilevanti per questa funzione. Ecco perché le esigenze degli utenti (come indicato sopra in questo esempio quando abbiamo discusso il conteggio dei punti funzione stimato) devono essere analizzati in modo più dettagliato: quali elementi di dati (DET) e file logici (Tipi di file a cui si fa riferimento) sono utilizzati da una funzione transazionale (NO, È IL, EQ), e quali gruppi di dati logici (RET) ed elementi di dati (DET) una funzione dati (ILF, FEI) consiste di. Questa analisi dettagliata dei requisiti dell'utente potrebbe comportare il seguente conteggio dei punti funzione:

Dati o funzione transazionale

Tipo di funzione

Complessità

Punti funzionali (non regolato)

Cliente

ILF

Media

10

Prodotto

ILF

Basso

7

Fornitore

FEI

Basso

5

Aggiungi cliente

NO

Alto

6

Cambia cliente

NO

Media

4

Elimina cliente

NO

Basso

3

Informarsi sul cliente

EQ

Basso

3

rapporto 1 sul cliente

È IL

Basso

4

rapporto 2 sul cliente

È IL

Media

5

rapporto 3 sul cliente

È IL

Basso

4

rapporto 4 sul cliente

È IL

Alto

7

Aggiungi prodotto

NO

Media

4

Cambia prodotto

NO

Basso

3

Elimina prodotto

NO

Basso

3

Richiedi informazioni sul prodotto

EQ

Media

4

Rapporto sul prodotto

È IL

Media

5

Informarsi sul fornitore

EQ

Basso

3

Rapporto sul fornitore

È IL

Media

5

Dimensioni funzionali

85 fp

Conclusione

In questo particolare caso di studio, tutti e tre i metodi danno come risultato la stessa dimensione funzionale di 85 punti funzione. Di solito i risultati non sono esattamente gli stessi, ma sono ancora abbastanza vicini gli uni agli altri. Di seguito sono riportati i risultati della ricerca sull'accuratezza dei metodi di analisi dei punti di funzione stimati e indicativi.

Risultati della ricerca basata su a 100+ banca dati dei progetti

Utilizzando un database di circa 100+ applicazioni sviluppate e implementate Nesma ha svolto ricerche sull'accuratezza dei metodi di approssimazione FPA stimati e indicativi. Le applicazioni implementate sono state misurate simultaneamente utilizzando tutti e tre i metodi FPA. I risultati sono presentati in due grafici:

1. la dimensione misurata tramite il metodo di analisi dei punti di funzione di alto livello rispetto alla dimensione misurata tramite il metodo di analisi dei punti di funzione dettagliata:

estdetfp

2. la dimensione misurata tramite l'analisi indicativa dei punti di funzione rispetto alla dimensione misurata tramite il metodo di analisi dettagliata dei punti di funzione:

inddetfp

C'è una buona correlazione (retta) in entrambi i casi. Nel grafico dell'analisi dei punti funzione indicativa, però, ci sono notevoli deviazioni (fino a circa 50%) in alcuni casi. Questo è il motivo per cui si dovrebbe stare attenti utilizzando l'analisi indicativa dei punti di funzione. Il punto di forza di questo metodo FPA indicativo è che si ottiene facilmente una stima approssimativa delle dimensioni di un'applicazione in un tempo molto breve.

In un'applicazione con più (o meno) rispetto a una normale quantità di input o output, potrebbe essere necessario modificare i moltiplicatori di 35 e 15, ma la filosofia alla base dell'approccio può essere generalmente utilizzata.

Quando utilizzare il metodo per il conteggio dei punti funzione

Un'analisi dettagliata dei punti funzionali è più accurata di un'analisi stimata o indicativa, ma costa anche più tempo e necessita di specifiche più dettagliate. Spetta al project manager e alla fase del ciclo di vita del sistema stabilire quale metodo di analisi dei punti funzione viene utilizzato.

I risultati dell'analisi dei punti funzione di alto livello e dell'analisi dettagliata dei punti funzione sono molto simili. Non vi è alcuna differenza statisticamente significativa nei risultati di entrambi i metodi FPA. Ecco perché molte organizzazioni hanno scelto di utilizzare il metodo FPA di alto livello per impostazione predefinita, invece del metodo dettagliato FPA.

In molte applicazioni un'analisi indicativa del punto di funzione fornisce una stima sorprendentemente buona della dimensione dell'applicazione. Spesso è relativamente facile eseguire un'analisi indicativa dei punti di funzione, perché un modello di dati è disponibile o può essere realizzato con poco sforzo. Fai attenzione nell'usare questo metodo, perché fornisce solo un'indicazione approssimativa delle dimensioni, e sono possibili deviazioni.