Valutazione di strumenti per la modellazione UML

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Valutazione di strumenti per la modellazione UML"

Transcript

1 Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in Ingegneria del Software Valutazione di strumenti per la modellazione UML Anno Accademico 2013/2014 Candidato: Giuseppina De Stefano matr.n

2 Indice Introduzione 3 Da model-based a model-driven 4 Struttura dell'elaborato 4 Capitolo 1. Model Driven Development Unied Modeling Language Model Driven Architecture (MDA) Vantaggi dello sviluppo Model Driven 12 Capitolo 2. Sparx Enterprise Architect Interfaccia graca MDA in Enterprise Architect Generazione automatica del codice in EA 17 Capitolo 3. Un caso di studio reale: sistema di gestione degli spettacoli di un teatro Da PIM a ISM 20 PSM: Java Model 21 PSM: C# Model 21 Generazione del codice di implementazione Diagrammi comportamentali 26 Use case diagram 26 Sequence diagram: prenotazione posto 26 Conclusioni 29 Bibliograa 30 2

3 Introduzione I sistemi basati su elaboratori sono ormai entrati a far parte di molti aspetti della nostra vita quotidiana, a partire dal supporto alle attività commerciali, ai trasporti, alle comunicazioni, alla biomedica, per non parlare dell'automazione industriale e della sicurezza della persona e dei beni. Man mano, nel corso degli anni, questi sistemi diventano sempre più complessi, tali da rendere dicili la progettazione, lo sviluppo e la manutenzione necessaria anché si garantisca che i requisiti di sicurezza ed adabilità siano ancora soddisfatti. In genere, questi sistemi posseggono un'architettura distribuita di grandi dimensioni, in cui la complessità è dovuta anche all'eterogeneità dei componenti, sia per quanto riguarda la parte software che per quella hardware. Quindi, è necessario che il processo di sviluppo renda possibile l'evidenza formale del rispetto dei requisiti. A tale scopo sono stati introdotti alcuni approcci di modellazione formale che consentono l'analisi e la verica e validazione di un modello del sistema. Però, l'applicazione di metodi formali nell'ambito industriale è rallentato dalle dicoltà dovute sia alla complessità dei modelli sia alla necessità di avere personale specializzato nell'uso di linguaggi formali e nello sviluppo di modelli. Così, oltre all'ingegneria del software, si è aermata anche l'ingegneria dei modelli, che denisce le metodologie e i processi necessari a creare le attività di sviluppo di modelli complessi e a migliorare il rapporto qualità/prezzo. Concetti importanti di questo elaborato sono i modelli e lo sviluppo modeldriven con UML. I modelli sono lo strumento chiave per lo sviluppo di software. Rappresentano un'astrazione del sistema e permettono agli sviluppatori di prendere decisioni architetturali importanti prima che l'applicazione sia sviluppata. Però, non è suciente che il modello sia ben progettato. Infatti, può accadere che errori in fase di progettazione vengano rilevati solo nella fasi di implementazione o testing e ciò potrebbe avere un impatto fatale sui costi e sui tempi del progetto. 3

4 Figura MDD Da model-based a model-driven. Nello sviluppo model-based i modelli sono utilizzati nelle fasi di progettazione ed implementazione. Le modiche dei requisiti e del progetto vengono eettuate direttamente sul codice, il che porta ad una situazione in cui i modelli originali non sono più aggiornati e quindi inutili: gli aggiornamenti manuali dei modelli possono richiedere molto tempo e c'è il rischio che i modelli diventino inconsistenti. A questo proposito l'approccio model-driven ha vantaggi signicativi rispetto a quello model-based. I modelli non sono documenti del progetto, ma sono parte di esso e il codice può essere generato automaticamente a partire dai modelli. Le modiche sono eettuate direttamente sui modelli e non più sul codice. Ciò aumenta l'ecienza del sistema e diminuisce i costi e i tempi di sviluppo. Struttura dell'elaborato. Lo scopo di questo elaborato è quello di trovare metodi e strumenti in grado di risolvere il problema di coerenza tra un codice sorgente e un modello, rappresentato come diagramma UML. Esistono molti strumenti creati a tale proposito, quali Visual Paradigm, IBM Rational Software Architect, StarUML, Microsoft Visual Studio, Sparx Enterprise Architect e molti altri. questo elaborato verrà trattato Sparx Enterprise Architect. L'elaborato è strutturato come segue: nel primo capitolo viene introdotta la metodologia di sviluppo Model Driven con UML. nel secondo capitolo viene presentato il CASE tool Enterprise Architect. De Stefano Giuseppina N Valutazione di strumenti per la modellazione UML In

5 nel terzo ed ultimo capitolo viene mostrato un esempio utilizzando il tool descritto nel capitolo precedente. De Stefano Giuseppina N Valutazione di strumenti per la modellazione UML

6 CAPITOLO 1 Model Driven Development I modelli si utilizzano per ragionare sul problema e per trovare una soluzione ad esso. Le relazioni tra i modelli forniscono una rete di dipendenze. Ciò ci permette di denire il tipo di modelli che bisogna costruire e la semantica degli stessi. Inoltre, possiamo denire regole per l'automatizzazione delle operazioni per la conversione di un modello in un altro. Questa metodologia è chiamata Model Driven Development, MDD, che è un paradigma per la scrittura e l'implementazione rapida di applicazioni, ecace e al minimo costo. Lo sviluppo Model-Driven (MDD) mira ad aumentare il livello di astrazione per lo sviluppo software mediante l'uso di modelli come strumenti chiave. MDD sta guadagnando sempre di più l'attenzione di industrie e comunità di ricerca. Quindi, il Model Driven Development rappresenta un'alternativa alla programmazione tradizionale. Infatti, non vi è un codice sorgente da compilare o eseguire, ma viene modellato il sistema che si vuole implementare. La modellazione viene eettuata attraverso strumenti appositi. I modelli vengono poi convertiti in codice eseguibile attraverso una serie di trasformazioni. Le seguenti sezioni presentano un' introduzione allo Unied Modeling Language (UML) e al Model Driven Architecture (MDA) Unied Modeling Language Lo Unied Modeling Language (UML), che potremmo tradurre linguaggio di modellazione unicato, è una famiglia di notazioni grache che si basano su un singolo meta-modello e servono a supportare la descrizione ed il progetto dei sistemi software, in particolare quelli costruiti seguendo il paradigma orientato agli oggetti (OO) [1]. I linguaggi di modellazione hanno fatto parte dell'industria del software per molto tempo. La ragione principale della loro introduzione è il livello di astrazione dei 6

7 1.1. UNIFIED MODELING LANGUAGE linguaggi di programmazione, che non è abbastanza alto da permettere la discussione diretta delle scelte di progetto[1]. Grazie a UML la progettazione può essere eettuata in modo tale che, tutte le persone coinvolte nello sviluppo del sistema, possano comprendere ed esaminare il sistema in maniera eciente ed essere parte attiva della costruzione. La prima versione uciale fu prodotta nel 1997 da OMG (Object Management Group) e da allora divenne uno standard de-facto per la costruzione di software object-oriented. UML: Nello sviluppo del software ci sono molti modi con cui gli sviluppatori utilizzano UML come abbozzo (sketch): UML viene utilizzato per documentare alcuni aspetti del sistema. Gli abbozzi si possono usare sia per il forward engineering che per il reverse engineering. Nel primo caso, si tratta di scrivere il diagramma UML prima del codice; nel secondo caso, si ricostruisce il diagramma partendo dal codice. UML come progetto (blueprint): UML viene utilizzato per guidare la realizzazione o la manutenzione del software. Lo scopo è quello di fornire agli sviluppatori un modello dettagliato su cui basarsi. É rivolto in primis alla completezza del sistema. UML come linguaggio di programmazione : ci sono alcuni tool che generano il codice direttamente dai diagrammi. In questo caso, non è più corretto parlare di reversee forward engingeering, poiché codice sorgente e rappresentazione coincidono. UML denisce 13 diagrammi divisi in due categorie Figura1.1.1: (1) diagrammi strutturali, che deniscono l'architettura statica del sistema. Sono utilizzati per modellare le relazioni e le dipendenze tra gli elementi. Esempi di diagrammi strutturali sono: Class diagrams: descrivono il tipo degli oggetti che compongono il sistema e le relazioni statiche esistenti tra loro. Package diagrams: sono utilizzati per dividere il modello in contenitori logici, o package, per descrivere le interazioni tra essi ad alto livello. De Stefano Giuseppina N Valutazione di strumenti per la modellazione UML

8 1.1. UNIFIED MODELING LANGUAGE Figura diagrammi UML Object diagrams: mostrano come le istanze degli elementi sono collegati tra loro a tempo di esecuzione. Component diagrams: evidenziano l'organizzazione e le dipendenze tra i componenti software. Deployment diagrams: modellano l'architettura del sistema a run-time. Mostrano la congurazione degli elementi hardware, nodi, e come gli elementi software sono mappati su questi nodi. Composite structure: mostra la struttura interna, includendo le interazioni tra le parti del sistema. (2) diagrammi comportamentali, che descrivono il comportamento dinamico di un sistema: Use case diagrams: sono utilizzati per descrivere le interazioni tra gli attori e il sistema. Interaction diagrams: fondono i sequence diagram e gli activity diagram. De Stefano Giuseppina N Valutazione di strumenti per la modellazione UML

9 1.2. MODEL DRIVEN ARCHITECTURE (MDA) Statecharts diagram: modellano il comportamento di un singolo oggetto, specicando come esso reagisce quando riceve un segnale oppure in seguito ad un evento mediante azioni e transizioni. Activity diagrams: sono utilizzati per mostrare la sequenza di attività; mostrano il usso dall'inizio alla ne; permettono di modellare processi paralleli e la loro sincronizzazione. Communication diagrams: rappresentano un insieme di oggetti che collaborano per realizzare il comportamento di uno scenario di un caso d'uso. Timing diagrams: fondono i sequence diagram e gli statechart. Sequence diagrams: deniscono la logica di uno scenario di un caso d'uso, specicando la sequenza temporale dei messaggi che gli oggetti si scambiano. Il vantaggio dell'utilizzo di UML sta nel fatto che, è molto più semplice apportare modiche ad un modello piuttosto che al codice sorgente. Infatti, molti dei bug presenti nei software sono dovuti ad errori in fase di progettazione. Se si crea un modello robusto e ben strutturato, secondo i requisiti richiesti, non si avrebbero problemi nel convertirlo in codice e a renderlo funzionante. Quindi, è necessario concentrarsi maggiormente sulla revisione e il miglioramento del modello UML, piuttosto che sul codice sorgente Model Driven Architecture (MDA) Il Model Driven Architecture è stato introdotto dall'organizzazione OMG nel MDA è un approccio di progettazione per lo sviluppo di sistemi software. Fornisce una serie di linee guida per strutturare le speciche, che sono espresse come modelli. Sono stati scelti i modelli come oggetto centrale perché aiutano i progettisti a ragionare sulla progettazione del sistema, ignorando i dettagli extra e dando maggiore attenzione ai problemi rilevanti. Inoltre, l'approccio Model Driven allo sviluppo del software permette alle persone di lavorare insieme su un progetto, anche se i loro livelli di esperienza individuali variano notevolmente. MDA supporta il model driven engineering di sistemi software. Bisogna sottolineare che, anche se De Stefano Giuseppina N Valutazione di strumenti per la modellazione UML

10 1.2. MODEL DRIVEN ARCHITECTURE (MDA) MDD e MDA si riferiscono alla stessa metodologia, MDA è solo uno stile di MDD, che ore la possibilità di denire regole per automatizzare le operazioni necessarie per convertire un modello in un altro. Poiché queste operazioni automatiche di conversione dei modelli sono l'oggetto principale di questo elaborato, da ora in poi utilizzeremo il termine MDA. Essenzialmente, MDA è una tecnica standard per utilizzare UML come linguaggio di programmazione [1]. MDA viene spesso associato a UML, poiché lo utilizza come linguaggio di modellazione base, anche se naturalmente si può usare UML senza farvi riferimento [1]. MDA suddivide lo sviluppo software in quattro aree principali: (1) CIM (Computation Indipendent Model): riette le attività e i loro modelli, denito a livello di dominio del problema (2) PIM (Platform Indipendent Model): è un modello che riette l'analisi e i modelli di progettazione del sistema software da sviluppare, denito nel dominio della soluzione. (3) PSM (Platform Specic Model): riette i modelli di progettazione dettagliati del sistema software in costruzione, denito a livello di dominio software (4) ISM (Implementation Specic Model): riette l'implementazione e l'esecuzione dei modelli, denito a livello di dominio dell'implementazione Figura MDA I componenti di MDA, illustrati nella Figura1.2.1, rappresentano tutte le attività incluse nel processo di sviluppo software Model Driven. Un Computation Indipendent Model descrive come un sistema dovrebbe comportarsi in termini di un linguaggio adatto ad un utente (ad esempio un progettista De Stefano Giuseppina N Valutazione di strumenti per la modellazione UML

11 1.2. MODEL DRIVEN ARCHITECTURE (MDA) didattico). Si focalizza sull'ambiente e sulle speciche del sistema, nascondendo i dettagli strutturali. Un Platform Indipendent Model raccoglie tutte le informazioni necessarie dal CIM per descrivere il comportamento del sistema in modo indipendente dalla piattaforma su cui sarà implementato. Si focalizza sul funzionamento del sistema, nascondendo i dettagli specici della piattaforma. Quindi, può essere utilizzato su diverse piattaforme. Un Platform Specic Model descrive il sistema dal punto di vista di una specica piattaforma e comprende anche le speciche del PIM con i dettagli che specicano come il sistema utilizza un particolare tipo di piattaforma. Un Implementation Specic Model è una descrizione del codice del sistema. La trasformazione da CIM a PIM viene eettuata manualmente, mentre quelle da PIM a PSM e da PSM a ISM vengono eettuate automaticamente con appositi strumenti. In MDA, i modelli indipendenti dalla piattaforma (PIM) sono inizialmente espressi in un linguaggio di modellazione indipendente dalla piattaforma, come ad esempio UML [2]. Il modello indipendente dalla piattaforma viene successivamente tradotto in un modello specico (PSM), mappando il PIM in uno specico linguaggio di implementazione o piattaforma (ad esempio, Java, C++) utilizzando le regole formali [2]. La trasformazione da PIM a PSM permette di ottenere un'applicazione sviluppata in uno specico linguaggio. Inne, dal PSM viene generato il codice (ISM). Se il processo che converte un modello in un altro è automatico, allora si può utilizzare UML come linguaggio di programmazione, altrimenti, come nel caso della trasformazione da CIM a PIM, che avviene manualmente, si parla di blueprint(vedi 1.1). Grazie a MDA è possibile diminuire lo sforzo implementativo e ciò permette di diminuire anche i tempi ed i costi di produzione del software. Il suo successo è dovuto al fatto che la generazione automatica del codice partendo da un modello è meno problematica dell'implementazione manuale del codice. L'automazione è il mezzo tecnologico più ecace per incrementare la produttività e l'adabilità di un sistema software. De Stefano Giuseppina N Valutazione di strumenti per la modellazione UML

12 1.2. MODEL DRIVEN ARCHITECTURE (MDA) Figura MDA bridge Vantaggi dello sviluppo Model Driven. L'adozione di MDA comporta una serie di vantaggi. Il primo fra tutti riguarda l'aumento della produttività. Lavorare a livello PIM vuol dire non doversi preoccupare dei dettagli tecnici e tecnologici che si troveranno a livello PSM. Il PIM è un modello di business e quindi si tratta di qualcosa più vicino alla realtà così come richiesta dall'utente nale, che porta, quindi, a sviluppare meglio e in meno tempo il sistema desiderato. Un altro vantaggio risiede nella portabilità. Un PIM è, per denizione, un modello indipendente dalla piattaforma e quindi sempre valido, a prescindere dalla tecnologia che verrà poi utilizzata per costruire i PSM. Quindi, tutto ciò che è contenuto nei PIM è portabile. L'unico problema potrebbe essere quello di trovare appositi tool che permettano di trasformare un PIM in diversi PSM. Un ulteriore vantaggio è dato dall'interoperabilità: da uno stesso PIM si possono derivare tanti PSM, specici per una piattaforma. L'insieme dei diversi PSM può avere interrelazioni, chiamate bridge Figura Per costruire un bridge, bisogna trovare una corrispondenza tra gli elementi caratteristici di un dato PSM e quelli caratteristici di un altro PSM. De Stefano Giuseppina N Valutazione di strumenti per la modellazione UML

13 CAPITOLO 2 Sparx Enterprise Architect 9.0 Esistono diversi CASE (Computer- Aided Software Engineering) tool [7] di modellazione, gratuiti e non. La scelta dello strumento per la modellazone di un sistema con UML dipende dalle proprie esigenze, nonché dal budget che si ha a disposizione. Per questo lavoro si è scelto di utilizzare Enterprise Architect 9.0. Enterprise architect è un CASE tool sviluppato dalla compagnia australiana Sparx Systems [3]. È possibile scaricare gratuitamente una versione di prova di 30 giorni dal sito uciale [3]. Le piattaforme supportate sono Windows e Linux. Il tool di Sparx è utilizzato per lo sviluppo di vari tipi di sistemi software per una vasta gamma di settori, tra cui: aerospaziale, bancario, sviluppo web, ingegneria, nanza, medicina, militare, della ricerca, del mondo accademico, dei trasporti, ingegneria elettrica e molti altri. È anche utilizzato ecacemente per UML e architettura di business ai ni della formazione in molte scuole importanti, strutture educative e università di tutto il mondo. EA è un tool per la gestione dei requisiti, l'analisi e lo sviluppo di sistemi software e per la modellazione del processo di business. Permette una rappresentazione completa ed intuitiva delle caratteristiche e dei requisiti di un sistema software. Dispone di una modellazione graca basata sui 13 formalismi deniti nelle speciche UML 1.1. Inoltre, consente di denire relazioni sia tra i requisiti che tra gli elementi di modelli diversi. Il tool supporta l'intero processo di sviluppo software no ad arrivare alla generazione automatica del codice in accordo con gli standard deniti dal MDA 1.2. Vi è anche la possibilità di trasformare i diagrammi UML in altri formati, quali XSD deniti da XMI [4]. Oltre al forward e reverse engineering, EA supporta anche la tracciabilità della documentazione di progetto, nonché una serie di funzionalità di groupware, per consentire la comunicazione e il lavoro in parallelo di diversi teamm impegnati nello stesso progetto. Quindi, EA è un CASE tool che copre l'intero ciclo di vita del software, dalla fase di analisi e progettazione, no 13

14 al testing e la manutenzione del sistema. È possibile, inoltre, l'integrazione con altri IDE commerciali, come ad esempio Visual Studio [6] ed Eclipse [5]. Presenta un framework di supporto per le tecnologie MDG (Model Driven Generation): l'utente può importare risorse di una specica tecnologia per estendere le capacità di modellazione del tool. Figura Sparx EA La generazione del codice e il reverse engineering sono una parte importante di Enterprise Architect, con il supporto di oltre 10 linguaggi. L'integrazione con Eclipse e Visual Studio ore un accesso diretto ai modelli, alla loro modica, il tutto all'interno di IDE scelto dall'utente. Il tool sostiene le trasformazioni avanzate MDA utilizzando semplici modelli. Ci sono diversi linguaggi inclusi in Enterprise Architect come ad esempio: C#, DDL, EJB, Java, JUnit, NUnit, WSDL, XSD. Enterprise Architect supporta un'ampia gamma di standard aperti per la progettazione e la modellazione di sistemi software: UML SysML BPMN BPEL SoaML SPEM WSDL De Stefano Giuseppina N Valutazione di strumenti per la modellazione UML

15 XSD DDS ArchiMate Geography Markup Language (GML) ODM, OWL e RDF Purtroppo la maggior parte di queste funzionalità sono incluse nella versione aziendale, che è più sosticata e più costosa e non fa parte della versione di valutazione gratuita. Interfaccia graca. Il tool di Sparx si presenta molto intuitivo. L'utente può personalizzare il tavolo di lavoro come meglio desidera, semplicemente aggiungendo o eliminando le viste (View) o spostando i vari pannelli. Nella toolbox appaiono tutti gli strumenti relativi al modello che si sta costruendo. Ad esempio, verranno mostrati gli elementi utili per costruire un class diagram Figura2.0.2: Figura Toolbox/Project Browser De Stefano Giuseppina N Valutazione di strumenti per la modellazione UML

16 2.1. MDA IN ENTERPRISE ARCHITECT Sulla sinistra, invece, vi è il Project Browser, in cui vengono mostrati i vari modelli del progetto Figura MDA in Enterprise Architect La trasformazione MDA fornisce un modo per convertire un modello o parti di esso in altri modelli. Ciò comporta la conversione da PIM a PSM 1.2: un elemento singolo del PIM può essere responsabile della creazione di più elementi PSM. Le trasformazioni comportano un aumento della produttività e riducono la necessità di implementare manualmente il codice. Il tool Enterprise Architect include alcune trasformazioni di base integrate, come da PIM a Data Model, da PIM a C #, da PIM a Java e da PIM a XSD. EA legge il le di origine e lo associa al nuovo PSM. Crea anche le associazioni interne tra ogni PSM creato e il PIM originale. Questo è fondamentale, in quanto consente di sincronizzare il PIM con il PSM spesso, aggiungendo o eliminando funzionalità.. Così, per esempio, l'aggiunta di un nuovo attributo ad una classe PIM può essere sincronizzato con una nuova colonna del modello di dati. Cosa molto importante è che non vengono cancellate o sovrascritte eventuali caratteristiche di elementi che non erano originariamente generati dalla trasformazione. Così è possibile aggiungere nuovi metodi agli elementi. Le trasformazioni attualmente possibili sono: DDL - trasforma elementi di una classe indipendente dalla piattaforma in elementi delle tabelle di una specica piattaforma. EJB Entity - trasforma elementi di una classe indipendente dalla piattaforma in package contenenti gli elementi della classe e dell' interfaccia che compongono un EJB Entity Bean. EJB Session - trasforma elementi di una classe indipendente dalla piattaforma in package contenenti gli elementi della classe e dell' interfaccia che compongono un EJB Session Bean. Java - trasforma gli elementi di un PIM in elementi in linguaggio Java. C# - converte un PIM in un set di impementazione standard C#. XSD - trasforma elementi indipendenti dalla piattaforma in elementi XSD. De Stefano Giuseppina N Valutazione di strumenti per la modellazione UML

17 2.2. GENERAZIONE AUTOMATICA DEL CODICE IN EA Figura MDA in EA Il principio generale è abbastanza semplice: EA fornisce l'accesso ai diversi elementi (classi, attributi, operazioni, ecc) del modello UML originario. Il linguaggio di scripting denisce le regole con cui le proprietà di ogni elemento possono essere copiate e / o trasformate in un corrispondente elemento del modello di destinazione. EA costruisce anche le associazioni interne tra ogni PSM e il PIM di origine. EA fornisce una piattaforma MDA solida ed estensibile, grazie a template di generazione del codice, proli UML, patterns UML, frameworks, capacità di reverse engineering e uan completa automazione dell'api per lo scripting e l'estensione Generazione automatica del codice in EA Il tool fornisce un ambiente di progettazione e strumenti per la generazione automatica del codice, per il reverse engineering e per la sincronizzazione tra codice sorgente De Stefano Giuseppina N Valutazione di strumenti per la modellazione UML

18 2.2. GENERAZIONE AUTOMATICA DEL CODICE IN EA e modello. La generazione del codice sorgente (forward engineering) prende gli elementi di un diagramma UML e crea un codice sorgente equivalente che verrà poi elaborato e compilato. Con il forward engineering, si evita di dover implementare manualmente classi e metodi. Avviene tutto automaticamente e la simmetria tra il modello ed il codice è assicurata. Enterprise Architect supporta la generazione del codice nei seguenti linguaggi: Action Script C C# C++ Delphi Java PHP Python Visual Basic Visual Basic.NET Il codice viene generato dagli elementi delle classi. Gli attributi diventano variabili e le operazioni diventano metodi. Prima di generare il codice, bisogna assicurarsi che le impostazioni di default per la generazione del codice siano compatibili con le proprie esigenze. Le impostazioni di default si possono trovare nella pagina Source Code Engineering nella nestra Options: selezionare Tools Options Source Code Engineering menu option Figura De Stefano Giuseppina N Valutazione di strumenti per la modellazione UML

19 2.2. GENERAZIONE AUTOMATICA DEL CODICE IN EA Figura Source Code Engineering De Stefano Giuseppina N Valutazione di strumenti per la modellazione UML

20 CAPITOLO 3 Un caso di studio reale: sistema di gestione degli spettacoli di un teatro In questo capitolo si applicherà la metodologia di modellazione 1, proposta nei capitoli precedenti al caso di studio del sistema di gestione degli spettacoli di un teatro, utilizzando il tool di Sparx 2. Il sistema è costituito dai seguenti elementi: I posti di un teatro: ogni teatro è suddiviso in aree (ad esempio, platea e galleria). Il prezzo di un posto dipende dal teatro, dallo spettacolo e dall'area. Le aree sono divise in settori, ciascuno dei quali contiene dei posti. In un teatro i posti sono identicati da un numero di la e colonna, ma nel biglietto va indicato anche il settore. Le prenotazioni dei posti: un cliente può prenotare uno o più posti per un certo evento. In una prenotazione, tutti i posti devono riguardare un singolo settore. Le prenotazioni hanno associato un codice, oltre a nome e cognome del cliente. Le prenotazioni decadono dopo una settimana dal momento in cui vengono eettuate. La vendita dei posti: un cliente può acquistare dei posti prenotati (indicando il codice della prenotazione), oppure acquistare direttamente dei posti. Procediamo ora con la modellazione del sistema e mostriamo un pratico esempio su come attuare lo sviluppo model driven Da PIM a ISM Al ne di fornire una descrizione statica del sistema si è utilizzato il diagramma delle classi Figura

21 3.1. DA PIM A ISM Figura Class Diagram Sono state aggiunte, oltre agli attributi, anche le operazioni eseguite da ciascuna classe, per una descrizione più dettagliata. Facendo click destro su ciascun elemento, comprese le associazioni e le generalizzazioni, è possibile modicare le impostazioni. Vediamo ora com'è possibile generare un modello dipendente dalla paittaforma a partire dal PIM appena descritto. PSM: Java Model. Considerando il class diagram Figura3.1.1, si è attuata la trasformazione nel modello Java (Tools Model Transformation(MDA) Transform Current Package) Figura3.1.2: Il risultato della trasformazione è un PSM. Si può notare Figura3.1.3 che il modello ottenuto è costituito dalle stesse classi dell'originale, ma con l'aggiunta di nuove funzioni necessarie per implementare il sistema nel linguaggio specicato, in questo caso Java. PSM: C# Model. L'innovazione dell'utilizzo del model driven permette di generare diversi PSM a partire dallo stesso PIM. Per esempio, considerando ancora una volta il diagramma delle classi Figura3.1.1, possiamo generare un modello De Stefano Giuseppina N Valutazione di strumenti per la modellazione UML

22 3.1. DA PIM A ISM Figura Model Transformation Figura Java model De Stefano Giuseppina N Valutazione di strumenti per la modellazione UML

23 3.1. DA PIM A ISM Figura C# model C# Figura3.1.4, che risulterà completamente diverso dal Java Model Figura Seguiamo lo stesso procedimento utilizzato per la trasformazione nel modello Java. Notiamo, inoltre, che i tipi di dati generici sono stati convertiti in tipi Java e che sono state create funzioni di accesso. Generazione del codice di implementazione. Il PSM generato può ora essere utilizzato come modello di origine per generare il codice, tramite il modello di generazione di codice predenito di EA. Il tool ore un editor integrato da cui è possibile visualizzare il codice sorgente: facendo click destro su ciascuna classe, l'opzione View source code mostrerà il codice relativo a tale classe Figura3.1.5 Figura Questo codice può essere ulteriormente modicato, compilato e costruito utilizzando un apposito IDE, come ad esempio Eclipse. Quando si genera il codice per una determinata lingua, è possibile impostare alcune opzioni, tra cui creare un costruttore di default, creare una distruttore, generare un costruttore di copia, selezionare la lingua predenita, generare metodi per interfacce implementate e impostare le opzioni Unicode per la generazione del codice. Tutto ciò è possibile accedendo Tools De Stefano Giuseppina N Valutazione di strumenti per la modellazione UML

24 3.1. DA PIM A ISM Figura Source code java Figura Source code C# De Stefano Giuseppina N Valutazione di strumenti per la modellazione UML

25 3.1. DA PIM A ISM Options Source Code Engineering.Figura3.1.7Figura3.1.8 Figura Java options Figura C# options De Stefano Giuseppina N Valutazione di strumenti per la modellazione UML

26 3.2. DIAGRAMMI COMPORTAMENTALI 3.2. Diagrammi comportamentali Passiamo ora ad analizzare il comportamento del sistema. Per fare ciò, si è ricorso all'utilizzo di un case use diagram e di un sequence diagram. Use case diagram. Il diagramma dei casi d'uso è stato costruito applicando le regole fornite dalla teoria dell'ingegneria del software.figura3.2.1: Figura Use case Diagram Sequence diagram: prenotazione posto. Mostriamo il sequence diagram riguardante la funzionalità di prenotazione di un posto da parte di un cliente Figura Il diagramma è stato costruito eseguendo un drag & drop delle classi dal Java Model. In questo modo, ogni classe conterrà i vari metodi e sarà possibile inserire le funzioni relative al caso d'uso automaticamente Figura Anche in questo caso è possibile visualizzare il codice sorgente delle classi tramite l'editor integratofigura De Stefano Giuseppina N Valutazione di strumenti per la modellazione UML

27 3.2. DIAGRAMMI COMPORTAMENTALI Figura Sequence diagram Figura Message properties De Stefano Giuseppina N Valutazione di strumenti per la modellazione UML

28 3.2. DIAGRAMMI COMPORTAMENTALI Figura code from sequence diagram De Stefano Giuseppina N Valutazione di strumenti per la modellazione UML

29 Conclusioni In questo elaborato si è denito un nuovo approccio per la modellazione e l'analisi di sistemi complessi, basato su tecniche e strumenti Model Driven, con l'obiettivo di generare il codice automaticamente a partire dai modelli. Si è voluto dimostrare come è più semplice lavorare sui modelli anziché direttamente sul codice, evitando così la comparsa di errori nelle fasi successive. Quindi, è necessario dedicare più tempo alla fase di modellazione, apportando le eventuali modiche ai modelli, per prevenire che errori vengano rilevati successivamente, quando sarà più complicato risolverli. L'obiettivo principale dello sviluppo Model Driven è quello di migliorare la produttività, diminuendo i tempi e i costi di produzione. Il suo successo è dovuto al fatto che la generazione automatica del codice partendo da un modello è meno problematica dell'implementazione manuale del codice. L'automazione è il mezzo tecnologico più ecace per incrementare la produttività e l'adabilità di un sistema software. Esistono molti strumenti che permettono di utilizzare tale approccio. Per questo elaborato si è scelto Sparx Enterprise Architect: lo strumento è risultato intuitivo e facile da utilizzare. Si è visto come è possibile generare il codice automaticamente con poche operazioni, mentre altri tool necessitano di maggiori impostazioni. Per questa sua capacità, il tool è molto utilizzato nelle aziende per creare applicazioni ecienti in tempi ridotti. 29

30 Bibliograa [1] UML distilled: guida rapida al linguaggio di modellazione standard- Martin Flower, Terza Edizione, Addison-Wesley [2] Model-Driven Architecture: Vision, Standards And Emerging Technologies, [3] Sparx Enterprise Architect, [4] XMI, [5] MDG integration for Eclipse, [6] MDG integration for Visual Studio, [7] CASE tools, [8] Eclipse, 30

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

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

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

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

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. *+33(GLWRU GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. Il programma si basa su un architettura di tasti funzionali presenti

Dettagli

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale La soluzione modulare di gestione del Sistema Qualità Aziendale I MODULI Q.A.T. - Gestione clienti / fornitori - Gestione strumenti di misura - Gestione verifiche ispettive - Gestione documentazione del

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 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

Programmazione a Oggetti Modulo B

Programmazione a Oggetti Modulo B Programmazione a Oggetti Modulo B Progetto Dott. Alessandro Roncato 4/10/2011 Progetto Da svolgere singolarmente Scadenza consegna: una settimana prima dello scritto; Valutazione in base a: Corretta compilazione

Dettagli

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

Università degli Studi Roma Tre Dipartimento di Informatica ed automazione. Facoltà di Ingegneria Università degli Studi "Roma Tre" Dipartimento di Informatica ed automazione Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Tesi di Laurea AUTENTICAZIONE PER APPLICAZIONI WEB Relatore

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

Sistemi Informativi I Caso di studio con applicazione di UML

Sistemi Informativi I Caso di studio con applicazione di UML 9 CASO DI STUDIO CON APPLICAZIONE DI UML...2 9.1 IL CASO DI STUDIO...2 9.1.1 Il sistema attuale...2 9.2 IL PROBLEM STATEMENT...3 9.2.1 Formulazione del Problem statement per il caso proposto...3 9.3 USE

Dettagli

SysAround S.r.l. L'efficacia delle vendite è l elemento centrale per favorire la crescita complessiva dell azienda.

SysAround S.r.l. L'efficacia delle vendite è l elemento centrale per favorire la crescita complessiva dell azienda. Scheda Il CRM per la Gestione delle Vendite Le organizzazioni di vendita sono costantemente alla ricerca delle modalità migliori per aumentare i ricavi aziendali e ridurre i costi operativi. Oggi il personale

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

Il web server Apache Lezione n. 3. Introduzione

Il web server Apache Lezione n. 3. Introduzione Procurarsi ed installare il web server Apache Introduzione In questa lezione cominciamo a fare un po di pratica facendo una serie di operazioni preliminari, necessarie per iniziare a lavorare. In particolar

Dettagli

Sequence Diagram e Collaboration Diagram

Sequence Diagram e Collaboration Diagram Sequence Diagram e Collaboration Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Sommario Interaction

Dettagli

Mon Ami 3000 Produzione base Produzione articoli con distinta base e calcolo dei fabbisogni

Mon Ami 3000 Produzione base Produzione articoli con distinta base e calcolo dei fabbisogni Prerequisiti Mon Ami 3000 Produzione base Produzione articoli con distinta base e calcolo dei fabbisogni L opzione Produzione base è disponibile per le versioni Azienda Light e Azienda Pro. Introduzione

Dettagli

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

Dettagli

MANUALE PARCELLA FACILE PLUS INDICE

MANUALE PARCELLA FACILE PLUS INDICE MANUALE PARCELLA FACILE PLUS INDICE Gestione Archivi 2 Configurazioni iniziali 3 Anagrafiche 4 Creazione prestazioni e distinta base 7 Documenti 9 Agenda lavori 12 Statistiche 13 GESTIONE ARCHIVI Nella

Dettagli

Project Planning. Politecnico di Milano. Progetto di Ingegneria del Software 2. 15 novembre 2011. Elisabetta Di Nitto Raffaela Mirandola

Project Planning. Politecnico di Milano. Progetto di Ingegneria del Software 2. 15 novembre 2011. Elisabetta Di Nitto Raffaela Mirandola Politecnico di Milano Progetto di Ingegneria del Software 2 Project Planning Autori: Claudia Foglieni Giovanni Matteo Fumarola Massimo Maggi Professori: Elisabetta Di Nitto Raffaela Mirandola 15 novembre

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo

Dettagli

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1 Pagina 1 Sommario...1 Apertura...2 Visualizzazioni...2 Elenco...2 Testo sul pulsante e altre informazioni...3 Comandi...3 Informazioni...4 Flow chart...5 Comandi...6 Pulsanti Principali e Pulsanti Dipendenti...6

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

Manuale Utente Amministrazione Trasparente GA

Manuale Utente Amministrazione Trasparente GA Manuale Utente GA IDENTIFICATIVO DOCUMENTO MU_AMMINISTRAZIONETRASPARENTE-GA_1.0 Versione 1.0 Data edizione 03.05.2013 1 Albo Pretorio On Line TABELLA DELLE VERSIONI Versione Data Paragrafo Descrizione

Dettagli

Elementi di UML (7): Diagrammi dei componenti e di deployment

Elementi di UML (7): Diagrammi dei componenti e di deployment Elementi di UML (7): Diagrammi dei componenti e di deployment Università degli Studi di Bologna Facoltà di Scienze MM. FF. NN. Corso di Laurea in Scienze di Internet Anno Accademico 2004-2005 Laboratorio

Dettagli

Panoramica: che cosa è necessario

Panoramica: che cosa è necessario Scheda 02 L installazione dell SDK G IOVANNI PULITI Panoramica: che cosa è necessario Per poter lavorare con applicazioni Java o crearne di nuove, il programmatore deve disporre di un ambiente di sviluppo

Dettagli

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)

Dettagli

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da ARPA Fonte Dati Regione Toscana Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.0 Data emissione 06/08/13 Stato DRAFT 1 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 2 Sommario

Dettagli

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste versione 2.1 24/09/2015 aggiornamenti: 23-set-2015; 24-set-2015 Autore: Francesco Brunetta (http://www.francescobrunetta.it/)

Dettagli

Esercizi su. Funzioni

Esercizi su. Funzioni Esercizi su Funzioni ๒ Varie Tracce extra Sul sito del corso ๓ Esercizi funz_max.cc funz_fattoriale.cc ๔ Documentazione Il codice va documentato (commentato) Leggibilità Riduzione degli errori Manutenibilità

Dettagli

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone BASI DI DATI per la gestione dell informazione Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone Libro di Testo 22 Chianese, Moscato, Picariello e Sansone BASI DI DATI per la Gestione dell

Dettagli

Elenco dei manuali. Elenco dei manuali dell'utente di MEGA

Elenco dei manuali. Elenco dei manuali dell'utente di MEGA Elenco dei manuali Elenco dei manuali dell'utente di MEGA MEGA 2009 SP4 1ª edizione (giugno 2010) Le informazioni contenute nel presente documento possono essere modificate senza preavviso e non costituiscono

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

ESERCITAZIONE Semplice creazione di un sito Internet

ESERCITAZIONE Semplice creazione di un sito Internet ESERCITAZIONE Semplice creazione di un sito Internet Sistemi e Tecnologie Informatiche - Prof. Gregorio Cosentino 1 Internet Una rete globale che connette milioni di computer in tutto il mondo, anarchica

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

ISTITUTO TECNICO ECONOMICO MOSSOTTI

ISTITUTO TECNICO ECONOMICO MOSSOTTI CLASSE III INDIRIZZO S.I.A. UdA n. 1 Titolo: conoscenze di base Conoscenza delle caratteristiche dell informatica e degli strumenti utilizzati Informatica e sistemi di elaborazione Conoscenza delle caratteristiche

Dettagli

Visual basic base Lezione 01. L'ambiente di sviluppo

Visual basic base Lezione 01. L'ambiente di sviluppo L'ambiente di sviluppo L'ambiente di sviluppo Visual basic è un linguaggio di programmazione Microsoft. In questo corso prenderemo in considerazione, l'ultima versione. net di questo linguaggio. Microsoft

Dettagli

WorkFLow (Gestione del flusso pratiche)

WorkFLow (Gestione del flusso pratiche) WorkFLow (Gestione del flusso pratiche) Il workflow è l'automazione di una parte o dell'intero processo aziendale dove documenti, informazioni e compiti vengono passati da un partecipante ad un altro al

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

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere. UML e i Casi d USO I casi d uso specificano una sequenza di azioni che producono un risultato visibile agli attori del sistema. Essi nascono per fornire descrizioni delle capacità del sistema. I casi d

Dettagli

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Manuale Amministratore Legalmail Enterprise Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Pagina 2 di 16 Manuale Amministratore Legalmail Enterprise Introduzione a Legalmail Enterprise...3

Dettagli

Implementazione di MVC. Gabriele Pellegrinetti

Implementazione di MVC. Gabriele Pellegrinetti Implementazione di MVC Gabriele Pellegrinetti 2 Come implementare il pattern Model View Controller con le tecnologie JSP, ASP e XML Implementazione del pattern MVC in Java (JSP Model 2) SUN è stato il

Dettagli

X-Letter Gestione Newsletter (versione template o landing pages)

X-Letter Gestione Newsletter (versione template o landing pages) X-Letter Gestione Newsletter (versione template o landing pages) E' un prodotto disponibile esclusivamente online per eseguire operazioni di invio di comunicazioni periodiche (Newsletter) ad utenti classificati

Dettagli

STRUMENTI DI PRESENTAZIONE MODULO 6

STRUMENTI DI PRESENTAZIONE MODULO 6 STRUMENTI DI PRESENTAZIONE MODULO 6 2012 A COSA SERVE POWER POINT? IL PROGRAMMA NASCE PER LA CREAZIONE DI PRESENTAZIONI BASATE SU DIAPOSITIVE (O LUCIDI) O MEGLIO PER PRESENTARE INFORMAZIONI IN MODO EFFICACE

Dettagli

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) (Da effettuare non prima del 01/01/2011) Le istruzioni si basano su un azienda che ha circa 1000 articoli, che utilizza l ultimo

Dettagli

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle

Dettagli

RIFERIMENTI ATTORI GLOSSARIO. ERRORI COMUNI REV. REQUISITI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova

RIFERIMENTI ATTORI GLOSSARIO. ERRORI COMUNI REV. REQUISITI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova RIFERIMENTI ERRORI COMUNI REV. REQUISITI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2014 2015 I riferimenti devono essere precisi

Dettagli

IBM Software Demos The Front-End to SOA

IBM Software Demos The Front-End to SOA Oggi, imprese piccole e grandi utilizzano software basato sull'architettura SOA (Service-Oriented Architecture), per promuovere l'innovazione, ottimizzare i processi aziendali e migliorare l'efficienza.

Dettagli

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore ARPA Fonte Dati Regione Toscana 1 Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.1 Data emissione 09/10/13 Stato FINAL 2 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 1.1 09/10/2013

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

ING SW. Progetto di Ingegneria del Software. e-travel. Requisiti Utente. Specifiche Funzionali del Sistema

ING SW. Progetto di Ingegneria del Software. e-travel. Requisiti Utente. Specifiche Funzionali del Sistema Pagina: 1 e-travel ING SW Progetto di Ingegneria del Software e-travel Requisiti Utente Specifiche Funzionali del Sistema e Pagina: 2 di 9 Indice dei contenuti 1 INTRODUZIONE... 3 1.1 SCOPO DEL DOCUMENTO...

Dettagli

Guida alla registrazione on-line di un DataLogger

Guida alla registrazione on-line di un DataLogger NovaProject s.r.l. Guida alla registrazione on-line di un DataLogger Revisione 3.0 3/08/2010 Partita IVA / Codice Fiscale: 03034090542 pag. 1 di 17 Contenuti Il presente documento è una guida all accesso

Dettagli

Cerca Compra Vendi. Guida passo per passo all utilizzo del sito

Cerca Compra Vendi. Guida passo per passo all utilizzo del sito Cerca Compra Vendi Guida passo per passo all utilizzo del sito La registrazione Prima di poter iniziare ad inserire annunci sul sito cerca compra vendi è necessario procedere alla registrazione di un account

Dettagli

EDICOLA MANAGER 2.2. + EM Importer

EDICOLA MANAGER 2.2. + EM Importer EDICOLA MANAGER 2.2 + EM Importer Con la versione 2.2 del programma sono state introdotte numerose novità grazie anche alla collaborazione di colleghi che hanno messo a disposizione utility e documenti

Dettagli

Specifiche dello sviluppo di un progetto software e indicazioni sulla documentazione e sulle modalità di esercizio delle prestazioni

Specifiche dello sviluppo di un progetto software e indicazioni sulla documentazione e sulle modalità di esercizio delle prestazioni Specifiche dello sviluppo di un progetto software e indicazioni sulla documentazione e sulle modalità di esercizio delle prestazioni Redatto dalla Commissione per l elettronica, l informatica e la telematica

Dettagli

Sviluppo di processi per l automatizzazione del testing per applicazioni Android

Sviluppo di processi per l automatizzazione del testing per applicazioni Android tesi di laurea Sviluppo di processi per l automatizzazione del testing per applicazioni Anno Accademico 2011/2012 relatori Ch.mo prof. Porfirio Tramontana candidato Enrico Solimeo Matr. 534002361 Contesto:

Dettagli

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito) Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito) Le seguenti istruzioni sono relative all installazione di IBM SPSS Modeler Text Analytics versione 15 mediante un licenza

Dettagli

Configurazione di Outlook Express

Configurazione di Outlook Express OUTLOOK Outlook Express è il client di posta elettronica sviluppato da Microsoft, preinstallato su sistemi operativi Windows a partire da Windows 98 fino all'uscita di Windows XP. Con l'arrivo di Windows

Dettagli

Il CRM per la Gestione del Servizio Clienti

Il CRM per la Gestione del Servizio Clienti Scheda Il CRM per la Gestione del Servizio Clienti Le Soluzioni CRM aiutano le aziende a gestire i processi di Servizio e Supporto ai Clienti. Le aziende di Servizio stanno cercando nuove modalità che

Dettagli

Guida autore all'uso di Lotus Quickr

Guida autore all'uso di Lotus Quickr Guida autore all'uso di Lotus Quickr Operazioni preliminari Lotus Quickr è la nuova piattaforma collaborativa IBM per la creazione e la gestione dei corsi elearning. È visualizzabile utilizzando un normale

Dettagli

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA BOZZA 23/07/2008 INDICE 1. PERCHÉ UNA NUOVA VERSIONE DEI MODULI DI RACCOLTA DATI... 3 2. INDICAZIONI GENERALI... 4 2.1. Non modificare la struttura dei fogli di lavoro... 4 2.2. Cosa significano

Dettagli

Sito web per la presentazione e l accesso ai servizi di Ruven integrato con la piattaforma B2B del pacchetto software ERP Stratega.NET.

Sito web per la presentazione e l accesso ai servizi di Ruven integrato con la piattaforma B2B del pacchetto software ERP Stratega.NET. Nome soluzione Ruven S.r.l. Settore: Cosmetica Descrizione Sito web per la presentazione e l accesso ai servizi di Ruven integrato con la piattaforma B2B del pacchetto software ERP Stratega.NET. MediaFile

Dettagli

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda Fa quadrato attorno alla tua azienda Soluzioni software per L archiviazione elettronica dei documenti Perché scegliere Q Archiviazione Elettronica dei Documenti? Tale applicativo si pone come obbiettivo

Dettagli

Manuale Utente Albo Pretorio GA

Manuale Utente Albo Pretorio GA Manuale Utente Albo Pretorio GA IDENTIFICATIVO DOCUMENTO MU_ALBOPRETORIO-GA_1.4 Versione 1.4 Data edizione 04.04.2013 1 TABELLA DELLE VERSIONI Versione Data Paragrafo Descrizione delle modifiche apportate

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

Il calendario di Windows Vista

Il calendario di Windows Vista Il calendario di Windows Vista Una delle novità introdotte in Windows Vista è il Calendario di Windows, un programma utilissimo per la gestione degli appuntamenti, delle ricorrenze e delle attività lavorative

Dettagli

Relazione illustrativa degli Obiettivi di accessibilità

Relazione illustrativa degli Obiettivi di accessibilità COMUNE DI PORTOSCUSO Provincia di Carbonia-Iglesias Comune di Portoscuso Relazione illustrativa degli Obiettivi di accessibilità Redatto ai sensi dell articolo 9, comma 7 del decreto legge 18 ottobre 2012,

Dettagli

SOFTWARE A SUPPORTO DELLA GESTIONE AMMINISTRATIVA DELLO SPORTELLO UNICO SPECIFICA DEI REQUISITI UTENTE

SOFTWARE A SUPPORTO DELLA GESTIONE AMMINISTRATIVA DELLO SPORTELLO UNICO SPECIFICA DEI REQUISITI UTENTE Pag. 1 di 16 SOFTWARE A SUPPORTO DELLA (VERS. 3.1) Specifica dei Requisiti Utente Funzionalità di associazione di più Richiedenti ad un procedimento Codice Identificativo VERIFICHE ED APPROVAZIONI CONTROLLO

Dettagli

Guida all uso di Java Diagrammi ER

Guida all uso di Java Diagrammi ER Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con

Dettagli

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni

Dettagli

Politecnico di Bari Corso di Laurea Specialistica in Ingegneria Informatica A.A. 2008-09. Casi di Studio. Traccia n 1

Politecnico di Bari Corso di Laurea Specialistica in Ingegneria Informatica A.A. 2008-09. Casi di Studio. Traccia n 1 Politecnico di Bari Corso di Laurea Specialistica in Ingegneria Informatica A.A. 2008-09 Casi di Studio Traccia n 1 Si vuole realizzare un portale web per la gestione della rete di vendita di un'azienda

Dettagli

Corso di Amministrazione di Reti A.A. 2002/2003

Corso di Amministrazione di Reti A.A. 2002/2003 Struttura di Active Directory Corso di Amministrazione di Reti A.A. 2002/2003 Materiale preparato utilizzando dove possibile materiale AIPA http://www.aipa.it/attivita[2/formazione[6/corsi[2/materiali/reti%20di%20calcolatori/welcome.htm

Dettagli

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

Dettagli

Cosa è un foglio elettronico

Cosa è un foglio elettronico Cosa è un foglio elettronico Versione informatica del foglio contabile Strumento per l elaborazione di numeri (ma non solo...) I valori inseriti possono essere modificati, analizzati, elaborati, ripetuti

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio

Dettagli

Che differenza c è tra una richiesta XML ed una domanda XML? (pag. 4)

Che differenza c è tra una richiesta XML ed una domanda XML? (pag. 4) FAQ INVIO DOMANDE CIGO CON FLUSSO XML Cosa serve per inviare una domanda CIGO con il flusso XML? (pag. 2) Come si prepara una domanda in formato XML? (pag. 3) Che differenza c è tra una richiesta XML ed

Dettagli

Progettazione della componente applicativa

Progettazione della componente applicativa 7 Progettazione della componente applicativa In questo capitolo illustreremo la progettazione della componente applicativa di un sistema informativo. La metodologia da noi utilizzata sarà basata sull utilizzo

Dettagli

Il corso di italiano on-line: presentazione

Il corso di italiano on-line: presentazione Il corso di italiano on-line: presentazione Indice Perché un corso di lingua on-line 1. I corsi di lingua italiana ICoNLingua 2. Come è organizzato il corso 2.1. Struttura generale del corso 2.2. Tempistica

Dettagli

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA Fornitore: Publisys Prodotto: Intranet Provincia di Potenza http://www.provincia.potenza.it/intranet Indice 1. Introduzione... 3 2. I servizi dell Intranet...

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

Guida rapida all uso di Moodle per gli studenti

Guida rapida all uso di Moodle per gli studenti Guida rapida all uso di Moodle per gli studenti Introduzione La piattaforma utilizzata per le attività a distanza è Moodle, un software per la gestione di corsi on-line. Per chi accede come studente, essa

Dettagli

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico MANUALE MOODLE STUDENTI Accesso al Materiale Didattico 1 INDICE 1. INTRODUZIONE ALLA PIATTAFORMA MOODLE... 3 1.1. Corso Moodle... 4 2. ACCESSO ALLA PIATTAFORMA... 7 2.1. Accesso diretto alla piattaforma...

Dettagli

PRODUZIONE PAGELLE IN FORMATO PDF

PRODUZIONE PAGELLE IN FORMATO PDF Requisiti minimi: PRODUZIONE, FIRMA E PUBBLICAZIONE DELLA PAGELLA ELETTRONICA CON ALUNNI WINDOWS PRODUZIONE PAGELLE IN FORMATO PDF Argo Alunni Windows aggiornato alla versione più recente. Adobe PDF CREATOR,

Dettagli

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica Consiglio regionale della Toscana Regole per il corretto funzionamento della posta elettronica A cura dell Ufficio Informatica Maggio 2006 Indice 1. Regole di utilizzo della posta elettronica... 3 2. Controllo

Dettagli

INGEGNERIA DEL SOFTWARE. Prof. Paolo Salvaneschi

INGEGNERIA DEL SOFTWARE. Prof. Paolo Salvaneschi Università di Bergamo Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica INGEGNERIA DEL SOFTWARE Prof. Paolo Salvaneschi 1 Obiettivi Scopi del corso: - Fornire gli elementi di base della disciplina,

Dettagli

1. BASI DI DATI: GENERALITÀ

1. BASI DI DATI: GENERALITÀ 1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente

Dettagli

Elenco dei manuali. Elenco dei manuali dell'utente di MEGA

Elenco dei manuali. Elenco dei manuali dell'utente di MEGA Elenco dei manuali Elenco dei manuali dell'utente di MEGA MEGA 2009 R6 1ª edizione (Novembre 2011) Le informazioni contenute nel presente documento possono essere modificate senza preavviso e non costituiscono

Dettagli

Finalità della soluzione... 3. Schema generale e modalità d integrazione... 4. Gestione centralizzata in TeamPortal... 6

Finalità della soluzione... 3. Schema generale e modalità d integrazione... 4. Gestione centralizzata in TeamPortal... 6 Finalità della soluzione... 3 Schema generale e modalità d integrazione... 4 Gestione centralizzata in TeamPortal... 6 Dati gestiti dall Anagrafica Unica... 8 Gestione anagrafica... 9 Storicizzazione...

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1 Sistema software 1 Prerequisiti Utilizzo elementare di un computer Significato elementare di programma e dati Sistema operativo 2 1 Introduzione In questa Unità studiamo

Dettagli

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

Dettagli

Guida Compilazione Piani di Studio on-line

Guida Compilazione Piani di Studio on-line Guida Compilazione Piani di Studio on-line SIA (Sistemi Informativi d Ateneo) Visualizzazione e presentazione piani di studio ordinamento 509 e 270 Università della Calabria (Unità organizzativa complessa-

Dettagli

Si applica a: Windows Server 2008

Si applica a: Windows Server 2008 Questo argomento non è stato ancora valutato Si applica a: Windows Server 2008 Protezione accesso alla rete è una tecnologia per la creazione, l'imposizione, il monitoraggio e l'aggiornamento dei criteri

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

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali PowerPoint Come costruire una presentazione PowerPoint 1 Introduzione! PowerPoint è uno degli strumenti presenti nella suite Office di Microsoft! PowerPoint permette la realizzazione di presentazioni video

Dettagli

MODULO STAMPA BOLLETTINO PDF

MODULO STAMPA BOLLETTINO PDF MODULO STAMPA BOLLETTINO PDF MODULO STAMPA BOLLETTINO PDF pagina 2 di 7 INTRODUZIONE Il modulo STAMPA BOLLETTINO PDF è una applicazione stand-alone, sviluppata in linguaggio Java, che permette di produrre

Dettagli

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014) Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014) Il software per gli esami ICON può essere eseguito su qualunque computer dotato di Java Virtual Machine aggiornata.

Dettagli

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte.

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte. I TUTORI Indice Del Manuale 1 - Introduzione al Manuale Operativo 2 - Area Tutore o Area Studente? 3 - Come creare tutti insieme i Tutori per ogni alunno? 3.1 - Come creare il secondo tutore per ogni alunno?

Dettagli

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

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