-
Schéma UML correction
Bonjour,
Je me tourne vers vous afin de résoudre un problème de "cardinalité" sur un schéma UML2 (diagramme de classe). Je doit préciser que c'est un travail en retard :roll: et un travail coté.
Sur tout les schémas que je doit établir, celui-ci est le seul que j'ai reçu de manière oral (prise de note). Mon énoncé est donc très peu fourni et très mal organisé. Un peu comme un premier jet de la part d'un client...
Je dois aussi réaliser un diagramme d'état/fonctionnement (une idée pour un peu de documentation facilement compréhensible)
http://s16.postimage.org/xzkrze5th/Capture.png
Je ne suis pas très à l'aise avec les notions d'héritages, agrégation, package...
vous pouvez faire toute les modifications que vous voulez (mais commenté les moi svp), vous pouvez modifier les classes ou en ajouter si cela vous semble nécessaire. Ce schéma n'est pas figé et ne répond pas a d'autre règles que celle de mon/votre imagination.
Merci
-
Personne n'est inspiré,... ou je suis mauvais au point de ne pas mériter un petit message de recommandations? :lol:
-
Bonsoir,
J'ai quelques remarques pour ton diagramme de classes:
1) Tout d'abord, pour la clarté de ton diagramme, essaye de nommer les association ( par exemple entre les deux classes CLIENT et PAYS tu peux ajouter le nom "appartenir" comme nom de l'association ), ça aide aussi à distinguer les différentes relations entre les classes
2) Il s'agit d'une agrégation entre VEHICULE et MODELE_VEHICULE : une véhicule a (ou appartient à) un modèle et un modèle contient plusieurs véhicules (agrégation du côté de la classe MODELE_VEHICULE avec cardinalité * du côté de la classe VEHICULE)
3) Essaye d'ajouter quelques opérations aux classes
4) il manque les types des attributs (par exemple, dans la classe LOCATION, l'attribut Client: CLIENT, ... etc)
5) A vérifier les cardinalités entre les classes
6) Je remarque aussi qu'il y'a des classes qui ont un comportement communs ( comme les classes LOCATION et RETOUR_LOCATION , aussi LOCALITE et PAYS ), je vois qu'on peut les réunir ...
...
Bon courage :)
-
Merci, j'ai reçu de l'aide sur un autre forum entre temps.
Certaine de tes remarques ont été prise en compte.
http://s7.postimage.org/lwb516kaj/Main.jpg
http://s15.postimage.org/4x4w6sqbv/sequence.jpg
Un commentaire supplémentaire?
-
Salut,
pour moi tu peux placer la marque dans le modèle et lier le modèle au véhicule par une simple association:
vehicule*----1typeVehicule*----1marque
@+
Piero
-
J'ai pris ta remarque en compte sur mon dernier diagramme, je ne l'upload pas immédiatement mais ce sera ajouté.
D'autre remarques, incohérence,???
Le diagramme d'état semble correcte? au vu du diag de classe?
-
Tu t'es planté dans les cardinalités véhicule/location, une location ne concerne bien qu'un est un seul véhicule, mais un véhicule concerne de 0 à n locations. Pareil pour location/agence, personnel et client, une location concerne un et un seul:
-client
-personnel
-agence
-véhicule
Par ailleurs, un retour location concerne une location, ce qui t'évite de lier le retour à client agence location et véhicule. D'ailleurs, je fusionnerai les deux.
Si ce que tu voulais modéliser est le fait que ce n'est pas forcement le même personnel qui effectue le retour, il faut deux assoc. personnel/location, une en 1..1 (location) et une en personnel0,1---1location (retour) (en considérant que tu as fusionné location et retour).
Si je lis bien, chaque agence est liée à un et un seul personnel, (le chef?). Mais je pense que ce que tu voulais signifier plutôt, c'est qu'un personnel est affecté à une agence (d'ou la nécessité de nommer tes associations, comme déjà dit pas iness1), dans ce cas c'est:
agence1----*personnel, et du coup tu n'est plus obligé de lier la location à une agence, puisque cette agence dépend du personnel.
En conclusion je dirai qu'il faut que tu reprennes tout et que tu nous montre un truc propre, avec tous les attributs, associations (y compris leurs noms), cardinalités renseignés. On y verrai plus clair sur ce que tu souhaites et on pourrai mettre le doigt sur tes erreurs plus facilement.
@+
Piero