AntonioGanci

Il blog di Antonio Ganci
posts - 201, comments - 420, trackbacks - 31

Misurare la qualità interna del software con le Metriche

Come già accennato da Simone ed Emanuele ho moderato una breve sessione sulle metriche del codice. Vorrei dare qui qualche coordinata in più a chi interessa il discorso ed in generale l'argomento della qualità del software.

Per la definizione di qualità ci rifacciamo allo standard ISO 9126 (altre informazioni in questo pdf in italiano), brevemente lo standard definisce la qualità di un software secondo un modello a quattro livelli:

Nel primo livello vengono definiti "tre punti di vista" sulla qualità del software:

  • In Uso: Esprime l’efficacia ed efficienza con cui il software serve le esigenze dell’utente, ed è correlata alla percezione diretta dell’utente.
  • Esterno: Esprime il comportamento dinamico del software, nell’ambiente d’uso.
  • Interno: Esprime la misura in cui il codice software possiede una serie di attributi statici, indipendentemente dall’ambiente di utilizzo e dall’utente.

Al secondo livello vengono definiti i principali attributi.

Al terzo livello ci sono le sottocaratteristiche, le quali sono misurabili

Infine vengono definite le metriche per effettuare le misure.

Il tutto può essere riassunto dal seguente schema (primo livello in blu, secondo in verde e terzo in bianco):

ISO 9126 Model

Le metriche sul codice, a cui questo post è dedicato, influenzano la qualità interna.

Ogni metrica è definita dai seguenti attributi (maggiori dettagli qui):

  • Handle: Un nome breve per identificare la metrica
  • Description: Descrizione testuale della metrica e di cosa misura
  • Scope: Identifica quale parte del software è coinvolto nella misurazione (es: classe, file, modulo, ecc.)
  • Definition: Definizione formale della metrica usando definizioni e formule matematiche
  • View: Descrive gli elementi rilevanti, le relazioni semantice e il grammar tree
  • Scale: Il tipo di scala (Absolute, Rational, Interval, Ordinal, Nominal)
  • Domain
  • Highly Related Software Quality Properties
  • Related Software Quality Properties
  • References

Un esempio di scheda per la metrica LOC (Lines of Code) la potete trovare qui, mentre i link ad altre metriche qui

Come possiamo calcolare le metriche?

Attraverso alcuni software:

Source Monitor: è freeware e fa il parsing del codice sorgente, potrebbe non funzionare se usato con l'ultima versione della sintassi del linguaggio C#

NDepend: fa molto di più, ma nel report che viene generato ci sono alcune metriche interessanti (soprattutto quelle legate alla dipendenza tra i tipi). Attenzione che le metriche sono calcolate sull'IL e non sul codice sorgente.

Visual Studio 2008 infine permette di calcolare alcune metriche ma solo dalla versione Developer in su.

Print | posted on Wednesday, February 27, 2008 3:47 PM |

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET