Collegamento degli oggetti
Cosa sono gli oggetti di collegamento
In BPMN 2.0, gli oggetti di collegamento definiscono le relazioni e il flusso delle informazioni tra gli elementi di un modello di processo. Collegano attività, eventi e gateway, guidando il flusso del processo oppure trasmettendo dati e messaggi. I principali oggetti di collegamento sono Sequence Flow, Message Flow e Association.
Sequence Flow
Un Sequence Flow definisce l’ordine di esecuzione di attività, eventi e gateway all’interno di un processo. Mostra la progressione logica dei task da un passaggio a quello successivo.
Rappresenta l’ordine in cui devono essere eseguiti i task, mediante una linea continua che termina con una punta di freccia. Può indicare un percorso condizionale o predefinito.
- Esempio: un Sequence Flow collega il task “Submit Application” al task “Review Application”, mostrando che la revisione segue l’invio.
- Tipi di Sequence Flow:
- Sequence Flow normale: il flusso predefinito tra le attività.
- Sequence Flow condizionale: un Sequence Flow che prosegue solo se viene soddisfatta una condizione specifica, indicata da un piccolo rombo.
- Sequence Flow predefinito: il flusso alternativo utilizzato se non viene soddisfatta alcuna condizione, indicato da una barra diagonale nel punto di partenza.
- Caso d’uso: utilizzi i Sequence Flow per guidare la progressione del processo passo dopo passo, assicurando che le attività vengano eseguite nell’ordine corretto.
Message Flow
Un Message Flow rappresenta la comunicazione tra partecipanti o processi diversi, in genere appartenenti a pool differenti. Viene utilizzato per mostrare lo scambio di informazioni tra processi che possono operare in modo indipendente.
Il connettore Message Flow mostra la comunicazione tra pool diversi o oltre i confini organizzativi, ad esempio tra reparti. Non è destinato a collegare eventi o attività all’interno dello stesso pool. Questo connettore è rappresentato da una linea tratteggiata che inizia con un cerchio e termina con una punta di freccia aperta.
- Esempio: un Message Flow collega il task “Send Invoice” in un pool, quello del fornitore, al task “Receive Invoice” in un altro pool, quello del cliente, mostrando che la fattura viene inviata tra i due partecipanti.
- Caso d’uso: utilizzi i Message Flow per illustrare la comunicazione tra entità o partecipanti aziendali diversi, ad esempio quando un’azienda invia una richiesta d’ordine a un’altra.
Association
Un’Association collega gli artefatti, come oggetti dati, annotazioni di testo o gruppi, agli oggetti di flusso, ovvero attività, eventi e gateway, per fornire contesto o chiarire le relazioni. Le Association non influiscono sulla sequenza del processo, ma vengono utilizzate per la documentazione e per aggiungere dettagli.
Questo elemento è rappresentato da una linea puntinata senza punta di freccia né cerchio. Collega un evento, un’attività o un gateway a un artefatto.
- Esempio: un’Association collega il task “Generate Report” a un “Report Document”, un oggetto dati, mostrando che il task produce il documento.
- Tipi di Association:
- Association normale: collega elementi come task a oggetti dati o annotazioni.
- Association direzionale: mostra il flusso dei dati da o verso un task, indicato da una freccia.
- Association bidirezionale: indica relazioni a due vie tra gli elementi, rappresentate da due punte di freccia.
- Caso d’uso: utilizzi le Association per collegare informazioni aggiuntive, come oggetti dati o annotazioni di testo, a task o eventi senza influire sul flusso del processo.
Association nei file BPMN esportati
Le Association vengono esportate come elementi standard bpmn:association insieme agli artefatti che collegano, quindi rimangono intatte durante un’esportazione e importazione bidirezionale. Fa eccezione il collegamento tra un’attività e un oggetto dati o un archivio dati: viene scritto come bpmn:dataInputAssociation o bpmn:dataOutputAssociation dell’attività, motivo per cui la direzione viene preservata. ProcessMind non modella la direzione delle Association semplici: un’Association direzionale o bidirezionale importata da un file viene nuovamente visualizzata come Association semplice.
Esempio
Immagini un processo per la gestione degli ordini dei clienti:
- Sequence Flow: dopo aver ricevuto un ordine, il sistema lo elabora e lo invia per la consegna. Ogni passaggio, dalla ricezione all’elaborazione fino alla consegna, è collegato tramite Sequence Flow.
- Message Flow: una volta elaborato l’ordine, viene inviato un messaggio a un’azienda di spedizioni esterna incaricata della consegna. Questa comunicazione è rappresentata da un Message Flow tra le due entità.
- Association: un oggetto dati “Customer Order” è associato al task “Receive Order” per mostrare che il task gestisce i dati dell’ordine.