DEFINIZIONE DI UN SUPPORTO ALLA ESECUZIONE DEL WORKFLOW DI PASSI

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "DEFINIZIONE DI UN SUPPORTO ALLA ESECUZIONE DEL WORKFLOW DI PASSI"

Transcript

1 SCUOLA DI SCIENZE DI BASE E APPLICATE Laurea in Informatica Dipartimento di Matematica e Informatica DEFINIZIONE DI UN SUPPORTO ALLA ESECUZIONE DEL WORKFLOW DI PASSI TESI DI LAUREA DI SALVATORE PERNA RELATORE RAFFAELE GIANCARLO CO-RELATORE MASSIMO COSSENTINO ANNO ACCADEMICO

2 Indice dei contenuti 1. Introduzione 3 2. Aspetti teorici del problema CASE e metacase Un esempio di metacase: MetaEdit Un meta-modello per la modellazione di processi: SPEM Stato dell arte e tecnologie usate BPMN e XPDL Business Process Modeling Notation Xml Process Definition Language Scelta delle tecnologie usate Software Realizzato Overview del software Dettagli implementativi Valutazione delle Prestazioni Conclusioni 29 Bibliografia 30 2

3 1. Introduzione Lo sviluppo di sistemi informatici con complessi application domains è sempre stato argomento di ottimizzazioni e di ricerche di metodologie che ne semplificassero lo sviluppo. L ingegneria del software è proprio la disciplina che si occupa di formalizzare e definire queste metodologie. Quello che accomuna molte di queste metodologie è sicuramente l intervento di molteplici attori che si dividono il carico di lavoro, a seconda delle competenze, del processo di lavoro. Diventa importante quindi definire un linguaggio che permetta di definire e descrivere il processo in maniera univoca e interpretabile da tutti gli attori coinvolti. In questa tesi parleremo a proposito di SPEM, il meta-modello per la modellazione di processi definito da OMG, di BPMN, la notazione di modellazione dei processi aziendali anch essa definita da OMG, e di XPDL, il linguaggio per la definizione XML dei processi prodotto dalla WfMC. L aumentare del numero degli attori e della complessità e vastità dei processi ha fatto sì che l automazione di questi processi, della divisione dei compiti e della gestione del flusso dei work products diventasse necessaria. A tal proposito in questa tesi verranno introdotti i concetti di CASE e metacase tools, strumenti largamente utilizzati nell ingegneria del software, parlando in particolare di MetaEdit+. Il lavoro di tesi verrà quindi finalizzato nello sviluppo di una parte del solution domain dei problemi fin ora espressi: la realizzazione di un interfaccia di supporto all esecuzione del workflow di PASSI come plug-in della piattaforma di sviluppo Eclipse. Diventa interessante a questo punto fare una breve introduzione ai sistemi ad agenti e a PASSI. Un agente è un entità software che è capace di agire con un 3

4 certo grado di autonomia al fine di svolgere tasks per conto di qualcun altro (sia esso un utente o un altro software). Così come un oggetto è definito in termini di metodi e attributi, un agente è definito in termini di behavior. Le definizioni di agente sono molteplici, accomunate da concetti come: Autonomia: gli agenti hanno la capacità di effettuare decisioni, scegliere i tasks, definire priorità, assumere comportamento guidato da obbiettivi in completa autonomia, in assenza di intervento umano. Il codice infatti non viene eseguito su richiesta ma rimane costantemente in running. Abilità sociali: gli agenti sono in grado di interagire con altri componenti attraverso tipologie varie di comunicazione e collaborazione; possono collaborare per portare a termine un task. Reattività: gli agenti percepiscono l ambiente e il contesto in cui sono immersi e reagiscono ai cambiamenti in maniera appropriata. Pro-attività: gli agenti non agiscono solo in relazione a cambiamenti nell ambiente ma sono in grado di generare obbiettivi e di agire in maniera razionale al fine di raggiungerli. È evidente come le potenzialità dei sistemi ad agenti siano notevoli. Gli esempi di sistemi ad agente sono molteplici, dall E-Commerce (gli agenti possono rappresentare sia venditori che acquirenti) alla gestione dei sistemi di trasporto, dal trading in borsa allo shopping automatizzato (i cosiddetti shopping bots). Tra le varie metodologie a supporto dello sviluppo di sistemi ad agenti definite dall AOSE (Agent Oriented Software Engeneering), e in particolare tra quelle che si occupano dei MAS, i Multi-Agent System, PASSI (Processo per l Implementazione e lo Sviluppo di Società di Agenti) risulta una tra le più importanti. PASSI [1] è una metodologia passo-per-passo e dai-requisiti-alcodice per la progettazione e lo sviluppo di società multi-agente, che integra modelli di progettazione e concetti propri sia dell object-oriented software engeneering (OOSE) sia degli approcci all intelligenza artificiale estendendo la notazione UML. 4

5 Nel processo PASSI, l elemento corrispondente al processo in SPEM è chiamato modello, ed è composto da fasi. I modelli e le fasi di PASSI (schematizzate in figura 4) sono: 1. System Requirements Model: un modello dei requisiti del sistema. È composto da cinque fasi: a. Domain Requirements Description (DRD) b. Agents Identification (AI) c. Agent Structure Exploration (ASE) d. Roles Identification (RI) e. Tasks Specification (TS) 2. Agent Society Model: un modello delle interazioni sociali e delle dipendenze tra i vari agenti coinvolti nella soluzione. È composto da tre fasi: a. Domain Ontology Description (DOD) b. Communication Ontological Description (COD) c. Roles Description (RD) 3. Agent Implementation Model: un classico modello dell architettura della soluzione in termini di classi e metodi; la differenza sostanziale con l approccio object-oriented è la presenza di due differenti livelli di astrazione: il livello sociale (multi-agent) e il livello single-agent. Ognuno dei due livelli è composto da due fasi: a. Agent Structure Definition (ASD) b. Agent Behavior Devinition (ABD) 4. Code Model: un modello della soluzione al livello codice che è composto dalle seguenti fasi: a. Code Reuse (CR) b. Code Production (CP) 5

6 5. Deployment Model: un modello della distribuzione delle parti del sistema nelle unità hardware e della loro migrazione tra le varie unità. È composto da una fase: a. Deployment Configuration (DC) 6. Testing: l attività di testing è stata divisa in due fasi differenti: a. Agent Test b. Society Test Per lo scopo di questa tesi non è richiesto scendere ulteriormente in profondità nelle specifiche PASSI, nel qual caso si voglia si rimanda alla lettura di [1]. 6

7 2. Aspetti teorici del problema Prima di scendere nello specifico dello stato dell'arte e delle tecnologie scelte per realizzare il progetto, è bene soffermarci un attimo sugli aspetti più generici del problema, iniziando proprio dal concetto di workflow: così come definito dalla WfMC 1 (Workflow Management Coalition, l'organizzazione mondiale che si occupa di definire gli standard relativi a workflow e BPM), un workflow è l'automazione di un processo aziendale, in parte o nella sua interezza, durante il quale documenti, informazioni o compiti sono passati da un partecipante ad un altro per svolgere attività, secondo un set di regole procedurali. Un processo aziendale (business process o BP) è quindi un insieme di attività (che possono comprendere vari partecipanti) collegate tra loro al fine di produrre determinati output a partire da input definiti. La necessità di automatizzare quanto più possibile i processi aziendali nasce proprio dall'ottimizzazione di tempi e costi e dalla drastica riduzione di errori umani che questa comporta, soprattutto nell'ottica di organizzazioni complesse e flussi di lavoro che comprendono numerosi partecipanti. A tal proposito, entrando nel campo dello sviluppo di sistemi informativi, diventa opportuno parlare di CASE tools e metacase. 2.1 CASE e metacase [3] L'ingegneria del software si occupa di fornire le metodologie per sviluppare complessi sistemi informativi quanto più efficienti e privi d'errore possibile, nonostante queste non siano sempre facilmente applicabili. I CASE (Computer Aided Software Engineering) tools forniscono l'automazione necessaria a semplificare l'applicabilità di tale disciplina, nonostante anch'essi non siano privi di limiti. 1 Glossario WfMC, 7

8 Il limite più grande dei CASE tools tradizionali è infatti quello di essere legati ad un solo metodo: vengono sviluppati a partire da un metodo definito (è molto diffuso in tal senso l'uml nei tool per la modellazione object-oriented) e per tanto risultano poco flessibili nel caso di domini applicativi che richiedono concetti o notazioni non incluse nel metodo stesso. I modelli così creati risultano quindi di difficile lettura e comprensione da parte degli utenti finali in quanto i concetti in essi utilizzati sono semanticamente distanti dal loro dominio applicativo. I progetti di sviluppo software e le organizzazioni d'altronde differiscono sostanzialmente l'una dall'altra, e si evolvono nel tempo. Diventa palese quindi che un solo metodo non può essere adatto a tutti i casi. La soluzione ideale è quindi quella di personalizzare il metodo a seconda del dominio applicativo e delle necessità dell'utente. E' in questo contesto che si inserisce metacase: il pensiero alla base è proprio quello di fornire metodi flessibili attraverso la modifica dell'architettura stessa dei tool. I CASE tools tradizionali si basano su una architettura a due livelli: il primo contiene il metodo, che è programmato direttamente all'interno del tool e che definisce quali modelli possono essere creati e analizzati. Il fatto che sia programmato nel tool implica che solo il produttore del tool può effettuare modifiche al metodo. Il secondo livello è quello composto dai modelli stessi. MetaCASE modifica questa architettura rendendola a tre livelli: il livello più basso è lo stesso dell'architettura CASE, composto dai modelli che possono essere creati con il metodo. Il livello intermedio piuttosto che essere composto dal metodo programmato all'interno del tool, contiene un modello del metodo (meta-modello), costituito dalle regole, le notazioni e i concetti chiave del metodo in questione. La potenza di metacase sta proprio nella possibilità di modificare o cambiare il metamodello a seconda delle necessità. Il terzo livello, il più alto, contiene il linguaggio di meta-modellazione che 8

9 consente di descrivere i metodi. Questo è il livello che viene programmato direttamente all'interno del software metacase, analogamente a come viene programmato il metodo nei tradizionali CASE tools Un esempio di metacase: MetaEdit+ [4] MetaEdit+ è un ambiente multi-utente e multi-piattaforma che supporta sia lo sviluppo di sistemi che lo sviluppo di metodi. Si presenta quindi anche come un CAME (Computer Aided Method Engineering) tool, dal momento che a differenza di altri metacase tools mette a disposizione strumenti per gestire, integrare e riutilizzare i metodi. E' interessante vedere come a livello di CAME tool, in MetaEdit+ i tre livelli dell'architettura operano un livello di astrazione in più verso l'alto rispetto ai livelli metacase: il livello più alto è chiamato il livello di meta-metamodellazione, dove sintassi e semantica di vari linguaggi di meta-modellazione sono definite. Gli altri due livelli corrispondono quindi ai due livelli più in alto dell'architettura metacase tradizionale. MetaEdit+ è composto da due tool principali: il workbench, che copre la componente CAME, e il modeler, che copre la componente CASE. Nel workbench si definiscono i concetti e le regole del linguaggio (graficamente o tramite l'utilizzo di strumenti di meta-modellazione), si disegnano gli elementi della notazione con il Symbol Editor (o si importano elementi grafici già creati) e si creano i generatori per produrre codice, configurazioni, analisi, etc. Una volta definito il linguaggio di modellazione si può iniziare a produrre modelli. A questo punto il meta-modello può essere modificato in qualsiasi momento e i modelli esistenti vengono aggiornati automaticamente alla nuova versione del linguaggio. Nel modeler si creano i modelli, si genera il codice e la documentazione. Essendo un ambiente multi-utente e multi-piattaforma inoltre, MetaEdit+ offre la possibilità di essere eseguito su vari clients contemporaneamente (collegati 9

10 ad un server tramite una rete) e su varie piattaforme. 2.2 Un meta-modello per la modellazione di processi: SPEM SPEM [6] (Software & Systems Process Engineering Metamodel) è un metamodello usato per descrivere e modellare processi. E' una specifica OMG (Object Management Group) ed è definito come un profilo UML, di conseguenza molti degli elementi SPEM sono descritti tramite l'utilizzo di classi UML. Il behaviour del processo è descritto tramite diagrammi di attività e diagrammi di stato, mentre la struttura del processo è descritta tramite diagrammi di classe. Gli elementi principali di SPEM sono: Process role: definisce il ruolo che una o più persone possono svolgere all'interno del progetto. Può essere identificato come primario o addizionale. E' responsabile di uno o più work products e di svolgere specifiche activities. E' rappresentato tramite un attore UML stereotipato come <<process role>>. Work Product: qualsiasi cosa prodotta, modificata o consumata da un processo. Possono essere identificati come obbligatori o opzionali, e possono essere composti da altri work products (ciò è rappresentato tramite composizione o aggregazione UML). Una associazione tra ruolo e work product definisce chi è il process role responsabile per quel determinato work product. E' rappresentato tramite una classe UML stereotipata come <<work product>>. Activity: è un task relativamente breve in durata, assegnabile ad un ruolo. È rappresentato tramite una operazione (su una classe) stereotipata come <<activity>>. Ha work products di input e di output, rappresentati come parametri e può essere decomposta in passi atomici. E' consigliabile per altro che le activities creino nuovi prodotti o cambino lo stato di work 10

11 products esistenti (altrimenti si può non essere certi che l'activity sia effettivamente stata eseguita). Nel modellare processi adattivi può essere estremamente utile identificare e descrivere i diversi stati in cui un work product può trovarsi all'interno del suo ciclo vitale (soprattutto se si riferiscono a vari gradi di completezza, dando così criteri oggettivi per la sua descrizione). In questo caso si possono usare diagrammi di stato UML per identificare stati e transizioni possibili. Un modo interessante di fornire informazioni aggiuntive è fornito tramite le guidance: sostanzialmente note che possono essere associate a qualsiasi elemento SPEM (anche se spesso sono associate ad activities e work products). Di seguito è riportato un esempio di diagramma SPEM Figura 1 - Esempio di diagramma SPEM Object Management Group, Software & System Process Engineering Meta-Model Specification version 2.0, 2008, Figura 7.1 p

12 3. Stato dell arte e tecnologie usate L automazione dei business process passa dai workflow enactment software, aggregati di workflow engines, software che si occupano di definire ed eseguire il processo, in parte o nella sua interezza; essi si occupano quindi di monitorare e gestire lo stato delle attività e, cosa assai più interessante, determina le transizioni da un attività all altra e da un attore all altro in base al modello del processo su cui si basa. Figura 2 - Strutture e tipologie di Workflow Enactment Systems 3 In Figura 2 è riportato uno schema che descrive le varie strutture e tipologie di sistemi che hanno lo scopo di mettere in atto workflows. Come è possibile 3 Workflow Management Coalition, The Workflow Reference Model, 1995, fig 4, p 16 12

13 notare, linguaggi e notazioni per il Process Definition diventano quindi di fondamentale importanza all interno dei workflow enactment systems. Tra gli standard utilizzati ne emergono due per quanto riguarda diffusione e compatibilità: BPMN e XPDL. 3.1 BPMN e XPDL BPMN (Business Process Modeling Notation [5]) e XPDL (Xml Process Definition Language [7]) sono due formati standardizzati rispettivamente dalla OMG e dalla WfMC per la specifica dei processi di business. Il primo è stato creato per definire e fornire una notazione facile da capire e interpretare per tutti gli utenti, dagli analisti ai tecnici. Il secondo per fornire un modo di scambiare definizioni di processo tra software diversi. S può affermare inoltre che XPDL rappresenta la serializzazione XML di BPMN Business Process Modeling Notation [5] BPMN supporta tre principali categorie di modelli di processi di business: 1. Processi o Orchestrazioni I modelli di orchestrazione rappresentano il punto di vista di una singola azienda o di un organizzazione sui flussi di processo. Le orchestrazioni includono: Business Process (interni) Privati; Processi pubblici. 2. Coreografia Un modello di coreografia definisce i comportamenti attesi tra i partecipanti al processo, in pratica definisce un contratto procedurale. In una coreografia i soggetti dell interazione non appartengono ad un medesimo contesto. 13

14 3. Collaborazione Un modello di collaborazione mostra le interazioni tra due o più partecipanti (business entitities). Una collaborazione può contenere una coreografia e una o più orchestrazioni. In particolare, i Business Process privati sono quelli interni ad una specifica organizzazione, e sono generalmente chiamati workflow o processi BPM. Nell ambito dei servizi Web un sinonimo molto diffuso è orchestrazione dei servizi (Orchestration). I processi privati si distinguono in due tipi: Eseguibili e non-eseguibili. I primi sono processi modellati con lo specifico scopo di essere eseguiti. I secondi invece sono quei processi privati modellati con lo scopo di documentare il behaviour del processo a un livello di dettaglio definito da chi lo ha modellato. Quindi, le informazioni necessarie all esecuzione tipicamente non sono incluse in un processo non-eseguibile. Nel caso si utilizzi una notazione simile alle swimlanes (ad es. le Collaborazioni), allora un processo privato sarà interamente contenuto all interno di una pool; il flusso dei messaggi è l unico elemento che fa eccezione e può attraversare i confini della pool al fine di mostrare le interazioni tra processi privati separati. Le uniche attività incluse nel processo pubblico sono quelle usate per comunicare con gli altri partecipanti (tutte le attività interne del processo privato non sono quindi visibili). In breve, il processo pubblico mostra al mondo esterno il flusso e l ordine dei messaggi che sono necessari ad interagire con quel processo. Una coreografia è simile in alcuni aspetti ad un processo privato, visto che consiste di una rete di attività, eventi e gateways(controllori di flusso di eventi). D altro canto però, una coreografia differisce nel fatto che le attività sono interazioni che rappresentano un insieme di scambi di messaggi, che coinvolgono due o più partecipanti. In più, a differenza di un normale processo, non vi è alcun central controller, responsable entity o observer. 14

15 In una collaborazione invece lo scambio di messaggi tra i partecipanti è mostrato da un message flow che connette due partecipanti (oppure due oggetti al loro interno). Si possono per altro mostrare i messaggi associati ai message flows. Una collaborazione può essere mostrata, inoltre, attraverso due o più processi pubblici che comunicano l uno con l altro. L obiettivo di BPMN, è quello di creare un meccanismo semplice e facilmente comprensibile per la creazione di modelli di Business Process, mantenendo però allo stesso tempo la capacità di gestire la complessità intrinseca degli stessi. L approccio usato per gestire questi due requisiti contrastanti è stato quello di organizzare gli aspetti grafici della notazione in categorie specifiche. Questo fa sì che ci sia un piccolo insieme di categorie di notazione cosicché il lettore di un diagramma BPMN possa facilmente riconoscere i tipi base degli elementi e comprendere il diagramma. All interno delle categorie base degli elementi si possono inserire variazioni e informazioni aggiuntive a supporto dei requisiti di complessità senza però cambiare drasticamente il look del diagramma. Le cinque categorie principali di elementi sono: 1. Flow Objects rappresentazione grafica degli elementi utili a descrivere il behaviour di un business process, quali Events, Activities e Gateways; 2. Data rappresentati con i quattro elementi Data Objects, Data Inputs, Data Outputs e Data Stores; 3. Connecting Objects suddivisi in quattro oggetti per la comunicazione Sequence Flows, Message Flows, Associations e Data Associations; 4. Swimlanes suddivise in Pools e Lanes; 5. Artifacts Group e Text Annotation sono quelli standardizzati. Per le notazioni grafiche degli elementi BPMN si rimanda alla consultazione delle specifiche OMG [1]. 15

16 3.1.2 Xml Process Definition Language [7] XPDL invece vuole fornire un modo di scambiare definizioni di processo tra software diversi. Esso si occupa quindi di dare delle specifiche per l interfaccia tra il process definition e il workflow engine (vedi figura 3). Quindi un workflow engine compatibile con XPDL potrà eseguire un processo definito in qualsiasi tool compatibile con XPDL, a prescindere dal produttore dei software. In definitiva, quello che XPDL offre (insieme ad altre specifiche WfMC) sono proprio gli strumenti per poter parlare di inter-operatività nei sistemi software orientati alla gestione e all esecuzione di workflow. Ricordiamo pure che XPDL può essere usato come formato file per i diagrammi BPMN (visto che ne rappresenta una sua serializzazione) risolvendo alcuni dei problemi sulla portabilità e sulla mancanza di una semantica d esecuzione definita. Per una mappatura tra BPMN e XPDL si rimanda alla consultazione dell apposito documento OMG [7]. Figura 3 - Componenti e Interfacce del Workflow Reference Model 4 4 Workflow Management Coalition, The Workflow Reference Model, 1995, fig 6, p 20 16

17 3.2 Scelta delle tecnologie usate L obiettivo del lavoro di tesi riguarda lo sviluppo di un supporto all esecuzione del workflow di PASSI indirizzato ai designer. Considerati questi come target, quindi, si è scelto di perseguire l usabilità come requisito fondamentale. Di conseguenza, in considerazione anche della natura dei frammenti specifici della metodologia con cui il supporto si andrà ad interfacciare (che sono stati sviluppati come plug-in del framework Eclipse), si è scelto di integrare quanto più possibile il tool con Ecplise, come verrà ampiamente mostrato nel prossimo capitolo. 17

18 4. Software realizzato Il software realizzato in questa tesi svolge la funzione di interfaccia di processo per la metodologia PASSI. L'obiettivo è quello di fornire un interfaccia facilmente interpretabile, visivamente efficace ed intuitiva, adatta ai novizi di PASSI ma allo stesso tempo non restrittiva verso i designer più esperti. A tale scopo si è deciso di non adottare la rappresentazione SPEM del workflow di Passi, che nella sua completezza sarebbe risultato ostico da rappresentare soprattutto a causa dei numerosi cicli iterativi, in favore di una più semplice rappresentazione che mantiene i contenuti informativi interessanti per lo scopo del tool realizzato (vedi figura 4). Figura 4 - Rappresentazione del Workflow di PASSI. Vista la natura dei diagram editors, realizzati come plug-in di Eclipse, con cui il software va ad interfacciarsi, si è deciso di sviluppare anche questo come plug-in Eclipse utilizzando SWT come package di librerie grafiche. 18

19 4.1 Overview del software Il tool sviluppato, essendo come detto in precedenza un plug-in Eclipse, si integra completamente con la piattaforma Eclipse disponendo di un suo menù tra quelli presenti nella barra principale del workbench (vedi figura 5). Figura 5 - Il menù ptk. Questa scelta è stata fatta prendendo in considerazione la possibilità di scalare il software in termini di funzionalità, senza quindi avere la necessità a posteriori di modificare la struttura principale. Basterà infatti agganciare i nuovi action handlers agli extension point del menù. Per creare o aprire un progetto Passi occorre dunque selezionare la voce PTK GUI e inserire il nome del progetto (vedi figura 6). Figura 6 - La finestra di inserimento del nome del progetto. Il bottone Ok rimane disabilitato fintanto che il campo testuale è vuoto. Una volta acquisito il nome del progetto viene lanciata l'interfaccia principale 19

20 del tool realizzato (vedi figura 7). Il nome del progetto viene ricordato nel titolo della finestra. Figura 7 - PTK GUI La figura 4 rappresenta l'interfaccia relativa ad un nuovo progetto (o comunque un progetto in cui non sono ancora stati creati diagrammi PASSI). Nel caso venga aperto un progetto già esistente, l'interfaccia risulterà aggiornata rispetto ai diagrammi che esistono già (colorando di verde i relativi riquadri, vedi figura 6) e che seguono le convenzioni che verranno illustrate più avanti. Al momento alcuni frammenti di PASSI sono sotto sviluppo e pertanto non disponibili; per segnalare ciò si è scelto di disabilitare momentaneamente le voci corrispondenti ai frammenti in corso di sviluppo. La selezione da parte di un utente di uno dei frammenti provoca inizialmente un controllo sui work product propedeutici all esecuzione del frammento e la 20

21 creazione dello specifico diagramma. Nel caso in cui uno o più work product propedeutici risultassero mancanti, l'utente verrà avvisato tramite una finestra di warning che elencherà quali diagrammi considerati requisiti sono assenti, e chiederà se si ha intenzione di continuare ugualmente (vedi figura 8). Figura 8 - Finestra di warning. Nel caso l'utente voglia continuare, o nel caso siano presenti tutti i work products considerati requisiti, viene aperto all'interno di Eclipse l editor del diagramma di riferimento del frammento selezionato con un nuovo diagramma convenzionalmente identificato dal nome <project_name><diagram_type>.diagram (ad es. PTKDemoRDDiagram.diagram per il diagramma del Roles Description del progetto PTKDemo).Una volta aperto (o appena viene trovato all'interno del progetto) il diagramma, il riquadro corrispondente viene colorato di verde (vedi figura 9 ). 21

22 Figura 9 - Diagramma trovato. Se in seguito non è più possibile trovare il diagramma, il riquadro verrà colorato di rosso (vedi figura 10). L'update sullo stato dei diagrammi viene effettuato ogni volta che la finestra della GUI passa in primo piano e ogni volta che viene aperto un nuovo diagramma. Figura 10 - Diagramma non più reperibile. Infine, qualora non venga seguito il workflow come da specifiche PASSI, un warning viene mostrato nella parte inferiore della finestra (vedi figura 11). 22

23 Figura 11 - Warning sul flusso del workflow. 4.2 Dettagli implementativi Il plugin si aggancia agli extension points di Eclipse relativi ai comandi (per quanto riguarda il comando Ptk2.commands.opengui), agli handlers (per quanto riguarda l'handler ptk2.handlers.openptkgui), ai bindings (per definire le shortcut da tastiera) e ai menus (per quanto riguarda l'aggiunta del menù PTK, effettuato dopo il campo additions, e della voce all'interno del menù relativa all'handler ptk2.handlers.openptkgui). L'handler si occupa quindi di lanciare l'applicazione definita dalla classe PTKGUI. La GUI è stata sviluppata utilizzando le librerie SWT, dal momento che sono quelle su cui si basa Eclipse e che quindi vengono già caricate all'avvio di Eclipse stesso. Ciò comporta un ovvio vantaggio rispetto all'utilizzo di librerie alternative (ad es. SWING). Lo scheletro del workflow (figura 12) viene disegnato all'interno di un canvas. 23

24 L'immagine viene reperita tramite una funzione definita nella libreria PTKUtil, la getimagefromrelativepath(string path, Class cla) che consente di acquisire l'immagine da un path relativo senza perdere in portabilità (sfruttando il classpath tramite una richiesta al ClassLoader). Figura 12 - Lo scheletro del workflow così come viene disegnato sul canvas, prima dell applicazione delle labels. Sul canvas vengono poi posizionate, utilizzando il null Layout (posizione assoluta), una Clabel (una custom Label che permette l'utilizzo contemporaneo di un immagine e di un campo testuale, utilizzata in questo contesto per il warning sul workflow) e varie Labels. Tra queste ci sono quelle puramente informative, come ad esempio le labels che identificano il nome dei blocchi dei vari modelli (es. Agent Implementation Model), quelle che rappresentano gli effettivi tasti. Queste ultime sono della dimensione esatta dei rettangoli, e ognuna di esse registra un mouse listener creato ad hoc che si occupa sia di controllare l'eventuale assenza di work product ritenuti necessari (tramite la funzione checkrequirements(boolean[] diagrams, int[] fragments) della classe PTKUtil) ed eventualmente di lanciare la finestra di warning controllando la 24

25 scelta effettuata, sia delle operazioni legate all'apertura del diagramma: si apre/crea il diagramma di riferimento richiamando la funzione opendiagram(string projectname, String diagramtype) della classe PTKUtil si cambia il colore al riquadro, settandolo verde. si aggiorna la struttura dati di riferimento per lo status dei diagrammi creati/esistenti, l'array di booleans diagrams. viene forzato un refresh delle button-labels attraverso la funzione redrawalllabels( boolean[] diagrams, boolean[] labelarray, CLabel Warning). Come strutture dati vengono utilizzati tre array l'array di boolean diagrams, usato per mantenere le informazioni relative allo stato d'esistenza dei diagrammi (per ogni indice di riferimento true se il corrispondente diagramma esiste, false altrimenti) e alla corretta esecuzione del flusso del workflow. l'array di boolean lcdiagrams, identico in struttura a diagrams, utilizzato per vedere se nel momento in cui la GUI acquista focus, ci sono stati cambiamenti in relazione all'esistenza dei diagrammi che richiedono un redraw delle labels (attraverso un confronto con diagrams, che invece viene aggiornato ad ogni focus gain e ad ogni click sulle button-labels). Viene aggiornato quando vengono verificati questi cambiamenti. l'array di Label labelarray, contenente le button-labels ordinate per indice d'apparizione. E una lista di String, missingparts che viene usata per contenere di volta in volta le stringhe che rappresentano i missing work products identificati dalla funzione checkrequirements. Altre funzioni utilizzate e presenti nella classe PTKUtil sono: getuptodate(string projectname), che cerca l'esistenza di un progetto con nome projectname all'interno del workspace, aprendolo in caso di 25

Sistemi per la modellazione e workflow di processi di business

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

Dettagli

Strumenti di modellazione. Gabriella Trucco

Strumenti di modellazione. Gabriella Trucco Strumenti di modellazione Gabriella Trucco Linguaggio di modellazione Linguaggio formale che può essere utilizzato per descrivere (modellare) un sistema Il concetto trova applicazione soprattutto nell

Dettagli

Business Process Modeling and Notation e WebML

Business Process Modeling and Notation e WebML Business Process Modeling and Notation e WebML 24 Introduzione I Web Service e BPMN sono standard de facto per l interoperabilità in rete a servizio delle imprese moderne I Web Service sono utilizzati

Dettagli

Ingegneria del Software UML - Unified Modeling Language

Ingegneria del Software UML - Unified Modeling Language Ingegneria del Software UML - Unified Modeling Language Obiettivi. Presentare un approccio visuale alla progettazione. Illustrare i vantaggi dell utilizzo di diagrammi nella fase di progettazione. Rispondere

Dettagli

A A Design Tool to Develop Agent-Based Workflow Management Systems

A A Design Tool to Develop Agent-Based Workflow Management Systems Università degli Studi di Genova Facoltà di Ingegneria DIST - Dipartimento di Informatica, Sistemistica e Telematica A A Design Tool to Develop Agent-Based Workflow Management Systems Marco Repetto, Massimo

Dettagli

Università degli Studi "Roma Tre" Dipartimento di Informatica ed automazione. Facoltà di Ingegneria. Laurea Magistrale in Ingegneria Informatica

Università degli Studi Roma Tre Dipartimento di Informatica ed automazione. Facoltà di Ingegneria. Laurea Magistrale in Ingegneria Informatica Università degli Studi "Roma Tre" Dipartimento di Informatica ed automazione Facoltà di Ingegneria Laurea Magistrale in Ingegneria Informatica Tesi di Laurea Sistema informativo per la gestione dei processi

Dettagli

WebRatio. L altra strada per il BPM. Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8

WebRatio. L altra strada per il BPM. Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8 WebRatio L altra strada per il BPM Web Models s.r.l. www.webratio.com contact@webratio.com 1 / 8 Il BPM Il BPM (Business Process Management) non è solo una tecnologia, ma più a grandi linee una disciplina

Dettagli

Ciclo di Vita Evolutivo

Ciclo di Vita Evolutivo Ciclo di Vita Evolutivo Prof.ssa Enrica Gentile a.a. 2011-2012 Modello del ciclo di vita Stabiliti gli obiettivi ed i requisiti Si procede: All analisi del sistema nella sua interezza Alla progettazione

Dettagli

WorkFlow Management Systems

WorkFlow Management Systems WorkFlow Management Systems Cosa è un? Automazione di un processo aziendale (business process) con: documenti, informazioni e compiti partecipanti insieme predefinito di regole obiettivo comune 2 Esempi

Dettagli

Modellazione dei dati in UML

Modellazione dei dati in UML Corso di Basi di Dati e Sistemi Informativi Modellazione dei dati in UML Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Introduzione UML (Unified Modeling Language):

Dettagli

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Progettazione OO E. TINELLI Punto di Partenza Il modello di analisi E una rappresentazione minima del

Dettagli

Gestione Requisiti. Ingegneria dei Requisiti. Requisito. Tipi di Requisiti e Relativi Documenti. La gestione requisiti consiste in

Gestione Requisiti. Ingegneria dei Requisiti. Requisito. Tipi di Requisiti e Relativi Documenti. La gestione requisiti consiste in Ingegneria dei Requisiti Il processo che stabilisce i servizi che il cliente richiede I requisiti sono la descrizione dei servizi del sistema Funzionalità astratte che il sistema deve fornire Le proprietà

Dettagli

Università di Pisa Polo Sistemi Logistici Economia e Legislazione dei Sistemi Logistici. Informatica per la Logistica. Lezioni

Università di Pisa Polo Sistemi Logistici Economia e Legislazione dei Sistemi Logistici. Informatica per la Logistica. Lezioni Università di Pisa Polo Sistemi Logistici Economia e Legislazione dei Sistemi Logistici Le grandi e complesse organizzazioni aziendali sono la manifestazione tangibile della tecnologia avanzata, più delle

Dettagli

TECNICO SUPERIORE PER LE APPLICAZIONI INFORMATICHE

TECNICO SUPERIORE PER LE APPLICAZIONI INFORMATICHE ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE SETTORE I.C.T. Information and Communication Technology TECNICO SUPERIORE PER LE APPLICAZIONI INFORMATICHE STANDARD MINIMI DELLE COMPETENZE TECNICO PROFESSIONALI

Dettagli

Il linguaggio per la moderna progettazione dei processi aziendali

Il linguaggio per la moderna progettazione dei processi aziendali Il linguaggio per la moderna progettazione dei processi aziendali Organizzare un azienda sotto il profilo dei processi è oramai diventata una disciplina a cavallo tra la competenza aziendalistica ed informatica.

Dettagli

Model Driven Software Development con Eclipse, StatechartUMC

Model Driven Software Development con Eclipse, StatechartUMC Model Driven Software Development con Eclipse, StatechartUMC Aldi Sulova Istituto di Scienza e Tecnologie dell Informazione A. Faedo - CNR Via G. Moruzzi 1, 56124 Pisa, Italy aldi.sulova@isti.cnr.it Abstract.

Dettagli

Progetto. Struttura del documento di specifica dei requisiti, Casi d uso. manuel.comparetti@iet.unipi.it

Progetto. Struttura del documento di specifica dei requisiti, Casi d uso. manuel.comparetti@iet.unipi.it Progetto Struttura del documento di specifica dei requisiti, Casi d uso manuel.comparetti@iet.unipi.it 1 Documenti da produrre Il progetto deve comprendere i seguenti documenti: Documento di specifica

Dettagli

Introduzione. Il software e l ingegneria del software. Marina Mongiello Ingegneria del software 1

Introduzione. Il software e l ingegneria del software. Marina Mongiello Ingegneria del software 1 Introduzione Il software e l ingegneria del software Marina Mongiello Ingegneria del software 1 Sommario Il software L ingegneria del software Fasi del ciclo di vita del software Pianificazione di sistema

Dettagli

Analisi dei Requisiti

Analisi dei Requisiti Analisi dei Requisiti Pagina 1 di 16 Analisi dei Requisiti Indice 1 - INTRODUZIONE... 4 1.1 - OBIETTIVO DEL DOCUMENTO...4 1.2 - STRUTTURA DEL DOCUMENTO...4 1.3 - RIFERIMENTI...4 1.4 - STORIA DEL DOCUMENTO...4

Dettagli

Modellazione di sistema

Modellazione di sistema Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Modellazione di sistema E. TINELLI Contenuti Approcci di analisi Linguaggi di specifica Modelli di

Dettagli

Rational Unified Process Introduzione

Rational Unified Process Introduzione Rational Unified Process Introduzione G.Raiss - A.Apolloni - 4 maggio 2001 1 Cosa è E un processo di sviluppo definito da Booch, Rumbaugh, Jacobson (autori dell Unified Modeling Language). Il RUP è un

Dettagli

Laboratorio di Progettazione di Sistemi Software Introduzione

Laboratorio di Progettazione di Sistemi Software Introduzione Laboratorio di Progettazione di Sistemi Software Introduzione Valentina Presutti (A-L) Riccardo Solmi (M-Z) Indice degli argomenti Introduzione all Ingegneria del Software UML Design Patterns Refactoring

Dettagli

La specifica del problema

La specifica del problema 2.9 (Caso di studio facoltativo) Pensare a oggetti: esame del problema Iniziamo ora a esaminare il nostro caso di studio di progettazione e implementazione orientate agli oggetti. Le sezioni Pensare a

Dettagli

UniRoma2 - Ingegneria del Software 1 1

UniRoma2 - Ingegneria del Software 1 1 Object Oriented Analysis - OOA La fase di OOA definisce, secondo un approccio ad oggetti, COSA un prodotto software deve fare (mentre la fase di OOD definisce, sempre secondo un approccio ad oggetti, COME

Dettagli

Modello Workflow - WIDE

Modello Workflow - WIDE Modello Workflow - WIDE Prof.ssa Gentile a.a. 2011-2012 Modello Wide Workflow on an Intelligent and Distributed database Environment Descrive processi come insiemi di attività tra loro collegate da vincoli

Dettagli

Organizzazione aziendale Lezione 16 BPMN. Ing. Marco Greco m.greco@unicas.it Tel.0776.299.3641 Stanza 1S-28

Organizzazione aziendale Lezione 16 BPMN. Ing. Marco Greco m.greco@unicas.it Tel.0776.299.3641 Stanza 1S-28 Organizzazione aziendale Lezione 16 BPMN Ing. Marco Greco m.greco@unicas.it Tel.0776.299.3641 Stanza 1S-28 Nozioni di base Un sistema è una collezione di entità (es. persone o macchine) che interagiscono

Dettagli

Corso di Progettazione di sistemi multimediali

Corso di Progettazione di sistemi multimediali Corso di Progettazione di sistemi multimediali prof. Pierluigi Feliciati a.a.2012/13 Modulo 0 Progettare, sistemi, multimedialità: Definizioni, strumenti, ciclo di vita dei progetti, figure professionali

Dettagli

Introduzione a UML. Adriano Comai. http://www.analisi-disegno.com. versione 19 marzo 2010. Adriano Comai. Introduzione a UML Pag.

Introduzione a UML. Adriano Comai. http://www.analisi-disegno.com. versione 19 marzo 2010. Adriano Comai. Introduzione a UML Pag. Introduzione a UML versione 19 marzo 2010 http://www.analisi-disegno.com Introduzione a UML Pag. 1 Obiettivo di questa introduzione fornire alcuni elementi di base su UML introdurre i diagrammi fornire

Dettagli

Processo parte VII. Strumenti. Maggiore integrazione. Sviluppo tecnologico

Processo parte VII. Strumenti. Maggiore integrazione. Sviluppo tecnologico Strumenti Processo parte VII Leggere Cap. 9 Ghezzi et al. Strumenti software che assistono gli ingegneri del software in tutte le fasi del progetto; in particolare progettazione codifica test Evoluzione

Dettagli

Processi di Business e Sistemi di Gestione di Workflow: concetti di base. Prof. Giancarlo Fortino g.fortino@unical.it

Processi di Business e Sistemi di Gestione di Workflow: concetti di base. Prof. Giancarlo Fortino g.fortino@unical.it Processi di Business e Sistemi di Gestione di Workflow: concetti di base Prof. Giancarlo Fortino g.fortino@unical.it Introduzione Le aziende devono modificare la loro organizzazione per cogliere le nuove

Dettagli

TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE

TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE SETTORE I.C.T. Information and Communication Technology TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE STANDARD MINIMI DELLE COMPETENZE TECNICO PROFESSIONALI DESCRIZIONE

Dettagli

Concetti di base di ingegneria del software

Concetti di base di ingegneria del software Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza

Dettagli

Gestione del workflow

Gestione del workflow Gestione del workflow Stefania Marrara Corso di Tecnologie dei Sistemi Informativi 2004/2005 Progettazione di un Sistema Informativo Analisi dei processi Per progettare un sistema informativo è necessario

Dettagli

Informatica Documentale

Informatica Documentale Informatica Documentale Ivan Scagnetto (scagnett@dimi.uniud.it) Stanza 3, Nodo Sud Dipartimento di Matematica e Informatica Via delle Scienze, n. 206 33100 Udine Tel. 0432 558451 Ricevimento: giovedì,

Dettagli

Organizzazione aziendale Lezione 22 BPMN. Ing. Marco Greco m.greco@unicas.it Tel.0776.299.3641 Stanza 1S-28

Organizzazione aziendale Lezione 22 BPMN. Ing. Marco Greco m.greco@unicas.it Tel.0776.299.3641 Stanza 1S-28 Organizzazione aziendale Lezione 22 BPMN Ing. Marco Greco m.greco@unicas.it Tel.0776.299.3641 Stanza 1S-28 Prima di cominciare: Erasmus! Scadenza: 5 luglio 2012 Durata: min 3 max 12 mesi Dal 1 giugno 2012

Dettagli

Applied Research & Technology Dept.

Applied Research & Technology Dept. 17/12/08 Elenco Tesi Disponibili Applied Research & Technology Dept. La Società MBDA La MBDA Italia è un azienda leader nella realizzazione di sistemi di difesa che con i suoi prodotti è in grado di soddisfare

Dettagli

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTA DI INGEGNERIA DIPARTIMENTO DI SISTEMI E INFORMATICA. Elaborato di Tecnologie del Software per Internet

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTA DI INGEGNERIA DIPARTIMENTO DI SISTEMI E INFORMATICA. Elaborato di Tecnologie del Software per Internet UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTA DI INGEGNERIA DIPARTIMENTO DI SISTEMI E INFORMATICA Elaborato di Tecnologie del Software per Internet JMSWEB 2 SISTEMA PER LO SCAMBIO DI MESSAGGI TRA APPLICAZIONI

Dettagli

Progettazione orientata agli oggetti Introduzione a UML

Progettazione orientata agli oggetti Introduzione a UML Progettazione orientata agli oggetti Introduzione a UML Claudia Raibulet raibulet@disco.unimib.it Il processo di sviluppo software Rappresenta un insieme di attività per la specifica, progettazione, implementazione,

Dettagli

Principi dell ingegneria del software Relazioni fra

Principi dell ingegneria del software Relazioni fra Sommario Principi dell ingegneria del software Leggere Cap. 3 Ghezzi et al. Principi dell ingegneria del software Relazioni fra Principi Metodi e tecniche Metodologie Strumenti Descrizione dei principi

Dettagli

Primi passi con Jamio Composer. Dall idea applicativa alla soluzione in pochi minuti

Primi passi con Jamio Composer. Dall idea applicativa alla soluzione in pochi minuti Primi passi con Jamio Composer Dall idea applicativa alla soluzione in pochi minuti Comporre una nuova soluzione applicativa Jamio Composer è l ambiente di modellazione della piattaforma Jamio. Le soluzioni

Dettagli

Esercitazioni di PROGETTAZIONE DEL SOFTWARE A.A. 2011-2012

Esercitazioni di PROGETTAZIONE DEL SOFTWARE A.A. 2011-2012 Sapienza Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Corso di Laurea in Ingegneria Informatica ed Automatica Corso di Laurea in Ingegneria dei Sistemi Informatici

Dettagli

Il diagramma dei casi d uso

Il diagramma dei casi d uso Il diagramma dei casi d uso Laboratorio di Ingegneria del Software Prof. Paolo Ciancarini Dott. Sara Zuppiroli A.A. 2010/2011 Lab di Ingegneria del Software () Il diagramma dei casi d uso A.A. 2010/2011

Dettagli

2. I THREAD. 2.1 Introduzione

2. I THREAD. 2.1 Introduzione 2. I THREAD 2.1 Introduzione Il tipo di parallelismo che è opportuno avere a disposizione nelle applicazioni varia in base al grado di cooperazione necessaria tra le diverse attività svolte in parallelo:

Dettagli

Object Oriented Programming

Object Oriented Programming OOP Object Oriented Programming Programmazione orientata agli oggetti La programmazione orientata agli oggetti (Object Oriented Programming) è un paradigma di programmazione Permette di raggruppare in

Dettagli

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN)

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN) System Overview di Mattia Bargellini 1 CAPITOLO 1 1.1 Introduzione Il seguente progetto intende estendere

Dettagli

YAWL Workflow Management System

YAWL Workflow Management System YAWL Workflow Management System Gabriele Pozzani Barbara Oliboni Sistemi informativi aziendali Laurea magistrale in Ingegneria e scienze informatiche http://www.yawlfoundation.org/ Materiale prodotto da:

Dettagli

PROGETTO AMS Autonomic Maintenance System

PROGETTO AMS Autonomic Maintenance System PROGETTO AMS Autonomic Maintenance System Progettazione e Sviluppo di un PROTOTIPO di Piattaforma Informatica per la Gestione Autonomica, Integrata e Collaborativa della Manutenzione RELAZIONE TECNICO-SCIENTIFICA

Dettagli

Verifica e Validazione (V & V) Software e difetti. Processo di V & V. Test

Verifica e Validazione (V & V) Software e difetti. Processo di V & V. Test Software e difetti Il software con difetti è un grande problema I difetti nel software sono comuni Come sappiamo che il software ha qualche difetto? Conosciamo tramite qualcosa, che non è il codice, cosa

Dettagli

Tesi di laurea triennale. Anno Accademico 2010/2011. Relatore Ch.mo prof. Porfirio TRAMONTANA. Correlatore Ch.mo Sig.

Tesi di laurea triennale. Anno Accademico 2010/2011. Relatore Ch.mo prof. Porfirio TRAMONTANA. Correlatore Ch.mo Sig. Tesi di laurea triennale Creazione, gestione e risoluzione delle problematiche relative ai flussi di stampa e postalizzazione massivi di fatture e comunicazioni alla clientela: Porting SpeedPost. Anno

Dettagli

LEZIONE 9 - Linguaggi di Modellazione & UML

LEZIONE 9 - Linguaggi di Modellazione & UML Laboratorio di Ingegneria del Software a.a. 2013-2014 LEZIONE 9 - Linguaggi di Modellazione & UML Catia Trubiani Gran Sasso Science Institute (GSSI), L Aquila catia.trubiani@gssi.infn.it Cosa sono? 2 1

Dettagli

Testo Esercizio. Un modello è ragionevole quando contiene queste tre caratteristiche.

Testo Esercizio. Un modello è ragionevole quando contiene queste tre caratteristiche. Testo Esercizio Un negozio di musica vende anche libri e riviste musicali. Si intende automatizzare l intero processo, dall approvvigionamento alla vendita. Si analizzino i requisiti e se ne rappresentino

Dettagli

Presentazione e dimostrazione di utilizzo

Presentazione e dimostrazione di utilizzo L AMBIENTE OPEN SOURCE A SUPPORTO DELLE BEST PRACTICE DI ITIL un progetto open source per la gestione dei processi ICT Presentazione e dimostrazione di utilizzo Fabio Bottega f.bottega@tecnoteca.it MILANO,

Dettagli

Introduzione a Oracle 9i

Introduzione a Oracle 9i Introduzione a Oracle 9i Ing. Vincenzo Moscato - Overview sull architettura del DBMS Oracle 9i L architettura di Oracle 9i si basa sul classico paradigma di comunicazione client-server, in cui sono presenti

Dettagli

Fiery Print Server. Stampa di dati variabili

Fiery Print Server. Stampa di dati variabili Fiery Print Server Stampa di dati variabili 2009 Electronics for Imaging, Inc. Per questo prodotto, il trattamento delle informazioni contenute nella presente pubblicazione è regolato da quanto previsto

Dettagli

Installazione e caratteristiche generali 1

Installazione e caratteristiche generali 1 Installazione e caratteristiche generali 1 Installazione di SIGLA SIGLA viene fornito su un CDROM contenente la procedura d installazione. La procedura può essere installata eseguendo il programma SIGLASetup.exe

Dettagli

Configuratore di Prodotto Diapason

Configuratore di Prodotto Diapason Configuratore di Prodotto Diapason Indice Scopo di questo documento...1 Perché il nuovo Configuratore di Prodotto...2 Il configuratore di prodotto...3 Architettura e impostazione tecnica...5 Piano dei

Dettagli

7.1 Livello di completezza degli esempi

7.1 Livello di completezza degli esempi Luca Cabibbo Analisi e Progettazione del Software Capitolo 7 marzo 2013 Buono, poco costoso, rapidamente. Puoi scegliere due di queste caratteristiche. Anonimo 1 *** AVVERTENZA *** I lucidi messi a disposizione

Dettagli

PROGETTAZIONE DEL SOFTWARE

PROGETTAZIONE DEL SOFTWARE PROGETTAZIONE DEL SOFTWARE EMILIANO CASALICCHIO DIPARTIMENTO DI INFORMATICA E SISTEMISTICA SAPIENZA UNIVERSITÀ DI ROMA SEDE DI RIETI HTTP://WWW.CE.UNIROMA2.IT/COURSES/PSW! Cos è UML UNIFIED MODELING LANGUAGE!

Dettagli

EXPLOit Content Management Data Base per documenti SGML/XML

EXPLOit Content Management Data Base per documenti SGML/XML EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker per

Dettagli

Acronis License Server. Manuale utente

Acronis License Server. Manuale utente Acronis License Server Manuale utente INDICE 1. INTRODUZIONE... 3 1.1 Panoramica... 3 1.2 Politica della licenza... 3 2. SISTEMI OPERATIVI SUPPORTATI... 4 3. INSTALLAZIONE DI ACRONIS LICENSE SERVER...

Dettagli

UML - Unified Modeling Language

UML - Unified Modeling Language UML E CASI D USO UML - Unified Modeling Language Linguaggio stardardizzato per identificare e modellizzare le specifiche di un S.I. Coerente con il paradigma della programmazione ad oggetti Definito a

Dettagli

Ingegneria del Software Interattivo. - Gli stili di interazione. Oltre gli stili classici di interazione

Ingegneria del Software Interattivo. - Gli stili di interazione. Oltre gli stili classici di interazione Ingegneria del Software Interattivo - Gli stili di interazione (seconda parte) Docente: Daniela Fogli Parte terza: la macchina e gli stili di interazione 1. Il calcolatore e suo ruolo nel processo di HCI

Dettagli

Architetture Software

Architetture Software Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Ingegneria del Software Architetture Software Giulio Destri Ing. del Sw: Architettura - 1 Scopo del modulo

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

4. Requisiti del Software

4. Requisiti del Software 4. Requisiti del Software Cosa? Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 4. Requisiti del Software 1 / 35 Sommario 1 Generalità 2 Categorizzazione

Dettagli

Caso di Studio: Avant Dernier

Caso di Studio: Avant Dernier Caso di Studio: Avant Dernier Specifiche: Nel gioco si affrontano 4 giocatori, ciascuno individuato con un numero progressivo (da 1 a 4). Inizialmente, i giocatori ricevono 5 carte ciascuno, e una carta

Dettagli

Introduzione a UML. Iolanda Salinari

Introduzione a UML. Iolanda Salinari Introduzione a UML Iolanda Salinari Perché modelliamo Un modello è una semplificazione della realtà I modelli ci aiutano a visualizzare un sistema come è o come vorremmo che fosse ci permettono di specificare

Dettagli

Esercitazioni di Progettazione del Software. Esercitazione (Prova al calcolatore del 17 settembre 2010)

Esercitazioni di Progettazione del Software. Esercitazione (Prova al calcolatore del 17 settembre 2010) Sapienza - Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Corso di Laurea in Ingegneria Informatica ed Automatica, Ingegneria dei Sistemi Informatici Esercitazioni

Dettagli

Paradigma object-oriented

Paradigma object-oriented Paradigma object-oriented Dati & Comportamento Implementazione trasparente dei servizi Facile mantenimento Omogeneità nella gerarchia dati-funzioni Procedural approach OO approach Data hierarchy Replaced

Dettagli

Statechart Diagrams. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

Statechart Diagrams. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Statechart Diagrams Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Agenda Cosa è uno Statechart Diagram Quando

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2008/2009 Questi lucidi sono stati prodotti sulla

Dettagli

Università degli Studi di Salerno Ingegneria del Software: Tecniche Avanzate

Università degli Studi di Salerno Ingegneria del Software: Tecniche Avanzate Università degli Studi di Salerno Ingegneria del Software: Tecniche Avanzate Mystic Pizza Gestione Pizzeria Scheda di Progetto Version 1.0 Data 19/03/2007 Indice degli argomenti 1. Introduzione 3 a. Scenario

Dettagli

!"#$%&&'()#*%+%+!"#$"',,'()#*%+ -")%*&'&'+'$.)+-$$%&&) !"#$%&&'(%)'*+%",#-%"#.'%&'#/0)-+#12"+3,)4+56#7+#.')8'9

!#$%&&'()#*%+%+!#$',,'()#*%+ -)%*&'&'+'$.)+-$$%&&) !#$%&&'(%)'*+%,#-%#.'%&'#/0)-+#12+3,)4+56#7+#.')8'9 !"#$%&&'()#*%+%+!"#$"',,'()#*%+ -")%*&'&'+'$.)+-$$%&&)!"#$%&&'(%)'*+%",#-%"#.'%&'#/0)-+#12"+3,)4+56#7+#.')8'9 Slide 1 Paradigmi di Programmazione! Un linguaggio supporta uno stile di programmazione se

Dettagli

Relazione Progetto. Restaurant Manager. Corso: Programmazione ad oggetti Anno scolastico 2014/2015. Sara Sintoni Matteo Venditto

Relazione Progetto. Restaurant Manager. Corso: Programmazione ad oggetti Anno scolastico 2014/2015. Sara Sintoni Matteo Venditto Relazione Progetto Restaurant Manager Corso: Programmazione ad oggetti Anno scolastico 2014/2015 Autori: Daniele Rosetti Sara Sintoni Matteo Venditto Indice 1. Analisi 3 1.1 Requisiti... 3 1.2 Problema...

Dettagli

Copyright Università degli Studi di Torino, Progetto Atlante delle Professioni 2009 IT PROCESS EXPERT

Copyright Università degli Studi di Torino, Progetto Atlante delle Professioni 2009 IT PROCESS EXPERT IT PROCESS EXPERT 1. CARTA D IDENTITÀ... 2 2. CHE COSA FA... 3 3. DOVE LAVORA... 4 4. CONDIZIONI DI LAVORO... 5 5. COMPETENZE... 6 Quali competenze sono necessarie... 6 Conoscenze... 8 Abilità... 9 Comportamenti

Dettagli

INTRODUZIONE ALLE PIATTAFORME

INTRODUZIONE ALLE PIATTAFORME INTRODUZIONE ALLE PIATTAFORME Android ios Windows Phone 8 Android 2 Cos è Android? Un moderno open-source sistema operativo Componenti: Linux kernel Java Core applications 3 Perché è stato un successo

Dettagli

Sviluppo di applicazioni web con il pattern Model-View-Controller. Gabriele Pellegrinetti

Sviluppo di applicazioni web con il pattern Model-View-Controller. Gabriele Pellegrinetti Sviluppo di applicazioni web con il pattern Model-View-Controller Gabriele Pellegrinetti 2 MVC: come funziona e quali sono vantaggi che derivano dal suo utilizzo? La grande diffusione della tecnologia

Dettagli

Corso di Esercitazioni di Programmazione

Corso di Esercitazioni di Programmazione Corso di Esercitazioni di Programmazione Introduzione Dott.ssa Sabina Rossi Informazioni Pagina web del corso: News Orari Mailing list Lezioni Esercitazioni Date esami Risultati esami.. http://www.dsi.unive.it/~prog1

Dettagli

Software. Definizione, tipologie, progettazione

Software. Definizione, tipologie, progettazione Software Definizione, tipologie, progettazione Definizione di software Dopo l hardware analizziamo l altra componente fondamentale di un sistema di elaborazione. La macchina come insieme di componenti

Dettagli

UML e (R)UP (an overview)

UML e (R)UP (an overview) Lo sviluppo di sistemi OO UML e (R)UP (an overview) http://www.rational.com http://www.omg.org 1 Riassumento UML E un insieme di notazioni diagrammatiche che, utilizzate congiuntamente, consentono di descrivere/modellare

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2010/2011 Questi lucidi sono stati prodotti sulla

Dettagli

Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012. Introduzione a Visual Studio 2005/2008/2010

Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012. Introduzione a Visual Studio 2005/2008/2010 Fondamenti di Informatica T-1 CdS Ingegneria Informatica a.a. 2011/2012 Introduzione a Visual Studio 2005/2008/2010 1 Outline Solution e Project Visual Studio e linguaggio C Visual Studio schermata principale

Dettagli

Progettazione del Software A.A.2008/09

Progettazione del Software A.A.2008/09 Laurea in Ing. Informatica ed Ing. dell Informazione Sede di latina Progettazione del Software A.A.2008/09 Domenico Lembo* Dipartimento di Informatica e Sistemistica A. Ruberti SAPIENZA Università di Roma

Dettagli

Progettazione di interfacce web indipendenti dal dispositivo

Progettazione di interfacce web indipendenti dal dispositivo Progettazione di interfacce web indipendenti dal dispositivo Candidato Izzo Giovanni, Matr. 41/1305 Relatore Prof. Porfirio Tramontana 1 Panoramica su contesto ed obiettivi Il contesto della tesi è legato

Dettagli

Internet Architettura del www

Internet Architettura del www Internet Architettura del www Internet è una rete di computer. Il World Wide Web è l insieme di servizi che si basa sull architettura di internet. In una rete, ogni nodo (detto host) è connesso a tutti

Dettagli

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo GESTIONE PROGETTO FORMATIVO Pag. 1 di 38 Portale tirocini Manuale utente Per la gestione del Progetto Formativo GESTIONE PROGETTO FORMATIVO Pag. 2 di 38 INDICE 1. INTRODUZIONE... 3 2. ACCESSO AL SISTEMA...

Dettagli

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE Relatore: prof. Michele Moro Laureando: Marco Beggio Corso di laurea in Ingegneria Informatica Anno Accademico 2006-2007

Dettagli

Modellazione di processi

Modellazione di processi Luca Cabibbo Architetture Software Dispensa ASW 910 ottobre 2014 La modellazione è un mestiere e a volte è un arte. William C. Burkett 1 -Fonti [Papazoglou] Papazoglou, Web Services Principles and Technology,

Dettagli

Tecnopolis CSATA s.c.r.l. APQ in Materia di Ricerca Scientifica nella Regione Puglia

Tecnopolis CSATA s.c.r.l. APQ in Materia di Ricerca Scientifica nella Regione Puglia BANDO ACQUISIZIONI Prodotti Software ALLEGATO 6.3 Capitolato Tecnico Piattaforma per l Analisi e la Progettazione di alto livello del Software Allegato 6.3: capitolato tecnico Pag. 1 1 Ambiente di Analisi

Dettagli

Ministero dell Istruzione dell Università e della Ricerca

Ministero dell Istruzione dell Università e della Ricerca Ministero dell Istruzione dell Università e della Ricerca ISTITUTO TECNICO COMMERCIALE STATALE ABBA - BALLINI Via Tirandi n. 3-25128 BRESCIA www.abba-ballini.gov.it tel. 030/307332-393363 - fax 030/303379

Dettagli

Novell ZENworks Configuration Management in ambiente Microsoft * Windows *

Novell ZENworks Configuration Management in ambiente Microsoft * Windows * Guida GESTIONE SISTEMI www.novell.com Novell ZENworks Configuration Management in ambiente Microsoft * Windows * Novell ZENworks Configuration Management in ambiente Microsoft Windows Indice: 2..... Benvenuti

Dettagli

Architetture Web. parte 1. Programmazione in Ambienti Distribuiti A.A. 2003-04

Architetture Web. parte 1. Programmazione in Ambienti Distribuiti A.A. 2003-04 Architetture Web parte 1 Programmazione in Ambienti Distribuiti A.A. 2003-04 Architetture Web (1) Modello a tre livelli in cui le interazioni tra livello presentazione e livello applicazione sono mediate

Dettagli

CAMPAGNE VODAFONE E CAMPAGNE TELEMARKETING

CAMPAGNE VODAFONE E CAMPAGNE TELEMARKETING CAMPAGNE VODAFONE E CAMPAGNE TELEMARKETING 1 INTRODUZIONE In questa sezione parleremo della Creazione delle Campagne e di tutti gli aspetti che ne derivano. Il CRM presenta un sistema che permette la distinzione

Dettagli

PROGETTO - Ingegneria del Software. Università degli Studi di Milano Polo di Crema. Corso di laurea in Scienze Matematiche, Fisiche e Naturali

PROGETTO - Ingegneria del Software. Università degli Studi di Milano Polo di Crema. Corso di laurea in Scienze Matematiche, Fisiche e Naturali Università degli Studi di Milano Polo di Crema Corso di laurea in Scienze Matematiche, Fisiche e Naturali INFORMATICA Corso di Ingegneria del Software progetto IL SISTEMA CALENDAR Presentato al dott. Paolo

Dettagli

ALLEGATO 8.1 DESCRIZIONE PROFILI PROFESSIONALI

ALLEGATO 8.1 DESCRIZIONE PROFILI PROFESSIONALI PROCEDURA DI SELEZIONE PER L AFFIDAMENTO DEL SERVIZIO DI PROGETTAZIONE, ANALISI, SVILUPPO, MANUTENZIONE ADEGUATIVA, CORRETTIVA ED EVOLUTIVA DI SISTEMI INFORMATIVI SU PIATTAFORMA IBM WEBSPHERE BPM (EX LOMBARDI)

Dettagli

REALIZZAZIONE DI UN LABORATORIO REMOTO PER ESPERIENZE DI ROBOTICA EDUCATIVA: LATO CLIENT

REALIZZAZIONE DI UN LABORATORIO REMOTO PER ESPERIENZE DI ROBOTICA EDUCATIVA: LATO CLIENT TESI DI LAUREA REALIZZAZIONE DI UN LABORATORIO REMOTO PER ESPERIENZE DI ROBOTICA EDUCATIVA: LATO CLIENT RELATORE: Prof. Michele Moro LAUREANDO: Marco Beggio Corso di laurea Specialistica in Ingegneria

Dettagli

Progetto di Ingegneria del Software matricola 640926 MODELLAZIONE UML DI UN TERMINALE ATM. di Cavenaghi Mattia 03/04/2008 1/24

Progetto di Ingegneria del Software matricola 640926 MODELLAZIONE UML DI UN TERMINALE ATM. di Cavenaghi Mattia 03/04/2008 1/24 MODELLAZIONE UML DI UN TERMINALE ATM di Cavenaghi Mattia 03/04/2008 1/24 INDICE: Descrizione del problema pag. 3 Analisi dei requisiti pag. 3 Requisiti funzionali Requisiti non funzionali Requisiti tecnologici

Dettagli

Realizzazione di un prototipo di un software web based per la gestione di un inventario comunale

Realizzazione di un prototipo di un software web based per la gestione di un inventario comunale tesi di laurea inventario comunale Anno Accademico 2009/2010 relatore Ch.mo prof. Porfirio Tramontana correlatore Ch.mo Ing. Luigi Pontillo candidato Michele Vitelli Matr. 534 2170 Redazione dell Inventario

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Introduzione ai Database! Tipologie di DB (gerarchici, reticolari, relazionali, oodb) Introduzione ai database Cos è un Database Cos e un Data Base Management System (DBMS)

Dettagli

Logic Lab. un progetto italiano. www.axelsw.it. soluzioni SOFTWARE PER L'AUTOMAZIONE INDUSTRIALE

Logic Lab. un progetto italiano. www.axelsw.it. soluzioni SOFTWARE PER L'AUTOMAZIONE INDUSTRIALE Logic Lab soluzioni SOFTWARE PER L'AUTOMAZIONE INDUSTRIALE un progetto italiano www.axelsw.it Logic Lab La garanzia e l economia degli standard più diffusi sul mercato LogicLab è un ambiente di sviluppo

Dettagli