Activitats
Definició de classes mitjançant ODL
L’objectiu d’aquesta activitat és veure com especificar classes usant el llenguatge ODL.
Genereu la declaració ODL de les classes del diagrama següent:
Instal·lació i ús de db4o
L’objectiu d’aquesta activitat és veure com usar les llibreries de db4o per treballar amb BDOO mitjançant el vostre IDE.
Aneu a la pàgina de db4o i descarregueu les seves biblioteques i la documentació. Llegiu la documentació per veure de quina manera podeu usar les biblioteques per generar programes mitjançant el vostre IDE. Un cop fet, executeu el codi següent per veure que tot està correcte:
import com.db4o.*; public class ProvaDB4O { private class Data { private int dia; private int mes; private int any; public Data(int d, int m, int a) { dia = d; mes = m; any = a; } @Override return dia + "-" + mes + "-" + any; } } ObjectContainer db = Db4oEmbedded.openFile("BDOOClients.db4o"); try { Data d = new Data(23, 11, 2011); db.store(d); d = new Data(5, 9, 1975); db.store(d); d = new Data(4, 9, 1978); db.store(d); d = new Data(0,9,0); ObjectSet<Data> res = db.queryByExample(d); while (res.hasNext()) { } } finally { db.close(); } } ProvaDB4O prova = new ProvaDB4O(); prova.start(); } }
Gestió de grups de treball d'estudiants mitjançant db4o
L’objectiu d’aquesta activitat és veure com gestionar la persistència d’objectes usant la BDOO db4o.
Es disposa de les dues classes Estudiant
i GrupTreball
, el codi de les quals es mostra tot seguit. A partir d’aquest codi, es desitja crear una aplicació que, mitjançant una BDOO db4o gestioni a quins grups de treball pertanyen diferents estudiants dins una escola. Donat un grup de treball, aquest pot tenir assignats diversos estudiants, però tot estudiant només té un (però sempre un) únic grup de treball. L’aplicació ha de poder fer el següent:
- Donar d’alta un nou estudiant. A l’hora d’assignar-li un grup, si el nom indicat no existeix, es crea un nou grup. Si existeix, a l’estudiant se li assigna aquell grup.
- Reassignar un estudiant a un altre grup de treball. Aquest grup ja ha d’existir. Si, en fer-ho, el grup antic queda sense membres, cal esborrar-lo de la BDOO.
- Llistar tots els grups existents.
- Llistar tots els estudiants (i a quin grup pertanyen).
Es considera que els noms dels grups i dels estudiants són únics al sistema. No hi pot haver noms repetits. En base a la descripció, també cal remarcar que l’única manera de crear grups nous és afegint-hi nous estudiants.
Per dur a terme aquesta tasca, el codi font d’aquestes dues classes no es pot modificar en absolut.
public class Estudiant { private GrupTreball grup; nom = n; grup = gt; grup.sumaEstudiant(); } return nom; } public GrupTreball getGrupTreball() { return grup; } public void reassignaGrup(GrupTreball gt) { if (grup != gt) { grup.restaEstudiant(); grup = gt; grup.sumaEstudiant(); } } @Override return nom + " -> " + grup; } }
public class GrupTreball { private int numEstudiants = 0; nom = n; tema = tm; } public void sumaEstudiant() { numEstudiants++; } public void restaEstudiant() { numEstudiants--; } public int getNumEstudiants() { return numEstudiants; } @Override return nom + " - " + tema; } }
Gestió de clients i encàrrecs mitjançant db4o
L’objectiu d’aquesta activitat és veure com gestionar la persistència d’objectes usant la BDOO db4o.
Feu un programa que gestioni els objectes d’una base de dades de clients d’acord al diagrama següent:
El programa ha de poder donar les opcions següents:
- Afegir un nou tipus de producte.
- Afegir un nou client.
- Afegir un nou encàrrec a un client; l’encàrrec pot contenir més d’un tipus de producte associat.
- Llistar tots els tipus de producte al sistema.
- Llistar les dades d’un client i tots els seus encàrrecs fins ara.
Els tipus de producte i els clients s’identifiquen de manera única pel nom (només pot haver-hi un únic objecte amb un nom donat). Per a aquest exercici no cal que gestioneu la persistència d’actualitzacions entre diferents execucions.
Instal·lació i ús de JDO
L’objectiu d’aquesta activitat és veure com usar una BDDOO basada en JDO mitjançant el vostre IDE.
Aneu a la pàgina de la BDOO JDOInstruments i descarregueu les seves biblioteques i la documentació. Llegiu la documentació per veure de quina manera podeu usar les biblioteques per generar programes mitjançant el vostre IDE. Un cop fet, executeu correctament l’exemple proporcionat amb les llibreries (a la carpeta “linuxexample” o “windiowsexample”, segons el vostre sistema operatiu).