140 likes | 368 Views
“E’ bene trascurare le fasi di analisi e progetto e precipitarsi all’implementazione allo scopo di guadagnare il tempo necessario per rimediare agli errori commessi per aver trascurato la fase di analisi e di progetto” Legge di Mayers. Ingegneria del SW e ciclo di vita.
E N D
“E’ bene trascurare le fasi di analisi e progetto e precipitarsi all’implementazione allo scopo di guadagnare il tempo necessario per rimediare agli errori commessi per aver trascurato la fase di analisi e di progetto”Legge di Mayers
Ingegneria del SW e ciclo di vita • Pianificazione del sistema (stabilire quali parti del sistema andranno realizzate via sw) • Analisi (decidere cosa il progetto dovrebbe realizzare) • Specifiche dei requisiti:manuale utente, prestazioni richieste e risorse utilizzate • Progettazione(definire la strategia che porta alla soluzione) • Si individuano le strutture dati e gli archivi necessari • Codifica • Test e Debug • Installazione, verifica e collaudo • Manutenzione • Aspetto correttivo • Aspetto adattivo • Aspetto migliorativo
Ogni singola attività deve essere completata prima di passare alla successiva Requisiti stabili Durata del progetto non troppo lunga (in modo che non cambino i requisiti) Comunicazione attraverso documenti Modificare il sistema software in fase di avanzamento è molto costoso, meglio cercare di pianificare molto bene il tutto fin dall’inizio Modello a cascata
Modello prototipazione rapida • Raccolta dei requisiti • Progetto rapido • Costruzione del prototipo • Valutazione del prototipo • Rifinitura del prototipo • Realizzazione del prodotto finale
Prototipazione rapida (svantaggi) • La valutazione del prototipo da parte del committente riguarda a volte più il suo aspetto esteriore che non le sue effettive funzionalità • Il prototipo viene utilizzato come base per lo sviluppo e non solo come “chiarificatore dei requisiti”
Modello incrementale • Vengono create versioni successive (sottosistemi) a partire da quelli più importanti • Ogni sottosistema soddisfa solo una parte dei requisiti • Ogni volta va codificato e testato in nuovo sottosistema, ma va testato anche l’intero prodotto
Modello incrementale • I sottosistemi già realizzati vanno utilizzati nella costruzione degli incrementi successivi • Quindi devono essere integrabili e avere lo stesso livello qualitativo • La fase di manutenzione non è una fase separata, ma rappresenta il normale modo di operare
Modello a spirale • Pianificazione (cosa deve essere realizzato e come) • Analisi dei rischi (costi, tempi, variazioni delle specifiche) • Sviluppo • Valutazione • pianificazione...
Metodologie agili • Il progetto ed il codice sono impostati per privilegiare l’adattabilità alle modifiche piuttosto che per soddisfare pienamente tutte le specifiche • Iteratività e incrementalità (soluzione di pochi problemi, piccoli e ben definiti) • Rilasci frequenti • Testing
Metologie agili • Applicabili a progetti dove i requisiti utente cambiano continuamente • Se una persona è felice di lavorare produrrà un sistema di qualità superiore