ebook img

Realizzazione di un modulo di mining multiprospettiva per un tool di process mining analysis PDF

95 Pages·2015·2.58 MB·Italian
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Realizzazione di un modulo di mining multiprospettiva per un tool di process mining analysis

U P NIVERSITÀ DEGLI STUDI DI ADOVA DIPARTIMENTO DI MATEMATICA CORSO DI LAUREA IN INFORMATICA Realizzazione di un modulo di mining multiprospettiva per un tool di process mining analysis Tesidilaureatriennale Relatore: Laureando: Prof. AlessandroSperduti GianmarcoMidena Annoaccademico2015-16 2 Ringraziamenti Vorrei innanzitutto ringraziare l’azienda Siav S.p.A. e tutti i suoi dipendenti per la serietà ecompetenzadimostrataeperavermipermessodivivereun’esperienzadistagedeterminante perlamiacrescitaprofessionale. Ringrazio il mio tutor aziendale, Dott. Daniele Turato, per essere stato sempre disponibi- leepazienteneimieiconfronti,eperavermiresopartecipedelledecisionirelativealcontesto dellostage. Vorrei esprimere i miei più sinceri ringraziamenti verso tutti i docenti da cui ho potuto im- pararequalcosa,checonlaloroprofessionalitàmihannoguidatolungoquestopercorsodistudi. Un ringraziamento particolare lo dedico però al Prof. Alessandro Sperduti, relatore della miatesi,perlasuagentilezza,ilsuosupportoeiltempodedicatomiperpermettermidiconcre- tizzarequestoimportantetraguardodellamiavita. Desideroringraziaresentitamentelamiafamigliaeimieiparentiperavermiaiutatoesostenuto durantequestopercorso. Infine vorrei ringraziare i miei amici e conoscenti per essermi stati sempre accanto duran- tequestiannidistudio. Padova,Dicembre2015 GianmarcoMidena Indice 1 Introduzione 10 1.1 Contestodelprogetto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.2 Descrizionedellostage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.3 Descrizionedell’azienda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2 Background 14 2.1 Esplosionedeidati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2 Limitidellamodellazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3 Processmining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3.1 Tipologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.3.1.1 Processdiscovery . . . . . . . . . . . . . . . . . . . . . . . 17 2.3.1.2 Conformancechecking . . . . . . . . . . . . . . . . . . . . 17 2.3.1.3 Enhancement . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.3.2 Alcuneprospettive . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.3.2.1 Prospettivadelflussodelcontrollo . . . . . . . . . . . . . . 18 2.3.2.2 Prospettivaorganizzativa . . . . . . . . . . . . . . . . . . . 18 2.3.2.3 Prospettivadeicase . . . . . . . . . . . . . . . . . . . . . . 18 2.3.2.4 Prospettivatemporale . . . . . . . . . . . . . . . . . . . . . 19 2.3.3 Play-in,Play-outeReplay . . . . . . . . . . . . . . . . . . . . . . . . 19 2.4 Modellazioneeanalisidiprocesso . . . . . . . . . . . . . . . . . . . . . . . . 20 2.4.1 L’artedellamodellazione . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.4.2 Modellidiprocesso . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.4.2.1 Sistemaatransizionedistati . . . . . . . . . . . . . . . . . 22 2.4.2.2 RetidiPetri . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.4.2.3 Workflownet . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.4.2.4 YAWL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.4.2.5 BPMN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.4.2.6 EPC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.4.2.7 Reticausali . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3 Tecnologieutilizzate 27 3.1 JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.2 AngularJS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.3 D3.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.4 bpmn-js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.5 AngularMaterial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.6 JSDoc3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3 4 INDICE 3.7 SOAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.8 JAX-WS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.9 Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.10 ApacheTomcat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4 Ingegneriadeirequisiti 33 4.1 Estrazionedeirequisiti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.1.1 Sorgentideirequisiti . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.1.2 Tecnicheutilizzate . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.2 Modellazioneconcettuale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.2.1 Casid’uso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.3 Classificazionedeirequisiti . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.4 Requisiti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.5 Tracciamentodeirequisiti . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.6 Specificadeirequisiti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.7 Utentidelsistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.8 Considerazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5 Progettazionearchitetturale 43 5.1 Principi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.2 Decisioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 5.3 Patternarchitetturale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 5.3.1 Architetturaclient-servermultilivello . . . . . . . . . . . . . . . . . . 45 5.4 Vistedell’architettura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 5.4.1 Diagrammidisequenza. . . . . . . . . . . . . . . . . . . . . . . . . . 46 5.5 Considerazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 6 Progettazionedidettaglio 49 6.1 Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 6.1.1 bipod::frontEnd . . . . . . . . . . . . . . . . . . . . . . . . . . 49 6.1.2 bipod::frontEnd::process . . . . . . . . . . . . . . . . . . . 51 6.1.3 bipod::frontEnd::bpmn . . . . . . . . . . . . . . . . . . . . . 52 6.1.4 bipod::frontEnd::filter . . . . . . . . . . . . . . . . . . . . 54 6.1.5 bipod::frontEnd::error . . . . . . . . . . . . . . . . . . . . . 55 6.1.6 bipod::frontEnd::shared . . . . . . . . . . . . . . . . . . . . 56 6.2 Designpatterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 6.2.1 Singleton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 6.2.2 TemplateView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 6.2.3 Observer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 6.2.4 ChainofResponsibility . . . . . . . . . . . . . . . . . . . . . . . . . 60 6.2.5 Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 6.2.6 DependecyInjection . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 6.2.7 AMD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 7 Verificaevalidazionedelsoftware 65 7.1 AnalisiStatica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 7.2 Analisidinamica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 7.2.1 Tipiditest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 INDICE 5 7.2.2 Testdiunità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 7.2.3 Testdiintegrazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.2.4 Testdisistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 7.2.5 Testdivalidazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 8 Conclusioni 75 8.1 Obiettiviraggiunti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 8.2 Consuntivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 8.3 Materialeprodotto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 8.4 Conoscenzeacquisite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 8.5 Considerazionisullostage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 8.6 Considerazionisullapreparazioneaccademica . . . . . . . . . . . . . . . . . . 79 8.7 Sviluppifuturi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Acronimi 82 Glossario 84 Bibliografia 94 Elenco delle figure 1 InternetofEvents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2 LogoSiavS.p.A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3 IlciclodivitadelBPM mostraidiversiusideimodellidiprocesso . . . . . 16 [G] [G] 4 Processmining. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 5 Play-out. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 6 Play-in. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 7 Replay. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 8 Esempiodisistemaatransizionedistati. . . . . . . . . . . . . . . . . . . . . . 22 9 EsempiodiretediPetri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 [G] 10 EsempiodidiagrammaYAWL . . . . . . . . . . . . . . . . . . . . . . . . . . 24 [G] 11 EsempiodidiagrammaBPMN . . . . . . . . . . . . . . . . . . . . . . . . . 25 [G] 12 EsempiodidiagrammaEPC . . . . . . . . . . . . . . . . . . . . . . . . . . 26 [G] 13 LogoAngular.js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 [G] 14 StrutturaSOAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 [G] 15 LogoJava . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 16 LogoApacheTomcat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 17 UC1: Casod’uso pubblico. . . . . . . . . . . . . . . . . . . . . . . . . . . 36 [G] 18 UC2: Casod’uso privato. . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 [G] 19 Suddivisionerequisitiperfonte. . . . . . . . . . . . . . . . . . . . . . . . . . 38 20 Suddivisionerequisitipercategoria. . . . . . . . . . . . . . . . . . . . . . . . 39 21 Suddivisionerequisitiperimportanza. . . . . . . . . . . . . . . . . . . . . . . 39 22 Esempiodiarchitetturaatrelivelli. . . . . . . . . . . . . . . . . . . . . . . . . 45 23 Selezionediuneventlog . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 [G] 24 Modificadellivellodidettagliodiattività . . . . . . . . . . . . . . . . . . . 47 [G] 25 Packagebipod::frontEnd. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 26 Packagebipod::frontEnd::process. . . . . . . . . . . . . . . . . . . . . . . . . 51 27 Packagebipod::frontEnd::bpmn. . . . . . . . . . . . . . . . . . . . . . . . . . 52 28 Packagebipod::frontEnd::filter. . . . . . . . . . . . . . . . . . . . . . . . . . . 54 29 Packagebipod::frontEnd::error. . . . . . . . . . . . . . . . . . . . . . . . . . . 55 30 Packagebipod::frontEnd::shared. . . . . . . . . . . . . . . . . . . . . . . . . . 56 31 StrutturalogicadelpatternSingleton. . . . . . . . . . . . . . . . . . . . . . . 57 32 StrutturalogicadelpatternTemplateView. . . . . . . . . . . . . . . . . . . . . 58 33 StrutturalogicadelpatternObserver. . . . . . . . . . . . . . . . . . . . . . . . 59 34 StrutturalogicadelpatternChainofResponsibility. . . . . . . . . . . . . . . . 60 35 StrutturalogicadelpatternCommand. . . . . . . . . . . . . . . . . . . . . . . 62 36 StrutturalogicadelpatternDependencyInjection. . . . . . . . . . . . . . . . . 62 37 Graficosoddisfacimentorequisiti. . . . . . . . . . . . . . . . . . . . . . . . . 76 6 ELENCODELLEFIGURE 7 38 Consuntivodelleoredilavoro. . . . . . . . . . . . . . . . . . . . . . . . . . . 77 39 Esempiodimodelloconmolteprospettivecontemporaneamenteattive. . . . . . 80 40 Esempiodimodelloconanimazioni. . . . . . . . . . . . . . . . . . . . . . . . 81 Elenco delle tabelle 1 Requisitipiùrilevanti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 2 Alcunitestdiunità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 3 Alcunitestdiintegrazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4 Alcunitestdisistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 5 Alcunitestdivalidazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 6 Codiceprodotto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 7 DocumentazioneProdotta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 8 ELENCODELLETABELLE 9 Sommario La presente tesi di laurea rappresenta la relazione finale del lavoro svolto durante il perio- do di stage dal laureando Gianmarco Midena, presso l’azienda Siav S.p.A. di Rubano (PD). Lo stage è stato svolto alla conclusione del percorso di studi della laurea triennale, sotto la supervisionedelProf. AlessandroSperdutiedelDott. DanieleTurato,edhaavutounaduratadi circatrecentoventiore. L’obiettivo dello stage è consistito nella realizzazione di un’applicazione prototipo per la rappresentazione visiva e manipolazione di modelli di processo ottenuti come prodotto del processodiprocessdiscovery . [G] Icontenutidellatesisisvilupperannoin7capitoli. Nelprimocapitolovieneintrodottoiltemadellostage. Nelsecondocapitolovengonodescrittelenozionifondamentalinecessariepercapirel’argo- mentotrattatodallostage. Nelterzocapitolovengonopresentateletecnologieutilizzatedurantelostage. Nelquartocapitoloverrannodescritteleattività svolteeiprodottiottenuticonl’ingegneria [G] deirequisiti. Nelquintocapitoloverrannodescritteleattività svolteeiprodottiottenuticonlaprogettazio- [G] nearchitetturale. Nelsestocapitoloverrannodescritteleattività svolteeiprodottiottenuticonlaprogettazione [G] didettaglioeconl’implementazionedelsoftware. Nelsettimocapitoloverràtrattatalafasediverificaevalidazionedelsoftware. Nell’ottavocapitoloverrannoinfineesposteleconsiderazioniconclusivesulprogettoesull’e- sperienzalavorativa. Nell’ultimapartesonopresentiappendicieilglossario. Glossario Nell’appendiceèpresenteunglossariocontenenteledescrizioniditutteleparoleosequenzedi paroleaventiapedicelasequenzadicaratteri“[G]”. Capitolo 1 Introduzione Oggisonoinmoltiaconsiderareidatiunadellepiùgrandiricchezzedellasocietàmoderna. Si pensi che attualmente in 10 minuti vengono prodotti molti più dati rispetto a tutti quelli prodottiapartiredaitempidellapreistoriafinoa10annifa. Ciascunindividuogeneradatiinognimomento,anchesenzarenderseneconto,sibastipensare adunasemplicetelefonata,all’inviodiun’e-mailoadunacquistomediantecartadicredito. L’insiemeformatodatuttiidatigeneratieregistratiprendeilnomediinternetdeglieventio InternetofEvents. L’internetdeglieventiècostituitodaquattrodiversesorgentidieventi : [G] Figura1: InternetofEvents. • l’internetdeicontenuti(oInternetofContent),associatoalconcettoclassicodiinternete dibigdata ,eaventetraisuoiprincipalirappresentantiGoogleeWikipedia; [G] • l’internetdellepersone(oInternetofPeople),associatoalconcettodisocial,ecostituito datuttiglieventi socialichegeneranodati,comeimessaggidiTwittereFacebook; [G] 10

Description:
Per la realizzazione del front-end[G] è stato utilizzato AngularJS, un D3.js è una libreria[G] JavaScript per la manipolazione di documenti basata sui dati. Essa hardware: parte fisica di un computer, ovvero tutte quelle parti elettroniche, elettriche, mecca- .. wp-content/uploads/2013/08/bpmn.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.