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

Ciclo di vita del progetto

Ciclo di vita del progetto IT Project Management Lezione 2 Ciclo di vita del progetto Federica Spiga A.A. 2009-2010 1 Ciclo di vita del progetto Il ciclo di vita del progetto definisce le fasi che collegano l inizio e la fine del

Dettagli

Scrum. Caratteristiche, Punti di forza, Limiti. versione del tutorial: 1.0. www.analisi-disegno.com. Pag. 1

Scrum. Caratteristiche, Punti di forza, Limiti. versione del tutorial: 1.0. www.analisi-disegno.com. Pag. 1 Scrum Caratteristiche, Punti di forza, Limiti versione del tutorial: 1.0 Pag. 1 Scrum è uno dei processi agili (www.agilealliance.com) il termine è derivato dal Rugby, dove viene chiamato Scrum il pacchetto

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

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

Ingegneria del Software

Ingegneria del Software Ingegneria del Software Processi di Sviluppo Agile Origini dello Sviluppo Agile Proposta di un gruppo di sviluppatori che rilevava una serie di criticità degli approcci convenzionali: Troppa rigidità dei

Dettagli

Project Management. Modulo: Introduzione. prof. ing. Guido Guizzi

Project Management. Modulo: Introduzione. prof. ing. Guido Guizzi Project Management Modulo: Introduzione prof. ing. Guido Guizzi Definizione di Project Management Processo unico consistente in un insieme di attività coordinate con scadenze iniziali e finali, intraprese

Dettagli

Pianificazione e progettazione

Pianificazione e progettazione Pianificazione e progettazione L analisi preventiva degli eventi e delle loro implicazioni rappresenta una necessità sempre più forte all interno di tutte le organizzazioni variamente complesse. L osservazione

Dettagli

La gestione manageriale dei progetti

La gestione manageriale dei progetti PROGETTAZIONE Pianificazione, programmazione temporale, gestione delle risorse umane: l organizzazione generale del progetto Dimitri Grigoriadis La gestione manageriale dei progetti Per organizzare il

Dettagli

Poca documentazione: uso di Story Card e CRC (Class Responsibility Collabor) Collaborazione con il cliente rispetto alla negoziazione dei contratti

Poca documentazione: uso di Story Card e CRC (Class Responsibility Collabor) Collaborazione con il cliente rispetto alla negoziazione dei contratti Sviluppo Agile [Cockburn 2002] Extreme Programming (XP) [Beck 2000] Sono più importanti auto-organizzazione, collaborazione, comunicazione tra membri del team e adattabilità del prodotto rispetto ad ordine

Dettagli

Gestione dello sviluppo software Modelli Agili

Gestione dello sviluppo software Modelli Agili Università di Bergamo Facoltà di Ingegneria GESTIONE DEI SISTEMI ICT Paolo Salvaneschi A4_3 V1.1 Gestione dello sviluppo software Modelli Agili Il contenuto del documento è liberamente utilizzabile dagli

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

La portata del software

La portata del software La portata del software Portata Contesto. In che modo il software in costruzione si inserirà nel sistema, prodotto o contesto aziendale esistente e quali vincoli impone il contesto? Obiettivi relativi

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

4.1 Che cos è l ideazione

4.1 Che cos è l ideazione Luca Cabibbo Analisi e Progettazione del Software Ideazione (non è la fase dei requisiti) Capitolo 4 marzo 2013 Il meglio è nemico del bene. Voltaire 1 *** AVVERTENZA *** I lucidi messi a disposizione

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

IL MANAGER COACH: MODA O REQUISITO DI EFFICACIA. Nelle organizzazioni la gestione e lo sviluppo dei collaboratori hanno una importanza fondamentale.

IL MANAGER COACH: MODA O REQUISITO DI EFFICACIA. Nelle organizzazioni la gestione e lo sviluppo dei collaboratori hanno una importanza fondamentale. IL MANAGER COACH: MODA O REQUISITO DI EFFICACIA Nelle organizzazioni la gestione e lo sviluppo dei collaboratori hanno una importanza fondamentale. Gestione e sviluppo richiedono oggi comportamenti diversi

Dettagli

Sistemi Informativi I Caso di studio con applicazione di UML

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

Dettagli

Quality gate. Sono eventi programmati regolarmente e condotti seguendo una procedura standard

Quality gate. Sono eventi programmati regolarmente e condotti seguendo una procedura standard Quality gate Nei punti chiave del processo di sviluppo del software, viene integrato un insieme di quality gate per monitorare la qualità del prodotto intermedio prima che quest ultimo possa passare al

Dettagli

Metodologie Agili per lo sviluppo di applicazioni Internet Distribuite. Agile Group DIEE, Università di Cagliari www.agile.diee.unica.

Metodologie Agili per lo sviluppo di applicazioni Internet Distribuite. Agile Group DIEE, Università di Cagliari www.agile.diee.unica. Metodologie Agili per lo sviluppo di applicazioni Internet Distribuite Agile Group DIEE, Università di Cagliari www.agile.diee.unica.it Agile Group Agile Group, gruppo di ricerca su Ingegneria del SW,

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

CORSO BUSINESS CONTINUITY AND DISASTER RECOVERY MANAGEMENT LE 10 PROFESSIONAL PRACTICES

CORSO BUSINESS CONTINUITY AND DISASTER RECOVERY MANAGEMENT LE 10 PROFESSIONAL PRACTICES 1 CORSO BUSINESS CONTINUITY AND DISASTER RECOVERY MANAGEMENT Il corso è finalizzato a illustrare in dettaglio le competenze richieste al Business Continuity Manager per guidare un progetto BCM e/o gestire

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

Descrizione dettagliata delle attività

Descrizione dettagliata delle attività LA PIANIFICAZIONE DETTAGLIATA DOPO LA SELEZIONE Poiché ciascun progetto è un processo complesso ed esclusivo, una pianificazione organica ed accurata è indispensabile al fine di perseguire con efficacia

Dettagli

SCELTA DELL APPROCCIO. A corredo delle linee guida per l autovalutazione e il miglioramento

SCELTA DELL APPROCCIO. A corredo delle linee guida per l autovalutazione e il miglioramento SCELTA DELL APPROCCIO A corredo delle linee guida per l autovalutazione e il miglioramento 1 SCELTA DELL APPROCCIO l approccio all autovalutazione diffusa può essere normale o semplificato, a seconda delle

Dettagli

PROJECT MANAGEMENT SERVIZI DI PROJECT MANAGEMENT DI ELEVATA PROFESSIONALITÀ

PROJECT MANAGEMENT SERVIZI DI PROJECT MANAGEMENT DI ELEVATA PROFESSIONALITÀ PROJECT MANAGEMENT SERVIZI DI PROJECT MANAGEMENT DI ELEVATA PROFESSIONALITÀ SERVIZI DI PROJECT MANAGEMENT CENTRATE I VOSTRI OBIETTIVI LA MISSIONE In qualità di clienti Rockwell Automation, potete contare

Dettagli

liste di liste di controllo per il manager liste di controllo per il manager liste di controllo per i

liste di liste di controllo per il manager liste di controllo per il manager liste di controllo per i liste di controllo per il manager r il manager liste di controllo per il manager di contr liste di liste di controllo per il manager i controllo trollo per il man liste di il man liste di controllo per

Dettagli

QUESTIONARIO 1: PROCESSO DI AUTOVALUTAZIONE

QUESTIONARIO 1: PROCESSO DI AUTOVALUTAZIONE QUESTIONARIO 1: PROCESSO DI AUTOVALUTAZIONE Step 1 - Decidere come organizzare e pianificare l autovalutazione (AV) 1.1. Assicurare l impegno e il governo del management per avviare il processo. 1.2. Assicurare

Dettagli

Rapporto dal Questionari Insegnanti

Rapporto dal Questionari Insegnanti Rapporto dal Questionari Insegnanti SCUOLA CHIC81400N N. Docenti che hanno compilato il questionario: 60 Anno Scolastico 2014/15 Le Aree Indagate Il Questionario Insegnanti ha l obiettivo di rilevare la

Dettagli

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

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

Dettagli

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

Progetto. Portale Turistico Regionale. Andrea Polini, Oliviero Riganelli, Massimo Troiani. Ingegneria del Software Corso di Laurea in Informatica

Progetto. Portale Turistico Regionale. Andrea Polini, Oliviero Riganelli, Massimo Troiani. Ingegneria del Software Corso di Laurea in Informatica Progetto Portale Turistico Regionale Andrea Polini, Oliviero Riganelli, Massimo Troiani Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) Progetto 1 / 12 Il progetto - descrizione

Dettagli

ALLINEARSI: IL DRIVER PER UNA INNOVAZIONE DI SUCCESSO!

ALLINEARSI: IL DRIVER PER UNA INNOVAZIONE DI SUCCESSO! ALLINEARSI: IL DRIVER PER UNA INNOVAZIONE DI SUCCESSO! L allineamento del team esecutivo è definibile come l accordo dei membri del team in merito a: 1. Allineamento personale -consapevolezza dell impatto

Dettagli

Project Cycle Management

Project Cycle Management Project Cycle Management Tre momenti centrali della fase di analisi: analisi dei problemi, analisi degli obiettivi e identificazione degli ambiti di intervento Il presente materiale didattico costituisce

Dettagli

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

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

Dettagli

Guida Compilazione Piani di Studio on-line

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

Dettagli

Modellazione di sistema

Modellazione di sistema Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Modellazione di sistema E. TINELLI Contenuti Approcci di analisi Linguaggi di specifica Modelli di

Dettagli

INGEGNERIA DEL SOFTWARE. Prof. Paolo Salvaneschi

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

Dettagli

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

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

Dettagli

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

Indice. pagina 2 di 10

Indice. pagina 2 di 10 LEZIONE PROGETTAZIONE ORGANIZZATIVA DOTT.SSA ROSAMARIA D AMORE Indice PROGETTAZIONE ORGANIZZATIVA---------------------------------------------------------------------------------------- 3 LA STRUTTURA

Dettagli

La gestione della qualità nelle aziende aerospaziali

La gestione della qualità nelle aziende aerospaziali M Premessa La AS 9100 è una norma ampiamente adottata in campo aeronautico ed aerospaziale dalle maggiori aziende mondiali del settore, per la definizione, l utilizzo ed il controllo dei sistemi di gestione

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

Corso di Amministrazione di Sistema Parte I ITIL 1

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

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

Report di valutazione Fiona Clark_Live

Report di valutazione Fiona Clark_Live Report di valutazione Fiona Clark_Live Analysis Aptitude Generato il: 28-gen-2011 Pagina 2 2005-2009 Saville Consulting. Tutti i diritti riservati. Indice Introduzione al report di valutazione... 3 Attitudine

Dettagli

Accogliere e trattenere i volontari in associazione. Daniela Caretto Lecce, 27-28 aprile

Accogliere e trattenere i volontari in associazione. Daniela Caretto Lecce, 27-28 aprile Accogliere e trattenere i volontari in associazione Daniela Caretto Lecce, 27-28 aprile Accoglienza Ogni volontario dovrebbe fin dal primo incontro con l associazione, potersi sentire accolto e a proprio

Dettagli

1- Corso di IT Strategy

1- Corso di IT Strategy Descrizione dei Corsi del Master Universitario di 1 livello in IT Governance & Compliance INPDAP Certificated III Edizione A. A. 2011/12 1- Corso di IT Strategy Gli analisti di settore riportano spesso

Dettagli

IL MODELLO SCOR. Agenda. La Supply Chain Il Modello SCOR SCOR project roadmap. Prof. Giovanni Perrone Ing. Lorena Scarpulla. Engineering.

IL MODELLO SCOR. Agenda. La Supply Chain Il Modello SCOR SCOR project roadmap. Prof. Giovanni Perrone Ing. Lorena Scarpulla. Engineering. Production Engineering Research WorkGROUP IL MODELLO SCOR Prof. Giovanni Perrone Ing. Lorena Scarpulla Dipartimento di Tecnologia Meccanica, Produzione e Ingegneria Gestionale Università di Palermo Agenda

Dettagli

Piano di gestione della qualità

Piano di gestione della qualità Piano di gestione della qualità Pianificazione della qualità Politica ed obiettivi della qualità Riferimento ad un eventuale modello di qualità adottato Controllo della qualità Procedure di controllo.

Dettagli

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI Un utilizzatore a valle di sostanze chimiche dovrebbe informare i propri fornitori riguardo al suo utilizzo delle sostanze (come tali o all

Dettagli

EVOLUZIONE DELLE INIZIATIVE PER LA QUALITA : L APPROCCIO SIX SIGMA

EVOLUZIONE DELLE INIZIATIVE PER LA QUALITA : L APPROCCIO SIX SIGMA http://www.sinedi.com ARTICOLO 3 LUGLIO 2006 EVOLUZIONE DELLE INIZIATIVE PER LA QUALITA : L APPROCCIO SIX SIGMA A partire dal 1980 sono state sviluppate diverse metodologie per la gestione della qualità

Dettagli

Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi.

Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi. PROGETTO SeT Il ciclo dell informazione Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi. Scuola media Istituto comprensivo di Fagagna (Udine) Insegnanti referenti: Guerra Annalja, Gianquinto

Dettagli

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

Incident Management. Obiettivi. Definizioni. Responsabilità. Attività. Input Incident Management Obiettivi Obiettivo dell Incident Management e di ripristinare le normali operazioni di servizio nel piu breve tempo possibbile e con il minimo impatto sul business, garantendo il mantenimento

Dettagli

Processi principali per il completamento del progetto

Processi principali per il completamento del progetto Piano di progetto È un documento versionato, redatto dal project manager per poter stimare realisticamente le risorse, i costi e i tempi necessari alla realizzazione del progetto. Il piano di progetto

Dettagli

Esercitazione di Basi di Dati

Esercitazione di Basi di Dati Esercitazione di Basi di Dati Corso di Fondamenti di Informatica 6 Maggio 2004 Come costruire una ontologia Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione, stanza

Dettagli

Artifact Centric Business Processes (I)

Artifact Centric Business Processes (I) Introduzione Autore: Docente: Prof. Giuseppe De Giacomo Dipartimento di Informatica e Sistemistica SAPIENZA - Universitá di Roma 16 Novembre 2008 Una visione assiomatica La modellazione dei processi di

Dettagli

Lezione 4. Controllo di gestione. Il controllo direzionale

Lezione 4. Controllo di gestione. Il controllo direzionale Lezione 4 Il controllo direzionale Sistema di pianificazione e controllo PIANIFICAZIONE STRATEGICA PIANO 1 2 OBIETTIVI OBIETTIVI ATTIVITA 3 DI LUNGO PERIODO DI BREVE PERIODO OPERATIVA 5 BUDGET FEED-BACK

Dettagli

Format per la progettazione (di un unità formativa di xx ore per apprendere per competenze)

Format per la progettazione (di un unità formativa di xx ore per apprendere per competenze) Format per la progettazione (di un unità formativa di xx ore per apprendere per competenze) 1. Gli esiti dell apprendimento: selezione delle competenze e prestazioni oggetto di un unità formativa e costruzione

Dettagli

Distinguere tra bisogni di cura standard e individualizzati. Valutazione delle esigenze e traduzione di queste in azioni adeguate

Distinguere tra bisogni di cura standard e individualizzati. Valutazione delle esigenze e traduzione di queste in azioni adeguate Linee guida per la costruzione di test per la valutazione degli esiti dei percorsi di apprendimento per Coordinatori all interno delle strutture residenziali per anziani Queste linee guida sono rivolte

Dettagli

WorkFLow (Gestione del flusso pratiche)

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

Dettagli

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

International School of Siena. Procedura di ammissione. Le procedure

International School of Siena. Procedura di ammissione. Le procedure International School of Siena Procedura di ammissione L International School of Siena accoglie culture e nazionalità diverse. Offriamo un educazione generale utilizzando l inglese come lingua veicolare,

Dettagli

Come scrivere una proposta progettuale

Come scrivere una proposta progettuale PROGETTO OPERATIVO DI ASSISTENZA TECNICA ALLE REGIONI DELL OBIETTIVO CONVERGENZA Come scrivere una proposta progettuale Comune di CATANIA 17/03/2016 SIGNIFICATO E DEFINIZIONE DEI LIVELLI DELLA LOGICA

Dettagli

Al termine del lavoro ad uno dei componenti del gruppo verrà affidato l incarico di relazionare a nome di tutto il gruppo.

Al termine del lavoro ad uno dei componenti del gruppo verrà affidato l incarico di relazionare a nome di tutto il gruppo. Pag. 1 di 5 6FRSR analizzare problemi complessi riguardanti la gestione di un sito interattivo proponendo soluzioni adeguate e facilmente utilizzabili da una utenza poco informatizzata. 2ELHWWLYL GD UDJJLXQJHUH

Dettagli

A cura di Giorgio Mezzasalma

A cura di Giorgio Mezzasalma GUIDA METODOLOGICA PER IL MONITORAGGIO E VALUTAZIONE DEL PIANO DI COMUNICAZIONE E INFORMAZIONE FSE P.O.R. 2007-2013 E DEI RELATIVI PIANI OPERATIVI DI COMUNICAZIONE ANNUALI A cura di Giorgio Mezzasalma

Dettagli

ILSISTEMA INTEGRATO DI PRODUZIONE E MANUTENZIONE

ILSISTEMA INTEGRATO DI PRODUZIONE E MANUTENZIONE ILSISTEMA INTEGRATO DI PRODUZIONE E MANUTENZIONE L approccio al processo di manutenzione Per Sistema Integrato di Produzione e Manutenzione si intende un approccio operativo finalizzato al cambiamento

Dettagli

IMPOSTAZIONE E ORGANIZZAZIONE DEL PROGETTO

IMPOSTAZIONE E ORGANIZZAZIONE DEL PROGETTO Minimaster in PROJECT MANAGEMENT IMPOSTAZIONE E ORGANIZZAZIONE DEL PROGETTO Giovanni Francesco Salamone Corso Professionale di Project Management secondo la metodologia IPMA (Ipma Competence Baseline)

Dettagli

Project Management. Corso Sistemi Informativi Aziendali, Tecnologie dell Informazione applicate ai processi aziendali.

Project Management. Corso Sistemi Informativi Aziendali, Tecnologie dell Informazione applicate ai processi aziendali. Corso Sistemi Informativi Aziendali, Project Management. di Simone Cavalli (simone.cavalli@unibg.it) Bergamo, Maggio 2010 Project Management: definizioni Progetto: Progetto si definisce, di regola, uno

Dettagli

Le fattispecie di riuso

Le fattispecie di riuso Le fattispecie di riuso Indice 1. PREMESSA...3 2. RIUSO IN CESSIONE SEMPLICE...4 3. RIUSO CON GESTIONE A CARICO DEL CEDENTE...5 4. RIUSO IN FACILITY MANAGEMENT...6 5. RIUSO IN ASP...7 1. Premessa Poiché

Dettagli

INDICOD-ECR Istituto per le imprese di beni di consumo

INDICOD-ECR Istituto per le imprese di beni di consumo INDICOD-ECR Istituto per le imprese di beni di consumo GLOBAL SCORECARD Uno strumento di autovalutazione, linguaggio e concetti comuni Versione base - Entry Level Introduzione Introduzione La Global Scorecard

Dettagli

UN ESEMPIO DI VALUTAZIONE

UN ESEMPIO DI VALUTAZIONE UN ESEMPIO DI VALUTAZIONE Processo di Performance Review (PR) Luisa Macciocca 1 Che cos è una PR? La PR è un sistema formale di gestione della performance La gestione della performance è: un processo a

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

Soluzione dell esercizio del 2 Febbraio 2004

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

Dettagli

DEPLOY YOUR BUSINESS

DEPLOY YOUR BUSINESS DEPLOY YOUR BUSINESS COS É ARROCCO? E uno strumento online per lo sviluppo del Piano Economico-Finanziario del Business Plan. Arrocco è uno strumento online appositamente progettato per lo sviluppo di

Dettagli

Mantenere il piano. Il piano guida il lavoro permettendo di misurare il progresso

Mantenere il piano. Il piano guida il lavoro permettendo di misurare il progresso Mantenere il piano Il piano guida il lavoro permettendo di misurare il progresso Valore Guadagnato: ad ogni task viene assegnato un valore basato sulla percentuale del bilancio totale del progetto richiesto

Dettagli

FORMAZIONE AVANZATA. Corso di introduzione al Project Management

FORMAZIONE AVANZATA. Corso di introduzione al Project Management FORMAZIONE AVANZATA Corso di introduzione al Project Management 1 1. Scenario di riferimento La costante diminuzione delle risorse di bilancio e dei trasferimenti pubblici, da un lato, e la necessità di

Dettagli

Gestione del workflow

Gestione del workflow Gestione del workflow Stefania Marrara Corso di Tecnologie dei Sistemi Informativi 2004/2005 Progettazione di un Sistema Informativo Analisi dei processi Per progettare un sistema informativo è necessario

Dettagli

ascoltare ispirare e motivare miglioramento problem solving Flex360 pianificare comunicare la vision organizzare

ascoltare ispirare e motivare miglioramento problem solving Flex360 pianificare comunicare la vision organizzare Flex360 La valutazione delle competenze online comunicare la vision ascoltare problem solving favorire il cambiamento proattività pianificare miglioramento organizzare ispirare e motivare Cos è Flex360

Dettagli

Il modello veneto di Bilancio Sociale Avis

Il modello veneto di Bilancio Sociale Avis Il modello veneto di Bilancio Sociale Avis Le organizzazioni di volontariato ritengono essenziale la legalità e la trasparenza in tutta la loro attività e particolarmente nella raccolta e nell uso corretto

Dettagli

Introduzione alla metodologia di progettazione europea

Introduzione alla metodologia di progettazione europea Seminario informativo Come presentare una proposta di successo nel quadro del programma ENPI CBC MED Introduzione alla metodologia di progettazione europea (parte I versione ridotta) Docente: Cecilia Chiapero

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

La progettazione centrata sull utente nei bandi di gara

La progettazione centrata sull utente nei bandi di gara Progetto PerformancePA Ambito A - Linea 1 - Una rete per la riforma della PA La progettazione centrata sull utente nei bandi di gara Autore: Maurizio Boscarol Creatore: Formez PA, Progetto Performance

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

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

Analisi e diagramma di Pareto

Analisi e diagramma di Pareto Analisi e diagramma di Pareto L'analisi di Pareto è una metodologia statistica utilizzata per individuare i problemi più rilevanti nella situazione in esame e quindi le priorità di intervento. L'obiettivo

Dettagli

Role plaing esperienziale: ATTUAZIONE DI UN PROGETTO DI NURSING

Role plaing esperienziale: ATTUAZIONE DI UN PROGETTO DI NURSING Implementazione ed Attuazione di Progetti per il Miglioramento del Servizi Sanitari ANCONA 19 E 20 OTTOBRE 2012 Role plaing esperienziale: ATTUAZIONE DI UN PROGETTO DI NURSING Consiste nel destrutturare

Dettagli

Il database management system Access

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

Dettagli

Appendice III. Competenza e definizione della competenza

Appendice III. Competenza e definizione della competenza Appendice III. Competenza e definizione della competenza Competenze degli psicologi Lo scopo complessivo dell esercizio della professione di psicologo è di sviluppare e applicare i principi, le conoscenze,

Dettagli

Il calendario di Windows Vista

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

Dettagli

LO SVILUPPO DELLE COMPETENZE PER UNA FORZA VENDITA VINCENTE

LO SVILUPPO DELLE COMPETENZE PER UNA FORZA VENDITA VINCENTE LO SVILUPPO DELLE COMPETENZE PER UNA FORZA VENDITA VINCENTE Non c è mai una seconda occasione per dare una prima impressione 1. Lo scenario Oggi mantenere le proprie posizioni o aumentare le quote di mercato

Dettagli

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

Ciclo di vita del software

Ciclo di vita del software Ciclo di vita del software Nel corso degli anni, nel passaggio dalla visione artigianale alla visione industriale del software, si è compreso che il processo andava formalizzato attraverso: un insieme

Dettagli

IV. TEMPI E RISORSE: STRUMENTI DI PIANIFICAZIONE E CONTROLLO

IV. TEMPI E RISORSE: STRUMENTI DI PIANIFICAZIONE E CONTROLLO IV. TEMPI E RISORSE: STRUMENTI DI PIANIFICAZIONE E CONTROLLO Dopo aver affrontato la prima stesura del POP, si deve passare piano al vaglio del committente per avere il via definitivo. Se OK Si procede

Dettagli

IL PROJECT MANAGEMENT

IL PROJECT MANAGEMENT IL PROJECT MANAGEMENT Scopi e campi di applicazione La pianificazione del progetto Le tecniche di pianificazione del progetto Le tecniche di pianificazione dei tempi La gestione e il controllo del progetto

Dettagli

Norme per l organizzazione - ISO serie 9000

Norme per l organizzazione - ISO serie 9000 Norme per l organizzazione - ISO serie 9000 Le norme cosiddette organizzative definiscono le caratteristiche ed i requisiti che sono stati definiti come necessari e qualificanti per le organizzazioni al

Dettagli

Dispensa di database Access

Dispensa di database Access Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di

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

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

RICERCA-AZIONE. l insegnamento riflessivo. Caterina Bortolani-2009

RICERCA-AZIONE. l insegnamento riflessivo. Caterina Bortolani-2009 RICERCA-AZIONE ovvero l insegnamento riflessivo Gli insegnanti sono progettisti.. riflettono sul contesto nel quale devono lavorare sugli obiettivi che vogliono raggiungere decidono quali contenuti trattare

Dettagli

I WEBQUEST SCIENZE DELLA FORMAZIONE PRIMARIA UNIVERSITÀ DEGLI STUDI DI PALERMO. Palermo 9 novembre 2011

I WEBQUEST SCIENZE DELLA FORMAZIONE PRIMARIA UNIVERSITÀ DEGLI STUDI DI PALERMO. Palermo 9 novembre 2011 I WEBQUEST SCIENZE DELLA FORMAZIONE PRIMARIA Palermo 9 novembre 2011 UNIVERSITÀ DEGLI STUDI DI PALERMO Webquest Attività di indagine guidata sul Web, che richiede la partecipazione attiva degli studenti,

Dettagli