Modelli di processo. Marina Zanella - Ingegneria del Software Processo 1
|
|
|
- Nicolina Stefani
- 9 anni fa
- Visualizzazioni
Transcript
1 Modelli di processo Ciclo di vita di un prodotto sw = tutte le fasi che accompagnano tale prodotto dal concepimento dell idea dello stesso fino al suo ritiro Modello di processo = tentativo di organizzare il ciclo di vita del sw definendo le attività coinvolte nella produzione del sw ordinando tali attività e le loro relazioni (stabilendo cioè il flusso di esecuzione) determinare l ordine delle fasi coinvolte nello sviluppo e nell evoluzione del sw e stabilire i criteri di passaggio da una fase alla successiva. Ciò comprende criteri di completamento della fase corrente più criteri di ingresso nella successiva. Quindi un modello di processo affronta le seguenti domande relative a un progetto sw: Che facciamo adesso? Fino a quando continuiamo a farlo? (Boehm, 1988) Marina Zanella - Ingegneria del Software Processo 1
2 Obiettivi di un modello di processo introdurre disciplina standardizzare dominare la complessità migliorare verificabilità, manutenibilità, riusabilità, comprensibilità, produttività, visibilità e tempestività del processo aumentare la capacità di prevedere tempi e costi rendere il processo più facilmente automatizzabile migliorare la qualità dei prodotti Marina Zanella - Ingegneria del Software Processo 2
3 Code&Fix È l approccio più antico, secondo cui si scrive il codice lo si aggiusta per eliminare gli errori che sono stati scoperti, per migliorare le funzionalità esistenti e/o per aggiungere nuove caratteristiche Carenze: impossibile fare previsioni processo ingestibile Marina Zanella - Ingegneria del Software Processo 3
4 Modello a cascata (Royce 1970) Studio di fattibilità Analisi e specifica dei requisiti Progettazione Codifica e test di unità Integrazione e test di sistema Manutenzione Marina Zanella - Ingegneria del Software Processo 4
5 Modello a cascata: fasi Inventato nei tardi anni 50 per grandi sistemi di difesa aerea, divenuto popolare negli anni 70 Fasi: 1) Studio di fattibilità: definizione preliminare del problema, valutazione a priori di costi e benefici; obiettivo: stabilire se lo sviluppo debba essere avviato, evidenziare le risorse disponibili per il progetto, elencare e comparare le alternative 2) Analisi e specifica dei requisiti: analisi completa del problema dell utente e della sua realtà applicativa al fine di specificare le caratteristiche di qualità e i requisiti funzionali dell applicazione (cosa il sistema deve fornire, non come). I risultati di tale analisi (spesso incompleti/inconsistenti/ambigui) devono essere sottoscritti dal committente 3) Progettazione: definizione dell architettura sw Marina Zanella - Ingegneria del Software Processo 5
6 Modello a cascata: fasi (cont.) Fasi: 4) Codifica e test di unità: programmazione (distinzione sfumata rispetto alla progettazione) + test per verificare il soddisfacimento delle specifiche di progetto 5) Integrazione e test di sistema: collaudo dell intero sistema + (opzionalmente) alfa test (rilascio entro l organizzazione del produttore) e beta test (rilascio a pochi utenti selezionati) 6) Manutenzione Marina Zanella - Ingegneria del Software Processo 6
7 Modello a cascata: pro Se si adotta il modello a cascata, è necessario definire con precisione contenuti e struttura dei semilavorati e, in fase di pianificazione, le scadenze entro cui devono essere prodotti e superare i controlli di qualità Pro: Le fasi indirizzano l attività del progettista e consentono il controllo dello svolgimento del progetto Rimanda l implementazione a dopo che gli obiettivi sono stati compresi Marina Zanella - Ingegneria del Software Processo 7
8 e contro Contro: Congela i requisiti Le fasi non sono formalmente definite, né passibili di svolgimento o controllo automatici I ricicli (retroazioni) sono nascosti È difficile raccogliere i requisiti una volta per tutte Una sola data di consegna Non include la gestione dei cambiamenti manutenzione ed evoluzione sono di difficile previsione ed attuazione Stati bloccanti Marina Zanella - Ingegneria del Software Processo 8
9 Modello a cascata: rischi Rischi: Individuare scelte ottimali solo per l applicazione attuale, senza pensare all evoluzione futura dell applicazione Non pianificare l attività di manutenzione ed eseguirla solo sul codice, non sugli altri semilavorati Tutto ciò è miope e si paga a caro prezzo Reingegnerizzazione: riportare sw destrutturato e non documentato in uno stato dal quale si possa ripartire per una manutenzione sistematica Conclusione: se il maggiore rischio è l affidabilità dell applicazione, mentre i requisiti sono estremamente stabili e ben noti, è il modello più ragionevole, con rigorosi controlli per il passaggio da una fase all altra Marina Zanella - Ingegneria del Software Processo 9
10 Modello a V (Ministero della difesa tedesco, 1992) Operation & maintenance Requirements analysis Validate requirements Acceptance testing (condotto dai clienti) System design Program design Verify design System testing Unit & integration testing Coding Marina Zanella - Ingegneria del Software Processo 10
11 Modello a V (cont.) È una variante del modello a cascata che rende esplicita la necessità di effettuare iterazioni Mostra come le attività di testing siano collegate ad analisi dei requisiti e progetto I test di unità e di integrazione, oltre a occuparsi della correttezza dei programmi, possono essere usati per assicurarsi che tutti gli aspetti del progetto del programma siano stati implementati correttamente Il test di accettazione convalida l aderenza ai requisiti associando un passo del test a ciascun elemento della specifica I problemi scoperti sul lato destro della V determinano la riesecuzione di attività sul lato sinistro Marina Zanella - Ingegneria del Software Processo 11
12 Modelli incrementali / iterativi (detti anche evolutivi) Sono una risposta alla necessaria evoluzione del sw, alternativa interessante soprattutto quando i requisiti sono imperfetti o instabili: il sistema evolve man mano che i requisiti vengono progressivamente compresi Sviluppo a stadi: mentre è operativa la release n del sistema, si lavora alla release n+1 S V I L U P P O Costruzione Release 1 Costruzione Release 2 Costruzione Release 3 Tempo U T E N Z A Uso Release 1 Uso Release 2 Uso Release 3 Marina Zanella - Ingegneria del Software Processo 12
13 Modelli incrementali / iterativi (cont.) Lo sviluppo a stadi è supportato da due approcci: sviluppo incrementale sviluppo iterativo Marina Zanella - Ingegneria del Software Processo 13
14 Modelli incrementali / iterativi (cont.) Le funzionalità individuate nell analisi dei requisiti sono allocate a iterazioni diverse; ad ogni release segue la consegna di una nuova versione operativa con qualità e/o funzionalità aumentate Dall incremento corrente si devono trarre indicazioni su come effettuare il successivo attraverso modifiche semplici e affidabili necessità di metodi di progettazione opportuni Uso della prototipazione Prototipo (= modello operativo dell applicazione) Usa e getta (ad es. da mostrare al (potenziale) committente (prototipo dimostrativo) per migliorare la comprensione da parte degli sviluppatori per la convalida dei requisiti da parte di utenti/clienti) Evolutivo (= primo incremento) Conclusione: sono i modelli preferibili quando i rischi maggiori risiedono nell instabilità e incertezza dei requisiti Marina Zanella - Ingegneria del Software Processo 14
15 Ingegneria concorrente Marina Zanella - Ingegneria del Software Processo 15
16 Modello a spirale (Boehm, 1988) Determinazione obiettivi, alternative e vincoli 1 Valutazione alternative, identificazione e risoluzione rischi 2 4 Pianificazione fase successiva 3 Sviluppo e verifica del prossimo livello del prodotto Marina Zanella - Ingegneria del Software Processo 16
17 Modello a spirale (cont.) È un meta-modello dei processi sw Dati gli obiettivi di ciascuna iterazione, se ne valutano in dettaglio i rischi e si decide di conseguenza che alternativa adottare Quattro volute i cui prodotti sono (dalla più interna alla più esterna): concept of operation (descrizione di alto livello di come il sistema dovrebbe funzionare) requisiti progetto codifica e testing In ogni voluta è previsto l uso di prototipi per valutare la fattibilità o desiderabilità di un alternativa Raggio della spirale = costo accumulato nel progetto Marina Zanella - Ingegneria del Software Processo 17
Modelli di Ciclo di Vita del Software (CVS)
Modelli di Ciclo di Vita del Software (CVS) Una morfologia dell organizzazione del lavoro nelle fabbriche del software: fasi della produzione, tipi di attività, collegamento ed interfacciamento, pianificazione,
Ingegneria del Software
Ingegneria del Software Introduzione e Concetti Fondamentali Porfirio Tramontana, 2009 Corso di Ingegneria del Software Slide 1 Riferimenti Ian Sommerville, Ingegneria del Software, Capitolo 1 Porfirio
Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software. Processo software. Marina Mongiello. il processo
Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del Processo Sommario 1. Prodotto e processo 2. Ciclo di vita del 3. Modelli del processo di sviluppo 1. Modelli a processo prescrittivo 2.
3. Ciclo di Vita e Processi di Sviluppo
3. 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) 3. Ciclo di Vita e Processi di
Materiale didattico. Sommario
Diploma Universitario in Ingegneria Informatica Corso di Ingegneria del Software Docente: ing. Anna Rita Fasolino Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II
Gestione dello sviluppo software Modelli Base
Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione GESTIONE DEI SISTEMI ICT Paolo Salvaneschi A4_1 V1.0 Gestione dello sviluppo software Modelli Base Il contenuto
Corso di Ingegneria del Software. Modelli di produzione del software
Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca [email protected] 1. Concetti di base Sommario 2. 2.1 Modello a cascata 2.2 Modelli incrementali 2.3 2.4 Comparazione dei modelli 2.5
Modulo 2. La produzione industriale del software Il ciclo di vita del software I modelli di sviluppo. La industrializzazione del software
Modulo 2 La produzione industriale del software Il ciclo di vita del software I modelli di sviluppo La industrializzazione del software Il software è divenuto un componente essenziale dei prodotti a maggior
Ingegneria del Software
Ingegneria del Software Obiettivi della lezione: Definire cosa si intende per Ingegneria del Software Discutere i concetti di prodotto software e di processo software Spiegare il concetto di visibilità
Ingegneria del Software
Ingegneria del Software Settore dell Informatica che si occupa di sistemi sw - di dimensioni e complessità elevate - realizzati da squadre - disponibili in più versioni - di lunga durata - destinati a
REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA
REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA SETTORE ECONOMICO PROFESSIONALE 1 Servizi di informatica Processo Sviluppo e gestione di prodotti e servizi informatici Sequenza di
7. Realizzazione del prodotto
. Realizzazione del prodotto 7.1 Pianificazione 7.2 Processi relativi al cliente 7.3 Progettazione e Sviluppo 7.4 Approvvigionamento 7.5 Attività di produzione e servizio 7.6 Gestione dei dispositivi di
Il nuovo riuso. L Innovazione in Campania
L Innovazione in Campania Risultati e sviluppi futuri degli Accordi di Programma Quadro per l e-government e la Società dell Informazione ] 22 maggio 2009 Il Maurizio Coppola Regione Campania - Dirigente
Analisi e specifica dei requisiti
Analisi e specifica dei requisiti Processo che stabilisce i servizi che il committente richiede al sistema da sviluppare ed i vincoli con cui lo si utilizzera` e sviluppera` Requisiti funzionali o non
TECN.PROG.SIST.INF. Ciclo di vita del software Roberta Gerboni
2016 - Roberta Gerboni 1 Perché si parla di Ingegneria del software Queste vignette umoristiche vogliono mettere in evidenza le contraddizioni e i paradossi che spesso emergono fin dalle prime fasi di
INTERAZIONE UOMO-MACCHINA
INTERAZIONE UOMO-MACCHINA Cicli di vita Barbara Rita Barricelli Stefano Valtolina Dipartimento di Informatica Università degli studi di Milano Per dubbi/domande 2 [email protected] Modelli di Cicli
14. Verifica e Validazione
14. Verifica e Validazione Come assicurarsi che il software corrisponda alle necessità dell utente? Introdurremo i concetti di verifica e validazione Descriveremo le fasi del processo di testing Parleremo
Configuration Management secondo l ISO
SUPSI Project Management Forum Configuration Management secondo l ISO Alessandro Colasurdo [email protected] Lugano, 23 Giugno 2017 Alessandro Colasurdo Configuration Management secondo l
PROGETTARE SISTEMI INFORMATIVI. Fasi e relativi approcci
PROGETTARE SISTEMI INFORMATIVI Fasi e relativi approcci OBIETTIVI 1. Descrivere un approccio generale per pianificare e impostare il progetto di un S.I. 2. Identificare i passi fondamentali 3. Illustrare
Stato dell arte sulle tecniche di testing di Sistemi Embedded
tesi di laurea Anno Accademico 2011/2012 relatore Ch.mo prof. Porfirio Tramontana candidato Alfonso Cutolo Matr. 041/3068 Obiettivi Facoltà di Ingegneria Obiettivi Ordinare e descrivere in maniera metodologica
Lo sviluppo del progetto informatico
Lo sviluppo del progetto informatico Il progetto Il controllo di qualità Le qualità per i prodotti di software Le figure professionali La metodologia La conoscenza degli obiettivi L analisi La progettazione
MANUALE DELLA QUALITÀ Pag. 1 di 9
MANUALE DELLA QUALITÀ Pag. 1 di 9 INDICE REALIZZAZIONE DEL PRODOTTO Pianificazione della realizzazione del prodotto Determinazione dei requisiti relativi al prodotto Riesame dei requisiti relativi al prodotto
La comprensione dell impresa e del contesto in cui opera
La comprensione dell impresa e del contesto in cui opera Corso di Audit e Governance Università degli Studi di Bergamo Prof.ssa Stefania Servalli La comprensione dell impresa L AZIENDA È UN SISTEMA APERTO
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
Verifica e Validazione del Software
Verifica e Validazione del Software Testing processes Ingegneria del Software 2 Testing Processes 1 Riferimenti Ian Sommerville, Ingegneria del Software, capitoli 22-23-24 (più dettagliato sui processi)
Ingegneria del Software (e Prova Finale) Luciano Baresi
Ingegneria del Software (e Prova Finale) Luciano Baresi [email protected] Organizzazione dei corsi Ingegneria del software (7 crediti) Lezioni: 42 ore Esercitazioni: 28 ore Prova finale (3 crediti)
Progettazione di basi di dati
Progettazione di basi di dati Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: progettazionedb.pdf Sistemi Informativi L-B Progettazione di
Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3
Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3 Progetto ID 24063 Moduli e contenuti professionalizzanti inseriti nei corsi di laurea e diplomi universitari
Progetto sito web Gigli Elisa
Progetto sito web Gigli Elisa 1 Progetto sito web Indice Introduzione Progetto e Project Management PMBOK o PROJECT CHARTER WBS o o PDM Lista delle attività Matrice delle responsabilità Diagramma di Gantt
Corso di Laurea in Informatica Basi di Dati a.a
Corso di Laurea in Informatica Basi di Dati a.a. 2012-2013 Laboratorio 31B Esercitatori : Ing. G. Laboccetta Dott.ssa V. Policicchio Progetto Didattico Durante le lezioni saranno realizzate tutte le fasi
IL PROCESSO di PROGETTAZIONE
IL PROCESSO di PROGETTAZIONE In questa lezione vedremo: La definizione di progettazione La progettazione in ambito ingegneristico I modelli del processo di progettazione il modello di Pahl Beitz il modello
PIANIFICAZIONE DI PROGETTO DI SISTEMI INFORMATIVI
PIANIFICAZIONE DI PROGETTO DI SISTEMI INFORMATIVI ATTIVITA CHE ESAMINEREMO: 1. ANALISI PRELIMINARE identificazione problema / opportunita analisi di utenti, fabbisogni, requisiti, obiettivi, ecc. DOCUMENTO
Analisi e progettazione ad oggetti
Analisi e progettazione ad oggetti Richiami di Analisi e progettazione ad oggetti L idea di base della analisi ad oggetti è di partire da una descrizione del problema in termini di entità e relazioni tra
Configuration Change Release Management
Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione GESTIONE DEI SISTEMI ICT Paolo Salvaneschi A6_3 V1.0 Configuration Change Release Management Il contenuto del documento
Introduzione alla programmazione dei costi e della contabilità dei lavori
Università degli Studi di Trento Programmazione Costi e Contabilità lavori a.a. 2003-4 Introduzione alla programmazione dei costi e della contabilità dei lavori Marco Masera, dott. arch., d.d.r. ing. marco.masera
Kit Documentale Qualità UNI EN ISO 9001:2015. Templates modificabili di Manuale, Procedure e Modulistica. Nuova versione 3.
Premessa Il sistema di gestione per la qualità conforme alla norma internazionale UNI EN ISO 9001:2015 dovrebbe essere implementato nell ordine di seguito indicato, che riporta le clausole della norma
GESTORE DEL SISTEMA QUALITA AZIENDALE
GESTORE DEL SISTEMA QUALITA AZIENDALE DESCRIZIONE SINTETICA GESTORE DEL SISTEMA QUALITA AZIENDALE Il gestore del è in grado di sviluppare ed implementare un funzionale all attuazione degli obiettivi strategici
BOX ONE, ERP PER SCATOLIFICI E CARTOTECNICHE. Metti le ali alla tua azienda!
BOX ONE, ERP PER SCATOLIFICI E CARTOTECNICHE Box - One Metti le ali alla tua azienda! BOX ONE SOLUZIONE COMPLETA E MODULARE 1 Box One è la soluzione gestionale dedicata alla gestione dell area produttiva
INTERAZIONE UOMO-MACCHINA
INTERAZIONE UOMO-MACCHINA Cicli di vita Barbara Rita Barricelli Stefano Valtolina Dipartimento di Informatica Università degli studi di Milano Modelli di Cicli di vita 2 Mostrano come le attività sono
QUESTIONARIO 2: PIANIFICAZIONE DEL MIGLIORAMENTO
QUESTIONARIO 2: PIANIFICAZIONE DEL MIGLIORAMENTO Step 7 Elaborare un piano di miglioramento, basato sull autovalutazione report Attività 1 2 3 4 5 7.1. Raccogliere tutte le proposte relative alle azioni
MANUALE SISTEMA DI GESTIONE INTEGRATO QUALITA AMBIENTE E SICUREZZA
Rev. N Pag. 1 a 63 MANUALE SISTEMA DI GESTIONE INTEGRATO QUALITA AMBIENTE E SICUREZZA, - STATO APPROVAZIONE Rev. N Pag. 2 a 63 Realizzato da: Riesaminato da: Approvato da: Nome e cognome Firma Ruolo REVISIONI
Verifica e Validazione dei Progetti
Verifica e Validazione dei Progetti Le novità introdotte dal D.Lgs. 50/2016 1 Riferimenti L. 28/01/2016, n. 11 Legge Delega al Governo per il riordino dei Contratti Pubblici D. Lgs. 18 aprile 2016 n. 50
ORGANIZZAZIONE Un modello organizzativo per l efficacia e l efficienza dello Studio
ORGANIZZAZIONE Un modello organizzativo per l efficacia e l efficienza dello Studio Alessandra Damiani Managing Partner Barbieri & Associati Dottori Commercialisti Consulente per l Organizzazione degli
TECNOLOGIE DELL INFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE
TECNOLOGIE DELL INFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE Materiale di supporto alla didattica Tecnologie dell informazione e della comunicazione per le aziende CAPITOLO 5: La gestione delle informazioni
INDICE. Presentazione... p. VII PARTE PRIMA INTRODUZIONE
INDICE Presentazione............................................ p. VII PARTE PRIMA INTRODUZIONE Capitolo I - Definizione di marketing..........................» 3 1. Il marketing riguarda molti aspetti....................»
Il disegno nel ciclo di vita del prodotto
Il disegno nel ciclo di vita del prodotto MERCATO INPUT Bisogni PROCESSO DI DI TRASFORMAZIONE Idea Progetto Produzione MERCATO OUTPUT Clienti Figura 1, pag. 19 Pianificazione Organizzazione CONTROLLO MANAGEMENT
Ingegneria del Software L-A
Ingegneria del Software L-A Corso di Laurea Triennale in Ingegneria Informatica III anno A.A. 2009/2010 Docente: Giuseppe Bellavia Collaboratore: Gabriele Zannoni Premessa Una domanda fondamentale Che
Gestione di progetto: pianificazione
Gestione di progetto: pianificazione Simona Bernardi Corso di Ingegneria del Software 04/ 05 Prof.Susanna Donatelli Introduzione: dove siamo? Gestione di progetto: Pianificazione Monitoraggio e controllo
Ciclo di vita per lo sviluppo di software sicuro
Ciclo di vita per lo sviluppo di software sicuro (a cura di Roberto Ugolini Postecom Spa) Security Service Unit Documento pubblico Le motivazioni del cambiamento 1/3 2 Aumentare il livello di sicurezza
LA PROGRAMMAZIONE E I SISTEMI OPERATIVI
LA PROGRAMMAZIONE E I SISTEMI OPERATIVI PROGRAMMA Definizione di una attività, precisando tempi e modi di svolgimento (Sabatini Coletti) PROGRAMMAZIONE Organizzazione di una attività secondo un programma
Fondamenti VBA. Che cos è VBA
Fondamenti VBA Che cos è VBA VBA, Visual Basic for Application è un linguaggio di programmazione, inserito nelle applicazioni Office di Microsoft (Ms Word, Ms Excel, Ms PowerPoint, Visio). VBA è una implementazione
MBM Italia S.r.l. Via Pellizzo 14/a Padova Tel. Fax
ARCHITETTURA APPLICATIVA XML IL PROCESSO ELABORATIVO SI SVILUPPA IN QUATTRO PASSI: ERP PLANNING SERVER 1 2 Estrazione dei dati dai data base in cui sono gestiti e creazione di file XML che vengono trasferiti
La programmazione degli investimenti in un importante aeroporto Italiano. Cristian Lombardo e Matteo Marino
La programmazione degli investimenti in un importante aeroporto Italiano Allinance Cristian Lombardo e Matteo Marino 1 SESSIONE A2 PROJECT MANAGEMENT TOOLS Cristian Lombardo Profilo breve Project Manager
REGOLAMENTO PER LA RIPARTIZIONE DEGLI INCENTIVI PER LA PROGETTAZIONE. (art. 92 comma 5 Decreto Legislativo n. 163/2006)
REGOLAMENTO PER LA RIPARTIZIONE DEGLI INCENTIVI PER LA PROGETTAZIONE (art. 92 comma 5 Decreto Legislativo n. 163/2006) Art. 1 Ambito di applicazione Il presente regolamento disciplina la ripartizione degli
