Analyse et Modélisation Structurelle UML
Exercice 1 - Détermination des relations statiques a) Frontières entre pays Relation : Association réflexive (ou binaire sur la même classe). Diagramme de classes : Une classe Pays possède une association réflexive nommée frontalière .
D'après le document Analyse et Modélisation Structurelle UML
Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Document source
Informatique - Modélisation et Analyse UML · École Nationale des Sciences de l'Informatique (ENSI) · PDF · 2 pages · 2017
Afficher l'aperçu du document
Exercice 1 - Détermination des relations statiques
a) Frontières entre pays
Relation : Association réflexive (ou binaire sur la même classe).
Diagramme de classes :
Une classe Pays possède une association réflexive nommée frontalière.
- [Pays] 0..* -------(frontalière)------- 0..* [Pays]
Diagramme d'objets :
- <u>alg : Pays (nom="Algérie")</u> ----- <u>tun : Pays (nom="Tunisie")</u> ----- <u>lyb : Pays (nom="Lybie")</u>
b) Personne et foule
Relation : Agrégation. (Une personne peut exister indépendamment de la foule, c'est une relation contenant/contenu faible). Diagramme de classes :
- [Foule] <>--------- 2..* [Personne]
Diagramme d'objets :
- <u>f : Foule</u> <>----- <u>p1 : Personne</u>
- <u>f : Foule</u> <>----- <u>p2 : Personne</u>
c) Personne et équipe
Relation : Agrégation (ou association simple). Une équipe est un regroupement de personnes, mais les personnes existent sans l'équipe. Diagramme de classes :
- [Equipe] <>--------- 1..* [Personne] (Note : Une personne faisant partie de plusieurs équipes, la multiplicité du côté Equipe est 1..* ou 0..*).
Diagramme d'objets :
- <u>e1 : Equipe</u> <>----- <u>p1 : Personne</u> -----<> <u>e2 : Equipe</u>
- <u>e1 : Equipe</u> <>----- <u>p2 : Personne</u>
d) Transaction bancaire, achat et vente
Relation : Généralisation / Spécialisation (Héritage). "Est un" traduit un héritage. Diagramme de classes :
- La classe mère est
Transaction. Les classes filles sontAchatetVente. - [Transaction] <|------- [Achat]
- [Transaction] <|------- [Vente]
Diagramme d'objets : Les diagrammes d'objets n'instancient que des classes concrètes (les classes filles).
- <u>t1 : Achat</u>
- <u>t2 : Vente</u>
e) Compte bancaire et personnes
Relation : Généralisation (pour les personnes) et Association (pour la possession du compte). Diagramme de classes :
- [Personne] <|------- [Personne Physique]
- [Personne] <|------- [Personne Morale]
- [Compte] 0..* -------(appartient)------- 1..1 [Personne]
Diagramme d'objets :
- <u>c : Compte</u> ------- <u>p : Personne Physique</u>
Exercice 2 - Types de relations et conformité
1. Types de relations
a) Une classe ‘Ordinateur’ et une classe ‘Système d'Exploitation’ Type : Agrégation (ou association simple). Justification : Un ordinateur utilise un système d'exploitation pour fonctionner. C'est une relation "a un" ou "utilise". Le cycle de vie est indépendant : on peut formater un ordinateur et changer le système d'exploitation, le matériel survit au logiciel.
b) Une classe ‘Outil’ et une classe ‘Marteau’ Type : Spécialisation / Généralisation (Héritage). Justification : Un marteau est un outil. C'est un cas classique de raffinement conceptuel.
c) Une classe ‘Document’ et une classe ‘Feuille’ Type : Composition. Justification : Dans un contexte matériel, une feuille est une partie physique et vitale du document. La destruction du document entraîne la destruction de ses feuilles. La relation contenant-contenu est très forte.
2. Conformité des diagrammes d'objets (1), (2) et (3)
Note : Le document source ne contient pas les images des diagrammes de classes et d'objets (1), (2) et (3) mentionnés dans l'énoncé. Par conséquent, il est impossible d'évaluer leur conformité ou de justifier une réponse. Cette question ne peut pas être traitée sans les données visuelles manquantes.
3. Accès aux instances depuis la classe B
Note : Le diagramme de classes UML mentionné dans l'énoncé est absent du document source. Impossible de déterminer les multiplicités, la navigabilité (les flèches d'association) ou l'existence de relations indirectes entre les classes B, C et D. Cette question est impossible à résoudre en l'état.
Exercice 3 - Modélisation de diagrammes de classes d'analyse
1. Modélisation des énoncés (Diagrammes de classes)
a) Le bateau et les personnes
- Classes :
Bateau,Cabine,Personne,Guide,Animateur,Passager,Activite,Visite,Animation. - Relations et arguments :
- Composition :
Bateau(1) -- (1..)Cabine. Le texte dit "Un bateau contient des cabines", l'existence de la cabine est intrinsèquement liée à celle du bateau (si le bateau coule, les cabines aussi). - Association :
Cabine(1..) ------- (0..)Personne(occupée par). - Généralisation :
Personneest la super-classe deGuide,AnimateuretPassager("sont ou bien des..."). - Généralisation :
Activiteest la super-classe deVisiteetAnimation. - Association (Ternaire ou deux binaires) :
Guide(1..) ---anime--- (0..)Visite---pour--- (1..*)Passager.Animateur(1..) ---anime--- (0..)Animation---pour--- (1..*)Passager.
- Composition :
- Opérations :
Guidepossède la méthodeexpliquerVisite(v: Visite, p: Passager).Animateurpossède la méthodeanimerAnimation(a: Animation, p: Passager).
b) Les fenêtres de dialogue
- Classes :
Fenetre,FenetrePrincipale,FenetreSecondaire,Menu,Bouton,Texte,ListeDeroulante,Rubrique,Fichier,Edition,Affichage. - Relations et arguments :
- Généralisation :
Fenetre<|--FenetrePrincipaleetFenetreSecondaire. - Composition :
Fenetre(1) *-- (1)Menu("toujours composée d'un menu").Fenetre(1) -- (1..)Bouton.Fenetre(1) *-- (1)Texte.Menu(1) -- (1..)Rubrique("contient plusieurs rubriques", fort couplage structurel de l'interface).
- Généralisation :
Fenetre (1) <>-- (0..1) ListeDeroulante ("contient parfois").Rubrique <|-- Fichier, Edition, Affichage.FenetrePrincipale (1) ------- (0..*) FenetreSecondaire (association "ouvre").- La classe mère
Fenetredoit comporter la méthodefermer()("possible de fermer toutes les fenêtres"). - La classe
FenetrePrincipaledoit comporter la méthodeouvrirSecondaire(f : FenetreSecondaire).
2. Diagrammes d'objets (instanciation)
Pour le bateau (a) :
- <u>b : Bateau</u> *-- <u>c1 : Cabine</u>
- <u>c1 : Cabine</u> ------- <u>p1 : Passager</u>
- <u>c1 : Cabine</u> ------- <u>g1 : Guide</u>
- <u>g1 : Guide</u> ------- <u>v1 : Visite</u> ------- <u>p1 : Passager</u>
Pour l'interface windows (b) :
- <u>fp : FenetrePrincipale</u> *-- <u>m : Menu</u>
- <u>fp : FenetrePrincipale</u> *-- <u>btn1 : Bouton</u>
- <u>fp : FenetrePrincipale</u> *-- <u>txt : Texte</u>
- <u>m : Menu</u> *-- <u>rub1 : Fichier</u>
- <u>fp : FenetrePrincipale</u> -------(ouvre)------- <u>fs : FenetreSecondaire</u>
Exercice 4 - Figures emboîtées
1. Classes du domaine et Généralisation (héritage)
Classes du domaine : Figure, Triangle, Carré, Cercle.
(La classe Côté relève de la structure détaillée et sera ajoutée à la question 3, comme demandé par l'énoncé).
Généralisation :
La classe parente abstraite est Figure. Ses sous-classes concrètes sont les trois formes géométriques.
- [Figure] <|------- [Triangle]
- [Figure] <|------- [Carré]
- [Figure] <|------- [Cercle]
2. Diagramme d'objets (Dessin emboîté)
Note : Le dessin mentionné ("Le dessin ci-dessous...") est manquant dans l'énoncé source. Pour répondre techniquement à la consigne, voici un exemple de diagramme d'objets valide selon les règles du texte (un triangle contenant un cercle, ce dernier contenant un carré). Les instances de "Côté" sont exclues, comme demandé.
- <u>t1 : Triangle</u> -------(contient)------- <u>c1 : Cercle</u>
- <u>c1 : Cercle</u> -------(contient)------- <u>ca1 : Carré</u> (Conforme aux règles : le triangle contient 1 figure, le cercle contient 1 figure exactement, le carré ne contient rien).
3. Diagramme de classes global
L'énoncé demande de privilégier la composition, ou à défaut l'agrégation. Puisque les figures sont "emboîtées" (dessinées à l'intérieur), supprimer le conteneur supprime son contenu dessiné. La composition est donc parfaitement justifiée pour le contenant géométrique, tout comme pour les côtés.
Classes : Figure, Cercle, Carré, Triangle, Côté.
Relations :
- Héritage :
Figure<|--Triangle,Carré,Cercle - Composition (Côtés) :
Cercle(1) *-- (1)CôtéTriangle(1) *-- (3)CôtéCarré(1) *-- (4)Côté
- Composition (Emboîtement, relation vers la super-classe) :
Triangle(1) -- (1..)Figure(Un triangle contient une ou plusieurs figures).Cercle(1) *-- (1)Figure(Un cercle contient exactement une figure).- (Le carré ne contient rien, donc aucune association sortante de ce type sur la classe Carré).
Exercice 5 - Gestion universitaire
Diagramme de classes d'analyse (Modèle conceptuel)
Pour éviter la redondance des attributs partagés entre Enseignant et Etudiant (nom, prénom, tél, mail), il est pertinent de créer une classe mère abstraite Personne.
1. Classes, Attributs et Méthodes :
- Etablissement
- Attributs : (non précisés dans l'énoncé, par exemple
nom,adresse)
- Attributs : (non précisés dans l'énoncé, par exemple
- Departement
- Attributs :
nomDept - Méthodes :
calculerMoyenne()
- Attributs :
- Personne (Classe abstraite)
- Attributs :
nom,prenom,tel,mail - Méthodes :
imprimerFiche()
- Attributs :
- Enseignant (Hérite de Personne)
- Attributs :
datePriseFonction,indice
- Attributs :
- Etudiant (Hérite de Personne)
- Attributs :
anneeEntree - Méthodes :
calculerMoyenneGenerale(),afficherMatieresNonNotees()
- Attributs :
- Matiere
- Attributs :
intitule - Méthodes :
calculerMoyenne()
- Attributs :
- Salle
- Attributs :
numero,capacitePlaces
- Attributs :
- Evaluation (Classe d'association entre Etudiant et Matiere)
- Attributs :
note
- Attributs :
2. Relations entre les classes :
- Composition :
Etablissement(1) -- (1..)Departement(L'établissement est structuré en départements). - Agrégation :
Departement(1) <>-- (1..*)Enseignant(Un département regroupe des enseignants). - Association (Responsabilité) :
Departement(1) ------- (1)Enseignant(Un enseignant est responsable). - Association (Enseignement) :
Enseignant(1..*) ------- (1)Matiere(Chaque enseignant dispense exactement une seule matière, mais une matière peut avoir plusieurs enseignants). - Association (Lieu) :
Matiere(0..*) ------- (1)Salle(Une matière a toujours lieu dans la même salle). - Association avec Classe d'Association (Suivi) :
Etudiant(0..) ------- (0..)Matiere. Cette association possède la classe d'associationEvaluationpour porter l'attributnote.
Méthode
Face à une évaluation de modélisation UML (comme ce type de partiel d'ACOO) :
- Chassez les mots-clés de cardinalité/multiplicité : Les mots comme "un ou plusieurs", "exactement un", "aucun", "plusieurs" dictent directement vos notations (1.., 1, 0, 0..). Ne les devinez pas, ils sont dans le texte.
- Distinguez les relations tout/partie :
- Utilisez la Composition (losange noir) si la destruction du "tout" détruit obligatoirement la "partie" (Ex: Bateau et Cabine).
- Utilisez l'Agrégation (losange blanc) si la "partie" peut exister même si le "tout" disparaît (Ex: Foule et Personne).
- Héritage vs Attribut : Si le texte indique qu'un objet "est un(e)" autre chose (ex: "Les personnes sont ou bien des guides, ou bien..."), modélisez une généralisation (flèche à pointe triangulaire vide), pas un simple attribut "type".
- Factorisation : Dans les grands systèmes (comme l'exercice 5), repérez systématiquement les attributs communs (nom, prénom, coordonnées). Même si l'énoncé ne le demande pas explicitement, créer une classe abstraite
Personnedémontre votre maîtrise de la conception orientée objet. - Classes d'association : Dès qu'un attribut appartient à la rencontre entre deux entités plutôt qu'à l'entité elle-même (ex: une
noten'appartient pas qu'à l'étudiant, ni qu'à la matière, mais à l'étudiant pour cette matière), il s'agit d'une classe d'association rattachée à la liaison.
Commentaires
Aucun commentaire pour le moment. Posez la première question.