Il function point è un'unità di misura utilizzata nell'ambito dell'ingegneria del software per esprimere la dimensione delle funzionalità fornite da un prodotto software.

Storia

modifica

Questa unità di misura è stata definita per la prima volta nel 1975 da Allan Albrecht (presso l'IBM), al fine di dimensionare i requisiti funzionali utente (FUR - Functional User Requirements) di un prodotto software già in fase di progettazione per ottenere una stima maggiormente oggettiva dell'impegno richiesto, in luogo delle LOC (Lines of Code), conteggiabili solo a valle della realizzazione e fortemente influenzate dallo stile di programmazione e dal linguaggio utilizzato (cfr. 'Productivity Paradox').

Successivamente lo sviluppo di questo particolare approccio di misura è stato preso in carico da un'associazione di utilizzatori denominata IFPUG (International Function Point Users Group).

Col passare degli anni sono state sviluppate una serie di varianti del metodo originario tra cui altre quattro divenute - insieme al metodo IFPUG - standard de jure: MARK-II, NESMA, COSMIC, e FISMA.

Standardizzazione

modifica

L'organizzazione ISO ha emanato una famiglia di norme che regolano i metodi di misurazione della dimensione funzionale del software (Functional Size Measurement - FSM), specificatamente, gli standard

  • ISO/IEC 14143-1:2007, Information technology -- Software measurement -- Functional size measurement -- Part 1: Definition of concepts
  • ISO/IEC 14143-1:2007/Cor 1:2011, Information technology -- Software measurement -- Functional size measurement -- Part 1: Definition of concepts
  • ISO/IEC 14143-2:2011, Information technology -- Software measurement -- Functional size measurement -- Part 2: Conformity evaluation of software size measurement methods to ISO/IEC 14143-1
  • ISO/IEC TR 14143-3:2003, Information technology -- Software measurement -- Functional size measurement -- Part 3: Verification of functional size measurement methods
  • ISO/IEC TR 14143-4:2002, Information technology -- Software measurement -- Functional size measurement -- Part 4: Reference model
  • ISO/IEC TR 14143-5:2004, Information technology -- Software measurement -- Functional size measurement -- Part 5: Determination of functional domains for use with functional size measurement
  • ISO/IEC 14143-6:2012, Information technology -- Software measurement -- Functional size measurement -- Part 6: Guide for use of ISO/IEC 14143 series and related International Standards.

Requisiti funzionali e non funzionali

modifica

Secondo gli standard i requisiti utente vengono distinti in:

  • requisiti funzionali (FUR - Functional User Requirements)
  • requisiti non funzionali (NFR - Non Functional Requirements) [es: requisiti di qualità, sicurezza, organizzativi, tecnici, documentazione tecnica, usabilità, performance, etc.)]

I Function Point misurano esclusivamente i FUR di un prodotto software, mentre per i NFR esistono diversi approcci e tecniche.

Recentemente l'IFPUG ha prodotto una tecnica parallela alla FPA (Function Point Analysis) denominata SNAP (Software Non-functional Assessment Process), sempre tesa a misurare il prodotto software, e non il progetto che lo genera. Tali requisiti di natura organizzativa sono 'out-of-scope' dall'applicazione di ambedue le tecniche.

Obiettivi d'analisi

modifica

Obiettivi dell'analisi dei function point sono:

  • misurare le funzionalità che l'utente riceve e richiede;
  • misurare i risultati dello sviluppo e/o la manutenzione del software indipendentemente dalla tecnologia utilizzata;
  • fornire una misura che sia coerente tra progetti e produttori differenti.

Altre caratteristiche

modifica

Gli attuali metodi di misurazione della dimensione funzionale riconosciuti come standard internazionali sono legati alla rilevazione e pesatura dei "movimenti di dati" e degli "archivi logici" ed escludono, per il momento, ogni valutazione della complessità e numero di algoritmi ovvero di elementi di "manipolazione" dei dati.

I Function Point possono essere messi in relazione con variabili come il costo di un progetto di sviluppo o di manutenzione evolutiva, o l'impegno in ore di lavoro previste, o lo staff necessario, o la durata solare; occorre, però, ricordare che la dimensione funzionale rappresenta solo un aspetto del prodotto software che entra in gioco nei modelli di costo, altre variabili che impattano su queste relazioni sono i requisiti di qualità, i requisiti tecnici e in generale i requisiti non funzionali.

Collegamenti esterni

modifica

📚 Artikel Terkait di Wikipedia

Funzione di valutazione (euristica)

Minimax Ricerca ad albero Monte Carlo Albero (informatica) (EN) evaluation function, su Enciclopedia Britannica, Encyclopædia Britannica, Inc. Portale

JavaScript

esempio: function Base() { this.Override = _Override; this.BaseFunction = _BaseFunction; function _Override() { alert("Base::Override()"); } function _BaseFunction()

Test sessuologico

C., Leiblum S.R., Self-report assessment of female sexual function: Psychometric evaluation of the brief index of sexual functioning for women. Archives

Minzione

patients compared to healthy volunteers: a sensation-related bladder diary evaluation, in Scandinavian Journal of Urology, vol. 53, n. 4, 4 luglio 2019, pp

Insufficienza pancreatica esocrina

Pancreolauryl test: Evaluation of a tubeless pancreatic function test in comparison with other indirect and direct tests for exocrine pancreatic function, in Digestive

Tripsina

TREATMENT OF CANCER AND ITS SCIENTIFIC BASIS, London, CHATTO & WINDUS, 1911 ^ Evaluation of Pancreatic Proteolytic Enzyme Treatment of Adenocarcinoma of the Pancreas

Spirometro

Chest. 2002 May;121(5 Suppl):219S-223S. ^ Wiltshire N, Kendrick AH. Evaluation of a new electronic spirometer: The Vitalograph escort spirometer. Thorax

Sesso non penetrativo

livestrong.com. ^ Phillips, N. A. (2000). Female sexual dysfunction: evaluation and treatment. American Family Physician, 62(1), 127-148. ^ Bruckner,