Standard OMG: UML, SysML, BPMN

L’Object Management Group (OMG) è un organismo che comprende le maggiori realtà del software internazionale.

La sua attività principale è la definizione di standard, tra cui tre linguaggi – notazioni complementari per la rappresentazione di software, sistemi e processi:

  • UML (Unified Modeling Language) per la rappresentazione del software.
  • SysML (System Modeling Language) per la rappresentazione dei sistemi “non software” o “non solo software”.
  • BPMN (Business Process Modeling Notation) per la rappresentazione dei processi di business.

Tutto bene. Se non fosse che i rispettivi campi di applicazione di questi standard si sovrappongono, almeno in parte. Può quindi essere opportuno chiarire alcuni aspetti
per chi li vuole usare, ma non è addentro alle intricate logiche dell’OMG.

  1. UML è nato prima, nel 1997, ed ha avuto una notevole diffusione nel campo del software, dove è diventato effettivamente lo standard internazionale. Ma è stato anche usato molto per la rappresentazione di sistemi non software, ad esempio sistemi hardware. E per la rappresentazione, a livello di business, di processi e strutture organizzativi.
  2. BPMN è stato creato al di fuori dall’OMG, nel 2004, dalla Business Process Management Initiative, un consorzio di produttori di strumenti che giudicavano UML troppo poco specifico per la rappresentazione dei processi di business.
  3. Nel 2006, BPMN è stato adottato dall’OMG. Con una sovrapposizione, perché il principale diagramma previsto da BPMN (Business Process Diagram) è un flow chart, esattamente come l’Activity Diagram di UML, che usa una notazione leggermente diversa.
  4. L’ipotesi di integrare UML e BPMN (due standard in parziale sovrapposizione emanati e gestiti dallo stesso organismo) è stata finora ostacolata dai produttori di strumenti di modellazione.
  5. Per rappresentare sistemi “non software”, l’OMG ha pubblicato nel 2007 il nuovo standard SysML. In questo caso, la sovrapposizione con UML è ancora più forte, ma al tempo stesso meno grave. Più forte, perché UML e SysML hanno molti diagrammi in comune; peraltro, non tutti i diagrammi UML sono inclusi in SysML, dove invece si trovano altri diagrammi non previsti in UML. Ma meno grave, perché SysML è un “profilo” di UML, cioè una derivazione di UML compatibile con il linguaggio base.

In sintesi, ci sono aree di sovrapposizione. Quale standard usare? Di seguito, qualche indicazione di massima.

Per chi deve rappresentare processi di business, e null’altro, BPMN è una scelta conveniente.
Si può discutere sul fatto che sia più o meno efficace ed intuitiva di altre notazioni stile flow chart, ma è uno standard. Tra l’altro, sono disponibili diversi strumenti, anche gratuiti, per la modellazione BPMN.

Per chi deve rappresentare, nell’ambito del business modeling, anche altri aspetti organizzativi (strutture, ruoli, responsabilità), BPMN non basta, perché rappresenta solo i processi. Quindi conviene integrarlo o sostituirlo con UML. Esistono strumenti che modellano entrambe le notazioni.

Per chi deve rappresentare sistemi software, UML è la scelta naturale.

Per chi deve rappresentare sistemi “non software” o per i quali il software costituisce
solo una parte e non il tutto, può essere utile SysML. Ha alcuni costrutti che lo rendono preferibile rispetto all’UML “base”, in particolare per la rappresentazione dei legami tra la parte hardware e la parte software, che può valere la pena sfruttare. E anche SysML è supportato da alcuni strumenti di modellazione.


La documentazione ufficiale dei tre standard è disponibile sul sito OMG.