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

Diagrammes de Classes Discussion :

Bonjour ce diagramme n'est pas correct mais comment le corriger ?


Sujet :

Diagrammes de Classes

  1. #1
    Membre à l'essai
    Homme Profil pro
    autre
    Inscrit en
    Octobre 2018
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Octobre 2018
    Messages : 30
    Points : 21
    Points
    21
    Par défaut Bonjour ce diagramme n'est pas correct mais comment le corriger ?
    Bonjour,

    ce diagramme, qui n'est qu'un support pour me faire une idée sur certain aspect conceptuel, manque d'un certain nombre de caractéristiques . Mon but principal étant de "voir" comment articuler un ensemble de classes qui se compose d'autres classes.

    Nom : diagramme de classe.png
Affichages : 214
Taille : 24,6 Ko

    D'avance merci pour vos remarques.
    Images attachées Images attachées  

  2. #2
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 533
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 533
    Points : 6 709
    Points
    6 709
    Par défaut
    Votre diagramme est erroné, toutes les relations dans celui-ci sont des généralisations (héritage) ce qui est impossible car par exemple un moteur n'est pas un véhicule.

    Vous devez (re)lire vos cours / documentation sur UML
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  3. #3
    Membre à l'essai
    Homme Profil pro
    autre
    Inscrit en
    Octobre 2018
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Octobre 2018
    Messages : 30
    Points : 21
    Points
    21
    Par défaut
    Bonjour,

    merci de vous pencher sur mon cas. C'est justement parce que c’est faux que je le soumets à critique.
    Mon problème principal est de pouvoir mettre comme attribut d'une classe un objet. C'est-à-dire une instance d'une autre classe. Votre remarque sur le fait qu'un réservoir n'est pas une voiture est tout ce qu'il y a de juste mais illustre mon problème. Comment dois-je m'y prendre pour faire apparaitre dans la classe véhicule, qu'elle est composée d'un réservoir et d'un moteur, qui sont des objets d'une autre classe alors que prix n'est qu'un nombre. Ce nombre peut faire partie d'une liste de prix, dans une structure, ou bien être inscrit comme un composant/champ d'une autre classe.

    Pour résumer je ne sais pas comment, dans la représentation d'une classe, d'un diagramme de classes, faire apparaitre la distinction entre objet et "type primitif" composant cette classe.
    et s'il est pertinent de vouloir le préciser.

    Un autre problème de conception qui me vient est le suivant. Si je veux afficher/calculer le poids du véhicule, je dois tenir compte de la motorisation de la manière suivante.

    poids du moteur + (contenance du réservoir X poids du carburant)

    Ce qui me fait parcourir l'ensemble du diagramme (aller chercher le type de véhicule + le type de carburant + le type de réservoir), n'y a-t-il pas là une erreur de conception ?

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 134
    Points : 38 557
    Points
    38 557
    Billets dans le blog
    9
    Par défaut
    Bonjour primusG

    Le réservoir, les freins, le moteur, sont des classes d'entité à part entière qui n'héritent pas de la classe "véhicule"
    Elles sont en relation avec le véhicule.

    Je vous communique ci-dessous un modèle entité-association (type Merise) sur le même sujet que j'avais réalisé dans un autre contexte :

    Nom : MCD.png
Affichages : 178
Taille : 169,9 Ko


    Et son équivalent UML :

    Nom : UML.png
Affichages : 183
Taille : 187,4 Ko

  5. #5
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 533
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 533
    Points : 6 709
    Points
    6 709
    Par défaut
    Bonjour,

    Citation Envoyé par primusG Voir le message
    Mon problème principal est de pouvoir mettre comme attribut d'une classe un objet. C'est-à-dire une instance d'une autre classe. Votre remarque sur le fait qu'un réservoir n'est pas une voiture est tout ce qu'il y a de juste mais illustre mon problème. Comment dois-je m'y prendre pour faire apparaitre dans la classe véhicule, qu'elle est composée d'un réservoir et d'un moteur, qui sont des objets d'une autre classe
    vous pouvez utiliser une agrégation (attention, pas une composition) entre la classe Voiture et la classe Moteur, et une autre vers la classe Reservoir, donc :

    Nom : p1.png
Affichages : 163
Taille : 2,9 Ko

    Citation Envoyé par primusG Voir le message
    ... alors que prix n'est qu'un nombre.
    utilisez un attribut pour les types de primitifs, donc :

    Nom : p2.png
Affichages : 157
Taille : 1,7 Ko

    Citation Envoyé par primusG Voir le message
    Un autre problème de conception qui me vient est le suivant. Si je veux afficher/calculer le poids du véhicule, je dois tenir compte de la motorisation de la manière suivante.

    poids du moteur + (contenance du réservoir X poids du carburant)

    Ce qui me fait parcourir l'ensemble du diagramme (aller chercher le type de véhicule + le type de carburant + le type de réservoir), n'y a-t-il pas là une erreur de conception ?
    Il n'y a pas de problème, définissez l'opération poids sur Reservoir et sur Voiture, l'opération définie sur Voiture utilisant l'opération sur son réservoir

    Vous avez des lacunes au niveau UML et semble-t-il aussi sur les langages objets. Vos questions sont très générales et les réponses se trouve au niveau de la littérature sur les sujets concernés. Si vous voulez progressez la bonne méthode est de lire de la documentation, pas de poser des questions aussi générales, réservez vos questions sur les points précis dont la réponse n'est pas directement accessible dans la littérature

    D'autre part vous avez dans ce forum des tas d'exemples concernant les classes et leurs diagrammes
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  6. #6
    Membre à l'essai
    Homme Profil pro
    autre
    Inscrit en
    Octobre 2018
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Octobre 2018
    Messages : 30
    Points : 21
    Points
    21
    Par défaut
    Bonsoir,

    tout d'abord merci à vous pour vos réponse.

    je tacherai, dans les jours à venir, de refaire mon diagramme, en tenant compte de vos remarques pour vous en présenter une version plus correcte.

    Vous avez des lacunes au niveau UML et semble-t-il aussi sur les langages objets.
    c'est tout à fait ça mais étant un peu pressé je voulais commençais à avoir quelque chose d'un peu tangible.

    Une question qui se calque, de mon point de vue, sur ma dernière question. Sur un jeu vidéo (FPS par exemple), les ennemis ont une quantité de points de vie, un type d'armement qui fait un certain nombre de dégâts, un comportement plus ou moins agressif,... . Selon le niveau de difficulté choisi, ces caractéristiques: point de vie, dégâts / armement, comportement, varient. Comment d'un point de vue conception (UML) peut-on représenter ce changement en fonction de la difficulté choisie ?

    Est-ce les ennemies qui portent les changements en fonction d'un drapeau, ou est-ce une "entité" (classe) qui vas modifier les valeurs.

    De même sur les niveaux (cartes) jouées, avec la difficulté variant, les kits de soin, les munitions, ...peuvent fournir moins de ressources au joueur, voir ne pas être présent. Là encore est-ce à chaque entité (kits de soin /munitions) d'avoir en leur sein les différents états qui seront choisis en fonction de la difficulté (drapeau). Est-ce la carte du niveau qui crée les entités en fonction du niveau de difficulté. Ou est-ce une cartographie (agrégation d'informations) qui définit quel objet à quel endroit, et affine l’état de chaque entité en fonction de la difficulté ?

    d'avance merci pour vos réponses.

  7. #7
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 533
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 533
    Points : 6 709
    Points
    6 709
    Par défaut
    Citation Envoyé par primusG Voir le message
    les ennemis ont une quantité de points de vie
    c'est un attribut de la classe Joueur (ou autre)

    Citation Envoyé par primusG Voir le message
    un type d'armement qui fait un certain nombre de dégâts
    c'est une association (ni aggregation ni composition) de Joueur vers Armement, la classe Armement gérant les dégâts qu'elle peut faire

    etc

    Citation Envoyé par primusG Voir le message
    Selon le niveau de difficulté choisi, ces caractéristiques: point de vie, dégâts / armement, comportement, varient. Comment d'un point de vue conception (UML) peut-on représenter ce changement en fonction de la difficulté choisie ?
    Il y a plusieurs façons de le faire, si la difficulté est supportée par une classe vous pouvez montrer des dépendances entre les classes Joueur / Armement et la classe Difficulté, donc :

    Nom : p3.png
Affichages : 165
Taille : 2,9 Ko

    Mais comme beaucoup de choses vont au final dépendre de la difficulté vous allez avoir des tas de dépendances vers la classe Difficulté et rendre vos diagramme peu lisible sans réelle contre partie.

    Le mieux est peut être donc de ne pas le montrer au niveau diagramme de classes, notez aussi qu'en UML il n'y a pas que le diagramme de classes
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

Discussions similaires

  1. Réponses: 6
    Dernier message: 27/01/2008, 17h18
  2. [GD] imagedestroy qui m'indique que son paramètre n'est pas correct
    Par karaemrah dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 23/08/2007, 17h55
  3. ce code n'est pas correct, pourquoi?
    Par laurent.w dans le forum Access
    Réponses: 2
    Dernier message: 14/12/2006, 14h11
  4. Le css n'est pas dispo mais la page html en contient !
    Par mappy dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 29/07/2006, 11h37
  5. Mon clonage n'est pas correct ?
    Par elitost dans le forum Langage
    Réponses: 6
    Dernier message: 21/03/2006, 14h38

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