Punti Funzione per il software orientato agli oggetti

Punti Funzione per il software orientato agli oggetti

Punti Funzione per il software orientato agli oggetti

In questo articolo presenteremo quelli che, al meglio delle nostre conoscenze, sono gli approcci per avere una misurazione in Punti Funzione di un progetto fatto seguendo la metodologia orientata agli oggetti (software orientato agli oggetti). Secondo l’ingegneria del software, la principale differenza tra sistemi tradizionali e sistemi OO risiede nel modo di considerare il sistema stesso. Per quanto riguarda l’IFPUG, questo gruppo ha proposto un caso di studio utilizzando i concetti di Albrecht nel modello OO. Altri autori hanno creato diverse varianti ad hoc per avvicinare le metriche funzionali al mondo OO. Riportiamo qui di seguito un elenco di tali varianti, al meglio delle nostre conoscenze:

  • Object Points: prende come elementi su cui effettuare il conteggio le classi, gli attributi, le relazioni, i metodi, i messaggi, i parametri dei messaggi, le sorgenti e le destinazioni dei messaggi e la percentuale di riuso. Il valore così ottenuto viene pesato da dieci fattori di influenza analoghi ai GSC dei Punti Funzione IFPUG.
  • Object Points Analysis: la posizione di Banker si basa sull’osservazione che gli oggetti, nei linguaggi di programmazione di terza generazione, includono gli elementi propri della progettazione funzionale (schermate, report e moduli). Il numero di oggetti è stimato, la complessità di ciascun oggetto è classificata in una scala “semplice”, “media”, “difficile”, e viene conteggiato un totale pesato (Object-Point Count). Sono stimate anche la percentuale di riuso e la produttività. Non si tratta di una misura completamente funzionale e non fornisce valori confrontabile con quelli dei Punti Funzione standard IFPUG.
  • Function Points con OO: fornisce alcune linee guida desunte da un lavoro sul campo. È stato così che è potuta nascere questa variante che ha preso spunto dalle esperienze attinte da sviluppatori che usavano l’approccio object oriented.
  • Object Points Analysis: a differenza di quanto proposto da Banker, sebbene i due approcci portino lo stesso nome, l’obiettivo di Gupta è quello di introdurre una nuova metrica la cui struttura è simile a quella dei Punti Funzione IFPUG ma anziché andare a misurare le funzionalità fornite all’utente, sono conteggiati gli oggetti. Il sistema di pesatura è basato sulla complessità derivata dal numero di attributi, istanze e relazioni per lo scambio dei messaggi. Anche in questo caso la misura ottenuta non è comparabile con quella in Punti Funzione.
  • Use Cases e OO: fornisce un insieme di regole per il conteggio dei Punti Funzione, a partire dal modello OO di Jacobson.
  • Object-Oriented Function Points: fornisce delle regole per il conteggio delle funzioni di tipo dati attinenti con quanto disposto dall’IFPUG, per poi discostarsene per quanto riguarda il conteggio delle funzioni di tipo transazionale.
  • Enhanced Object Points: si tratta di un approccio che si basa sull’utilizzo di quattro variabili di predizione (predictor): Utenti, Siti, Interfacce e Moduli e di una variabile di risultato (response): Effort. La proposta di Stensrud fornisce risultati non confrontabili con quelli ottenuti attraverso i Punti Funzione IFPUG.
  • Use Case Points: si basa sugli elementi caratteristici del modello dei casi d’uso (attori e casi d’uso), ne effettua una quantificazione in base a delle regole di “pesatura” e prevede anche un aggiustamento in relazione a dei fattori di complessità molto vicini alle caratteristiche generali di sistema dell’analisi per Punti Funzione IFPUG. Non prende in esame gli archivi logici e non fornisce una misura non confrontabile con i Punti Funzione standard.

 

Precedente Metriche per Diagrammi di Stato UML Successivo Regole empiriche per la realizzazione di software di qualità

Lascia un commento

*