UNVERSITÀ POLITECNICA DELLE MARCHE

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "UNVERSITÀ POLITECNICA DELLE MARCHE"

Transcript

1 UNVERSITÀ POLITECNICA DELLE MARCHE FACOLTÀ DI INGEGNERIA Corso di Laurea Specialistica in Ingegneria Informatica Progettazione e sviluppo di un sistema software distribuito per il supporto alla vendita con fat client mobile multipiattaforma. Relatore: Chiar.mo Prof. Aldo Franco Dragoni Tesi di Laurea di: Emanuele Rampichini Anno Accademico

2 2

3 1 Introduzione e obiettivi 5 2 Panoramica del progetto Il dominio applicativo Il processo di vendita tradizionale Il processo di vendita automatizzato La necessità della forza vendita Il contesto Lo stato dell arte Ortogonalità rispetto al sistema informatico aziendale Lo scenario Sempre connesso L evoluzione nel tempo Una visione d insieme del progetto 13 3 Le tecnologie scelte Ambiente di programmazione e linguaggio L ambiente.net Il linguaggio C# Lo stack tecnologico nelle varie componenti Integratore Server Client 34 4 L architettura del sistema L integratore Scambio dei dati batch Database condiviso Scambio di dati destrutturati in streaming Chiamata a procedura remota Scambio di messaggi La soluzione adottata per il flusso d importazione La soluzione adottata per il flusso di esportazione Accesso condiviso al database d interscambio Il server Architettura REST Utilizzo esplicito dei metodi Http Stateless vs Statefull Esposizione di URI con struttura a directory Trasferimento dei dati in JSON o XML Sicurezza Architettura del core dell applicazione client Data Preparation Data Access Repository Pattern Request Reponse Layer Presentation layer 90 5 La qualità del software Il Testing I test unitari I test unitari come strumento di design I test d integrazione I test di accettazione Metriche 110 3

4 5.2.1 Complesità Ciclomatica Profondità dell ereditarietà Accoppiamento tra classi Indice di manutenibilità Conclusioni e sviluppi futuri Bibliografia 115 4

5 1 - Introduzione e obiettivi 1 Introduzione e obiettivi La presente tesi di laurea è il frutto del lavoro svolto in circa sei mesi presso le due aziende 1 coinvolte nello sviluppo di un software di classe enterprise. L'obiettivo principale della trattazione è di evidenziare e motivare in maniera sistematica le molteplici scelte tecnologiche, architetturali e metodologiche che sono state fatte in fase di progettazione e sviluppo, come risposta ai requisiti di un sistema software complesso. Nello specifico nel capitolo due sarà fatta una panoramica di alto livello del dominio in cui il software si colloca, esponendo i principali requisiti funzionali e non che hanno guidato la progettazione. Nel capitolo tre saranno discusse le scelte tecnologiche che sono state intraprese per implementare i vari componenti del sistema. Verranno analizzate in maniera approfondita le caratteristiche dell ambiente.net e del linguaggio C# utilizzati per l implementazione del software. Nel quarto capitolo saranno analizzate le varie questioni architetturali che sono state affrontate durante tutto il ciclo di sviluppo in tutti gli strati del software. Particolare importanza sarà data alla parte riguardante il processo di integrazione tra sistemi informatici eterogenei e le sfide incontrate durante la progettazione. Saranno inoltre introdotti i concetti principali delle architetture a servizi di tipo REST e come tali principi sono stati applicati nello strato server del progetto. L ultima parte del capitolo sarà dedicata all analisi dei pattern architetturali utilizzati all interno dell applicazione client partendo da quelli per l accesso ai dati, fino ad arrivare allo strato di presentazione. 1 E- xtrategy S.r.l. Kilog S.r.l. 5

6 1 - Introduzione e obiettivi Il quarto capitolo sarà dedicato a tutto quello che riguarda la qualità del software, con una particolare attenzione alla fase di testing. Saranno inoltre analizzate diverse metriche per validare in maniera rigorosa la qualità della base di codice prodotta. La scelta di anticipare nel secondo capitolo la trattazione delle scelte tecnologiche rispetto a quelle architetturali, è derivata dalla volontà di evidenziare nella trattazione architetturale alcuni specifici aspetti ideomatici dell implementazione che altrimenti potrebbero sembrare fuori dal contesto. 6

7 2 - Panoramica del progetto 2 Panoramica del progetto 2.1 Il dominio applicativo Il dominio in cui si colloca il progetto sviluppato è quello dell'automatizzazione del processo di creazione e acquisizione ordini da parte della forza di vendita di un azienda. Gli attori che sono coinvolti nel processo di vendita nella grande distribuzione sono tre: L'azienda fornitrice: Rappresenta l'entità che eroga servizi o crea prodotti che dovranno essere venduti. Il cliente: Chi richiede servizi o prodotti dell'azienda fornitrice. L'agente di commercio: Soggetto che assume in maniera stabile, senza vincolo di subordinazione, l'incarico di stabilire dei contratti commerciali tra l'azienda e dei clienti, secondo un accordo, chiamato contratto di agenzia, che lo vincola a svolgere questo mandato su una precisa area geografica Il processo di vendita tradizionale Il processo di vendita tradizionale può essere suddiviso in quattro macro fasi: Scrittura Trasmissione Interpretazione Caricamento Immagine 1: Fasi del processo di vendita tradizionale Scrittura: La fase di scrittura è quella che avviene presso il cliente. Nel processo tradizionale l'agente di commercio, consultando un catalogo, le 7

8 2 - Panoramica del progetto condizioni di vendita ed eventuali promozioni, propone al cliente prodotti e servizi. Il prodotto del processo di scrittura solitamente è un ordine di vendita compilato a mano su un modello cartaceo standardizzato, secondo delle specifiche regole. Trasmissione: Una volta compilato l'ordine, la trasmissione può avvenire tramite una postazione fissa attraverso l'uso di FAX o in alternativa per ordini importanti tramite comunicazione diretta per via telefonica. Interpretazione: Il processo d interpretazione avviene all'interno dell'azienda produttrice. In questa fase un addetto dell'azienda ha il compito di decifrare quanto scritto dall'agente. Caricamento: Una volta decodificato il contenuto dell'ordine è necessaria una fase di integrazione e consolidamento dell'informazione all'interno dell'erp Aziendale. È particolarmente semplice individuare le criticità di tale processo nei termini di efficienza ed efficacia. Input Processo Output Effettivo Immagine 2: Modello di un generico processo Efficacia =!"#$"#!""#$$%&'!"#$"#!""#$% Efficienza =!"#$"#!""#$$%&'!"#$% In questo caso si può modellare come quantità di Input il costo del lavoro compiuto dagli attori coinvolti nel processo che porta un ordine dalla scrittura 8

9 2 - Panoramica del progetto al consolidamento nell'erp aziendale. Il parametro in output dal processo può essere identificato con il numero di ordini correttamente presi in carico dall'erp. Costo del lavoro compiuto da tutti gli attori coinvolti Processo che porta un'ordine dalla scrittura al consolidamento nell'erp aziendale Ordini correttamente presi in carico dall'erp Immagine 3: Modello del processo di consolidamento di un ordine nell'erp La prima e più grave criticità nel processo tradizionale è quella legata all'efficacia. La condizione essenziale di un qualsiasi processo aziendale è il raggiungimento dell'obiettivo. In questo caso le fasi di scrittura, trasmissione, interpretazione e caricamento sono eseguite del tutto o in parte da persone in maniera manuale. Ciascun passaggio in cui è coinvolto un attore umano rappresenta un possibile punto di fallimento della catena che porta al raggiungimento dell'obiettivo. Situazioni comuni come interpretazione errata della calligrafia di un'agente, o errori in fase d inserimento dati concorrono ad abbassare in maniera critica l'output effetivo del processo e quindi la sua efficacia. D'altro canto è anche semplice capire come l'efficienza sia molto migliorabile. Nel processo tradizionale appena presentato, anche ragionando al netto degli errori di cui abbiamo parlato, il consolidamento di un ordine richiede tempi nell'ordine dei minuti. 9

10 2 - Panoramica del progetto Il processo di vendita automatizzato Le problematiche esposte nel precedente paragrafo possono essere risolte con l'automatizzazione del processo. Nello specifico si può analizzare come le varie fasi del processo di vendita tradizionale possono essere soddisfatte da un sistema informatico. Scrittura: La fase di scrittura è quella che avviene presso il cliente. Invece di consultare catalogo e condizioni di vendita su carta l'agente può cercare direttamente dal suo sistema informatico portatile, inserendo in maniera contestuale alla ricerca, prodotti o servizi già codificati all interno di un ordine. Trasmissione: L'ordine è validato in fase di creazione e compilazione. L'ordine è spedito immediatamente attraverso internet. L'unico requisito per la spedizione dell'ordine è la presenza di connessione dati di qualsiasi tipo (wifi, 3g, gprs). Interpretazione: La risorsa ordine inviata dal tablet è persistita da un server collocato all'interno dell'azienda produttrice. Successive validazioni possono essere fatte lato server in maniera automatizzata prima della persistenza. Caricamento: Il caricamento vero e proprio nell'erp aziendale rappresenta l'ultimo passo. Un processo automatizzato trasforma l'ordine per adattarlo ad una struttura di interscambio precedentemente concordata. 10

11 2 - Panoramica del progetto Riprendendo le considerazioni su efficienza ed efficacia esposte in precedenza si può vedere come il processo automatizzato minimizza tutte le crititicità esposte. Nello specifico il processo di scrittura è molto più rapido, poichè assistito dall'elaboratore. Inoltre il fatto che l'agente interagisca direttamente con i dati delle anagrafiche correttamente codificati fa si che non ci siano errori in fase di stesura dell'ordine. La criticità della trasmissione è solamente legata allo stato della connessione di rete ed è completata nell'arco di tempo di alcuni secondi. Gli errori dovuti al processo d interpretazione in un sistema a regime sono da considerarsi in sostanza assenti poichè i dati sono inviati in formati interpretabili in maniera corretta dalla macchina. Sia in fase di stesura dell'ordine che in fase d interpretazione possono, a loro volta, essere eseguite delle regole di business personalizzate per la validazione dell'ordine. Rientrano in questa categoria di operazoni condizioni particolari per clienti o per tipologie merceologiche, blocco automatico di acquisti per clienti insolventi e altre regole simili. È particolarmente vantaggiosa la possibilità di applicare questo tipo di regole di business direttamente in fase di creazione dell'ordine presso il cliente, cosa in pratica impossibile in caso di processo di vendita tradizionale. Nel caso tradizionale, una condizione non valida per un determinato cliente, può essere notificata all'agente solo dopo un lungo periodo, con tutte le conseguenze del caso La necessità della forza vendita Proseguendo lungo la linea di ragionamento dell ottimizzazione del processo si potrebbe arrivare a semplificare ulteriormente la catena eliminando completamente la figura dell agente di vendita. 11

12 2 - Panoramica del progetto Dal punto di vista tecnico in un sistema di vendita informatizzato come quello descritto nel precedente paragrafo, la presenza dell agente di vendita funge da mera interfaccia tra il cliente e il sistema informativo aziendale. Sebbene in alcuni ambiti la rimozione della figura intermedia dell agente commerciale si sia rivelata una scelta valida 2, in altri contesti, soprattutto nei rapporti business to business, continua a rappresentare un valore aggiunto per spingere le vendite. Il rapporto umano rappresenta ancora un parametro importante per la fidelizzazione del cliente. 2.2 Il contesto Il dominio non è sufficiente per capire a pieno le necessità che copre un software di questo tipo. Per comprendere al meglio le esigenze è necessario fare alcune considerazioni dell ambiente in cui andrà a collocarsi Lo stato dell arte Strumenti come quelli descritti esistono da svariati anni come soluzioni verticali profondamente integrate con l ERP. Prodotti SAP, Oracle forniscono in parte alcune funzionalità di questo tipo ma moltissime imprese sono legate all utilizzo di gestionali legacy nati in periodi di tempo in cui lo scenario di mobilità totale non poteva essere al centro delle scelte dei progettisti Ortogonalità rispetto al sistema informatico aziendale Il software che è stato progettato in questo contesto deve potersi integrare in maniera semplice con sistemi legacy, senza particolari prerequisiti. L ortogonalità della soluzione software rispetto al sistema informatico aziendale è uno dei valori fondanti che ha guidato la progettazione e lo sviluppo dell applicazione. 2 Amazon, ed altri portali di commercio online hanno basato su questa strategia la propria crescita esponenziale negli ultimi anni. 12

13 2 - Panoramica del progetto Lo scenario Sempre connesso Sebbene si possa dire che l evoluzione delle tecnologie stia trasformando il mondo del lavoro in uno scenario sempre connesso, l esigenza reale di un agente commerciale è quella di portare a termine il proprio lavoro anche in assenza di connessione di rete. Questo significa che dal punto di vista della creazione di un prodotto bisogna pensare un sistema che sia capace da subito di lavorare sia in modalità offline che online. La scelta di creare un sistema del genere porta delle sfide progettuali non indifferenti ma allo stesso tempo garantisce un valore immediato che pochi altri competitor sono in grado di garantire L evoluzione nel tempo L altro principio cardine che ha condizionato in molti aspetti la progettazione del software è legato alla volontà di gettare le basi per un progetto da far evolvere nel tempo, capace di reagire ai repentini cambi di scenario. Lo sviluppo di codice il più possibile portabile tra le maggiori piattaforme mobile è stato individuato come uno dei punti centrali su cui concentrarsi, soprattutto per l estrema vivacità del mercato dei sistemi operativi mobile che in questo momonto storico può essere registrata. Allo stesso tempo sono state fatte scelte per non compromettere la possibilità di sviluppare client non legati a nessun sistema operativo in particolare, facendo uso di tecnologie e standard WEB. 2.3 Una visione d insieme del progetto Il progetto nella sua visione di alto livello può essere rappresentato dalla seguente figura. 13

14 2 - Panoramica del progetto Immagine 4: Schema concettuale di alto livello del prodotto sviluppato Nell immagine possiamo vedere in maniera generale gli attori coinvolti. Alla sinistra abbiamo molteplici software gestionali che sono coinvolti in una comunicazione bidirezionale con il sistema sviluppato. Il progetto che è stato portato avanti può essere suddiviso in tre macro aree con precise responsabilità: L integratore Si occupa della gestione dei flussi di import ed export di dati con il gestionale aziendale. Rappresenta l unico punto di contatto con l ERP dell azienda. Server Espone tutti i servizi di sincronizzazione, autenticazione, configurazione e comunicazione consumabili da un qualsiasi client. Fat Client Usufruisce dei servizi di sincronizzazione e di comunicazione con il server. Una volta sincronizzato ha al suo interno tutta la logica di 14

15 2 - Panoramica del progetto business e la porzione di dati necessaria a svolgere la maggior parte dei compiti richiesti dall agente di commercio. Sono esclusi I compiti che implicano una comunicazione con il server. 15

16 3 - Le tecnologie scelte 3 Le tecnologie scelte Come già spiegato nell introduzione, in questo capitolo si è deciso di presentare le tecnologie scelte per l implementazione dei diversi progetti sviluppati. Il capitolo non vuole in alcun modo essere una trattazione esaustiva dell infrastruttura tecnologica, quanto piuttosto una necessaria introduzione per mettere nel giusto contesto quanto spiegato nei capitoli successivi. Le scelte compiute saranno comunque motivate in relazione agli obbiettivi del progetto. 3.1 Ambiente di programmazione e linguaggio L ambiente.net L ambiente.net è un framework generalmente associato al sistema operativo Microsoft Windows. Il progetto include una vastissima libreria standard per tutte le esigenze comuni di applicazioni Enterprise. Il framework.net grazie all utilizzo di una virtual machine che consuma Bytecode intermedio supporta una grande varietà di linguaggi di programmazione. I programmi scritti per il.net framework vengono eseguiti in un ambiente software conosciuto come CLR 3, una macchina virtuale che fornisce servizi fondamentali. Fanno parte di questi servizi la sicurezza, il memory management e il sistema di gestione delle eccezioni. 3 Common Language Runtime 16

17 3 - Le tecnologie scelte CLR Class Library.NET Framework Immagine 5: Composizione del.net framework Il.NET framework non è nient altro che l insieme formato dal CLR ed un estesa class library che gira sullo stesso. Immagine 6: Stack delle API del.net framework Le funzionalità di alto livello fornite dal framework comprendono: Gestione dell accesso ai dati Connessione con basi di dati Comunicazione di rete Crittografia Algoritmi di calcolo numerico 17

18 3 - Le tecnologie scelte Creazione di interfaccie utente I motivi principali che hanno portato a questa scelta riguardano l estrema maturità dello stack tecnologico, e la bontà degli strumenti di sviluppo che ruotano intorno a questà tecnologia. I principi fondanti del framework.net possono essere riassunti in sette punti e per ciascun punto può essere indicato il valore portato in maniera diretta al progetto: Interoperabilità: Il framework permette di interfacciarsi in maniera semplice a programmi che sono stati sviluppati con altre tecnologie legacy scollegate dall ambiente.net. Esistono packages per l interfacciamento con moduli scritti per il modello COM 4 ed ad un livello più basso funzionalità di Platform Invoke 5 per chiamare una qualsiasi funzione di una qualsiasi libreria compilata nativamente non scritta per il.net framework. Queste caratteristiche sono particolarmente interessanti nella misura in cui nell ambito dell sviluppo enterprise può presentarsi l esigenza di integrare all interno del progetto codice di librerie largamente collaudate legate a tecnologie eterogenee. Indipendenza Dal Linguaggio: Il fatto che il framework poggi sul Common Language Runtime, significa che tutto il codice scritto in un programma.net viene eseguito sotto la sua supervisione garantendo comportamenti precisi e prevedibili per quanto riguarda la gestione della memoria, la sicurezza e la gestione 4 Component Object Model 5 PInvoke 18

19 3 - Le tecnologie scelte delle eccezioni. La presenza del CLR garantisce inoltre l indipendenza dal linguaggio di programmazione scelto. Il CLR esegue un particolare tipo di codice intermedio chiamato CIL 6 (linguaggio assembly di alto livello). Qualsiasi linguaggio che abbia un compilatore per il codice intermedio CIL può essere utilizzato in ambiente.net. Immagine 7: Schema di funzionamento della CLI Anche questa caratteristica nel caso del progetto svolto si è rivelata particolarmente utile. La possibilità di integrare in maniera trasparente class library scritte all interno dell azienda per altri progetti in linguaggi 6 Common Intermediate Language 19

20 3 - Le tecnologie scelte diversi ma sempre su framework.net ha permesso di annullare per determinati componenti non direttamente legati al dominio (gestione dei log, gestione dello scheduling di operazioni lunghe) i tempi di sviluppo. L altro vantaggio non immediatamente riscontrato è quello della tranquillità con cui si possono valutare le nuove proposte tecnologiche. Il mondo dei linguaggi di programmazione ultimamente è in continuo fermento e vecchi paradigmi come quello funzionale stanno uscendo dall ambito prettamente accademico per affacciarsi a quello del software enterprise. La prospettiva di poter fare un salto di paradigma, mantenendo comunque la vecchia base di codice funzionante e integrabile in maniera trasparente rende un eventuale strategia di migrazione futura molto più morbida e graduale, con tutti I vantaggi del caso. Estesa Base Class Library: Il.NET framework fornisce una class library di base disponibile a tutti i linguaggi scritti per girare all interno del CLR. Le funzionalità fornite spaziano in tutti gli ambiti come gestione dei file, l interazione con database, supporto all implementazione di protocolli di rete, creazione di interfacce grafiche e molto altro. Le applicazioni enterprise complesse spaziano tra esigenze molto eterogenee. Nel progetto specifico la class library è stata utilizzata in maniera estensiva. Poter far affidamento su librerie di sistema con elevati standard qualitativi per assolvere i compiti infrastrutturali permette di concentrare le proprie forze sulla risoluzione dei problemi del dominio di business. 20

21 3 - Le tecnologie scelte Supporto in fase di deployment Il framework fornisce strumenti per la gestione del deployment dei progetti. La configurazione della build e quella centralizzata delle impostazioni di ambiente con possibilità di regole particolari per le macchine dei singoli sviluppatori, sono solo alcune delle caratteristiche fornite. A questo livello possono essere anche definite le policy di sicurezza del prodotto da deployare in maniera dinamica. Il vantaggio principale che questa caratteristica ha portato è stato quello di poter configurare in maniera agevole le varie installazioni, differenziando le configurazioni per gli ambienti di lavoro degli sviluppatori da quelle per il deploy presso specifici clienti. Sicurezza: L intero framework è stato progettato e sviluppato con la sicurezza in cima alla lista degli obiettivi. Il framework mette al riparo il proprio codice dalle classiche vulnerabilità del codice nativo come l utilizzo di Buffer Overflow per scalare i privilegi su una macchina di produzione. Sarebbe possibile motivare l estrema bontà del modello di sicurezza su cui è stato costruito il CLR, ma la cosa esulerebbe dagli scopi della trattazione. Per chi fosse interessato, è comunque disponibile un interessante paper, pubblicato dal dipartimento di informatica dell Università Della Virginia 7, che lo mette a confronto con quello della JVM 8. 7 Comparing Java and.net Security: Lessons Learned and Missed: Nathanael Paul, David Evans University of Virginia Department of Computer Science 8 Java Virtual Machine 21

22 3 - Le tecnologie scelte In questo caso il vantaggio è implicito. Poter fare affidamento su uno stack che garantisca livelli di sicurezza allo stato dell arte, è senza dubbio un enorme valore per applicazioni business. Portabilità Nonostante la Microsoft non abbia mai realizzato direttamente un implementazione del framework completo all infuori del proprio sistema operativo Windows, il framework è stato progettato per essere agnostico rispetto alla piattaforma. Le specifiche della CLI 9 che includono le librerie core, il type system, il CIL, il linguaggio C#, il linguaggio C++/CLI managed, sono state rilasciate all ECMA e all ISO e sono disponibili come open standard 10. Questa caratteristica è stata senza dubbio quella più importante per la scelta della tecnologia. La disponibilità di specifiche aperte ha permesso l implementazione dell alternativa Open Source MONO, che ha portato un implementazione di primo livello del framework.net su tutti I sistemi operativi principali Il linguaggio C# Il linguaggio utilizzato per l implementazione vera e propria delle varie componenti del software sviluppato è il C#. Come visto nel paragrafo precedente C# oltre ad essere uno dei tanti linguaggi supportati dal CLR fa parte della CLI come parte dello standard ISO/IEC e ECMA 335. Le principali caratteristiche del linguaggio possono essere comprese dai suoi principi fndanti: 9 Common Language Infrastructure 10 ISO/IEC e ECMA

23 3 - Le tecnologie scelte C# è stato progettato da un team guidato da Anders Hejlsberg 11 con l obbiettivo di creare un linguaggio semplice, moderno, general purpose ed object oriented. Il linguaggio appartiene alla famiglia dei linguaggi statici a tipizzazione forte, anche se elementi di dinamismo sono stati inseriti in seguito nel linguaggio. Il linguaggio presenta inoltre meccanismi di garbage collection per la gestione automatica della memoria. Analizzando solo queste caratteristiche principali, molti potrebbero rivedere un parallelo molto forte tra il mondo Java e questo. In fondo si tratta di linguaggi statici, fortemente tipizzati, object oriented che compilano in codice intermedio per una macchina virtuale. Il paragone è naturale e giustificato ma il linguaggio C# ha saputo nel tempo innovarsi e accogliere tutta una serie di caratteristiche avanzate che lo hanno di fatto reso un linguaggio fortemente caratterizzato. In questa fase ne vedremo alcune particolarmente interessanti che sono state introdotte nelle varie versioni dello standard. Generics: Grazie ai generics è possibile progettare classi che rinviano la conoscenza del tipo fino a quando il codice client non crea un istanza della classe specificando il tipo come parametro. 11 Come nota storica è interessante notare che Anders Hejlsberg prima di intraprendere il suo lavoro su C# era già famoso nell ambiente dei linguaggi di programmazione per aver contribuito in maniera fondamentale alla creazione del più celebre dialetto del Pascal (Turbo Pascal della Borland) e del suo diretto derivato ad oggetti Delphi (della medesima Software House Francese) 23

24 3 - Le tecnologie scelte // Dichiarazione di una classe generica public class GenericList<T> { void Add(T input) { } } class TestGenericList { private class ExampleClass { } static void Main() { // Dichiara una lista di tipo int GenericList<int> list1 = new GenericList<int>(); // Dichiara una lista di tipo stringa GenericList<string> list2 = new GenericList<string>(); } } // Dichiara una lista di tipo ExampleClass GenericList<ExampleClass> list3 = new GenericList<ExampleClass>(); Snippet 1: Generics in C# Questa caratteristica è stata utilizzata spesso ed ha permesso di mantenere un alto riuso di codice in diverse situazioni. Supporto ai tipi parziali Permettono di separare l implementazione di una struct, una classe o un interfaccia in più file sorgenti. In fase di compilazione I tipi parziali vengono riassemblati. 1. // Prima parte della classe parziale customer 2. public partial class Customer 3. { 4. public void DoSomething() 5. { 6. } 7. } // Seconda parte della classe parziale 10. // Può essere messa in un altro file sorgente 11. public partial class Customer 12. { 13. public void DoSomethingElse() 14. { 15. } 16. } Snippet 2: Partial types in C# 24

25 3 - Le tecnologie scelte Sebbene la feature non sia particolarmente straordinaria, è stata utile per le alcune classi in cui una parte è generata automaticamente. Variabili locali tipizzate in modo implicito In fase di dichiarazione di variabili locali è possibile utilizzare la parola chiave var invece di scrivere esplicitamente il tipo. Sarà dedotto automaticamente dal compilatore in base all espressione alla destra dell operatore di assegnamento. 1. // i viene compilato come intero 2. var i = 5; // s viene compilato come stringa 7. var s = "Hello"; // a viene compilato come array di stringhe 11. var a = new[] { 0, 1, 2 }; // list viene compilato come List<int> 15. var list = new List<int>(); Snippet 3: Tipizzazione implicita in C# Questa caratteristica è una di quelle che aumenta di molto la leggibilità del codice rendendolo più conciso. First Class Functions (Delegates) Il C# possiede dalla versione 2.0 il concetto di funzione come tipo di dato nella forma dei delegates. I delegates sono oggetti che referenziano un determinato comportamento. I delegates permettono tecniche di programmazione avanzate come l high order programming: è possibile costruire funzioni che prendano come parametro uno o più delegate e che addirittura restituiscano delegate come valore di ritorno. 25

26 3 - Le tecnologie scelte 1. class Program 2. { 3. // Dichiarazione di un delegate 4. delegate string UppercaseDelegate(string input); // Prima Implementazione 7. static string UppercaseFirst(string input) 8. { 9. char[] buffer = input.tochararray(); 10. buffer[0] = char.toupper(buffer[0]); 11. return new string(buffer); 12. } // Seconda implementazione 15. static string UppercaseLast(string input) 16. { 17. char[] buffer = 18. input.tochararray(); 19. buffer[buffer.length - 1] = 20. char.toupper(buffer[buffer.length - 1]); 21. return new string(buffer); 22. } // Terza implementazione 25. static string UppercaseAll(string input) 26. { 27. return input.toupper(); 28. } // High order function che riceve un delegate 31. // come parametro 32. static void WriteOutput(string input, UppercaseDelegate del) 33. { 34. Console.WriteLine("Input: {0}", input); 35. Console.WriteLine("Uppercase: {0}", del(input)); 36. } // Implementazione dello strategy pattern con delegates 40. static void Main() 41. { 42. // Input: pippo Uppercase: Pippo 43. WriteOutput("pippo", new UppercaseDelegate(UppercaseFirst)); 44. // Input: pippo Uppercase: pippo 45. WriteOutput("pippo", new UppercaseDelegate(UppercaseLast)); 46. // Input: pippo Uppercase: PIPPO 47. WriteOutput("pippo", new UppercaseDelegate(UppercaseAll)); 48. } 49. } Snippet 4: Implementazione di strategy con delegates in C# L high order programming è un altro strumento molto utile allo scopo di ridurre al minimo la duplicazione di codice, e come direttamente riscontrabile nell esempio rende molto meno verbosa l introduzione di alcuni design pattern che avrebbero richiesto l uso di interfacce. 26

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity CORSO DI ALGORITMI E PROGRAMMAZIONE JDBC Java DataBase Connectivity Anno Accademico 2002-2003 Accesso remoto al DB Istruzioni SQL Rete DataBase Utente Host client Server di DataBase Host server Accesso

Dettagli

***** Il software IBM e semplice *****

***** Il software IBM e semplice ***** Il IBM e semplice ***** ***** Tutto quello che hai sempre voluto sapere sui prodotti IBM per qualificare i potenziali clienti, sensibilizzarli sulle nostre offerte e riuscire a convincerli. WebSphere IL

Dettagli

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica

Università degli Studi di Parma. Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica A.A. 2007-08 CORSO DI INGEGNERIA DEL SOFTWARE Prof. Giulio Destri http://www.areasp.com (C) 2007 AreaSP for

Dettagli

più del mercato applicazioni dei processi modificato. Reply www.reply.eu

più del mercato applicazioni dei processi modificato. Reply www.reply.eu SOA IN AMBITO TELCO Al fine di ottimizzare i costi e di migliorare la gestione dell'it, le aziende guardano, sempre più con maggiore interesse, alle problematiche di gestionee ed ottimizzazione dei processi

Dettagli

Le funzionalità di un DBMS

Le funzionalità di un DBMS Le funzionalità di un DBMS Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DBMS.pdf Sistemi Informativi L-A DBMS: principali funzionalità Le

Dettagli

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE

ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE ORACLE BUSINESS INTELLIGENCE STANDARD EDITION ONE A WORLD CLASS PERFORMANCE Oracle Business Intelligence Standard Edition One è una soluzione BI completa, integrata destinata alle piccole e medie imprese.oracle

Dettagli

Introduzione. E un sistema EAI molto flessibile, semplice ed efficace:

Introduzione. E un sistema EAI molto flessibile, semplice ed efficace: Overview tecnica Introduzione E un sistema EAI molto flessibile, semplice ed efficace: Introduce un architettura ESB nella realtà del cliente Si basa su standard aperti Utilizza un qualsiasi Application

Dettagli

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali

Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Riusabilità del software - Catalogo delle applicazioni: Applicativo verticale Applicazione: DoQui/Index - Motore di gestione dei contenuti digitali Amministrazione: Regione Piemonte - Direzione Innovazione,

Dettagli

Il Business Process Management: nuova via verso la competitività aziendale

Il Business Process Management: nuova via verso la competitività aziendale Il Business Process Management: nuova via verso la competitività Renata Bortolin Che cosa significa Business Process Management? In che cosa si distingue dal Business Process Reingeneering? Cosa ha a che

Dettagli

FORM Il sistema informativo di gestione della modulistica elettronica.

FORM Il sistema informativo di gestione della modulistica elettronica. Studio FORM FORM Il sistema informativo di gestione della modulistica elettronica. We believe in what we create This is FORM power La soluzione FORM permette di realizzare qualsiasi documento in formato

Dettagli

BPEL: Business Process Execution Language

BPEL: Business Process Execution Language Ingegneria dei processi aziendali BPEL: Business Process Execution Language Ghilardi Dario 753708 Manenti Andrea 755454 Docente: Prof. Ernesto Damiani BPEL - definizione Business Process Execution Language

Dettagli

Neomobile incentra l infrastruttura IT su Microsoft ALM, arrivando a 40 nuovi rilasci a settimana

Neomobile incentra l infrastruttura IT su Microsoft ALM, arrivando a 40 nuovi rilasci a settimana Storie di successo Microsoft per le Imprese Scenario: Software e Development Settore: Servizi In collaborazione con Neomobile incentra l infrastruttura IT su Microsoft ALM, arrivando a 40 nuovi rilasci

Dettagli

Oggetti Lezione 3. aspetti generali e definizione di classi I

Oggetti Lezione 3. aspetti generali e definizione di classi I Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione

Dettagli

Applicazione: Share - Sistema per la gestione strutturata di documenti

Applicazione: Share - Sistema per la gestione strutturata di documenti Riusabilità del software - Catalogo delle applicazioni: Gestione Documentale Applicazione: Share - Sistema per la gestione strutturata di documenti Amministrazione: Regione Piemonte - Direzione Innovazione,

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

Intalio. Leader nei Sistemi Open Source per il Business Process Management. Andrea Calcagno Amministratore Delegato

Intalio. Leader nei Sistemi Open Source per il Business Process Management. Andrea Calcagno Amministratore Delegato Intalio Convegno Open Source per la Pubblica Amministrazione Leader nei Sistemi Open Source per il Business Process Management Navacchio 4 Dicembre 2008 Andrea Calcagno Amministratore Delegato 20081129-1

Dettagli

Informatica per la comunicazione" - lezione 9 -

Informatica per la comunicazione - lezione 9 - Informatica per la comunicazione" - lezione 9 - Protocolli di livello intermedio:" TCP/IP" IP: Internet Protocol" E il protocollo che viene seguito per trasmettere un pacchetto da un host a un altro, in

Dettagli

Introduzione alla Programmazione ad Oggetti in C++

Introduzione alla Programmazione ad Oggetti in C++ Introduzione alla Programmazione ad Oggetti in C++ Lezione 1 Cosa è la Programmazione Orientata agli Oggetti Metodologia per costruire prodotti software di grosse dimensioni che siano affidabili e facilmente

Dettagli

Il Concetto di Processo

Il Concetto di Processo Processi e Thread Il Concetto di Processo Il processo è un programma in esecuzione. È l unità di esecuzione all interno del S.O. Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono

Dettagli

PROFILI ALLEGATO A. Profili professionali

PROFILI ALLEGATO A. Profili professionali ALLEGATO A Profili professionali Nei profili di seguito descritti vengono sintetizzate le caratteristiche di delle figure professionali che verranno coinvolte nell erogazione dei servizi oggetto della

Dettagli

Utilizzato con successo nei più svariati settori aziendali, Passepartout Mexal BP è disponibile in diverse versioni e configurazioni:

Utilizzato con successo nei più svariati settori aziendali, Passepartout Mexal BP è disponibile in diverse versioni e configurazioni: Passepartout Mexal BP è una soluzione gestionale potente e completa per le imprese che necessitano di un prodotto estremamente flessibile, sia dal punto di vista tecnologico sia funzionale. Con più di

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

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it

VIRTUALIZE IT. www.digibyte.it - digibyte@digibyte.it il server? virtualizzalo!! Se ti stai domandando: ma cosa stanno dicendo? ancora non sai che la virtualizzazione è una tecnologia software, oggi ormai consolidata, che sta progressivamente modificando

Dettagli

Enterprise Services Infrastructure ESI 2.0

Enterprise Services Infrastructure ESI 2.0 Enterprise Services Infrastructure ESI 2.0 Caratteristiche e Posizionamento ver. 2.1 del 21/01/2013 Cos è ESI - Enterprise Service Infrastructure? Cos è ESI? ESI (Enteprise Service Infrastructure) è una

Dettagli

SIASFi: il sistema ed il suo sviluppo

SIASFi: il sistema ed il suo sviluppo SIASFI: IL SISTEMA ED IL SUO SVILUPPO 187 SIASFi: il sistema ed il suo sviluppo Antonio Ronca Il progetto SIASFi nasce dall esperienza maturata da parte dell Archivio di Stato di Firenze nella gestione

Dettagli

IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget

IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget Data Sheet IBM Cognos 8 BI Midmarket Reporting Packages Per soddisfare tutte le vostre esigenze di reporting restando nel budget Panoramica Le medie aziende devono migliorare nettamente le loro capacità

Dettagli

Ottimizzazione della gestione del data center con Microsoft System Center

Ottimizzazione della gestione del data center con Microsoft System Center Ottimizzazione della gestione del data center con Microsoft System Center Declinazione di responsabilità e informazioni sul copyright Le informazioni contenute nel presente documento rappresentano le conoscenze

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

Dettagli

DALLA RICERCA & SVILUPPO SIAV. Ecco i prodotti e le applicazioni. per innovare le imprese italiane

DALLA RICERCA & SVILUPPO SIAV. Ecco i prodotti e le applicazioni. per innovare le imprese italiane Comunicato stampa aprile 2015 DALLA RICERCA & SVILUPPO SIAV Ecco i prodotti e le applicazioni per innovare le imprese italiane Rubàno (PD). Core business di, nota sul mercato ECM per la piattaforma Archiflow,

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

Processi di business sovra-regionali relativi ai sistemi regionali di FSE. Versione 1.0 24 Giugno 2014

Processi di business sovra-regionali relativi ai sistemi regionali di FSE. Versione 1.0 24 Giugno 2014 Processi di business sovra-regionali relativi ai sistemi regionali di FSE Versione 1.0 24 Giugno 2014 1 Indice Indice... 2 Indice delle figure... 3 Indice delle tabelle... 4 Obiettivi del documento...

Dettagli

I N F I N I T Y Z U C C H E T T I WORKFLOW HR

I N F I N I T Y Z U C C H E T T I WORKFLOW HR I N F I N I T Y Z U C C H E T T I WORKFLOW HR WORKFLOW HR Zucchetti, nell ambito delle proprie soluzioni per la gestione del personale, ha realizzato una serie di moduli di Workflow in grado di informatizzare

Dettagli

UML Component and Deployment diagram

UML Component and Deployment diagram UML Component and Deployment diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania I diagrammi UML Classificazione

Dettagli

PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE

PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE PROPOSTE SISTEMA DI CITIZEN RELATIONSHIP MANAGEMENT (CRM) REGIONALE Versione 1.0 Via della Fisica 18/C Tel. 0971 476311 Fax 0971 476333 85100 POTENZA Via Castiglione,4 Tel. 051 7459619 Fax 051 7459619

Dettagli

La suite Dental Trey che semplifica il tuo mondo.

La suite Dental Trey che semplifica il tuo mondo. La suite Dental Trey che semplifica il tuo mondo. impostazioni di sistema postazione clinica studio privato sterilizzazione magazzino segreteria amministrazione sala di attesa caratteristiche UNO tiene

Dettagli

L evoluzione del software per l azienda moderna. Gestirsi / Capirsi / Migliorarsi

L evoluzione del software per l azienda moderna. Gestirsi / Capirsi / Migliorarsi IL GESTIONALE DEL FUTURO L evoluzione del software per l azienda moderna Gestirsi / Capirsi / Migliorarsi IL MERCATO ITALIANO L Italia è rappresentata da un numero elevato di piccole e medie aziende che

Dettagli

Gestione delle Architetture e dei Servizi IT con ADOit. Un Prodotto della Suite BOC Management Office

Gestione delle Architetture e dei Servizi IT con ADOit. Un Prodotto della Suite BOC Management Office Gestione delle Architetture e dei Servizi IT con ADOit Un Prodotto della Suite BOC Management Office Controllo Globale e Permanente delle Architetture IT Aziendali e dei Processi IT: IT-Governance Definire

Dettagli

SAI QUANTO TEMPO IMPIEGHI A RINTRACCIARE UN DOCUMENTO, UN NUMERO DI TELEFONO O UNA E-MAIL?

SAI QUANTO TEMPO IMPIEGHI A RINTRACCIARE UN DOCUMENTO, UN NUMERO DI TELEFONO O UNA E-MAIL? archiviazione ottica, conservazione e il protocollo dei SAI QUANTO TEMPO IMPIEGHI A RINTRACCIARE UN DOCUMENTO, UN NUMERO DI TELEFONO O UNA E-MAIL? Il software Facile! BUSINESS Organizza l informazione

Dettagli

F O R M A T O E U R O P E O

F O R M A T O E U R O P E O F O R M A T O E U R O P E O P E R I L C U R R I C U L U M V I T A E INFORMAZIONI PERSONALI Nome Indirizzo Laura Bacci, PMP Via Tezze, 36 46100 MANTOVA Telefono (+39) 348 6947997 Fax (+39) 0376 1810801

Dettagli

Profilo Aziendale ISO 9001: 2008. METISOFT spa - p.iva 00702470675 - www.metisoft.it - info@metisoft.it

Profilo Aziendale ISO 9001: 2008. METISOFT spa - p.iva 00702470675 - www.metisoft.it - info@metisoft.it ISO 9001: 2008 Profilo Aziendale METISOFT spa - p.iva 00702470675 - www.metisoft.it - info@metisoft.it Sede legale: * Viale Brodolini, 117-60044 - Fabriano (AN) - Tel. 0732.251856 Sede amministrativa:

Dettagli

DynDevice ECM. La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali

DynDevice ECM. La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali DynDevice ECM La Suite di applicazioni web per velocizzare, standardizzare e ottimizzare il flusso delle informazioni aziendali Presentazione DynDevice ECM Cos è DynDevice ICMS Le soluzioni di DynDevice

Dettagli

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi

APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO. Francesco Marchione e Dario Richichi APPLICAZIONE WEB PER LA GESTIONE DELLE RICHIESTE DI ACQUISTO DEL MATERIALE INFORMATICO Francesco Marchione e Dario Richichi Istituto Nazionale di Geofisica e Vulcanologia Sezione di Palermo Indice Introduzione...

Dettagli

PASSIONE PER L IT PROLAN. network solutions

PASSIONE PER L IT PROLAN. network solutions PASSIONE PER L IT PROLAN network solutions CHI SIAMO Aree di intervento PROFILO AZIENDALE Prolan Network Solutions nasce a Roma nel 2004 dall incontro di professionisti uniti da un valore comune: la passione

Dettagli

Panoramica su ITIL V3 ed esempio di implementazione del Service Design

Panoramica su ITIL V3 ed esempio di implementazione del Service Design Master Universitario di II livello in Interoperabilità Per la Pubblica Amministrazione e Le Imprese Panoramica su ITIL V3 ed esempio di implementazione del Service Design Lavoro pratico II Periodo didattico

Dettagli

MIB PER IL CONTROLLO DELLO STATO DI UN SERVER FTP

MIB PER IL CONTROLLO DELLO STATO DI UN SERVER FTP Università degli Studi di Pisa Facoltà di Scienze Matematiche,Fisiche e Naturali Corso di Laurea in Informatica Michela Chiucini MIB PER IL CONTROLLO DELLO STATO DI UN SERVER

Dettagli

La gestione avanzata della forza vendita: mobile e off-line, ma integrata nei processi aziendali.

La gestione avanzata della forza vendita: mobile e off-line, ma integrata nei processi aziendali. La gestione avanzata della forza vendita: mobile e off-line, ma integrata nei processi aziendali. Gabriele Ottaviani product manager - mobile solutions - Capgemini BS Spa premesse...dovute soluzione off-line...ma

Dettagli

Esperienza di interoperabilità tra servizi bibliotecari tramite protocollo ISO-ILL. Colloquio standard ILL- SBN/Aleph e ILL-SBN /Sebina Open Library

Esperienza di interoperabilità tra servizi bibliotecari tramite protocollo ISO-ILL. Colloquio standard ILL- SBN/Aleph e ILL-SBN /Sebina Open Library Esperienza di interoperabilità tra servizi bibliotecari tramite protocollo ISO-ILL. Colloquio standard ILL- SBN/Aleph e ILL-SBN /Sebina Open Library A. Bardelli (Univ. Milano Bicocca), L. Bernardis (Univ.

Dettagli

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it

FIRESHOP.NET. Gestione Utility & Configurazioni. Rev. 2014.3.1 www.firesoft.it FIRESHOP.NET Gestione Utility & Configurazioni Rev. 2014.3.1 www.firesoft.it Sommario SOMMARIO Introduzione... 4 Impostare i dati della propria azienda... 5 Aggiornare il programma... 6 Controllare l integrità

Dettagli

Programmazione di rete in Java

Programmazione di rete in Java Programmazione di rete in Java Reti di calcolatori Una rete di calcolatori è un sistema che permette la condivisione di dati informativi e risorse (sia hardware sia software) tra diversi calcolatori. Lo

Dettagli

SMS API. Documentazione Tecnica YouSMS SOAP API. YouSMS Evet Limited 2015 http://www.yousms.it

SMS API. Documentazione Tecnica YouSMS SOAP API. YouSMS Evet Limited 2015 http://www.yousms.it SMS API Documentazione Tecnica YouSMS SOAP API YouSMS Evet Limited 2015 http://www.yousms.it INDICE DEI CONTENUTI Introduzione... 2 Autenticazione & Sicurezza... 2 Username e Password... 2 Connessione

Dettagli

DigitPA egovernment e Cloud computing

DigitPA egovernment e Cloud computing DigitPA egovernment e Cloud computing Esigenze ed esperienze dal punto di vista della domanda RELATORE: Francesco GERBINO 5 ottobre 2010 Agenda Presentazione della Società Le infrastrutture elaborative

Dettagli

SCUOLANEXT, è l'esclusivo e rivoluzionario sistema informatizzato con cui far interagire docenti, studenti e famiglie in tempo reale!

SCUOLANEXT, è l'esclusivo e rivoluzionario sistema informatizzato con cui far interagire docenti, studenti e famiglie in tempo reale! SCUOLANET, è l'esclusivo e rivoluzionario sistema informatizzato con cui far interagire docenti, studenti e famiglie in tempo reale! SCUOLANET consente la piena digitalizzazione della scuola: completa

Dettagli

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi

AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Unified Process. Prof. Agostino Poggi AOT Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Unified Process Prof. Agostino Poggi Unified Process Unified Software Development Process (USDP), comunemente chiamato

Dettagli

Corso di Amministrazione di Sistema Parte I ITIL 3

Corso di Amministrazione di Sistema Parte I ITIL 3 Corso di Amministrazione di Sistema Parte I ITIL 3 Francesco Clabot Responsabile erogazione servizi tecnici 1 francesco.clabot@netcom-srl.it Fondamenti di ITIL per la Gestione dei Servizi Informatici Il

Dettagli

INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it

INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it INTRODUZIONE, LINGUAGGIO, HANDS ON Giuseppe Cirillo g.cirillo@unina.it Il linguaggio C 1972-Dennis Ritchie 1978-Definizione 1990-ANSI C 1966 Martin Richars (MIT) Semplificando CPL usato per sviluppare

Dettagli

Web Conferencing Open Source

Web Conferencing Open Source Web Conferencing Open Source A cura di Giuseppe Maugeri g.maugeri@bembughi.org 1 Cos è BigBlueButton? Sistema di Web Conferencing Open Source Basato su più di quattordici componenti Open-Source. Fornisce

Dettagli

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli

Modello OSI e architettura TCP/IP

Modello OSI e architettura TCP/IP Modello OSI e architettura TCP/IP Differenza tra modello e architettura - Modello: è puramente teorico, definisce relazioni e caratteristiche dei livelli ma non i protocolli effettivi - Architettura: è

Dettagli

12.5 UDP (User Datagram Protocol)

12.5 UDP (User Datagram Protocol) CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 88 12.5 UDP (User Datagram Protocol) L UDP (User Datagram Protocol) é uno dei due protocolli del livello di trasporto. Come l IP, é un protocollo inaffidabile, che

Dettagli

Mobile Messaging SMS. Copyright 2015 VOLA S.p.A.

Mobile Messaging SMS. Copyright 2015 VOLA S.p.A. Mobile Messaging SMS Copyright 2015 VOLA S.p.A. INDICE Mobile Messaging SMS. 2 SMS e sistemi aziendali.. 2 Creare campagne di mobile marketing con i servizi Vola SMS.. 3 VOLASMS per inviare SMS da web..

Dettagli

Cos è l Ingegneria del Software?

Cos è l Ingegneria del Software? Cos è l Ingegneria del Software? Corpus di metodologie e tecniche per la produzione di sistemi software. L ingegneria del software è la disciplina tecnologica e gestionale che riguarda la produzione sistematica

Dettagli

BRM. Tutte le soluzioni. per la gestione delle informazioni aziendali. BusinessRelationshipManagement

BRM. Tutte le soluzioni. per la gestione delle informazioni aziendali. BusinessRelationshipManagement BRM BusinessRelationshipManagement Tutte le soluzioni per la gestione delle informazioni aziendali - Business Intelligence - Office Automation - Sistemi C.R.M. I benefici di BRM Garantisce la sicurezza

Dettagli

White Paper. Operational DashBoard. per una Business Intelligence. in real-time

White Paper. Operational DashBoard. per una Business Intelligence. in real-time White Paper Operational DashBoard per una Business Intelligence in real-time Settembre 2011 www.axiante.com A Paper Published by Axiante CAMBIARE LE TRADIZIONI C'è stato un tempo in cui la Business Intelligence

Dettagli

Energy risk management

Energy risk management Il sistema di supporto alle tue decisioni Energy risk management Un approccio orientato agli attori M.B.I. Srl, Via Francesco Squartini 7-56121 Pisa, Italia - tel. 050 3870888 - fax. 050 3870808 www.powerschedo.it

Dettagli

Corso di Programmazione ad Oggetti

Corso di Programmazione ad Oggetti Corso di Programmazione ad Oggetti Introduzione alla programmazione ad oggetti a.a. 2008/2009 Claudio De Stefano 1 La programmazione modulare Un programma può essere visto come un insieme di moduli che

Dettagli

Cross Software ltd Malta Pro.Sy.T Srl. Il gestionale come l'avete sempre sognato... Pag. 1

Cross Software ltd Malta Pro.Sy.T Srl. Il gestionale come l'avete sempre sognato... Pag. 1 Il gestionale come l'avete sempre sognato... Pag. 1 Le funzionalità di X-Cross La sofisticata tecnologia di CrossModel, oltre a permettere di lavorare in Internet come nel proprio ufficio e ad avere una

Dettagli

RELAZIONI TRA SERVIZI PER L IMPIEGO

RELAZIONI TRA SERVIZI PER L IMPIEGO RELAZIONI TRA SERVIZI PER L IMPIEGO E AZIENDE-UTENTI L IMPATTO DELLE PROCEDURE INFORMATIZZATE a cura di Germana Di Domenico Elaborazione grafica di ANNA NARDONE Monografie sul Mercato del lavoro e le politiche

Dettagli

white paper La Process Intelligence migliora le prestazioni operative del settore assicurativo

white paper La Process Intelligence migliora le prestazioni operative del settore assicurativo white paper La Process Intelligence migliora le prestazioni operative del settore assicurativo White paper La Process Intelligence migliora le prestazioni operative del settore assicurativo Pagina 2 Sintesi

Dettagli

Le caratteristiche di interoperabilità del Terrapack 32 M

Le caratteristiche di interoperabilità del Terrapack 32 M I T P E l e t t r o n i c a Le caratteristiche di interoperabilità del Terrapack 32 M M. Guerriero*, V. Ferrara**, L. de Santis*** * ITP Elettronica ** Dipartimento di Ingegneria Elettronica Univ. La Sapienza

Dettagli

IT-BOOK. Domini Hosting Web marketing E-mail e PEC

IT-BOOK. Domini Hosting Web marketing E-mail e PEC 5 giugno 09 IT-BOOK Configurazioni e cartatteristiche tecniche possono essere soggette a variazioni senza preavviso. Tutti i marchi citati sono registrati dai rispettivi proprietari. Non gettare per terra:

Dettagli

IBM UrbanCode Deploy Live Demo

IBM UrbanCode Deploy Live Demo Dal 1986, ogni giorno qualcosa di nuovo Marco Casu IBM UrbanCode Deploy Live Demo La soluzione IBM Rational per il Deployment Automatizzato del software 2014 www.gruppoconsoft.com Azienda Nata a Torino

Dettagli

GESTIRE LA BIBLIOGRAFIA

GESTIRE LA BIBLIOGRAFIA GESTIRE LA BIBLIOGRAFIA STRUMENTI DI GESTIONE BIBLIOGRAFICA I software di gestione bibliografica permettono di raccogliere, catalogare e organizzare diverse tipologie di materiali, prendere appunti, formattare

Dettagli

RedDot Content Management Server Content Management Server Non sottovalutate il potenziale della comunicazione online: usatela! RedDot CMS vi permette di... Implementare, gestire ed estendere progetti

Dettagli

GESTIONE ATTREZZATURE

GESTIONE ATTREZZATURE SOLUZIONE COMPLETA PER LA GESTIONE DELLE ATTREZZATURE AZIENDALI SWSQ - Solution Web Safety Quality srl Via Mons. Giulio Ratti, 2-26100 Cremona (CR) P. Iva/C.F. 06777700961 - Cap. Soc. 10.000,00 I.V. -

Dettagli

Piazza delle Imprese alimentari. Viale delle Manifatture. Via della Produzione

Piazza delle Imprese alimentari. Viale delle Manifatture. Via della Produzione Piazza delle Imprese alimentari Viale delle Manifatture Via della Produzione PASSEPARTOUT MEXAL è una soluzione gestionale potente e completa per le imprese che necessitano di un prodotto estremamente

Dettagli

2013 Skebby. Tutti i diritti riservati.

2013 Skebby. Tutti i diritti riservati. Disclaimer: "# $%&'(&)'%# *("# +,(-(&'(# *%$).(&'%#,/++,(-(&'/# 0"#.(1"0%# *(""20&3%,./40%&(# /# &%-',/# disposizione. Abbiamo fatto del nostro meglio per assicurare accuratezza e correttezza delle informazioni

Dettagli

E-MAIL INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI

E-MAIL INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI E-MAIL INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI E-MAIL INTEGRATA Ottimizzazione dei processi aziendali Con il modulo E-mail Integrata, NTS Informatica ha realizzato uno strumento di posta elettronica

Dettagli

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese Inter Process Communication Laboratorio Software 2008-2009 C. Brandolese Introduzione Più processi o thread Concorrono alla relaizzazione di una funzione applicativa Devono poter realizzare Sincronizzazione

Dettagli

Business Intelligence. Il data mining in

Business Intelligence. Il data mining in Business Intelligence Il data mining in L'analisi matematica per dedurre schemi e tendenze dai dati storici esistenti. Revenue Management. Previsioni di occupazione. Marketing. Mail diretto a clienti specifici.

Dettagli

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina

Sistemi di supporto alle decisioni Ing. Valerio Lacagnina Cosa è il DSS L elevato sviluppo dei personal computer, delle reti di calcolatori, dei sistemi database di grandi dimensioni, e la forte espansione di modelli basati sui calcolatori rappresentano gli sviluppi

Dettagli

Corso Base ITIL V3 2008

Corso Base ITIL V3 2008 Corso Base ITIL V3 2008 PROXYMA Contrà San Silvestro, 14 36100 Vicenza Tel. 0444 544522 Fax 0444 234400 Email: proxyma@proxyma.it L informazione come risorsa strategica Nelle aziende moderne l informazione

Dettagli

Business Process Management

Business Process Management Corso di Certificazione in Business Process Management Progetto Didattico 2015 con la supervisione scientifica del Dipartimento di Informatica Università degli Studi di Torino Responsabile scientifico

Dettagli

Utilizzato con successo nei più svariati settori aziendali, con Passepartout Mexal BP ogni utente può disporre di funzionalità

Utilizzato con successo nei più svariati settori aziendali, con Passepartout Mexal BP ogni utente può disporre di funzionalità PASSEPARTOUT MEXAL BP è una soluzione gestionale potente e completa per le imprese che necessitano di un prodotto estremamente flessibile, sia dal punto di vista tecnologico sia funzionale. Con più di

Dettagli

Metadati e Modellazione. standard P_META

Metadati e Modellazione. standard P_META Metadati e Modellazione Lo standard Parte I ing. Laurent Boch, ing. Roberto Del Pero Rai Centro Ricerche e Innovazione Tecnologica Torino 1. Introduzione 1.1 Scopo dell articolo Questo articolo prosegue

Dettagli

Architettura SPC e porta di dominio per le PA

Architettura SPC e porta di dominio per le PA Libro bianco sulla SOA v.1.0 Allegato 2_1 Architettura SPC e porta di dominio per le PA vs 02 marzo 2008 Gruppo di Lavoro SOA del ClubTI di Milano Premessa L architettura SPC e la relativa porta di dominio

Dettagli

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone SQL: il DDL Parti del linguaggio SQL Definizione di basi di dati (Data Definition Language DDL) Linguaggio per modificare

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

Dal punto di vista organizzativo sono possibili due soluzioni per il sistema di rete.

Dal punto di vista organizzativo sono possibili due soluzioni per il sistema di rete. Premessa. La traccia di questo anno integra richieste che possono essere ricondotte a due tipi di prove, informatica sistemi, senza lasciare spazio ad opzioni facoltative. Alcuni quesiti vanno oltre le

Dettagli

Scheda descrittiva del programma. Open-DAI. ceduto in riuso. CSI-Piemonte in rappresentanza del Consorzio di progetto

Scheda descrittiva del programma. Open-DAI. ceduto in riuso. CSI-Piemonte in rappresentanza del Consorzio di progetto Scheda descrittiva del programma Open-DAI ceduto in riuso CSI-Piemonte in rappresentanza del Consorzio di progetto Agenzia per l Italia Digitale - Via Liszt 21-00144 Roma Pagina 1 di 19 1 SEZIONE 1 CONTESTO

Dettagli

LEAN SOLUTION FOR YOUR BUSINESS

LEAN SOLUTION FOR YOUR BUSINESS BUSINESS PROFILE LEAN SOLUTION FOR YOUR BUSINESS Omnia Group è costituito da un complesso di aziende operanti nei settori della consulenza e dell erogazione di servizi informatici. L azienda è caratterizzata

Dettagli

Energy Data Management System (EDMS): la soluzione software per una gestione efficiente dell energia secondo lo standard ISO 50001

Energy Data Management System (EDMS): la soluzione software per una gestione efficiente dell energia secondo lo standard ISO 50001 Energy Data Management System (EDMS): la soluzione software per una gestione efficiente dell energia secondo lo standard ISO 50001 Oggi più che mai, le aziende italiane sentono la necessità di raccogliere,

Dettagli

Le variabili. Olga Scotti

Le variabili. Olga Scotti Le variabili Olga Scotti Cos è una variabile Le variabili, in un linguaggio di programmazione, sono dei contenitori. Possono essere riempiti con un valore che poi può essere riletto oppure sostituito.

Dettagli

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it UML: Class Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Class Diagram Forniscono una vista strutturale

Dettagli

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1 Tutorial Configuration Managment Configurare il servizio EC2 su AWS Pagina 1 Sommario 1. INTRODUZIONE... 3 2. PROGRAMMI NECESSARI... 4 3. PANNELLO DI CONTROLLO... 5 4. CONFIGURARE E LANCIARE UN ISTANZA...

Dettagli

Web conferencing software. Massimiliano Greco - Ivan Cerato - Mario Salvetti

Web conferencing software. Massimiliano Greco - Ivan Cerato - Mario Salvetti 1 Web conferencing software Massimiliano Greco - Ivan Cerato - Mario Salvetti Arpa Piemonte 2 Che cosa è Big Blue Button? Free, open source, web conferencing software Semplice ed immediato ( Just push

Dettagli

Milano, Settembre 2009 BIOSS Consulting

Milano, Settembre 2009 BIOSS Consulting Milano, Settembre 2009 BIOSS Consulting Presentazione della società Agenda Chi siamo 3 Cosa facciamo 4-13 San Donato Milanese, 26 maggio 2008 Come lo facciamo 14-20 Case Studies 21-28 Prodotti utilizzati

Dettagli

APPENDICE 3 AL CAPITOLATO TECNICO

APPENDICE 3 AL CAPITOLATO TECNICO CONSIP S.p.A. APPENDICE 3 AL CAPITOLATO TECNICO Manuale d uso del programma Base Informativa di Gestione (BIG), utilizzato per la raccolta delle segnalazioni ed il monitoraggio delle attività di gestione

Dettagli