Object modeling è un sito dedicato ai programmatori e ai progettisti di sistemi software. Le tematiche trattate sono legate alla progettazione e allo sviluppo di software secondo la metodologia orientata agli oggetti. All'interno di queste pagine sono discussi aspetti legati ad analisi, design, UML, pattern e testing.
La mission del sito è quella di promuovere la divulgazione dei principi e delle tecniche di progettazione object-oriented. L'obiettivo più ambizioso consiste nel fornire un riferimento sulla "buona" progettazione.
Il materiale che pubblico in queste pagine deriva dalle mie esperienze professionali,
dalle consulenze, dai miei studi e, in parte, anche dal mio lavoro di autore.
Proprio per il particolare approccio, focalizzato sui principi, sulle tecniche
di progettazione e sulle esperienze, object modeling è rivolto principalmente
allo sviluppatore professionista. Tuttavia anche gli studenti con una minima
conoscenza dei fondamenti di programmazione che sono interessati alle tematiche
inerenti la modellazione del software possono trovare utili idee e spunti
di approfondimento.
Al centro del processo creativo di sviluppo di un sistema software c'è la figura umana del progettista e del programmatore. Nelle pagine di object modeling tale figura è sempre il fulcro attorno al quale ruotano tecniche, principi e metodologie. Non va dimenticato infatti che la progettazione è in parte tecnica e tecnologia, in parte stile e creatività. Se consideriamo ora che il software è inerentemente complesso, e che parte di questa complessità non si può abbattere poichè deriva dal dominio del problema, arriviamo alla conclusione che saper progettare bene è un'attività umana e per nulla automatica. Per costruire sistemi di qualità gli strumenti più importanti per un progettista sono la conoscenza, l'esperienza, l'intuizione e non un liguaggio di programmazione, una libreria o un CASE tool. In altre parole, per progettare ad oggetti bisogna prima pensare ad oggetti.
Le diverse sezioni che costituiscono object modeling sono state sviluppate nell'ottica di una costante ricerca del punto d'equilibrio tra "vecchio" e "nuovo", tra tecnologia e solidi principi di ingegneria del software (best practices). Da un lato esiste la necessità di rimanere aggiornati con l'evoluzione tecnologica. Dall'altro lato, però, è fondamentale non dimenticare i principi chiave della "buona" progettazione, per fissare linee guida, tecniche e strategie che sono bagaglio indispensabile di ogni esperto progettista del software. La ricerca di questo equilibrio spero conferisca al sito un tono critico, ma al tempo stesso il più possibile neutrale.