
UML (Unified Modeling Language) è uno standard curato dal consorzio OMG (Object Management Group) per la progettazione del software in ogni suo aspetto.
Si tratta di una sorta di linguaggio visuale, basato sulla realizzazione di diagrammi, che può essere utilizzato indipendentemente dalla tecnologia di programmazione adottata: lo si può intendere come la lingua franca della progettazione informatica.
Sebbene i diagrammi UML possano essere creati semplicemente con carta e penna esistono molti software per la loro realizzazione, molti dei quali multi-piattaforma, gratuiti e open source. L’elenco potrebbe essere lunghissimo visto che negli anni ne sono nati molti ma preferiamo indicarne solo alcuni che vantino non solo caratteristiche di gratuità e ampia diffusione sui vari sistemi operativi ma anche la capacità di sapersi aggiornare con continuità e adeguarsi agli standard. A proposito di quest’ultimo punto si consideri che la versione attuale di UML è la 2.5 (pubblicata nel 2015) e già la 2.0 ha visto l’introduzione di importanti novità: non tutti i software garantiscono l’adesione ad ogni aspetto dello standard ma è importante che almeno tutti i principali diagrammi previsti siano disponibili.
Questi i nostri tool preferiti:
- Modelio è un software open source, dall’approccio visuale, che permette di sfruttare diversi standard tra cui UML, BPMN, MDA e SysML. Il programma può essere installato su molte piattaforme tanto che la pagina dei Downloads offre versioni per Windows, Linux (RedHat/CentOS e Debian/Ubuntu) nonché MacOS. Il seguente screenshot mostra l’ambiente di lavoro durante la realizzazione di un Class Diagram:
. Modelio è sicuramente una realtà dalla mentalità molto aperta. Non solo uno strumento di “disegno di diagrammi” ma una piattaforma che può essere estesa con moduli, aperta alle integrazioni della comunità e contiene, tra l’altro, un generatore di codice Java. Qui si può trovare un elenco sintetico delle sue caratteristiche;
- Papyrus è una piattaforma votata alla modellazione che nasce come base per soluzioni di livello industriale. E’ comunque utilizzato in progetti di ogni tipo, anche in ambito accademico. E’ uno strumento costantemente aggiornato e aperto a molti standard nelle versioni più recenti: tra le principali mire dei suoi creatori c’è una completa adesione a quanto previsto dalle specifiche dell’OMG. Un modo molto comodo per averlo a disposizione è l’integrazione in Eclipse seguendo le istruzioni fornite nell’apposita pagina del sito ufficiale;
- PlantUML è un tool che permette di generare dei diagrammi UML partendo da file di testo composti con un particolare formalismo. In realtà, può apparire meno comodo di molti altri in quanto meno visuale ma la sua modalità di utilizzo non lo limita in flessibilità. Ad esempio, con il seguente testo:
@startuml Alice -> Bob: Authentication Request Bob --> Alice: Authentication Response Alice -> Bob: Another authentication Request Alice <-- Bob: another authentication Response @enduml
si ottiene questo Sequence Diagram UML:
Si vede come la praticità di questo strumento verta proprio nella semplicità della formattazione del testo da usare: sono sufficienti semplici stringhe, trattini e simboli di maggiore o minore per “disegnare” l’immagine che sarà. Oltre a quelli UML, PlantUML permette di rappresentare altri tipi di diagrammi, molto comuni in ambito di progettazione, come quelli di Gantt. Il software nasce multi-piattaforma in quanto realizzato in Java. Dal sito si può scaricare direttamente l’applicativo come archivio JAR, denominato plantuml.jar. Una volta scritto il proprio file nel formato opportuno lo si può trasformare in un’immagine nel seguente modo:
java -jar plantuml.jar nome_file_diagramma.txt
Al termine dell’elaborazione, salvo errori, ci si troverà in possesso di un file immagine contenente il diagramma;
- UMLet è un software estremamente leggero con un approccio visuale anche se i singoli elementi introdotti nel diagramma vanno configurati per via testuale da un apposito pannello (visibile in basso a destra all’interno della figura). Contempla i principali diagrammi UML consentendo di salvarli nel formato uxf o esportarli come immagini.
Il prodotto è multi-piattaforma essendo realizzato in Java ma è disponibile anche una sua versione web: Umletino.
Questi sono tool che a noi piacciano e ci siamo sentiti di presentarli in questo post perchè offrono complessivamente una varietà di approcci, dal visuale alle configurazioni via testo, ognuno caratterizzato da una diversa complessità e “peso” a livello di installazione.
Di programmi ne esistono così tanti che sicuramente voi ne avrete usati molti e saprete consigliarci qualcosa di interessante. Commentate e fateci sapere!
No Responses to “Software (libero) per UML”