Metriche di misurazione del software

La metrica del software è uno standard di misura che contiene molte attività che implicano un certo grado di misurazione. Può essere classificato in tre categorie: metriche di prodotto, metriche di processo e metriche di progetto.

  • Product metrics descrivere le caratteristiche del prodotto come dimensioni, complessità, caratteristiche del design, prestazioni e livello di qualità.

  • Process metricspuò essere utilizzato per migliorare lo sviluppo e la manutenzione del software. Gli esempi includono l'efficacia della rimozione dei difetti durante lo sviluppo, il modello di test di arrivo dei difetti e il tempo di risposta del processo di correzione.

  • Project metricsdescrivere le caratteristiche e l'esecuzione del progetto. Gli esempi includono il numero di sviluppatori software, il modello di personale durante il ciclo di vita del software, il costo, la pianificazione e la produttività.

Alcune metriche appartengono a più categorie. Ad esempio, le metriche di qualità in-process di un progetto sono sia metriche di processo che metriche di progetto.

Ambito delle metriche del software

Le metriche del software contengono molte attività che includono quanto segue:

  • Stima dei costi e degli sforzi
  • Misure e modello di produttività
  • Raccolta dati
  • Modelli e misure di quantità
  • Modelli di affidabilità
  • Modelli di performance e valutazione
  • Metriche strutturali e di complessità
  • Capacità - valutazione della maturità
  • Gestione per metriche
  • Valutazione di metodi e strumenti

La misurazione del software è una raccolta diversificata di queste attività che vanno dai modelli che prevedono i costi del progetto software in una fase specifica alle misurazioni della struttura del programma.

Stima dei costi e degli sforzi

Lo sforzo è espresso in funzione di una o più variabili come la dimensione del programma, la capacità degli sviluppatori e il livello di riutilizzo. Sono stati proposti modelli di stima dei costi e degli sforzi per prevedere il costo del progetto durante le prime fasi del ciclo di vita del software. I diversi modelli proposti sono:

  • Il modello COCOMO di Boehm
  • Il modello sottile di Putnam
  • Modello di punti funzione di Albrecht

Modello e misure di produttività

La produttività può essere considerata in funzione del valore e del costo. Ciascuno può essere scomposto in diverse dimensioni misurabili, funzionalità, tempo, denaro, ecc. Diversi possibili componenti di un modello di produttività possono essere espressi nel diagramma seguente.

Raccolta dati

La qualità di qualsiasi programma di misurazione dipende chiaramente da un'attenta raccolta dei dati. I dati raccolti possono essere distillati in semplici tabelle e grafici in modo che i manager possano comprendere l'avanzamento e il problema dello sviluppo. La raccolta dei dati è essenziale anche per l'indagine scientifica su relazioni e tendenze.

Modelli e misure di qualità

Sono stati sviluppati modelli di qualità per la misurazione della qualità del prodotto senza i quali la produttività non ha senso. Questi modelli di qualità possono essere combinati con il modello di produttività per misurare la produttività corretta. Questi modelli sono solitamente costruiti in modo simile ad un albero. I rami superiori contengono importanti fattori di qualità di alto livello come l'affidabilità e l'usabilità.

La nozione di approccio divide et impera è stata implementata come approccio standard per misurare la qualità del software.

Modelli di affidabilità

La maggior parte dei modelli di qualità include l'affidabilità come fattore componente, tuttavia, la necessità di prevedere e misurare l'affidabilità ha portato a una specializzazione separata nella modellazione e previsione dell'affidabilità. Il problema di base nella teoria dell'affidabilità è prevedere quando un sistema alla fine fallirà.

Valutazione e modelli delle prestazioni

Comprende caratteristiche prestazionali del sistema osservabili esternamente come tempi di risposta e tassi di completamento e il funzionamento interno del sistema come l'efficienza degli algoritmi. È un altro aspetto della qualità.

Metriche strutturali e di complessità

Qui misuriamo gli attributi strutturali delle rappresentazioni del software, che sono disponibili prima dell'esecuzione. Quindi proviamo a stabilire teorie empiricamente predittive per supportare l'assicurazione della qualità, il controllo di qualità e la previsione della qualità.

Valutazione della maturità delle capacità

Questo modello può valutare molti diversi attributi di sviluppo, compreso l'uso di strumenti, pratiche standard e altro. Si basa sulle pratiche chiave che ogni buon appaltatore dovrebbe utilizzare.

Gestione per metriche

Per la gestione del progetto software, la misurazione ha un ruolo fondamentale. Per verificare se il progetto è in linea, utenti e sviluppatori possono fare affidamento sul grafico e sul grafico basati su misurazioni. Il set standard di misurazioni e metodi di reporting sono particolarmente importanti quando il software è incorporato in un prodotto in cui i clienti non sono generalmente esperti nella terminologia del software.

Valutazione di metodi e strumenti

Ciò dipende dal disegno sperimentale, dalla corretta identificazione dei fattori che possono influenzare il risultato e dalla misurazione appropriata degli attributi dei fattori.