Newsgroup: it.comp.software.database
Titolo: Progettazione database su applicazioni OO

Salve lista,
mi scuso in anticipo se ritenete che questo post sia OT.
Con C++Builder, sto affrontando lo sviluppo di un'applicazione
gestionale che fa uso di database. Sto cercando di seguire le nozioni
apprese in anni di studio universitario, per applicare i criteri OO per
analisi e progettazione dell'applicazione. Il mio problema risiede nella
progettazione della base di dati, poiche', ho verificato che i database
relazionali comportano spesso problemi di integrazione con le
applicazioni object-oriented, dovuti al diverso modello fisico scelto.
Sarei interessato a reperire documentazione che si spinga nei dettagli
della progettazione di una applicazione sviluppata secondo i criteri OO
e che faccia uso di database relazionali. La documentazione che ho
visionato fin'ora, riguarda semplicemente la modellazione di basi di
dati mediante UML. Sono ben accette storie di vita vissuta. Mi scuso se
sono stato poco chiaro nell'esposizione del problema. In tal caso potrei
riportarvi, nella pratica, il mio problema.
Ringrazio anticipatamente,
Vincenzo.

 e che faccia uso di database relazionali.
Dipende dai tuoi criteri di progettazione.
Se sono come i miei:
http://www.extremeprogramming.org/stories/testdb.html
All'inizio ho fatto fatica (*tanta*). Ora mi godo i frutti del 'cambio'.
My 0,2 eurocents,
	nicholas

 applicazioni object-oriented, dovuti al diverso modello fisico scelto.
non mi è chiaro cosa tu intenda, un esempio mi aiuterebbe
ciao

 applicazioni object-oriented, dovuti al diverso modello fisico scelto.
che problemi? il front-end lo fai in logica oo, il db relazionale. 
qual'è il problema?


Ho provato a dare un'occhiata più di qualche volta agli articoli su questo
sito, ma come si fà a testare l'interfaccia utente dove è di solito l'utente
che entrando e uscendo in una certa sequenza dai campi, unito a particolari
valori nel database genera i problemi?
Quello che scrivono và bene se devi testare funzioni di libreria ma non
interi programmi. Qualche altra idea?

 : 

A dire il vero si parla di continua integrazione e continuo contatto con
il cliente.
Cmq hai chiesto la mia esperienza, e l'hai avuta, di più nun posso fa.

In realta' i problemi nascono quando voglio ad esempio creare un report.
Supponiamo di avere una tabella relazionale contentenente un insieme di
utenti; se volessi creare un report di tutti gli utenti, non potrei di certo
utilizzare la classe utente che ho definito a livello logico, poiche'
l'oggetto che posso istanziare si riferisce ad un unico utente in archivio.
Del resto non e' plausibile creare una lista (o array) di oggetti utente
poiche' non posso tenere in memoria informazioni di migliaia di utenti
contenuti in archivio.
In questo caso mi servirebbe uno stratagemma (es. un apposito layer di
interfacciamento con il database o meglio ancora una diversa strutturazione
delle classi a livello logico) che riesca a gestire le operazioni di "find
next", "find last", "get", ecc.
Spero di essere stato piu' chiaro.
Ringrazio.


 In realta' i problemi nascono quando voglio ad esempio creare un report.
capisco cosa vuoi dire. personalemnte faccio volentieri a meno di 
mappare i miei dati relazionali su oggetti. per i report non ne ho mai 
avuto bisogno, nč in altre occasioni ne ho sentito la mancanza.
imho ovviamente.

 next", "find last", "get", ecc.
mmmmm
sembra tu stia parlando di ADO ;)
(da non programmatore OO) comunque non ho capito xche' non fare una tuo
strato che esponga quei metodi

 strato che esponga quei metodi
E' proprio quello il problema, voi come progettereste questo layer?
Qualcuno lo ha mai fatto? In che modo?
Da altre mailing list sono riuscito a scopripre che esiste qualcosa di
preconfezionato per java... ma per c++?
In ogni caso sarei orientato ad inserire questo strato all'interno dei miei
schemi di progetto, senza affidarmi a soluzioni esterne.

 Qualcuno lo ha mai fatto? In che modo?
3tier
noi l'abbiamo fatto in VB e botte di com distribuito; ma non seguo io il
progetto e non conosco il framework in dettaglio.
Quello che non capisco e come si mescoli con OO; di strati ne puoi fare
1 o ventimila tanto prima o poi i metodi che citavi li devi
scrivere/esporre. A quel punto ripeto è la stessa cosa che fa ADO o no?