BPMN 2.0
Il BPMN 2.0 è uno standard e un linguaggio grafico molto diffuso per la descrizione dei modelli di processo.
La simbologia è standardizzata ed è facilmente comprensibile di analisti, di consulenti e tecnici.
Un disegno di processo “BPMN 2.0” è composto da attività collegate da un flusso.
Lo standard BPMN utlizza anche:
Esempi
Gateways
Rappresentano in modo più chiaro e standardizzato i vari percorsi possibili all’interno di un processo.
In caso di splitting, il flusso sequenziale viene diretto esattamente verso uno dei rami in uscita. In caso di merging, il flusso aspetta che un ramo in entrata arrivi a termine prima di andare avanti.
Esclusivo(xor)

Questo simbolo è sempre seguito da intercettazioni di eventi o tasks di ricezione. Il flusso sequenziale prosegue verso il sucessivo task/evento che accade per primo.
Basato su eventi

Quando si usa per dividere il flusso sequenziale, tutti i rami in uscita sono attivati simultaneamente. Quando si usa per unire rami paralleli, il flusso aspetta il completamento di tutti i rami in entrata prima di andare avanti.
Parallelo

In caso di splitting, uno o più rami sono attivati. Il flusso va avanti solamente quando l’esecuzione di tutti i rami è terminata.
Inclusivo

Gestioni di merging e branching che non sono gestite da altri gateways.
Complesso

All’attivazione di ogni evento successivo, viene avviata una nuova istanza di processo.
Esclusivo basato su eventi

All’attivazione di tutti gli eventi successivi, viene avviata una nuova istanza di processo.
Parallelo basato su eventi

Eventi
Rappresentano degli accadimenti che hanno impatto sul processo (ma non sono attività).

Swimlanes
Per rappresentare i partecipanti del processo.

Pools (Partecipanti) e Lanes(corsie) rappresentano le responsabilità per le attività in un processo. Esse possono essere un’organizzazione, un ruolo o un sistema. Le corsie suddividono le pools o altre corsie gerarchicamente.
Flusso di messaggi rappresenta il flusso di informazioni. Un flusso di messagi può essere unito a pools, attività, o eventi di messaggi.


L’ ordine degli scambi di messaggi può essere specificato associando il flusso di messaggi e il flusso sequenziale.
Attività

Un task è un unità di lavoro, cioè il lavoro da svolgere.Questo simbolo indica un sottoprocesso, cioè un’attività che può essere perfezionata.

Una transazione è un insieme di attività che si legano logicamente; essa potrebbe seguire uno specifico protocollo.

Un sottoprocesso basato su eventi si trova all’interno di un processo o sottoprocesso. Si avvia quando il suo evento di inizio viene attivato e può interrompere il processo di livello superiore oppure eseguire in parallelo (senza interruzioni) in base all’evento di inizio.

Simboli per attività
I seguenti simboli indicano il comportamento di esecuzione delle attività:
Tipologie di tasks
Le tipologie specificano la natura dell’azione da eseguire

Sottoprocesso

Task di invio

Loop

Task di ricezione

Esecuzione in parallelo

Utente

Esecuzione sequenziale

Task manuale

Ad hoc

Regole di business

Compensazione

Service

Script
Flusso sequenziale
definisce l’ordine di
esecuzione delle
attività.
Flusso predefinito
è il ramo predefinito da
scegliere se tutte le altre
condizioni vengono
valutate come false.
Flusso condizionale
ha una condizione
assegnata che definisce
se usare o meno il
flusso.
Conversazioni

Una comunicazione definisce un insieme di scambi di messaggi collegati logicamente. Se annotati con questo simbolo indicano una comunicazione interna ad un’altra conversazione.

Un conversation link connette le comunicazioni ed i partecipanti.

Un forked conversation link connette le comunicazioni e molteplici partecipanti.
Diagramma di conversione

Data
Un Data Input è un input esterno usato all’interno del processo.
Può essere letto da un’attività. Un Data Output è una variabile disponibile come risultato di un intero processo.

Un Data Object rappresenta le informazioni che attraversano l’intero processo, come ad esempio documenti di business, e-mails, o lettere.

Un Collection Data Object rappresenta una collezione di informazioni, come ad esempio una lista di elementi ordinati.

Un Data Store è un luogo dove il processo può leggere oppure scrivere dati, ad esempio un database. Esso si mantiene oltre la durata dell’istanza del processo.

Un messaggio è usato per rappresentare i contenuti di una comunicazione tra due partecipanti.
