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 :

Diagramme de classe UML [OCL]


Sujet :

UML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 8
    Par défaut Diagramme de classe UML
    Bonjour

    Pour débuter l'apprentissage d'UML, j'étudie le cours pour apprendre UML : http://uml.developpez.com/cours/ où est proposée l'étude de cas suivante :

    [INDENT]Monsieur Formulain, directeur d'une chaîne d'hôtels, vous demande de concevoir une application de gestion pour ses hôtels. Voici ce que vous devez modéliser :

    Un hôtel Formulain est constitué d'un certain nombre de chambres. Un responsable de l'hôtel gère la location des chambres. Chaque chambre se loue à un prix donné (suivant ses prestations).

    L'accès aux salles de bain est compris dans le prix de la location d'une chambre. Certaines chambres comportent une salle de bain, mais pas toutes. Les hôtes de chambres sans salle de bain peuvent utiliser une salle de bain sur le palier. Ces dernières peuvent être utilisées par plusieurs hôtes.

    Les pièces de l'hôtel qui ne sont ni des chambres, ni des salles de bain (hall d'accueil, cuisine...) ne font pas partie de l'étude (hors sujet).

    Des personnes peuvent louer une ou plusieurs chambres de l'hôtel, afin d'y résider. En d'autre termes : l'hôtel héberge un certain nombre de personnes, ses hôtes (il s'agit des personnes qui louent au moins une chambre de l'hôtel...).

    Le diagramme UML ci-dessous présente les classes qui interviennent dans la modélisation d'un hôtel Formulain, ainsi que les relations entre ces classes.

    Concernant les associations, j'aurai plutôt proposé ceci :

    composition : les chambres sont physiquement contenues dans l'hôtel
    agregation : une chambre peut posséder une salle de bain. Une salle de bain peut être associée à une ou plusieurs chambres (salle de bain sur le palier).


    J'ai tort ?
    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 551
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    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 551
    Par défaut
    Bonjour
    Citation Envoyé par Romanin Voir le message
    composition : les chambres sont physiquement contenues dans l'hôtel
    effectivement les chambres ne peuvent exister sans l'hotel et il faut utiliser une composition
    mais en fait c'est peut être déjà le cas dans le diagramme, le fond étant noir il est difficile de savoir si le losange est remplit de noir ou est noir pas transparence

    Citation Envoyé par Romanin Voir le message
    agregation : une chambre peut posséder une salle de bain. Une salle de bain peut être associée à une ou plusieurs chambres (salle de bain sur le palier).
    ce n'est pas ce que dit dans votre diagramme où la multiplicité est 1 =>
    votre diagramme dit qu'une chambre a une SDB, et qu'une SDB est associé à au moins une chambre. Corrigez cela

    le diagramme d'origine lui est correct : une chambre a 0 ou 1 SDB, et une SDB est associée a 0 ou 1 chambre dans le sens ou on considère qu'une SDB sur le palier n'est associé à aucune chambre
    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 du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 8
    Par défaut
    Citation Envoyé par bruno_pages Voir le message
    Bonjour

    effectivement les chambres ne peuvent exister sans l'hotel et il faut utiliser une composition
    mais en fait c'est peut être déjà le cas dans le diagramme, le fond étant noir il est difficile de savoir si le losange est remplit de noir ou est noir pas transparence
    Très honoré que vous preniez la peine de me répondre M. PAGES. Et bravo pour votre travail qui est très impressionnant.

    Pour en revenir à votre commentaire :

    Si on se réfère à ce diagramme de la page des cours UML : http://uml.developpez.com/cours/

    Le losange était transparent… donc il y avait une erreur : l'auteur avait mis une agrégation alors que, comme vous me l'avez confirmé, il faut employer une composition.



    Citation Envoyé par bruno_pages Voir le message

    ce n'est pas ce que dit dans votre diagramme où la multiplicité est 1 =>
    votre diagramme dit qu'une chambre a une SDB,
    En utilisant une agrégation plutôt qu'une association simple je pensais que celle signifiait qu'une chambre peut posséder une (puisque j'ai mis la multiplicité à 1) salle de bain.

    Mon interprétation me parait pourtant conforme au diagramme ci-dessus (Livre Couverture)… alors je ne comprends pas.


    Citation Envoyé par bruno_pages Voir le message

    et qu'une SDB est associé à au moins une chambre. Corrigez cela

    le diagramme d'origine lui est correct : une chambre a 0 ou 1 SDB, et une SDB est associée a 0 ou 1 chambre dans le sens ou on considère qu'une SDB sur le palier n'est associé à aucune chambre
    Je comprends, mais est-il faux (contraire à l'énoncé) de considérer qu'une salle de bain sur le palier au lieu de n'être associée à aucune chambre soit au contraire associée à plusieurs chambres (les chambres sans salle de bain qui sont sur le même palier) ?
    Dans ce cas mon diagramme me paraîtrait juste. Non?

  4. #4
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 551
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    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 551
    Par défaut
    Citation Envoyé par Romanin Voir le message
    Le losange était transparent… donc il y avait une erreur
    oui ( je n'avais pas pris la peine de regardé les autres pages )

    mauvaise idée ce fond noir, peut être est-ce pour éviter les photocopies qui ainsi videraient les cartouches d'encre noires ?

    Citation Envoyé par Romanin Voir le message
    En utilisant une agrégation plutôt qu'une association simple je pensais que celle signifiait qu'une chambre peut posséder une (puisque j'ai mis la multiplicité à 1) salle de bain.

    Mon interprétation me parait pourtant conforme au diagramme ci-dessus (Livre Couverture)… alors je ne comprends pas.
    une agrégation ne veut en aucun cas dire peut être, c'est une catastrophe, je ne peux que vous conseiller d'arrêter de lire ce 'cours'

    pour dire peut posséder une il faut utiliser la multiplicité 0..1

    Citation Envoyé par Romanin Voir le message
    est-il faux (contraire à l'énoncé) de considérer qu'une salle de bain sur le palier au lieu de n'être associée à aucune chambre soit au contraire associée à plusieurs chambres (les chambres sans salle de bain qui sont sur le même palier) ?
    A priori lorsqu'on a le choix, ce qui est le cas ici, il faut prendre la version la plus simple et qui suppose le moins de choses en plus de l'énoncé. Rien m'empêche d'utiliser la salle de bain du palier alors qu'on a aussi une salle de bain dans sa chambre (et jamais libre car désespérément occupée par sa femme / fille ... j'ai rien dis ). Donc une SDB du palier est en fait associée à toutes les chambres ... ce qui n'apporte rien par rapport à l'énoncé. La version avec multiplicité 0..1 est donc préférable
    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

  5. #5
    Membre éclairé Avatar de iness1
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 38
    Par défaut
    Salut,
    juste une suggstion: les clients des chambres sans salle de bain doivent aller au palier, ce qui n'est pas signalé sur votre diagramme. Vous pouvez peut être ajouter une association (utilise) entre les classes Personne et SDB.


    Il faut lire ça : Cours complet pour apprendre UML 2.0, une série de tutoriels par Laurent Audibert

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

Discussions similaires

  1. aide sur un diagramme de classe UML
    Par pascal91 dans le forum Diagrammes de Classes
    Réponses: 7
    Dernier message: 29/12/2008, 19h19
  2. Diagramme de classes UML
    Par cliquet dans le forum Général Java
    Réponses: 3
    Dernier message: 08/06/2008, 13h18
  3. Diagrammes de classes UML de moteurs 3D
    Par Elendhil dans le forum Moteurs 3D
    Réponses: 4
    Dernier message: 18/11/2007, 21h30
  4. Réponses: 2
    Dernier message: 26/05/2007, 23h06
  5. Diagramme de classes UML
    Par franc82 dans le forum OpenGL
    Réponses: 5
    Dernier message: 27/10/2006, 10h19

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