34
13. 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) 13. Ciclo di Vita e Processi di Sviluppo 1 / 30

13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

  • Upload
    hathu

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

13. Ciclo di Vita e Processi di Sviluppocome posso procedere nello sviluppo?

Andrea Polini

Ingegneria del SoftwareCorso di Laurea in Informatica

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 1 / 30

Page 2: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Modelli di Processo

Un processo software è costituito da un insieme di attività checonducono alla realizzazione di un prodotto software

Nessuna soluzione generale! Infatti molte organizzazionisviluppano proprio processo di sviluppoForte dipendenza dalla persone e dall’organizzazione interna

Principali modelli di processo discussi (Attenzione! sono solocategorie):

Modello a Cascata (waterfall)Sviluppo EvolutivoComponent-based Software Engineering (CBSE)Sviluppo tramite metodi formali (cleanroom development, Bmethod, Model Driven Development)

Nella realtà spesso processi utilizzati sono una commistione deidiversi modelli

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30

Page 3: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Processo a Cascata

Primo processo di sviluppo apparso in letteratura (Royce 1970). Fasidello sviluppo strutturate in accordo alle attività fondamentali:

Analisi e definizione dei requisitiProgettazione del sistema e del softwareImplementazione e test di unitàIntegrazione e test di sistemaIstallazione e mantenimento

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 3 / 30

Page 4: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Processo a Cascata

le varie attività in realtà vengono ripetute diverse volte ma comunque ad un certopunto “congelate” - ogni attività fornisce manufatti alle fasi successive attraversoappositi documenti

terminata definitivamente un’attività questa NON viene ulteriormentericonsiderata nel seguito

in generale auspicabile sovrapposizione dei vari team (se assegnati sulle fasi)per passaggio di informazioni

Conseguenze principali:

I requisiti vengono fissati ad un certo punto e mai più modificati

Prematura decisione sui requisiti rende il processo “sordo” alle successiverichieste di adattamento dei requisiti da parte del cliente.

Processo fortemente documentato e guidato dal rilascio di documenti (documentdriven).

Visibilità alta o bassa? Timeliness?

Quando applicarlo?

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 4 / 30

Page 5: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Processo Evolutivo

Il prodotto viene sviluppato cercando dapprima di derivare un prototipoe poi per incrementi successivi fino a raggiungere un sistemasoddisfacente

Sviluppo Esplorativo - strette fasi di interazione con l’utentePrototipo usa e getta (Throaway Prototyping) - scopo principaledel prototipo è la comprensione dei requisiti

Conseguenze principali:L’organizzazione del sistema tende ad essere poco strutturata acausa dei continui cambiamentiInduce probabili difficoltà in fasi di mantenimento

Visibilità alta o bassa? Timeliness?Quando applicarlo?“Do it twice” - Baker

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 5 / 30

Page 6: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Processo Evolutivo

Il prodotto viene sviluppato cercando dapprima di derivare un prototipoe poi per incrementi successivi fino a raggiungere un sistemasoddisfacente

Sviluppo Esplorativo - strette fasi di interazione con l’utentePrototipo usa e getta (Throaway Prototyping) - scopo principaledel prototipo è la comprensione dei requisiti

Conseguenze principali:L’organizzazione del sistema tende ad essere poco strutturata acausa dei continui cambiamentiInduce probabili difficoltà in fasi di mantenimento

Visibilità alta o bassa? Timeliness?Quando applicarlo?“Do it twice” - Baker

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 5 / 30

Page 7: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Component based software engineeringgeneralità

Aumento nella complessità dei sistemi implica forte spinta al riuso(interno e non - COTS)

Obiettivo di CBSE: implementare un sistema come integrazione dicomponenti preconfezionati.

Un po’ di storia . . .Conferenza di Garmisch 1968primi modelli a componenti OLE-X (anni ottanta)oggi . . .

Modelli di componenti Desktop (COM, Bonomo ...)Modelli di componenenti distribuiti (CCM, EJB, ...)

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 6 / 30

Page 8: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Component based Software EngineeringModelli di componenti

Definiscono una piattaforma di supporto al riuso ed una serie di regoleper:

interfacce da definiremeccanismi di interazione tra componentiimpacchettare il componente

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 7 / 30

Page 9: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Component based Software EngineeringProcesso di sviluppo

Non si sono ancora evidenziati processi di sviluppo condivisi in questoambito.

Principali differenze comunque si avranno con introduzione di nuovefasi nello sviluppo e nuove iterazioni.

Component provisioningRequirements adaptationDesign orientato al riusoSviluppo orientato all’integrazione ed adattamento

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 8 / 30

Page 10: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Component based Software EngineeringConseguenze

Visibilità alta o bassa? Timeliness? Produttività?

Quando applicarlo?

Approccio profondamente differente allo sviluppo. Introduzioneall’interno di un’organizzazione richiede training e persone con fortidoti di astrazione.

Capacità di sviluppare sistemi complessi in minor tempo. Riduce ilrischio dello sviluppo. Tendenzialmente il prodotto finale dovrebbeessere “migliore”.

Sviluppo di un semplice mailer di posta elettronica

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 9 / 30

Page 11: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Processi Iterativi

Cercano di fondere le strutture dei processi evolutivi e a cascatacercando di mantenerne le qualità positive rimuovendo quelle negative.

Basati sul concetto di iterazione (la specifica si sviluppa con ilsistema):

Rilascio incrementaleSviluppo a spirale

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 10 / 30

Page 12: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Rilascio incrementale

Processo procede con tanti mini “waterfall” in sequenzaAd ogni iterazione viene rilasciato un sistema funzionante chepotrà essere utilizzato dal cliente.Si pianificano iterazioni successive introducendo via via nuovefunzionalitàUna volta attivata un’iterazione deve essere terminata senzainterferenzeOgni iterazione dovrebbe tendere ad aumentare il sistema di unaporzione gestibile (20.000 LOC?)

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 11 / 30

Page 13: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Rilascio incrementalevantaggi

Principali vantaggi:clienti non devono aspettare rilascio finale prima di poter utilizzareil sistemaUso sul prototipo comporta scoperta, definizione e modifica direquisitisi riduce rischio di fallimentofunzionalità più importanti maggiormente testate

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 12 / 30

Page 14: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Sviluppo a Spirale

Proposto da Boehm nel 1988 introduce gestione del rischio nellapianificazione delle varie iterazioni.

Rappresentabile su un piano tramite una spirale dove ogni quadranteconsiste di attività volte a:

Specificare gli obiettivi dell’iterazione ed itentificazione dei rischiValutare il rischio e definire techniche per la sua gestioneProcedere allo sviluppo ed alla validazionePianificazione, si procede a valutare la necessità di un’ulterioreiterazione.

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 13 / 30

Page 15: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Processi Iterativi

Visibilità alta o bassa? Timeliness?

Quando applicarlo?

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 14 / 30

Page 16: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Il Processo Unificato

UP è un processo industriale “standardizzato” per lo sviluppo delsoftware:

è il processo di riferimento che si associa all’uso di UMLè “free” – descritto nel libro “The Unified Software DevelopmentProcess”

Caratteristiche salienti:Guidato dal rischioGuidato dai Casi d’usoÈ incentrato sull’architetturaProcesso Iterativo incrementale

UP è un processo generico di sviluppo del software. Deve essereadattato per ogni singolo progetto:

Standard interni, formati di documenti, tools, databases, modificheal ciclo di vita . . .

Rational Unified Process (RUP) è una particolare istanza di UP:è un prodotto di Rational CorporationDeve esssere adattato ma precisamente definito

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 15 / 30

Page 17: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Storia dello UP

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 16 / 30

Page 18: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Iterazioni

Un’iterazione può essere considerata come un mini progetto cheinclude le seguenti attività:

PianificazioneAnalisi e DesignImplementazioneIntegrazione e TestRilascio interno o esterno

il prodotto viene derivato attraverso una sequenza di iterazionile iterazioni si possono sovrapporrele iterazioni sono organizzate in fasiFavorire agilità: iterazioni “timeboxed” e durata ridotta (2-3settimane)

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 17 / 30

Page 19: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Flusso di lavoro nelle iterazioni nello UP

Ogni iterazione può contenere tutte le attività del flusso di lavoro conuna differente enfasi su ognuna di esse in dipendenza dello stato diavanzamento del progetto

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 18 / 30

Page 20: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Baselines

Ogni iterazione genera una “baseline”una baseline è un insieme di artefatti rivisti ed approvati che:

Forniscono un base condivisa per ulteriore sviluppoPossono essere modificati solo attraverso una procedura formale

Un incremento è la differenza tra la baseline generata ad unaiterazione e quella generata all’iterazione successiva

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 19 / 30

Page 21: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Struttura dello UP

Dipendentemente dalla dimensione del progetto ogni fase puòincludere diverse iterazioni per ognuna delle quattro fasiUna fase si conclude con una milestoneFasi caratterizzate da: obiettivi, focus dei flussi di lavoro (attività),milestone

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 20 / 30

Page 22: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Fasi e flussi di lavoro dello UP

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 21 / 30

Page 23: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Avvio(Inception)

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 22 / 30

Page 24: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Avvio(Inception)

Condizioni da soddisfare dalla fase e artefatti attesi:Lo scopo del sistema è stato definito (documento di alto livello con irequisiti principali)Definire l’ambito del progetto (I requisiti base del sistema sono staticatturati e concordati con i vari attori – Casi d’uso 10-20 %)Una “visione” architetturale è stata definita (documento iniziale diarchitettura)Una prima valutazione del rishio è stata derivata (documento oarchivio di valutazione dei rischi)Una prima valutazione dei costi e dei tempi (pianificazione delprogetto)Un caso illustrativo di business è stato prodotto con evidenziazionedei vantaggi (caso di business)Fattibilità del progetto è stata confermata (definizione di uno o piùprototipi)

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 23 / 30

Page 25: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Elaborazione(Elaboration)

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 24 / 30

Page 26: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Elaborazione(Elaboration)

Condizioni da soddisfare dalla fase ed artefatti attesi:Creare Baseline robusta ed eseguibile (la baseline è eseguibile)Baseline eseguibile dimostra che i rischi sono stati identificati erisolti (modello statico UML, modello dinamico UML, casi d’uso)Revisione della stima dei rischi (valutazione aggiornata)Visione d’insieme del sistema stabilizzata (80 % dei casi d’usodefiniti - documento descrittivo del sistema)La parti hanno approvato la pianificazione di progettopianificazione a livello di dettaglio tale da consentire formulazionirealistiche di tempi, costi e risorse richieste (pianificazioneaggiornata)Accordo finale tra le parti (Accordo firmato)

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 25 / 30

Page 27: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Costruzione(Construction)

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 26 / 30

Page 28: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Costruzione(Construction)

Condizioni da soddisfare dalla fase ed artefatti attesi:Software stabile e di qualità sufficiente ad essere rilasciato(prodotto software, modello UML, suite di test)verifica dei costi rispetto alla pianificazione (pianificazione delprogetto)Accordo tra le parti per il rilascio (manuale utente e descrizione delrilascio)

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 27 / 30

Page 29: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Transizione(Transition)

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 28 / 30

Page 30: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Transizione(Transition)

Condizioni da soddisfare dalla fase ed artefatti attesi:Il beta test è ultimato, le necessarie modifiche al software sonostate effettuate, gli utenti concordano con l’affermare che il sistemaè stato rilasciato con successo (prodotto software)Gli utenti utilizzano attivamente il prodotto (pianificazione delsupporto)definizione delle strategie di supporto (manuali utente aggiornati)

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 29 / 30

Page 31: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Scenari d’uso

1 Si vuole implementare da zero un sistema per la gestione dellebuste paga di un azienda visto che il vecchio sistema manifestaproblemi di affidabilità e performance

2 Si vuole reimplementare l’intero sistema di automazione di ufficiodell’azienda al fine di poterlo integrare pienamente con altrisistemi quali ad esempio le movimentazioni di magazzino

3 Un ricco magnate richiede di sviluppare un nuovo software chepermetta di comandare attraverso il cellulare tutti glielettrodomestici di casa.

4 Si vuole implementare un sistema per il controllo di un sistema didighe azionate dal movimento della marea.

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 30 / 30

Page 32: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Scenari d’uso

1 Si vuole implementare da zero un sistema per la gestione dellebuste paga di un azienda visto che il vecchio sistema manifestaproblemi di affidabilità e performance

2 Si vuole reimplementare l’intero sistema di automazione di ufficiodell’azienda al fine di poterlo integrare pienamente con altrisistemi quali ad esempio le movimentazioni di magazzino

3 Un ricco magnate richiede di sviluppare un nuovo software chepermetta di comandare attraverso il cellulare tutti glielettrodomestici di casa.

4 Si vuole implementare un sistema per il controllo di un sistema didighe azionate dal movimento della marea.

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 30 / 30

Page 33: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Scenari d’uso

1 Si vuole implementare da zero un sistema per la gestione dellebuste paga di un azienda visto che il vecchio sistema manifestaproblemi di affidabilità e performance

2 Si vuole reimplementare l’intero sistema di automazione di ufficiodell’azienda al fine di poterlo integrare pienamente con altrisistemi quali ad esempio le movimentazioni di magazzino

3 Un ricco magnate richiede di sviluppare un nuovo software chepermetta di comandare attraverso il cellulare tutti glielettrodomestici di casa.

4 Si vuole implementare un sistema per il controllo di un sistema didighe azionate dal movimento della marea.

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 30 / 30

Page 34: 13. Ciclo di Vita e Processi di Sviluppo - cs.unicam.it (Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 2 / 30. Processi di Sviluppo Software Processo a Cascata

Processi di Sviluppo Software

Scenari d’uso

1 Si vuole implementare da zero un sistema per la gestione dellebuste paga di un azienda visto che il vecchio sistema manifestaproblemi di affidabilità e performance

2 Si vuole reimplementare l’intero sistema di automazione di ufficiodell’azienda al fine di poterlo integrare pienamente con altrisistemi quali ad esempio le movimentazioni di magazzino

3 Un ricco magnate richiede di sviluppare un nuovo software chepermetta di comandare attraverso il cellulare tutti glielettrodomestici di casa.

4 Si vuole implementare un sistema per il controllo di un sistema didighe azionate dal movimento della marea.

(Ingegneria del Software) 13. Ciclo di Vita e Processi di Sviluppo 30 / 30