Sistemi per la modellazione e workflow di processi di business

Transcript

Sistemi per la modellazione e workflow di processi di business
Scuola Politecnica e delle Scienze di Base
Corso di Laurea in Ingegneria Informatica
Elaborato finale in Basi di dati
Sistemi per la modellazione e workflow di
processi di business
Anno Accademico 2014/2015
Candidato:
Moccia Francesco
matr. N46/000089
A te,
che sei
rimasta con me
fin proprio
alla
fine.
Indice
Sistemi per la modellazione e workflow di processi di business.......................................................... I
Indice ............................................................................................................................................. III
Introduzione......................................................................................................................................4
Capitolo 1: BPM...............................................................................................................................5
1.1 Processi di business................................................................................................................ 5
1.2 Business Process Management...............................................................................................7
1.3 Workflow................................................................................................................................ 8
Capitolo 2: Modellazione di un Processo di Business....................................................................10
2.1 BPMN...................................................................................................................................10
Capitolo 3 : Bonita BPM................................................................................................................ 18
3.1 Bonita BPM.......................................................................................................................... 18
3.2 Gestione ferie .......................................................................................................................20
Conclusioni.....................................................................................................................................24
Bibliografia.....................................................................................................................................25
Introduzione
Oggi giorno viviamo in una società in continua evoluzione, dove la rapidità di esecuzione
e la capacità di adattarsi ai cambiamenti di un'azienda è vitale per la propria
sopravvivenza.
Un'azienda è composta da più dipendenti che cooperano tra di loro per raggiungere un
obiettivo comune che è quello aziendale. Quindi ogni azienda, grande o piccola che sia,
possiede dei processi di business.
I processi di business sono un insieme di attività, compiute da personale umano o
macchine, che portano alla produzione finale di un bene o di un servizio.
In questa tesi andremo, quindi, a studiare e analizzare le principali caratteristiche di un
Business Process Management (BPM), una disciplina gestionale che si occupa di
descrivere e gestire i processi di business, e i BPMS(sistemi BPM) che sono tutti quei
software i quali permettono di modellare, mettere in esecuzione e di controllare l'esito dei
processi di business.
4
Capitolo 1: BPM
In questo capitolo andremo a studiare nel dettaglio cosa si intende per Processi di Business
e nello specifico i BPM e workflow.
1.1 Processi di business
Possiamo definire un Processo di business in questo modo:
“ Un Processo di Business è un insieme di attività eseguiti in coordinazione all'interno di
un organizzazione per raggiungere gli obiettivi aziendali.“ [1]
Tutte queste attività, come detto prima, possono essere eseguite da personale umano
oppure automatizzate.
Possiamo classificare i processi di business in :
•
Processi direzionali : sono quei processi che gestiscono la pianificazione a mediolungo termine dell'azienda.
•
Processi gestionali : sono quei processi che gestiscono la traduzione degli obiettivi
a medio-lungo termine nella programmazione a breve termine e controllano il
raggiungimento degli stessi.
•
Processi operativi : sono quei processi che gestiscono il lavoro per il
raggiungimento degli obiettivi.
Questi tre tipi di processi sono svolti a livelli diversi della struttura aziendale.
Per i primi due livelli sono disponibili delle tecniche informali e semi-informali che
permettono di descrivere tramite dei diagrammi la strategia dell'azienda, gli obiettivi e i
processi di business organizzativi.
Per i processi di business operativi, invece, vengono definite nel dettaglio le loro attività e
5
le relazioni tra di esse .
Un' altra classificazione dei processi di business è quella che divide i processi in due
categorie:
•
Processi primari : sono quelli che prendono in carico la richiesta del cliente e
danno l'output finale.
•
Processi di supporto : sono quelli interni all'azienda che supportano i processi
primari.
Vediamo ora i componenti principali di un processo di business.
Chiamiamo “caso” (case) la produzione di un particolare prodotto e “processo” (process)
l'insieme dei passi necessari per la sua realizzazione.
Ogni processo è composto da un insieme di “task” che devono essere svolti per portare a
termine il processo e da un insieme di condizioni (condition) che determinano l'ordine
delle attività. Un task è un processo che non può essere ulteriormente diviso.
Chiameremo “attività” l'esecuzione di un task da parte di una “risorsa” (resource).
Risorsa è un nome generico che viene assegnato a chi svolge una specifica attività, che sia
una singola persona, un gruppo di persone o macchine.
I meccanismi di base di un flusso di processo sono:
•
Sequenza : quando un gruppo di task vengono eseguiti in un determinato ordine.
•
Selezione : quando durante il flusso di processo è necessario scegliere tra uno o più
task per proseguire.
•
Parallelizzazione : quando ci sono task che possono essere eseguiti in parallelo.
•
Iterazione : quando si ripete l'esecuzione di uno o più task durante l'esecuzione.
6
1.2 Business Process Management
Il Business Process Management è una disciplina gestionale che utilizza un approccio
sistematico e strutturato basato su metodi, tecniche e strumenti per definire, ottimizzare,
monitorare e integrare i processi aziendali, al fine di creare un processo orientato a rendere
efficiente ed efficace il business dell'azienda.[1]
Un BPM, quindi, si occupa di modellare, testare, implementare e analizzare i processi di
business.
Chiameremo Business Process Management System (BPMS) l'insieme di tutti i software
che includono i moduli funzionali, tecnologici e le infrastrutture a supporto fornendo tutte
le funzionalità della tecnologia BPM. [1]
I software di BPM, quindi, dovrebbero velocizzare e semplificare la gestione e il
miglioramento dei processi aziendali; per ottenere questi obiettivi, essa deve monitorare
l'esecuzione dei processi, consentire ai manager di fare analisi, cambiare tecnologia e
organizzarsi sulla base di dati concreti.
Questi software forniscono degli indicatori di prestazione chiave (KPI), i quali sono utili
per monitorare l'andamento di un processo aziendale.
L'ambiente di esecuzione di un processo di business consiste in un engine di esecuzione
che deve essere in grado di eseguire i processi di business, gestire le modalità di
interazione del processo e gestire le funzionalità di essi.
Il ciclo di vita di un BPMS si divide principalmente in quattro fasi :
•
Progettazione (Design) : in questa fase si va ad identificare i processi di business e
a rivedere quelli già esistenti. Si definisce il flusso di ogni processo e gli attori che
interagiranno con esso mediante ambienti di modellazione che permettono di
descriverlo con un determinato formalismo e di validarlo. Mentre con le tecniche di
simulazione è possibile controllare se il processo creato si comporta correttamente.
•
Configurazione (Modelling and execution) : in questa fase si prende il progetto
7
teorico e lo si implementa. Si va a configurare il sistema BPM a seconda dei
processi che si vuole mandare in esecuzione.
Una volta implementato il processo di business può essere testato per verificare
eventuali malfunzionamenti ed evitare quindi problemi a tempo di esecuzione.
•
Attivazione (Monitoring) : in questa fase i processi vengono attivati, quindi li si
tiene sotto controllo per assicurarsi che si comportino nel modo corretto e
soprattutto si estrapolino informazioni sullo stato; esse possono essere utilizzate per
migliorare il processo stesso.
•
Analisi (Optimization) : questa fase utilizza le informazioni raccolte nella fase
precedente per localizzare eventuali blocchi e individuare eventuali migliorie da
apportare alla fase di design, in modo da ottimizzare i costi e le performance.
1.3 Workflow
Un workflow è l'automazione di un processo di business e per tale può essere visto come
un componente dello stesso.
Durante un workflow mediante un insieme predefinito di regole vengono passati tra i vari
partecipanti informazioni, documenti e attività per il raggiungimento degli obiettivi.
Un workflow può essere descritto attraverso tre modelli:
•
Modello di processo.
•
Modello informativo.
•
Modello organizzativo.
Nel modello di processo viene descritto tutto il processo di business, definendo i
partecipanti e la lista dei vari task che ogni partecipante deve eseguire.
Nel modello informativo vengono descritte le informazioni prodotte, modificate e
ricevute.
8
Nel modello organizzativo, invece, viene descritta la struttura organizzativa dell'azienda e
le varie autorizzazioni che un partecipante può avere per eseguire un task.
Per la modellazione di un workflow è possibile usare grafi, come le reti di petri ai quali si
ispirano la maggior parte dei linguaggi di modellazione.
I componenti principali per la modellazione di un workflow sono:
•
Processo : è la descrizione formalizzata di un processo di business.
•
Partecipanti : è la risorsa umana o software che esegue uno o più task.
•
Work list : è la lista dei task da eseguire. Ogni partecipante ha la propria lista e
questa può essere anche condivisa da più partecipanti.
•
Deadline : è un vincolo temporale. Si richiede che un certo task venga terminato in
un preciso intervallo di tempo.
•
Instradamento : è come vengono connessi tra di loro i diversi task. Possono essere
connessi in sequenza, cioè i task sono eseguiti uno dopo l'altro seguendo un
determinato ordine, oppure in parallelo, cioè vengono lanciati due o più task e si
aspetta la loro terminazione per proseguire (sincronizzazione).
•
Ciclo : è la ripetizione di uno o più task.
•
Pre-post condizioni : sono espressioni logiche, le quali se vengono poste all'inizio
del task o di una serie, determinano la loro esecuzione o meno. Se poste alla fine di
un task o una serie determinano se essi hanno avuto esito positivo oppure no.
Un sistema di gestione di workflow (WfMS) è quindi divisibile in tre parti fondamentali:
•
Workflow Modelling : è la parte del sistema che fornisce il software necessario per
la modellazione dei processi di business.
•
Workflow Model Repository : è la parte del sistema che fornisce il software
necessario per immagazzinare i modelli creati.
•
Workflow Engine : è la parte di sistema che fornisce il software necessario per
l'attuazione dei processi di workflow.
9
Capitolo 2: Modellazione di un Processo di Business
In questo capitolo andremo ad analizzare BPMN, uno degli standard più utilizzati per la
modellazione di un processo di business.
2.1 BPMN
Business Process Model and Notation (BPMN) fornisce una notazione grafica per
descrivere processi di business in un BPM.
Oggi è considerato lo standard nell'ambito della modellazione, l'obiettivo primario del
BPMN è quello di fornire una notazione facilmente comprensibile da tutti i membri
dell'azienda, che siano analisti di business i quali creano e raffinano i processi, sviluppatori
tecnici i quali sono responsabili dell'attuazione dei processi o business manager che li
controllano e li gestiscono. Di conseguenza, BPMN viene utilizzato come un linguaggio
comune, colmando il divario di comunicazione che si verifica spesso tra design dei
processi di business e di attuazione.
BPMN è uno standard definito da OMG (Object Management Group ), un consorzio noprofit formato da numerose aziende del campo IT, e ad oggi raggiunge la versione 2.0.
Possiamo suddividere gli elementi di un diagramma BPMN in 5 categorie:
1. Flow Objects (Oggetti di flusso) .
Gli oggetti di flusso sono i principali elementi grafici per definire il comportamento
di un Processo di Business e si possono suddividere in :
•
Events (Eventi).
•
Activities (Attività).
•
Gateways
2. Data (Dati).
I dati vengono rappresentati come :
10
•
Data Objects
•
Data Inputs
•
Data Outputs
•
Data stores
3. Connecting Objects (Oggetti di connessione).
Sono disponibili quattro tipi di connessione per collegare i vari elementi presenti in
un diagramma, e sono:
•
Sequence Flows (Flusso di sequenza).
•
Message Flows (Flusso di messaggio).
•
Associations (Associazione).
•
Data associations (Associazione di dati).
4. Swimlanes.
Sono componenti usati per raggruppare gli elementi primari di un modello. Vi sono
due tipi di Swimlanes:
•
Pools.
•
Lanes.
5. Artifacts (Artefatti).
Gli Artefatti sono usati per fornire ulteriori informazioni sul Processo. Ci sono due
Artefatti standard, ma è possibile aggiungerne ulteriori se necessari.
Gli Artefatti standard sono:
•
Group (Gruppo).
•
Text Annotation (Annotazioni testuali).
11
Andiamo ora a vedere graficamente i principali componenti di un diagramma BPMN:
Events (Eventi) : un evento è qualcosa che accade durante il processo di esecuzione.
Essi usualmente sono attivati da una causa (trigger) e hanno un effetto (result) e
influiscono sull'esito del flusso del processo.
Esistono tre diversi eventi di base e possono essere di inizio, di intermedio e di Fine,
vengono rappresentati come in figura:
Figura 1:Inizio
Figura 2: Fine
Gli eventi si differenziano poi per tipo:
Figura 4: Tipi di Eventi
12
Figura 3: Intermedio
Activity (Attività) : è il lavoro che svolge un partecipante al processo di business.
Le attività graficamente si dividono in task, cioè attività atomiche, e in sotto-processi, cioè
attività composte.
Figura 5: Task
Figura 6: Collapsed Sub-Process
Figura 7: Expanded Sub-Process
13
Gateway : viene usato per controllare la divergenza e la convergenza di un flusso di
sequenza di un processo.
Figura 8: Gateway
Le icone all'interno del rombo cambiano a seconda del tipo di comportamento che si vuole
avere, come mostrato in figura:
Figura 9: Tipi di Gateway
14
Sequence Flow (Flusso di sequenza) : Viene usato per indicare l'ordine con cui vengono
eseguite le attività.
Figura 10: Sequence Flow
Message Flow (Flusso di messaggio) : Viene usato per indicare il flusso di messaggi tra
due partecipanti al processo.
Figura 11: Message Flow
Association (Associazione) : Viene utilizzata per associare informazioni e artefatti agli
elementi grafici del BPMN.
Figura 12: Association
Default Flow : stabilisce quale sia la condizione di flusso di default.
Figura 13: Default Flow
Conditional Flow : viene utilizzata quando si vuole avere una sequenza di flusso
condizionata, valutata a runtime per determinare quale flusso dovrà seguire il processo.
Figura 14: Conditional Flow
15
Pool : é la rappresentazione grafica di un partecipante e ha anche la funzione di
contenitore con lo scopo di partizionare un insieme di attività da altri pool.
Figura 15: Pool
Lane : è la sub-partition di un processo.
Figura 16: Lane
Data Object : Fornisce informazioni su una determinata attività.
Figura 17: Data object
16
Message : usato per descrivere il contenuto di una comunicazione tra due partecipanti.
Figura 18: Message
Questi sono solo alcuni dei componenti di un BPMN ma già solo con quelli elencati è
possibile modellare nel dettaglio processi di business di qualsiasi natura.
Oggi esistono diversi BPMS ed è possibile scambiare diagrammi BPMN tra di loro grazie
allo standard XPDL.
XML Process Definition Language (XPDL) è un formato standardizzato da Workflow
Management Coalition (WfMC), per l'interscambio di Processi di business tra più software
di BPM.
Attualmente è il miglior formato per l'interscambio di diagrammi BPMN. E' stato
progettato appositamente per conservare tutti gli aspetti di un diagramma BPMN, come le
posizioni di ogni singolo nodo, nonché gli aspetti eseguibili che sarebbero stati utilizzati
per eseguire il processo.
17
Capitolo 3 : Bonita BPM
In questo capitolo andremo ad analizzare Bonita BPM e a sviluppare un processo di
business.
3.1 Bonita BPM
Bonita BPM è una suite software sviluppata da Bonitasof ed è composta tra tre
componenti:
•
Bonita Studio : si occupa della modellazione tramite lo standard BPMN.
•
Bonita BPM engine : si occupa della gestione dei workflow e raccoglie le
informazioni del processo.
•
Bonita Portal : è l'applicativo web di front-end che permette a ogni utente finale di
vedere i task in cui è coinvolto e agli amministratori di avere report sull'andamento
dei processi.
Figura 19: BonitaBPM Studio
18
L'interfaccia di Bonita Studio è molto intuitiva e permette una modellazione completa del
processo. In alto avremo una toolbar dove è possibile,tramite dei file con estensione
“.bos” , creare nuovi modelli o importarli, far partire la simulazione del processo e
configurare il sistema. Al centro abbiamo la scheda nella quale vi è il diagramma. Sulla
sinistra un'altra scheda con i vari componenti di un BPMN. Per inserire un componente nel
diagramma è sufficiente selezionarlo, trascinarlo e collegarlo opportunamente agli altri
componenti già presenti. Al di sotto, invece, avremo due schede utili per vedere tutti i
componenti presenti nel diagramma, per settare tutte le variabili (sia di Business che di
processo) per l'esecuzione oltre che a configurare tutti gli attributi del processo.
Anche l'interfaccia di Bonita Portal è molto intuitiva. Normalmente l'accesso come utente
al portale viene effettuato, da un fittizio impiegato di nome Walter Bates. Dopodiché è
possibile vedere i task svolti dall'impiegato e quelli disponibili, nonché tutti i processi che
lo coinvolgono.
Figura 20: Bonita Portal
19
3.2 Gestione ferie
In questo esempio andremo a modellare un processo di business per la gestione delle
richieste di ferie all'interno di un' azienda, quindi andremo a modellare i passi e le
relazioni che intercorrono tra un dipendente e il manager per la richiesta e l'approvazione.
Bonita BPM di default prende in considerazione una società fittizia di nome ACME in cui
sono definite due figure, Walter Bates come impiegato e Helen Kelly come manager.
Andremo di seguito a modellare quattro diagrammi :
•
InizializzazioneVariabiliBusiness: è il processo che descrive l'inizializzazione delle
variabili di business, nello specifico una variabile comune a tutti gli impiegati,
settato a 10, che rappresenta i giorni di ferie massimi che ogni impiegato può
richiedere.
•
RimuoviTutteLeVariabili: è il processo che va a resettare tutte le variabili di
business.
Figura 21: RimuoviTutteLeVariabili
20
•
NuovaRichiestaDiFerie: è il processo che descrive la richiesta da parte
dell'impiegato, delle ferie e l'interazione che egli ha con il manager il quale deve
approvare tale richiesta.
Vediamo che è presente un pool con tre lane, uno per l'impiegato, uno per il
manager e uno per le risorse umane. L'impiegato attiva il processo scegliendo i
giorni in cui vuole richiedere le ferie e manda un' email di notifica al manager. Egli
ricevuta l'email automaticamente si attiva il task “Richiesta di riesame”.
All'attivarsi di questo task , come si vede dalla figura, sono presenti tre start event;
uno viene attivato ogni tre giorni ed invia una richiesta di riesame al manager; un
altro viene attivato dopo 10 giorni ed inoltra una richiesta di riesame intensificato al
manager; l'ultimo si attiva se vi è richiesta di cancellazione e rimanda il manager al
processo di RichiestaDiCancellazioneFerie. Dopodiché il manager prende in esame
la richiesta e può accettarla o meno, a seconda della scelta si attivano due rami
differenti. In caso di consenso, l'impiegato riceve una notifica di avvenuta
accettazione e aggiornerà il calendario prima di concludere il processo. Se la
risposta è negativa viene rimossa la richiesta dal calendario e inviata una notifica
sia alle risorse umane che all'impiegato. E così il processo può terminare.
•
RichiestaDiCancellazioneFerie: è il processo che descrive la richiesta di
cancellazione da parte dell'impiegato della richiesta di ferie.
E' presente un pool con due lane, uno per l'impiegato e uno per il manager.
L'impiegato avvia il processo quando richiede la cancellazione della richiesta fatta
precedentemente, ciò avviene inoltrando una notifica al manager, che in seguito
approverà la richiesta di cancellazione.
21
Figura 22: NuovaRichiestaDiFerie
22
Una volta modellati i diagrammi è possibile creare uno o più Form in maniera facile, ciò
grazie a UI Designer in modo da avere un' interfaccia grafica in cui andremo ad inserire i
dati quando simuleremo il processo.
Per la simulazione basta aprire il diagramma che si vuole testare e premere il bottone
esegui nella toolbar in alto.
Eseguendo “InizializzazioneVariabiliBusiness” si aprirà Bonita port in cui comparirà il
Form fatto prima, in questo passaggio vi è solo un bottone il quale una volta premuto
inizializza tutte le variabili.
Ora simuliamo “NuovaRichiestaDiFerie” quindi entriamo come Walter Bates, e scegliamo
i giorni di ferie e inoltriamo la richiesta.
Una volta inviata eseguiamo il logout ed accediamo con le credenziali di Helen Kelly,
manager dell'azienda. Se è andato tutto bene dovremmo ricevere un' email che ci
comunica la richiesta di Walter Bates, quindi decidere se accettarla o bocciarla. A questo
punto se riaccedessimo con le credenziali di Walter Bates, troveremmo una notifica di
approvazione o bocciatura della richiesta in base alla scelta del manager.
Andiamo ora a simulare “RichiestaDiCancellazioneFerie”. In questo caso l'impiegato
decide di disdire la sua richiesta di ferie, quindi invia una notifica al manager il quale
dovrà accettarla.
Per finire la simulazione possiamo lanciare RimuoviTutteLeVariabili che cancellerà tutte
le variabili di business create con InizializzazioneVariabiliBusiness.
23
Conclusioni
In questa tesi, quindi, abbiamo trattato i processi di business dandone una definizione e
classificandoli.
Dopodiché abbiamo scoperto cosa sia un BPM, cioè un disciplina gestionale per creare e
gestire i processi di business, i BPMS i quali sono dei sistemi software che realizzano un
BPM e i workflow.
Ci siamo occupati inoltre di uno standard di modellazione tra i più diffusi come il BPMN,
nato appositamente per descrivere processi di business.
Ed Infine abbiamo realizzato un semplice esempio di processo di business. Per fare ciò
abbiamo usato BonitaBPM, una suite BPM capace di progettare e simulare un processo di
business mediante la sua interfaccia di facile utilizzo.
24
Bibliografia
[1]
Business Process management: Concepts, languages, Architectures, autore Mathias
Weske, casa editrice Springer.
[2] I processi con BonitaBPM: guida completa, autori : Antonio Agliata, Davide Daino,
Milena Calabretta, casa editrice easyread.
[3]
http://www.omg.org/spec/BPMN/2.0/
documentazione
consultato il 12/10/2015
[4] BonitaSoft, http://it.bonitasoft.com/ , consultato il 19/10/2015
25
ufficiale
su
BPMN,