LABORATORIO DI INFORMATICA Ingegneria Informatica a. a

Slides:



Advertisements
Presentazioni simili
La progettazione secondo la norma internazionale ISO 9001
Advertisements

I contenuti di questa presentazione sono stati realizzati a cura di M
Specifiche Algebriche
Processo software il processo.
Processo software il processo.
Prof.ssa Annalisa Tunisini - a.a. 2007/2008
1 14. Verifica e Validazione Come assicurarsi che il software corrisponda alle necessità dellutente? Introdurremo i concetti di verifica e validazione.
Gestione della Qualità
JavaScript Laboratorio di Applicazioni Informatiche II mod. A.
Il ciclo di vita della progettazione di un sistema informativo
Identificazione delle attività
Capitolo 13 Le decisioni di lancio di nuovi prodotti
Corso di Informatica (Programmazione)
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Testing e Debugging.
Corso di Informatica per Giurisprudenza Lezione 5
Il processo di sviluppo
Ciclo di vita del software
Progettazione di una base di dati
Metodologia sviluppo KBS Fabio Sartori 12 ottobre 2005.
La progettazione di un sistema informatico
Implementare un modello di dati
INTEGRAZIONE, RILASCIO
L’ingegneria del software
Il processo di sviluppo del Sw: strategia make
Lo sviluppo del progetto informatico
Lezione 6 Strutture di controllo Il condizionale
Realizzazione di una wiki orientata ai servizi
Fasi di progetto di SI Impostazione strategica e di disegno concettuale Implementazione Utilizzo e monitoraggio.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 1 - Cicli di vita Ernesto Damiani Università degli Studi di Milano.
Analisi dei Requisiti (Requirements Engineering) Seminario RE Università degli Studi di Padova, 12 Gennaio 2004.
Lo standard internazionale per
Ingegneria dei Requisiti - e dei Sistemi - Giuseppe Berio DI-Unito 2007.
Scelta di un modello di processo: esempio
Commenti alle Attività Generiche. Attività Generiche (Pressman) Principali: Comunicazioni; Pianificazione; Modellazione; Costruzione, Dispiegamento Collaterali:
Commenti all’esempio del treno Nell’esempio del treno si è iniziato dalle attività generiche che tipicamente servono per portare a termine i compiti iniziali.
Commenti all’esempio del treno Nell’esempio del treno si è iniziato dalle attività generiche e/o attività operative che tipicamente costituiscono i passi.
Typical steps in project planning and scheduling To identify the tasks and their durations To evaluate consistency of the task net To evaluate the critical.
Che cos’è un progetto? È un’impresa: -complessa -unica
MODELLI DI PROCESSO DI PRODUZIONE SOFTWARE
Gli Algoritmi L’algoritmo è un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si.
Che cos’è un progetto? È un’impresa: -complessa -unica
Sistemi e Tecnologie Informatiche Verifica di correttezza di un programma.
Commenti all’esempio del treno Nell’esempio del treno si è iniziato dalle attività generiche e/o attività operative che tipicamente costituiscono i passi.
Analisi dei requisiti Il primo passo di “qualsiasi” processo di sviluppo è la definizione dei requisiti  Definizione del Business Model  Solitamente.
LINGUAGGI DI PROGRAMMAZIONE Per comunicare comandi e dati ad un computer occorre un particolare linguaggio detto LINGUAGGIO MACCHINA, che è un insieme.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 6 - Gestione della configurazione software Ernesto Damiani Università.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 1 -Cicli di vita Ernesto Damiani Università degli Studi di Milano Lezione.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 5 – Test e verifica Ernesto Damiani Università degli Studi di Milano.
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Human-Computer Interaction - A.A. 2002/03 Un po' di background sui processi agili Fabio Vitali.
“INCONSAPEVOLI” ESPERIENZE DI Extreme Programming Genova, 29 Ottobre 2002.
Extreme Programming Genova, 29 Ottobre /06/20152 Cosa è XP? È una delle metodologie cosiddette agili per lo sviluppo di software. Le metodologie.
Master MATITCiclo di vita del Sistema Informativo1 CICLO DI VITA DEL SISTEMA INFORMATIVO.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 1 -Cicli di vita Ernesto Damiani Università degli Studi di Milano Lezione.
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
Specifiche Algebriche Introduzione Versione 1.0 Gianna Reggio
Modelli di Produzione del SW: dal Ciclo a Cascata all’Open Source Paolo Ciancarini Dip. Scienze dell’Informazione Università di Bologna.
Ingegneria del software Modulo 4 -Processi software Unità didattica 2 – eXtreme Programming Ernesto Damiani Università degli Studi di Milano Lezione 1.
Progettazione di basi di dati: metodologie e modelli
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 1 -Cicli di vita Ernesto Damiani Università degli Studi di Milano.
Ingegneria del software Modulo 4 -Processi software Unità didattica 1 - Rational Unified Process Ernesto Damiani Università degli Studi di Milano Lezione.
Fasi di sviluppo di un software
Il sistema aziendale Un sistema è un insieme di elementi interrelati tra di loro e orientati al raggiungimento di un fine. Un sistema, a sua volta, è composto.
DIT Department of Information and Communication Technology Information System Ingegneria del Software: un caso di studio.
UML Unified Modelling Language Linguaggio per la modellazione unificato.
Dal problema al programma – ciclo di sviluppo del software La scrittura del programma è solo una delle fasi del processo di sviluppo di un'applicazione.
”OSSERVAZIONE”: l’esplorazione del processo. ELENCO DELLE PERSONE CHE HANNO COLLABORATO ALLA RICOSTRUZIONE DEL PROCESSO REALE CSCCACCCDCAV&VPE LEADER.
ALGORITMI, LINGUAGGI E PROGRAMMI Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Gestione progetti: Agile e Tradizionale Traditional Project Management Agile Project Management.
Transcript della presentazione:

LABORATORIO DI INFORMATICA Ingegneria Informatica a. a LABORATORIO DI INFORMATICA Ingegneria Informatica a.a. 2002-2003 -2° Ciclo Il Ciclo di Vita del Prodotto Software

Il Ciclo di Vita del Prodotto Software Per ciclo di vita del prodotto software s’intende l’insieme delle attività e la loro organizzazione che, a partire dai requisiti del cliente, portano alla realizzazione di un prodotto software in grado di soddisfare i requisiti stessi. Le principali attività che compongono il ciclo di vita di un prodotto software sono elencate nel seguito.

Il Ciclo di Vita del Prodotto Software Gestione dei Requisiti Software (Software Requirements Management) Consiste nell’acquisizione dei requisiti del cliente e nella loro analisi orientata alla produzione di un modello che li descriva in modo più appropriato al loro utilizzo nelle successive attività del ciclo di vita. Progettazione del Software (Software Design) Consiste nella costruzione di uno o più modelli che propongono una soluzione alla realizzazione del prodotto software che soddisfa i requisiti (ad esempio il diagramma delle classi che comporranno il prodotto software).

Il Ciclo di Vita del Prodotto Software Implementazione del software (Software Implementation) Consiste nelle attività di codifica e test di tutti i componenti (ad esempio le classi) che costituiscono il prodotto software descritto con i modelli del relativo progetto. Test del Software (Software Testing) Consiste nella verifica che il codice costituito da tutti i componenti prodotti, opportunamente integrati tra loro, rispetta tutti i requisiti richiesti dal cliente.

Il Ciclo di Vita del Prodotto Software Accettazione e Rilascio (Acceptance and Release) Consiste nel far constatare al cliente che il software prodotto soddisfa tutti i suoi requisiti e nella consegna formale del prodotto al cliente. Manutenzione del Software (Software Maintenance) Consiste nelle attività di correzione dei problemi che si verificano durante l’utilizzo del prodotto software o nelle attività di incorporazione nel prodotto software di eventuali varianti.

Il Ciclo di Vita del Prodotto Software Nel caso di un prodotto software che deve essere integrato in un sistema ci sono altre attività che precedono e seguono le attività che competono strettamente al ciclo di vita del prodotto software, ma che comunque richiedono la partecipazione dei progettisti software. Le attività che precedono sono: La definizione dei requisiti del sistema (System Requirements Definition) Il progetto del sistema (System Design) L’attività che segue è invece: Il test del sistema (System Testing)

Il Ciclo di Vita del Prodotto Software E’ importante notare che nel corso dell’attività di “progetto del sistema” viene fatta la distinzione tra quale parte dei requisiti globali di sistema saranno soddisfatti dall’hardware e quali dal software. Questa attività, detta di “allocazione dei requisiti al software”, deve essere necessariamente partecipata dai progettisti software. Le attività del ciclo di vita del prodotto software si possono comporre in vari modi, dando vita a vari modelli di ciclo vita, con differenti caratteristiche. I modelli base di ciclo di vita sono elencati nel seguito.

Il Ciclo di Vita del Prodotto Software Modello Sequenziale E’ costituito da un insieme sequenziale di fasi, ciascuna relativa ad una delle attività del ciclo di vita, dove ciascuna fase si completa prima che parta la successiva. Ciascuna fase produce output che, una volta verificati, costituiscono l’input per la fase successiva. Per evitare che errori, cambiamenti o aggiunte portino a feed back a fasi precedenti con conseguenti necessità di rilavorazioni, il passaggio da una fase alla successiva deve essere convalidato da un’accurata verifica.

Il Ciclo di Vita del Prodotto Software Ciclo di Vita Sequenziale System Requirements Definition System Design Attività specifiche del ciclo di vita software Software Requirements Management Software Design Software Implementation Software Testing Software Acceptance and Release System Testing Software Maintenance

Il Ciclo di Vita del Prodotto Software Modello Sequenziale Il modello Sequenziale viene anche detto modello tradizionale, modello a cascata o modello a V. Questo modello è raccomandato solo se la stabilità dei requisiti è altissima.

Il Ciclo di Vita del Prodotto Software Modello Incrementale Questo modello è basato sul modello sequenziale, solo che il prodotto software si forma con una serie di costrutti (build) incrementali, ciascuno basato su un insieme stabile di requisiti. Ciascun incremento incorpora ulteriori requisiti accrescendo le capacità del software in progettazione, fino al completamento del sistema. Una importante variante di questo modello è quella in cui con la prima iterazione si genera lo scheletro generale di tutto il prodotto in modo da produrre una piattaforma stabile per la successiva aggiunta di altre funzionalità.

Il Ciclo di Vita del Prodotto Software Ciclo di Vita Incrementale System Requirements Definition System Design Attività specifiche del ciclo di vita software Incremento 1 Incremento 2 Software Requirements Management Software Design Software Implementation Software Testing Software Acceptance and Release System Testing Software Maintenance

Il Ciclo di Vita del Prodotto Software Modello Incrementale Il modello Incrementale viene anche detto modello a Miglioramento di Prodotto Prepianificato, modello Iterativo, modello a W Il Modello Incrementale è raccomandato nei seguenti casi: Il cliente collabora poco ed è poco esperto Il progetto è a medio o lungo termine (da più di 3 anni in poi) Il team di progetto è grande o molto grande (composto da più di 10 persone) I requisiti sono mediamente instabili Il sistema è uno sviluppo nuovo in un’area sconosciuta.

Il Ciclo di Vita del Prodotto Software Modello Evolutivo Anche questo modello sviluppa il prodotto con una serie di build, ma con requisiti instabili, mal definiti o incompleti. Perciò ciascuna iterazione lungo il ciclo di vita implementa parzialmente, e quindi raffina, i requisiti, fino a che il prodotto non realizzi tutte le funzioni desiderate Questo modello è generalmente associato alla tecnica della prototipizzazione.

Il Ciclo di Vita del Prodotto Software Ciclo di Vita Evolutivo Attività specifiche del ciclo di vita software Software Requirements Management Software Design Iterazione 1 Software Implementation System Requirements Definition Software Testing Software Requirements Management Software Design Software Acceptance and Release System Testing System Design Iterazione 2 Software Implementation Software Testing Software Acceptance and Release Software Maintenance

Il Ciclo di Vita del Prodotto Software Modello Evolutivo Il modello Incrementale viene anche detto modello a Spirale o modello Rational. Il Modello Incrementale è raccomandato nei seguenti casi: Il cliente è un consorzio o una impresa multinazionale e gli sviluppi sono soggetti al suo consenso Il progetto è a medio o lungo termine (da più di 3 anni in poi) Il team di progetto è grande o molto grande (composto da più di 10 persone) I requisiti sono molto instabili Il sistema è uno sviluppo nuovo in un’area sconosciuta

Il Ciclo di Vita del Prodotto Software Modelli Atipici I modelli di ciclo di vita del prodotto software finora riportati sono modelli tipici. Il ciclo di vita più adatto ad uno sviluppo può essere però anche una combinazione di modelli tipici, o essere completamente atipico. Modelli atipici si possono avere i corrispondenza di: Sviluppi per manutenzioni Sviluppi con consistenti sub forniture Sviluppi di applicazioni in collaborazione con il cliente