Recentemente ho studiato analisi e progettazione orientata agli oggetti e mi è piaciuto molto. In ogni luogo che ho letto le persone dicono che l'idea è di iniziare con il minimo insieme di requisiti e migliorare nel modo, rivisitando ogni iterazione e migliorandola man mano che sviluppiamo e contattiamo continuamente il cliente interessato al software. In particolare, un corso di Lynda.com ha detto molto: non vogliamo dedicare molto tempo a pianificare tutto in anticipo, vogliamo solo avere il minimo per iniziare e quindi migliorare ogni iterazione.
Ora, ho anche visto un corso dello stesso tipo sulla progettazione di database, e lì dice in modo diverso. Dice che, anche se lavora con l'orientamento agli oggetti, gli piace l'approccio iterativo agile, per il design del database dovremmo davvero dedicare molto tempo alla pianificazione anticipata invece di limitarti ad andare avanti con il minimo.
Ma questo mi confonde un po '. Infatti, il database manterrà dati importanti dal nostro modello di dominio e forse configurazioni del software e così via. Ora, se ho intenzione di rivisitare continuamente l'analisi e il design del modello, sembra che anche la progettazione del database dovrebbe cambiare. Allo stesso modo, se pianifichiamo tutti i database in anticipo, sembra che stiamo pianificando anche tutti i modelli in anticipo, quindi le due idee sembrano incompatibili.
Mi piace un approccio iterativo agile, ma sto anche cercando di ottenere un design migliore per il database, quindi quando si lavora con un approccio iterativo agile, come dovremmo occuparci della progettazione del database?