Introduzione all Ingegneria del Software

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Introduzione all Ingegneria del Software"

Transcript

1 Introduzione all Ingegneria del Software Alessandro Martinelli 10 Dicembre 2013 Introduzione all Ingegneria del Software Ingegneria del Software Modelli di Sviluppo del Software Waterfall Model Modelli a Spirale Sviluppo Incrementale ed Iterativo Agile Software Development ed Extreme Programming Il Rilascio del Software e le Versioni Fondamenti di Informatica II

2 Ingegneria del Software Due parole : Software e Ingegneria Software Linguaggi (C,Java), Paradigmi (Procedurali, ad Oggetti), Metafore di Programmazione Codice di Programmazione Strumenti di Case (Eclipse) Ingegneria Progettazione, Disegno Sviluppo e Produzione Verifica, Collaudo Uso di Strumentazione Tecnica Applicazione di Standard A. Martinelli Modelli di Sviluppo 10/12/ / 29

3 Ingegneria del Software Ingegneria del Software Ingegneria del Software Un insieme di pratiche Ingegneristiche che servono a supportare e a migliorare la realizzazione di un prodotto software. Migliorare? Ridurre i tempi di sviluppo Ridurre gli errori di produzione. Sfruttare soluzioni standard di cui beneficino modularità, riciclabilità, portabilità, usabilità... A. Martinelli Modelli di Sviluppo 10/12/ / 29

4 Alcuni Elementi di Ingegneria del Software Le pratiche dell Ingegneria del Software Tra le pratiche principali dell Ingegneria del Software troviamo: Metriche : forniscono valutazioni oggettive e misurabili del codice. Design Pattern : offrono dei modelli di progettazione utili e riciclabili. Linguaggi di Modellazione : offrono uno strumento per l analisi e la progettazione del Software. Esempio: i Diagrammi delle Classi UML Metodologie e Tool per lo Sviluppo : formalizzano la tecnica di sviluppo del Software, standardizzando lo sviluppo stesso e consentendo un più semplice coordinamento tra gli sviluppatori. Questa lezione è dedicata soprattutto ai modelli di sviluppo sui Modelli di Sviluppo. A. Martinelli Modelli di Sviluppo 10/12/ / 29

5 Alcuni Elementi di Ingegneria del Software Metriche Alcuni esempi di metriche: LoC (Lines of Code) : ne esistono molte varianti Fattore di qualità : Q = LoC N Errori Critica alle Metriche LoC o simili Famose intorno agli anni 80, venivano usate per misurare la produttività degli sviluppatori e sono state estremamente criticate, perché: Poco significative. Favoriscono la ripetizione e la duplicazione di codice. Sfavoriscono interventi volti a migliorare la riusabilità del codice. Perchè: le metriche buone (come la Lack of Cohesion in Methods) sono quelle che l ingegnere usa per valutare la qualità del proprio operato, non quelle usate dai dirigenti per valutare la produttività degli ingegneri. A. Martinelli Modelli di Sviluppo 10/12/ / 29

6 Modelli di Sviluppo del Software Modelli di Sviluppo del Software Per agevolare l organizzazione ed il flusso di lavoro di grandi progetti è necessario definire un Modello di Sviluppo attraverso il quale vengono pianificate ed organizzate le attività di Sviluppo. La scelta del Modello di Sviluppo è vincolata: Dalle persone coinvolte Dai requisiti temporali (i.e. Pagamento alla consegna) Dalla dimensione del progetto Dalla tipologia di Progetto Dal periodo storico in cui il progetto è iniziato Sulle Metodologie di Sviluppo Il tema della Metodologia di Sviluppo è un tema molto caldo al giorno d oggi. Le Metodologie moderne sono talvolta complesse. C è una forte entropia sull argomento, perchè gli interessati si informano unicamente sul web. C è una diffusa ingenuità ed ignoranza sull argomento. A. Martinelli Modelli di Sviluppo 10/12/ / 29

7 Modelli di Sviluppo del Software Le Fasi dello Sviluppo Ogni Modello di Sviluppo ha come obiettivo quello di pianificare lo Sviluppo in fasi ben determinate Ogni fase avrà obiettivi specifici e farà uso di strumenti differenti. Il coordinamento delle fasi deve consentire di raggiungere l obiettivo finale che è la realizzazione di un progetto. Fasi tipiche dello sviluppo : Definizione dei Requisiti Analisi Codifica Validazione (Testing/Debugging) Rilascio A. Martinelli Modelli di Sviluppo 10/12/ / 29

8 Il Modello a Cascata Il Waterfall Model (Modello a Cascata) Il Modello a Cascata definisce un elenco di attività che devono essere svolte in sequenza. Il concetto di Modello a Cascata può essere applicato a differenti tipologie di Cascate. Il modello originale prevedeva questi passi: Definizione delle Specifiche Progettazione Implementazione Integrazione (con i dispositivi e gli altri sistemi con cui il progetto si deve integrare) Validazione: Testing(per verificare l esistenza di errori) e Debugging (per rimuove gli errori). Installazione. Manutenzione. A. Martinelli Modelli di Sviluppo 10/12/ / 29

9 Il Modello a Cascata Il Waterfall Model (Modello a Cascata) Specifiche Progetto Implementazione Verifica Manutenzione A. Martinelli Modelli di Sviluppo 10/12/ / 29

10 Il Modello a Cascata Il Waterfall Model : Difetti La fase di definizione delle Specifiche è Definita una volta per tutte. Questo rende impossibile rivedere le specifiche qualora durante lo sviluppo si presentassero delle complicazioni. La fase di progettazione avviene prima di tutto lo sviluppo; anche in questo caso è impossibile tornare sui propri passi qualora le cose non andassero come si deve La fase di Manutenzione è particolarmente critica. Il progetto è chiuso. Qualsiasi esigenza aggiuntiva diventa difficile da soddisfare in un secondo momento. A. Martinelli Modelli di Sviluppo 10/12/ / 29

11 Il Modello a Spirale Le critiche al Modello a Cascata suggeriscono un l uso di un Modello che consenta di tornare sui propri passi. Il Modello a Spirale complica quello a cascata con le seguenti considerazioni: Definito l elenco di specifiche e di funzionalità di un prodotto, gli sviluppatori selezionano alcuni obiettivi iniziali. Il processo di sviluppo, che qui è detto ciclo, prevede questi step: Definizione Specifiche Valutazione dei rischi legati allo sviluppo Implementazione Validazione (Testing-Debugging) Terminato il processo di Validazione, vengono considerati nuovi obiettivi e nuovi requisiti e si ricomincia da capo. Il Modello è a Spirale perchè ad ogni ciclo di sviluppo si produce una nuova versione del progetto, di dimensione crescente. Soprattutto nella fase iniziale, le versioni sono dette Prototipi, ed il processo di selezione dei requisiti nelle prime fasi viene detto Prototipazione. A. Martinelli Modelli di Sviluppo 10/12/ / 29

12 Il Modello a Spirale 3 4 Implementazione Validazione Rilascio Prototipo 2 Valutazione Rischi Requisiti 1 A. Martinelli Modelli di Sviluppo 10/12/ / 29

13 Il Modello a Spirale Il Modello a Spirale è in genere vantaggioso perchè consente di descrivere un processo un poco per volta. La fase di valutazione dei rischi rende più robusta la gestione del progetto La progettazione a piccoli passi consente di valutare più rapidamente eventuali difficoltà di sviluppo. Lo sviluppo un poco alla volta rende anche più facili le fasi di testing e debugging: E più facile definire test adeguati. E più facile trovare gli errori se si è modificato meno codice. A. Martinelli Modelli di Sviluppo 10/12/ / 29

14 Sviluppo Incrementale ed Iterativo Col Modello a Spirale spesso si introducono il concetto di Sviluppo Incrementale ed Iterativo. Sviluppo Iterativo Quando lo sviluppo segue delle iterazioni, ovvero è ciclico. Sviluppo Incrementale Quando lo sviluppo si basa su specifiche che vengono definite un po alla volta. I clienti/commissionanti od utenti possono giocare un ruolo fondamentale. In tutti i casi l uso dello Sviluppo Incrementale ed Iterativo favorisce lo sviluppo dei Prototipi che possono essere rilasciati al commissionante. Questo consente al commissionante di Rivalutare le specifiche, diventando parte integrande e fondamentale del processo di Sviluppo. A. Martinelli Modelli di Sviluppo 10/12/ / 29

15 Sviluppo Incrementale ed Iterativo Requirements, Testing Analisi, Design Implementation Initial Planning Deployment Evaluation Testing I Rilasci (Deployment) diventano un elemento fondamentale perchè consentono all utente finale di avere una valutazione in corso d opera del lavoro svolto. A. Martinelli Modelli di Sviluppo 10/12/ / 29

16 I Modelli Evolutivi e l Agile Software Development Modelli Evolutivi L Agile Software Development (in italiano si usa l espressione Metodologie Agili) rientra nei cosidetti Modelli Evolutivi, che si fondano sull idea centrale di coinvolgere il cliente o l utente, fornendogli continue nuove versioni in modo che possa essere partecipe nello sviluppo del progetto. L Obiettivo principale dell Agile Software Development è rendere il cliente il più soddisfatto possibile. Inoltre, si cerca di sostituire il modello di ciclo fisso, con qualcosa di più elastico e dinamico. A. Martinelli Modelli di Sviluppo 10/12/ / 29

17 Dal Manifesto dell Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. A. Martinelli Modelli di Sviluppo 10/12/ / 29

18 Dal Manifesto dell Agile Software Development Individuals and interactions Le Persone e le loro relazioni sono molto più importanti della strumentazione tecnica o degli strumenti che vengono utilizzati per produrre software. Working software E inutile realizzare del software difficile da utilizzare o poco comprensibile da capire e poi fornire tonnellate di documentazione. E molto meglio scrivere codice facile da capire e da usare. Nell Agile Software Development il cliente diventa un elemento partecipe del progetto e le considerazioni di cui sopra lo coinvolgono. Customer collaboration La partecipazione del cliente o del committente al progetto, aumenta la probabilità che sia soddisfatto del lavoro che viene svolto. La partecipazione avviene effettuando continui rilasci e dando quindi la possibilità al cliente di vedere il proprio progetto crescere. A. Martinelli Modelli di Sviluppo 10/12/ / 29

19 Responding to change (Operare per il cambiamento) Cambiamento Tutti i sistemi cambiano e si evolvono nel tempo. I Clienti partecipano e contribuiscono con nuove idee, o propongono nuove caratteristiche. I cambiamenti in corso d opera rendono la manutenzione del Software difficile. Come deve avvenire la Progettazione per tenere conto del Cambiamento? A. Martinelli Modelli di Sviluppo 10/12/ / 29

20 Responding to change : Progettazione Agile La Progettazione Agile non avviene in un momento ben definito. Avviene continuamente, tutte le volte che nel codice si verifica uno dei seguenti problemi. Cambiamento Rigidità: il sistema è difficile da cambiare Fragilità: le modifiche causano malfunzionamenti Immobilità: i sorgenti sono difficili da riutilizzare Viscosità: i cambiamenti compatibili con l architettura sono difficili da realizzare Complessità inutile: il sistema è più complicato del necessario Ripetizioni inutili: i sorgenti contengono codice simile Opacità: la funzione dei moduli non è facilmente comprensibile Nello Sviluppo Agile non si fa mai progettazione, ma si fa piuttosto Riprogettazione (Refactoring) A. Martinelli Modelli di Sviluppo 10/12/ / 29

21 Responding to Change : Modularità Fin dall inizio della storia della programmazione si è cercato di definire il concetto di Modularità Modularità Lo studio di metodologie agili ha contribuito a migliorare il concetto di Modularità, soprattutto per quanto riguarda la programmazione ad oggetti Il Refactoring aiuta ad ottenere moduli con una elevata Coesione ed un Basso livello di Accoppiamento, e a definire astrazioni, in modo da rende gli oggetti più riciclabili. E l Agile Software Development che ha introdotto i principi SOLID, oggigiorno considerati principi generali di una buona programmazione ad oggetti. Perché è fondamentale nell Agile Software Development rispondere ai cambiamenti di specifiche: Se i moduli sono coesi, sono tanti e piccoli ed è più facile fare le modifiche solo dove occorre. Se i moduli sono disaccoppiati, le modifiche non si propagheranno nel codice. I principi SOLID aiutano a mantenere alta la Coesione e basso l Accoppiamento. A. Martinelli Modelli di Sviluppo 10/12/ / 29

22 Extreme Programming (XP) (1/4) Formulato da Kent Beck, Ward Cunningham e Ron Jeffries intorno al 1999, Istituisce su una serie di pratiche per lo Sviluppo Agile: Pair Programming Planning Game Test-Driven Development Whole-Team Continuous Integration Refactoring o Design Improvement Small Releases Coding Standards Collective Code Ownership Symple Design System Metaphor Sustainable Pace A. Martinelli Modelli di Sviluppo 10/12/ / 29

23 Extreme Programming (XP) (2/4) Pair Programming Due Programmatori lavorano allo sviluppo del codice. Questa pratica ha lo svantaggio di aumentare i tempi di sviluppo, ma diminuisce la probabilità che durante lo sviluppo vengano fatti errori. Planning Game La Pianificazione non avviene una volta per tutte, ma avviene continuamente e sulla base di interventi anche del cliente, un po come in un gioco dove il cliente fa la prima mossa, il programmatore lo segue e così via fino a progetto realizzato Test-Driven Development I Test vengono realizzati prima ancora di scrivere codice. Questa prassi ha l enorme vantaggio di aiutare a capire come devono essere sviluppate certe cose, oltre a fornire una base stabile per le fasi di debugging. Whole-Team L Utente finale del sistema DEVE contribuire ed essere parte integrante dello sviluppo, la sua opinione conta più di ogni altra idea su come il progetto debba andare avanti. A. Martinelli Modelli di Sviluppo 10/12/ / 29

24 Extreme Programming (XP) (3/4) Continuous Integration I cambiamenti vengono integrati continuamente nel codice, e mai rimandati ad una successiva fase di progettazione. Refactoring La riscrittura del codice che non cambia la funzionalità del programma, è usata perchè rende il codice più snello, generale e quindi più semplice da integrare e riutilizzare nel tempo. Small Releases Continue consegne rendono il cliente e l utente sia più responsabile del lavoro che viene svolto, sia più fiducioso. Coding Standards Il codice dovrebbe sempre seguire delle regole standard definite fin dall inizio del progetto A. Martinelli Modelli di Sviluppo 10/12/ / 29

25 Extreme Programming (XP) (4/4) Collective Code Ownership Tutti sono responsabili di tutto. Il codice è condiviso ed appartiene a tutti. Symple Design Nella progettazione, le soluzioni più semplici dovrebbero essere sempre le migliori System Metaphor Usare delle metafore su come il sistema funziona. Le Metafore possono essere viste come storie (Users Stories) che forniscono informazioni sul sistema, ma che dovrebbero farlo in modo più semplice da capire per tutti. Sustainable Peace Non fare straordinare, non eccedere, fare pause. I programmatori quando sono freschi e riposati fanno meno errori... A. Martinelli Modelli di Sviluppo 10/12/ / 29

26 Un tipico ciclo di sviluppo nell Extreme Programming Stima rilascio Iterazione con l'utente iterazione Acceptance Test ogni giorno Pianifica Rilascio Pianifica Iterazione Test Driven Development continuamente Implementazione Refactoring Integrazione Working Software A. Martinelli Modelli di Sviluppo 10/12/ / 29

27 Il Rilascio del Software Rilascio (Deployment) Con rilascio si intende la generazione di una versione che viene messa a disposizione degli utenti finali. Lo Sviluppo Incrementale ed Iterativo e l Extreme Programming prevedono un meccanismo a rilasci continui che consente l interazione con l Utente Finale L utente finale diventa partecipe allo sviluppo del software Ma chi sono gli utenti? Nei software commerciali o comunque pensati per il grande pubblico, gli sviluppatori con chi dovrebbero andare a parlare? A. Martinelli Modelli di Sviluppo 10/12/ / 29

28 Il Rilascio del Software: le Versioni Il Deployment genera Versioni. Quando l Utente è un commissionante, o comunque una persona fisica Si usa il termine Milestone per indicare un insieme di specifiche ed una data entro cui devono essere raggiunte. Fornitore e commissionante si accordano sulle Milestone valide, e prevedono un rilascio a testimonianza di ogni Milestone. Quando l Utente è un gruppo e non c è una persona fisica a cui rivolgersi Una possibilità è pagare o coinvolgere degli utenti tipo per contribuire allo sviluppo. L avvento di internet ha tuttavia stravolto il modo in cui certi progetti vengono seguiti. I Deployement vengono fatti in rete. Gli utenti possono contribuire attraverso sistemi con chat e dibattiti in rete. A. Martinelli Modelli di Sviluppo 10/12/ / 29

29 Il Rilascio del Software: Tipologie di Rilascio La pratica di rilasciare versioni in rete ha contribuito alla nascita di una terminologia per la classificazione dei rilasci: Pre-Alpha Una versione Pre-Alpha è una versione esemplificativa delle funzionalità che il programma potrebbe avere. Alpha Una versione Alpha è una versione del programma non completa, ma con alcune cose funzionanti Beta Una versione Beta è una versione di Test. Le versioni Beta dovrebbero avere tutte o quasi tutte le funzionalità già implementate. Versione Candidata per il rilascio (talvolta Gamma o Delta) Una Versione che si suppone essere definitiva. E tuttavia noto che questi termini sono spesso usati in modo approssimativo. A. Martinelli Modelli di Sviluppo 10/12/ / 29

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

Introduzione all Ingegneria del Software

Introduzione all Ingegneria del Software Introduzione all Ingegneria del Software Alessandro Martinelli alessandro.martinelli@unipv.it 28 novembre 2014 Introduzione all Ingegneria del Software Ingegneria del Software Modelli di Sviluppo del Software

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

Sviluppo Agile. Prof. Filippo Lanubile. Processo software

Sviluppo Agile. Prof. Filippo Lanubile. Processo software Sviluppo Agile I processi (di sviluppo) del software bisogni nuovi o modificati Processo software Prodotto software nuovo o modificato Un processo software descrive quali sono le attività che concorrono

Dettagli

metodologie metodologia una serie di linee guida per raggiungere certi obiettivi

metodologie metodologia una serie di linee guida per raggiungere certi obiettivi metodologie a.a. 2003-2004 1 metodologia una serie di linee guida per raggiungere certi obiettivi più formalmente: un processo da seguire documenti o altri elaborati da produrre usando linguaggi più o

Dettagli

Agile. mercoledì, 1 luglio 2015, 3:05 p. Prof. Tramontano docente Federico II ingegneria del software. Sviluppo Agile: metaprocesso

Agile. mercoledì, 1 luglio 2015, 3:05 p. Prof. Tramontano docente Federico II ingegneria del software. Sviluppo Agile: metaprocesso Agile mercoledì, 1 luglio 2015, 3:05 p. Prof. Tramontano docente Federico II ingegneria del software Sviluppo Agile: metaprocesso Molti progetti software falliscono Sì parte dagli anni 2000 Millennium

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

Approcci agili per affrontare la sfida della complessità

Approcci agili per affrontare la sfida della complessità Approcci agili per affrontare la sfida della complessità Firenze, 6 marzo 2013 Consiglio Regionale della Toscana Evento organizzato dal Branch Toscana-Umbria del PMI NIC Walter Ginevri, PMP, PgMP, PMI-ACP

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

Insegnamento di Gestione e Organizzazione dei Progetti A.A. 2008/9

Insegnamento di Gestione e Organizzazione dei Progetti A.A. 2008/9 Insegnamento di Gestione e Organizzazione dei Progetti A.A. 2008/9 Lezione 15: P.M.: metodologie di progetto Prof.ssa R. Folgieri email: folgieri@dico.unimi.it folgieri@mtcube.com 1 Modelli di conduzione

Dettagli

2. Ciclo di Vita e Processi di Sviluppo

2. Ciclo di Vita e Processi di Sviluppo 2. Ciclo di Vita e Processi di Sviluppo come posso procedere nello sviluppo? Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 2. Ciclo di Vita e Processi di

Dettagli

13. Ciclo di Vita e Processi di Sviluppo

13. Ciclo di Vita e Processi di Sviluppo 13. Ciclo di Vita e Processi di Sviluppo come posso procedere nello sviluppo? Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 13. Ciclo di Vita e Processi

Dettagli

Corso di Ingegneria del Software. Modelli di produzione del software

Corso di Ingegneria del Software. Modelli di produzione del software Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it 1. Concetti di base Sommario 2. Modelli del ciclo vita del software 2.1 Modello a cascata 2.2 Modelli incrementali

Dettagli

Extreme programming e metodologie agili

Extreme programming e metodologie agili Extreme programming e metodologie agili Università degli Studi di Brescia, 8 Giugno 2007 Ing. Daniele Armanasco daniele@armanasco.it Ing. Emanuele DelBono emanuele@codiceplastico.com Enti organizzatori

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

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

Ingegneria del Software - Il Ciclo Lungo

Ingegneria del Software - Il Ciclo Lungo Ingegneria del Software - Il Ciclo Lungo Alessandro Martinelli alessandro.martinelli@unipv.it 10 Marzo 2014 Il Ciclo Lungo Il Versioning e la Condivisione di Codice Organizzazione dei Pacchetti La Modellazione

Dettagli

Organizzazione della lezione. Extreme Programming (XP) Lezione 19 Extreme Programming e JUnit. JUnit. JUnit. Test-Driven Development

Organizzazione della lezione. Extreme Programming (XP) Lezione 19 Extreme Programming e JUnit. JUnit. JUnit. Test-Driven Development Organizzazione della lezione Lezione 19 Extreme Programming e JUnit Vittorio Scarano Corso di Programmazione Distribuita (2003-2004) Laurea di I livello in Informatica Università degli Studi di Salerno

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

extreme Programming in un curriculum universitario

extreme Programming in un curriculum universitario extreme Programming in un curriculum universitario Lars Bendix Department of Computer Science Lund Institute of Technology Sweden Università di Bologna, 18 giugno, 2002 Extreme Programming On-site customer

Dettagli

Il metodo extreme Programming in sintesi

Il metodo extreme Programming in sintesi extreme Programming Approach Il metodo extreme Programming in sintesi Piergiuliano Bossi Coach Marina Morgagni Engagement Manager Quinary SpA Copyright 2001-2004 Quinary SpA Tutti i diritti sono riservati.

Dettagli

Ingegneria del Software. Processi di Sviluppo

Ingegneria del Software. Processi di Sviluppo Ingegneria del Software Processi di Sviluppo Ingegneria del Software: Tecnologia Stratificata tools metodi processi Focus sulla qualità Ingegneria del Software: Tecnologia Stratificata (2) Qualità Elemento

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

Introduzione. Capitolo 1

Introduzione. Capitolo 1 Capitolo 1 Introduzione Architecture is the set of design decisions that you wish you could get right early in a project, but that you are not necessarily more likely to get them right than any other.

Dettagli

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

Lezione 1 Ingegneria del Software II- Introduzione e Motivazione. Ingegneria del Software 2 Introduzione e Richiami 1

Lezione 1 Ingegneria del Software II- Introduzione e Motivazione. Ingegneria del Software 2 Introduzione e Richiami 1 Lezione 1 Ingegneria del Software II- Introduzione e Motivazione Ingegneria del Software 2 Introduzione e Richiami 1 Riferimenti bibliografici I. Sommerville Ingegneria del Software 8a edizione Cap.1 R.

Dettagli

Indice. Prefazione all edizione italiana

Indice. Prefazione all edizione italiana Indice Prefazione all edizione italiana XV Capitolo 1 Il software e l ingegneria del software 1 1.1 L evoluzione del ruolo del software 3 1.2 Il software 5 1.3 La natura mutevole del software 8 1.4 Il

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

Il software: natura e qualità

Il software: natura e qualità Sommario Il software: natura e qualità Leggere Cap. 2 Ghezzi et al. Natura e peculiarità del software Classificazione delle qualità del software Qualità del prodotto e del processo Qualità interne ed esterne

Dettagli

Sistemi Informativi DERIVAZIONE DEI REQUISITI FUNZIONALI. Obiettivi Specifica dei Requisiti Assembly Lines Esercizi

Sistemi Informativi DERIVAZIONE DEI REQUISITI FUNZIONALI. Obiettivi Specifica dei Requisiti Assembly Lines Esercizi Sistemi Informativi DERIVAZIONE DEI REQUISITI FUNZIONALI Obiettivi Specifica dei Requisiti Assembly Lines Esercizi Obiettivi Nelle lezioni precedenti abbiamo descritto come modellare i requisiti funzionali

Dettagli

Gruppo 4: Gelmi Martina, Morelato Francesca, Parisi Elisa. La mia scuola ha un sito Web

Gruppo 4: Gelmi Martina, Morelato Francesca, Parisi Elisa. La mia scuola ha un sito Web Gruppo 4: Gelmi Martina, Morelato Francesca, Parisi Elisa La mia scuola ha un sito Web Presentazione del corso Contenuti e obiettivi del corso Imparare a lavorare con le metodologie dell ingegneria del

Dettagli

Collaudo e qualità del software Quali test eseguire

Collaudo e qualità del software Quali test eseguire Collaudo e qualità del software Relatore Ercole Colonese Roma, Tipologie di test Temi trattati nel libro Modello a V Livelli di testing Tipi di test Test funzionali Test delle funzionalità Test di gestione

Dettagli

Introduzione all Agile Software Development

Introduzione all Agile Software Development IBM Rational Software Development Conference 5RPDRWWREUH 0LODQR RWWREUH Introduzione all Agile Software Development 0DULDQJHOD2UPH Solution Architect IBM Rational Services PRUPH#LWLEPFRP 2008 IBM Corporation

Dettagli

Ciclo di Vita Evolutivo

Ciclo di Vita Evolutivo Ciclo di Vita Evolutivo Prof.ssa Enrica Gentile a.a. 2011-2012 Modello del ciclo di vita Stabiliti gli obiettivi ed i requisiti Si procede: All analisi del sistema nella sua interezza Alla progettazione

Dettagli

Architetture Applicative

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

Dettagli

Gestione Requisiti. Ingegneria dei Requisiti. Requisito. Tipi di Requisiti e Relativi Documenti. La gestione requisiti consiste in

Gestione Requisiti. Ingegneria dei Requisiti. Requisito. Tipi di Requisiti e Relativi Documenti. La gestione requisiti consiste in Ingegneria dei Requisiti Il processo che stabilisce i servizi che il cliente richiede I requisiti sono la descrizione dei servizi del sistema Funzionalità astratte che il sistema deve fornire Le proprietà

Dettagli

Principi dell ingegneria del software Relazioni fra

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

Dettagli

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

Il sistema di automazione nelle Raffinerie di olio alimentare

Il sistema di automazione nelle Raffinerie di olio alimentare Il sistema di automazione nelle Raffinerie di olio alimentare Bellini Marco Responsabile Tecnico Software B&B Automation srl CHI SIAMO Soluzioni di Automazione a 360 18 Anni di esperienza 25 persone competenti

Dettagli

Sistemi Informativi: Il processo software

Sistemi Informativi: Il processo software Sistemi Informativi: Il processo software 1 La metodologia Agile All inizio c era il programmatore solitario Per fare un po di ordine furono introdotti i processi di costruzione del sw, con strumenti CASE

Dettagli

SCD IS. Processi software. Processi Software. UniPD - 2009 - Ingegneria del Software mod. A 1. Definizioni. Modelli di ciclo di vita

SCD IS. Processi software. Processi Software. UniPD - 2009 - Ingegneria del Software mod. A 1. Definizioni. Modelli di ciclo di vita Processi software Anno accademico 2009/10 Ingegneria del mod. A Tullio Vardanega, tullio.vardanega@math.unipd.it SCD IS Definizioni Ciclo di vita Copre l evoluzione di un prodotto dal concepimento al ritiro

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

Agili, snelli e scattanti!

Agili, snelli e scattanti! Agili, snelli e scattanti! Dipartimento di Scienze Odontostomatologiche 4 Giugno 2013 Emiliano Soldi PMP, PMI-ACP, CSM Agile Practice Leader & Coach http://www.emilianosoldipmp.info @EmilianoSoldi Agile

Dettagli

La creazione del valore. Un approccio agile alla trasformazione dell IT

La creazione del valore. Un approccio agile alla trasformazione dell IT Università degli Studi di Padova Dipartimento di Ingegneria dell Informazione Corso di Laurea in Ingegneria Informatica Relazione finale di tirocinio La creazione del valore. Un approccio agile alla trasformazione

Dettagli

Progetto di Informatica III

Progetto di Informatica III Progetto di Informatica III Sviluppo Agile (Agile Software Development) Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario Metodologia agile Agile Manifesto Che cos è l agilità

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

Cosa significa che il SW è non lineare? Piccoli cambiamenti nel codice portano a grandi cambiamenti di comportamento

Cosa significa che il SW è non lineare? Piccoli cambiamenti nel codice portano a grandi cambiamenti di comportamento Cosa significa che il SW è non lineare? Piccoli cambiamenti nel codice portano a grandi cambiamenti di comportamento Cosa s'intende per Information Hiding? Impedire l'accesso a dettagli implementativi

Dettagli

Processo parte III. Modello Code and fix. Modello a cascata. Modello a cascata (waterfall) Leggere Sez. 7.4 Ghezzi et al.

Processo parte III. Modello Code and fix. Modello a cascata. Modello a cascata (waterfall) Leggere Sez. 7.4 Ghezzi et al. Modello Code and fix Processo parte III Leggere Sez. 7.4 Ghezzi et al. Modello iniziale Iterazione di due passi scrittura del codice correzione degli errori Problemi: dopo una serie di cambiamenti, la

Dettagli

BiblioTech - Personal Digital Library

BiblioTech - Personal Digital Library Albana Gaba Alessandro Pegoraro Mirco Bocedi Fabio Giuseppe Strozzi Gruppo 8 Obiettivo Creare un software efficiente per la catalogazione di documenti digitali in categorie personalizzabili dall utente.

Dettagli

Collaudo e qualità del software Il testing nel ciclo di vita del software

Collaudo e qualità del software Il testing nel ciclo di vita del software Il testing nel ciclo di vita del software Relatore Ercole Colonese Roma, Il test nel ciclo di vita del software Temi trattati nel libro Il test nello sviluppo del software Strategia e pianificazione dei

Dettagli

Il Processo Software

Il Processo Software Il Processo Software 29-03-2012 Prodotto Software Prodotto di qualità Tempi e costi determinati Processo Software Attività portanti Famiglia di compiti Attività ausiliari Quadro di riferimento Processo

Dettagli

I lucidi messi a disposizione sul sito del corso di Analisi e progettazione del software NON sostituiscono il libro di testo

I lucidi messi a disposizione sul sito del corso di Analisi e progettazione del software NON sostituiscono il libro di testo Luca Cabibbo Analisi e Progettazione del Software Sviluppo iterativo, evolutivo e agile Capitolo 2 marzo 2015 Lo sviluppo iterativo dovrebbe essere utilizzato solo per i progetti che si desidera che vadano

Dettagli

PIANIFICAZIONE DI PROGETTO DI SISTEMI INFORMATIVI

PIANIFICAZIONE DI PROGETTO DI SISTEMI INFORMATIVI PIANIFICAZIONE DI PROGETTO DI SISTEMI INFORMATIVI OBIETTIVI 1. Descrivere approcci e attività tipiche per pianificare e impostare il progetto di un S.I. 2. Identificare problemi chiave 3. Illustrare alcuni

Dettagli

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

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

Dettagli

La strada per sviluppare più rapidamente: Unit Test & Continuous Integration

La strada per sviluppare più rapidamente: Unit Test & Continuous Integration La strada per sviluppare più rapidamente: Unit Test & Continuous Integration by Enrico Zimuel Senior Consultant & Architect Zend Technologies Email: enrico.z@zend.com Blog: http://www.zimuel.it/blog Copyright

Dettagli

Sistemi Informativi I Lezioni di Ingegneria del Software

Sistemi Informativi I Lezioni di Ingegneria del Software 1 Introduzione all Ingegneria del Software. In questa prima parte viene definita l Ingegneria del Software o Software Engineering (SWE), vengono presentate le caratteristiche del ciclo di vita di un prodotto

Dettagli

Modelli di Processo. www.vincenzocalabro.it

Modelli di Processo. www.vincenzocalabro.it Modelli di Processo Il Modello del Processo Il modello del processo stabilisce i principi di base su cui si fonda lo sviluppo del software (e a cui è dovuto il successo o l insuccesso) Non esiste un unico

Dettagli

Corso di Laurea Triennale in Ingegneria Informatica. Corso di Ingegneria del software A. A. 2004-2005. Marina Mongiello

Corso di Laurea Triennale in Ingegneria Informatica. Corso di Ingegneria del software A. A. 2004-2005. Marina Mongiello Corso di Laurea Triennale in Ingegneria Informatica Corso di Ingegneria del A. A. 2004-2005 1 La progettazione È applicata indipendentemente dal modello di processo utilizzato. Parte dal punto in cui sono

Dettagli

Software Embedded Integration Testing. Ing. Matteo Maglio Milano, 17 Febbraio 2011

Software Embedded Integration Testing. Ing. Matteo Maglio Milano, 17 Febbraio 2011 Software Embedded Integration Testing Ing. Matteo Maglio Milano, 17 Febbraio 2011 Chi siamo Skytechnology è una società di ingegneria che opera nell area dei sistemi embedded aiutando i propri Clienti

Dettagli

02: Project Management

02: Project Management 02: Project Management Le tre P del project management Persone motivate / esperte SEI PM-CMM (People Management Capability Maturity Model) assunzione / selezione addestramento / cultura di gruppo stipendio

Dettagli

Il modello RAD 1. Rapid Application Development punta a un ciclo di sviluppo molto breve

Il modello RAD 1. Rapid Application Development punta a un ciclo di sviluppo molto breve Il modello RAD 1 Rapid Application Development punta a un ciclo di sviluppo molto breve adattamento del modello a cascata in cui l obiettivo di uno sviluppo rapido è raggiunto grazie a strategie costruttive

Dettagli

Processi per lo sviluppo rapido del software

Processi per lo sviluppo rapido del software Lezione 3 Processi per lo sviluppo rapido del software Sviluppo Rapido del Software Slide 1 Riferimenti bibliografici I. Sommerville Ingegneria del Software 8a edizione Cap.17 R. Pressman- Principi di

Dettagli

Fattori critici di successo

Fattori critici di successo CSF e KPI Fattori critici di successo Critical Success Factor (CSF) Definiscono le azioni o gli elementi più importanti per controllare i processi IT Linee guida orientate alla gestione del processo Devono

Dettagli

Che cos è un prototipo? Prototipazione. Perchè creare prototipi? Insidie. I processi corrono in parallelo

Che cos è un prototipo? Prototipazione. Perchè creare prototipi? Insidie. I processi corrono in parallelo Che cos è un? Prototipazione Un modello approssimato o parziale del sistema che vogliamo sviluppare che simula o esegue alcune funzioni del sistema finale, realizzato allo scopo di valutarne le caratteristiche

Dettagli

Introduzione. Il software e l ingegneria del software. Marina Mongiello Ingegneria del software 1

Introduzione. Il software e l ingegneria del software. Marina Mongiello Ingegneria del software 1 Introduzione Il software e l ingegneria del software Marina Mongiello Ingegneria del software 1 Sommario Il software L ingegneria del software Fasi del ciclo di vita del software Pianificazione di sistema

Dettagli

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

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

Dettagli

La nuova ISO 9001 e le aziende di sviluppo software

La nuova ISO 9001 e le aziende di sviluppo software La nuova ISO 9001 e le aziende di sviluppo software Giovanni A. Cignoni, Dip. di Informatica, Univ. di Pisa Davide Morano, SIAS - Gruppo KataWeb Ottobre 2000 Sommario L impostazione della nuova ISO 9001,

Dettagli

IS Governance. Francesco Clabot Consulenza di processo. francesco.clabot@netcom-srl.it

IS Governance. Francesco Clabot Consulenza di processo. francesco.clabot@netcom-srl.it IS Governance Francesco Clabot Consulenza di processo francesco.clabot@netcom-srl.it 1 Fondamenti di ISO 20000 per la Gestione dei Servizi Informatici - La Norma - 2 Introduzione Che cosa è una norma?

Dettagli

Innovazione di processo e di prodotto in un azienda del settore domotica

Innovazione di processo e di prodotto in un azienda del settore domotica Innovazione di processo e di prodotto in un azienda del settore domotica Marco Catuozzo (Responsabile R&D, sede di Erba) Mauro Sarchi (Project Leader applicazioni multimediali embedded, sede di Erba) Bticino

Dettagli

Il Processo Software

Il Processo Software Il Processo Software 03/04/13 Prodotto Software Prodotto di qualità Tempi e costi determinati Processo Software Attività portanti Famiglia di compiti Attività ausiliari Quadro di riferimento Processo Software

Dettagli

Il processo di sviluppo

Il processo di sviluppo Il processo di sviluppo Processo di sviluppo software = framework all'interno del quale si svolgono le attività necessarie per produrre software di alta qualità. E' il modo in cui viene organizzato e praticato

Dettagli

Ciclo di vita del software: strumenti e procedure per migliorarne la sicurezza. Roberto Ugolini roberto.ugolini@postecom.it

Ciclo di vita del software: strumenti e procedure per migliorarne la sicurezza. Roberto Ugolini roberto.ugolini@postecom.it Ciclo di vita del software: strumenti e procedure per migliorarne la sicurezza Roberto Ugolini 1 Il processo di sviluppo sicuro del codice (1/2) Il processo di sviluppo sicuro del codice () è composto

Dettagli

TECNICO SUPERIORE PER LE APPLICAZIONI INFORMATICHE

TECNICO SUPERIORE PER LE APPLICAZIONI INFORMATICHE ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE SETTORE I.C.T. Information and Communication Technology TECNICO SUPERIORE PER LE APPLICAZIONI INFORMATICHE STANDARD MINIMI DELLE COMPETENZE TECNICO PROFESSIONALI

Dettagli

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

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

Dettagli

Continuous Improvement della Qualità IT

Continuous Improvement della Qualità IT Relatori: Claudio Gaiani, Assioma.net - QA Manager Paolo Baracco, Intesa Sanpaolo IT Architect Continuous Improvement della Qualità IT L esperienza di un grande gruppo bancario Software Testing Forum -

Dettagli

ANALISI E VALUTAZIONE DI TECNICHE DI PROGRAMMAZIONE AGILE PER LO SVILUPPO DI APPLICAZIONI JAVA

ANALISI E VALUTAZIONE DI TECNICHE DI PROGRAMMAZIONE AGILE PER LO SVILUPPO DI APPLICAZIONI JAVA Seconda Università degli Studi di Napoli Tesi di Laurea in Ingegneria Informatica ANALISI E VALUTAZIONE DI TECNICHE DI PROGRAMMAZIONE AGILE PER LO SVILUPPO DI APPLICAZIONI JAVA Relatore Prof. Massimo Ficco

Dettagli

La disciplina che cura un approccio sistematico, disciplinato e quantificabile allo sviluppo, all operatività ed alla manutenzione del software

La disciplina che cura un approccio sistematico, disciplinato e quantificabile allo sviluppo, all operatività ed alla manutenzione del software Ingegneria del software (software engineering) La branca dell'ingegneria che si occupa della realizzazione di sistemi software. La disciplina che cura un approccio sistematico, disciplinato e quantificabile

Dettagli

Introduzione alla Progettazione per Componenti

Introduzione alla Progettazione per Componenti Introduzione alla Progettazione per Componenti Alessandro Martinelli 6 ottobre 2014 Obiettivo del Corso Il Progetto Software Reale Il Componente Software La Programmazione Ad Oggetti Fondamenti di Informatica

Dettagli

Progetto software 2008/2009. Docente Marianna Nicolosi Asmundo

Progetto software 2008/2009. Docente Marianna Nicolosi Asmundo Progetto software 2008/2009 Docente Marianna Nicolosi Asmundo Obiettivi del corso Coinvolgervi nello sviluppo di un progetto software in cui mettere a frutto le conoscenze che avete acquisito durante i

Dettagli

Ingegneria del Software Requisiti e Specifiche

Ingegneria del Software Requisiti e Specifiche Ingegneria del Software Requisiti e Specifiche Obiettivi. Affrontare i primi passi della produzione del software: la definizione dei requisiti ed il progetto architetturale che porta alla definizione delle

Dettagli

Processi per lo sviluppo rapido del software

Processi per lo sviluppo rapido del software Lezione 3 Processi per lo sviluppo rapido del software Sviluppo Rapido del Software Slide 1 Riferimenti bibliografici I. Sommerville Ingegneria del Software 8a edizione Cap.17 R. Pressman- Principi di

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

Principi di Ingegneria del software 5/ed Roger S. Pressman. Glossario

Principi di Ingegneria del software 5/ed Roger S. Pressman. Glossario Principi di Ingegneria del software 5/ed Glossario Affidabilità il grado in cui un programma svolge la propria funzione con la precisione richiesta in un certo intervallo di tempo. Alfa testing testing

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

Università degli studi dell Aquila. Sistemi informativi aziendali 9 C.F.U.

Università degli studi dell Aquila. Sistemi informativi aziendali 9 C.F.U. Università degli studi dell Aquila Sistemi informativi aziendali 9 C.F.U. Ing. Gaetanino Paolone (gaetanino.paolone@univaq.it) Prof. Dr. Luciano Fratocchi (luciano.fratocchi@univaq.it) Contenuti (2 ore)

Dettagli

Lo Studio di Fattibilità

Lo Studio di Fattibilità Lo Studio di Fattibilità Massimo Mecella Dipartimento di Informatica e Sistemistica Università di Roma La Sapienza Definizione Insieme di informazioni considerate necessarie alla decisione sull investimento

Dettagli

Ciclo di vita del software

Ciclo di vita del software Operatore Informatico Giuridico Informatica Giuridica A.A 2003/2004 I Semestre Ciclo di vita del software Lezione 2 prof. Monica Palmirani Hardware e Software - prima definizione Hardware: parte fisica

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

Scope Management. IT Project Management. Lezione 3 Scope Management. Monitoring del progetto (Earned Value) Creazione diagrammi Pert/CPM/Gantt

Scope Management. IT Project Management. Lezione 3 Scope Management. Monitoring del progetto (Earned Value) Creazione diagrammi Pert/CPM/Gantt IT Project Management Lezione 3 Scope Management Federica Spiga A.A. 2009-2010 1 Check list del PM Identificare i requisiti del cliente Monitoring del progetto (Earned Value) Identificare i deliverable

Dettagli

SISTEMI E RETI 4(2) 4(2) 4(2) caratteristiche funzionali

SISTEMI E RETI 4(2) 4(2) 4(2) caratteristiche funzionali CL AS SE INFORMATICA 6(3) 6(4) - 6(4) SISTEMI E RETI 4(2) 4(2) 4(2) TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI COMPETENZE 3 Essere in grado di sviluppare semplici applicazioni

Dettagli

Progetto di Informatica III. Introduzione al corso

Progetto di Informatica III. Introduzione al corso Progetto di Informatica III Introduzione al corso Patrizia Scandurra Università degli Studi di Bergamo a.a. 2008-09 Sommario Contatti Obiettivo Natura Argomenti Organizzazione Materiale didattico Modalità

Dettagli

Laboratorio di Progettazione di Sistemi Software Introduzione

Laboratorio di Progettazione di Sistemi Software Introduzione Laboratorio di Progettazione di Sistemi Software Introduzione Valentina Presutti (A-L) Riccardo Solmi (M-Z) Indice degli argomenti Introduzione all Ingegneria del Software UML Design Patterns Refactoring

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

PIANIFICAZIONE E REALIZZAZIONE DI UN SISTEMA INFORMATIVO 147 6/001.0

PIANIFICAZIONE E REALIZZAZIONE DI UN SISTEMA INFORMATIVO 147 6/001.0 PIANIFICAZIONE E REALIZZAZIONE DI UN SISTEMA INFORMATIVO 147 6/001.0 PIANIFICAZIONE E REALIZZAZIONE DI UN SISTEMA INFORMATIVO ELEMENTI FONDAMENTALI PER LO SVILUPPO DI SISTEMI INFORMATIVI ELABORAZIONE DI

Dettagli

CORSO I.F.T.S. "TECNICHE PER LA PROGETTAZIONE E LA GESTIONE DI DATABASE. Matricola 2014LA0033 DISPENSE DIDATTICHE MODULO DI PROGETTAZIONE SOFTWARE

CORSO I.F.T.S. TECNICHE PER LA PROGETTAZIONE E LA GESTIONE DI DATABASE. Matricola 2014LA0033 DISPENSE DIDATTICHE MODULO DI PROGETTAZIONE SOFTWARE CORSO I.F.T.S. "TECNICHE PER LA PROGETTAZIONE E LA GESTIONE DI DATABASE Matricola 2014LA0033 DISPENSE DIDATTICHE MODULO DI PROGETTAZIONE SOFTWARE Dott. Imad Zaza Lezione del 07/07/2014 Page 1 Prologo Page

Dettagli

Progettaz. e sviluppo Data Base

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

Dettagli

INGEGNERIA DEL SOFTWARE

INGEGNERIA DEL SOFTWARE INGEGNERIA DEL SOFTWARE INTRODUZIONE Avvertenza: gli appunti si basano sul corso di Ingegneria del Software tenuto dal prof. Picco della facoltà di Ingegneria del Politecnico di Milano (che ringrazio per

Dettagli

Ingegneria del Software 2

Ingegneria del Software 2 Politecnico di Milano Anno Accademico 2010/2011 Ingegneria del Software 2 Corso della Prof.ssa Elisabetta Di Nitto Stefano Invernizzi Facoltà di Ingegneria dell Informazione Corso di Laurea Magistrale

Dettagli

Istituti Tecnici - Settore tecnologico Indirizzo Informatica e telecomunicazioni Articolazione Informatica

Istituti Tecnici - Settore tecnologico Indirizzo Informatica e telecomunicazioni Articolazione Informatica Linee guida Secondo ciclo di istruzione Istituti Tecnici - Settore tecnologico Indirizzo Informatica e telecomunicazioni Quadro orario generale 1 biennio 2 biennio 5 anno 1^ 2^ 3^ 4^ 5^ Sistemi e reti**

Dettagli

Il diagramma dei casi d uso

Il diagramma dei casi d uso Il diagramma dei casi d uso Laboratorio di Ingegneria del Software Prof. Paolo Ciancarini Dott. Sara Zuppiroli A.A. 2010/2011 Lab di Ingegneria del Software () Il diagramma dei casi d uso A.A. 2010/2011

Dettagli