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

UML Discussion :

Historiser en UML


Sujet :

UML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 27
    Par défaut Historiser en UML
    Bonjour,

    Je suis en train de faire le diagramme de classe d'un système composé d'un annuaire de clients.

    Le système ira chercher divers éléments dans l'annuaire.

    Ces éléments évlouant au cours du temps il me faut les historiser.

    Soit je crée des factures super lourdes avec une copie des éléments de l'annuaire à l'instant de la création de la facture. Soit j'historise les données de l'annuaire.

    Je préfère de loin la première solution. Le problème c'est que je ne vois pas du tout comment faire.

    J'ai deux tables, CLIENT et CLIENT_ELEM, la deuxième contenant divers éléments en fonction du client (nom, prénom, adresse à malibu, etc).

    J'ai pensé mettre un boolean actif/inactif dans la classe CLIENT_ELEM. Est ce une bonne solution ?

    Je peux aussi mettre une date dans CLIENT_ELEM et la facture s'arrange pour récupérer les infos en fonction de la date.

    Sinon je fais les deux, et une date et un boolean.

    Là ça me ratatine le cerveau j'ai du mal à y voir clair.

    J'en viens à me demander s'il ne faut pas lier CLIENT à une classe DATECLI et transformer CLIENT_ELEM en classe association.

    Je vous remercie de votre aide.


  2. #2
    Nip
    Nip est déconnecté
    Rédacteur

    Inscrit en
    Juin 2004
    Messages
    963
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 963
    Par défaut
    En fait il y a plusieurs solutions mais celle pour laquelle j'avais opte c'est la creation de table d'archives: CLIENTArchive et CLIENT_ELEMArchive avec les caracteristiques necessaires supplementaires (date d'archivage par exemple) mais inutiles pour l'utilisation des objets non archives.
    Juste avant chaque modification sur ta table, tu copies les lignes qui t'interessent en mettant a jour les caracteristiques supplementaires.
    Dans un souci de clarte et de facilite de traitement et d'archivage, il est plus judicieux d'utiliser des tables (ou classes, au final c'est la meme chose) a part.
    Effectivement la taille de ta base sera consequente mais elles sont fait pour ca . Et puis, en fonction de ton SGBD, tu as aussi la possibilite d'enregistrer tes donnees sous un autre format, plus pratique a stocker.

    Regarde aussi du cote des DP memento et aussi la notion de temporal pattern expliquee par Martin Fowler: http://www.martinfowler.com/eaaDev/timeNarrative.html

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Avril 2006
    Messages : 453
    Par défaut
    Salut,
    Je pense qu'il faut garder la classe CLIENT contenant les attributs que vous voulez mette au niveau de la classe CLIENT_ELEM (en supprimant celle ci), et de mettre une classe FACTURE avec comme attributs: num facture...et qui sera liée avec la classe CLIENT, tout en mettant une classe association: DATE.
    Pour le booléen, je ne vois pas trop l'utilité.
    Voilà, c'est mon avis !

  4. #4
    Membre averti
    Inscrit en
    Novembre 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 27
    Par défaut
    Coucou,

    Alors je me suis renseigné auprès d'une amie chercheuse et voilà donc comment j'ai fait (en gros) :



    Donc en fait il n'y a pas de notion de date, on joue juste avec les pointeurs.
    Ma facture pointe sur une adresse donnée à un instant donné et mon client pointe sur une adresse donnée à un instant donné, et ce n'est pas forcément la même adresse, sauf au moment de la création de la facture.

    Je sais pas si je suis très clair
    Dîtes moi si vous ne pigez pas, j'active l'alerte email sur ce message.

    En tous cas merci de vos réponses

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Avril 2006
    Messages : 453
    Par défaut
    Citation Envoyé par wahou85
    Donc en fait il n'y a pas de notion de date, on joue juste avec les pointeurs.
    Ma facture pointe sur une adresse donnée à un instant donné et mon client pointe sur une adresse donnée à un instant donné, et ce n'est pas forcément la même adresse, sauf au moment de la création de la facture.
    Salut,
    que voulez vous dire par "pointer" ?
    Bon courage!

  6. #6
    Membre averti
    Inscrit en
    Novembre 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 27
    Par défaut
    Par pointer je veux dire déterminer.

    Une facture détermine une adresse. Si j'ai la facture j'obtiens l'adresse qui va avec.

    De même, si j'ai un cient, j'obtiens l'adresse qui lui est associée.

    D'un point de vue bdd je mets une clé étrangère fk_adresse_id dans la table facture.
    Et, dans la table client, j'ai une clé étrangère fk_adresse_id.

    Comme ça si le client change d'adresse je change la clé étrangère dans la table client mais dans ma table facture, j'ai encore l'id de l'ancienne adresse. Donc je n'ai plus de problème

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

Discussions similaires

  1. [Débat] MERISE versus UML ? Avenir de MERISE ?
    Par Matthieu Brucher dans le forum Méthodes
    Réponses: 51
    Dernier message: 15/02/2022, 17h32
  2. Réponses: 2
    Dernier message: 03/06/2016, 18h20
  3. Les Meilleurs Outils de Modélisation UML ?
    Par Matthieu Brucher dans le forum Outils
    Réponses: 76
    Dernier message: 06/11/2015, 12h48
  4. Quels sont les meilleurs livres pour UML ?
    Par Matthieu Brucher dans le forum Livres
    Réponses: 33
    Dernier message: 31/01/2014, 10h36
  5. [Méthodes]UML vs MERISE Lequel pour quoi ?
    Par Daniel258 dans le forum Méthodes
    Réponses: 5
    Dernier message: 31/03/2003, 11h49

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