Metriche per Diagrammi di Stato UML

Metriche per Diagrammi di Stato UML

Nell’ambito dell’ingegneria del software, Genero, Miranda e Piattini hanno proposto una metrica che ipotizza che la complessità di un diagramma di stato UML possa influenzare la manutenibilità del software.

Per questo, gli autori hanno definito un set di metriche per misurare la complessità di un diagramma di stato UML, basandosi sugli elementi che lo compongono (stati, transizioni, attività, ecc.).

Le metriche proposte:

  • NEntryA (Numero di Azioni di Ingresso): Il numero totale di azioni di ingresso, ovvero le azioni eseguite ogni volta che si entra in uno stato.
  • NExitA (Numero di Azioni di Uscita): Il numero totale di azioni di uscita, ovvero le azioni eseguite ogni volta che si lascia uno stato.
  • NA (Numero di Attività): Il numero totale di attività in un diagramma di stato.
  • NS (Numero di Stati): Il numero totale di stati, considerando anche i semplici stati all’interno di stati composti.
  • NT (Numero di Transizioni): Il numero totale di transizioni, considerando comuni transizioni (stati sorgente e destinazione differenti), la transizione iniziale e finale, le transizioni su se stessi (stati sorgente e destinazione uguali) e le transizioni interne (transizioni all’interno di uno stato causate da un evento ma senza lasciare lo stato).

Risultati di un esperimento controllato:

Gli autori hanno condotto un esperimento controllato per valutare la correlazione tra le metriche proposte e la manutenibilità del software. I risultati hanno mostrato che solo le metriche NA, NS e NT sembrano essere correlate con una sottocaratteristica della manutenibilità, ovvero la complessità di un diagramma di stato UML.

Interpretazione dei risultati:

Questi risultati suggeriscono che un diagramma di stato UML con un numero elevato di attività, stati e transizioni potrebbe essere più difficile da capire e modificare, e quindi meno manutenibile.

Conclusione:

Le metriche di complessità per i diagrammi di stato UML possono essere utili per valutare la potenziale difficoltà di manutenzione del software. Tuttavia, è importante utilizzarle in combinazione con altre valutazioni qualitative e con la considerazione di altri fattori che influenzano la manutenibilità.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *