Modelli di Sviluppo Software: Caratteristiche e Metodologie Operative

Classificato in Informatica

Scritto il in italiano con una dimensione di 4,98 KB

Modello a Cascata (Waterfall)

Il modello a cascata presuppone che le esigenze di un problema siano ben comprese e stabili all'interno delle fasi generiche dell'Ingegneria del Software.

Caratteristiche principali:

  • I documenti di regia vengono generati in ogni singola fase.
  • Gli stadi non si sovrappongono.
  • Le revisioni sono effettuate dopo ogni fase; si passa alla successiva solo se la fase precedente è stata completata con successo.

Vantaggi:

  • Consigliato per i prodotti che hanno una definizione stabile.
  • Indicato quando si lavora con metodologie conosciute.
  • Aiuta a minimizzare i costi di progettazione, poiché permette una gestione lineare di tempo e risorse.

Svantaggi:

  • È difficile indicare chiaramente i requisiti di un progetto in un primo momento, prima di iniziare la progettazione e la scrittura del codice.
  • Piccole omissioni nella definizione di solito comportano grandi cambiamenti nelle diverse fasi del modulo.
  • Gli errori nei requisiti vengono spesso rilevati solo in fase di costruzione o di distribuzione.

Modello Incrementale

Questo approccio è per sua natura un modello iterativo che combina elementi del modello a cascata applicati in modo ripetitivo.

Caratteristiche principali:

  • Applica una sequenza lineare sfalsata nel tempo.
  • Si basa sulla consegna di incrementi funzionali del software.

Vantaggi:

  • Molto utile quando la disponibilità di personale è scarsa.
  • Gli incrementi sono utili per ridurre il rischio tecnico del progetto.

Svantaggi:

  • Presenta svantaggi simili a quelli descritti per il modello a cascata, sebbene in misura minore.

Conclusione:

  • Raccomandato per progetti che possono essere implementati a rate o in modo modulare.
  • Indicato per progetti con requisiti stabili.

Modello RAD (Rapid Application Development)

Il modello RAD è un adattamento ad alta velocità del modello a cascata, focalizzato sulla costruzione rapida.

Caratteristiche:

  • È un modello di processo incrementale.
  • Approccio basato sulla costruzione a componenti software e sulla generazione automatica di codice.

Vantaggi:

  • Consigliato quando il progetto può essere separato in moduli indipendenti.
  • Indicato quando sono ben noti i tempi di implementazione di ogni singolo modulo.
  • Ideale quando il progetto prevede la realizzazione di componenti riutilizzabili.

Svantaggi:

  • Richiede risorse sufficienti per formare diverse squadre di lavoro.
  • Richiede un forte impegno da parte degli sviluppatori per rispettare i tempi; in caso contrario, si possono creare colli di bottiglia.
  • Presenta difficoltà quando il sistema non può essere facilmente suddiviso in moduli.

Conclusione:

  • Consigliato per progetti che comprendono la realizzazione di componenti specifici.
  • Ideale per progetti con tempi di implementazione certi e dove si lavora con tecnologie conosciute.

Modello Prototipo

Questo modello è orientato al debug dei requisiti e permette un alto grado di interazione con l'utente finale.

Caratteristiche:

  • Permette al cliente di visualizzare rapidamente i risultati preliminari.
  • Si focalizza sulla comprensione delle necessità reali prima della produzione finale.

Vantaggi:

  • Inizialmente non viene fatta una gestione complessa del progetto, evitando perdite di tempo in documentazione eccessiva o controllo qualità formale nelle fasi embrionali.
  • Può mostrare segni di progresso immediati perché si inizia subito a codificare.
  • Utile per piccoli progetti di breve durata che saranno sostituiti o rimossi rapidamente.
  • Aiuta a comprendere le reali esigenze del progetto.

Svantaggi:

  • È quasi impossibile conoscere all'inizio il tempo complessivo di attuazione del progetto.
  • Numero imprecisato di iterazioni da eseguire.
  • I tempi effettivi di attuazione finale sono difficili da determinare.

Conclusione:

  • Consigliato per progetti che presentano una forte incertezza nella definizione delle proprie specifiche tecniche.

Voci correlate: