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.
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).
Nella finestra visualizzata, selezioniamo il diagramma da importare e selezioniamo Next (figura 3).
Nella successiva finestra visualizzata, rinominiamo eventualmente il processo nel modo più consono (figura 4).
Creiamo quindi un nuovo Bizagi Project selezionando, nella successiva finestra visualizzata, New e quindi Next (figura 5).
Nella finestra visualizzata, inseriamo il nome del nuovo progetto, per esempio BPMProject, e selezioniamo Next (figura 6).
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).
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).
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).
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).
Nella finestra che viene visualizzata, selezioniamo il processo, quindi selezioniamo il tasto OK (figura 11).
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).
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.
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).
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).
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.
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).
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.
Selezionando Finish il data model sarà completato e in prima istanza sarà presentato come in figura 19.
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).
E vediamo quindi il Model Data nella sua completezza (figura 21).
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.