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.