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

Discussion :

Schéma UML correct ?

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 90
    Points : 69
    Points
    69
    Par défaut Schéma UML correct ?
    Bonjour/bonsoir à tous,

    Voilà je débute dans l'UML et j'ai réaliser un petit schéma en guise d'exercice que je réaliserai par après en C++ histoire de m'exercer avant d'attaquer à des choses plus compliquées.

    Mais avant d'avancer j'aimerais vous faire partager mon schéma pour voir si tout est correct au niveau du diagramme pour noter des attributs ou autres. Notamment au niveau de la représentation des pointeurs ainsi que des tableaux, je ne sais pas si on les distingues des autres attributs "normaux" ou pas ^^

    Ici j'ai distinguer les pointeurs en ajoutant une astérisque devant le nom des attributs que j'utiliserai comme pointeurs, mais je ne sais pas si ça fait ou non. Idem pour les tableaux, je ne sais pas si on les distingues du reste ou non, j'ai bien essayer de rajouter des crochets à mon nom d'attribut mais ils ne s'affichent pas dans ArgoUML après ^^ (Par exemple dans ma classe Boutique, en fait je fais un tableau de pointeurs pour lister plusieurs armes dans la boutique).

    Mon UML :


    Merci de vos futurs conseils

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 89
    Points : 86
    Points
    86
    Par défaut
    Bonjour Odawin.

    Le schema n'est pas tout a fait correct, comprehensible mais personnellement j'ajouterai des choses.

    Deja, ta classe Personnage et ta classe Adversaire devrait etre toutes deux filles d'une classe mere "Vivant" ( qui te permet de ne pas dupliquer deux fois tes attributs nom,vie, etc...) et qui te permettra peut etre un jour de rajouter des 'Neutrals' (a cote de tes monstres et de tes personnages).

    De plus, je suppose que Personnage et Adversaire sont des classes abstraites (ne pouvant pas creer de personnage sans classe).

    Autre chose, il manque pas mal de relations dans le diagramme : tu devrais avoir une relation d'agregation entre ton Personnage et ton Arme et une Composition (je pense) entre Arme et Boutique.
    Idem pour Frappe et Magie, les classes sont "libres" en ce moment et ce n'est en fait pas le cas.

    Bonne continuation !

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 90
    Points : 69
    Points
    69
    Par défaut
    Bonjour,

    Désolé pour le temps de réponse un peu tard contre ma volonté ^^

    Merci pour les remarques, j'ai modifier pas mal de choses suivant tes conseils, notamment la classe Vivant auquel je n'avais absolument pas pensé alors que j'avais chercher à "supprimer" ma classe adversaire telle quelle en la faisant hérité de Personnage.

    Malheureusement je ne sais pas encore comment on fait des classes abstraites en C++ (pour l'instant je me base sur un tutoriel C++ pour apprendre le langage en fait, comme je n'ai pas les moyens de me payer un bon bouquin pour le moment, et ils n'ont pas parler de ça pour l'instant, mais je suppose qu'il doit suffire de rajouter un simple mot clé pour ça ?)

    J'ai modifier le schéma de la façon suivante en suivant tes conseils et remarques, j'espère avoir bien fais tout ça.


    Dans quelles conditions utilise t-on des relations d'agrégation et de composition ? Pour que je sache quand le faire

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 89
    Points : 86
    Points
    86
    Par défaut
    Hello,

    Pour ce qui est des classes abstraites, il faut que ton objet est un destructeur virtuel (avec le mot clé virtual).

    Sinon, de maniere generale, en gros, la composition, c'est si ton object CONTIENT un (ou plusieurs) objet(s) avec lequel il est relié par composition.
    Par exemple, une souris est composée d'une molette, et bien la souris contient la molette, et la destruction de la souris entrainera la destruction de la molette. Typiquement, en programmation, molette sera un attribut de souris -- representation : losange noir vers l'objet contenu.

    L'agregation, en revanche, est plutot décrite par : l'objet est composé un (ou plusieurs) objet(s) avec lequel il est relié par agrégation. Par exemple -- exemple tiré de Wiki - "une université est composée de plusieurs facultés, et chaque faculté est un agrégat de plusieurs professeurs. La destruction de l'université implique la destruction des facultés qui la composent, alors que la destruction d'une faculté n'implique pas la destruction des professeurs liés à cette faculté par une relation d'agrégation".
    La relation entre Faculte et Professeur sera donc une relation d'agrégation.
    Typiquement, en programmation, la faculté aura un pointeur vers Professeur. -- representation : losange vide vers l'objet impliqué.

    Par contre, ce qui etait le cas dans ton premier schema et n'est plus le cas, c'etait la proprete du schema (ca commence a partir en vrac avec quelques classes seulement) : essaie de TOUJOURS avoir les filles d'une classe mere en dessous de la mere (des traits horizontaux pour de l'heritage, c'est moche, surtout si t'as le choix). Essaie aussi (bon ca c'est esthetique aussi mais quand meme) de pas avoir des traits obliques.
    De plus, tu peux aussi ajouter les multiplicités a tes relations, ca peut etre (tres) utile pour mieux comprendre le schema !

    Sinon, personnellement, meme si c'est peut-etre vrai, je mettrai juste une relation de dependance entre Magie/Mage - pareil pour Guerrier/Frappe.

    Bon Week-end, en esperant que ces conseils peuvent t'aider a avancer

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2013
    Messages : 90
    Points : 69
    Points
    69
    Par défaut
    Ah super merci beaucoup pour les précisions, je vais essayer de m'y tenir à l'avenir pour mes prochaines modélisations

    Oui pour le schéme en général j'essaie de garder tout un en dessous de l'autre pour l'héritage, mais je voulais pas faire une capture d'écran trop grande et comme je travail sur un portable 14" j'ai arrangé comme je pouvais pour condenser le tout ^^'

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

Discussions similaires

  1. Schéma UML correction
    Par Sephirius dans le forum UML
    Réponses: 6
    Dernier message: 17/06/2012, 12h41
  2. [Together] Obtenir un "beau" schéma UML
    Par pugnator dans le forum Autres
    Réponses: 1
    Dernier message: 04/03/2007, 19h19
  3. [Notation UML] Correction d'un diagramme ?
    Par pappousha dans le forum Cas d'utilisation
    Réponses: 5
    Dernier message: 12/05/2006, 14h54
  4. Réponses: 4
    Dernier message: 24/04/2006, 14h07
  5. [UML]schéma uml sous eclipse
    Par gilles641 dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 26/03/2004, 13h37

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