6 tool UML per ogni occasione

La Unified Modeling Language, abbreviata in UML, astrae e visualizza i sistemi di programmazione orientati agli oggetti. Il linguaggio di modellazione è quindi uno strumento pratico per gli sviluppatori. Da un lato consente di creare una rappresentazione chiara per i progetti software, mentre dall’altro si possono presentare i sistemi di software complessi ai non specialisti in modo comprensibile. Ad esempio se desiderate presentare il software per l’ultima app aziendale al responsabile del marketing, anziché utilizzare il codice per informare i responsabili decisionali riguardo alle funzionalità più importanti dell’app, potete farlo tramite UML.

Ovviamente non disegnate diagrammi UML con Paint: ci sono degli appositi strumenti UML che vi aiutano a utilizzare il linguaggio di modellazione. Anche se non è così facile trovare il tool giusto, dato che esistono innumerevoli provider di programmi UML in rete, ma non tutti i programmi hanno le stesse funzioni. Sebbene alcuni strumenti richiedano meno RAM, a ciò corrisponde una minore funzionalità. Altri strumenti per diagrammi UML possono mappare ed esportare qualsiasi tipo di diagramma in diversi linguaggi di programmazione e importare un modello partendo dal codice esistente. Tuttavia molti di questi programmi non offrono alcuna funzione per potersi scambiare idee sui progetti in team.

L’Object Management Group (abbreviato in OMG), che specifica lo standard UML, raccomanda perciò di considerare innanzitutto cosa si voglia rappresentare esattamente con l’UML. Si desidera mostrare la struttura o il comportamento del sistema? A seconda della risposta, decidete lo strumento UML adatto al vostro progetto.

Strumenti del diagramma UML: a cosa prestare attenzione

L’Unified Modeling Language specifica 14 tipi di diagrammi che rappresentano la struttura, il comportamento e le interazioni di un sistema. Per lavorare con esso è necessario lo strumento giusto: i tool UML sono strumenti di modellazione che possono fare molto più di un semplice strumento di disegno.

Infatti questi programmi non solo forniscono moduli UML standardizzati che potete dotare delle relative frecce ed etichette, ma sono anche spesso indipendenti dalla piattaforma ed esportano i vostri diagrammi UML in vari formati. Con alcuni, poi, potete anche importare il codice e visualizzarlo come grafico, o esportare grafici come modello di codice. Altri strumenti vi permettono di specificare autonomamente l’UML per creare profili adeguati al vostro progetto.

A seconda della fase del progetto in cui vi trovate, uno strumento potrebbe essere più adatto di altri per il vostro scopo. Ecco perché ha senso avere a disposizione più di un programma. Non si deve necessariamente trattare di app desktop, ma ci sono anche numerosi strumenti UML online. Essi hanno spesso una minore gamma di funzioni, ma sono comunque sufficienti per fare rapidamente i primi schizzi.

È importante sottolineare che il programma utilizza XMI (abbreviazione di: XML Metadata Interchange, un formato di scambio per i metadati) per esportare il grafico in un formato compatibile con gli altri tool. Di seguito spieghiamo alcuni casi d’uso e forniamo suggerimenti su quali funzioni dovrebbero essere offerte da un tool UML in ciascun caso.

Caso d’uso A: semplici bozze o prototipi

Siete ancora all’inizio e avete solo alcune idee vaghe per la struttura? O volete visualizzare graficamente una sezione del sistema in modo rapido? Allora i tool UML gratuiti sono una soluzione testata. Quando si è di fretta spesso si utilizzano blocco e penna o un semplice strumento di disegno. Tuttavia queste soluzioni hanno lo svantaggio che le forme grafiche rimangono appunto solo forme, mentre uno strumento UML gratuito assegna anche un significato a queste forme: ad esempio un semplice rettangolo con l’etichetta <<classifier>> simboleggia l’istanza di una classe.

Se lavorate in team e la bozza diventa un prototipo utilizzabile, uno strumento UML consente di esportare il diagramma in un programma più ricco di funzionalità grazie a XMI. Ad esempio è possibile integrarlo nell’architettura esistente o espandere il modello appena creato. Quando scegliete un tool UML, ponetevi le seguenti domande:

  • È necessario programmare in base a questo grafico?
  • L’area di sistema da visualizzare è particolarmente complessa?
  • Quanto tempo avete a disposizione per fare pratica con il programma?
  • Siete disposti a investire un budget consistente per semplici bozze?

Se avete risposto di no alla maggior parte di queste domande, il programma che fa per voi ha le seguenti caratteristiche:

  • lavora in fretta
  • non offre alcuna funzione superflua, ma modella soltanto il diagramma di cui avete bisogno
  • ha un’interfaccia user-friendly e intuitiva
  • è possibilmente gratuito
  • offre un’applicazione web in modo da non dover scaricare un nuovo programma

Caso d’uso B: astrarre sistemi complessi

Il compito principale dell’UML è quello di rappresentare sistemi complessi in modo semplificato rendendoli comprensibili anche ai profani. Un buon tool UML facilita anche il lavoro in team e la cooperazione tra diversi dipartimenti: poiché tali strumenti completi raramente sono anche gratuiti, dovreste accertarvi che siano compatibili con l’ultima versione di UML 2. UML 2 offre più tipi di grafici rispetto a UML 1 e consente di creare profili che adattano la metamodellazione alle proprie esigenze.

Per lo scopo appena menzionato è necessario un tool per diagramma UML che abbia le seguenti caratteristiche:

  • Funziona indipendentemente dalla piattaforma ed è idealmente compatibile con le configurazioni precedenti.
  • I tipi di diagrammi UML correnti sono posizionati centralmente in un menu chiaramente organizzato, con tutte le forme necessarie.
  • Consente di creare grafici utilizzando la funzione drag&drop, comandi da tastiera o un codice importato.
  • Supporta l’import e l’export del linguaggio di programmazione che si sta utilizzando.
  • Crea automaticamente la documentazione in background.
  • Anche se si verifica un errore nel sistema, il programma dovrebbe comunque essere utilizzabile: usability e robustezza sono particolarmente importanti per i progetti su larga scala con numerosi utenti.
  • La condivisione e il lavoro simultaneo a un progetto, se non inseriti nel tool, dovrebbero almeno funzionare tramite le applicazioni per lavoro di gruppo.
  • Possiede un debugger che segnala immediatamente se si verificano errori nel modello.
  • Fornisce prospettive diverse per la visualizzazione e tipi di modelli dettagliati che danno una panoramica sia dell’intero sistema che degli aspetti specifici.
  • Consente alle simulazioni di eliminare le fonti di errore.

Caso d’uso C: creare un codice finito da un modello

Con alcuni tool UML i diagrammi possono essere convertiti in un determinato linguaggio di programmazione. Spesso lavorano con schemi Java, C +, C # o XML. Alcuni strumenti ricostruiscono inoltre i diagrammi UML dal codice esistente. Tuttavia paradossalmente alcuni di questi strumenti non forniscono necessariamente la funzione di reverse engineering per gli stessi linguaggi di programmazione che usano per creare il codice dai diagrammi UML.

Se volete convertire il codice sorgente finito da un diagramma UML, pensate a quanto complicata dovrebbe essere alla fine la vostra applicazione. Chiunque abbia già lavorato con il software di modellazione sa quanto tempo necessita il disegno del diagramma. Per un tale compito si può considerare uno strumento completo ma allo stesso tempo veloce. D’altra parte il compito dell’UML dovrebbe essere proprio quello di semplificare i sistemi complessi. Un diagramma troppo dettagliato e dispendioso in termini di tempo contraddirebbe lo scopo. Creare un diagramma che visualizzi tutte le istanze, incluse le loro dipendenze, in un modo più dettagliato richiederà più lavoro che dare una panoramica a un team di programmatori e lasciare che essi ci lavorino.

Gli strumenti del diagramma UML con round trip engineering generano diagrammi dal codice sorgente e convertono la versione rielaborata in codice. Il fatto di non dover disegnare da sé tutte le istanze fa risparmiare molto tempo e facilita la documentazione del progetto. Tuttavia, se disegnate da voi ha senso mantenere un certo livello di astrazione. Se convertite il vostro diagramma in codice, potrete almeno lavorare su una struttura ordinata.

Caso d’uso D: sviluppare modelli per integrare nuovi processi

Un vantaggio dell’UML 2 è che può anche facilmente modellare i processi di business. Che si tratti di un caso di uso o di un diagramma cronologico, i tool UML aiutano a visualizzare vari concetti economici. Se desiderate simulare le modifiche operative con UML, è necessario innanzitutto analizzare il rispettivo processo, ad esempio il contatto con il cliente tramite la hotline del servizio.

Confrontate la situazione data con quella ideale: ad esempio, i clienti esistenti sono soddisfatti dopo il contatto telefonico e continuano a comprare da voi? Avete ottenuto un certo numero di nuovi clienti? Pensate a come raggiungere i vostri obiettivi e a quali dipendenti sono coinvolti nel processo. Fate dapprima un primo schizzo approssimativo dei compiti da svolgere come casi d’uso e in seguito diagrammi di azione dettagliati, che illustrano cosa succede in un caso d’uso.

Se si desidera integrare nuovi software nell’ambiente di sistema esistente, è possibile utilizzare UML 2.0 ad esempio per mostrare spazi vuoti esistenti. Gli strumenti del diagramma UML consentono agli architetti e ai programmatori di software di trovare facilmente i punti di accesso. Se si desidera scrivere il proprio programma, ad esempio, si visualizzano le interfacce di diversi componenti del sistema utilizzando un diagramma di componenti. In termini di applicazioni che devono essere aggiunte al sistema che viene integrato, i diagrammi di classi e oggetti e i diagrammi di attività forniscono una visione dettagliata dei singoli elementi e dei loro utilizzi.

Poiché i progetti estesi coinvolgono molti dipendenti di diversi dipartimenti, è necessario prestare attenzione ai seguenti criteri:

  • il software deve essere adatto a tutte le fasi del progetto: dovrebbe pertanto consentire tempi di reazione brevi quando sono necessarie bozze veloci, ma fornire anche funzionalità sufficienti per mappare gli schemi richiesti.
  • i tempi di apprendimento devono essere brevi e facilitati da un’interfaccia utente user-friendly anche per il personale esterno al reparto IT.
  • la comunicazione deve essere integrata per il team: la visualizzazione e la modifica simultanee di un diagramma migliorano il flusso di lavoro.
  • Round trip engineering: per consentire una documentazione completa e chiara.
  • Se si utilizza più di un programma (ad esempio uno per le bozze e uno per i diagrammi dettagliati da convertire in codice sorgente), i tool UML dovrebbero essere in grado di utilizzare formati compatibili o convertirli per facilitare lo scambio.

Strumenti UML a confronto: da quelli gratuiti alle estese versioni desktop

Un buon tool fa il proprio lavoro senza complicare le operazioni con extra non necessari. Chi vuole rammendare un semplice buco nel calzino ha bisogno soltanto di ago e filo. Per tessere una gonna in stile barocco, invece, sono necessari almeno due materiali (materiale esterno e fodera), motivi, forbici, fili e perle in vari materiali e colori (orlo e ricamo), spille, metro e ferro da stiro. Quindi dipenderà dal compito se ciò che vi serve è un piccolo set da cucito o un kit ben fornito.

I casi d’uso sopra descritti hanno lo scopo di far luce su questo principio dei programmi UML. Per le bozze semplici, come nel caso d’uso A, bastano i tool UML gratuiti. Per visualizzare sistemi complessi o trovare modi per integrare i programmi tramite i diagrammi (come nei casi B e D), sono necessari i migliori strumenti UML dotati di numerose funzionalità. Di seguito perciò vi presenteremo tool contraddistinti da una gamma di funzioni diverse, in linea con i rispettivi requisiti presentati nei casi d’uso da A a D.

N.B.

I tool UML fanno spesso parte dello sviluppo software assistito dal computer (in inglese: Computer-Aided Software Engineering, abbreviato in CASE), che mira a rendere la creazione del codice sorgente il più automatizzata possibile, nonché ad effettuare la manutenzione dei prodotti software finiti in modo automatico. Con l’aiuto di descrizioni tecniche, il processo dovrebbe funzionare nel modo più fluido possibile e ottenere risultati rapidamente. Come strumento CASE, gli strumenti UML evoluti dovrebbero ben adattarsi a un ambiente di sviluppo integrato (IDE).

Gliffy: un tool UML online per principianti

L’applicazione online Gliffy è un tool UML basato su cloud per il browser. Lo strumento di modellazione, rilasciato per la prima volta nel 2006, crea tutti i tipi di grafici come i diagrammi di flusso, di Eulero-Venn e naturalmente UML. Questo tool online è stato scritto in HTML5 e convince grazie ai rapidi tempi di reazione.

Anche prima che Gliffy avesse superato la fase beta, nel 2007, l’omonima società collaborò con il gruppo di software australiano Atlassian. Già nel 2006 il suo software di collaborazione Confluence integrava un plug-in di Gliffy. Successivamente, il team di Gliffy ha sviluppato un plug-in per Jira. Anche la G Suite e Drive (entrambi di Google) includono il detto tool UML.

Sia come versione del browser plug-in sia come software indipendente, è ideale per il lavoro in team. È possibile condividere versioni di sola lettura così come lavorare attivamente in parallelo sui grafici e scambiare commenti tramite la funzione apposita.

Prima di poter utilizzare Gliffy, loggatevi con il vostro indirizzo e-mail o con un account Google o Facebook. La versione di prova gratuita dopo il periodo di test è ancora utilizzabile in modo gratuito, ma con una gamma di funzioni ridotta. Naturalmente potete sempre decidere di ampliare il numero di funzioni con un abbonamento mensile. Gliffy ha una vasta e ben fornita libreria di moduli. Oltre a UML è possibile utilizzarlo per modellare diagrammi di flusso semplici o Business Process Models and Notations (BPMN).

All’inizio una finestra di orientamento vi consentirà di scegliere la lingua di modellazione desiderata. Se cliccate su UML/ERD, il programma mostrerà i template di tutti i tipi di diagrammi UML nella barra laterale accanto a un foglio bianco. Sopra troverete la barra dei menu con gli strumenti. Se trascinate una forma sul foglio di lavoro con il mouse, gli strumenti si adattano automaticamente alla forma. Se selezionate i gruppi, gli strumenti corrispondenti vengono evidenziati nella barra dei menu. Grazie alla griglia e alle linee ausiliarie, gli elementi del diagramma si possono posizionare in modo molto preciso.

Lo strumento “Temi” ha lo scopo di determinare la famiglia di colori per il grafico, ma nel test è limitato soltanto agli elementi della freccia. Con un clic su “Classi, componenti e simili” potete regolare rapidamente i simboli a colori e i caratteri. Potete anche creare diversi livelli con un semplice clic sulla voce del menu corrispondente (a destra nella barra degli strumenti). Inoltre non è necessario pianificare il diagramma passo per passo. Se fate degli errori, potete correggerli con la funzione “Cancella”. Se si desidera interporre un elemento, Gliffy rileva la modifica e suggerisce le opzioni di inserimento adatte.

Nella versione gratuita, Gliffy importa i diagrammi nei formati GON, Gliffy e gXML. Per il formato Microsoft Visio VDX è invece necessario un account aziendale. Per inciso, lo stesso vale per l’esportazione di formati popolari di immagini come JPG, PNG e SVG e per la connessione a Google Drive. Anche gli account gratuiti hanno il formato nativo “Gliffy”. Se salvate un documento in questo formato, potete facilmente condividerlo con i colleghi del vostro team tramite un link per il download o incorporarlo su varie piattaforme come HipChat, Slack, Confluence o WordPress.

Con un account gratuito avete a disposizione 2 MB di spazio di archiviazione cloud per i vostri grafici, il che vi consente di condividere pubblicamente cinque modelli contemporaneamente. Con un account a pagamento a partire da circa 5 € al mese, Gliffy vi offre ancora più opzioni, come ad esempio uno spazio di archiviazione illimitato o la possibilità di importare diagrammi da Visio ed Export nei formati di immagini menzionati. Per avere una potenza decisamente maggiore è necessario un account aziendale. Per esigenze così elevate, tuttavia, ci sono software migliori.

Vantaggi Svantaggi
Adatto a tutti i browser comuniNon è necessario alcun downloadComunicazione in team integrataFunzionamento veloce grazie a HTML5, drag&drop e interfaccia utente chiaraCompatibile con UML 2Assistenza completa Funzionalità come l’esportazione di immagini e l’interfaccia di Google Drive possono essere utilizzate soltanto con un abbonamentoMancanza di un debugger
In sintesi

Gliffy è un utile tool UML per chi ha fretta. Poiché vi si accede online, l’app basata su cloud non va a pesare sul vostro spazio di archiviazione. La funzione incorporata per i commenti è minimale, ma sufficiente per discutere gli schizzi grafici, per i quali consigliamo appunto questo strumento. Pertanto, l’impossibilità di creare codici con Gliffy non è una pecca così fondamentale. Si possono creare codici con altri programmi più potenti e adatti. Gliffy si contraddistingue per la semplicità di utilizzo, una curva di apprendimento piatta e un layout accattivante.

ArgoUML: freeware per diagrammi semplici

ArgoUML è stato per lungo tempo uno dei tool UML gratuiti open source più popolari per il desktop. Sebbene non sia stato più aggiornato, molti modellatori continuano a utilizzare il programma per compiti più semplici. Il software funziona indipendentemente dalla piattaforma. Il requisito minimo è Java 5.

ArgoUML supporta tutti i tipi di diagrammi UML in versione 1.4, nonché i profili UML. Il programma offre anche alcune forme decorative che non fanno parte dello standard UML. Ovviamente utilizzando queste forme deviate dallo standard UML, pertanto assicuratevi che ciò non causi problemi di comprensione. Utilizzando OCL (Object Constraint Language) si assegnano informazioni restrittive a un modello.

N.B.

L’Object Constraint Language (OCL, in italiano linguaggio restrittivo per oggetti) è una componente di UML 2. Le versioni precedenti integravano OCL soltanto come un’estensione. A differenza del resto della notazione grafica di UML, OCL è costituito da testo. Con questo linguaggio formale si restringono le condizioni per un modello,

Inoltre, nonostante il tool UML sia disponibile per il download gratuito, ArgoUML supporta anche una vasta gamma di linguaggi di programmazione di cui è possibile generare il codice da un diagramma. Per Java, C ++, PHP, C # e SQL è possibile anche il reverse engineering. Altri linguaggi come Delphi o Ruby riconoscono il programma quando lo aggiungete come estensione alla cartella di file Argo UML.

Il programma UML può essere installato rapidamente tramite click-and-go. L’interfaccia utente emana un fascino anni 90 un po’ datato. Tuttavia, il layout del pannello è chiaramente definito e il menu sopra il foglio di lavoro digitale fornisce le forme necessarie una volta cliccato sul tipo di grafico desiderato.

N.B.

Quando lavorate con ArgoUML, pensate a quali forme collegare e in quale ordine. Se volete inserire un simbolo tra altri due in un momento successivo, ArgoUML spesso rende difficile separare le connessioni esistenti.

Il pannello in alto a sinistra contiene l’Explorer, che organizzate secondo le vostre regole o secondo quelle esistenti, regolando la prospettiva. Sotto troverete il troubleshooter. In questo campo compaiono possibili errori di modellazione. Se cliccate su una delle cartelle, il programma contrassegna i punti errati o i compiti mancanti in rosso nel grafico. Esportate poi i diagrammi finiti come codice o grafico (i formati immagine supportati sono: PNG, PGML, SVG, EPS, GIF, PS) in un file .zip (“.zargo”). Utilizzate XMI (scambio metadati XML) per spostare i diagrammi in altri programmi.

Vantaggi Svantaggi
Open source e quindi personalizzabileGratuitoIl debugger indica gli errori del modelloRound-Trip Engineering per C #, C ++, Java, PHP e SQLInterfaccia utente intuitiva Non conforme a UML 2Selezione ristretta di diagrammiNon ci sono pulsanti “undo”L’ultimo aggiornamento risale al 2011, supporto solo attraverso documentazione

Per inciso, chiunque apprezzi ArgoUML, ma abbia bisogno di maggiori funzionalità o lavori con lo standard UML 2, troverà in Poseidon una fork a pagamento adatta anche a progetti più vasti. L’edizione community è gratuita se non si esportano file. L’abbonamento alla licenza costa circa 5 € al mese. Per le versioni premium si paga un prezzo fisso.

MagicDraw: tutto il necessario per diagrammi UML professionali

MagicDraw di No Magic è la prima versione completa per la modellazione professionale della nostra lista. Già dal primo sguardo il design moderno e il layout pulito caratterizzano l’app desktop come software proprietario adatto ai più esigenti. Funzionalità e facilità d’uso non fanno che confermare questa sensazione.

Lo strumento di modellazione supporta UML, il suo equivalente per sistemi operativi, SysML, la rappresentazione grafica dei processi aziendali con BPMN (Business Process Model and Notation), nonché il framework di architettura UPDM (United Profile per DoDAF/MODAF). In MagicDraw lavorate con gli ultimi grafici secondo lo standard UML 2.5, i cui profili possono essere adattati alle vostre esigenze. MagicDraw include anche OCL, la notazione dei vincoli e XMI, che consente di esportare i grafici in altri programmi senza perdite.

MagicDraw offre cinque edizioni (da Personal a Enterprise) che si differenziano per funzionalità e costi. Nel nostro test abbiamo preso in esame l’edizione Enterprise perché non solo dispone di tutte le funzioni e dei plug-in per un’efficace modellazione, ma consente anche la piena integrazione con un ambiente di sviluppo integrato come Eclipse Workbench.

Inoltre la versione premium facilita il lavoro in team. Ad esempio, diversi modellisti possono lavorare contemporaneamente su un modello. Sul server del team si possono scambiare idee su un progetto. Tuttavia NoMagic li vende separatamente. L’edizione Enterprise accede a WebPortal. Permette la visualizzazione interattiva di un modello nel browser.

I requisiti minimi per l’installazione sono i seguenti:

  • CPU: Intel Core TM i3
  • Ram: 4 GB
  • Spazio di archiviazione: 1 GB
  • Risoluzione dello schermo: 1366 x 768 Pixel
  • Sistema operativo: tutti i sistemi operativi compatibili con Java SE 8 (Windows da Vista, macOS da Lion)

Il tool di UML importa molti formati di file, tra cui i formati di metadati XMI nativi da Eclipse e Rhapsody di IBM, CSV, ReqIF, DoDAF e CA Erwin Data Modeler. Potete salvare e stampare i vostri diagrammi nei formati immagine BMP, PNG, JPG ed EMF come copia. Ma sono possibili anche la generazione di codice, il reverse engineering e il round-trip engineering. MagicDraw si basa su tre lingue: Java, C ++ in diversi dialetti e C #.

MagicDraw converte i diagrammi UML in frame di codice:

  • Java
  • C++
  • C#
  • XML-Schemata
  • Corba IDL

Reverse engineering dal codice in diagrammi UML:

  • DDL
  • WSDL
  • Java
  • C++
  • C#
  • XML Schemata

Se modellate i diagrammi UML da voi in un documento vuoto o aggiungete dettagli a una modellazione, vi accorgerete presto dei vantaggi dei pannelli personalizzabili: già al primo avvio, la chiara classificazione è un grande punto a favore. Aggiungete tutte le schede che ritenete necessarie per il vostro workflow. Nonostante le numerose funzioni e capacità di editing, MagicDraw garantisce un layout chiaro e spiegazioni brevi e discrete che consentono anche agli utenti inesperti di mettere insieme i primi schizzi senza lunghi tempi di apprendimento.

Se selezionate la scheda diagramma nella barra del menu principale, il tool UML apre il modello per il tipo selezionato nella barra laterale dell’area di lavoro. Se trascinate un elemento sul foglio di lavoro e cliccate una volta, compaiono dei piccoli pulsanti. Con un clic (o tasto destro del mouse sull’elemento) modificate le proprietà dell’oggetto o aggiungete testo o collegamenti ipertestuali.

La barra degli strumenti personalizzabile sopra il foglio di lavoro mette sempre in evidenza gli strumenti che consentono di allineare graficamente uno o più elementi selezionati. Lo strumento di layout dà un aspetto ordinato alle bozze non strutturate. Con il pannello di zoom e prospettiva potete avere sott’occhio il vostro progetto, dai piccoli dettagli alla visione d’insieme.

Il programma UML esamina anche il vostro progetto alla ricerca di errori, mostrandoveli. Per un’analisi indipendente avete la possibilità di confrontare fianco a fianco diverse versioni di un diagramma e verificare i diversi livelli di astrazione per la tracciabilità (traceability). Gli architetti apprezzano in particolare l’immissione di testo libero per la creazione di grafici, perché favoriscono un flusso di lavoro fluido.

Vantaggi Svantaggi
Contiene tutti i template per i tipi di diagramma nel corrente UML 2.5Supporta molti linguaggi di programmazione e formatiInterfaccia utente comprensibile in modo intuitivoImport/Export, generazione di codice, reverse engineering e round-trip EngineeringApprendimento rapido Il download dei file è possibile solo dopo l’accesso all’accountPrezzi relativamente altiWebPortal solo nell’edizione Enterprise

Lucidchart: il tool UML online per il lavoro in team

Lucidchart è un tool UML a cui si può accedere in qualsiasi momento dal browser, anche attraverso Android e iOS. L’account gratuito vi offre una fornita cassetta di strumenti UML. Comprende 7 tipi di diagrammi UML nonché linguaggi di modellazione dei processi aziendali come BPMN 2.0, template per icone di rete, prototipi di dispositivi mobili e integrazione video.

Il vantaggio di Lucidchart è che è intuitivo. Consente inoltre la condivisione e la modifica simultanea di grafici all’interno del team e integra i commenti direttamente nel tool. Come strumento UML che supporta Mac, Linux e Windows, è una buona alternativa per gli utenti Mac a Microsoft Visio.

Se utilizzate già altri software per il lavoro in team, date un occhio alla lista delle integrazioni. Se necessario, collegate Lucidchart come plug-in con Google e le applicazioni Microsoft, i prodotti Atlassian e varie app di chat e servizi web di Amazon.

Se si desidera provare gratuitamente il tool UML, è possibile creare un account gratuito senza impegno o utilizzare l’account premium per il periodo di prova. Con quest’ultimo, il cloud storage per i grafici crescerà da 25 a 100 MB e vi consentirà di esportare grafici, integrare fornitori di terze parti e utilizzare moduli più professionali. Nell’account gratuito avete i seguenti template per i diagrammi UML:

  • Diagrammi di classe
  • Diagrammi di stato
  • Diagrammi di attività
  • Diagrammi di sequenza
  • Diagrammi dei componenti
  • Diagrammi del caso d’uso
  • Diagrammi di distribuzione

Se volete progettare diagrammi complessi con più di 60 oggetti o se lavorate su più di tre oggetti attivi contemporaneamente avete bisogno di un account premium.

Potete però importare dati e diagrammi anche con l’account gratuito. Il tool per il diagramma UML supporta i formati di grafici nativi di Microsoft Visio, Omnigraffle, Gliffy e Draw.io. I dati possono essere ricavati da file CSV, SQL, architettura AWS e Mindmaps. La funzione data linking integra anche dati in tempo reale da Excel, CSV e Google Sheets. Se tuttavia desiderate modificare i formati nativi di altri fornitori, avrete di nuovo bisogno di un account a pagamento che vi consente inoltre di eseguire il backup e il ripristino dei dati.

Ma si lavora davvero bene con Lucidchart? L’interfaccia utente è caratterizzata da un layout chiaro che dà molto spazio all’area di lavoro. Sul lato destro il menu scompare per risparmiare spazio trasformandosi in una ristretta barra che si espande soltanto quando la utilizzate. Con un clic potete modificare le impostazioni della pagina, creare livelli e presentazioni o condividere con il proprio team. Potete trovare i template in una lista a sinistra dell’area di lavoro. I loro contenuti e dimensioni si possono personalizzare aggiungendo modelli e trascinando la larghezza della barra con il mouse.

La barra degli strumenti orizzontale mostra gli strumenti necessari ogni volta che trascinate una forma o una linea nell’area di lavoro. Basta regolare la dimensione e l’orientamento facendo clic sulla forma. Se passate il mouse su una forma, vedrete comparire piccoli cerchi rossi, dove potete aggiungere frecce e linee. Con la griglia e le linee automatiche potete disegnare con facilità diagrammi puliti con intervalli coordinati. Alcuni sviluppatori preferiscono invece scrivere comandi di input per costruire il loro diagramma UML. Per farlo il tool offre la funzione Markup UML.

La Team Edition consente di personalizzare i ruoli utente e di proteggere i documenti con l’autenticazione single sign-on. Lo storage cloud di Lucidchart crittografa inoltre i vostri dati. Ogni volta che condividete un documento potete decidere chi lo possa modificare e commentare o anche semplicemente leggerlo.

Vantaggi Svantaggi
Ricca gamma di funzioni per il lavoro in teamGrande libreria di templateI markup UML accelerano il flusso di lavoroScalabile attraverso lo storage cloudDesign chiaro e che permette di risparmiare spazioAdatto a dispositivi mobili (iOS, Android) Molte funzionalità sono disponibili solo nell’account Pro o TeamNon ci sono debuggerNon è possibile generare codice dai grafici
In sintesi

Lucidchart è un pratico strumento UML online per tutti i browser e i dispositivi mobili. In quanto tale è ottimizzato per il lavoro in team, per cui vi consigliamo di utilizzare la app del browser nelle edizioni Professional o Team. L’account gratuito dà un assaggio delle molte funzionalità mostrando le opzioni, ma poi inserisce una barriera di pagamento che impedisce l’implementazione delle funzioni stesse nella versione gratuita. I prezzi per l’abbonamento sono ragionevoli per le aziende, considerando la gamma di funzionalità. Non è per forza un problema il fatto che il tool non generi alcun codice dai diagrammi. Infine Lucidchart si integra con varie popolari applicazioni di lavoro in team e crea schemi XMI che consentono di continuare a lavorare senza problemi.

IBM Rational Rhapsody: ambiente di sviluppo grafico per l’integrazione completa dei processi

IBM Rational Rhapsody è un ambiente di sviluppo grafico integrato (in inglese: Integrated Development Environment, IDE) per sviluppo software e prodotti. Il programma UML supporta lo sviluppo di software basati sugli oggetti sia per le applicazioni basate sul web che per sistemi embedded e sistemi real time basati su C ++ e Java EE. Utilizzando la modellazione UML/SysML è possibile creare rapidamente il codice sorgente per le lingue già specificate nell’IDE, nonché C e C #, MISRA-C o MISRA-C ++ e Ada.

Rhapsody è passato per diverse mani dopo il suo sviluppo nel 1998. Dopo che IBM ha acquistato la società svedese Telelogic AB nel 2008, la società americana ha ampliato la propria gramma di prodotti Rational attraverso Telelogics Rhapsody. Gli svedesi hanno acquistato l’IDE nel 2006 attraverso l’acquisizione dello sviluppatore originale I-Logix. Rational Rhapsody si è diffuso velocemente, essendo uno dei primi ambienti di sviluppo grafico.

Ad esempio i marchi internazionali utilizzano il software per i principali progetti che richiedono distinzioni dettagliate della versione per molti membri del team in diversi paesi. La casa automobilistica Jaguar Land Rover, per fare un esempio, utilizza Rational Rhapsody per mettere a punto il proprio software di infotainment in diversi mercati.

Per queste ed altre attività Rhapsody fornisce un ambiente di sviluppo in cui è possibile disegnare diagrammi, generare e convalidare codici e confrontare o analizzare diverse versioni. Il tool UML supporta le seguenti notazioni:

  • UML
  • SysML
  • AUTOSAR
  • DoDAF
  • MODAF
  • UPDM
  • DSL

Questi linguaggi di modellazione basati su UML sono adatti allo sviluppo di software basato su strumenti, il che risparmia molto lavoro ai programmatori. Inoltre è possibile fare affidamento sulla compatibilità, dal momento che UML e Rhapsody sono stati sviluppati nella stessa casa, vale a dire da Rational Software.

In Rhapsody potete disegnare liberamente i modelli, importare il codice esistente per la visualizzazione come grafico o scaricare i requisiti da un Requirements Management Tool come Doors, un parente della famiglia Rational. Il seguente video di YouTube mostra un esempio di come progettare un modello SysML per un sistema in tempo reale da un elenco di requisiti in Doors. In questo caso IBM introduce il proprio approccio con INCOS Vendor Challenge. Per il progetto doveva essere creato un sistema di parcheggio per una catena di hotel.

Gli sviluppatori hanno creato il tool UML sulla base del software open source Eclipse. La versione corrente continua inoltre a supportare la piattaforma IDE di Eclipse come integrazione o plug-in. Ulteriori Integrated Development Environments lo integrano come workflow integration:

  • Wind River Workbench
  • Green Hills MULTI
  • Microsoft Visual Studio 2008

Come IDE Rhapsody funziona in tempo reale e crea codice sorgente a partire dai diagrammi. Il programma è disponibile in quattro diversi moduli di licenza. Inoltre, IBM offre diverse versioni dello strumento UML, specialmente per le differenti esigenze dei diversi reparti. I moduli sono compatibili con l’IDE. Scegliete tra l’Architect for Systems Engineers, il designer o lo sviluppatore. I programmi differiscono principalmente per funzionalità e prezzo.

Il developer è la versione completa, che combina tutte le funzionalità e integra il codice sorgente creato nell’ambiente di sviluppo integrato. Inoltre ottimizza il percorso dal primo schizzo alla realizzazione finale. Ad esempio è possibile utilizzare la tecnologia round-trip e il reverse engineering. È anche possibile sincronizzare il codice sorgente e progettare o documentare il processo.

Tra le versioni lean Architect for Software è lo strumento più potente per lavorare con UML, in quanto è l’unico che offre funzionalità developer. Il progettista per System Engineers, d’altra parte, è particolarmente adatto per compiti quali la reazione di prototipi e simula l’esecuzione del sistema nella fase iniziale.

Vantaggi Svantaggi
Design modulare, scalabileSupporta tutti i tipi di grafici UML 2 correntiL’ambiente di sviluppo integrato e le interfacce e tool per altre piattaforme consentono un flusso di lavoro sicuro e integrato fin dall’inizioGenerazione di frame di codice per molti linguaggi di programmazione Richiede lunghi tempi di apprendimentoPrezzo relativamente alto

Microsoft Visio: lo strumento di disegno UML per gli utenti Office

Microsoft Visio è uno strumento molto popolare per grafici e visualizzazione e appartiene alla famiglia Office. Pertanto, Visio si può integrare senza problemi nella suite. Se ad esempio si utilizza Office Pro 365, Microsoft offre un’estensione dietro abbonamento per Visio. Il prezzo verrà aggiunto all’abbonamento di Office.

In Visio Online Plan 2 si ottiene un’app desktop e un editor basato sul web per un massimo di cinque PC (su richiesta sono disponibili licenze multiple). In alternativa potete ottenere una licenza permanente di Visio Professional per un prezzo fisso di circa 740 € per utente. Questa versione include un’app desktop, l’applicazione browser e un’app per iPad.

Visio Standard non supporta i diagrammi UML. Essendo un tool UML, le versioni di Visio presentate sono rivolte principalmente ai clienti aziendali che apprezzano l’ambiente familiare di Office e desiderano ottimizzare il loro flusso di lavoro integrando senza soluzione di continuità lo strumento di modellazione appropriato nel loro sistema esistente. Sebbene entrambe le versioni – Professional e Online Plan 2 – siano simili nelle funzionalità, non supportano UML allo stesso modo:

Tipo di diagramma UML Microsoft Visio Professional 2016 Microsoft Visio Online Plan 2 (anche: Visio Pro per Office 365)
Diagramma di classe UML 2.0    
Notazione database UML 2.0    
Diagramma di sequenza UML 2.0    
Macchina degli stati UML 2.0    
Diagramma del caso d’uso UML 2.0    
Diagramma di attività UML 2.0    
Diagramma dei componenti UML 2.5    
Diagramma di comunicazione UML 2.5    
Diagramma di distribuzione UML 2.5    

Se avete bisogno di una libreria completa di shape con i più attuali standard di notazione UML (lo standard OMG di UML si riferisce al momento in cui è stato rilasciato UML 2.5.1) e se siete già abbonati a Microsoft Office Pro 365, consigliamo l’Online Plan 2. Il requisito minimo per le versioni correnti di Visio è Windows 7. Per l’app desktop sono necessari 1 GB di RAM e 3 GB di spazio su disco.

Per inciso, se non avete più bisogno di un programma compatibile per visualizzare i grafici, vi consigliamo di visitare il Microsoft Visio 2016 Viewer gratuito, un plug-in del browser per Internet Explorer. A causa della sua compatibilità limitata (IE 8-11, Windows 7, 8.1 e 10), il viewer è probabilmente più vantaggioso quando si tratta di un numero ristretto di clienti.

N.B.

Attualmente non è disponibile una versione Visio per Mac. Lucidchart, la già citata app basata su cloud può fungere da intermediario, poiché importa anche i formati nativi da Visio. Altre alternative includono Smart Draw (Cloud) e OmniGraffle Pro (app desktop).

Visio è in gran parte limitato a funzionalità che consentono di disegnare grafici vettoriali e diagrammi secondo gli standard del settore e di lavorare insieme nel team. Quando condividete un grafico, i membri del team approvati possono lavorarci in parallelo nel documento. Potete scambiare informazioni tramite il plug-in Skype for Business integrato. Bozze e prototipi si possono condividere facilmente tramite il cloud connesso.

Se volete creare frame di codice dai vostri diagrammi, vi servono altri tool UML come ad esempio Visual Studio di Microsoft. Poiché esso fa anche parte della famiglia di prodotti, l’ambiente di sviluppo integrato consente a Visio di essere integrato nel processo di sviluppo. Tuttavia, a partire dalla versione Enterprise 2017, Visual Studio non integra più i template UML, motivo per cui non ha un proprio punto in questa lista. Per esportare e continuare a lavorare sui diagrammi con la minore perdita di dati possibile, salvate il vostro lavoro nel tool del diagramma UML nei formati nativi di metadati OPC/XML.

Formati nativi Visio:

  • VSD (disegno)
  • VSS (timbri)
  • VST (template)
  • VSW (disegno nel web)
  • VSDX (disegno con metadati OPC/XML)
  • VSDM (disegno con metadati OPC/XML, macro-compatibile)
  • VSSX (timbri con metadati OPC/XML)
  • VSSM (timbri con metadati OPC/XML, macro-compatibile)
  • VSTX (template con metadati OPC/XML)
  • VSTM (template con metadati OPC/XML, macro-compatibile)
  • VSL (come add-on)

Visio non dispone né della funzione per la generazione di codice né del round-trip engineering, ma consente il reverse engineering. Potete creare diagrammi UML da dati importati o codice sorgente. Pertanto il tool UML svolge il proprio compito principale, ovvero quello di presentare chiaramente processi e sistemi. Inoltre, Visio consente di integrare i dati nei diagrammi in tempo reale con un solo clic. Ad esempio questo cosiddetto collegamento dati rappresenta processi business complessi (con BPMN) durante l’intero runtime. In alternativa è possibile testare le dipendenze all’interno di un sistema utilizzando un diagramma di comunicazione UML, e tutto ciò live con dati reali.

Vantaggi Svantaggi
Supporta UML 2.0 (Online Plan 2 anche UML 2.5), inclusi i metadati XMLIl collegamento dati in tempo reale aiuta nel live testingChiara interfaccia utente con il noto menu ribbon Curva di apprendimento ripida per i principiantiPrezzo relativamente altoNon sono integrate generazioni di frame di codice

Tool UML a confronto: riassunto

Che si tratti di uno strumento UML gratuito, di uno strumento UML online o di un ambiente di sviluppo integrato che fornisce tool UML, il migliore tool UML è quello in grado di eseguire le attività che desiderate in modo efficiente utilizzando il minor numero di risorse possibile. Come si nota dall’elenco precedente, ci sono strumenti UML di ogni tipo: che vogliate fare una bozza veloce o creare frame di codice sorgente per un sistema complesso e analizzarli usando i grafici, troverete sempre l’applicazione adatta.

Siccome non ha senso spendere l’intero budget mensile per un semplice tool per le bozze, abbiamo considerato anche i prezzi delle offerte. Nella seguente panoramica troverete un riepilogo dei punti chiave per gli strumenti del diagramma UML.

Tool UML Tipo Piattaforma Linguaggi di programmazione/formati supportati Lavoro in team integrato Versione UML supportata Adatto a Prezzo
Gliffy Software per diagrammi basato sul web Browser, plug-in per Confluence o Jira, Google Apps, Hipchat JavaScript, HTML5, VDX, gXML   UML 2.5 Principianti, bozze Gratuito e premium.-Abbonamento a partire da circa 5 € al mese
ArgoUML Open source software UML su Eclipse Public Desktop, indipendente dalla piattaforma Java und C++ (plug-in), C#, PHP4 e 5, Ruby   1.4 Principianti con UML, bozze gratuito
MagicDraw Software proprietario con licenza single user, floating e mobile Dektop, indipendente dalla piattaforma Java, C++, C#, CIL, XML, CORBA, WSDL, EJB, DDL, IDL Team server in EnterpriseEdition 1.4 – 2.5 Grandi aziende, compiti complessi Pagamento una tantum di circa 300 US
Lucidchart Software per diagrammi basato sul web Browser, app per iOS e Android, plug-in JavaScript, HTML5, SQL   UML Bozze, grandi progetti, lavoro in team Freemium-abbonamento a circa 5 € al mese, gratuito (Education License)
IBM Rational Rhapsody Ambiente di sviluppo grafico per lo sviluppo e la convalida di software basato su modelli Indipendente dalla piattaforma Java EE, C++, C#, EJB, WSDL, XSD, CORBA IDL, SQL, .NET Con plug-in UML 2.1 IDE modulare, completamente integrabile Su richiesta
Microsoft Visio Software proprietario per grafici e vettoriali e diagrammi Windows, Browser, app iPad, macchine virtuali C++, C#, VSDX, VSDM   UML 2.0 + 2.5 Visualizzazione di grandi progetti Abbonamento a Visio Online Plan 2 da circa 13 € al mese, Visio Professional pagamento una tantum di circa 740 €