ingegneria del software · monitorare progetti di grande ... visione della gestione d’impresa ......

35
Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in Ingegneria del Software Reingegnerizzazione di un processo di business di gestione di un corso di formazione Anno Accademico 2015/2016 Candidato: Tutor aziendale: Aliou Kaba Khonte Ing: Antonio Fico matr. N46001195

Upload: phunganh

Post on 16-Feb-2019

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in Ingegneria del Software

Reingegnerizzazione di un processo di business di gestione di un corso di formazione

Anno Accademico 2015/2016 Candidato: Tutor aziendale: Aliou Kaba Khonte Ing: Antonio Fico matr. N46001195

Page 2: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

Ai miei genitori ,a tutte quelle persone che mi hanno affiancato per raggiungere questo traguardo Non vi ringrazierò abbastanza

Page 3: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

Indice

Introduzione……………………………………………………………………………4 Capitolo 1 Stato dell’arte……………………………………………………………6

1.1 Scenario…………………………………………………………………7 1.2 BPM-Business Process Management………………………………..8 1.3 BPMN-Business Process Model & Notation…………………………9

Capitolo 2 Problema e Soluzione………………………………………………..15

2.1 Analisi in dettaglio del progetto iniziale………………………………15

2.1.1 Scelta del corso………………………………………………...15 2.1.2 Scelta del docente……………………………………………...15 2.1.3 Accettazione docente…………………………………………..16 2.1.4 Inserimenti discenti……………………………………………..16 2.1.5 Inserimento versione …………………………………………..16 2.1.6 Inserimento moduli……………………………………………...17

2.2 Gestione dei dati………………………………………………………..19 2.1.1 BDM-business Data Model…………………………………...20 2.3 Disegno del flusso………………………………………………………25 2.4 Gestione delle risorse…………………………………………………..28 Capitolo 3 Conclusione e Sviluppi futuri …………………………………………34

Page 4: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

4

Introduzione

Oggi giorno per la riuscita di un impresa, l’accento va messo sulla comunicazione. Sapere

coordinare le attività e l’interazione tra le varie figure professionale dell’azienda, aumenta

di molto la nostra capacita produttiva sul mercato di fronte ad una concorrenza molto agile.

Nell'ultimi anni per il fatto della mondializzazione e della globalizzazione(un mercato unico)

a volte grandi imprese hanno personale collocato in varie parti del mondo per ragioni che

non citeremo qui, suddividere il lavoro capire quali possono essere eseguiti da un

determinato gruppo e capire soprattutto la tempistica e i costi ci è di grande aiuto.

Monitorare progetti di grande dimensione richiede una pianificazione con strumenti

adeguati. L’attività aziendale ha portato a un ripensamento della gestione del flusso di

lavoro, non si può competere sul mercato oggi giorno usando vecchi schemi, bisogna

adottare pratiche nuove e adeguate che ci forniscano tutti gli strumenti adatti al

monitoraggio del processo aziendale.

Questa tesi ritraccia il lavoro svolto in azienda riguardanti la gestione dei processi

aziendali.

IL nostro incarico consisteva nella riprogettazione di un software già esistente usato

dall’azienda stessa. Il primo passo è stato l’analisi del software per identificare le sue

funzionalità e la raccolta delle informazioni per produrre una documentazione(i requisiti sia

funzionali che non funzionali) in modo tale da renderla verificabile(se il nuovo software

dispone delle funzionalità precedenti oltre che a renderli efficienti).

Per ottimizzare il prodotto abbiamo considerato due aspetti :

a. Le richieste dell’utente nell’uso dell’applicazione nel tempo.

b. l‘utilizzo di nuove tecnologie che non erano disponibile alla creazione del

software precedente.

Page 5: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

5

In primo luogo definiremo questi punti, poi presenteremo le nostre soluzioni, ridisegnando

il flusso del processo. In seguito parleremo della tecnologia usata per la produzione di

questo software che è appunto il BPM(Business Process Management) e della sua

notazione BPMN(Business Process Model and Notation) fondamentale per capire come

vengono usati questi elementi per la modellazione del flusso.

Procederemo con una descrizione generale del software preso in considerazione. E’

importante notare che ci sono varie suite(ambiente) per la modellazione e la realizzazione

dei processi aziendali. Noi useremo la suite di Bonitasoft(versione 7.2.3) che ha sia una

versione free che a pagamento con qualche funzionalità in più. Infine tratteremo del

BDM(Business Data Model) che non era presente nel software iniziale, permettendo di

semplificare varie cose che vedremo in dettaglio più avanti.

Page 6: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

6

Capitolo 1: Stato dell’arte

La gestione in un azienda tradizionale era

centrato sulle funzioni, ogni reparto s’impegnava

a gestire al meglio il sue compiti con sistemi

adatto alle sue esigenze. Questo ha portato ad

avere un ambiente eterogenea in cui la

comunicazione trai vari sistemi diventa

complessa. Le figure 1e 2 illustrano questo

aspetto.

Fig.1 fig.2

Page 7: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

7

1.1 Scenario

Il BPM acronimo di Business Process Management è una disciplina di gestione di processi

aziendale che intende ottimizzare le attività dell’impresa per un rendimento migliore. il

BPM offre un insieme di strumenti e metodologie per modellare, monitore e ottimizzare i

processi aziendale con una nuova visione della gestione d’impresa mettendo la

tecnologia al servizio del management per maggiore efficienza.

Diciamo che il progetto BPM non si limita a l’installazione di un software anche se

performante, è piuttosto una strategia di gestione dell’impresa. Permette di avere una

visione globale del processo aziendale e le interazione per poterli automatizzare e

ottimizzare.

Da notare che potare il BPM in un azienda in cui era assente non va confuso col Business

Process Reengigneering(BPR) che è una altra disciplina, dove l'accento è stato messa

sulla discontinuità, è un ripensamento radicale diciamo un ridisegno dei processi di

un'organizzazione.

Oggi il BPM è una soluzione accessibile facile da capire che installare in più ad un costo

molto contenuto.

Page 8: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

8

1.2 BPM-Business Process Management

La soluzione BPM è un insieme di strumenti messa a disposizione di un organizzazione

per una migliore gestione in termine di efficienza, con questi strumenti è possibile

migliorare ,monitorare sia il processo che il suo ciclo di vita .

Fig 3 Ciclo di vita di un processo BPM

L’obiettivo del BPM è gestire il ciclo di vita del processo(fig.3) dalla modellazione all’

ottimizzazione il che coinvolge una serie di ruoli aziendale che devono cooperare

(comunicazione molto importante).

In primis bisogna identificare le aree di miglioramento e si quelle portano a dei benefici

conveniente perché impiegare più risorse che portano a benefici che non possono coprire

le spese è contro produttiva. Nell’analisi dei processi aziendali è importante raccogliere

determinate informazioni sul processo:

• Quando e come inizia e finisce

• Chi lo esegue

• Input a disposizione

• Output desiderato

• vincoli, le leggi e i regolamenti

• Risorse necessarie per produrre l’output

Per fare ciò, il formalismo con cui viene descritto un processo nel ambiti del bpm è la sua

notazione grafica il bpmn( Business Process Model & Notation).

Page 9: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

9

1.3 BPMN-Business Process Model & Notation

Il BPM usa una notazione grafica che è il BPMN per la modellazione del flusso del

processo definiremo sono alcuni elementi base che ci servirà alla modellazione del

processo .

Il BPMN è uno standard definito da OMG (Object Management Group), attualmente siamo

alla versione 2.0.

Ci sono 4 categorie che sono illustrati nella fig.4:

Fig.4

Swimlanes sono confini in cui si possono muovere i processi :

Pool la comunicazione tra due attività di pool diversi può avvenire solo con lo

scambio di messaggi

Lane permette di suddividere le corsie del pool dove le attività di due attori

diversi possono comunicare tramite sequence flow

Flow Objects servono alla modellazione del flusso del processo :

Event è una condizione di attesa che dopo il verificarsi tramite trigger il

flusso può procedere.

Attività indica il lavoro che può essere svolta,a sua volta è composto da

processo, il sottoprocesso e il task. I task (atomica) e i sotto-processi sono

rappresentati con un rettangolo arrotondato mentre i processi sono

contenuti nei pool come possiamo vedere nella fig.5.

Page 10: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

10

Fig.5

Gateway sono punti di intersessione in cui il flusso cambia traiettoria al

verificarsi di una o più condizione.

Connecting Objects realisa i vari connessione fra gli oggetti come viene fatto la

comunicazione all’interno del processso :

sequence flow determina l’ordine con cui vengono eseguiti le attività

all’interno del processo

message flow messaggio serve per la comunicazione tra due partecipanti

di pool deversi.

association permette di associare delle informazione con gli oggetti di

flusso.

Artifacts servono alla documentazione del processo

data object fornisce informazioni sulle attività e non ha alcun effetto sul

flusso di sequenza o di messaggio.

text annotations sono dei commenti che possono aiutare altri persone a

capire del diagramma.

group raggruppa insieme di attività che hanno qualcosa in comune, il suo

uso impatta le attività all’interno del gruppo.

Questa è una breve panoramica sulla notazione che viene usato ma ognuno di questi

elementi da altri sotto elementi . La pagina seguente contiene tutta la notazione definita

nel BPMN 2.0 alla pagina 11.

Page 11: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

11

Page 12: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

12

Capitolo 2: Problema e Soluzione

Alla pagina 13(fig.6) vediamo lo schema del flusso del processo iniziale da cui partiamo per la

nostra analisi.

Nell'analisi del progetto abbiamo individuato gli attori necessari per il completamente del processo

che in origine erano 4 :

Responsabile del corso

Si occupa della scelta del corso e la compilazione di tutti campi del corso, notiamo che

interagisce con il sistema solo prima del inizio dei corsi .

Docente

Nell’uso del sistema ci si è resi conto che l'accettazione dell'erogazione del corso da parte

del docente era inutile o inefficiente facendo tramite portale, in quanto era possibile tramite

telefono. Il processo rischiava di ritardarsi nel caso in cui il docente non eseguiva le sue

task .

Responsabile della FAD

Si è deciso anche di eliminare la figura del responsabile che risultava di poca utilità in

quanto il suo compito era solo la creazione della FAD e non sempre, solo nel caso in cui si

trovava di fronte ad un nuovo corso che non fosse mai stato erogato .

Amministrazione

Anche l'amministrazione come attore verrà eliminato per lo stesso motivo del responsabile

di FAD. Il suo compito era l’archiviazione dei moduli alla fine dei corsi

Abbiamo notato che le figure seguenti non sono indispensabili(il responsabile della FAD,

amministrazione). Questi osservazioni si sono evidenziati nell’ uso dell’applicazione nel tempo .

Page 13: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

13

Fig.6 Flusso del processo iniziale

Page 14: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

14

Altri osservazioni

L’aggiunta di nuove funzionalità tecnologiche alla suite BPM che riguarda Business Data

Model (BDM). Ora non c’è più bisogno di richiamare strumenti per le richieste al database

come nel progetto iniziale. Sono quelle attività(Service) colorato in verde vedremo come

sarà il disegno di flusso del processo dopo questi cambiamenti .

Andiamo a definire le funzionalità tramite il diagramma dei casi d'uso. Vediamo la prima

figura che interagisce col sistema che è appunto il responsabile del corso.

Page 15: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

15

2.1 Analisi in dettaglio del progetto iniziale

2.1.1 Scelta del corso (fig.7)

fig.7

Viene scelto un corso presente nel database (corsi già erogati in precedenza) , nel caso in

cui il corso non sia presente, viene creato uno nuovo. Un nuovo corso è associato alla sua

FAD (Formazione A Distanza ) , la FAD è composto da un link che permette di accedere a

tutta la documentazione del corso tramite un username e una password che sarà noto a

tutti utenti all’ inizio del corso.

Nel caso in cui il corso sia presente si prosegue con il recupero del pid(codice identificativi

univoco) di esso da cui si può risalire a tutte le informazione del corso (quello più

aggiornato ).

2.1.2 Scelta del docente (fig.8)

Fig.8

Page 16: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

16

Si tratta di assegnare un docente che dispenserà il corso, il docente può essere sia interno

che esterno all'azienda .Quando il docente è interno allora è già presente sia nell'

organizzazione (il che li da accesso alla piattaforma) che nel database. Si procede con il

recupero della sua mail per contattarlo(disponibilità). Nel caso in cui il docente sia esterno

viene inserito sia nel organizzazione che nel database. L'inserimento del docente avviene

con un controllo ( verifica id bonita docente ) il che permette il suo accesso al portale

.Dopo l'invio della mail si lascia al docente il compito di inserire i sue dati e confermare

inseguito .

2.1.3 Accettazione docente (fig.9)

Fig.9

Alla ricezione della mail il docente può accettare il corso a lui assegnato o rifiutare. Nel

caso in cui la risposta è negativa allora si procede alla selezione di un altro docente fin

quando non si trova uno disposto a fare il corso( soluzione eliminato) .

2.1.4 Inserimenti discenti (fig.10)

Esistono due categorie di corsi EROCOR_Corso, GECO_Corso, in base alla categoria

del corsi cambia la modalità inserimento dei discenti. Per un corso di tipo EROCOR, i

discenti saranno presa da una lista (Azienda ) invece nel caso di un corso GECO saranno

estratto dal database (COMMONAnagrafica) in tutti due casi non possono superare 12

studenti.

2.1.5 Inserimento versione (fig.10)

Un corso è composto da un edizione e della sua versione, ad esempio : Java 1.0 : dove “1

“ sta per l’edizione e “0” la versione. Quando vieni creato un nuovo corso abbiamo

Page 17: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

17

edizione =1 e versione = 0. Ogni volta che viene erogato un corso si incrementa la

versione quando i moduli

sono i stessi del corso precedenti altrimenti si incrementa l’edizione azzerando la versione .

fig.10

2.1.6 Inserimento moduli(fig.10)

L'inserimento o l'aggiornamento dei moduli sono soggetto ad una verifica da parte del

docente che la visiona e ne conferma la validità dopodiché si può procedere

all'aggiornamento nel database. Prima dell'inizio del corso verranno stampati tutti moduli.

Abbiamo individuato nel processo iniziale varie aree che sono

Scelta corso

scelta docente

Crea Corso

Aggiorna moduli

Scelta del clienti

aggiorna discenti

Page 18: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

18

cosi abbiamo fatto per ogni attività del progetto iniziale in modo da individuare tutte le

funzionalità del applicazione ,per capire meglio abbiamo anche prodotto dei diagrammi di

casi d uso per non perdere nessuna funzionalità .

Andiamo a definire le funzionalità tramite il diagramma dei casi d'uso. Vediamo la prima

figura che interagisce col sistema che è appunto il responsabile del corso (fig.11).

Fig.11 Use case diagram del responsabile del corso

Page 19: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

19

2.2 Gestione dei dati

Per la modellazione dei dati useremo il class diagram per vedere le relazione tra i vari dati dato che bonita al suo interno un bdm che si occupa della mappatura in tabelle relazione.

Fig.12 Concetto di ORM

In Bonita i dati vengono gestiti su tre livello (cioè hanno una visibilità, un ciclo di vita differente ) la variabile o l’oggetto nasce e muore in determinati instanti che sono differenti da un livello a l’atro. Il primo livello viene detto business object, questo livello è il livello più persistente cioè le variabile creati in questo livello hanno un ciclo di vita infinito (vengono memorizzate all’interno di un database persistente che è all’ interno di bonita). Il BDM costituisce un insieme di oggetti che è il data model del nostro processo (modello dei dati) i processi si basano su questo scherma per uso dei dati. Ciascuna variabile complessa(business object) viene tradotta in una tabella del modello relazionale che contiene altri variabili semplici che sono gli attributi (traduzione oggetti applicativi in schema relazionale). Secondo livello abbiamo le variabili di processo queste variabili come lo indica il nome nascono e muoiono all’interno del processo stesso. Quando il processo termina queste variabili vengono cancellati, possono essere derivate sia dal business processo che creato nel processo . Terzo livello vi sono le variabile di form anche in questo caso il nome è abbastanza significativo vengono usate da l interfaccia applicativo possono essere derivate dai business object.

Page 20: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

20

2.2.1 BDM- Business Data Model

Fig.13 Percorso di accesso al BDM

il business data è definita come un insieme di oggetto di business in un modello (BDM), viene

utilizzato in comune da tutti i processi e le applicazioni. Quando si definisce un processo, è

necessario specificare gli oggetti di business che sono rilevanti per il processo. Quando un

processo viene istanziato (viene avviato un caso), gli oggetti di business specificati sono istanziati

come richiesto, diventando variabili all'interno del processo (fig.14).

Fig.14 business & process variables

E consigliato utilizzare i dati di business al posto dei dati di processo per tutti i dati che hanno un

significato al di fuori di un unico processo. Gli oggetti dati di business vengono memorizzati in un

database che può essere letta da tutte le applicazioni e i processi. Non vi è alcuna necessità di

importare o esportare i dati da un sistema esterno. I dati vengono memorizzati automaticamente in

modo persistente è possibile accedere a un oggetto di business a livello di programmazione

tramite DAO(Data Access Object).

Page 21: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

21

Se può configurare un database esterno per visualizzare i dati pero bisogna essere attenti a non

modificare i dati nel database esterno perche se si modifica manualmente il contenuto del

database, esiste il rischio di perdere i dati e di perdere la sincronizzazione con gli oggetti di

business in un'istanza di processo. Tuttavia, può essere utile per visualizzare il database per il

debug processi. Se si modifica l'BDM durante lo sviluppo, questo può anche causare problemi in

definizioni di processo esistenti.

Fig.15 Vista generale del BDM

Il BDM ha una strutturata gerarchica, si identifica da un nome di pacchetto, una definizione

dell'oggetto di business è costituito dai seguenti :

Un nome deve essere un nome di classe Java, perché sono oggetti implementati come

una classe Java. Il nome di oggetto pienamente identificativo e deve essere univoco.

Attributi sono i componenti dell'oggetto, ci può essere un numero qualsiasi di attributi. Per

ogni attributo, è possibile specificare

o un nome

o Il tipo di dati

o La lunghezza

o Eventuali vincoli univoci

o Una serie di query predefinite creato automaticamente

Page 22: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

22

o facoltativamente alcune query personalizzate

o Indici per alcuni attributi (opzionale)

o Un persistenceId, creata automaticamente

oggetti di business possono essere combinati con la composizione o di aggregazione relazioni.

Essi sono gestiti utilizzando standard CRUD (creare, leggere, aggiornare, cancellare).C’è la

possibilità di leggere direttamente un oggetto di business utilizzando l'API del motore Java

specificando il DAO Java, o utilizzando l'API REST. Da notare che un oggetto di business può

essere aggiornato solo in un processo, mediante un'operazione.

Per supportare la gestione di più istanze di un oggetto di business si può specificare che un dato

di dati business è multipla.

Possiamo impostare dei vincoli sia un singolo campo che una combinazione di campi che

definisce univocamente una voce in un database. Un vincolo univoco su un singolo campo

significa che ogni voce ha un valore diverso per questo campo. Un vincolo unico per una

combinazione di campi significa che questa combinazione è unica, anche se alcuni dei valori di

campo componente potrebbe essere comune o nullo.

I query vengono utilizzati per ottenere informazioni sugli oggetti di dati memorizzati nel database.

Alla creazione dei business object nel bdm una serie di query predefinite viene definita

automaticamente per ogni attributo. È inoltre possibile creare query personalizzate che sono le

custom query (fig.16).

Fig.16 Custom query

Una query personalizzata può essere di più attributi. Sono supportati solo query select. Lo scopo

di un indice è recuperare dati più rapidamente. È possibile specificare indici su oggetti di business

per ottimizzare le prestazioni delle applicazioni. È possibile definire un indice su un singolo

attributo o su un elenco ordinato di attributi. Un indice viene creato automaticamente sul

Page 23: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

23

persistenceID, come chiave primaria. Il bdm definisce gli indici necessari per tutte le applicazioni e

i processi che utilizzano i dati aziendali. Non vi è alcun limite al numero di indici è possibile

definire.

Composizione e aggregazione sono due modi in cui è possibile definire un oggetto business

composita che comprende le relazioni con gli altri oggetti di business nel BDM. Un oggetto può

essere multiplo, il che significa che l'oggetto composto contiene zero o più (se opzionale) o uno o

più (se obbligatorio) istanze di un altro oggetto. Il rapporto di default è la composizione. Quando si

configura un oggetto nella procedura guidata Bonita BPM Studio BDM, la lista di attributi discesa

contiene i nomi degli oggetti che possono essere inclusi per composizione o aggregazione. Per la

composizione, l'oggetto figlio contiene l'ID dell'oggetto padre come chiave esterna. Per

l’aggregazione, se l'oggetto figlio non esiste più, l'oggetto padre contiene l'ID dell'oggetto figlio

come una chiave esterna. Se l'oggetto figlio è multiplo, gli ID oggetto figli vengono memorizzati in

una tabella associativa dedicata.

Quando si crea un processo che utilizza un oggetto di business con un rapporto di composizione o

di aggregazione, l'oggetto deve essere trattato come un oggetto di business tipico, con delle

eccezioni:

Page 24: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

24

Fig.17 Diagramma delle classe dei dati della nostra applicazione

Page 25: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

25

2.3 Disegno del flusso Abbiamo suddiviso il flusso del processo in tre fasi. Prima fase : Tutto avviene prima dell’inizio del corso. il responsabile del corso procede alla creazione del corso con l’inserimento dei vari campi collegato al corso. Inizialmente ha possibilità di verificare se il corso è stato erogato in passato. Se non sceglie la voce inserimento di un nuovo corso e la categoria del corso.

Fig.18 Pagina relativa alla scelta del corso

Nel caso in cui il corso sia presente, passa al riepilogo dell’ultima edizione del corso scelto; in questo modo ha una vista generale dell’edizione precedente (è stato possibile effettuare questa operazione tramite la custom query fig.19) E tramite il persistence id possiamo risalire a tutta l’informazione di quella edizione del corso in base a questo viene fatto delle modifiche se necessarie dando la possibilità di aggiornare la lista dei discenti, il cliente, il docente, i moduli e ritorna nella pagina del riepilogo per verificare gli aggiornamenti fatti dopodiché può fare il submit dell’operazione che passa il flusso del processo al docente .

Page 26: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

26

Fig.19 Custom query per la selezione del corso

Seconda fase : All’inizio del corso tutta la pratica riguardanti l inserimento del corso è stata fatta ora il docente procede verifica dell’esattezza dei dati, compila i materiale presente per l erogazione del corso, la presenza dei discenti se ci sono assenti. terza fase Alla fine del corso il docente deve valutare i discenti, per ognuno di loro verrà dato un voto in base ai parametri stabiliti dal cliente

Page 27: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

27

Fig.20 Disegno di flusso del nuovo processo

Page 28: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

28

2.4 Gestione delle risorse

Fig.21 Percorso di accesso al organizzazione

Bonita dispone al suo interno dei strumenti per la modellazione dell’ ‘organizzazione

dell’azienda da cui possiamo organizzare tutti ruoli aziendale e come possono accedere al

l’applicazioni tramite permessi a loro assegnati . Nel menu abbiamo la voce Manage

Organisations (fig.21) che ci permette di accedere ai gruppi che sottogruppi, si può

anche definire i ruoli e aggiungere i utenti dopodiché si può assegnare ad ognuno la sua

struttura gerarchica.

Fig.22 Panello lista utenti

La cosa più importante la membership (fig.22) che permette di concedere i permessi ai

vari utenti. Prima di mandare in esecuzioni il programma bisogna pubblicare

l’organizzazione quindi quella che sarà attiva con l’utente di default(che bisogna

specificare).

Page 29: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

29

Quando si definisce un processo, si specifica un attore che esegue quel attività . Un utente

è una persona che ha un nome utente e una password in un'organizzazione Bonita BPM,

e può quindi eseguire i passi in un processo. Prima di distribuire un processo, è

necessario mappare gli attori del processo. Questa mappatura definisce chi può svolgere

fasi del processo.

Nel menu clicca sulla voce configure per accedere alla configurazione.

Fig.23 Mappatura attori

Panoramica della configurazione di processo ci sono due ragioni per cui si debba

configurare un processo:

Configurazione di un processo per il test

Configurazione di un processo prima della distribuzione.

Page 30: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

30

Si vogliamo esportare un processo per la distribuzione, è necessario impostare la

configurazione iniziale. Questa configurazione viene esportato con il processo se si

seleziona l'opzione di configurazione nella finestra di dialogo di esportazione. Per alcuni

edizioni, è possibile aggiornare la configurazione dopo la distribuzione,per le altre edizioni,

si può solo modificare la mappatura attore.

Fig.24 Esportazione del processo

Procediamo con l’aggiunta della nostra organizzazione chiamato ErogazioneCorso

contiene un super gruppo nominato Tc-group il nome dell’azienda(avere un gruppo di

questo genere è molto utile in fase di test) e due sotto gruppi che sono : Docenti e

Dipendenti .definiamo i ruoli nella nostra organizzazione Segretaria e Docente e in fine la

lista dei utenti a cui assegneremo un ruolo ,il gruppo di appartenenza e tutte le

informazione desiderato anche delle custom. Alla fine di tutta la parametrizzazione

possiamo procedere alla pubblicazione della nostra organizzazione cosi da potere

collegare quel organizzazione al processi

fig.25 Organizzazione corrente

Page 31: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

31

Attivita di Testing

Quando si esegue un processo dallo studio sul Bonita BPM Engine locale questo lancia

un portale locale. Il processo non viene distribuito, ma si comporta come farebbe dopo la

distribuzione. Esecuzione di un processo dallo studio è stato progettato per i test durante

lo sviluppo del processo. Prima di poter eseguire un processo, è necessario configurare

sia il processo che l’organizzazione. Per eseguire un processo, bisogna selezionare il

pool, da dove partirà il flusso di esecuzione. Solo un pool può essere eseguito in un

momento. Il processo deve essere configurato per l’ambiente in cui viene eseguito.

Quando si esegue un processo dal portale, viene eseguito in modalità portale.

Nello sviluppo, il file di log Studio e file di log designer dell’interfaccia utente contengono

messaggi circa le attività di sviluppo, tra cui eventuali errori (fig.27).

Fig.26 Percorso di accesso al file log

Fig.27 file log

Page 32: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

32

Ora vediamo una panoramica della nostra applicazione. Notiamo in alto a sinistra l’utente

loggato quindi che può eseguire il task e al centro il nome del task che verrà eseguito.

Fig.28 Lancio del applicazione

Per l’inserimento dei discenti abbiamo usato una tabella editabile usando una form html che ci

permette l’inserzione, modifiche e cancellazione rimanendo nella stessa pagina .

Fig.29 Inserimento della lista dei discenti

Page 33: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

33

Questo è la schermata che appare nel caso in cui il responsabile scegliesse un corso esistente

Fig.30 riepilogo di un corso

Fig.31 Portal user

Page 34: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

34

Conclusioni e sviluppi futuri

Per i sviluppi futuri ci potrebbe aggiungere i discenti come utenti dell’applicazione

permettendo li di poter valutare i docente in seguito raccogliere le loro suggestione per il

miglioramento del corso e di consultare le loro percorso.

Il BPM apre nuove porte all’orizzonte per l’integrazione dei sistemi eterogenee che prima

erano considerati un freno alla comunicazione tra i sistemi ma oggi questi vanno visti

come punti di forza bisogna solo sapere li usare in modo adeguato. Questa tesi ci a

permesso di usare varie tecnologie sia di front end che back end abbiamo i linguaggi più

diffusi in questo ambito.

Page 35: Ingegneria del Software · Monitorare progetti di grande ... visione della gestione d’impresa ... a disposizione di un organizzazione per una migliore gestione in

35

Bibliografia

[1]http://what-is-bpm.com/bpm_primer/bpm_primer.html consultato il 02/10/2016

[2]http://www.slideshare.net/sfmb/new-presentation-bonitasoft consultato il 05/10/2016

[3] RHD Academi , Business Process ManagementCome si organizza un progetto

di BPM editore, 2013, pagine.

[4] Alessandro Sinibaldi–CISSP,Assistente CC ,MCSE:Security,CEH,OCP,CWSP…)

Sinibaldi_BPM.pdfc

[5] BonitaSoft, http://it.bonitasoft.com/ , consultato il 05/10/2016