BPMN 2.0

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:

i gateway per rappresentare i percorsi alternativi di un processo in modo molto più chiaro e leggibile;
gli eventi;
funzionalità per gestire i sottoprocessi;
oggetti accessori (come le annotazioni ed i gruppi);
raggruppamenti di attività in swimlanes: elementi grafici utilizzato nei diagrammi di flusso che suddividono visualmente le responsabilità dei sub-processi di una macroattività. Gli swimlane possono essere strutturati sia orizzontalmente che verticalmente.

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)

Gateways esclusivo


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

Gateways 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

Gateways 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

Gateways inclusivo


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


Complesso

Gateways complesso


All’attivazione di ogni evento successivo, viene avviata una nuova istanza di processo.

Esclusivo basato su eventi

Gateways esclusivo basato su eventi


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

Parallelo basato su eventi

Gateways 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

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.

flusso messaggi
ordine scambi


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

Attività

task

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

transazione

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

sottoprocesso

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.

call activity
Una call activity è un contenitore di un sottoprocesso definito globalmente o un task che può essere riusato nel processo attuale.

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

simbolo

Sottoprocesso

task invio

Task di invio

loop

Loop

task ricezione

Task di ricezione

esecuzione in parallelo

Esecuzione in parallelo

utente

Utente

esecuzione sequenziale

Esecuzione sequenziale

task manuale

Task manuale

ad hoc

Ad hoc

regole di business

Regole di business

compensazione

Compensazione

service

Service

script

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

comunicazione

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

conversation link


Un conversation link connette le comunicazioni ed i partecipanti.

forked


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.

data input output

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

data object

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

collection data

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.

data store

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

messaggio