Il Processo Software



Похожие документы
Il Processo Software

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

Ingegneria del Software

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

Una fugace occhiata al Test Driven Development

Ciclo di vita del progetto

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

Concetti di base di ingegneria del software

Scrum. Caratteristiche, Punti di forza, Limiti. versione del tutorial: Pag. 1

PIANIFICAZIONE DI PROGETTO DI SISTEMI INFORMATIVI

INGEGNERIA DEL SOFTWARE. Prof. Paolo Salvaneschi

RUP (Rational Unified Process)

Ciclo di vita del software

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

Sviluppo Agile. Prof. Filippo Lanubile. Processo software

13. Ciclo di Vita e Processi di Sviluppo

ADEGUATEZZA O ADEGUAMENTO DEL SOFTWARE PRÊT-À-PORTER ALLE ESIGENZE DEGLI UTENTI PROF. FABIO A. SCHREIBER POLITECNICO DI MILANO

IL PROCESSO DI FABBRICAZIONE (sviluppo nuovo prodotto)

2. Ciclo di Vita e Processi di Sviluppo

Progettazione dei Sistemi di Produzione

4.1 Che cos è l ideazione

Introduzione all Agile Software Development

Processi di Sviluppo Software Introduzione. Giuseppe Calavaro

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

Rational Unified Process Introduzione

La gestione manageriale dei progetti

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

UML - Unified Modeling Language

Test e collaudo del software Continuous Integration and Testing

Allegato 2 Modello offerta tecnica

ISTITUTO TECNICO ECONOMICO MOSSOTTI

Ciclo di vita dimensionale

Piano di gestione della qualità

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

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

PROJECT MANAGEMENT SERVIZI DI PROJECT MANAGEMENT DI ELEVATA PROFESSIONALITÀ

UML e (R)UP (an overview)

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

Gestione dello sviluppo software Modelli Agili

Introduzione all Ingegneria del Software

Configuration Management

SPECIALISTI IN MARKETING OPERATIVO.

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

Presidenza della Giunta Ufficio Società dell'informazione. ALLEGATO IV Capitolato tecnico

PROCEDURA PR.07/03. Progettazione e sviluppo software STATO DI REVISIONE. Verificato da

11. Evoluzione del Software

ProSky Progettare una facciata continua non è mai stato così semplice.

Manuale di Aggiornamento BOLLETTINO. Rel H4. DATALOG Soluzioni Integrate a 32 Bit

leaders in engineering excellence

Piani integrati per lo sviluppo locale. Progetti di marketing territoriale. Progettazione e start-up di Sistemi Turistici Locali

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

Organizzazione e pianificazione delle attività di marketing

Il piano di miglioramento: agire sui processi per migliorare i risultati. Contesto Risorse Processi Risultati

Coordinamento e comunicazione

Riepilogo delle modifiche di PA-DSS dalla versione 2.0 alla 3.0

Progettazione dei Sistemi Produttivi. Sergio Terzi

SISTEMA INFORMATIVO INPDAP SERVIZI E PROGETTI PER L'INTEGRAZIONE DEL SISTEMA STANDARD DI PRODOTTO PIANO DI QUALITA' DI PROGETTO

Progettaz. e sviluppo Data Base

La Metodologia adottata nel Corso

3DE Modeling Professional

12. Evoluzione del Software

I modelli normativi. I modelli per l eccellenza. I modelli di gestione per la qualità. ! I modelli normativi. ! I modelli per l eccellenza

Proposta di implementaziome del sistema qualità in cardiologia. Dott. A. Gandolfo

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

Role plaing esperienziale: ATTUAZIONE DI UN PROGETTO DI NURSING

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

REFERENZIAZIONI 2001) NUP

Fondamenti di strategia competitiva ed analisi dei settori industriali

5.1.1 Politica per la sicurezza delle informazioni

Gestione Turni. Introduzione

Nuovo Order Manager per il software NobelProcera

Norme per l organizzazione - ISO serie 9000

Il modello veneto di Bilancio Sociale Avis

rilascio del Prototipo Gestione SAL cantieri e subappalti. 3 mesi 4-8 mesi 20gg 90% Controllo di Gestione Avanzato del 2 mesi 6-10 mesi 15gg 90%

COME VIENE REALIZZATO UN SERVIZIO DI RIORGANIZZAZIONE DEI SISTEMI INFORMATIVI AZIENDALI?

A cura di Giorgio Sordelli

Il modello di ottimizzazione SAM

MODELLO PER LO SVILUPPO DEL PRODOTTO

A3_4 V2.2 Analisi dei Requisiti e Specifica Relazioni con le altre fasi

Pianificazione e progettazione

Ciclo di vita del software: strumenti e procedure per migliorarne la sicurezza

Lo Studio di Fattibilità

Appendice III. Competenza e definizione della competenza

IL PROCESSO DI BUDGETING. Dott. Claudio Orsini Studio Cauli, Marmocchi, Orsini & Associati Bologna

ALLEGATO ALLA DELIBERA DI GIUNTA COMUNALE N. 35 DEL 31/03/2001

Il Direttore DISCIPLINARE DEL PROCESSO DI BUDGET 2015

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING

Facoltà di Ingegneria. prof. Sergio Mascheretti

SysAround S.r.l. L'efficacia delle vendite è l elemento centrale per favorire la crescita complessiva dell azienda.

I SISTEMI DI GESTIONE DELLA SALUTE E SICUREZZA SUL LAVORO: OHSAS AV2/07/11 ARTEMIDE.

Транскрипт:

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 Software fasi Specifiche del SW Funzionalità del SW e costrizioni sulle operazioni devono essere definite. Sviluppo del SW Per rispondere alle specifiche, il SW deve essere prodotto. Validazione del SW Il SW deve essere convalidato per essere sicuro che incontro i requisiti del cliente. Evoluzione del SW Il SW deve evoluire per rispondere ai futuri desideri del cliente.

Processo Software caratteristiche Obiettivi del processo L obiettivo del processo di produzione è di soddisfare le aspettative del cliente consegnando prodotti di qualità nei tempi e budget pre-stabiliti. Il processo deve riflettere gli oggettivi dello sviluppo, come costruire un software di alta qualità, trovare gli errori il più rapidamente possibile, and soddisfare budget e vincoli di tempi.

Ciclo di vita del Software Il ciclo di vita del software si riferisce al modo in cui una metodologia di sviluppo o un modello di processo scompongono l'attività di realizzazione di prodotti software in sotto-attività fra loro coordinate, una scomposizione in fasi di attività sequenziali ben definite nel tempo. Attività Controlli prodotto doc report Attività Controlli

Processo Software i modelli Ognuno processo deve essere tagliato per la particolare situazione per laquale viene applicato. Un modello di processo aiuta l equipe di sviluppo a capire meglio attività, risorse e vincoli per la produzione del software. I principali modelli di processi sono i seguenti: Sequenziali Incrementali Evolutivi Formali RAD UP Agili

Modello Build and Fix Applicazione applicazioni semplici contesto comprensibile da sviluppatori Svantaggi cambiamenti non benvenuti

Impossibile visualizzare l'immagine. La memoria del computer potrebbe essere insufficiente per aprire l'immagine oppure l'immagine potrebbe essere danneggiata. Riavviare il computer e aprire di nuovo il file. Se viene visualizzata di nuovo la x rossa, potrebbe essere necessario eliminare l'immagine e inserirla di nuovo. Impossibile visualizzare l'immagine. La memoria del computer potrebbe essere insufficiente per aprire l'immagine oppure l'immagine potrebbe essere danneggiata. Riavviare il computer e aprire di nuovo il file. Se viene visualizzata di nuovo la x rossa, potrebbe essere necessario eliminare l'immagine e inserirla di nuovo. Impossibile visualizzare l'immagine. La memoria del computer potrebbe essere insufficiente per aprire l'immagine oppure l'immagine potrebbe essere danneggiata. Riavviare il computer e aprire di nuovo il file. Se viene visualizzata di nuovo la x rossa, potrebbe essere necessario eliminare l'immagine e inserirla di nuovo. Impossibile visualizzare l'immagine. La memoria del computer potrebbe essere insufficiente per aprire l'immagine oppure l'immagine potrebbe essere danneggiata. Riavviare il computer e aprire di nuovo il file. Se viene visualizzata di nuovo la x rossa, potrebbe essere necessario eliminare l'immagine e inserirla di nuovo. Impossibile visualizzare l'immagine. La memoria del computer potrebbe essere insufficiente per aprire l'immagine oppure l'immagine potrebbe essere danneggiata. Riavviare il computer e aprire di nuovo il file. Se viene visualizzata di nuovo la x rossa, potrebbe essere necessario eliminare l'immagine e inserirla di nuovo. Modello sequenziale (1/3) Waterfall (a cascata) Modello a cascata - sequenziale: Royce 1970 Requisiti e analisi Progettazione Progettazione Sistema e sw Implementazione and collaudo unitario Integrazione and collaudo sistema Mantenimento

Modello sequenziale (2/3) caratteristiche Vantaggi Processo visibile intuitivo Svantaggi fasi devono essere complete (prima il prossimo) spesso è difficile enunciare dalla parte del cliente tutti i requisiti cliente deve essere paziente prodotto poco visibile, OK/NOK solo alla fine attesa dell équipe di sviluppatori cambiamenti non benvenuti.

Modello sequenziale (3/3) alternativa: modello a V I tests sono in relazione con l analisi e la progettazione. Il modello a V rende più esplicito le iterazioni e riproduzione di attività in confronto al modello a cascata.

Modelli evolutivi (1/5) Attività concorrenziali Modello Incrementali Specifiche Versione Initiale descrizione Sviluppo Versioni Intermediarie Modello Iterativo Validazione Versione Finale

Modelli evolutivi (2/5) Produzione di release

Modelli evolutivi (3/5) modello incrementale Produrre più sequenze lineari nel tempo Sviluppo inizia con una parte dei requisiti del software ben capiti release

Modelli evolutivi (4/5) modello iterativo Consegna di un sistema completo ma non finito Cambiamento funzionalità con new release

Modelli evolutivi (5/5) caratteristiche Vantaggi meno persone per lo sviluppo migliore organizzazione delle attività (non disponibilità completa materiale, personale, ) soluzione disponibile training in anticipo correzione problemi in anticipo focalizzazione dell expertise in fasi Svantaggi troppi cambi uccidono la struttura del sistema Poca visibilità del processo iterativo, come misurare i progressi?

Modello prototyping (1/3) caratteristiche Requisiti sconosciuti Nuova tecnologia

Modello prototyping (2/3) generalizzazione

Modello prototyping (3/3) vantaggi/svantaggi Vantaggi rapido aiuta a definire i requisiti fino a loro stabilità pilota nuova tecnologia, prova di funzionalità riducendo costi e rischi diventa il prodotto Svantaggi è il prodotto troppo lente, pesante, complicato

Modello a spirale Boehm 1988 settori fasi Analisi dei rischi per ridurli e controllarli

Modello a spirale caratteristiche Passi identificare i rischi, attribuire una priorità sviluppare prototipi per identificare i rischi iniziando da quello più importante utilizzare qualsiasi modello per implementare ognuno ciclo se un ciclo riguardando un rischio è stato compilato con successo,. valutare il risultato del ciclo e pianificare il ciclo seguente se un rischio non ha potuto essere risolto, finire il progetto immediatamente

Modello RAD (1/2) Modello anni 80 Obiettivo: migliorare la qualità dello sviluppo, riducendo i tempi e facilitando la gestione dei costi. modello iterativo con tempi di sviluppo ridotti costruzione di sistemi come collezioni di componenti utilizzo di applicazioni con metodi 4GL riuso

Modello RAD (2/2) caratteristiche Progetti di grande dimensione dove è richiesto risorse umane in sufficienza. Non funziona su progetti high-tech

Modello trasformazionale (1/2) Balzar 1981 Seria di trasformazioni cambiamenti struttura dati selezione di algoritmi ottimizzazione compilazione Necessità specifiche formali

Vantaggi Test rigorosi Modello trasformazionale (2/2) caratteristiche Svantaggi necessita esperti

Modello UP (1/2) Proposto nel 1999 da Grady Booch Ivar Jacobson James Roumbauch Iterativo incrementale

Modello UP (2/4) caratteristiche Guidato dei casi d uso e dall analisi dei rischi

Modello UP (3/5) caratteristiche Incentrato sull architettura

Modello UP (4/5) Fasi

Modello UP (5/5) Fasi Avvio Fattibilità, analisi dei rischi, requisiti essenziali per definire il contesto del sistema, eventuale prototipo (20% casi d uso definiti) Elaborazione Analisi dei requisiti, analisi dei rischi, sviluppo di un architettura di base, piano per la fase di costruzione (80% casi d uso definiti) Costruzione Analisi, disegno, implementazione, verifica Transizione Beta testing, aggiustamento delle prestazioni, creazione di documentazione aggiuntiva, attività di formazione, guide utenti, creazione di un kit per la vendita

Metodi Agile CHAOS Report, Standish Group: 66% of projects failed or are challenged in 2002 Large projects are failing more often than small projects Only 52% of features make it into product

Metodi Agile Menifesto Agile www.agilemanifesto.org Feb. 2001 Agile Alliance

Metodi Agile Manifesto (2001) Stiamo portando alla luce metodi migliori di sviluppare software facendolo in prima persona e aiutando altri a farlo. Attraverso questo tipo di lavoro siamo giunti ai seguenti valori: Persone e interazioni più che processi e tools Software che funziona più che una documentazione esaustiva Collaborazione con il cliente più che negoziazione contrattuale Rispondere al cambiamento più che seguire un piano prestabilito. Cioé, mentre c è un valore nelle voci sulla destra, attribuiamo un valore maggiore a quelle sulla sinistra. Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas. Pratiche e Valori (corraggio, simplicità, communicazione, feedback)

Metodi Agile 4 valori per 12 principi generali

Metodi Agile caratteristiche sviluppo evolutivo con iterazioni corte gestione di progetto adattativo più che predittivo consegna incrementale agility: rapido e risponsa flexibile ai cambiamneti I metodi Agile encoraggiono: semplicita comunicazione auto-organizzazione dell équipe

Metodi Agile caratteristiche I metodi Agile cercano a: soddifare clienti con versioni frequenti accolgliere i cambiamneti

Modello XP Esempio di processo Agile (Scrum, Feauture Driven Development (o FDD), dx (processo minimale di RUP) e Crystal)

Metodi Agile caratteristiche

Metodi Agile i modelli Agile Modeling Agile Unified Process (AUP) Dynamic Systems Development Method (DSDM) Essential Unified Process (EssUP) Exia Process (ExP) Extreme Programming (XP) Feature Driven Development (FDD) Open Unified Process (OpenUP) Scrum Crystal Clear Velocity tracking Kanban (development) GSD

Modello XP Origine Kent Beck 1996 Progetto vetrina delle risorse umane della Chrystler Principi Spingere all estrema, le buone pratiche dell ingegneria del software 4 valori di base 12 pratiche Segue il manifesto Agile

Modello XP i 4 valori Comunicazione Semplicità Feedback Coraggio

Pratiche originarie di XP Modello XP Corrispondenti nel nuovo XP storie ciclo settimanale pianificazione ciclo trimestrale margine di sicurezza ciclo settimanale ciclo trimestrale rilasci piccoli rilasci incrementali rilasci giornalieri progettazione semplice progetto incrementale testing programmazione guidata dai test refactoring progetto incrementale pair programming pair programming proprietà collettiva del codice codice condiviso build di 10 minuti integrazione continua integrazione continua rilasci giornalieri 40 ore alla settimana energia sul lavoro cliente sul posto coinvolgimento reale del cliente Standard di codifica // Metafora //

Modello XP

Modello XP Applicazione Nessuna sub-appalto Non-critico Progtto non complesso Situazione emergenza Soddisfazione cliente immediata Rischio / costo minimale Supportare imprevisti Qualità Coerenza limitata (non gestione di configurazione) Nessuna certificazione Agile

Caratteristiche Processi Caratteristiche Comprensibile Descrizione esplicite e facile a capire la definizione del processo? Visibile Sopportabile attività del processo danno dei risultati chiari facendo vedere esternamente i progressi del processo? fino quel punto il processo può essere supportato da strumenti CASE? Accettabile Affidabile Robusto Rapido accettabile degli ingeneri per produrre il SW? processo designato in modo di evitare gli errori o può essere ricuperato prima di risultare in errori? può il processo evoluire? quanto rapido é il processo per fornire un sistema completo da specifiche date?

Riferimenti Libri Principi di Ingegneria del software, Pressman Software ingegneering, Theory and Practice (cap. 2) S.L.PFleeger -International Edition Ingegneria del software, creatività e metodo (cap. 8) Addison Wesley