Applicazioni Web: PHP e UML

di: Mariano Calandra     08 Aprile 2011

A molti programmatori, me incluso, sarà capitato senz'altro di rileggere, a distanza di tempo, programmi o segmenti di codice scritti in prima persona (senza alcun commento) e avere un iniziale senso di smarrimento. Come è possibile che non ci si capisca più nulla? È possibile, ed è la prova provata che il solo codice sorgente non è in grado di fornire una visione di insieme dettagliata e precisa, neanche agli sviluppatori stessi che quel codice l'hanno scritto.

Da queste ed altre necessità dell'ingegneria del software nasce l'idea di un qualcosa che guardi dall'alto l'intero progetto software e astragga da esso la complessità della comprensione propria del codice sorgente, la risposta a questa necessità si chiama UML.

UML è l'acronimo di Unified Modeling Language, ma "Language", in questo caso, non sta ad indicare alcun linguaggio di programmazione. Esso è in realtà un insieme di formalismi grafici che raggruppati in maniera organica forniscono un supporto visuale ed immediato ad ogni fase dello sviluppo di un progetto software Object Oriented

Nato nel 1996, grazie agli sforzi intellettuali di Grady Booch, Jim Rumbaugh e Ivar Jacobson, UMLha da subito dimostrato le potenzialità espressive della convenzione grafica a discapito di centinaia di righe di codice, imponendosi come uno standard de facto.

UML e le applicazioni Web

Considerato fino a pochi anni fa una tediosa pratica, oggi il valore dell'UML è più chiaro e il suo contributo sempre più gradito, anche a realtà piuttosto piccole. Parallelamente all'affermarsi dell'UML, il Web così come lo conoscevamo si evolveva verso la sua versione 2.0: il web moderno (fatto di PHP, Ajax, Css) porta con sé una complessità intrinseca di sviluppo molto più elevata. Come se non bastasse, in un'applicazione web importante è anche l'aspetto grafico: agli sviluppatori tradizionali lato server si aggiungeranno, quindi, gli esperti della parte grafica. Non solo, un sito web ha bisogno di ottimizzazione per balzare nei primi risultati dei motori di ricerca, agli sviluppatori e ai "grafici" si aggiungeranno i SEO.

Mentre gli sviluppatori saranno impegnati al lato squisitamente tecnico del sistema, i grafici saranno impegnati con quello artistico. Come fare dunque a garantire una pacifica convivenza a persone con bagaglio tecnico e obiettivi diversi tra loro? Risposta retorica: con l'UML! Infatti, ancor di più nelle applicazioni web, c'è bisogno di regole precise e prestabilite entro cui possono muoversi i vari ruoli. Non di meno, abbiamo bisogno di una rappresentazione che ci mostri il sistema software senza fare riferimento a dettagli tecnici che gli addetti al lato artistico della nostra applicazione potrebbero non comprendere a pieno.

Purtroppo, così come si presenta nella sua dotazione "standard", l'UML è poco adattabile al web ed è carente di rappresentazione. Fortunatamente, dalla versione 0.91, è possibile estendere le potenzialità dell'UML di base. Uno dei meccanismi di estensione più noto sono i cosiddetti stereotipi, etichette racchiuse tra parentesi angolari che arrichiscono di significato i modelli predefiniti di UML, arrivando a creare addirittura estensioni UML adatte a contesti particolari, si parlerà in questo caso di profili UML.

Il profilo di cui discuteremo nelle prossime pagine è stato proposto da Jim Conallen nel 1998 incontrando fin da subito i favori della comunità informatica, che si è prodigata in suggerimenti e consigli per migliorare il suo lavoro.

Gli articoli che seguono, vogliono illustrare brevemente ma in maniera chiara il lavoro di Jim, così da migliorare la progettazione delle nostre applicazioni Web e ottenere prodotti di qualità, requisito fondamentale per avere successo nella giungla di siti web già esistenti. Proveremo a coprire l'intero processo creativo che accompagna lo sviluppo di un'applicazione web, a partire dalla scelta dell'architettura fino alla sua implementazione. Essendo in presenza di una estensione di UML, questa serie di articoli è, di fatto, la naturale prosecuzione della guida ad UML già presente su questo sito, di cui se ne consiglia la conoscenza. Si è preferito astrarre il più possibile il resto della lettura dalle architetture, dai linguaggi e dai processi utilizzabili, per tale motivo, non verrà fatto riferimento ad alcun processo di sviluppo in particolare ma a soli princìpi generali.

Guide PHP

Guida Yii Framework

Come creare applicazioni Web in modo semplice e veloce con il...

Guida Zend Framework

Diventate professionisti dello sviluppo Web. Zend Framework è lo...

Guida Applicazioni Facebook con PHP

Come realizzare un'applicazione per Facebook. Dalle basi della...

Altre guide

Newsletter @PHP

Ogni lunedì, direttamente nella tua e-mail: script, articoli, guide e tutorial su PHP, MySQL e Apache.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso PHP per Webmaster

11 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti