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

  • View
    218

  • Download
    4

Embed Size (px)

Transcript

  • Slide 1
  • ISO/IEC 12207 Lo standard internazionale per il ciclo di vita del software
  • Slide 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
  • Slide 3
  • Per quale motivo nato? Cera la necessit di parlare la stessa lingua per creare e gestire software Procedure, metodi strumenti, ambienti per lo sviluppo SW migrazione Modello comune
  • Slide 4
  • Quando nato? Nel 1989, un comitato tecnico (JTC1) costituito due anni prima dallISO e dallIEC, comincia lo sviluppo di uno standard per il ciclo di vita di un software 1 Agosto 1995: viene pubblicato lo standard internazionale ISO/IEC 12207. Al progetto hanno partecipato 17 nazioni (anche lItalia)
  • Slide 5
  • ISO/IEC 12207 Lo standard copre il ciclo di vita di un software, dal momento della concretizzazione delle idee fino al suo ritiro dal mercato. Larchitettura 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
  • Slide 6
  • Modularit Ogni processo un modulo a se stante ed dedicato ad una singola funzione. coesione accoppiamento
  • Slide 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)
  • Slide 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
  • Slide 9
  • Slide 10
  • Slide 11
  • Suddivisione dei processi Ogni processo suddiviso in diverse attivit, ed ogni attivit a sua volta in vari compiti secondo uno schema gerarchico
  • Slide 12
  • Processi primari (5) 5 processi base sviluppati dalle parti principali coinvolte nel ciclo di vita del software, ovvero: lacquirente il fornitore lo sviluppatore lutente il manutentore Provvedono a gestire le funzioni principali durante il ciclo di vita.
  • Slide 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
  • Slide 14
  • Acquisizione (5.1) Contiene le attivit e i compiti dellacquirente. 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 laccettazione del sistema proposto.
  • Slide 15
  • Acquisizione (5.1) Definizione delle necessit Richiesta di un preventivo Preparazione e aggiornamento del contratto Monitoraggio delle attivit del fornitore Accettazione del prodotto
  • Slide 16
  • Fornitura (5.2) Contiene le attivit e i compiti del fornitore del prodotto software. Il processo inizia con la contrattazione con lacquirente 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) allacquirente
  • Slide 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.
  • Slide 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
  • Slide 19
  • Sviluppo (5.3) implementazione del processo analisi dei requisiti del sistema e del sw design dellarchitettura 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 allaccettazione del software
  • Slide 20
  • Esercizio (5.4) Contiene le attivit e i compiti di chi utilizza il software: lutente finale. Consiste nella conduzione delle operazioni richieste e operate dagli utenti del software e nella gestione delle stesse. Comprende anche uniniziale fase di collaudo per verificare l'uso del prodotto software operante nell'ambiente per il quale stato richiesto.
  • Slide 21
  • Esercizio (5.4) Implementazione del processo Testing operazionali Operazioni sul sistema Supporto allutente
  • Slide 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.
  • Slide 23
  • Manutenzione (5.5) Lo scopo quello di modificare il software gi esistente mantenendone lintegrit. Per apportare effettivamente le modifiche al software, viene invocato il processo di sviluppo (5.3). Il processo termina con il ritiro del sistema.
  • Slide 24
  • Manutenzione (5.5) implementazione del processo analisi del problema e delle modifiche implementazione delle modifiche revisione/accettazione della manutenzione migrazione ritiro del software
  • Slide 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.
  • Slide 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
  • Slide 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
  • Slide 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.
  • Slide 29
  • Documentazione (6.1) implementazione del processo progetto e sviluppo della documentazione produzione della documentazione manutenzione della documentazione
  • Slide 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).
  • Slide 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.
  • Slide 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
  • Slide 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.
  • Slide 34
  • Assicurazione di qualit (6.3) L'assicurazione di qualit riguar