L’idea sarebbe andare a diventare dei progettisti del software a partire da colloquio col cliente fino al prodotto finito. Per fare questo vedremo varie metodologie per poter sviluppare programmi. Tutto cio’ per quanto riguarda la prima parte del corso. Nella seconda parte: vedremo come dimensionare i progetti del software e nell’ultima parte i design pattern.
Inizieremo con i modelli di sviluppo software con diversi tipi di metodologie. Considereremo le metodologie agili (in particolare SCRUM) utilizzando un gioco: “lego scrum” per vedere come funziona la metodologia omonima. Vedremo come andare a stimare quanto tempo e quante risorse possa richiedere un determinato progetto e le tre tecniche che ci permettono di dire (più o meno) i costi di sviluppo. Design pattern sono soluzioni a dei problemi comuni alla fine: creational structural, behavioral.
Lo sviluppo del software sembra solamente scrivere del codice, iniziare direttamente senza fare progettazione. In realtà questo è solamente una parte di tutto quanto il processo. Ci sono diverse attività, tipicamente divise in 5 fasi che precedono e seguono la scrittura materiale del codice:
Notiamo come la fase implementativa sia solamente al terza e le prime due siano praticamente di progettazione. Vedremo come tenere anche tutto in maniera sequenziale non sia sempre la cosa migliore da fare, vedremo come gestire al meglio queste fasi in base alle diverse situazioni.