Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36...

68
Università di Pisa Polo Sistemi Logistici Economia e Legislazione dei Sistemi Logistici Fondamenti di Informatica per la Logistica (Prof. G. Dini) “Le grandi e complesse organizzazioni aziendali sono la manifestazione tangibile della tecnologia avanzata, più delle stesse macchine” ( J.K. Galbraith) Introduzione alla modellazione e alla esecuzione di flussi di attività (workflow) Parte I: modellazione Mario G.C.A. Cimino, www.iet.unipi.it/m.cimino, Dipartimento di Ingegneria dell’Informazione

Transcript of Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36...

Page 1: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

Università di Pisa – Polo Sistemi Logistici

Economia e Legislazione dei Sistemi Logistici

Fondamenti di Informatica per la Logistica (Prof. G. Dini)

“Le grandi e complesse organizzazioni aziendali sono la manifestazione tangibile della tecnologia avanzata, più delle stesse macchine” ( J.K. Galbraith)

Introduzione alla modellazione e alla esecuzione

di flussi di attività (workflow)

Parte I: modellazione

Mario G.C.A. Cimino, www.iet.unipi.it/m.cimino, Dipartimento di Ingegneria dell’Informazione

Page 2: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 2 di 36

Processi e Workflow

Un business process (processo aziendale) è un insieme di attività che

genera valore in uscita.

Tutte le organizzazioni funzionano sulla base di processi, complessi o

semplici, chiaramente definiti o ambigui, automatizzati o manuali.

Si vuole modellare il funzionamento di un’organizzazione,

focalizzandosi su come persone e strumenti interagiscono, a scopo di

specifica, analisi, simulazione, ottimizzazione, ecc.

Page 3: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 3 di 36

Esempi: un utente attende settimane per ottenere una informazione

analizzare il workflow, ossia l’implementazione del processo interno.

In un workflow (flusso di attività) le risorse, le informazioni e le

attività seguono un flusso di controllo coordinato dalle azioni svolte

dai partecipanti, secondo una procedura specificata in un linguaggio di

modellazione di processi.

L’atto creativo di produrre un workflow da un business process è detto

Business Process Modeling.

I sistemi informativi che consentono la modellazione e la gestione di

workflow sono detti Workflow Management Systems (WfMS).

Page 4: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 4 di 36

Business Process Model and Notation (BPMN)

BPMN è:

Un linguaggio di modellazione dei processi;

human-readable: una notazione visuale standard per modellare i processi

organizzativi;

accessible: comprensibile da vari attori: chi analizza o definisce i

processi, chi ne guida l’implementazione tecnologica, i responsabili della

gestione e controllo dei processi;

machine-readable: una notazione serializzabile in XML per la

simulazione|esecuzione dei processi.

BPMN non è:

un linguaggio per rappresentare flussi di dati e di oggetti, sebbene possa

mostrarli ad un certo livello di astrazione;

una notazione per rappresentare strutture, scomposizioni funzionali,

modelli di dati, strategie dell’organizzazione, regole di business.

Page 5: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 5 di 36

“Parenti” di BPMN (linguaggi per worlfkow-based analysis)

Petri Nets (1962): linguaggio formale per la modellazione di sistemi

distribuiti, accessibile a computer scientist e progettisti di software

specializzato. Possiede una rappresentazione visuale ed una sottostante

notazione matematica (grafi), che consente analisi avanzate quali

validazione, verifica (es. soundness per individuare deadlock, livelock, ...)

UML Activity Diagram (OMG, 1997): linguaggio di modellazione visuale

per il paradigma ad oggetti, accessibile a ingegneri del software. Nella

forma estesa di Eriksson e Penker (2000) è adatto alla modellazione di

processo ed accessibile anche ai ruoli non tecnici (di livello business).

Page 6: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 6 di 36

: Informazione

in ingresso

«Information»

«Physical»

: Oggetto

in ingresso

«Process»

«Physical»

: Oggetto

in uscita

«Goal»

Process Goal:

Quantitative

Goal

«achieve»

«People»

«control»

: Participant

«Information» «Physical»

«supply»«supply»

Processo

: Informazione

di supporto: Oggetto

di supporto

Attività

Invia Ricevi

consumati

o modificati

non

consumati

o modificati

Esempio generico di diagramma di processo in UML esteso di Eriksson-Penker

Page 7: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 7 di 36

BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

per ciò che concerne il flusso di controllo, attraverso il concetto di token (gettone)

che attraversa la struttura del processo.

Uno Start Event1 genera un token che alla fine sarà consumato da uno End Event2. Il

percorso dei token è tracciabile attraverso una rete di Sequence Flow3, Gateway4,

Activity5 ed Intermediate Event6, all’interno del processo.

Race pattern: i due eventi intermedi6 dopo il punto decisionale ad eventi4

“gareggiano”, attendendo rispettivamente la ricezione di un messaggio e lo scadere

del tempo. In quest’ultimo caso il flusso di esecuzione termina con un evento errore

con semantica throw (lancio)7.

Page 8: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 8 di 36

http://www.iet.unipi.it/m.cimino/fixl/res/mov01.swf

Descrizione del modello precedente in linguaggio naturale:

(a) Inizio

(b) Si genera il rapporto

(c) Si invia il rapporto

(d) Se arriva una ricevuta entro 4 giorni

(d.1) Si aggiorna il sistema informativo

(d.2) Fine

(e) Se passano 4 giorni

(e.1) Viene generato un evento finale di errore.

3

1 2 4

5

6

6

6

2,7

5

Page 9: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 9 di 36

Interruption pattern: il modello precedente viene incluso (embedded) come sotto-

processo, rappresentato in forma espansa1. Il nuovo modello contiene anche un sotto-

processo rappresentato in forma contratta4.

L’evento di Partner failure con semantica catch (cattura) si abilita quando il flusso

di esecuzione raggiunge il sotto-processo2, finchè non viene raggiunto uno end event.

http://www.iet.unipi.it/m.cimino/fixl/res/mov02.swf

Se viene lanciato, l’evento di errore viene catturato dall’omonimo evento di tipo

catch3, e il flusso di esecuzione viene dirottato su quel punto.

1

2

3

4

Page 10: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 10 di 36

Nota: se un Sub-Process viene espanso all’interno di un diagramma, gli oggetti al

suo interno non possono essere connessi all’esterno del Sub-Process.

BPMN consente la modellazione strutturata dei processi, visioni a vari livelli di

astrazione: dal livello “0” si scompongono i processi in sotto-processi, fino alle

attività (livello di dettaglio massimo dell’analisi). L’analisi arriva tipicamente al

terzo livello di scomposizione.

http://www.iet.unipi.it/m.cimino/fixl/res/mov03.swf

Un processo descritto ad alto livello documenta un certo comportamento del modello

senza i dettagli sufficienti a eseguirlo. Ad esempio, mancano delle espressoni logiche

nei punti decisionali, oppure non è serializzabile per una data piattaforma. In tal caso

il processo si dice non-eseguibile.

Page 11: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 11 di 36

BPMN consente anche la segmentazione dei processi, ad un dato livello, per creare

diverse sezioni modulari. Es. nella metodologia IBM si suggerisce di limitarsi a sei

processi|attività in ogni “vista” (stampa), per mantenere gestibile la mole dei dati.

Nei formati elettronici (es. pdf) si tende ad includere molti più elementi, data la

disponibilità delle funzioni di ingrandimento (zoom).

I Link Intermediate Event di tipo throw1 e catch2 permettono di connettere due

sezioni di un processo. Nell’esempio, il ramo “No” del gateway di tipo esclusivo3

conduce a un salto del flusso di esecuzione producendo un ciclo.

1 2

3

Page 12: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 12 di 36

Una medesima attività o processo può dar luogo a istanze multiple, per esempio

reiterate1 o parallele2. Il numero di istanze può essere calcolato a tempo di design o a

runtime.

http://www.iet.unipi.it/m.cimino/fixl/res/mov04.swf

http://www.iet.unipi.it/m.cimino/fixl/res/mov05.swf

1

2

Page 13: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 13 di 36

Possono essere usati Sequence Flow1,2 multipli senza alcun punto decisionale

(uncontrolled flow) in ingresso o uscita ad attività|processo. In ciascun uncontrolled

flow fluirà un token.

Nell’esempio seguente, vengono create due istanze del sotto-processo, ciascuna

relativa ad un token distinto.

http://www.iet.unipi.it/m.cimino/fixl/res/mov06.swf

1

2

1

Page 14: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 14 di 36

Se il sotto-processo viene espanso, possiamo immaginare ad esempio che i due flussi

in ingresso puntino a diversi start event.

http://www.iet.unipi.it/m.cimino/fixl/res/mov06.swf

1

1

Page 15: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 15 di 36

BPMN mette a disposizione varie tipologie di punto decisionale (o gateway). Nello

exclusive Data-Based gateway1 solo una delle alternative di uscita è vera e consente

al token di passare.

Tale gateway può essere adoperato anche per unire più flussi mutuamente esclusivi

in ingresso2, e in tal caso l’unico flusso attivo passa direttamente in uscita.

http://www.iet.unipi.it/m.cimino/fixl/res/mov07.swf

1 2

Page 16: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 16 di 36

Nello Exclusive Event-Based gateway1 c’è una gara (race) tra i diversi eventi2 in cui

vince il primo evento che arriva.

http://www.iet.unipi.it/m.cimino/fixl/res/mov08.swf

1

2

2

2

Page 17: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 17 di 36

Nello Inclusive gateway1 più condizioni in uscita potrebbero essere vere. Può anche

essere adoperato per unire più flussi in ingresso2, e in tal caso si attendono tutti i token

prodotti prima di proseguire in uscita.

http://www.iet.unipi.it/m.cimino/fixl/res/mov09.swf

Un percorso di default (opzionale) viene identificato da un tratto diagonale. Esso

viene usato se nessuna delle condizioni è vera. Se non è presente il percorso di

default e nessuna condizione è vera, viene lanciata una eccezione a runtime, poiché il

token in ingresso sarebbe inaspettatamente consumato.

1

2

Page 18: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 18 di 36

Il Parallel Gateway1 non ha condizioni logiche associate. Viene usato per

sincronizzare flussi paralleli (in ingresso) e per creare flussi paralleli (in uscita). Si

attende che tutti i token in ingresso siano arrivati, e poi si emettono nuovi token su

tutti i flussi in uscita.

Nell’esempio di seguito, si noti come il secondo gateway inclusivo2 attenda tutti e

soli i token prodotti prima di procedere. Se sostituiamo ad esso un gateway parallelo,

nel caso di token non prodotto (C1 o C2 pari a false) il token in uscita non verrebbe

mai emesso.

http://www.iet.unipi.it/m.cimino/fixl/res/mov10.swf

1 2

Page 19: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 19 di 36

Interazione tra organizzazioni in BPMN

Ogni organizzazione ha le proprie interfacce verso l’esterno. Ciò significa che vi

sono processi privati (che non interagiscono con l’esterno) e processi pubblici. In

BPMN i processi pubblici sono quelli che contengono attività di comunicazione tra

partecipanti, quindi producono un flusso di messaggi.

BPMN consente di esprimere tre tipi di processo:

Orchestrazione: interazione formata dai processi coordinati da un medesimo

partecipante. Si compone di processi privati [si pensi al direttore d’orchestra] o

workflow.

Coreografia: insieme ordinato di interazioni tra i processi relativi a diversi

partecipanti, senza controllo centralizzato. Si compone di processi pubblici [si

pensi alla coreografia nella danza].

Collaborazione: insieme di interazioni tra i partecipanti medesimi. Può includere

anche la coreografia e uno o più orchestrazioni.

Nell’esempio di seguito si ha una coreografia tra medico e paziente. I processi di

ciascun partecipante sono racchiusi in un pool1 (vasca). Un pool può essere

ulteriormente suddiviso in lane2 (corsie), ciascuna rappresentante un sotto-

responsabile o una sotto-unità.

Page 20: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 20 di 36

Un Sequence Flow non può passare attraverso il confine di un Pool. Le interazioni

tra i due partecipanti costituiscono sempre un flusso messaggi3, che può essere

attraversato solo da un Message e non da token. Message Flow non possono

connettere oggetti che sono all’interno del medesimo Pool.

http://www.iet.unipi.it/m.cimino/fixl/res/mov11.swf

1

1

2

3

Page 21: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 21 di 36

Descrizione in linguaggio naturale:

(a) La Reception del centro medico apre alle 9.00

(b) Il Paziente avverte un malessere

(c) Il Paziente richiede un medico alla Reception

(d) La Reception riceve la richiesta di medico dal Paziente

(e) La Reception comunica un appuntamento al Paziente

(f) Il Paziente riceve l’appuntamento dalla Reception

(g) Il Paziente comunica i sintomi al Dottore

(h) Il Dottore riceve i sintomi dal Paziente

(i) Il Dottore prescrive la ricetta al Paziente

(j) Il Paziente riceve la prescrizione dal Dottore

(k) Il Paziente richiede le medicine alla Reception

(l) La Reception riceve la richiesta di medicine dal Paziente

(m) La reception fornisce le medicine al Paziente e termina.

(n) Il Paziente riceve le medicine dalla Reception e termina.

Page 22: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 22 di 36

Flusso dati in BPMN

In BPMN, i Data Objects () e Data Input/Output forniscono informazioni sui dati

prodotti da una attività e da un processo. Il flusso dati viene indicato da una

associazione direzionale, che rappresenta anche una forma di dipendenza.

Ad esempio, un processo Ad-Hoc (indicato dal simbolo ‘~’) contiene un gruppo di

attività non strettamente vincolate da relazioni di sequenza. In tal caso la sequenza ed

il numero di esecuzioni dipendono ogni volta dall’esecutore. Esempi: sviluppo di

codice a basso livello, supporto alle vendite, scrivere un capitolo di libro.

Anche il messaggio () può rappresentare il contenuto di una comunicazione tra

due partecipanti.

Esempio. Nella scrittura di un capitolo di libro non c’è una sequenza predefinita tra

tutte le varie attività, poiché si tratta di un processo creativo. Ad esempio “write text”

non precede sempre “edit text”, perché l’editing può avvenire raramente e sulla base

di molte istanze di “write text”.

Tuttavia, i data obects, in qualità di input, determinano un vincolo relativo al flusso

di sequenza, in quanto senza il dato di input il processo non può essere eseguito.

Per cui potremo sicuramente dire che alcune istanze di “write text” verranno prima di

istanze di “edit text”, ma che ciò non avviene a livello di processo (su tutte le

istanze), per cui non si mette alcun flusso di controllo tra i due processi.

Page 23: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 23 di 36

Invece tra “generate graphics” e “include graphics” possiamo immaginare che

l’inclusione di una data immagine avvenga sempre dopo la generazione della

medesima, e quindi si rileva un flusso di controllo tra i due processi.

Page 24: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 24 di 36

Descrizione in linguaggio naturale:

(a) Viene fornito un argomento (Topic) del capitolo di libro

(a.1) Si studia l’argomento, producendo delle note

(a.1.1) Si scrive il testo, e dalle note si produce la bozza del capitolo

(a.1.2) Dalle note si scrive/edita più volte la bozza

(a.2) Si generano tutte le immagini

(a.2.1) Si includono tutte le immagini nella bozza

(a.3) Si organizzano i riferimenti

(b) Si termina il capitolo, rilasciando una versione completata.

Page 25: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 25 di 36

Altro esempio, la erogazione di credito per un cliente (es. finanziamento per auto o

elettrodomestico), basata su una cooperazione tra commerciante e istituto di credito,

presenta Data Input1 e Data Output2.

1 2

Cosa rappresenta il simbolo

del foglietto ondulato?

Consultare il Poster BPMN.

Page 26: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 26 di 36

Descrizione in linguaggio naturale:

(a) Inizio

(b) Il Commerciante genera un Id di credito tramite info sul Cliente

(c) Il Commerciante richiede il computo del credito all’Agenzia

(d) L’Agenzia riceve la richiesta di credito

(e) L’Agenzia invia la risposta con il computo del credito

(f) Il Commerciante riceve il computo del credito

(g) Il Commerciante aggiorna le info sul Cliente, emettendo una scheda

(h) Fine.

Page 27: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 27 di 36

Prestito bibliotecario Il seguente processo (orchestrazione) riguarda la gestione del prestito bibliotecario.

Page 28: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 28 di 36

Descrizione in linguaggio naturale:

(1) Il bibliotecario riceve la richiesta di libro da un lettore

(2) Il bibliotecario controlla lo stato del libro

(3) Se il bibliotecario trova che il libro disponibile:

(3.1) Il bibliotecario prepara il libro per essere ritirato

(3.2) Il bibliotecario risponde al lettore indicando che il libro è pronto al

ritiro

(4) Se il bibliotecario trova che il libro è in prestito:

(4.1) Il bibliotecario risponde al lettore indicando che libro è in prestito e

attende indicazioni

(4.1.1) Se passa una settimana senza che il bibliotecario abbia indicazioni:

(4.1.1.1) Il bibliotecario cancella la richiesta di prestito, lo notifica al

lettore e termina.

(4.1.2) Se il lettore risponde rinunciando alla richiesta prestito:

(4.1.2.1) (4.1.1.1)

(4.1.3) Se il lettore risponde mantenendo la richiesta di prestito:

(4.1.3.1) Il bibliotecario mantiene la richiesta di prestito

(4.1.3.2) Il bibliotecario notifica di mantiene la richiesta di prestito

(4.1.3.3) Dopo due settimane di mantenimento della richiesta di prestito

(4.1.3.4) (2)

Page 29: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 29 di 36

E-tendering Il termine e-tendering (offerta elettronica) viene usato per designare l'uso di internet

per fare delle richieste di preventivo da una parte e ricevere le offerte dall'altra.

Page 30: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 30 di 36

Descrizione in linguaggio naturale: (1) L’acquirente inizia

(2) I fornitori sono in attesa di richieste

(3) L’acquirente effettua delle richieste di offerta a tre fornitori di servizi, A,

B e C, indicando una offerta minima

(4) Ogni fornitore riceve la richiesta

(5) L’acquirente attende che almeno due fornitori rispondano

(6) Almeno due fornitori hanno risposto

(7) L’acquirente valuta le offerte

(8) Se l’offerta migliore è almeno pari alla minima:

(8.1) L’acquirente termina

(9) Se l’offerta migliore è inferiore al minimo:

(9.1) (3)

Page 31: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 31 di 36

Spedizioni di un rivenditore di HW La modellazione riguarda i passi che un rivenditore di hardware al dettaglio deve

compiere prima di spedire i beni ordinati al cliente.

L

Page 32: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 32 di 36

Descrizione in linguaggio naturale: (1) Il commesso ha beni da spedire

(2.a) Il commesso analizza se spedizione normale o speciale

(2.a.1) Se spedizione normale

(2.a.1.1) Il commesso controlla se è necessaria una assicurazione extra

(2.a.1.a) Il commesso compila la scheda del corriere

(2.a.1.b) Il reparto logistico acquisisce assicurazione extra (se necessaria)

(2.a.2) Se spedizione speciale (assicurazione inclusa dal corriere)

(2.a.2.1) Il commesso richiede preventivi a vari corrieri

(2.a.2.2) Il commesso assegna un corriere e compila i dettagli

(2.a.2.3) (Si attende che termini il segmento 2.a.1 e si passa al punto 3)

(2.b) Il magazziniere imballa i beni

(3) Il magazziniere compila i dettagli e sposta il pacco nell’area di raccolta

(4) I beni sono disponibili per la spedizione

N.B.: Per i rami paralleli o inclusivi si usano le lettere (a,b,c,…) per i rami esclusivi

si usano i numeri arabi (1,2,3,…).

Page 33: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 33 di 36

Pizza collaboration Modello di interazione tra un cliente, che ordina una pizza, e un venditore.

Page 34: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 34 di 36

Descrizione in linguaggio naturale: (1) Il cliente ha voglia di pizza

(2) Il cliente ordina una pizza presso il venditore

(3) Il cliente attende di ricevere la pizza

(3.1) Se arriva la pizza entro un’ora dall’ultima richiesta

(3.1.1) Il cliente paga la pizza

(3.1.2) Il cliente prende la ricevuta di pagamento

(3.1.3) Il cliente mangia la pizza

(3.1.4) La voglia di pizza è terminata

(3.2) Se passa un’ora dall’ultima richiesta

(3.2.1) Il cliente chiede nuovamente la pizza

(3.2.2) Il cliente viene tranquillizzato

(3.2.3) (3)

(1) Il commesso della pizzeria riceve un ordine, che inoltra allo chef

(2.a) Se successivamente il cliente chiedera’ informazioni sulla pizza non ancora

pervenuta, il commesso cerchera’ di tranquillizzarlo

(2.b.1) Lo chef cuoce la pizza

(2.b.2) L’addetto alle consegne consegna la pizza

(2.b.3) L’addetto alle consegne riceve il pagamento e rilascia la ricevuta.

(3) Fine

Page 35: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 35 di 36

Assegnazione del Premio Nobel L’assegnazione di un Premio Nobel è un processo lento e delicato, che ogni anno

coinvolge circa 3000 candidati, solo nella sezione Medicina.

Page 36: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 36 di 36

Descrizione in linguaggio naturale: (01) Siamo a Settembre dell’anno prima della premiazione

(02) Il Comitato invia un modulo a 3000 nominatori estratti da un archivio

(03) Il Nominatore riceve il modulo

(04) Il Nominatore identifica potenziali nomine

(05) Il Nominatore invia al Comitato le nomine

(06) Le nomine sono state inviate

(07) Il Comitato raccoglie i moduli delle nomine e le memorizza in un archivio

(08) Il Comitato fa una cernita e seleziona dei candidati preliminari

(09) Il Comitato determina se occorre assistenza di esperti

(10) Se non occorre assistenza di esperti (29)

(11) Il Comitato manda agli esperti una lista di candidati preliminari

(12) L’esperto riceve la lista di candidati preliminari

(13) L’esperto valuta il lavoro dei candidati

(14) L’esperto invia un rapporto di valutazione

(15) L’esperto ha terminato la sua valutazione

(16) Il Comitato raccoglie le valutazioni degli esperti

(17) Le valutazioni sono memorizzate in un archivio

(18) Il Comitato seleziona i candidati finali e i relativi lavori

(19) Il Comitato redige i rapporti di raccomandazione

(20) Il Comitato invia i rapporti con le raccomandazioni

(21) L’Assemblea riceve i rapporti con le raccomandazioni

(22) L’Assemblea discute le nomine

(23) L’Assemblea seleziona i premiati

(24) L’Assemblea convoca i premi Nobel

(25) I Premi Nobel ricevono la convocazione

(26) L’Assemblea termina le convocazioni

(27) Il Comitato gestisce la cerimonia di premiazione

(28) Fine

Page 37: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

Università di Pisa – Polo Sistemi Logistici

Economia e Legislazione dei Sistemi Logistici

Fondamenti di Informatica per la Logistica (Prof. G. Dini)

“Le grandi e complesse organizzazioni aziendali sono la manifestazione tangibile della tecnologia avanzata, più delle stesse macchine” ( J.K. Galbraith)

Introduzione alla modellazione e alla esecuzione

di flussi di attività (workflow)

Parte II: esecuzione

Mario G.C.A. Cimino, www.iet.unipi.it/m.cimino, Dipartimento di Ingegneria dell’Informazione

Page 38: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 2 di 32

Business Process Visual Architect 5

Suite per simulare l’esecuzione di processi.

Download: http://www.visual-paradigm.com/download/bpva.jsp;

Decomprimere, eseguire bin/ Business Process Visual ARCHITECT 10.exe;

Workspace: selezionare una cartella come spazio di lavoro;

Evaluation: licenza mensile;

Legenda:

digita premi seleziona con tasto sx seleziona con tasto dx

Page 39: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 3 di 32

Primo diagramma:

1. File New Project;

2. Project name (es. mioprogetto);

3. Create blank project;

4. Si apre automaticamente un Business Process Diagram;

5. Creare il diagramma con la tavolozza di sinistra.

Page 40: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 4 di 32

6. Modeling Simulacian;

7. Selezionare un task, inserire durata e costo necessari per completarlo una volta.

Page 41: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 5 di 32

8. Dati relativi a ogni attività del modello.

Attività Durata media (min) Costo medio (EUR)

Taglio 25 16

Preparazione Componenti (interna) 28 31

Preparazione Componenti (esterna) 24 48

Assemblaggio (interno) 93 67

Assemblaggio (esterno) 68 93

Controllo qualità e confezionamento 42 26

Esternalizzazione * 5 2

9. Definire il numero di risorse (pool) a disposizione1, la velocità di simulazione2 e la

valuta3;

Page 42: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 6 di 32

10. Creare uno scenario, cliccando su una parte bianca del modello e poi Add;

11. Inserire la frequenza di esecuzione dello scenario, il numero di casi (token);

12. Costruire il percorso riguardante lo scenario, tramite l’area Path.

Page 43: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 7 di 32

13. Scenari ipotizzati: produzione interna ed esterna.

Page 44: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 8 di 32

14. Cliccare su Play/Stop/Pause per eseguire gli scenari.

15. Triangoli rossi → token in attesa; pallino verde → token in elaborazione;

16. A fine simulazione appare il tempo ed il costo totale;

17. All’aumentare delle risorse (pool) aumenta il grado di parallelismo;

Page 45: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 9 di 32

18. All’aumentare dei casi aumentano i token (somma tempi e costi);

19. In caso di più scenari, i casi sono ripartiti in percentuale (es. 30% int.,70% est.);

20. Cliccando sull’icona a destra si ottengono dei grafici con l’andamento dei

parametri principali di simulazione;

21. Livello di completamento nel tempo: input da fornire, da elaborare ed elaborati:

Page 46: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 10 di 32

22. Uso delle risorse nel tempo:

Page 47: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 11 di 32

23. Tempo di accodamento

Page 48: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 12 di 32

24. Costo per flusso (costo d’uso)

Page 49: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 13 di 32

25. Costo complessivo dello scenario

26. Andamento temporale del costo

Page 50: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 14 di 32

27. Esercizio

Si supponga di dover produrre 40 borse, tramite una combinazione dei due scenari di

produzione interna ed esterna, con una sola bottega e un solo terzista. Simulare:

a) uno scenario di produzione totalmente interna, interpretare risultati/grafici;

b) uno scenario di produzione totalmente esterna, interpretare risultati/grafici;

c) individuare una combinazione degli scenari in grado di essere realizzata sia in

minor tempo sia in minori costi rispetto ai casi a) e b);

Soluzione

a) 100% → 5g 5h 20' 5600€, maggiore accodamento ultime fasi, provocato dalla

serialità del flusso;

b) 0% → 3g 6h 52' 7640€, maggiore accodamento su assemblaggio, essendo una

attività di maggiore durata;

c) svolgendo internamente una parte minore si bilancia l’assemblaggio e si riduce

l’accodamento, risparmiando nel tempo complessivo e in termini di costi:

Es. 20% → 3g 2h 38' 7232€

Page 51: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 15 di 32

Webratio 6 BPM

Suite per creare applicazioni web gestite da un workflow.

Download: http://www.webratio.com/portal/content/en/free-bpmn-editor

http://www.java.com/en/download

Setup Java: Doppio click sul pacchetto JRE-7, Install;

Setup Webratio: Doppio click sul pacchetto WebRatio 6 BPM, Next, Next,

Next, Install, Next, Finish, Togli la spunta su Show Release Note, Finish.

Workspace: selezionare una cartella come spazio di lavoro, OK;

Attivazione: user e pass bpmnlogistica; Activate (serve connessione ad

internet); Next; Finish;

Page 52: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 16 di 32

Legenda:

digita premi seleziona con tasto sx seleziona con tasto dx

Installare l’esempio Expense Report (rapporto di spesa):

1. File New Example;

2. Expense Report, Next, Finish;

Vogliamo realizzare un sistema web per coordinare tre ruoli nel seguente processo,

Expense Report, in cui un dipendente invia un rapporto alla sua compagnia e

richiede approvazione e pagamento delle due spese mensili.

Page 53: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 17 di 32

Descrizione in linguaggio naturale: (1) Nuovo rapporto di spesa

(2) Il Dipendente redige il rapporto di spesa

(3.1) Se la spesa supera i 100 Euro

(3.1.1) Il Supervisore fa la revisione del rapporto

(3.1.2.1) Se il Supervisore rifiuta il rapporto

(3.1.2.1.1) (2)

(3.1.2.2) Se il Supervisore approva il rapporto

(3.1.2.2.1) (4)

(3.2) Se la spesa è non superiore a 100 Euro

(3.2.1) (4)

(4) L’Economo conferma le ricevute

(4.1) Se l’Economo approva le ricevute

(4.1.1) L’Economo elabora la spesa

(4.1.2) Fine del rapporto di spesa

(4.2) Se l’Economo rifiuta le ricevute

(4.2.1) (2)

Page 54: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 18 di 32

Ecco come appare il BPM Editor all’apertura del processo

3. Pubblicare il processo: Publish process. Attendere circa un minuto per il

caricamento e il lancio automatico della web application (che risiede su Tomcat).

Page 55: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 19 di 32

Page 56: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 20 di 32

4. Login: (a) cliccare sull’icona a freccia corrispondente a un utente (username e

password si compilano automaticamente); (ii) cliccare su Login.

Page 57: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 21 di 32

5. Nuovo rapporto di spesa: entrare come John Doe (Impiegato):

6. Vedere le attività in attesa di essere processate (area centrale):

7. Avviare un nuovo processo: Start (area a sinistra)

Page 58: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 22 di 32

8. Redigere un rapporto di spesa intitolato “Sopralluogo presso Fixl”, spesa 200, note

“Indagine preliminare”, Write, aggiungere eventuali allegati, Finish.

Page 59: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 23 di 32

9. Logout. Entrare come Ronald Still (Supervisore). Appare una notifica (in alto a

dx) e una attività da processare (in basso al centro).

10. Cliccare su History Diagram (al centro della pagina), appare un diagramma con lo

stato corrente del processo:

11. Nel diagramma si nota che, essendo una spesa superiore a 200 Euro, il controllo

passa al Supervisore.

12. Chiudere il diagramma.

Page 60: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 24 di 32

13. Nella pagina Review Report, cliccare sul triangolino presente nella colonna di dx

della tabella “Work Items”

14. Cliccare sul triangolino presente nella colonna di dx.

15. Nella scheda User Input, accettare la spesa; Finish.

Page 61: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 25 di 32

16. Logout. Entrare come Douglas Martin (Tesoriere). Appare una notifica (in alto

a dx) e una attività da processare (in basso al centro). Procedere come nel caso del

supervisore, approvando la spesa.

Page 62: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 26 di 32

17. Cliccare in alto a destra su Completed Processes. Nella tabella dei processi

completati, cliccare sul simbolo di diagramma che appare nella terza colonna della

prima riga.

Page 63: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 27 di 32

18. Appare l’intero flusso percorso dal processo.

Page 64: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 28 di 32

19. Come modificare i parametri del modello.

Nel diagramma, selezionare il gateway “Evaluate Expense”. Cliccare, nella scheda

Properties (a sin.) sull’icona accanto a Condition Values.

Page 65: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 29 di 32

20. Appare una tabella delle condizioni, con le relative espressioni. Cliccare sull’icona

accanto a Expression per modificare l’espressione.

21. Nel diagramma, modificare anche le etichette che appaiono sui due rami.

22. Ripubblicare il processo e provare con un rapporto di spesa di 150 Euro, per

verificare che la soglia sia effettivamente cambiata.

23. Aggiungere altre informazioni al task “Edit Report”.

Supponiamo di voler aggiungere una proprietà “Rating” che esprime un punteggio

dato alla spesa. Un alto punteggio significa che è una spesa indispensabile, uno basso

significa che è qualcosa che si può evitare.

Page 66: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 30 di 32

24. Occorre modificare il Business Object. Nella scheda BPM Explorer, espandere il

ramo Business Objects, doppio click su Report, Add, e aggiungere una riga con la

proprietà Employee Rating, di tipo integer. Cliccare sul simbolo floppy (sulla barra

in alto) per salvare le modifiche.

25. Per rendere il nuovo campo visibile ed editabile: (i) tornare sul diagramma di

processo (tramite la scheda BPM Explorer), (ii) selezionare il task Edit Report, (iii)

nella tab Properties, cliccare sull’icona accanto ad Activity Parameter.

26. Si apre una tabella dei parametri, dove è possibile spuntare le proprietà Visible ed

Editable di Employee Rating.

Page 67: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 31 di 32

27. Cliccare su ok, cliccare in alto a sinistra sul simbolo del floppy per aggiornare.

Page 68: Università di Pisa Polo Sistemi Logistici FIXL, Introduzione alla modellazione e...slide 7 di 36 BPMN (OMG, 2005) è specializzato nel rappresentare il comportamento dei processi

slide 32 di 32

28. Selezionare la voce Expense_Report nella scheda BPM Explorer, e Ripubblicare il

processo, ritornare sul browser, accedere a http://localhost:8080/ExpenseReport, e

riprendere come al punto 4.

29. Dopo essere entrati come John Doe, e aver avviato un nuova Expense Report,

notare l’apparizione del nuovo campo Employee Rating, quando si apre la scheda

Edit Report. Inserendo dei valori e cliccando su Finish viene svolto anche un

controllo sul tipo di valore inserito.

30. Spegnere la web application: (i) Start; (ii) Programmi; (iii) Webratio

Tomcat Stop;