Lo sviluppo del software è un processo che richiede una pianificazione e una previsione precise. Sono disponibili diverse tecniche per documentare lo sviluppo del software. Unified Modeling Language (UML) è un metodo standard utilizzato per documentare gli artefatti necessari per lo sviluppo del software.
UML è una raccolta di best practice di progettazione che sono state utilizzate per molti anni nella comunità di sviluppo software. Il linguaggio di modellazione unificato è stato introdotto per la prima volta nel 1996 dall’Object Management Group (OMG). La versione iniziale di UML è stata creata da un gruppo di esperti di sviluppo software spesso indicati come i tre amigos.
I tre amici sono Grady Booch, James Rumbaugh e Ivar Jacobson. Sono considerati i leader e fondatori del progetto di unificazione del metodo standard nel 1996 che ha portato alla creazione di Unified Modeling Language. Questo sforzo di unificazione ha adottato i migliori approcci per la progettazione e lo sviluppo del software e ha creato un framework riutilizzabile che potrebbe essere facilmente compreso.
L’approccio di progettazione UML utilizza le notazioni grafiche come dispositivo di comunicazione per i progetti software e la comunità di utenti. Queste notazioni grafiche aiutano il team di sviluppo software a esplorare potenziali progetti e insidie. Il linguaggio di modellazione unificato viene generalmente utilizzato come modello per la progettazione di un’applicazione software. Questo progetto spiega come verrà creata un’applicazione software.
Agile Modeling (AM) è un esempio di approccio alla progettazione software che utilizza UML. AM è una raccolta di pratiche e principi per la progettazione di software. Il processo UML è spesso criticato per essere gravoso per il team di sviluppo, specialmente nell’area della gestione dei documenti. Agile Modeling tenta di prendere i pezzi necessari di UML e di ottimizzarli in un framework di progettazione agile. Agile Modeling utilizza i documenti UML come bozze di progetto piuttosto che come progetti finali o documenti formali. Ciò elimina la necessità di aggiornamenti regolari dei documenti UML.
Il Model Based Testing (MBT) è un processo in cui il test viene completato sulla base di progetti definiti. Questi progetti sono costruiti dai requisiti di un sistema. I requisiti definiti vengono quindi utilizzati per generare casi di test, che vengono scritti come script di test. Gli artefatti MBT possono quindi generare le informazioni necessarie per spiegare lo stato previsto di un sistema.
Uno dei processi più complessi all’interno dello sviluppo del software è l’integrazione dei componenti. Model-Driven Integration (MDI) è un processo progettato per semplificare lo sforzo di integrazione di un’applicazione. All’interno di MDI viene creato un progetto in Unified Modeling Language per rappresentare il controllo dei percorsi di scambio nel software.