Progettazione del Software appunti dalle lezioni

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Progettazione del Software appunti dalle lezioni"

Transcript

1 Progettazione del Software appunti dalle lezioni Marco Gasparini Carlo Pane Francesco Solera Università degli Studi di Modena e Reggio Emilia

2 Progettazione del Software, appunti dalle lezioni This report was prepared by Marco Gasparini, Carlo Pane, Francesco Solera Professor Flavio Bonfatti Release date: 2011 Course: Progettazione del Software Department: Comments: Ingegneria Informatica Questo breve documento vuole essere un supporto didattico alle lezioni del corso di Progettazione del Software. È stato scritto a partire dagli appunti presi a lezione ed integrato, qualora ritenuto necessario, con materiale dai libri di testo indicati dal docente e riportati nella bibliografia. Department of Information Engineering Information Technologies and Computer Science University of Modena e Reggio Emilia

3 Introduzione Il corso è indirizzato agli studenti della Laurea Magistrale in Ingegneria Informatica ai quali intende fornire le conoscenze e gli strumenti metodologici fondamentali per l impostazione, l organizzazione e la gestione di progetti software complessi e di grandi dimensioni. Gli argomenti trattati sono: : Economia di un progetto software. Fattibilità di un progetto software, metodo PERT-CPM. Classificazione delle tecniche di stima dei costi e dei tempi di un progetto. Metodo CoCoMo di Boehm (modello base, modello intermedio, cenni al modello dettagliato). Funzione costo di Norden e metodo analitico di Putnam. Le principali variabili di un progetto software. Progetto di piccole, medie e grandi dimensioni secondo Putnam. Curva di sviluppo e curva di progetto. Equazione del software. Software sizing per progetti nuovi e per rifacimenti. Studio del progetto tramite planning zone e punto di lavoro. Metodi avanzati di progettazione del software. Il Processo Unificato (UP). Metodi agili di sviluppo del software e loro principali caratteristiche. Il metodo Agile UP. Il metodo SCRUM. Il metodo Feature Driven Development (FDD). Il metodo Dynamic Systems Development (DSDM). Il metodo Extreme Programming (XP). Tecniche agili di sviluppo del software. Cross-functional team, time boxing, pair programming, test-driven development, code re-factoring. Confronto critico dei diversi approcci. Software Process Improvement (SPI) e Capability Maturity Method integration (CMMi). Linguaggi formali e tecniche di compilazione. Alfabeto, stringa, linguaggio e relativi operatori. Espressioni e linguaggi regolari. Grammatiche generative, definizione formale e classificazione di Chomsky. Grammatiche non contestuali. Alberi sintattici, ambiguit della grammatica. Grammatiche strettamente lineari sinistre, equivalenza con espressioni regolari. Automi a stati finiti, equivalenza con grammatiche strettamente lineari sinistre. Automi non deterministici. Derivazione degli automi deterministici equivalenti, automi minimi. Notazione polacca postfissa e forma a quadruple, generazione del codice oggetto.

4

5 Contents II Metodi avanzati di progettazione del software 1 1 Il Processo Unificato Caratteristiche dello Unified Process Ciclo di vita del progetto Rational Unified Process Modelli agili di progettazione e sviluppo del software Agile UP Scrum FDD Dynamic System Development Method XP Sistemi di qualità ISO Capability Maturity Model integration III Linguaggi formali e tecniche di compilazione 43

6

7 Part II Metodi avanzati di progettazione del software 1

8

9 Chapter 1 Il Processo Unificato Fino ad ora abbiamo sempre avuto a che fare con un metodo di progettazione del software chiamato a cascata. Il modello a cascata o ciclo di vita a cascata (waterfall model o waterfall lifecycle in inglese) è un modello di ciclo di vita del software (ovvero di processo software) secondo cui la realizzazione di un prodotto software consta di una sequenza di fasi strutturata in analisi dei requisiti, progetto, sviluppo, collaudo, integrazione e manutenzione. Ciascuna di queste fasi produce un ben preciso output che viene utilizzato come input per la fase successiva. Purtroppo questo modello viene definito rigido, poiché una volta terminata una fase, questa viene bloccata e diventa insensibile a nuovi requisiti che il cliente potrebbe chiedere o modifiche che il team di sviluppo riconosce come necessarie. Quando si sviluppano software medio-grandi con un modello a cascata occorre mettersi nell ottica che: Il 25%-50% dei requisiti probabilmente cambieranno durante la durata del progetto Almeno il 45% dei requisiti implementati non saranno utilizzati dal cliente Il cliente finanziatore non vedrà niente fino alla fine del processo di sviluppo del software Spesso questi vincoli non risultano essere apprezzati nè dal cliente, che inizia a vedere i risultati dopo lunghi mesi dal momento del finanziamento, nè per il team di sviluppo che è costretto a fare i conti con la rigidità e la linearità di questo approccio. Da queste necessità è nato un nuovo paradigma di progettazione, chiamato Unified Process. Lo UP non è un semplice processo ma piuttosto un framework, un ambiente di lavoro, che dovrebbe essere personalizzato per particolari aziende e progetti. Anche lo Unified Process divide il tempo di sviluppo del software in fasi: Inception, Elaboration, Construction e Transition; per ognuna di queste fasi sono definiti obiettivi ben chiari, ma nessun particolare vincolo è imposto sulle differenti discipline necessarie allo sviluppo (come ad esempio i requisiti). Questa caratteristica permette di riprendere in mano il lavoro già svolto anche in fasi successive e di 3

10 1.1. Caratteristiche dello Unified Process procedere in maniera parallela verso il momento di rilascio del prodotto. Lo UP è particolarmente gradito anche al cliente che può toccare con mano l evoluzione del suo software in una sempre maggiore implementazione dei requisiti. 1.1 Caratteristiche dello Unified Process Iterativo ed incrementale Lo UP è un processo di sviluppo iterativo ed incrementale. Le fasi di Elaboration, Construction and Transition sono divise in una serie di iterazioni di durata definita. Ogni iterazione risulta in un incremento, ovvero in un rilascio del prodotto che contiene funzionalità aggiunte o migliorate rispetto alla release precedente. Nonostante la maggior parte delle iterazioni includeranno contributi da una buona parte delle discipline (requisiti, analisi, progettazione, implementazione e testing), l importanza di questi contributi cambierà nel corso del progetto. Basato sugli Use Case Nello UP, i casi d uso sono usati per catturare i requisiti funzionali e per definire il contenuto di ogni iterazione. Ogni iterazione si occupa di gestire un certo sottoinsieme di casi d uso o di scenari dai requisiti fino all implementazione, test e rilascio. Incentrato sull architettura Per lo UP è importante che l architettura del software sia alla base della preoccupazione e degli sforzi del team di sviluppo. In quanto nessun modello da solo è sufficiente per catturare tutti gli aspetti del sistema, lo UP supporta vari modelli architetturali. Uno degli impegni più importanti del processo di sviluppo è l architettura della baseline eseguibile che viene creata durante la fase di Elaboration. Questa implementazione parziale, dovrebbe rispondere ai requisiti critici e caratteristici individuati in fase di analisi dei requisiti e serve per validare l architettura globale del progetto. Inoltre diventerà, se ritenuta valida, la base per il resto dello sviluppo del software. Pilotato dai fattori di rischio Lo UP richiede che il team di sviluppo sia preoccupato di risolvere i rischi più critici nelle prime fasi del progetto. 1.2 Ciclo di vita del progetto Come già accennato anche lo UP prevede che il ciclo di vita del progetto sia suddiviso in quattro fasi. 4

11 1.2. Ciclo di vita del progetto Il grafo RAPIT Il grafo RAPIT (Requisiti, Analisi, Progettazione, Implementazione, Test) permette di caratterizzare dinamicamente per ogni progetto quando e con quale importanza le varie discipline della progettazione del software entreranno in gioco nelle varie fasi di sviluppo del prodotto. Figure 1.1: Il grafo RAPIT, mette in relazione le discipline della progettazione del software con le fasi di sviluppo del prodotto. Inception L inception è la fase più breve nella progettazione, e così deve essere: una fase di inception prolungata indica un eccessivo lavoro di specificazione a priori, che è contrario allo spirito dello UP. Obiettivo: definire a grandi linee ciò che il software dovrà fare. Artefatti: requisiti principali, valutazione dei rischi, glossario del progetto, una prima documentazione dell architettura, una prima pianificazione dello sviluppo e i prototipi. Elaboration Durante la fase di Elaboration, il team di sviluppo dovrebbe catturare la maggior parte (si può stimare un 80%) dei requisiti del software finale. Comunque lo scopo principale di questa fase è quella di produrre una prima baseline eseguibile che verifichi l appropriatezza del modello architetturale adottato. Una baseline è un implementazione parziale del sistema che include il cuore e le specifiche caratterizzanti del progetto. È costruito e migliorato ciclicamente in una serie di iterazioni e per la fine della fase di elaborazione il modello architetturale deve essere fissato e rimanere stabile fino alla fine dello sviluppo, inoltre la baseline eseguibile deve dimostrare che la scelta dell architettura si rivela appropriata per supportare le funzionalità chiave del prodotto in termini di performance, scalabilità e costi. Obiettivi: creare una baseline eseguibile, perfezionare la valutazione dei rischi, creazione dei casi d uso di circa l %80 dei requisiti fornendo alla fase di costruzione 5

12 1.3. Rational Unified Process una solido piano (di costi e di scadenze) su cui lavorare. Artefatti: baseline, disegno architetturale, documento di valutazione dei rischi, diagrammi dei casi d uso, pianificazione dettagliata. Construction La Construction è la fase più lunga della progettazione. In questa fase quello che rimane del sistema è costruito a partire dalla baseline prodotta dalla fase di Elaboration. Le caratteristiche del software sono sviluppate durante una serie di iterazioni di piccola durata alla fine delle quali deve essere prodotto una nuova baseline eseguibile. Durante questa fase vengono spesso impiegate tecniche di progettazione UML(Activity, Sequence, Collaboration, State (Transition) and Interaction Overview diagrams). Obiettivo: capacitò operativa basilare, ovvero la release prodotta da questa fase deve permettere già l utilizzo delle funzioni caratteristiche del software. Artefatti: prodotto software, modellazione UML, una prima versione del manuale utente ed un piano di testing. Transition La fase finale del progetto è la Transition. In questa fase il sistema è consegnato all utente finale. Con il feedback ricevuto da una release iniziale uscente dalla prima iterazione è possibile apportare modifiche e ridefinire scelte implementative. Obiettivi: rilascio del prodotto, correzione dei difetti, formazione degli utenti utilizzatori. Artefatti: prodotto software testato, risultato del test d accettazione, manuali d uso aggiornati alla release definitiva e accordo di mantenimento. 1.3 Rational Unified Process Il Rational Unified Process (RUP) (che è una estensione dello Unified Process) è un modello di processo software iterativo ed incrementale sviluppato da Rational Software (oggi parte di IBM). Fornisce un approccio disciplinato per l assegnazione dei compiti e delle responsabilità all interno dello sviluppo di un progetto. Il suo obiettivo è assicurare la produzione di un software di alta qualità che incontra i bisogni dei clienti, pur rimanendo all interno di un budget e di una tempistica predefiniti. Caratteristico di questa metodologia è occuparsi di descrivere chi sta facendo cosa, come e quando. Il Rational Unified Process è rappresentato usando quattro elementi primari di modellazione: Workers, the "who": definisce il comportamento e le responsabilità di un individuo, o un gruppo di individui che lavorano insieme come team Activities, the "how": sono unità di lavoro che un individuo in quel ruolo può svolgere, la granularità di un attività è tipicamente dell ordine di poche ore o pochi giorni 6

13 1.3. Rational Unified Process Artifacts, the "what": è un pezzo di informazione che è prodotto, modificato o usato da un processo, gli artefatti sono prodotti tangibili del processo Workflows, the "when": è una sequenza di attività che produce un risultato di valore osservabile Ci sono nove core process workflows o fasi specificate dal modello RUP, le quali rappresentano una partizione di tutti i lavoratori e attività in gruppi logici. Le fasi del ciclo di sviluppo del software sono divise in sei engineering workflows: 1. Business modeling workflow 2. Requirements workflow 3. Analysis & Design workflow 4. Implementation workflow 5. Test workflow 6. Deployment workflow E tre workflows di supporto : 1. Environment workflow 2. Configuration and Change Management workflow 3. Project Management workflow Anche se i nomi delle sei discipline ingegneristiche possono richiamare un idea di processo a cascata, dobbiamo tenere in mente che sono fasi di un processo iterativo e differiscono da queste in quanto sono riviste e riviste per tutta la durata del ciclo di sviluppo del software. Business modeling Uno dei problemi principali nella fase iniziale di progettazione di un software è che il team di software engineering ed il team di business engineering non comunicano in modo appropriato. Questo comporta che il risultato prodotto dal business engineering non è usato in modo appropriato dal team di software engineering e vice versa. Il RUP fornisce un linguaggio ed una metodologia comune per tenere sincronizzati i modelli business e software. Requirements. L obiettivo di questo workflow è di descrivere cosa il sistema dovrebbe fare e permettere agli sviluppatori ed ai clienti di concordare su tale descrizione. Per ottenere questo esplicitiamo, organizziamo e documentiamo le funzionalità, i vincoli e le decisioni prese in fase di analisi. Analysis & Design Il goal principale qui è di far vedere come il sistema sarà realizzato nella successiva fase d implementazione. In breve realizza un astrazione del codice che realizzerà i requisiti individuati. 7

14 1.3. Rational Unified Process Test Gli scopi della fase di testing sono: verificare l interazione fra gli oggetti, verificare l integrazione di tutti i componenti del software, verificare che i requisiti siano tutti correttamente soddisfatti, individuare eventuali problemi prima del rilascio del software. Deployment Lo scopo di questa fase è quello di produrre con successo il rilascio del software e distribuirlo all utente finale. Questa fase comprende anche l assistenza e l aiuto all utente. Environment L obiettivo del workflow di environment è quello di fornire al team di sviluppo un ambiente, che comprende sia metodologie che strumenti, necessari per la progettazione del prodotto, in particolare è importante chiarire le attività volte all inquadramento del processo all interno di un progetto. Configuration and Change Management In questo workflow è descritto come controllare i numerosi artefatti prodotti dalle tante persone che lavorano su un progetto comune. Avere controllo su questo piano significa evitare confusione e assicurare che gli artefatti risultanti non siano in conflitto con altri a causa di accessi multiplo, aggiornamenti simultanei o limitate notifiche. Project Management Software Project Management è l arte di bilanciare gli obiettivi paralleli di un software, gestire i rischi e superare i vincoli, al fine di rilasciare un prodotto che incontra i bisogni del cliente e degli utilizzatori finali. Sviluppo efficace e buone pratiche Il RUP descrive alcune pratiche che sono state osservate in progetti di successo e che si ritiene possano essere d aiuto nello sviluppare in modo efficace software commerciale. Develop software iteratively: data la complessità dei software di oggi è impossibile delineare prima l intero problema, disegnare una soluzione e poi costruire il software e testarlo; è necessario un approccio iterativo che permetta di inserire nella progettazione la comprensione sempre maggiore che il team di sviluppo ha sul problema e sulle funzionalità. Manage requirements: gestire in modo efficiente i requisiti funzionali è fondamentale per la buona riusciuta del software; è importante fin da subito esplicitare, organizzare e documentare le funzionalità richieste ed i vincoli imposti al fine di poter trarre decisioni e valutare compromessi, l importanza di questa pratica è data dal fatto che l implementazione parte proprio da queste considerazioni. Use component-based architectures: il processo si focalizza sull inizio della fase implementativa, si tratta di buttare delle fondamenta che siano robuste e flessibili al tempo stesso, prima di arrivare ad avere una quantità di codice che 8

15 1.3. Rational Unified Process risulta mal strutturata ed ingestibile; a tale scopo sono importanti i concetti di riusabilità e modularità. Visually model software: si tratta di accompagnare alla documentazione scritta anche una modellazione visuale del comportamento dell architettura e dei componenti; questo permette di nascondere inutili dettagli e facilitare la comunicazione di aspetti critici del software. Verify software quality: scarse prestazione e poca affidabilità sono fattori che incidono pesantemente sull accettabilità dei software moderni, quindi la qualità dovrebbe essere valutata tenendo in considerazione fattori come l affidabilità, il rispetto dei requisiti e le performance dell applicazione e del sistema. Control changes to software: l abilità di gestire modifiche - essere sicuri che ogni modifica sia accettabile e rintracciabile - è essenziale in un ambiente in cui le modifiche sono inevitabili. 9

16 1.3. Rational Unified Process 10

17 Chapter 2 Modelli agili di progettazione e sviluppo del software Nell ingegneria del software, per metodologia agile (o leggera) o metodo agile si intende un particolare metodo per lo sviluppo del software che coinvolge quanto più possibile il committente, ottenendo in tal modo una elevata reattività alle sue richieste. La gran parte dei metodi agili tentano di ridurre il rischio di fallimento sviluppando il software in finestre di tempo limitate chiamate iterazioni che, in genere, durano qualche settimana. Ogni iterazione è un piccolo progetto a sé stante e deve contenere tutto ciò che è necessario per rilasciare un piccolo incremento nelle funzionalità del software. Anche se il risultato di ogni singola iterazione non ha sufficienti funzionalità da essere considerato completo deve essere rilasciato e, nel susseguirsi delle iterazioni, deve avvicinarsi sempre di più alle richieste del cliente. Alla fine di ogni iterazione il team deve rivalutare le priorità di progetto. I metodi agili preferiscono la comunicazione in tempo reale, preferibilmente faccia a faccia, a quella scritta (documentazione). Il team agile è composto da tutte le persone necessarie per terminare il progetto software. Come minimo il team deve includere i programmatori ed i loro clienti (con clienti si intendono le persone che definiscono come il prodotto dovrà essere fatto: possono essere dei product manager, dei business analysts, o veramente dei clienti). L agile manifesto La formalizzazione dei principi su cui si basano le metodologie leggere è stata oggetto del lavoro di un gruppo di progettisti software e guru dell informatica che si sono spontaneamente riuniti nell Agile Alliance. Il documento finale di questo lavoro è stato poi sottoscritto da un nutrito gruppo di questi professionisti, molti dei quali hanno anche sviluppato alcune delle metodologie leggere più famose. L obiettivo è la piena soddisfazione del cliente e non solo l adempimento di un contratto. L uso di queste metodologie, inoltre, serve ad abbattere i costi di sviluppo 11

18 Modelli agili di progettazione e sviluppo del software del software. Principi I principi su cui si basa una metodologia leggera che segua i punti indicati dall Agile Manifesto, sono solo quattro: le persone e le interazioni sono più importanti dei processi e degli strumenti (ossia le relazioni e la comunicazione tra gli attori di un progetto software sono la miglior risorsa del progetto) è più importante avere software funzionante che documentazione (bisogna rilasciare nuove versioni del software ad intervalli frequenti, e bisogna mantenere il codice semplice e avanzato tecnicamente, riducendo la documentazione al minimo indispensabile) bisogna collaborare con i clienti al di là del contratto (la collaborazione diretta offre risultati migliori dei rapporti contrattuali) bisogna essere pronti a rispondere ai cambiamenti più che aderire al progetto (quindi il team di sviluppo dovrebbe essere autorizzato a suggerire modifiche al progetto in ogni momento) Considerazioni e buone pratiche La metodologia leggera non nasce per caso, ma come presa di consapevolezza che alcune cose nel mondo della progettazione non andavano. Essa, proprio perché nasce da alcune considerazioni fondanti fornisce e suggerisce alcune pratiche che è bene avere in mente. Risulta particolarmente importante, ad esempio, rilasciare frequentemente software con nuove funzionalità mantenendo in questo modo alta la soddisfazione del cliente. Infatti un software che funziona è molto più apprezzato di un mucchio di documentazione e di fogli di progettazione in corso d opera. Proprio per come è strutturata la metodologia, anche il development team deve essere disposto ad accettare nuovi requisiti, nuove funzionalità da inserire all interno del software anche in fase di implementazione. Questo forse è uno dei frutti principali della stretta collaborazione fra sviluppatori e clienti, il rapporto faccia a faccia impedisce che ci siano periodi di inutile lavoro sprecato poiché cambiato all ultimo. Se il contatto con il cliente è continuo, allora la progettazione risulterà più fluida. Infine il rischio di utilizzare queste metodologie agili, è quello di credere che la progettazione formale sia in secondo piano, il che non è assolutamente vero: è infatti importantissimo tenere in mente che obiettivo principale è sempre quello dell eccellenza tecnica e della qualità. L approccio agile contrappone un approccio adattativo (perché consente di rivedere di continuo le specifiche e di cambiarle durante lo sviluppo mediante un forte scambio di informazioni e di pareri con il committente) rispetto ad uno predittivo (basato su una precisa pianificazione iniziale). È comunque necessario precisare che le metodologie agili non eliminano il concetto di progettazione, semplicemente è una fase trasversale a tutto il ciclo di sviluppo del software. I metodi agili hanno anche altri limiti oltre all inevitabile abbassamento della qualità, riguardante la motivazione. Ossia, per portare avanti un progetto secondo questa metodologia sono necessarie persone disponibili e con particolare esperienza; 12

19 Modelli agili di progettazione e sviluppo del software inoltre le tecniche agili non si comportano bene con progetti enormi, con team distribuiti geograficamente, in aziende che sono particolarmente strutturate e gerarchiche, proprio perché queste situazioni intaccano i principi fondamentali dell Agile Manifesto. Principi comuni dei modelli agili Sin dall inizio deve essere chiaro che questi approcci agili non sono la soluzione a tutti i problemi, non hanno nessuna intenzione di abolire i metodi tradizionali, ma possono introdurre un nuovo modo di affrontare particolari problemi. L approccio agile funziona molto bene in progetti a bassa criticità, se guidati da sviluppatori senior, per software nuovi con requisiti ancora in fase di analisi. Di questi metodi ce ne sono vari, i più famosi sono probabilmente Agile UP, Scrum, FDD, DSDM ed XP. Anche se agili, questi metodi si fondano su un insieme di tecniche, pratiche che permettono di disciplinare la progettazione (Cross-functional team, Time-boxing, Pair programming, Test-driven development, Code refactoring). Le singole pratiche applicabili all interno di una metodologia leggera sono decine e dipendono essenzialmente dalle necessità dell azienda e dall approccio del project manager, tuttavia alcune sono comuni. Cross-functional team È l idea di creare team di sviluppo capace di portare avanti simultaneamente tutte le discipline della progettazione del software, quindi dall analisi dei requisiti, implementazione, test, etc. Ha la caratteristica di essere self-directed, riceverà direttive ampie e generali da parte del managment, ma è il team stesso che decide come organizzarsi e come procedere con la progettazione. Questa tecnica porta con sè vari benefici, a partire dal modo di raggiungere gli obiettivi, che passa da uni-directional ad una dinamica interna più ampia; non è prestabilito chi fa che cosa, giorno per giorno. Le informazioni usate dal team per svolgere le proprie azioni è più ampia, più ricca rispetto a quelle di un gruppo monofunzionali (greater scope of information). Non solo, oltre la vastità di informazioni, anche la profondità di queste è notevolmente migliore (greater depth of information): supponiamo di essere in un gruppo di sola implementazione, allora tutto il team potrebbe lavorare esclusivamente su quello che è già stato deciso e congelato dagli analisti precedentemente; al contrario, in un cross-functional team possono essere considerati e rivalutati molti più aspetti, anche in fase di implementazione. Anche le persone coinvolte nel team ne traggono beneficio, non è più possibile utilizzare un gergo specifico o approssimativo nello svolgimento del proprio lavoro; ora che si lavora in un gruppo interfunzionale è necessario essere comprensibili anche ai membri specifici di altre discipline. Time-boxing Questa pratica impone di dividere la progettazione in una serie definita di intervalli di tempo prestabiliti, all interno dei quali il lavoro deve essere portato a termine. Se prima la logica era più incentrata sugli obiettivi (ed il tempo si allungava fino all esaurimento dell obiettivo), ora con il time-boxing è il tempo disponibile ad essere definito (ed eventualmente gli obiettivi vengono ridotti). È importante quindi, che gli obiettivi vengano fin da subito commisurati con più real- 13

20 Modelli agili di progettazione e sviluppo del software ismo al tempo necessario per portarli a termine. All esaurire del tempo predefinito, se l obiettivo è ancora in fase di compimento, posso decidere se cancellare o rischedulare il lavoro in time-boxes successive. Se il vero vincolo del progetto è il tempo di sviluppo, questa tecnica risulta particolarmente benefica. Il time-boxing può essere utilizzata in piccola scala anche da una singola persona che voglia ottimizzare il proprio tempo. Pair programming Questa tecnica agile impiegata in vari metodi consiste nel realizzare lo sviluppo del codice in due persone che se ne stanno insieme davanti al display, uno con il ruolo di driver ed uno con il ruolo di navigator e con lo scambio di questi ruoli particolarmente frequente (30 minuti). Il driver scrive il codice, mentre il navigator anche non volendo svolge un ruolo particolarmente importante: ragiona sull analisi, cioè mentalmente verifica in modo continuativo se il codice scritto rispecchia la sua idea di implementazione dei requisiti, poi inizia a progettare ciò che segue al codice scritto dal driver; infine evidentemente assume un ruolo da debugger in real time, individuando gli errori compiuti dal compagno. È un modo di lavorare molto interessante, che presenta vari benefici ma anche vari limiti di applicazione. Fra i benefici attesi c è la qualità del risultato che risulta essere perfettamente leggibile da due persone, e la cui chiarezza può essere apprezzata anche al di fuori del tipico programmatore, probabilmente il codice risulta essere particolarmente semplice anche se ugualmente efficace. Inoltre, in modo paradossale, il costo del progetto si riduce notevolmente (studi riconoscono l incremento del tempo di programmazione del 15%, ma il 50% in meno degli errori risultante in un 20%-40% riduzione del tempo nella fase di debugging e testing). Questa tecnica può essere utilizzata anche per la formazione di nuovi programmatori, che risultano essere autonomi molto più velocemente che con metodi di apprendimento tradizionali. Risulta didattica anche la scelta di accostare due principianti, che possono aiutarsi nell analisi e nel superamento delle difficoltà. Infine, se per qualche ragione, un dipendente abbandona l azienda, rimane la sicurezza di conoscere il codice. D altra parte, non tutti hanno l attitudine a collaborare e per alcuni l esperienza del pair-programming potrebbe non essere piacevole. Anche un principiante rischia di sentirsi inappropriato ed intimidido se di supporto ad un senior programmer, il quale fra l altro rischia di annoiarsi. Possono inoltre nascere potenziali conflitti dovuti alle differenti metodologie di programmazione utilizzati o dovuti al senso di competizione che può scaturire fra i due. Test-driven development Nello sviluppare il codice, per prima cosa, viene scritto un test sul codice ancora inesistente. Successivamente scrivo il codice che deve superare il test progettato. Se il codice supera il test, allora penso un altro test, altrimenti devo tornare sul codice e cambiarlo. Questo procedimento richiede un ambiente adeguato per scrivere test e sottoporre ai test frammenti di codice. Una seconda osservazione è sulla scrittura dei test: essi sono scritti in modo lineare rispetto allo sviluppo del codice, quindi può risultare particolarmente utile lavorare in coppia, in modo che se uno ha pensato il test, l altro scrive il codice senza sapere come è stato strutturato e quindi viene evitato il rischio di scrivere codici con il solo scopo di passare il test. Nonostante questo l approccio è completamente diverso dal 14

RUP (Rational Unified Process)

RUP (Rational Unified Process) RUP (Rational Unified Process) Caratteristiche, Punti di forza, Limiti versione del tutorial: 3.3 (febbraio 2007) Pag. 1 Unified Process Booch, Rumbaugh, Jacobson UML (Unified Modeling Language) notazione

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

I Valori del Manifesto Agile sono direttamente applicabili a Scrum:!

I Valori del Manifesto Agile sono direttamente applicabili a Scrum:! Scrum descrizione I Principi di Scrum I Valori dal Manifesto Agile Scrum è il framework Agile più noto. E la sorgente di molte delle idee che si trovano oggi nei Principi e nei Valori del Manifesto Agile,

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

Presentazione per. «La governance dei progetti agili: esperienze a confronto»

Presentazione per. «La governance dei progetti agili: esperienze a confronto» Presentazione per «La governance dei progetti agili: esperienze a confronto» Pascal Jansen pascal.jansen@inspearit.com Evento «Agile Project Management» Firenze, 6 Marzo 2013 Agenda Due parole su inspearit

Dettagli

Processi (di sviluppo del) software. Fase di Analisi dei Requisiti. Esempi di Feature e Requisiti. Progettazione ed implementazione

Processi (di sviluppo del) software. Fase di Analisi dei Requisiti. Esempi di Feature e Requisiti. Progettazione ed implementazione Processi (di sviluppo del) software Fase di Analisi dei Requisiti Un processo software descrive le attività (o task) necessarie allo sviluppo di un prodotto software e come queste attività sono collegate

Dettagli

IT Service Management, le best practice per la gestione dei servizi

IT Service Management, le best practice per la gestione dei servizi Il Framework ITIL e gli Standard di PMI : : possibili sinergie Milano, Venerdì, 11 Luglio 2008 IT Service Management, le best practice per la gestione dei servizi Maxime Sottini Slide 1 Agenda Introduzione

Dettagli

Ciclo e Processo di Sviluppo: approcci tradizionali, evolutivi, agili, free open source software

Ciclo e Processo di Sviluppo: approcci tradizionali, evolutivi, agili, free open source software Ciclo e Processo di Sviluppo: approcci tradizionali, evolutivi, agili, free open source software 1 Ingegneria del software L istituzione e l impiego di principi ingegneristici fondati, allo scopo di ottenere

Dettagli

Il ciclo di vita del software

Il ciclo di vita del software Il ciclo di vita del software Il ciclo di vita del software Definisce un modello per il software, dalla sua concezione iniziale fino al suo sviluppo completo, al suo rilascio, alla sua successiva evoluzione,

Dettagli

Ministero della Salute Direzione Generale della Ricerca Scientifica e Tecnologica Bando Giovani Ricercatori - 2007 FULL PROJECT FORM

Ministero della Salute Direzione Generale della Ricerca Scientifica e Tecnologica Bando Giovani Ricercatori - 2007 FULL PROJECT FORM ALLEGATO 2 FULL PROJECT FORM FORM 1 FORM 1 General information about the project PROJECT SCIENTIFIC COORDINATOR TITLE OF THE PROJECT (max 90 characters) TOTAL BUDGET OF THE PROJECT FUNDING REQUIRED TO

Dettagli

CMMI-Dev V1.3. Capability Maturity Model Integration for Software Development, Version 1.3. Roma, 2012 Ercole Colonese

CMMI-Dev V1.3. Capability Maturity Model Integration for Software Development, Version 1.3. Roma, 2012 Ercole Colonese CMMI-Dev V1.3 Capability Maturity Model Integration for Software Development, Version 1.3 Roma, 2012 Agenda Che cos è il CMMI Costellazione di modelli Approccio staged e continuous Aree di processo Goals

Dettagli

Sistemi di gestione dei dati e dei processi aziendali. Information Technology General Controls

Sistemi di gestione dei dati e dei processi aziendali. Information Technology General Controls Information Technology General Controls Indice degli argomenti Introduzione agli ITGC ITGC e altre componenti del COSO Framework Sviluppo e manutenzione degli applicativi Gestione operativa delle infrastrutture

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

LE NOVITÀ DELL EDIZIONE 2011 DELLO STANDARD ISO/IEC 20000-1 E LE CORRELAZIONI CON IL FRAMEWORK ITIL

LE NOVITÀ DELL EDIZIONE 2011 DELLO STANDARD ISO/IEC 20000-1 E LE CORRELAZIONI CON IL FRAMEWORK ITIL Care Colleghe, Cari Colleghi, prosegue la nuova serie di Newsletter legata agli Schemi di Certificazione di AICQ SICEV. Questa volta la pillola formativa si riferisce alle novità dell edizione 2011 dello

Dettagli

LA TECHNOLOGY TRANSFER PRESENTA SUZANNE ROBERTSON MASTERING THE REQUIREMENTS PROCESS COME COSTRUIRE IL SISTEMA CHE IL VOSTRO UTENTE DESIDERA

LA TECHNOLOGY TRANSFER PRESENTA SUZANNE ROBERTSON MASTERING THE REQUIREMENTS PROCESS COME COSTRUIRE IL SISTEMA CHE IL VOSTRO UTENTE DESIDERA LA TECHNOLOGY TRANSFER PRESENTA SUZANNE ROBERTSON MASTERING THE REQUIREMENTS PROCESS COME COSTRUIRE IL SISTEMA CHE IL VOSTRO UTENTE DESIDERA ROMA 20-22 OTTOBRE 2014 RESIDENZA DI RIPETTA - VIA DI RIPETTA,

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

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

e-spare Parts User Manual Peg Perego Service Site Peg Perego [Dicembre 2011]

e-spare Parts User Manual Peg Perego Service Site Peg Perego [Dicembre 2011] Peg Perego Service Site Peg Perego [Dicembre 2011] 2 Esegui il login: ecco la nuova Home page per il portale servizi. Log in: welcome to the new Peg Perego Service site. Scegli il servizio selezionando

Dettagli

Business Process Modeling and Notation e WebML

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

Dettagli

Executive Master in. Governance dei Progetti e dei Servizi IT GPSIT

Executive Master in. Governance dei Progetti e dei Servizi IT GPSIT Executive Master in Governance dei Progetti e dei Servizi IT GPSIT OBIETTIVI Il Master ha l obiettivo di formare executive e professional nella governance dei progetti e dei servizi IT, integrando quelle

Dettagli

Presentazioni multimediali relative al senso del tatto DIMENSIONI LIVELLO INIZIALE LIVELLO INTERMEDIO LIVELLO AVANZATO

Presentazioni multimediali relative al senso del tatto DIMENSIONI LIVELLO INIZIALE LIVELLO INTERMEDIO LIVELLO AVANZATO PERCORSO DI INSEGNAMENTO/APPRENDIMENTO TIPO DI UdP: SEMPLICE (monodisciplinare) ARTICOLATO (pluridisciplinare) Progetto didattico N. 1 Titolo : Let s investigate the world with our touch! Durata: Annuale

Dettagli

Data Alignment and (Geo)Referencing (sometimes Registration process)

Data Alignment and (Geo)Referencing (sometimes Registration process) Data Alignment and (Geo)Referencing (sometimes Registration process) All data aquired from a scan position are refered to an intrinsic reference system (even if more than one scan has been performed) Data

Dettagli

Dalla Mappatura dei Processi al Business Process Management

Dalla Mappatura dei Processi al Business Process Management Dalla Mappatura dei Processi al Business Process Management Romano Stasi Responsabile Segreteria Tecnica ABI Lab Roma, 4 dicembre 2007 Agenda Il percorso metodologico Analizzare per conoscere: la mappatura

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

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

SOA GOVERNANCE: WHAT DOES IT MEAN? Giorgio Marras

SOA GOVERNANCE: WHAT DOES IT MEAN? Giorgio Marras SOA GOVERNANCE: WHAT DOES IT MEAN? Giorgio Marras 2 Introduzione Le architetture basate sui servizi (SOA) stanno rapidamente diventando lo standard de facto per lo sviluppo delle applicazioni aziendali.

Dettagli

INTRODUZIONE ALLA GESTIONE DEL PROGETTO SOFTWARE CON UML

INTRODUZIONE ALLA GESTIONE DEL PROGETTO SOFTWARE CON UML Università degli Studi di Parma Dipartimento di Matematica e Informatica Corso di Laurea in Informatica DISPENSE INTRODUTTIVE INTRODUZIONE ALLA GESTIONE DEL PROGETTO SOFTWARE CON UML Prof. Giulio Destri

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

ITIL v3 e' parte di un processo teso a migliorare le best practices ITIL. In effetti, ITIL predica il "continuous improvement" ed e'

ITIL v3 e' parte di un processo teso a migliorare le best practices ITIL. In effetti, ITIL predica il continuous improvement ed e' ITIL v3 ITIL v3 e' parte di un processo teso a migliorare le best practices ITIL. In effetti, ITIL predica il "continuous improvement" ed e' giusto che lo applichi anche a se' stessa... Naturalmente una

Dettagli

Release Management. Obiettivi. Definizioni. Responsabilità. Attività. Input

Release Management. Obiettivi. Definizioni. Responsabilità. Attività. Input Release Management Obiettivi Obiettivo del Release Management è di raggiungere una visione d insieme del cambiamento nei servizi IT e accertarsi che tutti gli aspetti di una release (tecnici e non) siano

Dettagli

IT Service Management

IT Service Management IT Service Management ITIL: I concetti chiave ed il livello di adozione nelle aziende italiane Matteo De Angelis, itsmf Italia (I) 1 Chi è itsmf italia 12 th May 2011 - Bolzano itsmf (IT Service Management

Dettagli

Business Process Management

Business Process Management Business Process Management Come si organizza un progetto di BPM 1 INDICE Organizzazione di un progetto di Business Process Management Tipo di intervento Struttura del progetto BPM Process Performance

Dettagli

Progettazione Orientata agli Oggetti

Progettazione Orientata agli Oggetti Progettazione Orientata agli Oggetti Sviluppo del software Ciclo di vita del software: comprende tutte le attività dall analisi iniziale fino all obsolescenza (sviluppo, aggiornamento, manutenzione) Procedimento

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

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

Integrated Development Environment (IDE) DevC++ 4.9.9.2

Integrated Development Environment (IDE) DevC++ 4.9.9.2 Integrated Development Environment (IDE) DevC++ 4.9.9.2 Manuale utente Data ultima revisione: 22/10/2008 Fondamenti di informatica Università Facoltà Corso di laurea Politecnico di Bari 1 a Facoltà di

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

Problem Management proattivo di sicurezza secondo ITIL: attività di Etichal Hacking

Problem Management proattivo di sicurezza secondo ITIL: attività di Etichal Hacking Seminario associazioni: Seminario a cura di itsmf Italia Problem Management proattivo di sicurezza secondo ITIL: attività di Etichal Hacking Andrea Praitano Agenda Struttura dei processi ITIL v3; Il Problem

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

Narrare i gruppi. Rivista semestrale pubblicata on-line dal 2006 Indirizzo web: www.narrareigruppi.it - Direttore responsabile: Giuseppe Licari

Narrare i gruppi. Rivista semestrale pubblicata on-line dal 2006 Indirizzo web: www.narrareigruppi.it - Direttore responsabile: Giuseppe Licari Narrare i gruppi Etnografia dell interazione quotidiana Prospettive cliniche e sociali ISSN: 2281-8960 Narrare i gruppi. Etnografia dell'interazione quotidiana. Prospettive cliniche e sociali è una Rivista

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

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

Virtualizzazione con Microsoft Tecnologie e Licensing

Virtualizzazione con Microsoft Tecnologie e Licensing Microsoft Virtualizzazione con Microsoft Tecnologie e Licensing Profile Redirezione dei documenti Offline files Server Presentation Management Desktop Windows Vista Enterprise Centralized Desktop Application

Dettagli

MS OFFICE COMMUNICATIONS SERVER 2007 IMPLEMENTING AND MAINTAINING AUDIO/VISUAL CONFERENCING AND WEB CONFERENCING

MS OFFICE COMMUNICATIONS SERVER 2007 IMPLEMENTING AND MAINTAINING AUDIO/VISUAL CONFERENCING AND WEB CONFERENCING MS OFFICE COMMUNICATIONS SERVER 2007 IMPLEMENTING AND MAINTAINING AUDIO/VISUAL CONFERENCING AND WEB CONFERENCING UN BUON MOTIVO PER [cod. E603] L obiettivo del corso è fornire le competenze e conoscenze

Dettagli

il materiale contenuto nel presente documento non può essere utilizzato o riprodotto senza autorizzazione

il materiale contenuto nel presente documento non può essere utilizzato o riprodotto senza autorizzazione Reliability Management La gestione del processo di Sviluppo Prodotto Ing. Andrea Calisti www.indcons.eu Chi sono... Andrea CALISTI Ingegnere meccanico dal 1995 al 2009 nel Gruppo Fiat Assistenza Clienti

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

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

Business Process Management

Business Process Management Business Process Management Comprendere, gestire, organizzare e migliorare i processi di business Caso di studio a cura della dott. Danzi Francesca e della prof. Cecilia Rossignoli 1 Business process Un

Dettagli

group HIGH CURRENT MULTIPLEX NODE

group HIGH CURRENT MULTIPLEX NODE HIGH CURRENT MULTIPLEX NODE edizione/edition 04-2010 HIGH CURRENT MULTIPLEX NODE DESCRIZIONE GENERALE GENERAL DESCRIPTION L'unità di controllo COBO è una centralina elettronica Multiplex Slave ; la sua

Dettagli

Legame fra manutenzione e sicurezza. La PAS 55

Legame fra manutenzione e sicurezza. La PAS 55 Gestione della Manutenzione e compliance con gli standard di sicurezza: evoluzione verso l Asset Management secondo le linee guida della PAS 55, introduzione della normativa ISO 55000 Legame fra manutenzione

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

UNIVERSITÀ DEGLI STUDI DI GENOVA

UNIVERSITÀ DEGLI STUDI DI GENOVA UNIVERSITÀ DEGLI STUDI DI GENOVA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI CORSO DI LAUREA IN INFORMATICA Prova Finale GESTIONE DELLA TRANSIZIONE SECONDO LO STANDARD ITIL ITIL SERVICE TRANSITION

Dettagli

Ricognizione di alcune Best Practice

Ricognizione di alcune Best Practice Linee guida sulla qualità dei beni e dei servizi ICT per la definizione ed il governo dei contratti della Pubblica Amministrazione Manuale di riferimento Ricognizione di alcune Best Practice applicabili

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

2- Identificazione del processo. (o dei processi) da analizzare. Approcci: Esaustivo. In relazione al problema. Sulla base della rilevanza

2- Identificazione del processo. (o dei processi) da analizzare. Approcci: Esaustivo. In relazione al problema. Sulla base della rilevanza PROCESS MAPPING (2) Approcci: 2- Identificazione del processo Esaustivo (o dei processi) da analizzare Mappatura a largo spettro (es.: vasta implementazione di un ERP) In relazione al problema ad es. i

Dettagli

ITIL v3, il nuovo framework per l ITSM

ITIL v3, il nuovo framework per l ITSM ITIL v3, il nuovo framework per l ITSM ( a cura di Stefania Renna ITIL - IBM) Pag. 1 Alcune immagini contenute in questo documento fanno riferimento a documentazione prodotta da ITIL Intl che ne detiene

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

IT FINANCIAL MANAGEMENT

IT FINANCIAL MANAGEMENT IT FINANCIAL MANAGEMENT L IT Financial Management è una disciplina per la pianificazione e il controllo economico-finanziario, di carattere sia strategico sia operativo, basata su un ampio insieme di metodologie

Dettagli

Istituto Tecnico Commerciale Indirizzo AFM articolazione SIA PERCHE???

Istituto Tecnico Commerciale Indirizzo AFM articolazione SIA PERCHE??? Istituto Tecnico Commerciale Indirizzo AFM articolazione SIA PERCHE??? Opportunità di lavoro: ICT - Information and Communication Technology in Azienda Vendite Acquisti Produzione Logistica AFM SIA ICT

Dettagli

www.bistrategy.it In un momento di crisi perché scegliere di investire sulla Business Intelligence?

www.bistrategy.it In un momento di crisi perché scegliere di investire sulla Business Intelligence? In un momento di crisi perché scegliere di investire sulla Business Intelligence? Cos è? Per definizione, la Business Intelligence è: la trasformazione dei dati in INFORMAZIONI messe a supporto delle decisioni

Dettagli

Zeroshell come client OpenVPN

Zeroshell come client OpenVPN Zeroshell come client OpenVPN (di un server OpenVpn Linux) Le funzionalità di stabilire connessioni VPN di Zeroshell vede come scenario solito Zeroshell sia come client sia come server e per scelta architetturale,

Dettagli

Gi-Gi Art. 859 - User's Guide Istruzioni d'uso

Gi-Gi Art. 859 - User's Guide Istruzioni d'uso doc.4.12-06/03 Gi-Gi Art. 859 - User's Guide Istruzioni d'uso A belaying plate that can be used in many different conditions Una piastrina d'assicurazione che può essere utilizzata in condizioni diverse.

Dettagli

1. Che cos è. 2. A che cosa serve

1. Che cos è. 2. A che cosa serve 1. Che cos è Il Supplemento al diploma è una certificazione integrativa del titolo ufficiale conseguito al termine di un corso di studi in una università o in un istituto di istruzione superiore corrisponde

Dettagli

LA PROGETTAZIONE Come fare un progetto. LA PROGETTAZIONE Come fare un progetto

LA PROGETTAZIONE Come fare un progetto. LA PROGETTAZIONE Come fare un progetto LA PROGETTAZIONE 1 LA PROGETTAZIONE Oggi il raggiungimento di un obiettivo passa per la predisposizione di un progetto. Dal mercato al terzo settore passando per lo Stato: aziende, imprese, organizzazioni,

Dettagli

Problem Management. Obiettivi. Definizioni. Responsabilità. Attività. Input

Problem Management. Obiettivi. Definizioni. Responsabilità. Attività. Input Problem Management Obiettivi Obiettivo del Problem Management e di minimizzare l effetto negativo sull organizzazione degli Incidenti e dei Problemi causati da errori nell infrastruttura e prevenire gli

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

Urban Farming: Second Use of Public Spaces. Sviluppare progetti per il recupero urbano Entrepreneurial thinking. Scheda progetto

Urban Farming: Second Use of Public Spaces. Sviluppare progetti per il recupero urbano Entrepreneurial thinking. Scheda progetto Urban Farming: Second Use of Public Spaces Sviluppare progetti per il recupero urbano Entrepreneurial thinking Scheda progetto CSAVRI - Centro Servizi di Ateneo per la Valorizzazione della Ricerca e Incubatore

Dettagli

CAPITOLO CAPIT Tecnologie dell ecnologie dell info inf rmazione e controllo

CAPITOLO CAPIT Tecnologie dell ecnologie dell info inf rmazione e controllo CAPITOLO 8 Tecnologie dell informazione e controllo Agenda Evoluzione dell IT IT, processo decisionale e controllo Sistemi di supporto al processo decisionale Sistemi di controllo a feedback IT e coordinamento

Dettagli

Progetto BPR: Business Process Reengineering

Progetto BPR: Business Process Reengineering Progetto BPR: Business Process Reengineering Riflessioni frutto di esperienze concrete PER LA CORRETTA INTERPRETAZIONE DELLE PAGINE SEGUENTI SI DEVE TENERE CONTO DI QUANTO ILLUSTRATO ORALMENTE Obiettivo

Dettagli

Process mining & Optimization Un approccio matematico al problema

Process mining & Optimization Un approccio matematico al problema Res User Meeting 2014 con la partecipazione di Scriviamo insieme il futuro Paolo Ferrandi Responsabile Tecnico Research for Enterprise Systems Federico Bonelli Engineer Process mining & Optimization Un

Dettagli

CAPITOLO 3. Elementi fondamentali della struttura organizzativa

CAPITOLO 3. Elementi fondamentali della struttura organizzativa CAPITOLO 3 Elementi fondamentali della struttura organizzativa Agenda La struttura organizzativa Le esigenze informative Tipologia di strutture Struttura funzionale Struttura divisionale Struttura per

Dettagli

SEZIONE F: DESCRIZIONE DELL'AZIONE. F.l- Modalita organizzative, gestione operativa e calendario dell'intervento. (Max 200 righe):

SEZIONE F: DESCRIZIONE DELL'AZIONE. F.l- Modalita organizzative, gestione operativa e calendario dell'intervento. (Max 200 righe): SEZIONE F: DESCRIZIONE DELL'AZIONE Project Management e Information Technology Infrastructure Library (ITIL V3 F.l- Modalita organizzative, gestione operativa e calendario dell'intervento. (Max 200 righe):

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

Comincio da tre! I MIEI AMICI LA MIA FAMIGLIA LE MIE ESPERIENZE IL MIO PASSATO COSA VOLEVO FARE DA GRANDE LE MIE RELAZIONI

Comincio da tre! I MIEI AMICI LA MIA FAMIGLIA LE MIE ESPERIENZE IL MIO PASSATO COSA VOLEVO FARE DA GRANDE LE MIE RELAZIONI I MIEI AMICI LA MIA FAMIGLIA IL MIO PASSATO LE MIE ESPERIENZE COSA VOLEVO FARE DA GRANDE COME SONO IO? I MIEI DIFETTI LE MIE RELAZIONI LE MIE PASSIONI I SOGNI NEL CASSETTO IL MIO CANE IL MIO GATTO Comincio

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

Parole Chiave: Sviluppo di un nuovo prodotto, MSNP, design di prodotto, Stage-Gate

Parole Chiave: Sviluppo di un nuovo prodotto, MSNP, design di prodotto, Stage-Gate 6.1 Metodi per lo sviluppo di nuovi prodotti (MSNP) Parole Chiave: Sviluppo di un nuovo prodotto, MSNP, design di prodotto, Stage-Gate Questo capitolo presenta alcune metodologie per gestire al meglio

Dettagli

Master Universitario di II livello in PROJECT MANAGEMENT: MANAGING COMPLEXITY a.a. 2014/2015 MANIFESTO DEGLI STUDI

Master Universitario di II livello in PROJECT MANAGEMENT: MANAGING COMPLEXITY a.a. 2014/2015 MANIFESTO DEGLI STUDI Master Universitario di II livello in PROJECT MANAGEMENT: MANAGING COMPLEXITY a.a. 201/2015 MANIFESTO DEGLI STUDI Art. 1 - Attivazione e scopo del Master 1 E' attivato per l'a.a. 201/2015 presso l'università

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

La disseminazione dei progetti europei

La disseminazione dei progetti europei La disseminazione dei progetti europei Indice 1. La disseminazione nel 7PQ: un obbligo! 2. Comunicare nei progetti europei 3. Target audience e Key Message 4. Sviluppare un dissemination plan 5. Message

Dettagli

LEAR ITALIA MES/LES PROJECT

LEAR ITALIA MES/LES PROJECT LEAR ITALIA MES/LES PROJECT La peculiarità del progetto realizzato in Lear Italia da Hermes Reply è quello di integrare in un unica soluzione l execution della produzione (con il supporto dell RFID), della

Dettagli

Pagine romane (I-XVIII) OK.qxd:romane.qxd 7-09-2009 16:23 Pagina VI. Indice

Pagine romane (I-XVIII) OK.qxd:romane.qxd 7-09-2009 16:23 Pagina VI. Indice Pagine romane (I-XVIII) OK.qxd:romane.qxd 7-09-2009 16:23 Pagina VI Prefazione Autori XIII XVII Capitolo 1 Sistemi informativi aziendali 1 1.1 Introduzione 1 1.2 Modello organizzativo 3 1.2.1 Sistemi informativi

Dettagli

Indicizzazione terza parte e modello booleano

Indicizzazione terza parte e modello booleano Reperimento dell informazione (IR) - aa 2014-2015 Indicizzazione terza parte e modello booleano Gruppo di ricerca su Sistemi di Gestione delle Informazioni (IMS) Dipartimento di Ingegneria dell Informazione

Dettagli

1. QUAL È LO SCOPO DI QUESTO MODULO?

1. QUAL È LO SCOPO DI QUESTO MODULO? Percorso B. Modulo 4 Ambienti di Apprendimento e TIC Guida sintetica agli Elementi Essenziali e Approfondimenti (di Antonio Ecca), e slide per i formatori. A cura di Alberto Pian (alberto.pian@fastwebnet.it)

Dettagli

Enterprise Content Management. Terminologia. KM, ECM e BPM per creare valore nell impresa. Giovanni Marrè Amm. Del., it Consult

Enterprise Content Management. Terminologia. KM, ECM e BPM per creare valore nell impresa. Giovanni Marrè Amm. Del., it Consult KM, ECM e BPM per creare valore nell impresa Giovanni Marrè Amm. Del., it Consult Terminologia Ci sono alcuni termini che, a vario titolo, hanno a che fare col tema dell intervento KM ECM BPM E20 Enterprise

Dettagli

Specialista ITIL. Certificate of Advanced Studies. www.supsi.ch/fc

Specialista ITIL. Certificate of Advanced Studies. www.supsi.ch/fc Scuola universitaria professionale della Svizzera italiana Dipartimento tecnologie innovative Istituto sistemi informativi e networking Specialista ITIL Certificate of Advanced Studies www.supsi.ch/fc

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

STS. Profilo della società

STS. Profilo della società STS Profilo della società STS, Your ICT Partner Con un solido background accademico, regolari confronti con il mondo della ricerca ed esperienza sia nel settore pubblico che privato, STS è da oltre 20

Dettagli

DataFix. La soluzione innovativa per l'help Desk aziendale

DataFix. La soluzione innovativa per l'help Desk aziendale DataFix D A T A N O S T O P La soluzione innovativa per l'help Desk aziendale La soluzione innovativa per l'help Desk aziendale L a necessità di fornire un adeguato supporto agli utenti di sistemi informatici

Dettagli

Il test valuta la capacità di pensare?

Il test valuta la capacità di pensare? Il test valuta la capacità di pensare? Per favore compili il seguente questionario senza farsi aiutare da altri. Cognome e Nome Data di Nascita / / Quanti anni scolastici ha frequentato? Maschio Femmina

Dettagli

Progettare, sviluppare e gestire seguendo la Think it easy philosophy

Progettare, sviluppare e gestire seguendo la Think it easy philosophy Progettare, sviluppare e gestire seguendo la Think it easy philosophy CST Consulting è una azienda di Consulenza IT, System Integration & Technology e Servizi alle Imprese di respiro internazionale. E

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

Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova. Metodi per supportare le decisioni relative alla gestione di progetti

Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova. Metodi per supportare le decisioni relative alla gestione di progetti Project Management Massimo Paolucci (paolucci@dist.unige.it) DIST Università di Genova Project Management 2 Metodi per supportare le decisioni relative alla gestione di progetti esempi sono progetti nell

Dettagli

IT GOVERNANCE & MANAGEMENT

IT GOVERNANCE & MANAGEMENT IT GOVERNANCE & MANAGEMENT BOLOGNA BUSINESS school Dal 1088, studenti da tutto il mondo vengono a studiare a Bologna dove scienza, cultura e tecnologia si uniscono a valori, stile di vita, imprenditorialità.

Dettagli

Università degli Studi del Sannio NUCLEO DI VALUTAZIONE RIUNIONE NUCLEO DI VALUTAZIONE

Università degli Studi del Sannio NUCLEO DI VALUTAZIONE RIUNIONE NUCLEO DI VALUTAZIONE Verbale n. 10 del 5 Novembre 2014 RIUNIONE Il giorno 5 Novembre 2014, alle ore 10.40, il Nucleo di Valutazione dell Università degli Studi del Sannio, si è riunito per discutere sugli argomenti iscritti

Dettagli

PLM Software. Answers for industry. Siemens PLM Software

PLM Software. Answers for industry. Siemens PLM Software Siemens PLM Software Monitoraggio e reporting delle prestazioni di prodotti e programmi Sfruttare le funzionalità di reporting e analisi delle soluzioni PLM per gestire in modo più efficace i complessi

Dettagli

il ruolo del Service Manager e i vantaggi conseguiti

il ruolo del Service Manager e i vantaggi conseguiti il ruolo del Service Manager e i vantaggi conseguiti Alessandro Bruni CIO at Baglioni Hotels Workshop AICA: "Il Service Manager: il ruolo e il suo valore per il business" 8/ 2/2011 Il gruppo Baglioni Hotels

Dettagli

BUSINESS INTELLIGENCE & PERFORMANCE MANAGEMENT

BUSINESS INTELLIGENCE & PERFORMANCE MANAGEMENT BUSINESS INTELLIGENCE & PERFORMANCE MANAGEMENT BOLOGNA BUSINESS school Dal 1088, studenti da tutto il mondo vengono a studiare a Bologna dove scienza, cultura e tecnologia si uniscono a valori, stile di

Dettagli

ATTUAZIONE DEL PROGETTO E IL MANAGEMENT: alcune definizioni e indicazioni generali

ATTUAZIONE DEL PROGETTO E IL MANAGEMENT: alcune definizioni e indicazioni generali ATTUAZIONE DEL PROGETTO E IL MANAGEMENT: alcune definizioni e indicazioni generali Cos è un progetto? Un iniziativa temporanea intrapresa per creare un prodotto o un servizio univoco (PMI - Project Management

Dettagli

Modal 2 Modulo Analisi modale Modulo per l Analisi della dinamica strutturale.

Modal 2 Modulo Analisi modale Modulo per l Analisi della dinamica strutturale. Modal 2 Modulo Analisi modale Modulo per l Analisi della dinamica strutturale. L analisi modale è un approccio molto efficace al comportamento dinamico delle strutture, alla verifica di modelli di calcolo

Dettagli

MASTER TRIENNALE DI FORMAZIONE MANAGERIALE

MASTER TRIENNALE DI FORMAZIONE MANAGERIALE Management Risorse Umane MASTER TRIENNALE DI FORMAZIONE MANAGERIALE La formazione di eccellenza al servizio dei Manager PRESENTAZIONE Il Master Triennale di Formazione Manageriale è un percorso di sviluppo

Dettagli