Come usare l’UML?

2007 Ottobre 24
by stoner

Recentemente mi e’ stato chiesto come si sposano XP e l’utilizzo del UML, ovvero se e’ molto usato il design delle classi in UML prima di implementarle.

Per mia esperienza, l’UML puo’ essere utile come strumento di comunicazione nel team, per trasmettere una idea di design, per esplorare la struttura statica e dinamica degli oggetti di un sistema. Una volta ottenuto il risultato (comunicare l’idea, chiarirsi le idee, mettere a fuoco una issue), si butta via il diagramma.

Non fraintendetemi pero’.

Una delle prime cose che ho studiato quando sono entrato nel team Xplayers di Quinary e’ proprio la notazione UML. In particolare sono magistrali alcuni capitoli del libro di Larman “Applying UML and Patterns” e alcuni articoli di Bob Martin (per esempio questo). Questo per dire che un bravo xper deve conoscere bene l’UML perche’ deve saperlo leggere e scrivere (in particolare come dicevo i class diagram, i collaboration diagram e i sequence diagram), cosi’ come deve conoscere mooolto bene i pattern, perche’ deve saperli riconoscere quando emergono dal design del codice in evoluzione (stessa cosa vale per i principi dell’OO).

Uno degli usi migliori per mia esperienza della notazione UML e’ per esplorare un sistema legacy, ovvero per capire che tipo di legami e di dinamiche ci sono dietro al sistema, magari disegnando qualche class diagram e/o collaboration diagram. E’ quindi molto utile per avere una visione di insieme, seppure molto limitata, di un sistema. Anche qui si disegna il diagramma, e poi, appena diventa inutile (si spera presto), lo si butta via.

Una Risposta Lascia un →
  1. 2007 Ottobre 25

    condivido in pieno, sopratutto il fare-e-buttare i diagrammi. aggiungo solo due cose:
    * fare un diagramma mi torna utile quando sto per rifattorizzare, per esplorare soluzioni alternative pochi istanti prima di scrivere il codice
    * aggiungerei alla lista degli indispensabili i diagrammi UML di stato

    ciao
    -papo-

Lascia un commento

Note: You can use basic XHTML in your comments. Your email address will never be published.

Abbonati ai feed di questi commenti tramite RSS