[ Back to the top ]

[ Skip at the Latest News ]

Qualità del Processo e del Prodotto:

jMetrics

Si può monitorare un processo per evitare che ... naufraghi?

La risposta è sì, ma occorrono degli indicatori che in misura precisa e puntuale ne analizzino l'andamento.
Flosslab studia e sviluppa best practice per controllare e migliorare l'andamento del progetto. Tra queste, gli indicatori presi in esame riguardano:


1. Metriche di costo
2. Metriche di produttività
3. Metriche di qualità
4. Metriche agili


queste ultime in particolare sono metriche tipiche dello sviluppo con pratiche agili, come ad esempio l'aderenza alle stima prevista, il numero di funzionalità testate e rilasciate secondo il valore percepito dal Cliente, l'andamento dell'errore di stima e altre.
Uno degli strumenti usati per l'analisi è Jmetrics, un cruscotto che fornisce a manager e capi progetto diagrammi e report di andamento. Questo consente loro di pianificare opportuni interventi e azioni correttive: refactoring, bug fixing, reingegnerizzazione.
Si possono valutare:

  • andamento generale del progetto: la qualità e la complessità del sistema sta peggiorando o migliorando?
  • andamento puntuale: il valore delle singole metriche per ogni rilevazione

e inoltre come e in che misura le attività correttive stiano influendo sulle metriche nelle diverse fasi del progetto.


Tecnologia e Architettura
JMetrics è un sistema sviluppato con tecnologia Java-J2EE e utilizza applicativi e librerie Open Source standard e stabili quali Struts, Spring e database PostgreSQL. Le metriche calcolate sono alcune tra le consolidate nell'ingegneria del software (metriche Chidamber e Kemerer) :

  • Weighted Methods of a Class (WMC): è definita come la somma pesata della complessità dei metodi di una classe.
  • Coupling Between Objects (CBO): misura il numero di classi diverse con cui una data classe è accoppiata.
  • Response For a Class (RFC): è il numero pesato di collegamenti verso altre classi di sistema.
  • Lack of Cohesion in Methods (LCOM): misura la mancanza di coesione all'interno di una classe.
  • Number of Children (NOC): è la metrica che misura il numero di sottoclassi di primo livello di una classe.
  • Depth of Inheritance Tree (DIT): misura la massima profondità della gerarchia di ereditarietà di una classe, ossia il numero di classi che si incontrano risalendo la gerarchia fino alla radice.

L'obiettivo delle metriche, come quelle CK, è quello di valutare la buona qualità del sistema software prodotto.