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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Iniziativa Comunitaria Equal II Fase IT G2 CAM - 017 Futuro Remoto. Approfondimento SOFTWARE PER L ARCHIVIAZIONE

Iniziativa Comunitaria Equal II Fase IT G2 CAM - 017 Futuro Remoto. Approfondimento SOFTWARE PER L ARCHIVIAZIONE APPROFONDIMENTO ICT Iniziativa Comunitaria Equal II Fase IT G2 CAM - 017 Futuro Remoto Approfondimento SOFTWARE PER L ARCHIVIAZIONE ORGANISMO BILATERALE PER LA FORMAZIONE IN CAMPANIA INDICE SOFTWARE PER

Dettagli

Configuration of a distributed system as emerging behavior of autonomous agents

Configuration of a distributed system as emerging behavior of autonomous agents Configuration of a distributed system as emerging behavior of autonomous agents Configuration of a distributed system as emerging behavior of autonomous agents : Questo documento illustra la strategia

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

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

B.P.S. Business Process Server ALLEGATO C10

B.P.S. Business Process Server ALLEGATO C10 B.P.S. Business Process Server ALLEGATO C10 REGIONE BASILICATA DIPARTIMENTO PRESIDENZA DELLA GIUNTA REGIONALE UFFICIO SISTEMA INFORMATIVO REGIONALE E STATISTICA Via V. Verrastro, n. 4 85100 Potenza tel

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

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

ARGO DOC Argo Software S.r.l. e-mail: info@argosoft.it -

ARGO DOC Argo Software S.r.l. e-mail: info@argosoft.it - 1 ARGO DOC ARGO DOC è un sistema per la gestione documentale in formato elettronico che consente di conservare i propri documenti su un server Web accessibile via internet. Ciò significa che i documenti

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

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

Fasi del ciclo di vita del software (riassunto) Progetto: generalità. Progetto e realizzazione (riassunto)

Fasi del ciclo di vita del software (riassunto) Progetto: generalità. Progetto e realizzazione (riassunto) Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Sede di Latina Laurea in Ingegneria dell Informazione Fasi del ciclo di vita del software (riassunto) Corso di PROGETTAZIONE DEL SOFTWARE

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

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

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

SDD System design document

SDD System design document UNIVERSITA DEGLI STUDI DI PALERMO FACOLTA DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA TESINA DI INGEGNERIA DEL SOFTWARE Progetto DocS (Documents Sharing) http://www.magsoft.it/progettodocs

Dettagli

SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB

SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB Relatore Chiarissimo

Dettagli

ARTICOLO TECNICO Smart-MED-Parks: il Software

ARTICOLO TECNICO Smart-MED-Parks: il Software ARTICOLO TECNICO Smart-MED-Parks: il Software Introduzione Da Febbraio 2013, data di lancio del progetto Smart-MED-Parks, sono state realizzate un insieme di azioni al fine di: - Aumentare il livello di

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

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

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

Organizzazione delle informazioni: Database

Organizzazione delle informazioni: Database Organizzazione delle informazioni: Database Laboratorio Informatico di base A.A. 2013/2014 Dipartimento di Scienze Aziendali e Giuridiche Università della Calabria Dott. Pierluigi Muoio (pierluigi.muoio@unical.it)

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

Creazione di una Azure Web App

Creazione di una Azure Web App Creazione di una Azure Web App Introduzione Oggi le aziende hanno sempre più la necessità di avere uno strumento per interagire con i propri clienti. La presenza sul web dell azienda diventa sempre di

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

Ibpm è lo strumento per la gestione dei processi, dalla modellazione, all esecuzione, al monitoraggio.

Ibpm è lo strumento per la gestione dei processi, dalla modellazione, all esecuzione, al monitoraggio. L applicazione sviluppata da Ibimec si propone di dare una copertura informatica per quelle attività che vengono svolte al di fuori del sistema informatico gestionale dell azienda, ma indispensabili per

Dettagli

Corso di Laurea Triennale in Ingegneria Informatica. Corso di Ingegneria del software A. A. 2004-2005. Marina Mongiello

Corso di Laurea Triennale in Ingegneria Informatica. Corso di Ingegneria del software A. A. 2004-2005. Marina Mongiello Corso di Laurea Triennale in Ingegneria Informatica Corso di Ingegneria del A. A. 2004-2005 1 La progettazione È applicata indipendentemente dal modello di processo utilizzato. Parte dal punto in cui sono

Dettagli

Componenti di una applicazione. Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali:

Componenti di una applicazione. Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali: Componenti di una applicazione Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali: Un sottosistema di interfaccia con l utente (IU, user interface o anche presentation

Dettagli

Usabilità dei Siti Web

Usabilità dei Siti Web Corso di Laurea Magistrale in Scienze dell Informazione Editoriale, Pubblica e Sociale Usabilità dei Siti Web Prof.ssa E. Gentile a.a. 2011-2012 Usabilità La efficacia, efficienza e soddisfazione con cui

Dettagli

WE500 APPLICATION NOTES GESTIONE DELLE ACQUE

WE500 APPLICATION NOTES GESTIONE DELLE ACQUE WE500 APPLICATION NOTES GESTIONE DELLE ACQUE 1 INTRODUZIONE I sistemi di telecontrollo ed il monitoraggio diventano sempre più importanti nell'ampliamento delle reti di distribuzione idrica ed in particolar

Dettagli

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo Pag. 1 di 41 Portale tirocini Manuale utente Per la gestione del Progetto Formativo INDICE Pag. 2 di 41 1. INTRODUZIONE... 3 2. ACCESSO AL SISTEMA... 4 3. FUNZIONE BACHECA... 8 4. GESTIONE TIROCINANTI...

Dettagli

SINPAWEB corso per Tecnico della programmazione e dello sviluppo di siti internet e pagine web co.reg 58036 matricola 2012LU1072

SINPAWEB corso per Tecnico della programmazione e dello sviluppo di siti internet e pagine web co.reg 58036 matricola 2012LU1072 Provincia di Lucca Servizio Istruzione, Formazione e Lavoro. Sviluppo Economico SINPAWEB corso per Tecnico della programmazione e dello sviluppo di siti internet e pagine web co.reg 58036 matricola 2012LU1072

Dettagli

La Piattaforma la Piattaforma La Piattaforma

La Piattaforma la Piattaforma  La Piattaforma In un mercato globale è sempre più importante conoscere ciò che si sta per acquistare, la provenienza delle materie prime e la catena produttiva (o filiera di produzione) associata al prodotto che si intende

Dettagli

DonkeyCode. Manuale amministratore di sistema. Versione 1.0.0

DonkeyCode. Manuale amministratore di sistema. Versione 1.0.0 DonkeyCode RescueMe: globale per la gestione di catastrofi naturali Manuale amministratore di Versione 1.0.0 Ingegneria Del Software AA 2010-2011 DonkeyCode - RescueMe Informazioni documento Titolo documento:

Dettagli

Corso: Sistemi di elaborazione delle informazioni 2. Anno Accademico: 2007/2008. Docente: Mauro Giacomini

Corso: Sistemi di elaborazione delle informazioni 2. Anno Accademico: 2007/2008. Docente: Mauro Giacomini Corso: Sistemi di elaborazione delle informazioni 2. Anno Accademico: 2007/2008. Docente: Mauro Giacomini Organizzazione no-profit per lo sviluppo di standard che fornisce linee guida per: lo scambio la

Dettagli

LEZIONE 3. Il pannello di amministrazione di Drupal, configurazione del sito

LEZIONE 3. Il pannello di amministrazione di Drupal, configurazione del sito LEZIONE 3 Il pannello di amministrazione di Drupal, configurazione del sito Figura 12 pannello di controllo di Drupal il back-end Come già descritto nella lezione precedente il pannello di amministrazione

Dettagli

Giardinerie Digitali Evoco di Coppola Nicola. Web Marketing Bologna - Consulenza Progetti Comunicazione Online

Giardinerie Digitali Evoco di Coppola Nicola. Web Marketing Bologna - Consulenza Progetti Comunicazione Online Presentazione di Karmaleon CMS- Software per siti Web Cosa è Karmaleon è un software che permette la gestione automatizzata di siti e Portali Internet, multilingua e ottimizzato per Motori di Ricerca,

Dettagli

SOMMARIO. 1 ISTRUZIONI DI BASE. 2 CONFIGURAZIONE. 7 STORICO. 9 EDITOR HTML. 10 GESTIONE ISCRIZIONI E CANCELLAZIONI. 11 GESTIONE MAILING LIST.

SOMMARIO. 1 ISTRUZIONI DI BASE. 2 CONFIGURAZIONE. 7 STORICO. 9 EDITOR HTML. 10 GESTIONE ISCRIZIONI E CANCELLAZIONI. 11 GESTIONE MAILING LIST. INDICE 1) SOMMARIO... 1 2) ISTRUZIONI DI BASE... 2 3) CONFIGURAZIONE... 7 4) STORICO... 9 5) EDITOR HTML... 10 6) GESTIONE ISCRIZIONI E CANCELLAZIONI... 11 7) GESTIONE MAILING LIST... 12 8) E-MAIL MARKETING...

Dettagli

Le Basi di dati: generalità. Unità di Apprendimento A1 1

Le Basi di dati: generalità. Unità di Apprendimento A1 1 Le Basi di dati: generalità Unità di Apprendimento A1 1 1 Cosa è una base di dati In ogni modello di organizzazione della vita dell uomo vengono trattate informazioni Una volta individuate e raccolte devono

Dettagli

Generazione Automatica di Asserzioni da Modelli di Specifica

Generazione Automatica di Asserzioni da Modelli di Specifica UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore:

Dettagli

E-mail: infobusiness@zucchetti.it. Gestione Filtri. InfoBusiness 2.8 Gestione Filtri Pag. 1/ 11

E-mail: infobusiness@zucchetti.it. Gestione Filtri. InfoBusiness 2.8 Gestione Filtri Pag. 1/ 11 Gestione Filtri InfoBusiness 2.8 Gestione Filtri Pag. 1/ 11 INDICE Indice...2 1. GESTIONE DEI FILTRI...3 1.1. Filtri fissi...3 1.2. Filtro parametrico...5 1.3. Funzione di ricerca...6 2. CONTESTI IN CUI

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

Xerox 700 Digital Color Press con Integrated Fiery Color Server. Stampa di dati variabili

Xerox 700 Digital Color Press con Integrated Fiery Color Server. Stampa di dati variabili Xerox 700 Digital Color Press con Integrated Fiery Color Server Stampa di dati variabili 2008 Electronics for Imaging, Inc. Per questo prodotto, il trattamento delle informazioni contenute nella presente

Dettagli

Lezione 10 Business Process Modeling

Lezione 10 Business Process Modeling Lezione 10 Business Process Modeling Ingegneria dei Processi Aziendali Modulo 1 - Servizi Web Unità didattica 1 Protocolli Web Ernesto Damiani Università di Milano Step dell evoluzione del business process

Dettagli

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati Corso di Access Modulo L2A (Access) 1.1 Concetti di base 1 Prerequisiti Utilizzo elementare del computer Concetti fondamentali di basi di dati 2 1 Introduzione Un ambiente DBMS è un applicazione che consente

Dettagli

Sfrutta appieno le potenzialità del software SAP in modo semplice e rapido

Sfrutta appieno le potenzialità del software SAP in modo semplice e rapido Starter Package è una versione realizzata su misura per le Piccole Imprese, che garantisce una implementazione più rapida ad un prezzo ridotto. E ideale per le aziende che cercano ben più di un semplice

Dettagli

Introduzione... 2. Un software per l automazione di procedure statistiche su dati Pet... 2. Il Pre-Processing... 7. La fase di statistica...

Introduzione... 2. Un software per l automazione di procedure statistiche su dati Pet... 2. Il Pre-Processing... 7. La fase di statistica... Indice Introduzione... 2 Un software per l automazione di procedure statistiche su dati Pet... 2 Il Pre-Processing... 7 La fase di statistica... 12 Algoritmo di classificazione... 13 L interfaccia... 15

Dettagli

STAMPE LASER: TIME_CHECKER.EXE

STAMPE LASER: TIME_CHECKER.EXE STAMPE LASER: TIME_CHECKER.EXE Sommario Cosa è...2 Cosa fa...3 Protezione del software:...3 Protezione delle stampe laser:...3 Modalità di attivazione chiave laser e ricarica contatori dichiarazioni da

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

UML un linguaggio universale per la modellazione del software. Adriano Comai

UML un linguaggio universale per la modellazione del software. Adriano Comai UML un linguaggio universale per la modellazione del software Adriano Comai 2 Finalmente uno standard per l analisi e disegno OO? L'obiettivo è ambizioso. Lo Unified Modeling Language (UML) vuole essere,

Dettagli

Capitolo 3 Guida operativa del programma TQ Sistema

Capitolo 3 Guida operativa del programma TQ Sistema Capitolo 3 Guida operativa del programma TQ Sistema Panoramica delle funzionalità Questa guida contiene le informazioni necessarie per utilizzare il pacchetto TQ Sistema in modo veloce ed efficiente, mediante

Dettagli

Alessandra Raffaetà. Basi di Dati

Alessandra Raffaetà. Basi di Dati Lezione 2 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Basi di Dati

Dettagli

Programmazione II. Lezione 4. Daniele Sgandurra 30/09/2011. daniele.sgandurra@iit.cnr.it

Programmazione II. Lezione 4. Daniele Sgandurra 30/09/2011. daniele.sgandurra@iit.cnr.it Programmazione II Lezione 4 Daniele Sgandurra daniele.sgandurra@iit.cnr.it 30/09/2011 1/46 Programmazione II Lezione 4 30/09/2011 Sommario 1 Esercitazione 2 Panoramica della Programmazione Ad Oggetti 3

Dettagli

Corso Eclipse. Prerequisiti. 1 Introduzione

Corso Eclipse. Prerequisiti. 1 Introduzione Corso Eclipse 1 Introduzione 1 Prerequisiti Uso elementare del pc Esecuzione ricerche su Internet Esecuzione download Conoscenza elementare della programmazione 2 1 Cos è Eclipse Eclipse è un IDE (Integrated

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

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli Prerequisiti Mon Ami 3000 Varianti articolo Gestione di varianti articoli L opzione Varianti articolo è disponibile per le versioni Azienda Light e Azienda Pro e include tre funzionalità distinte: 1. Gestione

Dettagli

Corso Android Corso Online Sviluppo su Cellulari con Android

Corso Android Corso Online Sviluppo su Cellulari con Android Corso Android Corso Online Sviluppo su Cellulari con Android Accademia Futuro info@accademiafuturo.it Programma Generale del Corso di Sviluppo su Cellulari con Android Programma Base Modulo Uno - Programmazione

Dettagli

Concetti fondamentali dei database database Cos'è un database Principali database

Concetti fondamentali dei database database Cos'è un database Principali database Concetti fondamentali dei database Nella vita di tutti i giorni si ha la necessità di gestire e manipolare dati. Le operazioni possono essere molteplici: ricerca, aggregazione con altri e riorganizzazione

Dettagli

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Ingegneria del Software La fase di Analisi Giulio Destri Ing. del software: Analisi - 1 Scopo del modulo Definire

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