L’Object Management Group (OMG) è un organismo che comprende alcune tra 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.
Questi tre standard si sovrappongono, almeno in parte. Chiariamo quindi alcuni aspetti per chi li vuole usarli, ma non è addentro alle logiche dell’OMG e alla storia della loro nascita.
- 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 per la rappresentazione di sistemi non software, ad esempio sistemi hardware. E per la rappresentazione, a livello di business, di processi e strutture organizzativi.
- BPMN nasce 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.
- Nel 2006, BPMN è stato adottato dall’OMG. Con una parziale 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 un po’ diversa.
- Per rappresentare sistemi “non software”, l’OMG ha pubblicato nel 2007 lo 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, BPMN è la scelta migliore.
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 con UML.
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, lo standard da usare è SysML.
I tre standard sono supportati da molti strumenti di modellazione.
La documentazione dei tre standard è disponibile sul sito OMG.