Quando progettiamo applicazioni, generalmente ci ritroviamo con le stesse serie di strutture dati a più livelli:
- Una struttura di dati persistente descritta con DDL e implementata come tabelle e colonne RDBMS.
- Un insieme di oggetti di dominio costituiti principalmente da strutture di dati, generalmente combinate con la logica del livello di regole aziendali, implementate in un linguaggio di programmazione come Java.
- Un insieme di interfacce del livello di servizio che supportano direttamente le implementazioni caso d'uso (che utilizzano le strutture dati del dominio come parametri), implementate come EJB o qualcosa di equivalente in un altro linguaggio di programmazione.
- schermate dell'interfaccia utente che consentono agli utenti di C reate, R etrieve, U pdate e (forse) D elete tutti i tipi di strutture dati e grafici delle strutture dati, con numerose schermate e con più widget dell'interfaccia utente, tutti strutturati per supportare le stesse strutture di dati.
Ma se vuoi cambiare le strutture dei dati in uno di questi livelli, sembra sempre estremamente difficile valutare l'impatto (i) che il cambiamento avrà nell'applicazione. UML può essere d'aiuto, ma tracciare il diagramma dopo il diagramma non è una soluzione reale a questo problema. Il meglio che abbia mai visto è stato un documento di calcolo del foglio di dati per il tracciamento dei dati, che elencava tutte le strutture di dati e gestiva le relazioni da tier-to-tier.
Esiste uno strumento o un approccio accettato che semplifica l'identificazione di una struttura di dati in qualsiasi livello e consente di ottenere facilmente un elenco di tutti i dipendenti:
- tabella dei database e strutture dei dati delle colonne
- strutture dati oggetto dominio
- metodi dell'interfaccia del livello di servizio e strutture dei dati dei parametri
- schermo & Strutture dei dati dei componenti dell'interfaccia utente