Cos'è il modello di sviluppo a cascata nello sviluppo di app per Android?
Pensa alla cascata, l'acqua cadrebbe dall'alto verso il basso passo dopo passo da uno all'altro fino a raggiungere il livello inferiore. L'acqua cadrà al piano successivo solo quando è pronta a farlo in base a fattori specifici, se l'acqua è bloccata da qualcosa, allora si fermerà lì e non sarà in grado di andare oltre.
La metodologia di sviluppo software a cascata è la stessa. Definiremmo il numero di attività dall'inizio del progetto fino alla fine e normalmente divideremmo lo sviluppo del software in fasi.
Non inizieremo una fase specifica se i "Criteri di ingresso" di questa fase da iniziare non sono soddisfatti. Non passeremo alla fase successiva o al passo successivo fino a quando lo specifico "Exit Criteria" della fase corrente non sarà soddisfatto. Per esempio, non inizieremo la codifica se i requisiti del software non sono chiaramente definiti e firmati dal cliente, inoltre la codifica non inizierà se le specifiche di progettazione del software non sono disponibili e concordate. E il progetto software non sarà mai finito fino a quando tutti i criteri richiesti non saranno stati superati.
Si vedrebbero varie serie di fasi a seconda del singolo team/azienda. La più semplice è:
Requisiti->Progettazione->Integrazione->Verifica->Manutenzione
Si potrebbero avere diversi modelli per la metodologia di sviluppo a cascata come alcune aziende potrebbero avere "Studio di fattibilità" in anticipo, ma il concetto principale sarebbe sempre lo stesso.
Con il modello a cascata, si può fornire una soluzione per il tipo e il carattere specifico del progetto. Se il requisito è concreto e la timeline è solida si può fare un buon uso di questo. Se si può controllare la maggior parte dei fattori e dei vincoli, la cascata è adatta.
Che cosa succede se la timeline è critica per il cliente e non sarebbe in grado di aspettare a lungo e rilasciare il software il prima possibile è l'obiettivo principale. E se il cliente continua a cambiare i dettagli del software da consegnare. Questo è il motivo per cui si vedono sempre più metodologie di sviluppo software come "Iterative Development", "Agile", o altro.
Tutto ha pro e contro, bisogna solo trovare quella più adatta al proprio contesto.
Articoli simili
- Qual è la differenza tra modello AR, modello ARMA e modello ARIMA?
- Perché i monitor per PC non hanno schermi curvi e senza cornice 'a cascata' come i moderni smartphone?
- Come sopravvive Sherlock dopo essere caduto nella cascata?
- Qual è la differenza tra il modello melodico ros e il modello noetico? Quale è meglio per i principianti?