Modelli di processo software

Il modello di processo software o paradigma di processo è una rappresentazione semplificata di un processo software, distinguiamo:

  • Modello a cascata: le attività di processo fondamentali, sono rappresentate come fasi distinte del processo
  • Sviluppo incrementale: intreccia le attività di processo fondamentali. Il sistema viene sviluppato come una serie di versioni, ciascuna delle quali aggiunge nuove funzionalità alla versione precedente.
  • Integrazione e configurazione: si basa sulla disponibilità di un gran numero di componenti o sistemi riutilizzabili. Il processo di sviluppo si basa sulla configurazione di questi componenti per utilizzarli in una nuova disposizione e integrarli in un sistema.

Non esiste un processo di sviluppo universale che si possa applicare bene ad ogni progetto di sistema. Il processo appropriato dipende dai requisiti del cliente. Ad esempio:

  • Il software di sicurezza critica (ovvero un sistema che può causare seri danni fisici/economici a persone: satelliti, banche,...) è di solito sviluppato sfruttando un modello di sviluppo a cascata, in quanto sono richieste molte analisi e documentazione prima di iniziare l'implementazione.
  • I prodotti software sono sempre sviluppati usando un modello di processo incrementale (questo è il modello su cui ci concentreremo di più)
  • I sistemi aziendali vengono sempre più sviluppati configurando e integrando i sistemi esistenti per creare un nuovo sistema con le funzionalità richieste