La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

ISO/IEC 12207 Lo standard internazionale per il ciclo di vita del software.

Presentazioni simili


Presentazione sul tema: "ISO/IEC 12207 Lo standard internazionale per il ciclo di vita del software."— Transcript della presentazione:

1 ISO/IEC Lo standard internazionale per il ciclo di vita del software

2 Per quale motivo è nato?  Il software con il passare del tempo è diventato parte integrante della vita di tutti i giorni per milioni di persone. SW Procedure, metodi strumenti, ambienti per lo sviluppo SW ? ? ? management e ingegnerizzazione

3 Per quale motivo è nato? C’era la necessità di “parlare la stessa lingua” per creare e gestire software Procedure, metodi strumenti, ambienti per lo sviluppo SW migrazione Modello comune

4 Quando è nato?  Nel 1989, un comitato tecnico (JTC1) costituito due anni prima dall’ISO e dall’IEC, comincia lo sviluppo di uno standard per il ciclo di vita di un software  1 Agosto 1995: viene pubblicato lo standard internazionale ISO/IEC  Al progetto hanno partecipato 17 nazioni (anche l’Italia)

5 ISO/IEC  Lo standard copre il ciclo di vita di un software, dal momento della concretizzazione delle idee fino al suo ritiro dal mercato.  L’architettura del software viene costituita tramite una serie di processi e di relazioni tra essi.  La derivazione di un processo da un altro è basata su due principi fondamentali:  Modularità  Responsabilità

6 Modularità  Ogni processo è un modulo a se stante ed è dedicato ad una singola funzione. coesione accoppiamento

7 Responsabilità  Ogni processo viene eseguito sotto la supervisione di un gruppo di lavoro.  Ogni gruppo di lavoro ha determinate responsabilità.  Un gruppo di lavoro può supervisionare più di un processo, ma difficilmente avviene il viceversa. (più gruppi di lavoro supervisionano lo stesso processo)

8 I processi  I processi nel ciclo di vita del software sono raggruppati in tre classi principali:  Processi primari  Processi di supporto  Processi organizzativi  Oltre alle tre classi di processi fondamentali, esiste anche un processo “speciale”, detto processo di tailoring

9

10

11 Suddivisione dei processi  Ogni processo è suddiviso in diverse attività, ed ogni attività a sua volta in vari compiti secondo uno schema gerarchico … ……

12 Processi primari (5)  5 processi base sviluppati dalle parti principali coinvolte nel ciclo di vita del software, ovvero:  l’acquirente  il fornitore  lo sviluppatore  l’utente  il manutentore  Provvedono a gestire le funzioni principali durante il ciclo di vita.

13 Processi primari (5)  Acquisizione (5.1)  5 attività, suddivise in 23 compiti  Fornitura (5.2)  7 attività, suddivise in 24 compiti  Sviluppo (5.3)  13 attività, suddivise in 55 compiti  Esercizio (5.4)  4 attività, suddivise in 9 compiti  Manutenzione (5.5)  6 attività, suddivise in 24 compiti

14 Acquisizione (5.1)  Contiene le attività e i compiti dell’acquirente.  Il processo comincia con la definizione della necessità di acquistare un sistema, un prodotto o un servizio software.  Il processo continua con la preparazione di una richiesta di preventivo, la selezione di un fornitore, il management del processo di acquisizione e termina con l’accettazione del sistema proposto.

15 Acquisizione (5.1)  Definizione delle necessità  Richiesta di un preventivo  Preparazione e aggiornamento del contratto  Monitoraggio delle attività del fornitore  Accettazione del prodotto

16 Fornitura (5.2)  Contiene le attività e i compiti del fornitore del prodotto software.  Il processo inizia con la contrattazione con l’acquirente per il prodotto o servizio SW  Il processo continua con la determinazione delle procedure e delle risorse necessarie per gestire il progetto.  Il processo termina con la consegna del sistema (prodotto o servizio) all’acquirente

17 Fornitura (5.2)  Inizializzazione  Preparazione di un preventivo  Contratto  Planning  Esecuzione e controllo  Revisione e valutazione  Consegna e completamento Le prime due attività sono svolte prima dell'accordo mentre le ultime 5 dopo l'accordo.

18 Sviluppo (5.3)  Contiene le attività e i compiti dello sviluppatore del software  Il termine sviluppo è riferito sia allo sviluppo di nuovo software sia a modifiche di software già esistente.  Il processo di sviluppo può essere inteso come:  sviluppo di un prototipo del sistema  studio dei requisiti e design di un prodotto  effettiva produzione di un prodotto

19 Sviluppo (5.3)  implementazione del processo  analisi dei requisiti del sistema e del sw  design dell’architettura del sistema e sw  design dettagliato del software  codifica e testing del software  integrazione del sistema e del software  test di qualità del sistema e del software  installazione del software  supporto all’accettazione del software

20 Esercizio (5.4)  Contiene le attività e i compiti di chi utilizza il software: l’utente finale.  Consiste nella conduzione delle operazioni richieste e operate dagli utenti del software e nella gestione delle stesse.  Comprende anche un’iniziale fase di collaudo per verificare l'uso del prodotto software operante nell'ambiente per il quale è stato richiesto.

21 Esercizio (5.4)  Implementazione del processo  Testing operazionali  Operazioni sul sistema  Supporto all’utente

22 Manutenzione (5.5)  Contiene le attività e i compiti del manutentore del sistema.  Il processo viene pianificato in modo che la conduzione delle attività, di gestione delle modifiche e di analisi del tipo di manutenzione (adattativa, correttiva o di emergenza) sia il più possibile semplice e a costi minimi.

23 Manutenzione (5.5)  Lo scopo è quello di modificare il software già esistente mantenendone l’integrità.  Per apportare effettivamente le modifiche al software, viene invocato il processo di sviluppo (5.3).  Il processo termina con il ritiro del sistema.

24 Manutenzione (5.5)  implementazione del processo  analisi del problema e delle modifiche  implementazione delle modifiche  revisione/accettazione della manutenzione  migrazione  ritiro del software

25 Processi di supporto (6)  I Processi di Supporto e di Controllo supportano gli altri processi del ciclo di vita del software e contribuiscono al successo e alla qualità di un progetto software.  Un processo di supporto può essere richiesto da uno dei cinque processi primari o da un altro processo di supporto.

26 Processi di supporto (6)  Documentazione (6.1)  4 attività, suddivise in 7 compiti  Gestione della configurazione (6.2)  6 attività, suddivise in 6 compiti  Assicurazione di qualità (6.3)  4 attività, suddivise in 16 compiti  Verifica (6.4)  2 attività, suddivise in 13 compiti

27 Processi di supporto (6)  Validazione (6.5)  2 attività, suddivise in 10 compiti  Revisione congiunta (joint review) (6.6)  3 attività, suddivise in 8 compiti  Revisione (audit) (6.7)  2 attività, suddivise in 8 compiti  Risoluzione del problema (6.8)  2 attività, suddivise in 2 compiti

28 Documentazione (6.1)  Si occupa della registrazione di tutto ciò che è stato prodotto nel ciclo di vita del software: dalle informazioni ai requisiti del sistema, dagli input agli output del prodotto.  I documenti relativi a questo processo presentano tutte le attività relative alla pianificazione, alla progettazione, allo sviluppo, alla manutenzione e alla gestione totale del processo produttivo.

29 Documentazione (6.1)  implementazione del processo  progetto e sviluppo della documentazione  produzione della documentazione  manutenzione della documentazione

30 Gestione della configurazione (6.2)  Prevede attività e compiti relativi all'applicazione di procedure tecniche ed amministrative per assicurare la completezza, la consistenza e la correttezza degli elementi software.  In questo processo bisognerà identificare, registrare, analizzare e verificare i possibili cambiamenti dell'elemento software specificando approvazioni e rifiuti (controllo della configurazione).

31 Gestione della configurazione (6.2)  Questo processo fornisce un meccanismo per identificare, controllare e tracciare le versioni di ogni elemento del software.  In molti casi le versioni del software precedentemente prodotto e ancora in uso devono subire manutenzione e devono essere anche controllate in maniera accurata.

32 Gestione della configurazione (6.2)  implementazione del processo  identificazione della configurazione  controllo della configurazione  documentazione della configurazione  valutazione della configurazione  gestione delle versioni e dei rilasci

33 Assicurazione di qualità (6.3)  Ha lo scopo di prevenire il presentarsi dei problemi, di individuarli quando si presentano, di identificarne le cause e di trovarvi rimedio.  L'assicurazione della qualità comprende tutte le attività del management, il quale determina le politiche per la qualità, gli obiettivi e le responsabilità, e le implementa attraverso la pianificazione, il controllo e il miglioramento della qualità.

34 Assicurazione di qualità (6.3)  L'assicurazione di qualità riguarda sia il prodotto sia il processo:  Il prodotto deve essere conforme ai requisiti ed aderire ai vari piani di progetto e sviluppo al fine di poter possedere gli specificati attributi di qualità.  Il processo, oltre ad essere conforme a quanto specificato ed aderire alla pianificazione, deve rispettare gli standard utilizzati per la sua implementazione.  Per maggiori informazioni vedi ISO 9001

35 Assicurazione di qualità (6.3)  implementazione del processo  assicurazione qualità del prodotto  assicurazione qualità del processo  assicurazione del sistema qualità

36 Verifica (6.4)  E’ costituito da attività e compiti atti a determinare se i requisiti del prodotto, sistema o servizio software sono completi e corretti e se essi sono soddisfatti.  Tale processo deve essere integrato nei processi primari di sviluppo, fornitura e manutenzione.  Consiste nella verifica di processi, requisiti, design, codifica, integrazione e documentazione.

37 Verifica (6.4)  implementazione del processo  verifica

38 Validazione (6.5)  Serve a determinare se il prodotto finale offerto soddisfa l'utilizzo per cui è stato creato.  La validazione non è un processo da eseguire al termine della produzione, ma esso può essere completato nelle prime fasi dello sviluppo.  Questo processo solitamente viene invocato al momento dell’attività di supporto all’accettazione del software (5.3.13).

39 Validazione (6.5)  implementazione del processo  validazione

40 Revisione congiunta (joint review) (6.6)  In questo processo si procede alla pianificazione delle revisioni congiunte tra acquirente e fornitore che avverranno sulla base di un calendario di incontri fissato all'inizio del progetto.  In una joint review, il fornitore presenta all’acquirente il progresso nelle operazioni e tutta la documentazione finora prodotta, per la valutazione e l’approvazione.

41 Revisione congiunta (joint review) (6.6)  implementazione del processo  revisione della gestione del progetto  revisione tecnica del progetto

42 Revisione (audit) (6.7)  Processo relativo alla determinazione della verifica della conformità ai requisiti, ai piani ed ai contratti stabiliti.  Il processo di revisione dovrà essere condotto da personale che non ha nessuna responsabilità diretta sullo sviluppo dei prodotti, dei servizi o dei sistemi che si revisionano.  Le attività della revisione dovranno essere condotte rispettando i piani e il contratto.

43 Revisione (audit) (6.7)  implementazione del processo  revisione (audit)

44 Risoluzione del problema (6.8)  Scopo di questo processo è fornire tempestivamente le risorse per assicurare la risoluzione dei problemi appena essi sono rilevati.  Quando si verifica o si rileva un problema durante le fasi di sviluppo, di manutenzione, o di altri processi è necessario documentarlo dettagliatamente, accertarne l'effettiva esistenza, per poi risolverlo (anche in diversi modi).

45 Risoluzione del problema (6.8)  Prima però di risolverlo sarà opportuno valutarne la priorità e l’importanza rispetto agli altri utilizzando un parametro di riferimento.  Questo processo non entra in gioco solamente quando si evidenzia un problema durante il ciclo di vita, ma anche quando il processo non è più conforme ai requisiti richiesti.

46 Risoluzione del problema (6.8)  implementazione del processo  risoluzione del problema

47 Processi organizzativi (7)  I processi organizzativi sono impiegati in un’organizzazione per stabilire e implementare una struttura a supporto e per il continuo miglioramento di:  processi del ciclo di vita  struttura organizzativa  personale  Supportano qualsiasi altro processo del ciclo di vita del software.

48  Gestione del progetto (7.1)  5 attività, suddivise in 12 compiti  Gestione dell’infrastruttura (7.2)  3 attività, suddivise in 5 compiti  Miglioramento (7.3)  3 attività, suddivise in 6 compiti  Addestramento (7.4)  3 attività, suddivise in 4 compiti Processi organizzativi (7)

49 Gestione del progetto (7.1)  Il processo contiene tutte le generiche attività e compiti, che possono essere impiegate all'interno del processo di produzione per gestire i rispettivi “processi”.  Il management è responsabile per la gestione del prodotto, del progetto e dei compiti applicabili nei processi primari o di supporto.

50 Gestione del progetto (7.1)  Iniziazione e definizione dello scopo  Pianificazione  Esecuzione e controllo  Revisione e valutazione  Chiusura del progetto

51 Gestione dell’infrastruttura (7.2)  Processo che assicura il corretto svolgimento di tutte le attività di produzione.  Serve a stabilire e mantenere l’infrastruttura sottostante al ciclo di vita del software.  L’infrastruttura può includere hardware, software, strumenti, tecniche, ulteriori standard e le conoscenze di base per lo sviluppo, l’esercizio e la manutenzione.

52 Gestione dell’infrastruttura (7.2)  implementazione del processo  costituzione dell'infrastruttura  manutenzione dell'infrastruttura

53 Miglioramento (7.3)  Definisce le attività necessarie a migliorare il ciclo di vita di un software.  Sono di fondamentale importanza esperienze passate, poiché aiutano l’approccio al problema.  Futuri progetti potranno trarre beneficio dalle operazioni di miglioramento effettuate.

54 Miglioramento (7.3)  Costituzione del processo  Controllo e valutazione del processo  Miglioramento del processo Lo standard su questo punto è molto vago, consiglia solamente di produrre documentazione e di rivedere progetti passati per accorgersi degli errori già commessi.

55 Addestramento (7.4)  Tale processo è inerente alla formazione e addestramento del personale.  I processi primari dipendono dalle conoscenze e dalle capacità del personale sia dell'azienda fornitrice sia di quella acquirente.  Il personale deve essere addestrato e formato costantemente.

56 Addestramento (7.4)  implementazione del processo  sviluppo del materiale di formazione  formazione

57 Tailoring: il processo speciale  I processi, le attività ed i compiti dello standard sono stati progettati in modo da poter essere adattati (tailored) a specifiche esigenze (ambienti, progetti, domini applicativi, etc..).  Il processo di tailoring descrive cosa fare per “adattare” gli altri processi software.

58 Tailoring: il processo speciale  Il tailoring consiste nella cancellazione di processi, attività e compiti non applicabili al caso specifico e nell'aggiunta di processi, attività o compiti non presenti nello standard e necessari per il caso specifico.  L’aggiunta di processi, attività e compiti deve essere adeguatamente documentata nel contratto.

59 Tailoring: il processo speciale  identificazione dell'ambiente di sviluppo  coinvolgimento delle parti  individuazione dei processi, delle attività e dei compiti necessari  documentazione della decisione di eliminare o aggiungere processi, attività o compiti

60 Interazioni tra processi  Nel prossimo lucido vedremo come i vari processi del ciclo di vita di un software (primari, di supporto e organizzativi) interagiscono tra loro.

61 Progetto acquisizionefornituramanutenzione esercizio sviluppo U U T T E JOINT REVIEW V & V AUDIT P E E E P E QUALITÁ E RISOLUZ. PROBLEMI E E E DOCUMENTAZIONE CONTROLLO GESTIONE E Organizzazione PROGETTOINFRASTRUTTURAMIGLIORAMENTOFORMAZIONE gestiscefeedback tailoring UU T: da il compito E: esegue P: partecipa U: utilizza


Scaricare ppt "ISO/IEC 12207 Lo standard internazionale per il ciclo di vita del software."

Presentazioni simili


Annunci Google