Usare UML in pratica

UML può essere usato per:

  • Pensare. Nel corso delle attività di sviluppo o di evoluzione di un sistema, UML può servire per ragionare sui problemi e sulle soluzioni.
  • Comunicare (e documentare). Tra soggetti diversi, distanti nello spazio (ad esempio da analisti separati fisicamente dagli sviluppatori) o nel tempo (riprendo in mano modelli che io stesso ho creato in passato). Tra aziende diverse, che devono collaborare su basi contrattuali.

Naturalmente, ci sono differenze. Se uso UML per ragionare, faccio solo i diagrammi che mi servono al momento, al livello di dettaglio e di precisione che mi interessa, senza pormi problemi di comunicazione. Se invece lo uso per comunicare e documentare, è necessario che chiarisca prima di tutto con chi voglio comunicare, che cosa esattamente voglio comunicare, e a quale livello di dettaglio e di precisione.


Può capitare, per vari motivi, di usare UML male.

UML è complesso, perché deve poter rappresentare ogni tipo di sistema software, ad ogni livello di astrazione.
Ed è rigoroso, in quanto i concetti che costituiscono il linguaggio sono il frutto di decenni di ingegneria del software, ed hanno significati precisi.

Può mancare una formazione adeguata. A volte si creano molti più diagrammi rispetto a quelli che sarebbero necessari; altre volte ne mancano di essenziali. Bisogna ricordare che ogni progetto ha le sue caratteristiche specifiche: è importante (tempi, costi, efficacia) che UML venga utilizzato nel modo migliore nello specifico contesto.

Gli strumenti di modellazione UML potrebbero aiutare, guidando l’utilizzatore a rappresentare le caratteristiche importanti dei sistemi. Accade raramente.

Molti strumenti disponibili sul mercato consentono troppi errori, per assenza di controlli,
e permettono utilizzi sbagliati sotto il profilo semantico e sintattico. All’opposto, non supportano lo standard in modo completo, e non prevedono ad esempio elementi e costrutti sintattici ammessi dal linguaggio, limitando così le potenzialità espressive e costringendo a ricorrere a soluzioni insoddisfacenti per rappresentare aspetti anche molto semplici.

Conseguenze

UML serve a pensare… ma utilizzare i concetti base in modo improprio può invece complicare la vita dei gruppi di progetto, che perdono tempo ponendosi domande a cui non trovano risposta, o intraprendendo percorsi scorretti.

UML serve a comunicare… ma modelli scorretti ostacolano la comunicazione, anziché agevolarla.

Possibili rimedi

  • Curare la formazione.
  • Leggere i libri consigliati nella bibliografia.
  • Chiedere consigli in un forum pubblico.
  • Nelle prime applicazioni pratiche, farsi aiutare da esperti.