Tecniche di stima - Processo di conteggio FP

Il processo di conteggio FP prevede i seguenti passaggi:

  • Step 1 - Determina il tipo di conteggio.

  • Step 2 - Determina il limite del conteggio.

  • Step 3 - Identificare ogni processo elementare (EP) richiesto dall'utente.

  • Step 4 - Determina gli EP unici.

  • Step 5 - Misura le funzioni dei dati.

  • Step 6 - Misura le funzioni transazionali.

  • Step 7 - Calcola la dimensione funzionale (conteggio punti funzione non aggiustato).

  • Step 8 - Determinare il fattore di regolazione del valore (VAF).

  • Step 9 - Calcola il conteggio dei punti funzione regolato.

Note- Le caratteristiche generali del sistema (GSC) sono rese opzionali in CPM 4.3.1 e spostate nell'appendice. Quindi, il passaggio 8 e il passaggio 9 possono essere saltati.

Passaggio 1: determinare il tipo di conteggio

Esistono tre tipi di conteggio dei punti funzione:

  • Conteggio punti funzione di sviluppo
  • Conteggio punti funzione applicazione
  • Conteggio punti funzione di miglioramento

Conteggio punti funzione di sviluppo

I punti funzione possono essere conteggiati in tutte le fasi di un progetto di sviluppo, dal requisito alla fase di implementazione. Questo tipo di conteggio è associato al nuovo lavoro di sviluppo e può includere i prototipi, che potrebbero essere stati richiesti come soluzione temporanea, che supporta lo sforzo di conversione. Questo tipo di conteggio è chiamato conteggio di punti funzione di base.

Conteggio punti funzione applicazione

I conteggi delle applicazioni vengono calcolati come i punti funzione forniti ed escludono qualsiasi sforzo di conversione (prototipi o soluzioni temporanee) e funzionalità esistenti che potrebbero essere esistite.

Conteggio punti funzione di miglioramento

Quando vengono apportate modifiche al software dopo la produzione, vengono considerate miglioramenti. Per dimensionare tali progetti di miglioramento, il conteggio punti funzione viene aggiunto, modificato o eliminato nell'applicazione.

Passaggio 2: determinare il limite del conteggio

Il confine indica il confine tra l'applicazione misurata e le applicazioni esterne o il dominio dell'utente. (Fare riferimento alla Figura 1)

Per determinare il confine, capire:

  • Lo scopo del conteggio dei punti funzione
  • Ambito dell'applicazione da misurare
  • Come e quali applicazioni mantengono quali dati
  • Le aree di business che supportano le applicazioni

Passaggio 3: identificare ogni processo elementare richiesto dall'utente

Comporre e / o scomporre i requisiti utente funzionali nella più piccola unità di attività, che soddisfa tutti i seguenti criteri:

  • È significativo per l'utente.
  • Costituisce una transazione completa.
  • È autonomo.
  • Lascia l'attività dell'applicazione che viene conteggiata in uno stato coerente.

Ad esempio, il Requisito utente funzionale - "Mantieni informazioni sui dipendenti" può essere scomposto in attività più piccole come aggiungere dipendente, cambiare dipendente, eliminare dipendente e informarsi sul dipendente.

Ogni unità di attività così identificata è un Processo Elementare (EP).

Passaggio 4: determinare i processi elementari unici

Confrontando due EP già identificati, contarli come un EP (stesso EP) se:

  • Richiedi lo stesso set di DET.
  • Richiedi lo stesso set di FTR.
  • Richiede lo stesso set di logica di elaborazione per completare il PE.

Non dividere un EP con più forme di logica di elaborazione in più Eps.

Ad esempio, se hai identificato "Aggiungi dipendente" come EP, non dovrebbe essere diviso in due EP per tenere conto del fatto che un dipendente può o meno avere dipendenti. Il PE è ancora "Aggiungi dipendente" e vi sono variazioni nella logica di elaborazione e nei DET per tenere conto delle persone a carico.

Passaggio 5: misurare le funzioni dei dati

Classificare ciascuna funzione dati come ILF o EIF.

Una funzione dati è classificata come:

  • File logico interno (ILF), se mantenuto dall'applicazione da misurare.

  • File di interfaccia esterna (EIF) se è referenziato, ma non mantenuto dall'applicazione misurata.

Gli ILF e gli EIF possono contenere dati aziendali, dati di controllo e dati basati su regole. Ad esempio, la commutazione del telefono è composta da tutti e tre i tipi: dati aziendali, dati delle regole e dati di controllo. I dati aziendali sono la vera chiamata. I dati delle regole sono il modo in cui la chiamata deve essere instradata attraverso la rete, mentre i dati di controllo sono il modo in cui gli interruttori comunicano tra loro.

Considera la seguente documentazione per il conteggio di ILF e FEI:

  • Obiettivi e vincoli per il sistema proposto.
  • Documentazione relativa al sistema attuale, se tale sistema esiste.
  • Documentazione degli obiettivi, dei problemi e dei bisogni percepiti dagli utenti.
  • Modelli di dati.

Passaggio 5.1: contare i DET per ciascuna funzione dati

Applicare le seguenti regole per contare i DET per ILF / EIF:

  • Contare un DET per ogni campo identificabile dall'utente univoco, non ripetuto mantenuto o recuperato dall'ILF o EIF attraverso l'esecuzione di un EP.

  • Contare solo i DET utilizzati dall'applicazione misurati quando due o più applicazioni mantengono e / o fanno riferimento alla stessa funzione dati.

  • Contare un DET per ogni attributo richiesto dall'utente per stabilire una relazione con un altro ILF o EIF.

  • Rivedere gli attributi correlati per determinare se sono raggruppati e conteggiati come un singolo DET o se sono conteggiati come più DET. Il raggruppamento dipenderà da come gli EP utilizzano gli attributi all'interno dell'applicazione.

Passaggio 5.2: contare i RET per ciascuna funzione dati

Applicare le seguenti regole per contare i RET per ILF / EIF:

  • Contare un RET per ogni funzione dati.
  • Contare un RET aggiuntivo per ciascuno dei seguenti sottogruppi logici aggiuntivi di DET.
    • Entità associativa con attributi non chiave.
    • Sottotipo (diverso dal primo sottotipo).
    • Entità attributiva, in una relazione diversa da quella obbligatoria 1: 1.

Passaggio 5.3: determinare la complessità funzionale per ciascuna funzione dati

RETS Tipi di elementi dati (DET)
1-19 20-50 >50
1 L L UN
Da 2 a 5 L UN H
> 5 UN H H

Complessità funzionale: L = Basso; A = Media; H = Alto

Passaggio 5.4: misurare la dimensione funzionale per ciascuna funzione dati

Complessità funzionale Conteggio FP per ILF Conteggio FP per FEI
Basso 7 5
Media 10 7
Alto 15 10

Passaggio 6: misurare le funzioni transazionali

Per misurare le funzioni transazionali, i seguenti sono i passaggi necessari:

Passaggio 6.1: classificazione di ciascuna funzione transazionale

Le funzioni transazionali dovrebbero essere classificate come un input esterno, un output esterno o un'indagine esterna.

Ingresso esterno

L'input esterno (EI) è un processo elementare che elabora i dati o controlla le informazioni che provengono dall'esterno del confine. Lo scopo principale di un'IE è quello di mantenere uno o più ILF e / o alterare il comportamento del sistema.

Devono essere applicate tutte le seguenti regole:

  • I dati o le informazioni di controllo vengono ricevuti dall'esterno del limite dell'applicazione.

  • Almeno un ILF viene mantenuto se i dati che entrano nel confine non sono informazioni di controllo che alterano il comportamento del sistema.

  • Per il PE identificato, deve essere applicata una delle tre dichiarazioni:

    • La logica di elaborazione è unica rispetto alla logica di elaborazione eseguita da altri EI per l'applicazione.

    • La serie di elementi di dati identificati è diversa dalle serie identificate per altri EI nell'applicazione.

    • Gli ILF o EIF a cui si fa riferimento sono diversi dai file a cui fanno riferimento gli altri EI nella domanda.

Uscita esterna

L'output esterno (EO) è un processo elementare che invia dati o informazioni di controllo al di fuori dei confini dell'applicazione. EO include un'elaborazione aggiuntiva oltre a quella di un'indagine esterna.

Lo scopo principale di un EO è presentare le informazioni a un utente attraverso una logica di elaborazione diversa o in aggiunta al recupero di dati o informazioni di controllo.

La logica di elaborazione deve:

  • Contenere almeno una formula matematica o un calcolo.
  • Crea dati derivati.
  • Mantieni uno o più ILF.
  • Modifica il comportamento del sistema.

Devono essere applicate tutte le seguenti regole:

  • Invia dati o informazioni di controllo esterne al limite dell'applicazione.
  • Per il PE identificato, deve essere applicata una delle tre dichiarazioni:
    • La logica di elaborazione è unica rispetto alla logica di elaborazione eseguita da altri EO per l'applicazione.
    • La serie di elementi di dati identificati sono diversi dagli altri EO nell'applicazione.
    • Gli ILF o EIF a cui si fa riferimento sono diversi dai file a cui fanno riferimento altri EO nell'applicazione.

Inoltre, deve essere applicata una delle seguenti regole:

  • La logica di elaborazione contiene almeno una formula matematica o un calcolo.
  • La logica di elaborazione mantiene almeno un ILF.
  • La logica di elaborazione altera il comportamento del sistema.

Indagine esterna

External Inquiry (EQ) è un processo elementare che invia dati o informazioni di controllo al di fuori del confine. Lo scopo principale di un EQ è presentare le informazioni all'utente attraverso il recupero di dati o informazioni di controllo.

La logica di elaborazione non contiene formule matematiche o calcoli e non crea dati derivati. Nessun ILF viene mantenuto durante l'elaborazione, né il comportamento del sistema viene alterato.

Devono essere applicate tutte le seguenti regole:

  • Invia dati o informazioni di controllo esterne al limite dell'applicazione.
  • Per il PE identificato, deve essere applicata una delle tre dichiarazioni:
    • La logica di elaborazione è unica rispetto alla logica di elaborazione eseguita da altri EQ per l'applicazione.
    • L'insieme di elementi di dati identificati è diverso dagli altri EQ nell'applicazione.
    • Gli ILF o EIF a cui si fa riferimento sono diversi dai file a cui fanno riferimento altri EQ nell'applicazione.

Inoltre, devono essere applicate tutte le seguenti regole:

  • La logica di elaborazione recupera dati o informazioni di controllo da un ILF o EIF.
  • La logica di elaborazione non contiene formule matematiche o calcoli.
  • La logica di elaborazione non altera il comportamento del sistema.
  • La logica di elaborazione non mantiene un ILF.

Passaggio 6.2: contare i DET per ciascuna funzione transazionale

Applicare le seguenti regole per contare i DET per gli EI:

  • Rivedi tutto ciò che attraversa (entra e / o esce) il confine.

  • Contare un DET per ogni attributo non ripetuto e identificabile dall'utente univoco che attraversa (entra e / o esce) il confine durante l'elaborazione della funzione transazionale.

  • Contare solo un DET per funzione transazionale per la capacità di inviare un messaggio di risposta dell'applicazione, anche se sono presenti più messaggi.

  • Contare solo un DET per funzione transazionale per la capacità di avviare azioni anche se ci sono più mezzi per farlo.

  • Non contare i seguenti elementi come DET:

    • Attributi generati all'interno del confine da una funzione transazionale e salvati in un ILF senza uscire dal confine.

    • Valori letterali come titoli di report, identificatori di schermate o pannelli, intestazioni di colonne e titoli di attributi.

    • Timbri generati dall'applicazione come attributi di data e ora.

    • Variabili di paginazione, numeri di pagina e informazioni sul posizionamento, ad esempio, "Righe da 37 a 54 di 211".

    • Aiuti alla navigazione come la possibilità di navigare all'interno di un elenco utilizzando "precedente", "successivo", "primo", "ultimo" e i loro equivalenti grafici.

Applicare le seguenti regole per contare i DET per EO / EQ:

  • Rivedi tutto ciò che attraversa (entra e / o esce) il confine.

  • Contare un DET per ogni attributo non ripetuto e identificabile dall'utente univoco che attraversa (entra e / o esce) il confine durante l'elaborazione della funzione transazionale.

  • Contare solo un DET per funzione transazionale per la capacità di inviare un messaggio di risposta dell'applicazione, anche se sono presenti più messaggi.

  • Contare solo un DET per funzione transazionale per la capacità di avviare azioni anche se ci sono più mezzi per farlo.

  • Non contare i seguenti elementi come DET:

    • Attributi generati all'interno del confine senza attraversare il confine.

    • Valori letterali come titoli di report, identificatori di schermate o pannelli, intestazioni di colonne e titoli di attributi.

    • Timbri generati dall'applicazione come attributi di data e ora.

    • Variabili di paginazione, numeri di pagina e informazioni sul posizionamento, ad esempio, "Righe da 37 a 54 di 211".

    • Aiuti alla navigazione come la possibilità di navigare all'interno di un elenco utilizzando "precedente", "successivo", "primo", "ultimo" e i loro equivalenti grafici.

Passaggio 6.3: contare gli FTR per ciascuna funzione transazionale

Applica le seguenti regole per contare gli FTR per gli EI:

  • Contare un FTR per ogni ILF mantenuto.
  • Contare un FTR per ogni lettura ILF o EIF durante l'elaborazione dell'EI.
  • Contare solo un FTR per ogni ILF che viene mantenuto e letto.

Applica la seguente regola per contare gli FTR per EO / EQ:

  • Contare un FTR per ogni lettura ILF o EIF durante l'elaborazione di EP.

Inoltre, applica le seguenti regole per contare gli FTR per gli EO:

  • Contare un FTR per ogni ILF mantenuto durante l'elaborazione di EP.
  • Contare solo un FTR per ogni ILF che viene mantenuto e letto da EP.

Passaggio 6.4: determinare la complessità funzionale per ciascuna funzione transazionale

FTR Tipi di elementi dati (DET)
1-4 5-15 >=16
0-1 L L UN
2 L UN H
> = 3 UN H H

Complessità funzionale: L = Basso; A = Media; H = Alto

Determina la complessità funzionale per ogni EO / EQ, con l'eccezione che l'EQ deve avere un minimo di 1 FTR -

L'EQ deve avere un minimo di 1 FTR

FTR

Tipi di elementi dati (DET)
1-4 5-15 > = 16
0-1 L L UN
2 L UN H
> = 3 UN H H

Complessità funzionale: L = Basso; A = Media; H = Alto

Passaggio 6.5: misurare la dimensione funzionale per ciascuna funzione transazionale

Misurare la dimensione funzionale per ogni EI dalla sua complessità funzionale.

Complessità Conteggio FP
Basso 3
Media 4
Alto 6

Misura la dimensione funzionale per ogni EO / EQ dalla sua complessità funzionale.

Complessità Conteggio FP per EO Conteggio FP per EQ
Basso 4 3
Media 5 4
Alto 6 6

Passaggio 7: calcolare la dimensione funzionale (conteggio punti funzione non regolato)

Per calcolare la dimensione funzionale, è necessario seguire i passaggi indicati di seguito:

Passaggio 7.1

Ricorda cosa hai trovato nel passaggio 1. Determina il tipo di conteggio.

Passaggio 7.2

Calcola la dimensione funzionale o il conteggio dei punti funzione in base al tipo.

  • Per il conteggio dei punti della funzione di sviluppo, andare al passaggio 7.3.
  • Per il conteggio dei punti funzione dell'applicazione, andare al passaggio 7.4.
  • Per il conteggio dei punti della funzione di miglioramento, andare al passaggio 7.5.

Passaggio 7.3

Il conteggio dei punti della funzione di sviluppo consiste di due componenti di funzionalità:

  • Funzionalità dell'applicazione inclusa nei requisiti utente per il progetto.

  • Funzionalità di conversione inclusa nei requisiti utente per il progetto. La funzionalità di conversione consiste in funzioni fornite solo durante l'installazione per convertire i dati e / o fornire altri requisiti di conversione specificati dall'utente, come rapporti di conversione speciali. Ad esempio, un'applicazione esistente può essere sostituita con un nuovo sistema.

DFP = ADD + CFP

Dove,

DFP = Conteggio punti funzione di sviluppo

ADD = Dimensioni delle funzioni fornite all'utente dal progetto di sviluppo

CFP = Dimensioni della funzionalità di conversione

ADD = Conteggio FP (ILF) + Conteggio FP (EIF) + Conteggio FP (EIs) + Conteggio FP (EO) + Conteggio FP (EQ)

CFP = Conteggio FP (ILF) + Conteggio FP (EIF) + Conteggio FP (EIs) + Conteggio FP (EO) + Conteggio FP (EQ)

Passaggio 7.4

Calcola il conteggio dei punti della funzione dell'applicazione

AFP = ADD

Dove,

AFP = Conteggio punti funzione applicazione

ADD = Dimensione delle funzioni fornite all'utente dal progetto di sviluppo (esclusa la dimensione di qualsiasi funzionalità di conversione) o la funzionalità che esiste ogni volta che viene conteggiata l'applicazione.

ADD = Conteggio FP (ILF) + Conteggio FP (EIF) + Conteggio FP (EIs) + Conteggio FP (EO) + Conteggio FP (EQ)

Passaggio 7.5

La funzione di miglioramento Point Count considera i seguenti quattro componenti della funzionalità:

  • Funzionalità che viene aggiunta all'applicazione.
  • Funzionalità che viene modificata nell'applicazione.
  • Funzionalità di conversione.
  • Funzionalità che viene eliminata dall'applicazione.

EFP = ADD + CHGA + CFP + DEL

Dove,

EFP = Conteggio punti funzione di miglioramento

ADD = Dimensioni delle funzioni aggiunte dal progetto di miglioramento

CHGA = Dimensioni delle funzioni modificate dal progetto di miglioramento

CFP = Dimensioni della funzionalità di conversione

DEL = Dimensioni delle funzioni eliminate dal progetto di miglioramento

ADD = Conteggio FP (ILF) + Conteggio FP (EIF) + Conteggio FP (EIs) + Conteggio FP (EO) + Conteggio FP (EQ)

CHGA = Conteggio FP (ILF) + Conteggio FP (EIF) + Conteggio FP (EIs) + Conteggio FP (EO) + Conteggio FP (EQ)

CFP = Conteggio FP (ILF) + Conteggio FP (EIF) + Conteggio FP (EIs) + Conteggio FP (EO) + Conteggio FP (EQ)

DEL = Conteggio FP (ILF) + Conteggio FP (EIF) + CONTO FP (EIs) + Conteggio FP (EO) + Conteggio FP (EQ)

Passaggio 8: determinare il fattore di regolazione del valore

Le GSC sono rese opzionali in CPM 4.3.1 e spostate nell'appendice. Quindi, il passaggio 8 e il passaggio 9 possono essere saltati.

Il Value Adjustment Factor (VAF) si basa su 14 GSC che valutano la funzionalità generale dell'applicazione da conteggiare. Le GSC sono vincoli aziendali degli utenti indipendenti dalla tecnologia. Ogni caratteristica ha descrizioni associate per determinare il grado di influenza.

Caratteristica generale del sistema Breve descrizione
Comunicazioni di dati Quante strutture di comunicazione ci sono per aiutare il trasferimento o lo scambio di informazioni con l'applicazione o il sistema?
Elaborazione dati distribuita Come vengono gestiti i dati distribuiti e le funzioni di elaborazione?
Prestazione L'utente ha richiesto tempo di risposta o velocità effettiva?
Configurazione molto usata Quanto è utilizzata l'attuale piattaforma hardware su cui verrà eseguita l'applicazione?
Tasso di transazione Con quale frequenza vengono eseguite le transazioni giornaliere, settimanali, mensili, ecc.?
Inserimento dati in linea Quale percentuale delle informazioni viene inserita online?
Efficienza dell'utente finale L'applicazione è stata progettata per l'efficienza dell'utente finale?
Aggiornamento in linea Quanti ILF vengono aggiornati tramite transazione online?
Elaborazione complessa L'applicazione dispone di un'ampia elaborazione logica o matematica?
Riusabilità L'applicazione è stata sviluppata per soddisfare le esigenze di uno o più utenti?
Facilità di installazione Quanto sono difficili la conversione e l'installazione?
Facilità operativa Quanto sono efficaci e / o automatizzate le procedure di avvio, backup e ripristino?
Più siti L'applicazione è stata progettata, sviluppata e supportata specificamente per essere installata in più siti per più organizzazioni?
Facilitare il cambiamento L'applicazione è stata progettata, sviluppata e supportata specificamente per facilitare il cambiamento?

La gamma del grado di influenza è su una scala da zero a cinque, da nessuna influenza a forte influenza.

Valutazione Grado di influenza
0 Non presente o nessuna influenza
1 Influenza accidentale
2 Influenza moderata
3 Influenza media
4 Influenza significativa
5 Forte influenza ovunque

Determina il grado di influenza per ciascuna delle 14 GSC.

La somma dei valori delle 14 GSC così ottenute è denominata Total Degree of Influence (TDI).

TDI = ∑14 Degrees of Influence

Quindi, calcola il fattore di regolazione del valore (VAF) come

VAF = (TDI × 0.01) + 0.65

Ogni GSC può variare da 0 a 5, TDI può variare da (0 × 14) a (5 × 14), cioè da 0 (quando tutte le GSC sono basse) a 70 (quando tutte le GSC sono alte) cioè 0 ≤ TDI ≤ 70. Pertanto, il VAF può variare nell'intervallo da 0,65 (quando tutte le GSC sono basse) a 1,35 (quando tutte le GSC sono alte), ovvero 0,65 ≤ VAF ≤ 1,35.

Passaggio 9: calcolare il conteggio dei punti funzione regolati

Secondo l'approccio FPA che utilizza il VAF (versioni CPM precedenti alla V4.3.1), questo è determinato da,

Adjusted FP Count = Unadjusted FP Count × VAF

Dove, il conteggio FP non corretto è la dimensione funzionale calcolata nel passaggio 7.

Poiché il VAF può variare da 0,65 a 1,35, il VAF esercita un'influenza di ± 35% sul conteggio FP finale regolato.

Vantaggi dei punti funzione

I punti funzione sono utili -

  • Misurando la dimensione della soluzione invece della dimensione del problema.

  • Poiché i requisiti sono l'unica cosa necessaria per il conteggio dei punti funzione.

  • Poiché è indipendente dalla tecnologia.

  • Poiché è indipendente dai linguaggi di programmazione.

  • Nella stima dei progetti di test.

  • Nella stima dei costi, della pianificazione e dell'impegno complessivi del progetto.

  • Nelle trattative contrattuali in quanto fornisce un metodo di comunicazione più facile con i gruppi aziendali.

  • Poiché quantifica e assegna un valore agli usi, alle interfacce e agli scopi effettivi delle funzioni nel software.

  • Nella creazione di rapporti con altre metriche come ore, costo, organico, durata e altre metriche dell'applicazione.

Repository FP

International Software Benchmarking Standards Group (ISBSG) cresce e mantiene due archivi per i dati IT.

  • Progetti di sviluppo e valorizzazione
  • Applicazioni di manutenzione e supporto

Ci sono più di 6.000 progetti nel repository dei progetti di sviluppo e miglioramento.

I dati vengono forniti in formato Microsoft Excel, rendendo più facile per ulteriori analisi che si desidera eseguire con esso, o è anche possibile utilizzare i dati per qualche altro scopo.

La licenza del repository ISBSG può essere acquistata da: http://www.isbsg.com/

ISBSG offre uno sconto del 10% per i membri IFPUG per gli acquisti online quando viene utilizzato il codice sconto "IFPUGMembers".

Gli aggiornamenti del rilascio dei dati del progetto software ISBSG sono disponibili all'indirizzo: http://www.ifpug.org/isbsg/

COSMIC e IFPUG hanno collaborato per produrre un glossario di termini per i requisiti di progetto e non funzionali del software. Può essere scaricato da - cosmic-sizing.org