La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Attività Formativa Sviluppo di un WORKFLOW ENGINE di Dott. Riccardo Gasperoni Alessandro Caricato Gabriele Trabucco in collaborazione con Progesi S.p.A.

Presentazioni simili


Presentazione sul tema: "Attività Formativa Sviluppo di un WORKFLOW ENGINE di Dott. Riccardo Gasperoni Alessandro Caricato Gabriele Trabucco in collaborazione con Progesi S.p.A."— Transcript della presentazione:

1 Attività Formativa Sviluppo di un WORKFLOW ENGINE di Dott. Riccardo Gasperoni Alessandro Caricato Gabriele Trabucco in collaborazione con Progesi S.p.A. e con la supervisione della Dott. Alessandra Donnini

2 Il progetto Studio delle reti di Petri e di MySQL Studio delle reti di Petri e di MySQL Analisi del problema Analisi del problema Progettazione del modello dei dati (modellizzazione): strutturazione del modello tramite UML (class diagram) Progettazione del modello dei dati (modellizzazione): strutturazione del modello tramite UML (class diagram) Prima stesura delle classi e test di unità Prima stesura delle classi e test di unità Reingegnerizzazione delle classi e test di unità Reingegnerizzazione delle classi e test di unità Test finale – Demo (progetto della demo e realizzazione del programma). Test finale – Demo (progetto della demo e realizzazione del programma).

3 Strumenti utilizzati Linguaggio C++ Linguaggio C++ IDE : Dev-C++ 4.9.7.0 IDE : Dev-C++ 4.9.7.0 Database Database MySQL MySQL UML : Universal Modelling Language UML : Universal Modelling Language

4 Reti di Petri Sono un insieme di nodi, archi e transazioni. Sono un insieme di nodi, archi e transazioni. Rappresentano un flusso di lavoro Rappresentano un flusso di lavoro Lavanzamento del lavoro è indicato dai token Lavanzamento del lavoro è indicato dai token Nodo Token Arco Transazione

5 Obiettivo dellattività Produzione di un sistema software che realizzi un WFE in grado di essere configurato relativamente a: Produzione di un sistema software che realizzi un WFE in grado di essere configurato relativamente a: Diversi workflow che deve gestire Diversi workflow che deve gestire Gli utenti ed i loro ruoli nellevoluzione degli workflow. Gli utenti ed i loro ruoli nellevoluzione degli workflow. Il WFE è inoltre capace di eseguire molti threads basati sullo stesso workflow. Il WFE è inoltre capace di eseguire molti threads basati sullo stesso workflow.

6 Reti nel workflow engine Un flusso di lavoro è costituito da attività che possono essere svolte in successione e/o in parallelo e le reti sono la base per gestire tale flusso. Un flusso di lavoro è costituito da attività che possono essere svolte in successione e/o in parallelo e le reti sono la base per gestire tale flusso. Un workflow engine, utilizzando una rete di Petri precostituita, è in grado di gestire lo stato di avanzamento di uno o più lavori anche contemporaneamente. Un workflow engine, utilizzando una rete di Petri precostituita, è in grado di gestire lo stato di avanzamento di uno o più lavori anche contemporaneamente.

7 Class Diagram UML: i packages I packages sono realizzati mediante le directories API modeltest

8 Class diagram UML del modello dei dati su cui è basata lapplicazione

9 Architettura generale Il programma realizzato è un workflow engine. Si basa su classi che generano una serie di nodi, archi e transazioni che permettono di strutturare le reti di Petri. Ogni singola classe (ad esempio nodo) contiene una serie di funzioni che generano, eliminano e aggiornano il nodo. Tutte le informazioni relative a workflow, threads, utenti, ruoli ecc… sono gestite mediante un database.

10 Statistiche Dimensione Programma : 32 MB Dimensione Programma : 32 MB Linee di codice totali : 5200 Linee di codice totali : 5200 Numero di classi : 28 Numero di classi : 28 Header Files : 27 Header Files : 27 Sorgenti C++ :37 Sorgenti C++ :37 Funzioni totali : 205 Funzioni totali : 205 Ore procapite progetto :140 Ore procapite progetto :140 Ore procapite programma :95 Ore procapite programma :95

11 Maglioni Just In Time! Negoziante (Alex) Responsabile lana (Gab) Responsabile Produzione (Paolo) Spedizioni (Alessio) Responsabile colori (Ric)

12 Bibliografia Testi : Testi : MySQL Guida completa di Mark Maslakowski MySQL Guida completa di Mark Maslakowski "C++ Linguaggio, libreria standard, principi di programmazione di Bjarne Stroustrup "C++ Linguaggio, libreria standard, principi di programmazione di Bjarne Stroustrup C++ Guida Facile di Paul Snaith C++ Guida Facile di Paul Snaith Internet : Internet : http://nicolo.dia.uniroma3.it/AI%2004%20mod1/1PETRI %2004.ppt http://nicolo.dia.uniroma3.it/AI%2004%20mod1/1PETRI %2004.ppt http://nicolo.dia.uniroma3.it/AI%2004%20mod1/1PETRI %2004.ppt http://nicolo.dia.uniroma3.it/AI%2004%20mod1/1PETRI %2004.ppt www.cplusplus.com www.cplusplus.com www.cplusplus.com www.mysql.it www.mysql.it www.mysql.it Si ringraziano Paolo e Alessio per aver cortesemente prestato i propri nomi al responsabile di produzione e al corriere


Scaricare ppt "Attività Formativa Sviluppo di un WORKFLOW ENGINE di Dott. Riccardo Gasperoni Alessandro Caricato Gabriele Trabucco in collaborazione con Progesi S.p.A."

Presentazioni simili


Annunci Google