Progettazione Web Application: l’importanza della fase di analisi

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Pubblicato il 5/7/2010 alle 06:00

progettazione web application

Da sempre mi occupo di progettazione e realizzazione di CMS e Web Applications in generale e, devo dire, che è un lavoro davvero interessante e stimolante. Oggi voglio sottolineare la grande importanza che ha la fase di analisi nella progettazione di una web application.

Uno degli errori più gravi che commette un giovane web developer con poca esperienza è quello di non preoccuparsi di analizzare con grande cura tutto quello che riguarda la web application che deve sviluppare. Inizia a scrivere righe e righe di codice ma questo lo porterà molto presto ad incappare nei primi problemi, giusto per fare qualche esempio:

- Non ha previsto qualcosa
- Ha dimenticato qualcosa di importante
- Deve riscrivere codice poichè funzionante ma l’obiettivo era leggermente diverso
- Non ha adottato la tecnica OOP e non ha previsto la “modularizzazione dell’applicazione”, un errore di progettazione, lo costringerà probabilmente a dover rivedere l’intera applicazione

Un programmatore viene in genere indicato come “analista programmatore” per un motivo ben preciso: non si occupa di scrivere codice soltanto ma bensì di analizzare un problema (o l’esigenza di un cliente), individuare la soluzione per poi implementare il progetto “funzionante” attraverso la stesura del codice. Nella fase di analisi nulla deve essere lasciato al caso, tutto deve essere previsto, per ogni problema deve essere stata trovata la soluzione più opportuna e performante.

Un consiglio che mi sento di dare è quello di adottare il pattern MVC per l’architettura dell’applicazione e di aiutarsi con tabelle e modelli E/R per la progettazione e realizzazione del database. Scrivere una documentazione dettagliata durante la fase di analisi è un dovere “verso se stessi” perchè, in futuro, alcuni concetti dell’applicazione potrebbero andare dimenticati ed è opportuno avere sempre a disposizione documenti che descrivano tutti gli aspetti e i comportamenti dell’applicazione in modo chiaro.

Un altro consiglio che mi sento di dare è quello di prevedere che l’applicazione sia “modulare“. Suddividere l’applicazione in moduli agevolerà la manutenzione del codice. Pensiamo, ad esempio, a un futuro dove sarà necessario modificare la parte dell’applicazione che si occupa di gestire la pubblicazione di news. Avere la possibilità di lavorare al modulo “news” (che conterrà i files necessari al suo funzionamento: inserimento, modifica, cancellazione, ricerca, visualizzazione) ci permetterà di ottimizzare i tempi delle modifiche senza dover intervenire in tutti i files dell’applicazione. Magari prevedere un modulo “plugins” per la gestione automatizzata dei vari moduli sarebbe una funzionalità che renderebbe la nostra applicazione a dir poco eccellente dal punto di vista degli aggiornamenti e dell’espansione delle funzionalità.

Ultimo consiglio, nella fase di analisi, ritengo un fattore di grande importanza quello di prevedere un “core” con cui sviluppare l’intera applicazione. Con core intendo una serie di classi/oggetti che si occuperanno della gestione delle situazioni critiche e degli aspetti fondamentali per il funzionamento dell’applicazione. Ad esempio:

- una classe “database” per le interazioni col database
- una classe “ftp” per la gestione dei files via ftp
- una classe “session” per la gestione delle sessioni utente

Più altre classi personalizzate per compiti specifici. Più è elevata la qualità del core più ne beneficerà il programmatore durante la stesura del codice. Adottare un approccio “object oriented” permette, inoltre, di rendere il codice “riutilizzabile” e offre la possibilità di modificare i comportamenti “interni” senza dover intervenire sull’interfaccia.

Google Buzz
Pubblicato in CMS,Database,News,Programmazione,Software | Nessun commento »

I migliori post della settimana #35

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Pubblicato il 1/8/2009 alle 11:13

Best Post

Anticipata al sabato l’ultima selezione di “best posts” prima delle vacanze. Ecco i posts più interessanti di questa settimana:

1) Come guadagnare insegnando ad altri come guadagnare

2) 4 miti da sfatare sul posizionamento!

3) Tutorial:Come si trasferisce il database di wordpress su un altro spazio?

4) Conviene usare AdSense come distrazione?

5) Come deve essere un guest post?

Google Buzz
Pubblicato in Blog,Database,Guadagnare online,Migliori post della settimana,SEO,Wordpress | 2 Commenti »

Categorie







Ultimi commenti

  • EmaWebDesign: @Joel sono d’accordo con te ;) @Giovanni si Giov, CKeditor merita più di un’occhiata :)
  • Giovanni: Io ormai ho adottato TinyMCE ma con questo post mi hai invogliato a riprovare FCK – pardon –...
  • Joel: Hola ;-) qualche mesetto fa ho avuto la necessità di inserire un editor in un mio progetto. Penso di averne...
  • EmaWebDesign: TinyMCE è sicuramente uno degli editor Wysiwyg più amati, soprattutto da chi utilizza Wordpress ;)
  • luca: Ciao, Io ho utilizzato per molto tempo fckeditor ma per alcune cose era molto limitato e quindi un volta ho...
  • EmaWebDesign: @Rudy sarebbe il caso di capire come il the best possa stare dentro al the best…cioè, mica può...
  • Giovanni: Mitico Rudy, sei troppo meta-blogger! Ema, io ho l’impressione che quando uno metta uno specchietto...
  • Rudy Bandiera: Io preferisco questo, questo è il mio articolo preferito, ma così si genera un paradosso ovvero il the...
  • EmaWebDesign: Ciao Marco, essì, la Web Analytics è una delle cose più interessanti in assoluto. A presto ;)
  • Marco: Ottimo :) articolo interessante :D