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 :

probleme de modelisation


Sujet :

UML

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 17
    Par défaut probleme de modelisation
    Bonjour,
    Je souhaiterai savoir comment modéliser en UML la relation entre :
    la classe un "Ensemble" et la classe une "Paire" : une paire est un ensemble à 2 éléments: je voulais faire une relation d'héritage entre Paire vers Ensemble (car une paire est une sorte d'ensemble), mais cela me semble violer le principe de Liscov.
    z.

  2. #2
    Membre Expert
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Par défaut
    A première vue, cela me semble ok puisque là où est attendu un ensemble en général tu peux tout à fait lui substituer une paire.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 17
    Par défaut Une pair n'est pas ensemble
    Merci. Mais Je crois que le principe de Liskov invalide cette modélisation.
    En effet, du point de vue d'un client qui aurait récupérer une liste d'ensemble, il ne sait pas et ne doit pas savoir s'il a affaire a un ensemble général (instance de la classe mère Ensemble, ou à une instance de Paire, fille de ensemble):
    Exemple en pseudo code:

    Ensemble un_ensemble_1
    Ensemble un_ensemble_2
    Paire une_paire
    List une_liste_de_ensemble = [un_ensemble_1, un_ensemble_2, une_paire]

    for un_ensemble in une_liste_de_ensemble:
    un_ensemble.ajouter ("nouvel element")

    Le client, qui récupère une liste d'ensemble, s'attend au contrat des Ensembles, c'est à dire, s'attend à ajouter autant d'éléments qu'il veut à un ensemble. Or une Paire ne peut accepter plus de 2 éléments: Le client sera donc surpris par une Exception qu'il n'attend pas.
    Il me semble donc que l'ajout de la contrainte "cardinalité =2" dans la Pair ne permet pas de hériter de Ensemble, car La classe Pair nie certaines propriétés de la classe mère Ensemble: celle d'ajout sans borne d'élément.

    Zorgi

Discussions similaires

  1. probleme de modelisation avec une date
    Par hi-wave dans le forum Merise
    Réponses: 8
    Dernier message: 30/06/2010, 19h55
  2. [MCD] probleme de modelisation mcd
    Par hudsonhawk3 dans le forum Schéma
    Réponses: 1
    Dernier message: 07/06/2010, 11h42
  3. dbdesigner probleme de modelisation
    Par remyvass dans le forum DBDesigner
    Réponses: 2
    Dernier message: 04/10/2006, 11h00
  4. [UML]probleme de modelisation lie a l'heritage
    Par omega dans le forum Diagrammes de Classes
    Réponses: 2
    Dernier message: 22/04/2006, 18h30
  5. Modelisation : problème d'historique
    Par PtiBubu dans le forum UML
    Réponses: 5
    Dernier message: 15/10/2005, 18h35

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