Ripensando ancora alla giornata di oggi, m'è venuto in mente il metodo che ho deciso di adottare per definire la struttura dei dati da manipolare. Ho preso una mazzetta di fogli A4, l'ho divisa in due parti uguali ottenendo così dei foglietti non troppo grandi. A questo punto ho scritto in cima al primo foglietto, il nome ipotetico della tabella che dalla discussione appariva centrale, e ho cominciato ad elencare i campi che a quel momento avevamo individuato. A fianco ho annotato le peculiarità dei campi e della tabella.

Continuando in questo modo, in breve siamo riusciti a strutturare piuttosto bene la base dati, individuando per bene le entità che facevano parte del problema. Confesso che la cosa mi è venuta in modo completamente involontario, senza pensare alla tecnica delle CRC cards, ma ripensandoci ora, mi rendo conto che vi sono delle similitudini. Se avessimo applicato questo modo di procedere alle classi piuttosto che alla struttura fisica del database avremmo molto probabilmente isolato ancor meglio le componenti fondamentali del sistema trovandoci poi in grado di desumere da esse la possibile struttura del database, ma al contempo avendo una migliore definizione della gerarchia di classi necessaria.

Alla fine dei conti, semplificando è possibile individuare una classe per ogni tabella, ma di certo questo non è il modo più efficace di progettare e di certo non la soluzione ottimale. Invece, procedendo al contrario è probabile che il risultato sarebbe migliore, potendo definire delle classi che assolvono bene al loro compito ed un database altrettanto efficace.

Prometto che la prossima volta ci provo.

powered by IMHO