IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Autres SGBD Discussion :

[DB4O] Exercice corrigé


Sujet :

Autres SGBD

  1. #1
    Membre régulier
    Femme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2012
    Messages : 73
    Points : 71
    Points
    71
    Par défaut [DB4O] Exercice corrigé
    Bonjour à tous,

    je recherche un exercice avec un diagramme de classe complet implémenté avec DB4O, je n'ai trouvé d'exercice qu'avec 2 classes comme le pilote de f1 et ses voitures, le prof et ses cours, l'étudiant...
    je voudrait comprendre comment DB4O implémente les concepts d'UML tel que la navigabilité, la classe de relation...
    merci d'avance pour votre participation.

  2. #2
    Membre régulier
    Femme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2012
    Messages : 73
    Points : 71
    Points
    71
    Par défaut
    Bonjour,

    J’ai décidé de réaliser un exemple moi-même, donc voici le plan :

    1- voici tout d’abord l’étude de cas que j’ai choisie

    http://www.google.dz/url?sa=t&rct=j&...61535280,d.bGQ

    2- je saisie le modèle de classe dans un logiciel de modélisation UML qui me générera le code (l’ensemble de mes classes en java)

    3- puis je teste les classes avec DB4O (sous éclipse avec l’ajout des bibliothèques DB4O)

    Si vous êtes plus rapide que moi n’hésiter pas à poster.

  3. #3
    Membre régulier
    Femme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2012
    Messages : 73
    Points : 71
    Points
    71
    Par défaut
    rapportUML.pdf

    voici l'étude de cas. au cas où vous avez des problèmes avec le lien.

  4. #4
    Membre régulier
    Femme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2012
    Messages : 73
    Points : 71
    Points
    71
    Par défaut Une classe toute simple
    je commence d'abord avec quelque exemple:
    Nom : 1.png
Affichages : 895
Taille : 3,1 Ko
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    public class Personne {
    // les attributs    
        public String Nom;
        public String Prenom;
      // les méthodes, on commence avec le constructeur qui permet de créer  les objets
        public Personne(String nom, String prenom){ 
            this.Nom = nom;
            this.Prenom = prenom;
        }
    //                *toujours avec les méthodes: les setters, pour mettre des valeurs
     public void setNom(String n){this.Nom = n;}  
     public void setPrenom(String p){this.Prenom= p;}  
    //                *toujours avec les méthodes: les getters, pour récupérer des valeurs
    public String getNom(){return this.Nom;} 
    public String getPrenom(){return this.Prenom;}   
    // Cette méthode permet de disposer l’affichage des éléments d’un objet    
        public String toString() {
            return Nom + "  " + Prenom;   
         }
    }

  5. #5
    Membre régulier
    Femme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2012
    Messages : 73
    Points : 71
    Points
    71
    Par défaut Une sous classe
    Nom : 2.png
Affichages : 996
Taille : 7,5 Ko

    La classe mère tout d’abord

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    public class AnimaleDomestique {
     public String Nom;
     public Int Age;
      // le constructeur
        public AnimaleDomestique (String nom, int age){ 
            this.Nom = nom;
            this.Age = age;
        }
    //                *les setters
     public void setNom(String n){this.Nom = n;}  
     public void setAge(int a){this.Age= a;}  
    //                *les getters
    public String getNom(){return this.Nom;} 
    public String getAge(){return this.Age;}   
    // la méthode toString
        public String toString() {
            return Nom + "  a " + Age +"  an";   
         }
    }
    maintenant la classe fille:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    public class Chat extends AnimaleDomestique {
     public String Fourure;
      // le constructeur
        public Chat (String nom, int age, String fourure){ 
            super(nom, age);
            this.Fourure = fourure;
        }
    //                *les setters
     public void setFourure(String f){this.Fourure = f;}  
    //                *les getters
    public String getFourure(){return this.Fourure;} 
    // la méthode toString
        public String toString() {
            return Nom + "  a " + Age +"  an, est de fourure "+ Fourure;   
         }
    }

  6. #6
    Membre régulier
    Femme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2012
    Messages : 73
    Points : 71
    Points
    71
    Par défaut La navigabilité
    Cas1) une relation 1----1 Nom : 4.png
Affichages : 914
Taille : 3,8 Ko

    Classe Type2 : pour la classe2, la relation vers n’apparait pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Public class Type2 {
    //les attributs
    // les méthodes
    }
    Classes Type1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Public class Type1 {
    //Les attributs
    Public type2 vers // la relation sous forme d’un attribut de type Type2
    // Les méthodes
    }
    Cas2 : une relation 1----n Nom : 3.png
Affichages : 1024
Taille : 6,2 Ko

    La classe café :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public class cafe {
    public String Nom
    public String Marque
    // le constructeur, les seteurs, les getteurs et la toString
    }
    La classe Amateur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    import java.util.ArrayList;
    import java.util.List;
    
        public class Amateur {
        public String Nom;
        public String Prenom;
        public List Addore;  // la relation sous forme d’un attribut de type liste
        public Amateur(String nom, String prenom)
                    {
            this.Nom = nom;
            this.Prenom = prenom;
            this.Addore = new ArrayList();
        }
        
        public void addCafe(Cafe c) {
            Addore.add(c);
        }
        public void setNom(String n){this.Nom = n;}   
        public String getNom(){return this.Nom;}  
    
        public void setPrenom(String p){this.Prenom = p;}
        public String getPrenom(){return this.Prenom;} 
    
        public void setAddore(List c){Addore = c;}
        public List getAddore(){return Addore;}
    
        public String toString() {
            return Nom+" "+Prenom;
        } 
    }

  7. #7
    Membre régulier
    Femme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2012
    Messages : 73
    Points : 71
    Points
    71
    Par défaut Relation bidirectionnelle
    Exemple 1 ) Nom : 5.png
Affichages : 957
Taille : 4,0 Ko
    Classe Pilote:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public class Pilote{
    public String Nom ;
    public Voiture Conduit; //la relation est représenté par un attribut de type Voiture
    // le constructeur, les seteurs, les getteurs et la toString
    }
    Classe Voiture:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Public class Voiture{
    Public String Nom;
    Public Pilote EstConduitPar; //la relation est représenté par un attribut de type Pilote
    // le constructeur, les seteurs, les getteurs et la toString
    }
    Exemple 2) Nom : 6.png
Affichages : 864
Taille : 3,9 Ko
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public class Personne{
    public String Nom ;
    public Personne Conjoint;
    // le constructeur, les seteurs, les getteurs et la toString
    }

  8. #8
    Membre régulier
    Femme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2012
    Messages : 73
    Points : 71
    Points
    71
    Par défaut La composition et l’aggregation
    Exemple : Nom : 7.png
Affichages : 1008
Taille : 8,5 Ko

    Dans notre exemple les relations SeComposeDe et PassePar n’apparaissent pas dans les classes Piece et Arret (navigabilité) par contre on aura deux attributs SeComposeDe (une liste de types Piece (car multiplicité)) et PassePar (une liste de types Arret).

  9. #9
    Membre régulier
    Femme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2012
    Messages : 73
    Points : 71
    Points
    71
    Par défaut La classe association
    Exemple: Nom : 8.png
Affichages : 1028
Taille : 7,5 Ko

    Dans notre exemple, on créer la classe association ClaAss avec ces attributs et méthodes comme une classe normale puis on lui ajoute 2 attributs Vers1 de type Cla1 et Vers2 de type Cla2. Puis on créer la classe Cla1 et on lui rajoute un attribut de type liste de ClaAss. On créer la classe Cla2 et on lui rajoute aussi un attribut de type liste de ClaAss.

  10. #10
    Membre régulier
    Femme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2012
    Messages : 73
    Points : 71
    Points
    71
    Par défaut La relation n-air
    Je n’ai pas trouvé comment faire sur internet alors j’implémente ça comme suit :

    Exemple : Nom : 9.png
Affichages : 1016
Taille : 8,1 Ko

    Pour la relation 4-air je crée une classe association Combat qui contiendra 4 attributs :
    Adversaire1 et Adversaire2 de type Adversaire, SportChoisit de type Sport (oui les adversaires maitrisent plusieurs sports de combat) et AreneAffecte de type Arene, je n’oublis pas les méthodes. Puis pour le reste je fais comme pour la classe association (message précédent).

  11. #11
    Membre régulier
    Femme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2012
    Messages : 73
    Points : 71
    Points
    71
    Par défaut
    J’ai commencé à modéliser avec Modelio mais je me suis rendu compte très vite que c’était plus facile de créer le code directement avec Eclipse car il prépare automatiquement les setteur , les getteur et la toString je n’ai qu’a faire en début de ligne CTRL+espace et cliquer sur la méthode, en plus je ne sais pas si c’est parce que je suis débutante avec Modelio mais il ne me crée pas tous ce qu’il faut.
    Remarque très importante : Eclipse est sensible à la casse, des fois on a DB4o des fois db4o, des fois Db4o il faut faire attention.
    Et voila l’exercice, c’est mon tout premier, ce n’est pas fameux :
    Exercice DB4O.docx

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. demande d'exercices corrigés de SQL et de PL/SQL
    Par ali.ensi dans le forum PL/SQL
    Réponses: 1
    Dernier message: 05/06/2006, 23h20
  2. Exercices corrigés en XML
    Par soumou dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 01/04/2006, 15h33
  3. Un cours de C/C++ avec exercices corrigés
    Par merrheim dans le forum C++
    Réponses: 65
    Dernier message: 18/01/2005, 22h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo