JAVA - JDO

Ξεκίνησε από ΜΙΤΜ, 17 Νοε 2009, 01:40:47 ΠΜ

« προηγούμενο - επόμενο »

ΜΙΤΜ

Δεν θέλω την λύση αλλά ποιό λογισμικο θα χρησιμοποησω και με τι θα το συνδυάσω αν πρέπει, για να φτάσω στο επιθυμητω αποτέλεσμα. Για παράδειγμα θέλει εναν συγκεκριμένο editor και συνχρόνως αυτο το πρόσθετο

Με χρήση της τεχνολογίας Java Data Objects (JDO) είναι δυνατόν να υλοποιηθεί μία
Αντικειμενοστρεφής Βάση Δεδομένων σε Java. Περισσότερα για την τεχνολογία
μπορείτε να βρείτε στην ιστοσελίδα http://java.sun.com/jdo/
Στην άσκηση σας ζητείτε να χρησιμοποιήσετε το JDO API για να δημιουργήσετε το
παρακάτω ODMG-3 Αντικειμενοστρεφές Σχήμα Βάσεων Δεδομένων:


class Μάθημα
(extent ολα_τα_Μαθήματα) {
attribute string όνομα;
attribute string κωδικός;
relationship list<Διδασκαλία> διδάσκεται
inverse Διδασκαλία::περιέχει_Μάθημα;
relationship set<Μάθημα> έχει_προαπαιτούμενο
inverse Μάθημα::είναι_προαπαιτούμενο;
relationship Μάθημα είναι_προαπαιτούμενο
inverse Μάθημα::έχει_προαπαιτούμενο;
boolean προσφέρεται (in unsighed short Εξάμηνο)
raises(έχει_προσφερθεί)
boolean διαγράφεται (in unsighed short Εξάμηνο)
raises(δεν_εχει_προσφερθεί);
};


class Διδασκαλία
(extent ολες_οι_Διδασκαλίες) {
attribute string κωδικός;
relationship Καθηγητής διδάσκεται
inverse Καθηγητής::Διδάσκει;
relationship Μεταπτυχιακός είναι_βοηθός
inverse Μεταπτυχιακός::Βοηθάει;
relationship Μάθημα περιέχει_Μάθημα
inverse Μάθημα::διδάσκεται;
relationship set<Φοιτητής> έχει_δηλωθεί
inverse Φοιτητής::δήλωσε;
};

class Μισθός
{
attribute float βασικός;
attribute float υπερωρία;
attribute float δώρο;
};



class Υπάλληλος
(extent Υπάλληλοι) {
attribute string όνομα;
attribute short κωδικός;
attribute Μισθός μηνιαίος_μισθός;
void πρόσληψη();
void απόλυση() raises(δεν_υπάρχει_τέτοιος_υπάλληλος);
};


class Καθηγητής extends Υπάλληλος
(extent Καθηγητές) {
attribute enum βαθμίδα (Καθηγητής, Αναπληρωτής, Επίκουρος, Εφαρμογών);
relationship set <Διδασκαλία> Διδάσκει
inverse Διδασκαλία::Διδάσκεται;
void αύξηση(in float ποσό);
void εξέλιξη(in string βαθμίδα)
raises(Δεν_υπάρχει_η_βαθμίδα);
};

Interface Φοιτητής_Διεπαφή
{
struct Διεύθυνση{string Εστία, string Αριθμός_δωματίου}
attribute string όνομα;
attribute string κωδικός_φοιτητή;
attribute Διεύθυνση Διεύθυνση_Φοιτητή;
relationship set <Διδασκαλία> δήλωσε
inverse Διδασκαλία::Έχει_δηλωθεί;
boolean δήλωση_μαθήματος(in string Κωδικός_Διδασκαλια, in string Κωδικός_Μαθήματος)
raises (χρωστάει_προαπαιτούμενο, Γεμάτη_Διδασκαλία, Γεμάτο_Μάθημα);
void διαγραφή_δήλωσης_Μαθήματος(in string Κωδικός_Μαθήματος)
raises (χρωστάει_προαπαιτούμενο, Γεμάτη_Διδασκαλία, Γεμάτο_Μάθημα);
};

class Μεταπτυχιακός extends Υπάλληλος : Φοιτητής_Διεπαφή
(extent Μεταπτυχιακοί) {
relationship Διδασκαλία Βοηθάει
inverse Διδασκαλία::διδάσκεται;
attribute string όνομα;
attribute string κωδικός_φοιτητή;
attribute Διεύθυνση Διεύθυνση_Φοιτητή
relationship set <Διδασκαλία> δήλωσε
inverse Διδασκαλία::Έχει_δηλωθεί;
};
class Φοιτητής: Φοιτητής_Διεπαφή
(extent Φοιτητές) {
attribute string όνομα;
attribute string κωδικός_φοιτητή;
attribute Διεύθυνση Διεύθυνση_Φοιτητή
relationship set <Διδασκαλία> δήλωσε
inverse Διδασκαλία::Έχει_δηλωθεί;
};


Πιο συγκεκριμένα:
Να δημιουργήσετε πρόγραμμα Java για να
1. υλοποιήσει το παραπάνω αντικειμενοστρεφές σχήμα με τεχνολογία JDO,
2. να δημιουργήσετε (σε Java) πέντε αντικείμενα από κάθε τάξη και να τα
καταχωρήσετε στη βάση, και
3. να εμφανίσετε τα περιεχόμενα κάθε αντικειμένου που καταχωρήθηκε.

pgrontas

Για να πω την αλήθεια πιο σαφή άσκηση δεν έχω δει. Ό,τι χρειάζεται στο λέει στην εκφώνηση.
Programs must be written for people to read, and only incidentally for machines to execute - Harold Abelson

ΜΙΤΜ

#2
Μπορείς να μου πείς γιατι το μαθημα δεν το παρακολουθούσα? Σαφης ειναι για εσένα για μένα δεν ειναι. Με ποιο λογισμικο μπορώ να την υλοποιησω?