Business Process Automation

VII parte: Una simulazione con Bizagi Studiodi

Introduzione

In questo articolo inizieremo a realizzare un case study in cui applicheremo i concetti di Bizagi Studio visti nell’articolo precedente e ne introdurremo di nuovi supportati dai requisiti di business evidenziati dal caso pratico. In particolare andremo a realizzare il modello del processo con Bizagi Modeler, lo importeremo in Bizagi Studio, quindi andremo a realizzare il modello dei dati.

Il case study proposto è relativo al processo di Vacation Leave Request, ossia la classica “richiesta di ferie” che una generica organizzazione ha deciso di automatizzare mediante l’ausilio di Bizagi Studio. Il processo è molto semplice e parte quando un dipendente richiede delle ferie; la richiesta è quindi esaminata dal diretto responsabile del dipendente che la può approvare o rifiutare.

Se la richiesta è rifiutata, questa viene respinta indietro al dipendente che può leggere le ragioni del rifiuto; se la richiesta è approvata, una notifica è inviata ad rappresentante delle risorse umane, che completa le relative procedure amministrative.

Nota sui nomi

I due prodotti della suite di Bizagi che useremo saranno Bizagi Modeler, per realizzare il modello del processo e documentarlo, e Bizagi Studio, per trasformare il modello in una vera e propria applicazione di processo.

Nella nostra trattazione, useremo i termini in inglese, che sono comunque di immediata comprensione, in modo da consentire, a chi volesse approfondire andando sul sito di Bizagi, di ritrovarsi facilmente con quanto descritto in questo articolo.

 

Modellazione del processo

Come sappiamo, il primo passo nell’automazione di un processo è la realizzazione del suo modello. Nella Bizagi BPM Suite il prodotto usato a tal fine è Bizagi Modeler che usa il linguaggio standard di modellazione Business Process Model and Notation (BPMN) [1].

Al termine dell’attività di modellazione il risultato che si può ottenere è quello presentato in figura 1.

Figura 1 – Vacation Leave Request: il modello.

Figura 1 – Vacation Leave Request: il modello.

 

Importare il modello del processo in Bizagi Studio

Una volta realizzato il modello andiamo a importarlo in Bizagi Studio per realizzare le attività che consentono di trasformare il modello in una applicazione di processo. Realizziamo i passi che vediamo di seguito.

Anzitutto, in Bizagi Modeler selezioniamo il bottone Run Worflow (figura 2).

Figura 2 – Importazione del modello in Bizagi Studio: 1° step Run Workflow.

Figura 2 – Importazione del modello in Bizagi Studio: 1° step Run Workflow.

 

Nella finestra visualizzata, selezioniamo il diagramma da importare e selezioniamo Next (figura 3).

Figura 3 – Importazione del modello in Bizagi Studio: 2° step.

Figura 3 – Importazione del modello in Bizagi Studio: 2° step.

 

Nella successiva finestra visualizzata, rinominiamo eventualmente il processo nel modo più consono (figura 4).

Figura 4 – Importazione del modello in Bizagi Studio: 3° step.

Figura 4 – Importazione del modello in Bizagi Studio: 3° step.

 

Creiamo quindi un nuovo Bizagi Project selezionando, nella successiva finestra visualizzata, New e quindi Next (figura 5).

Figura 5 – Importazione del modello in Bizagi Studio: 4° step.

Figura 5 – Importazione del modello in Bizagi Studio: 4° step.

 

Nella finestra visualizzata, inseriamo il nome del nuovo progetto, per esempio BPMProject, e selezioniamo Next (figura 6).

Figura 6 – Importazione del modello in Bizagi Studio: 5° step.

Figura 6 – Importazione del modello in Bizagi Studio: 5° step.

 

A questo punto Bizagi inizierà a creare il progetto, operazione che potrà durare alcuni minuti.

 

Da Modeler a Studio

Chiudiamo Bizagi Modeler perché tutte le successive configurazioni saranno realizzate in Bizagi Studio che si aprirà automaticamente quando le operazioni di creazione del progetto saranno terminate.

Una volta in Bizagi Studio, possiamo registrare le principali informazioni sul processo, tra cui una breve descrizione e la durata del processo che definisce lo SLA del processo. Allo scopo clicchiamo con il tasto destro del mouse sul processo e selezioniamo Properties (figura 7).

Figura 7 – Proprietà del progetto.

Figura 7 – Proprietà del progetto.

 

Allo stesso modo, cliccando sul tasto destro del mouse, possiamo entrare su ciascuna attività e definirne le principali proprietà, tra cui la descrizione, la durata e l’Help Text. Quest’ultima informazione è visualizzata all’utente finale quando l’attività sarà eseguita nel Work Portal (figura 8).

Figura 8 – Proprietà dell’attività.

Figura 8 – Proprietà dell’attività.

 

Per ciascuna delle attività del processo Vacation Leave Request, andiamo a definire le proprietà come nella tabella seguente.

Activity Help Text Duration
Register Leave Request Include all the information in your vacation request 1 day
Approve Vacation Request Approve or deny request 2 days
Inform Reject Reason Review the reasons for rejection request 3 days
Register vacation leave Post the event into the payroll system 3 days

 

Quindi selezioniamo Save e chiudiamo il Process Modeler Suite di Bizagi Studio. Si ritornerà in Bizagi Studio, nella vista Process Wizard, che ci guiderà a realizzare i restanti passi necessari ad automatizzare il processo (figura 9).

Figura 9 – Vista Process Wizard.

Figura 9 – Vista Process Wizard.

 

Modello dei dati del processo

Il successivo passo nell’automazione del processo consiste nel realizzare il Modello dei Dati (Data Model), nel definire cioè tutte le informazioni che il processo automatizzato visualizzerà nel Work Portal e che l’utente finale dovrà gestire.

Le principali informazioni gestite dal processo di Vacation Leave Request sono:

  • Request date
  • Employee
  • Vacation start date
  • Vacation end date
  • Number of business days requested
  • Number of available days
  • Supervisor
  • Flag (yes/no) for approved vacations
  • Rejection reason
  • Payroll code
  • Administrative task date

Le azioni per modellare i dati

Per modellare i dati procediamo compiendo le azioni qui di seguito riassunte. Come prima cosa, selezioniamo Model Data nella vista Process Wizard (figura 10).

Figura 10 – Selezione del Model Data.

Figura 10 – Selezione del Model Data.

 

Nella finestra che viene visualizzata, selezioniamo il processo, quindi selezioniamo il tasto OK (figura 11).

Figura 11 – Model Data, selezione del processo.

Figura 11 – Model Data, selezione del processo.

 

La nuova finestra visualizzata, contiene l’entità processo ed è l’editor dove andremo a creare le entità, gli attributi e le relazioni tra questi. Clicchiamo con il tasto destro del mouse sul processo, quindi selezioniamo Edit Attribute List e il bottone Add nella Attribute List Window che appare successivamente (figura 12).

Figura 12 – Model Data, aggiunta di attributi.

Figura 12 – Model Data, aggiunta di attributi.

 

Per ciascuno degli attributi andiamo a definire le seguenti informazioni:

  • Display Name è il nome che sarà presentato all’utente finale;
  • Name sarà valorizzato automaticamente dal sistema e sarà il nome referenziato nelle Business Rules;
  • Type è il data type dell’attributo;
  • Length si applica per gli attributi di tipo stringa e indica quanti caratteri possono essere inseriti nel campo.

La tabella seguente riassume le caratteristiche di questi attributi.

Display Name Type Lenght
Request Date Date – Time None
Start Date Date – Time None
End Date Date – Time None
Business days requested Integer None
Available days Integer None
Approved? Boolean None
Reject comments String 100
Payroll Code String 20
Administrative Task Date Date – Time None

 

Alla fine la lista degli attributi del nostro processo apparirà come in figura 13.

Figura 13 – Model Data, lista degli attributi.

Figura 13 – Model Data, lista degli attributi.

Altri attributi

Una volta creati in principali attributi, andiamo ora a creare quelli relativi ad altre entità. Reject Reason è una entità che deve essere creata con un suo proprio attributo. Per fare questo scriviamo il nome del parametro nella colonna Display Name, quindi selezioniamo la voce di menù Entity —> Parameter —> New Entity… (figura 14).

Figura 14 – Model Data, aggiunta nuova entità: 1° step.

Figura 14 – Model Data, aggiunta nuova entità: 1° step.

 

Nella finestra che viene visualizzata selezioniamo il check Manage values in Production environment only per indicare che questo verrà visualizzato all’utente finale via Work Portal, quindi selezioniamo il tasto Next (figura 15).

Figura 15 – Model Data, aggiunta nuova entità: 2° step.

Figura 15 – Model Data, aggiunta nuova entità: 2° step.

 

Nella finestra che viene visualizzata, andiamo a creare l’attributo che deve essere associato al parametro, dove sarà registrata la ragione del rifiuto della richiesta, come mostrato nella figura 16.

Figura 16 – Model Data, aggiunta nuova entità: 3° step.

Figura 16 – Model Data, aggiunta nuova entità: 3° step.

 

Nella finestra che appare, confermiamo che Reject Reason appena creato è l’attributo dove verrà visualizzato il parametro, quindi selezioniamo il tasto Next. Nella finestra riassuntiva che viene visualizzata successivamente, limitiamoci a selezionare il tasto Finish (figura 17).

Figura 17 – Model Data, aggiunta nuova entità: finestra riassuntiva.

Figura 17 – Model Data, aggiunta nuova entità: finestra riassuntiva.

 

Il processo Vacation Leave Request è legato anche a un’altra entità: la User Entity. In Bizagi questa entità è chiamata WFUser ed è creata per default per tutti i progetti. La WFuser è usata per registrare tutte le informazioni relative all’utente finale. La User Entity in questo case study si declina in Employee.

Quindi, selezioniamo il bottone Add e colleghiamo Employee all’entità di sistema WFUser come mostrato nella figura 18.

Figura 18 – Model Data, aggiunta dell’entità Employee.

Figura 18 – Model Data, aggiunta dell’entità Employee.

 

Selezionando Finish il data model sarà completato e in prima istanza sarà presentato come in figura 19.

Figura 19 – Model Data, vista ridotta.

Figura 19 – Model Data, vista ridotta.

 

Clicchiamo con il tasto destro del mouse sull’entità Vacation Request, quindi selezioniamo Add, per vedere tutte le entità collegata a Vacation Request (figura 20).

Figura 20 – Model Data, aggiunta di tutte le entità.

Figura 20 – Model Data, aggiunta di tutte le entità.

 

E vediamo quindi il Model Data nella sua completezza (figura 21).

Figura 21 – Model Data, vista completa.

Figura 21 – Model Data, vista completa.

 

Conclusioni

In questo articolo, abbiamo iniziato a usare e sperimentare concretamente l’uso di Bizagi Studio, andando a realizzare le prime attività di un case study che prevede l’automazione del processo Vacation Leave Request, ossia la richiesta di ferie da parte del dipendente di una azienda.

Abbiamo realizzato il modello del processo con Bizagi Modeler, l’abbiamo esportato in Bizagi Studio dove siamo andati a realizzare il Data Model del processo, cioè la definizione dei dati che il processo gestisce.

Nel prossimo articolo andremo a realizzare le Form del processo, cioè le maschere grafiche usate per inserire e visualizzare le informazioni. Inoltre vedremo come si definiscono le business rules.

 

Riferimenti

[1] Eustachio Nicoletti, Business Process Automation – III parte: Bizagi Modeler. MokaByte 218, giugno 2016

Condividi

Pubblicato nel numero
226 marzo 2017
Sono sposato, ho due figlie e, per non soffrire troppo la situazione di minoranza, ho imposto la presenza in famiglia di Balu‘: un derivato setter inglese maschio. Sono laureato in Informatica e certificato PMP-PMI. Nella mia carriera professionale ho ricoperto i ruoli di responsabile di prodotto, responsabile di unità di…
Articoli nella stessa serie
Ti potrebbe interessare anche