Modello di sviluppo del software

In informatica un modello di sviluppo software è il principio teorico che indica il metodo da seguire nel progettare e nello scrivere un programma. Il modello è alla base di una metodologia di sviluppo. I modelli di sviluppo software simulano la realtà per vedere cosa accadrebbe e al fine di…

In informatica un modello di sviluppo software è il principio teorico che indica il metodo da seguire nel progettare e nello scrivere un programma. Il modello è alla base di una metodologia di sviluppo. I modelli di sviluppo software simulano la realtà per vedere cosa accadrebbe e al fine di ridurre gli errori e ottimizzare prestazioni e risultati.

Storia

Il primo modello in ordine storico è il Modello a cascata, cui si deve la definizione delle fasi-chiave. Nacque negli anni 60 e trovò massima applicazione negli anni settanta, tuttavia mostrò i suoi limiti dovuti ad una rigidità e linearità dei processi che provocavano una lievitazione dei costi soprattutto di manutenzione.

Il modello a cascata ha poi subito diversi cambiamenti che hanno portato prima al modello evolutivo, che aggiunge al modello a cascata una prima fase più ridotta nota come prototipazione in grado di ottenere migliori requisiti, e il modello trasformazionale, che punta ad un'analisi dei requisiti sempre più approfondita e migliorata in grado di produrre alla fine un prototipo funzionale.

Un altro modello è il Modello a spirale, poco conosciuto in Italia, ma molto vivo negli Stati Uniti d'America, e l'Extreme Programming, spesso abbreviato in XP.

Da questi metodi iterativi ed incrementali si è evoluta tutta una famiglia di metodi che appartengono alla metodologia Agile (Scrum, SAFe, LeSS, DSDM, DAD, ecc.).

Elenco di modelli e meta-modelli di sviluppo

Modello a cascata

Modello evolutivo

Modello trasformazionale

Modello a spirale

Modello a fontana

Prototipazione

Metodologia agile

Test driven development

Extreme Programming

Servizi correlati

Altre voci

C

Cloud computing

Il cloud computing, in italiano nuvola informatica o servizi nella nuvola, indica un paradigma di erogazione di servizi offerti su richiesta da un fornitore a un utente finale attraverso la rete internet (come l'archiviazione, l'elaborazione o la trasmissione dati), a partire da un insieme di…

Leggi la voce →
I

Infrastructure as a service

Infrastructure as a service (IaaS) è un'attività economica in cui un fornitore di servizi informatici permette ai clienti di creare piani personalizzati per la creazione di un'infrastruttura cloud scalabile che comprende risorse di calcolo, CPU, RAM, connessioni di rete, memorie di massa e tutto…

Leggi la voce →
C

Customer communications management

Il Customer Communications Management (CCM) è un’attività che consente alle aziende di gestire le comunicazioni con i clienti che avvengono attraverso un’ampia gamma di canali. Originariamente, il customer communications management riguardava i documenti stampati, i documenti digitali…

Leggi la voce →
S

SAP CRM

SAP CRM è un'applicazione di customer relationship management (Gestione della relazione col cliente) integrata prodotta da SAP per le richieste della media e grande impresa in tutti i settori industriali.

Leggi la voce →
G

Gnuteca

Gnuteca è un software libero per l'automatizzazione e l'amministrazione delle biblioteche, distribuito con licenza GNU GPL.

Leggi la voce →
Ansible (software)A

Ansible (software)

In informatica Ansible è un software libero che consente di automatizzare le procedure di configurazione e gestione sui sistemi unix-like e Windows (Il nome "Ansible" si riferisce ad un oggetto fantascientifico che consente di comunicare più velocemente della luce).

Leggi la voce →