Regole empiriche per la realizzazione di software di qualità

Regole empiriche per la realizzazione di software di qualità

Nell’ambito dell’ingegneria del software, lo studioso Lorenz nel 1993 sfruttando la sua esperienza nello sviluppo software ha composto una serie di regole empiriche per aiutare la realizzazione di software di qualità.

Un valore elevato del size medio di un metodo può indicare una scarsa progettazione. Dal punto di vista del codice è desiderabile un ampio numero medio di metodi per classi perché, in questo modo, le sottoclassi ereditano un maggior numero di metodi dal superclasse. Comunque un numero di metodi troppo elevato danneggia l’estendibilità e può complicare il testing come conseguenza di un aumento della complessità.  Troppi metodi (non conteggiando quelli ereditati) sono anche un segnale di troppe responsabilità messe in un unico tipo di oggetto. Un discorso simile può essere fatto per un numero troppo elevato di attributi, che potrebbe evidenziare che la classe fa più di quello dovuto. In altre parole il design dovrebbe essere ridefinito.

È probabile che una gerarchia con un buon numero di livelli possa favorire meglio il riuso rispetto ad una con maggiore ampiezza. D’altra parte, però, un elevato numero di livelli della gerarchia di eredità può rendere più difficoltoso il test e diminuire la comprensibilità. Se una classe, specialmente se si tratta di una astratta, non viene riutilizzata allora dovrebbe essere riprogettata.

Regole empiriche di Lorenz

Nella tabella seguente vengono riportati i valori proposti da Lorenz in letteratura.

Metrica Regola Empirica
Size medio dei metodi (LOC) Inferiore a 8 LOC per Smalltalk e 24 LOC per C++
(Si ha invece un valore di 11.4 LOC per metodo in Java, 10 metodi per classe e 1.3 parametri per metodo).
Numero medio di metodi per classe Minore di  20
Numero medio di attributi per classe Minore di 6
DIT Minore di 6
Numero medio di linee di commento (per Metodo) Maggiore di 1
Numero di “Problem report” per classe Basso (dettagli non forniti)
Numero di volte in cui una classe è riusata Maggiore di 0.

 

Precedente Punti Funzione per il software orientato agli oggetti Successivo Analisi dei Punti Funzione e del CPM (Counting Practices Manual) del software

Lascia un commento

*