Lezione 7: Riuso del Software

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Lezione 7: Riuso del Software"

Transcript

1 Lezione 7: Riuso del Software Riferimenti: I.Sommerville, Ingegneria del Software, 8 edizione- Cap. 18 (Riuso) Ingegneria del Software 2 Riuso del Software 1 Outline Vantaggi del riuso Panoramica sulle forme di riuso Design Pattern Riuso basato su generatori Application Frameworks Riuso di COTS Ingegneria del Software 2 Riuso del Software 2 1

2 Riuso del Software Nella maggior parte delle discipline ingegneristiche, I sistemi si progettano a partire da componenti che sono usati anche da altri sistemi. L Ingegneria del Software si è originariamente preoccupata soprattutto dello sviluppo di software exnovo, ma oggi è ben noto che occorre adottare processi di sviluppo basati su un riuso sistematico del software: per ottenere software migliore e per ottenere software più rapidamente ed economicamente. Ingegneria del Software 2 Riuso del Software 3 Vantaggi del riuso Riusare software esistente può consentire di: Ridurre i costi di sviluppo/ testing Produrre software che rifletta il livello di affidabilità dei software riusati: in presenzadi software riusabili di grande qualità può essere una ottima opzione Riusare è possibile a diversi livelli e dimensioni: Riusodi intere applicazioni (es. COTs) Riusodi componenti (v. CBSE) Riuso di oggetti e funzioni Ingegneria del Software 2 Riuso del Software 4 2

3 Quali cose possono essere riusate? Non bisogna pensare solo al codice! È possibile riusare anche: L Architettura di un sistema I progetti L analisi La documentazione (sia tecnica che utente) I test Ingegneria del Software 2 Riuso del Software 5 Benefici del Riuso Maggiore affidabilità Il software riusato è, generalmente, più affidabile (in quanto già provato e testato) di quello prodotto exnovo. Minori rischi di progetto Se si può riusare software, piuttosto che svilupparlo ex-novo, si possono fare stime più accurate sui costi del progetto Sviluppo più rapido I tempi di sviluppo si accorciano ed è possibile consegnare il software più rapidamente Ingegneria del Software 2 Riuso del Software 6 3

4 Problemi legati al riuso Maggiori costi di manutenzione Se si riusa software di cui non si possiede il codice, il sistema complessivo potrà risultare meno flessibile e meno manutenibile Mancanza di strumenti CASE Spesso i CASE non forniscono funzionalità che consentono un efficace riuso di librerie di componenti software Diffidenza verso software prodotto da altri Spesso si preferisce risviluppare per avere un maggior controllo sul software prodotto Ingegneria del Software 2 Riuso del Software 7 Problemi legati al riuso Difficoltà nel creare e Mantenere librerie di componenti riusabili Popolare librerie di componenti riusabili può essere costoso, e le tecniche disponibili per classificare, catalogare e ricercare componenti software non sono ancora mature. Difficoltà nel trovare, comprendere ed adattare componenti riusabili Non sempre si è disposti a spendere tempo per cercare, comprendere ed eventualmente adattare un componente riusabile. Ingegneria del Software 2 Riuso del Software 8 4

5 Panoramica di approcci per il Riuso Design patterns Component-based development Service-oriented systems Component frameworks Legacy system wrapping Application product lines Program libraries COTS integration Configurable ver tical applications Aspect-oriented software development Program generators Ingegneria del Software 2 Riuso del Software 9 Approcci per il Riuso (1) Design patterns Component-based development Application frameworks Legacy system wrapping Service-oriented systems Generic abstractions that occur across applications are represented as design patterns that show abstract and concrete objects and interactions. Systems are developed by integrating components (collections of objects) that conform to component-model standard. Collections of abstract and concreteclasses that canbe adaptedand extended to create application systems. Legacy systems(seechapter 2) that can be wrapped b y defining a set of interfaces and providing access to these legacy systems through these interfaces. Systemsare developed by linking shared services that may be externally provided. Ingegneria del Software 2 Riuso del Software 10 5

6 Approcci per il Riuso (2) Applicat ion product lines COTS integrat ion Configurable vertical applica tions Program libra ries Program gener ators Aspec t-oriented soft ware devel opment An application type is generalised around a co mmon architecture so that it can be adapted in different wa ys for different custom ers. Systems are dev eloped by integrating existing application systems. A generic system is designed so that it ca n be configured to the nee ds of sp ec ific system customers. Class and function libraries implementing commonly-used abstract ions are a vailable for reuse. A generator s ystem embeds knowledge of a particular types of applicat ion and can generate systems or system fragments in that dom ain. Share d components are woven into an application at different place s when the program is compiled. Ingegneria del Software 2 Riuso del Software 11 Diversi Approcci possibili per il Riuso Design Patterns Component-based development Application Framework Wrapping di sistemi legacy Sistemi orientati ai servizi Linee di prodotto applicative Integrazione di sistemi COTS (Commercial Off The Shelf) Applicazioni verticali configurabili Librerie di programmi Generatori di programmi Ingegneria del Software 2 Riuso del Software 12 6

7 Fattori di cui tener conto nel pianificare il riuso Tempistica richiesta per lo sviluppo Durata prevista per la vita del software Background, capacità ed esperienza del team di sviluppo nelle tecnologie di riuso Criticità del software e altri requisiti non funzionali Dominio di applicazione Piattaforma sulla quale eseguire il sistema Ingegneria del Software 2 Riuso del Software Riuso a livello Concettuale Il Riuso di componenti già implementati obbliga ad ereditare le scelte di progetto e di sviluppo di chi ha realizzato I componenti (es. algoritmi, interfacce, linguaggi, ), limitando le situazione nelle quali il riuso è possibile Ad un maggiore livello di astrazione, è possibile invece riutilizzare concetti, progetti astratti, privi didettagli implementativi Es. Riuso di schemi di progettazione usati per Algoritmi fondamentali, tipi di dato astratto; Design patterns Generative programming Ingegneria del Software 2 Riuso del Software 14 7

8 Riuso di schemi di progettazione Alcuni esempi: Algoritmi Fondamentali Ricerca, Ordinamento, Visita di Alberi, etc Tipi di Dato Astratto Pila, coda, albero, lista, tabella Ingegneria del Software 2 Riuso del Software 15 Design Pattern Un Pattern individua un IDEA, uno schema GENERALE E RIUSABILE schema di problema, schema di soluzione, etc. Rispetto ai componenti riusabili non è un oggetto fisico non può essere usato così come è stato definito, ma deve essere contestualizzato all interno del particolare problema applicativo Due istanze/contestualizzazioni di uno stesso pattern (ad esempio in problemi diversi) tipicamente sono diverse proprio per la contestualizzazione in domini differenti Ingegneria del Software 2 Riuso del Software 16 8

9 Scopo dei Patterns Scopo dei pattern Catturare l esperienza e la saggezza degli esperti Evitare di reinventare ogni volta le stesse cose Cosa fornisce un design pattern al progettista software? Una soluzione codificata e consolidata per un problema ricorrente Un astrazione di granularità e livello di astrazione più elevati di una classe Un supporto alla comunicazione delle caratteristiche del progetto Un modo per progettare software con caratteristiche predefinite Un supporto alla progettazione di sistemi complessi Ingegneria del Software 2 Riuso del Software 17 Definizione Ogni pattern descrive: un problema specifico che ricorre più volte e il nucleo della soluzione a quel problema, in modo da poter utilizzare tale soluzione un milione di volte, senza mai farlo allo stesso modo. Abbastanza astratti in modo da poter essere condivisi da progettisti con punti di vista diversi Non complessi nè domain-specific non rivolti alla specifica applicazione ma riusabili in parti di applicazioni diverse Ingegneria del Software 2 Riuso del Software 18 9

10 Caratteristiche Un Design Pattern Nomina, Astrae, e Identifica gli aspetti chiave di una struttura comune di design che la rendono utile nel contesto del riuso in ambito object-oriented Un Design Pattern identifica le classi (e le istanze) partecipanti le associazioni ed i ruoli le modalità di collaborazione tra le classi coinvolte la distribuzione delle responsabilità nella soluzione del particolare problema di design considerato Ingegneria del Software 2 Riuso del Software 19 Elementi fondamentali dei Design Patterns (secondo Gamma etal.) Un pattern è descritto da quattro elementi essenziali 1. Il nome del pattern, è utile per descrivere la sua funzionalità in una o due parole. 2. Il problema nel quale il pattern è applicabile. 3. La descrizione della soluzione. È un modello che descrive gli elementi che compongono il design, le loro responsabilità e le collaborazioni. 4. Le conseguenze portate dall'applicazione del pattern. Spesso sono tralasciate ma sono importanti per poter valutare i costi-benefici dell'utilizzo del pattern. Ingegneria del Software 2 Riuso del Software 20 10

11 Esempio. Il problema: ottenere diverse visualizzazioni dello stato di un oggetto Serie Soggetto Dato1: 15 Osservatore 1 Osservatore 2 Dato2: 25 Dato3: 20 Dato4: 10 Dato5: 30 Il problema di ottenere diverse visualizzazioni di uno stesso soggetto Ingegneria del Software 2 Riuso del Software 21 Descrizione del Pattern Observer Nome: Observer. Descrizione: Separa la visualizzazione dello stato di un oggetto dall oggetto stesso. Quando lo stato dell oggetto cambia, le sue visualizzazioni sono avvertite del cambiamento e sono aggiornate automaticamente Descrizione del problema Usato quandosono richiesti più formati di visualizzazione di stato di un oggetto, e si vuole che l oggetto non conosca tali formati. Descrizione della soluzione Consultare la seguente descrizione in UML. Conseguenze C è accoppiamento minimo fra osservato ed osservatori, pertanto uno svantaggio è sulla impossibilità di ottimizzare le prestazioni dei visualizzatori. Ingegneria del Software 2 Riuso del Software 22 11

12 Observer La classe Subject conosce I suoiosservatori e fornisce una interfaccia per attaccare e staccare oggettiobserver e una per notificare a tuttigli Observer i cambiamenti del Subject. La classe Observer definisce una interfaccia per oggetti a cui dovrà essere notificata una modifica del Subject. return subjectstate ; Lo schema UML del Pattern Observer observerstate= subject->getstate(); Ingegneria del Software 2 Riuso del Software 23 Observer: comportamento dinamico : ConcreteObserver attach(observer) : ConcreteSubject External Source setstate( ) update( ) notify( ) getstate( ) Ingegneria del Software 2 Riuso del Software 24 12

13 Categorie di Pattern Un esempio di catalogo DP è presente nel libro Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns: Elements of Reusable Object Oriented Software. I pattern qui descritti sono spesso denominati pattern GoF (Gang of Four), per ricordarne i 4 autori Esistono diverse categorie di pattern, che descrivono la funzione (purpose) e il dominio (scope) del pattern. Funzione (purpose), ovvero cosa fa il pattern: Creazionali (creational): forniscono meccanismi per la creazione di oggetti Strutturali (structural): gestiscono la separazione tra interfaccia e implementazione e le modalità di composizione tra oggetti Comportamentali (behavioral): consentono la modifica del comportamento degli oggetti minimizzando le necessità di cambiare il codice Ingegneria del Software 2 Riuso del Software Riuso basato su Generatori Un generatore è un software che è in grado di generare, a sua volta, software parametrizzato in base a delle specifiche fornite dall utente I generatori possono essere utilizzati nell ambito di quei problemi per I quali esistono soluzioni ben consolidate che però dipendono notevolmente dai dati in ingresso I dati in ingresso al generatore di programmi vanno a descrivere la conoscenza relativa al dominio per il quale debba essere utilizzato il programma da generare Ingegneria del Software 2 Riuso del Software 26 13

14 Generative programming È un paradigma di ingegneria del software basato sulla modellazione di famiglie di sistemi che, data una particolare specifica dei requisiti, ottiene automaticamente un sistema customizzato ed ottimizzato A partire da componenti elementari riusabili Adottando processi automatici di trasformazione e configurazione La specifica del sistema viene eseguita mediante Domain Specific Languages (DSL) Consente di ridurre il time-to-market, e migliorare la qualità del software prodotto e la produttività Gli strumenti di Generative programming usano le tecnologie dei parser e dei compilatori Transform/GenerativeProgrammingWiki Ingegneria del Software 2 Riuso del Software 27 Riuso basato su Generatori Conoscenza Conoscenza del del Dominio Dominio applicativo applicativo Descrizione dell applicazione Generatore Di programma Programma generato Database La generazione di un programma attraverso un generatore di codice Ingegneria del Software 2 Riuso del Software 28 14

15 Esempi di generatori di codice (1) Generatori di applicazioni per gestione dati aziendali I dati di dominio servono semplicemente alla personalizzazione del prodotto; Parser e analizzatori lessicali per analisi di codice: L input è una grammatica del linguaggio da analizzare; l output è l analizzatore del linguaggio. Es. Antlr Lex&Yacc (per codice C) e JavaCC (per codice Java) Ingegneria del Software 2 Riuso del Software 29 Esempi di generatori di codice (2) Generatori di codice basati su modelli Ad esempio componenti software, inclusi in strumenti CASE per la modellazione di software, che generano frammenti di codice a partire da modelli (ad esempio da modelli UML) DPAToolkit Genera uno scheletro di codice java/cpp che istanzia un design pattern Web Ratio Genera un applicazione web a partire da un modello codificato in WEBml, che a sua volta estende modelli delle classi e modelli E-R Ingegneria del Software 2 Riuso del Software 30 15

16 Vantaggi e svantaggi dei generatori Il riuso basato su generatori riduce notevolmente il costo di sviluppo e produce codice molto affidabile Tramite generatori di codice si possono ottenere programmi più versatili e performanti di quanto si possa ottenere limitandosi a leggere direttamente dal database, a tempo di esecuzione, I dati relativi alla personalizzazione Non tutti I generatori di codice, però, sono in grado di generare codice che sia anche efficiente Scrivere una descrizione di dominio per un utente programmatore è più semplice che sviluppare programmi da zero (anche se lo skill richiesto non è minimo) La loro applicabilità si limita a poche tipologie di problemi Spesso il linguaggio col quale descrivere il problema al generatore ha una semantica molto limitata Ingegneria del Software 2 Riuso del Software 31 Model Driven Architectures (MDA) Famiglia di standard di modellazione (basata su UML e standardizzata da OMG [1]), pensati allo scopo di generare codice eseguibile a partire da modelli MDA si basa sulla separazione fra livelli di astrazione (dominio, tecnologia, codice) MDA si basa sulla automazione della trasformazione fra modelli di diverso livello L approccio MDA ha l obiettivo di fornire uno standard completo per la creazione di modelli indipendenti dall'implementazione, in modo che possano essere "mappati" su qualsiasi piattaforma, presente o futura [1] Specifiche di MDA: [2] Elenco di MDA tools: Ingegneria del Software 2 Riuso del Software 32 16

17 Modelli nell MDA modello PIM (Platform Independent Model) definisce le funzionalità di business ed il comportamento del sistema, indipendentemente dalla sua implementazione tecnologica modelli PSM (Platform Specific Model) consente di "mappare" il PIM su una specifica tecnologia (Java, CORBA, web...), senza alterare il PIM stesso. Il linguaggio UML è usato per specificare PIM e PSM Ingegneria del Software 2 Riuso del Software 33 MDA- processo di sviluppo La definizione di PIM e PSM si avvale di Patterns predefiniti, personalizzabili e riusabili, così come la trasformazione da PIM a PSM (patterns tecnologici) e la generazione del software (patterns di implementazione) a partire dal PSM. Pattern di Trasformazione Pattern Funzionali Patterns tecnologici Patterns implementativi PIM PSM Codice patterns patterns patterns Ingegneria del Software 2 Riuso del Software 34 17

18 Famiglie di strumenti necessari per l MDA Tool di modellazione Tool di analisi del modello Per la verifica di presenza di inconsistenze, incompletezze, errori nei modelli Tool di test Per eseguire verifiche model-based dei modelli Tool di traduzione che attuino le regole di traduzione previste per passare da modelli PIM verso modelli PSM dal PSM verso il codice. Molte implementazioni degli standard di modellazione OMG sono presenti nell Eclipse Modeling Framework (EMF) e Graphical Modeling Framework (GMF). Ingegneria del Software 2 Riuso del Software Application Framework I framework rappresentano modelli astratti di progetto di sotto-sistemi. Le applicazioni si costruiscono integrando e completando una serie di framework. Es.: OO Framework Composti di una collezione di classi astratte e concrete e di interfacce tra loro; Un framework OO è una struttura generica; per realizzare il software bisogna riempire le parti del progetto instanziando le classi astratte necessarie, ed implementando il codice mancante (v. Android) Si differenziano dai design patterns per il fatto di essere astrazioni di livello più alto, a livello architetturale anzichè di design. Ingegneria del Software 2 Riuso del Software 36 18

19 Classificazioni di framework Infrastruttura di sistema Supportano lo sviluppo di infrastrutture come comunicazioni, interfacce utente, e compilatori Integrazione di middleware Composti da standard e classi di oggetti per la comunicazione e lo scambio di informazioni tra oggetti (es. CORBA, COM+, Enterprise Java Beans ) Applicazioni aziendali Integrano la conoscenza per specifici domini di applicazione (es. telecomunicazioni o sistemi finanziari) e supportano lo sviluppo di nuove applicazioni I primi due tipi rientrano anche nella categoria dei Framework Orizzontali mentre le Applicazioni aziendali si considerano come Framework Verticali Ingegneria del Software 2 Riuso del Software 37 Framework Spesso i framework sono istanziazioni di una serie di design pattern L utilizzo di un framework da parte di programmatori e progettisti comporta ilraggiungimento di un notevole skill riguardante la conoscenza della struttura del framework e delle opportunità da esso messe a disposizione. Spesso è necessario molto tempo, prima di poter maturare tali conoscenze Ingegneria del Software 2 Riuso del Software 38 19

20 Un esempio: Model-View-Controller É un framework usato per la progettazione di GUI. Permette presentazioni diverse di uno stesso oggetto e fornisce interazioni separate con queste presentazioni. MVC richiede l istanziazione di vari design pattern (es. Observer, Strategy, Composite, ) Ingegneria del Software 2 Riuso del Software 39 Model-view-controller Input utente Stato del Controller Metodi del controller Messaggi di modifica della View Stato della View Metodi della View Modifiche al Model Stato del Model Metodi del Model Interrogazioni e aggiornamenti del Model Schema del Framework Model-View-Controller Ingegneria del Software 2 Riuso del Software 40 20

21 MVC - come funziona L utente interagisce con la UI scatenando eventi (es. click su un elemento della UI) Il Controller interviene gestendo l evento mediante un handler o un callback Il Controller notifica la richiesta utente al Model, causando un eventuale cambiamento di stato del Model La View interroga il Model per generare una nuova interfaccia utente La view viene notificata del cambiamento direttamente dal Controller, oppure indirettamente mediante il pattern Observer Ingegneria del Software 2 Riuso del Software Riutilizzo di intere applicazioni Consiste nel riutilizzare, eventualmente previa riconfigurazione o personalizzazione, intere applicazioni. Le applicazioni possono essere riutilizzate direttamente o essere integrate fra loro come componenti indipendenti all interno di più ampi sistemi. Esistono due approcci principali: Integrazione di COTS; Sviluppo di Linee di Prodotti Ingegneria del Software 2 Riuso del Software 42 21

22 Riuso di COTS COTS - Commercial Off-The-Shelf- Software commerciale che può essere usato dai suoi acquirenti senzamodifiche (es. Soluzioni desktop, prodotti server ) Esempio storico di COTS sono i DBMS Si tratta di applicazioni complete che spesso offrono un API (Application Programming Interface) per permettere ad altri componenti software di accedere alleproprie funzionalità Nella pratica, i COTS sono composti di un insiemedi classi astratte di interfaccia visibili all esterno e di un insiemedi classiastratte e concrete non visibili Ingegneria del Software 2 Riuso del Software 43 Integrazione di COTS Costruire grandi sistemi integrando COTS è una strategia abbastanza efficiente per sistemi le cui funzionalità base siano abbastanza comuni ad esempio per realizzare sistemi di E-Commerce, potrebbero essere riutilizzabili COTS che implementano soluzioni ai problemi di autenticazione, gestione del database, invio delle , browsing delle pagine web, etc. Tramite COTS si velocizza il processo di sviluppo riducendo i costi di sviluppo e test Ingegneria del Software 2 Riuso del Software 44 22

23 Fattori decisionali nella scelta dei COTS Quali COTS offrono le funzionalità più appropriate? Possono esserci diversi prodotti COTS utilizzabili tra cui scegliere in base a fattori come costo, completezza, affidabilità Come avviene lo scambio dei dati? L utilizzo di COTS comporta sempre lo sviluppo di codice per la conversione dei dati verso il formato richiesto dall applicazione o l eventuale adattamento dell applicazione a tali strutture dati Quali caratteristiche del prodotto COTS vengono utilizzate? La maggior parte dei prodotti COTS espongono una grande quantità di funzionalità, molte più di quante necessarie E opportuno negare l accesso alle funzionalità non utilizzate Può essere conveniente economicamente scegliere l adozione di COTS più ridotti Ingegneria del Software 2 Riuso del Software 45 Esempio: realizzare un sistema di acquisto basato su COTS Una organizzazione vuole dotarsi di un sistema per consentire a tutti I suoi dipendenti di effettuare ordini dai propri PC Il dipendente deve poter cercare liberamente gli articoli sul Web e fare ordini (e-commerce) la gestione degli ordini deve essere eseguita in modo centralizzato da un unico Ufficio Ordini L organizzazione possiede già un sistema COTS per gestire ordini ed uno per la fatturazione e consegna (usato solo dall ufficio ordini). Si sceglie di costruire il nuovo sistema integrando tale COTS con altri componenti. Ingegneria del Software 2 Riuso del Software 46 23

24 Dettagli della soluzione Sul lato client, saranno usati programmi standard di e web browsing (per eseguire la ricerca degli articoli da ordinare). Sul server, si integrerà una piattaforma per l ecommerce con ilsistema pre-esistente (ordini e fatturazioni). Saranno necessari degli adattatori per consentire lo scambio di dati. Verrà inoltre usato un sistema di per generare di notificae cisarà bisogno di un altro adattore per ricevere dati dal sistemadi fatturazione. Ingegneria del Software 2 Riuso del Software 47 Esempio: Sistema Acquisti basato su COTS Client Browser Browser web web Client Clientdi di posta posta elettronica elettronica Server Sistema Sistema di di e-commerce e-commerce Adattatore z Sistema Sistema Ordini Ordini e e Fatturazioni Fatturazioni Sistema Sistema di di Posta Posta elettronica elettronica Adattatore Un esempio di sistema basato su COTS Ingegneria del Software 2 Riuso del Software 48 24

25 Integrazione di applicazioni ed Adattatori Per poter dialogare con applicazioni/componenti esistenti è necessario formulare richieste secondo il formato accettato dall applicazione Interpretare le risposte ottenute nel formato prodotto dall applicazione Sistema Sistema 1 Adattatore 1 Sistema Sistema 22 L Adattatore ha il compito di eseguire le necessarie trasformazioni di formato dei dati Quali approccie tecnologie sono usabili? Ingegneria del Software 2 Riuso del Software 49 Possibili soluzioni al problemadella realizzazione degli adattatori Per trasformare da/verso formati semplici (ad esempio file di testo) conviene scrivere una classe adaptor Per trasformare tra documenti XML[1], note le rispettive grammatiche, si può scrivere un documento XSLT[2] dichiarando le regole di trasformazione tra formati. Esistono in commercio componenti anche gratuiti che interpretano i documenti XSLT eseguendo le trasformazioni Per interpretare/costruire documenti XML è possibile utilizzare librerie standard come SAX [3]che forniscono un API per l accesso ai contenuti del documento XML Per interpretare formati diversi, non XML, un buon metodo consiste nella scrittura di un parser (eventualmente tramite un generatore automatico come Antlr [4] o JavaCC[5]) Ingegneria del Software 2 Riuso del Software 50 25

26 Problemi dei COTS (1/2) Mancanza di controllo sulle funzionalità e sulle prestazioni Il sistema è utilizzato a scatola chiusa: non siamo consapevoli di come avvengano realmente le operazioni nel suo interno e, di conseguenza, non siamo in grado di modulare le richieste in modo da ottimizzare le prestazioni. Problemi di interoperabilità tra sistemi COTS Può essere necessario dover scrivere del codice extra per integrare sistemi COTS di produttori indipendenti. Ingegneria del Software 2 Riuso del Software 51 Problemi dei COTS (2/2) Nessun controllo sull evoluzione del sistema Può avvenire che le nuove versioni del sistema rendano impossibile l interazione col nostro software costringendoci a rimanere legati alle vecchie versioni, per le quali non c è più manutenzione. Supporto deiproduttori COTS Tipicamente il supporto deiproduttori potrebbe terminare con l acquisto del prodotto o limitarsialle sole evoluzioni decisedal produttore. Ingegneria del Software 2 Riuso del Software 52 26

27 5. Linee di prodotti software Per linee di prodotti software si intendono famiglie di applicazioni con funzionalità generiche che si prestano ad essere configurate o adattate in modo da poter essere utilizzate in contesti specifici. Esempi di adattamento: Specifiche configurazioni dei componenti e del sistema; Aggiunta di nuovi componenti; Selezione di componenti nell ambito di una libreria; Modifiche ai componenti per adattarsi alle esigenze del contesto. Ingegneria del Software 2 Riuso del Software 53 Possibili specializzazioni Specializzazione della piattaforma Possono essere necessarie diverse versioni per diversisistemi operativi o hardware, senza modificare le funzionalità Specializzazione dell ambiente Possono essere necessarie diverse versioni per venire incontro alle diverse funzionalità e modalità di funzionamento dei dispositivi periferici del sistema Specializzazione funzionale Possono essere necessarie diverse versioni personalizzate in base alle esigenze dei diversi clienti cui sono destinate Specializzazione di processo Possono essere necessarie diverse versioni per supportare I diversi processi di business da eseguire Ingegneria del Software 2 Riuso del Software 54 27

28 Configurazione Può avvenire in due momenti diversi: Configurazione alla consegna La configurazione avviene per un prodotto finito, senza modificarne internamente la struttura e il progetto, ma solo limitandone/personalizzando le funzionalità (customizzazione). Es. Pacchetti software verticali (es. ERP: Enterprise Resource Planning) Configurazione a tempo di progettazione Tramite l adozione di patterns e framework generici, le richieste di personalizzazione vengono recepite in fase di progetto e influiscono direttamente sulla realizzazione del prodotto Ingegneria del Software 2 Riuso del Software 55 Esempio: sistemi ERP Enterprise Resource Planning (ERP): sistema (generico) che supporta comuni processi aziendali (quali gestione ordini, fatture, inventari, paghe) (es. SAP e BEA) Il processo di configurazione degli ERP si basa sull adattamento di un core generico attraverso l inclusione e la configurazione dimoduli, e incorporando conoscenza su processi e regole aziendali del cliente specifico in un database di sistema. Molto usati in grandi aziende, costituiscono la forma di riusopiù comune. Ingegneria del Software 2 Riuso del Software 56 28

29 Organizzazione di un Sistema ERP Strumento per pianificare la configurazione Database Della Configurazione Generico Sistema ERP Database Del Sistema Ingegneria del Software 2 Riuso del Software 57 Architetture per le linee di prodotto Per mantenere adattabilità e riconfigurabilità è utile adottare architetture modulari e stratificate, che permettano facilmente le necessarie modifiche Architettura tipica: multilayer Inoltre, è importante separare le funzionalità generiche dai dati che si riferiscono alla personalizzazione, in modo da poter realizzare tale customizzazione senza generazione di codice. Ingegneria del Software 2 Riuso del Software 58 29

30 Esempio :un generico sistema di gestione risorse Interfaccia Utente Livello UI Autenticazione Utente Consegna Risorse Gestione Query Livello di Gestione I/O Gestione Risorse Controllo Politica delle Risorse Allocazione Risorse Livello Risorse Gestione Transazioni Database Risorse Livello Database Ingegneria del Software 2 Riuso del Software 59 Una istanza del sistema generico: Il sistema invio veicoli User interface Comms system inter face Operator authentication Map and route planner Report generator Query manager Vehicle status manager Incident logger Vehicle despatcher Equipment manager Vehicle locator Equipment database Transaction management Vehicle database Incident log Map database Ingegneria del Software 2 Riuso del Software 60 30

Sistemi informativi secondo prospettive combinate

Sistemi informativi secondo prospettive combinate Sistemi informativi secondo prospettive combinate direz acquisti direz produz. direz vendite processo acquisti produzione vendite INTEGRAZIONE TRA PROSPETTIVE Informazioni e attività sono condivise da

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

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

Progettaz. e sviluppo Data Base

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

Dettagli

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

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

Dettagli

Architetture software

Architetture software Corso di Laurea Magistrale in Ingegneria Informatica Corso di Ingegneria del A. A. 2013-2014 Architettura software 1 Architetture software Sommario Definizioni 2 Architettura Definizione. L architettura

Dettagli

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata.

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata. Sommario A cosa serve InfoWEB?... 3 Quali informazioni posso comunicare o ricevere?... 3 Cosa significa visualizzare le informazioni in maniera differenziata in base al livello dell utente?... 4 Cosa significa

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

L o. Walter Ambu http://www.japsportal.org. japs: una soluzione agile (www.japsportal.org)

L o. Walter Ambu http://www.japsportal.org. japs: una soluzione agile (www.japsportal.org) L o JAPS: una soluzione Agile Walter Ambu http://www.japsportal.org 1 Lo sviluppo del software Mercato fortemente competitivo ed in continua evoluzione (velocità di Internet) Clienti sempre più esigenti

Dettagli

Il modello di ottimizzazione SAM

Il modello di ottimizzazione SAM Il modello di ottimizzazione control, optimize, grow Il modello di ottimizzazione Il modello di ottimizzazione è allineato con il modello di ottimizzazione dell infrastruttura e fornisce un framework per

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

Ingegneria del Software. Introduzione ai pattern

Ingegneria del Software. Introduzione ai pattern Ingegneria del Software Introduzione ai pattern 1 Definizione di pattern [dal [dal vocabolario vocabolario Garzanti] Garzanti] Alcuni esempi: Pattern architetturale Pattern di circuito stampato Pattern

Dettagli

11. Evoluzione del Software

11. Evoluzione del Software 11. Evoluzione del Software Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 11. Evoluzione del Software 1 / 21 Evoluzione del Software - generalità Cosa,

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

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

sito web sito Internet

sito web sito Internet Siti Web Cos è un sito web Un sito web o sito Internet è un insieme di pagine web correlate, ovvero una struttura ipertestuale di documenti che risiede, tramite hosting, su un web server e accessibile

Dettagli

Presentazione di Cedac Software

Presentazione di Cedac Software Agenda Presentazione di Cedac Software SOA ed ESB Analisi di un caso studio Esempi Q&A Presentazione di Cedac Software 1 2 Presentazione di Cedac Software S.r.l. Divisione Software Azienda nata nel 1994

Dettagli

lem logic enterprise manager

lem logic enterprise manager logic enterprise manager lem lem Logic Enterprise Manager Grazie all esperienza decennale in sistemi gestionali, Logic offre una soluzione modulare altamente configurabile pensata per la gestione delle

Dettagli

Addition X DataNet S.r.l. www.xdatanet.com www.xdatanet.com

Addition X DataNet S.r.l. www.xdatanet.com www.xdatanet.com Addition è un applicativo Web che sfrutta le potenzialità offerte da IBM Lotus Domino per gestire documenti e processi aziendali in modo collaborativo, integrato e sicuro. www.xdatanet.com Personalizzazione,

Dettagli

Network Monitoring. Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale

Network Monitoring. Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale Network Monitoring & Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale Nicholas Pocher Poker SpA - Settimo Torinese, Novembre 2013 1 Indice Il Network Monitoring:

Dettagli

Sistemi Informativi e Sistemi ERP

Sistemi Informativi e Sistemi ERP Sistemi Informativi e Sistemi Trasformare i dati in conoscenza per supportare le decisioni CAPODAGLIO E ASSOCIATI 1 I SISTEMI INFORMATIVI LI - E IMPRESA SISTEMA DI OPERAZIONI ECONOMICHE SVOLTE DA UN DATO

Dettagli

Il CMS Moka. Giovanni Ciardi Regione Emilia Romagna

Il CMS Moka. Giovanni Ciardi Regione Emilia Romagna Il CMS Moka Giovanni Ciardi Regione Emilia Romagna Moka è uno strumento per creare applicazioni GIS utilizzando oggetti (cartografie, temi, legende, database, funzioni) organizzati in un catalogo condiviso.

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

Automazione Industriale 4- Ingegneria del Software

Automazione Industriale 4- Ingegneria del Software Automation Robotics and System CONTROL Università degli Studi di Modena e Reggio Emilia Automazione Industriale 4- Ingegneria del Software Cesare Fantuzzi (cesare.fantuzzi@unimore.it) Ingegneria Meccatronica

Dettagli

La Metodologia adottata nel Corso

La Metodologia adottata nel Corso La Metodologia adottata nel Corso 1 Mission Statement + Glossario + Lista Funzionalià 3 Descrizione 6 Funzionalità 2 Schema 4 Schema 5 concettuale Logico EA Relazionale Codice Transazioni In PL/SQL Schema

Dettagli

GenLApp Generazione Lista di Applicazioni. Design Patterns. Classi Essenziali. Modellazione Dati. Progettazione della Linea di Prodotti

GenLApp Generazione Lista di Applicazioni. Design Patterns. Classi Essenziali. Modellazione Dati. Progettazione della Linea di Prodotti Progettazione della Linea di Prodotti GenLApp Generazione Lista di Applicazioni Progettazione della Linea di Prodotti Classi Essenziali Responsabilità sui 3 Livelli Architetturali Descrizione delle Responsabilità

Dettagli

Ciclo di vita dimensionale

Ciclo di vita dimensionale aprile 2012 1 Il ciclo di vita dimensionale Business Dimensional Lifecycle, chiamato anche Kimball Lifecycle descrive il framework complessivo che lega le diverse attività dello sviluppo di un sistema

Dettagli

12. Evoluzione del Software

12. Evoluzione del Software 12. Evoluzione del Software Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 12. Evoluzione del Software 1 / 21 Evoluzione del Software - generalità Cosa,

Dettagli

CONTENT MANAGEMENT SYSTEM

CONTENT MANAGEMENT SYSTEM CONTENT MANAGEMENT SYSTEM P-2 PARLARE IN MULTICANALE Creare un portale complesso e ricco di informazioni continuamente aggiornate, disponibile su più canali (web, mobile, iphone, ipad) richiede competenze

Dettagli

Stefania Marrara - Esercitazioni di Tecnologie dei Sistemi Informativi. Integrazione di dati di sorgenti diverse

Stefania Marrara - Esercitazioni di Tecnologie dei Sistemi Informativi. Integrazione di dati di sorgenti diverse Politecnico di Milano View integration 1 Integrazione di dati di sorgenti diverse Al giorno d oggi d la mole di informazioni che viene gestita in molti contesti applicativi è enorme. In alcuni casi le

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

MANUALE DELLA QUALITÀ Pag. 1 di 6

MANUALE DELLA QUALITÀ Pag. 1 di 6 MANUALE DELLA QUALITÀ Pag. 1 di 6 INDICE GESTIONE DELLE RISORSE Messa a disposizione delle risorse Competenza, consapevolezza, addestramento Infrastrutture Ambiente di lavoro MANUALE DELLA QUALITÀ Pag.

Dettagli

DESCRIZIONE DEL PROCESSO. CHE COSA C'E' DI NUOVO NELL' IT? -- 23 Giugno 2010 (Agriturismo La Razza ) 1

DESCRIZIONE DEL PROCESSO. CHE COSA C'E' DI NUOVO NELL' IT? -- 23 Giugno 2010 (Agriturismo La Razza ) 1 CHE COSA C'E' DI NUOVO NELL' IT? -- 23 Giugno 2010 (Agriturismo La Razza ) 1 2 1- Applicazione o meno dei processi Pianificazione - Sviluppo - Esercizio? 3 2- Se SI, i processi vengono o verranno realizzati

Dettagli

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

Dettagli

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

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

Dettagli

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

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

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

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

Dettagli

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

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione Programma del Corso Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Normalizzazione (I prova scritta) (II prova scritta) Interazione fra linguaggi di programmazione e basi di dati Cenni

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

CREA IL CATALOGO DEI TUOI PRODOTTI SU IPAD E IPHONE CON UN APP. ANZI, CON UPP!

CREA IL CATALOGO DEI TUOI PRODOTTI SU IPAD E IPHONE CON UN APP. ANZI, CON UPP! CREA IL CATALOGO DEI TUOI PRODOTTI SU IPAD E IPHONE CON UN APP. ANZI, CON UPP! COS È UPP!? upp! è l applicazione di punta della divisione mobile di Weblink srl, dedicata allo sviluppo di applicazioni per

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Per capire meglio l ambito di applicazione di un DWhouse consideriamo la piramide di Anthony, L. Direzionale. L. Manageriale. L.

Per capire meglio l ambito di applicazione di un DWhouse consideriamo la piramide di Anthony, L. Direzionale. L. Manageriale. L. DATA WAREHOUSE Un Dataware House può essere definito come una base di dati di database. In molte aziende ad esempio ci potrebbero essere molti DB, per effettuare ricerche di diverso tipo, in funzione del

Dettagli

Brochure Internet. Versione 2010.1 The Keyrules Company s.r.l. Pagina 2 di 8

Brochure Internet. Versione 2010.1 The Keyrules Company s.r.l. Pagina 2 di 8 Ogni organizzazione possiede un sistema di regole che la caratterizzano e che ne assicurano il funzionamento. Le regole sono l insieme coordinato delle norme che stabiliscono come deve o dovrebbe funzionare

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

Meno rischi. Meno costi. Risultati migliori.

Meno rischi. Meno costi. Risultati migliori. Meno rischi. Meno costi. Risultati migliori. Servizi professionali per l approvvigionamento. Essere più informati. Prendere decisioni migliori. Supplier Management Service delle Società (ESMS) Qualifica

Dettagli

Centro Tecnico per la Rete Unitaria della Pubblica Amministrazione

Centro Tecnico per la Rete Unitaria della Pubblica Amministrazione Centro Tecnico per la Rete Unitaria della Pubblica Amministrazione Area Rete Unitaria - Sezione Interoperabilità Linee guida del servizio di trasmissione di documenti informatici mediante posta elettronica

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

Project Cycle Management La programmazione della fase di progettazione esecutiva. La condivisione dell idea progettuale.

Project Cycle Management La programmazione della fase di progettazione esecutiva. La condivisione dell idea progettuale. Project Cycle Management La programmazione della fase di progettazione esecutiva. La condivisione dell idea progettuale. Il presente materiale didattico costituisce parte integrante del percorso formativo

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Dettagli

Principi dell ingegneria del software Relazioni fra

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

Dettagli

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

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

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

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

Dettagli

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

Liceo Tecnologico. Indirizzo Informatico e Comunicazione. Indicazioni nazionali per Piani di Studi Personalizzati

Liceo Tecnologico. Indirizzo Informatico e Comunicazione. Indicazioni nazionali per Piani di Studi Personalizzati Indirizzo Informatico e Comunicazione Indicazioni nazionali per Piani di Studi Personalizzati Indirizzo Informatico e Comunicazione Discipline con attività di laboratorio 3 4 5 Fisica 132 Gestione di progetto

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

Retail L organizzazione innovativa del tuo punto vendita

Retail L organizzazione innovativa del tuo punto vendita fare Retail L organizzazione innovativa del tuo punto vendita fareretail è una soluzione di by www.fareretail.it fareretail fareretail è la soluzione definitiva per la Gestione dei Clienti e l Organizzazione

Dettagli

Infrastruttura di produzione INFN-GRID

Infrastruttura di produzione INFN-GRID Infrastruttura di produzione INFN-GRID Introduzione Infrastruttura condivisa Multi-VO Modello Organizzativo Conclusioni 1 Introduzione Dopo circa tre anni dall inizio dei progetti GRID, lo stato del middleware

Dettagli

Corso di Basi di Dati e Conoscenza

Corso di Basi di Dati e Conoscenza Corso di Basi di Dati e Conoscenza Gestione dei Dati e della Conoscenza Primo Emicorso - Basi di Dati Roberto Basili a.a. 2012/13 1 Obbiettivi Formativi Scenario Le grandi quantità di dati accumulate nelle

Dettagli

Crea il catalogo dei tuoi prodotti su ipad e iphone con un App. Anzi, con upp!

Crea il catalogo dei tuoi prodotti su ipad e iphone con un App. Anzi, con upp! Crea il catalogo dei tuoi prodotti su ipad e iphone con un App. Anzi, con upp! Cos è UPP? upp! è l applicazione di punta della divisione mobile di Weblink srl, dedicata allo sviluppo di applicazioni per

Dettagli

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING Febbraio Inserto di Missione Impresa dedicato allo sviluppo pratico di progetti finalizzati ad aumentare la competitività delle imprese. COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING COS E UN

Dettagli

itime Chiaramente inclusa la stampa del cartellino presenze come previsto dalle normative

itime Chiaramente inclusa la stampa del cartellino presenze come previsto dalle normative itime itime Il software di rilevazione presenze itime rappresenta lo strumento ideale per l automatizzazione della gestione del personale. L ampia presenza dei parametri facilita l operatore nel controllo

Dettagli

PROGETTAZIONE MECCANICA DESIGN INDUSTRIALE OUTSOURCING RICERCA E SVILUPPO GRAFICA DOCUMENTAZIONE TECNICA STUDIO TECNICO

PROGETTAZIONE MECCANICA DESIGN INDUSTRIALE OUTSOURCING RICERCA E SVILUPPO GRAFICA DOCUMENTAZIONE TECNICA STUDIO TECNICO PROTEK é una nuova realtà nel settore della meccanica e del design industriale, che prende corpo dopo una esperienza maturata nel corso di dieci anni. Lo studio tecnico PROTEK si propone come interlocutore

Dettagli

Progettazione : Design Pattern Creazionali

Progettazione : Design Pattern Creazionali Progettazione : Design Pattern Creazionali Alessandro Martinelli alessandro.martinelli@unipv.it 30 Novembre 2010 Progettazione : Design Pattern Creazionali Aspetti generali dei Design Pattern Creazionali

Dettagli

IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 1

IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 1 Ernesto Cappelletti (ErnestoCappelletti) IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 6 April 2012 1. Requisiti per la scrittura del software secondo la norma UNI EN ISO 13849-1:2008

Dettagli

La Formazione: elemento chiave nello Sviluppo del Talento. Enzo De Palma Business Development Director

La Formazione: elemento chiave nello Sviluppo del Talento. Enzo De Palma Business Development Director La Formazione: elemento chiave nello Sviluppo del Talento Enzo De Palma Business Development Director Gennaio 2014 Perché Investire nello Sviluppo del Talento? http://peterbaeklund.com/ Perché Investire

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

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

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

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0 Prodotto Inaz Download Manager Release 1.3.0 Tipo release COMPLETA RIEPILOGO ARGOMENTI 1. Introduzione... 2 2. Architettura... 3 3. Configurazione... 4 3.1 Parametri di connessione a Internet... 4 3.2

Dettagli

Indice. Ingegneria dei requisiti e gestione agile. User-Centered Development Esempi di artefatti. Domain Driven Design. Design for Testability

Indice. Ingegneria dei requisiti e gestione agile. User-Centered Development Esempi di artefatti. Domain Driven Design. Design for Testability Indice Ingegneria dei requisiti e gestione agile User-Centered Development Esempi di artefatti Domain Driven Design Design for Testability Model-based GUI Testing c IDS Srl 2014 Software solido e usabile

Dettagli

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono

Dettagli

Configuration Management

Configuration Management Configuration Management Obiettivi Obiettivo del Configuration Management è di fornire un modello logico dell infrastruttura informatica identificando, controllando, mantenendo e verificando le versioni

Dettagli

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio Documento Tecnico Light CRM Descrizione delle funzionalità del servizio Prosa S.r.l. - www.prosa.com Versione documento: 1, del 11 Luglio 2006. Redatto da: Michela Michielan, michielan@prosa.com Revisionato

Dettagli

Per informazioni rivolgersi allo Studio:

Per informazioni rivolgersi allo Studio: Lo Studio, notificando direttamente via e-mail o sms l avvenuta pubblicazione di news, circolari, prontuari, scadenzari, dà la possibilità all azienda di visualizzare immediatamente ed in qualsiasi luogo,

Dettagli

UN APP FLESSIBILE E INTUITIVA PER GESTIRE I TUOI AFFARI IN TUTTA COMODITÀ

UN APP FLESSIBILE E INTUITIVA PER GESTIRE I TUOI AFFARI IN TUTTA COMODITÀ UN APP FLESSIBILE E INTUITIVA PER GESTIRE I TUOI AFFARI IN TUTTA COMODITÀ APP Mobile MIGLIORA LA QUALITÀ DEL RAPPORTO CON I CLIENTI, SCEGLI LA TECNOLOGIA DEL MOBILE CRM INTEGRABILE AL TUO GESTIONALE AZIENDALE

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

Le Soluzioni Tango/04 per adempiere alla normativa sugli amministratori di sistema

Le Soluzioni Tango/04 per adempiere alla normativa sugli amministratori di sistema Le Soluzioni Tango/04 per adempiere alla normativa sugli amministratori di sistema Normativa del Garante della privacy sugli amministratori di sistema la normativa: http://www.garanteprivacy.it/garante/doc.jsp?id=1577499

Dettagli

InfiXor. il programma facile e versatile per preventivi veloci e completi. il software di preventivazione per produttori e rivenditori di infissi

InfiXor. il programma facile e versatile per preventivi veloci e completi. il software di preventivazione per produttori e rivenditori di infissi InfiXor il software di preventivazione per produttori e rivenditori di infissi di Paolo Audisio SOFTWARE PROGRAMMAZIONE CONSULENZA INFORMATICA sito internet: www.infixor.it Via Carlo Zucchi 19 40134 BOLOGNA

Dettagli

7. Architetture Software

7. Architetture Software 7. Architetture Software progettare la struttura Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 7. Architetture Software 1 / 20 Scopo della fase di design

Dettagli

L ambizione dei design pattern (letteralmente schemi di programmazione) è quella di offrire soluzioni a problemi ricorrenti che facilitano lo

L ambizione dei design pattern (letteralmente schemi di programmazione) è quella di offrire soluzioni a problemi ricorrenti che facilitano lo Design Pattern L ambizione dei design pattern (letteralmente schemi di programmazione) è quella di offrire soluzioni a problemi ricorrenti che facilitano lo sviluppo dei programmi, il loro mantenimento,

Dettagli

GOW GESTIONE ORDINI WEB

GOW GESTIONE ORDINI WEB OW GOW GESTIONE ORDINI WEB OWUn'azienda moderna necessita di strumenti informatici efficienti ed efficaci, in GESTIONE CLIENTI, ORDINI E STATISTICHE TRAMITE BROWSER WEB grado di fornire architetture informative

Dettagli

leaders in engineering excellence

leaders in engineering excellence leaders in engineering excellence engineering excellence Il mondo di oggi, in rapida trasformazione, impone alle imprese di dotarsi di impianti e macchinari più affidabili e sicuri, e di più lunga durata.

Dettagli

Quali informazioni posso comunicare o ricevere?

Quali informazioni posso comunicare o ricevere? I n f o W E B A cosa serve InfoWEB? InfoWEB è una soluzione completamente web che, presentandosi con l aspetto di un sito internet, permette di distribuire tutte le informazioni di presenza volute, e non

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

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

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

Scenario di Progettazione

Scenario di Progettazione Appunti del 3 Ottobre 2008 Prof. Mario Bochicchio SCENARIO DI PROGETTAZIONE Scenario di Progettazione Il Committente mette a disposizione delle risorse e propone dei documenti che solitamente rappresentano

Dettagli

Linguaggi e Paradigmi di Programmazione

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

Dettagli

Ministero dell istruzione, dell università e della ricerca. Liceo Tecnologico. Indirizzo Informatico, Grafico e Comunicazione

Ministero dell istruzione, dell università e della ricerca. Liceo Tecnologico. Indirizzo Informatico, Grafico e Comunicazione Ministero dell istruzione, dell università e della ricerca Liceo Tecnologico Indirizzo Informatico, Grafico e Comunicazione Percorso Informatico e Comunicazione Indicazioni nazionali per i Piani di Studio

Dettagli

Progetto di Applicazioni Software

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

Dettagli

9. Architetture di Dominio

9. Architetture di Dominio 9. Architetture di Dominio imparare dall esperienza comune Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 9. Architetture di Dominio 1 / 20 Sommario 1 Architetture

Dettagli

Manuale d uso Software di parcellazione per commercialisti Ver. 1.0.3 [05/01/2015]

Manuale d uso Software di parcellazione per commercialisti Ver. 1.0.3 [05/01/2015] Manuale d uso Software di parcellazione per commercialisti Ver. 1.0.3 [05/01/2015] Realizzato e distribuito da LeggeraSoft Sommario Premessa... 2 Fase di Login... 2 Menù principale... 2 Anagrafica clienti...

Dettagli

Applicazione: GAS - Gestione AcceSsi

Applicazione: GAS - Gestione AcceSsi Riusabilità del software - Catalogo delle applicazioni Gestione ICT Applicazione: GAS - Gestione AcceSsi Amministrazione: Consiglio Nazionale delle Ricerche (CNR) Responsabile dei sistemi informativi Nome

Dettagli

SWIM v2 Design Document

SWIM v2 Design Document PROGETTO DI INGEGNERIA DEL SOFTWARE 2 SWIM v2 DD Design Document Matteo Danelli Daniel Cantoni 22 Dicembre 2012 1 Indice Progettazione concettuale Modello ER Entità e relazioni nel dettaglio User Feedback

Dettagli

Progetto di Applicazioni Software

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

Dettagli

AMMINISTRARE I PROCESSI

AMMINISTRARE I PROCESSI LE SOLUZIONI AXIOMA PER LE AZIENDE DI SERVIZI AMMINISTRARE I PROCESSI (ERP) Axioma Value Application Servizi Axioma, che dal 1979 offre prodotti software e servizi per le azienda italiane, presenta Axioma

Dettagli