Cos’è 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 utilizza 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.

Esclusivo (xor)

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.

Basato su eventi

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.

Parallelo

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.

Inclusivo

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.

Complesso

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

Esclusivo basato su eventi

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.

Parallelo basato su eventi

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.

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)

Pools e Lanes 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

Il flusso di messaggi rappresenta il flusso di informazioni. Un flusso di messaggi può essere unito a pools, attività, o eventi di messaggi.

Ordine scambi 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.

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à:

Sottoprocesso

Loop

Esecuzione in parallelo

Esecuzione sequenziale

Ad hoc

Compensazione

Tipologie di tasks

Le tipologie specificano la natura dell’azione da eseguire:

Task di invio

Task di ricezione

Utente

Task manuale

Regole di business

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.

Contattaci