Strategia bottom-up nella progettazione delle basi dati
La strategia bottom-up consiste nel descrivere prima le singole componenti del sistema con uno schema concettuale dettagliato. Si progetta dal particolare (bottom=basso) al generale (up=alto).
Dove UP (alto) è sinonimo di astrazione e generale mentre BOTTOM (basso) è sinonimo di particolare.
Una volta realizzati gli schemi concettuali dei singoli componenti del sistema, li unisco tra loro per formare lo schema concettuale del progetto.
Le fasi della strategia bottom-up sono le seguenti
- Decomposizione
Suddivido le specifiche del sistema in sottosistemi indipendenti (componenti) - Descrizione e rappresentazione
Descrivo e rappresento ogni sottosistema con uno schema concettuale a se stante. - Integrazione
Integro gli schemi concettuali dei sottosistemi per comporre lo schema concettuale dell'intero sistema
Le primitive di trasformazione
Nella fase di integrazione occorre aggiungere delle funzioni di trasformazione (primitive) per tradurre i concetti dei singoli schemi e integrarli nello schema finale.
Esempio
Due componenti del sistema definiscono la stessa entità da punti di vista diversi.
Il sottosistema amministrativo definisce una entità Clienti con alcuni attributi (nome, cognome, codice fiscale) mentre il sottosistema didattico la definisce con un altro nome (es. Studenti) e con altri attributi (nome, cognome, matricola).
Nella fase di integrazione gli attributi sono uniti, senza duplicazioni, in un'unica entità Studenti (nome, cognome, codice fiscale, matricola).
Tuttavia, questo passaggio deve essere spiegato nella documentazione tramite un'apposita primitiva che collega gli schemi elementari allo schema finale.
Pro e contro della strategia bottom-up
I principali vantaggi sono
- La decomposizione del problema in singoli problemi, mi permette di lavorare su singoli sotto-progetti più semplici da affrontare.
- Posso affidare la realizzazione dei sotto-progetti a progettisti differenti o lavorarci in tempi diversi.
I principali svantaggi sono
- in questa strategia si perde un po' la visione d'insieme del progetto.
- Nell'ultima fase di progettazione bottom-up si perde molto tempo a integrare gli schemi concettuali tra loro.
E così via.