Processi di Sviluppo Flashcards
(38 cards)
In che modo si può modellare un processo SW?
Basato su un aspetto specifico:
- workflow
- data flow
- role-action
Modelli generici:
- waterfall
- iterative developement
- CBSE (Component Based Software Enginering)
Quali sono le fasi del modello a cascata?
- Studio di fattibilità
- Analisi dei requisiti
- Design
- Sviluppo
- Testing
- Distribuzione
- Mantenimento
In quale momento il cliente può fornire un feedback al sistema nel modello a cascata?
Durante la fase di operatività e manutenzione
Perché il modello a cascata è obsoleto?
Perché i requisiti di un sistema evolvono sempre durante il corso del progetto e questo modello permette di rilasciare un feedback solo durante la fase di operatività e manutenzione
In cosa consiste la consegna incrementale?
- Invece di rilasciare tutto in unico blocco, vengono rilasciate diverse versioni, ognuna con funzionalità aggiuntive rispetto alla precedente (diversi incrementi)
- I requisiti vengono sviluppati in ordine di priorità, così che le funzioni principali vengano rilasciate durante i primi incrementi
- I requisiti durante un incremento vengono congelati mentre invece possono evolversi per gli incrementi successivi
Quali sono le fasi della consegna incrementale?
- Definizione sommaria dei requisiti
- Assegnazione dei requisiti agli incrementi
- Progettazione architettura di sistema
- Sviluppo degli incrementi di sistema
- Convalida dell’incremento
- Integrazione dell’incremento
- Validazione del sistema => Sistema finale
- Tornare a pt. 4
Quali sono i vantaggi della consegna incrementale?
- Funzioni utili per il cliente possono essere rilasciate ad ogni incremento, quindi alcune funzionalità di sistema sono disponibili sin dai primi incrementi
- I primi incrementi rappresentano dei PROTOTIPI che supportano la SCOPERTA dei requisiti per i successivi incrementi
- I rischi di fallimento si abbassano
- I servizi a priorità più alta tendono ad essere collaudati più spesso (quindi più a fondo)
Su cosa si basa lo sviluppo evoluzionistico?
Sviluppo i requisiti più chiari del sistema così da creare un prototipo da fornire al cliente, ciò aiuta nell’individuazione di nuovi requisiti
Quali sono le fasi dell’ingegneria del SW basata su componenti?
- Specifica dei requisiti
- Analisi dei componenti
- Modifica dei requisiti
- Progettazione del sistema con riutilizzo
- Sviluppo e integrazione
- Convalida del sistema
Quali sono le 4 fasi del modello a spirale? (partendo dal secondo quadrante)
- Determinare obiettivi, alternative e vincoli
- Valutare alternative e rischi
- Sviluppare e testare
- Pianificare
Cosa sono i metodi Agili?
Sono metodi di sviluppo SW basati sulla consegna incrementale che prevedono iterazioni brevi e timeboxed
Cosa significa RUP?
Rational Unified Process
Cos’è UP?
E’ un processo iterativo e incrementale che usa la notazione UML
Vantaggi del RUP?
Grazie al fatto che si fanno “passi piccoli”, il FEEDBACK del cliente è RAPIDO e quindi c’è grande possibilità di ADATTAMENTO
Durante un iterazione del modello UP che fasi ci sono?
- Analisi dei requisiti
- Progettazione
- Implementazione, test, interazione e ulteriore progettazione
- Integrazione finale e test di sistema
Fasi di un intero UP?
- Avviamento: vengono stabiliti gli obiettivi, le stime dei costi, dei tempi e viene fatta la analisi di fattibilità
- Elaborazione: vengono raccolti i requisiti in modo più dettagliato, si stabilisce l’architettura di base e vengono analizzati i rischi principali
- Costruzione: questa fase consiste in molte iterazioni che permettono di costruire una parte del sistema che soddisfa un sottoinsieme di requisiti
- Transizione: vengono affrontati tutti gli aspetti legati al fine-tuning delle funzionalità, prestazioni, qualità, beta-testing e formazione degli utenti
Quali sono i vantaggi dello sviluppo iterativo?
- Minore probabilità di fallimento del progetto
- Riduzione precoce dei rischi
- Progresso visibile
- Feedback precoce
- Coinvolgimento dell’utente
- “Abbracciare il cambiamento”
Conseguenze del RUP?
- Vengono creati modelli anche per comprendere e comunicare, non solo per documentare
- Si esplorano rapidamente le alternative progettuali
- I modelli statici e dinamici vengono creati in parallelo
- L’utente è continuamente impegnato a dare feedback
Caratteristiche principali del RUP?
- Iterativo e incrementale
- Enfasi sul modello piuttosto che sul linguaggio naturale
- Centrato su architettura
Quali sono i principi del processo Scrum?
E’ un processo iterativo basato sul controllo dello stato di avanzamento, i principi essenziali sono:
- Visibilità: gli aspetti significativi del processo di sviluppo devono essere visibili a tutti
- Ispezione: poter ispezionare frequentemente il lavoro prodotto per controllare che si sta procedendo verso gli obiettivi posti
- Adattamento: se si sta deviando dagli obiettivi, occorre un adattamento per minimizzare altre deviazioni
Quali sono i ruoli nello Scrum?
- Product Owner: si occupa della definizione delle caratteristiche del progetto da sviluppare e gestisce il Product Backlog
- Team: dedicato allo sviluppo e al rilascio del prodotto attraverso incrementi successivi
- ScrumMaster: controlla che lo SCRUM venga applicato correttamente e supporta sia il team che il PO
Quali sono le fasi dello SCRUM?
- Inserire i requisiti nel product backlog
- Pianificazione dello sprint
- Produzione di uno sprint backlog
- Esecuzione giornaliera di un daily scrum durante tutto lo sprint
- Revisione dello sprint una volta concluso
- Tornare al pt. 2
Cos’è lo sprint nell’ambito SCRUM?
E’ una iterazione durante lo SCRUM che ha come obiettivo quello di portare a termine i requisiti prefissati nello sprint backlog
Cos’è un sistema?
Un sistema è una collezione significativa di componenti che lavorano insieme per realizzare un obiettivo comune