Correction_TD_Modélisation dynamique
Exercice 1 - Inscription d'un membre à un cours privé Puisque les schémas graphiques ne peuvent pas être affichés ici, nous allons décomposer la modélisation sous forme textuelle, étape par étape, afin que vous puissiez tracer ou vérifier vos propres diagrammes.
D'après le document Correction_TD_Modélisation dynamique
Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Document source
Informatique, Modélisation, Gestion de Système · École Nationale des Sciences de l'Informatique (ENSI) · PDF · 4 pages · 2012
Afficher l'aperçu du document
Exercice 1 - Inscription d'un membre à un cours privé
Puisque les schémas graphiques ne peuvent pas être affichés ici, nous allons décomposer la modélisation sous forme textuelle, étape par étape, afin que vous puissiez tracer ou vérifier vos propres diagrammes.
Diagramme de Séquence
Le diagramme de séquence met en évidence la chronologie des échanges (messages) entre les différents objets au cours de ce scénario.
Acteur et Objets identifiés (les lignes de vie) :
- Préposé : L'acteur principal (représenté par un bonhomme).
- PageInscription : L'objet d'interface (frontière) avec lequel le préposé interagit.
- Système (ou Contrôleur d'inscription) : L'objet de contrôle qui orchestre la logique.
- RepertoireProfs : Objet entité gérant la liste des professeurs.
- Professeur : Objet entité représentant le professeur cherché.
- Planning : Objet entité contenant les disponibilités du professeur.
- RepertoireMembres : Objet entité gérant la liste des membres.
- Membre : Objet entité représentant le membre à inscrire.
Chronologie des messages :
PréposéenvoiesaisirInfos(typeCours, nomProf)àPageInscription.PageInscriptionenvoiechercherDispo(typeCours, nomProf)àSystème.Systèmeenvoiechercher(nomProf)àRepertoireProfs(qui retourne le professeur correspondant).SystèmeenvoiechercherPlageLibre(typeCours)àProfesseur.Professeurinterroge sonPlanningavec le messageverifierDisponibilite().- Une fois la plage trouvée,
SystèmeenvoieajouterPlageReservee(horaire)auPlanning(la réservation temporaire). SystèmeenvoieafficherResultat(cours, prof, horaire)àPageInscription.PréposéenvoiesaisirNomMembre(nomMembre)àPageInscription.PréposéenvoiecliquerConfirmer()àPageInscription.PageInscriptionenvoieconfirmerInscription(nomMembre)àSystème.Systèmeenvoiechercher(nomMembre)àRepertoireMembres(qui retourne le membre).Systèmeenvoieassigner(plageCours)à l'objetMembre.Systèmedéclenche un appel de cas d'utilisation inclus (généralement modélisé par un message ou une note d'inclusion) :ref: Facturation d'un cours.SystèmeenvoieafficherMessageConfirmation()àPageInscription.
Diagramme de Collaboration (Communication)
Le diagramme de collaboration contient exactement les mêmes objets et les mêmes messages que le diagramme de séquence. La différence réside dans la présentation : la dimension temporelle n'est pas représentée par un axe vertical, mais par la numérotation des messages.
Construction :
- Placez les objets sous forme de rectangles reliés par des traits (les liens de communication).
- Le
Système(ou Contrôleur) est généralement au centre, relié à laPageInscriptiond'un côté, et aux entités (RepertoireProfs,Professeur,Planning,RepertoireMembres,Membre) de l'autre. - Reportez chaque message de la liste ci-dessus sur le lien correspondant, en lui ajoutant un numéro d'ordre (1, 1.1, 1.2, 2, 2.1, etc.) et une flèche de direction pour indiquer l'expéditeur et le destinataire.
Exercice 2 - Montre à cadran numérique simplifiée
Ce diagramme d'états-transitions (ou automate à états finis) modélise le cycle de vie de la montre en fonction des actions de l'utilisateur sur les boutons.
États :
- État initial (rond noir plein).
- Affichage : Le mode courant et par défaut.
- Modification heure : L'état permettant de régler les heures.
- Modification minute : L'état permettant de régler les minutes.
Transitions et événements (Syntaxe : Événement [Condition] / Action) :
- Transition de l'État initial vers l'état Affichage.
- Transition de l'état Affichage vers l'état Modification heure.
- Événement :
appuyer_mode()
- Événement :
- Événement :
appuyer_avance() - Action :
incrémenter_heure()
- Événement :
appuyer_mode()
- Événement :
appuyer_avance() - Action :
incrémenter_minute()
- Événement :
appuyer_mode()
Exercice 3 - Retrait d'argent avec une carte VISA
Le diagramme d'activités modélise un flux de contrôle (et de données). L'enjeu de cet exercice est de bien modéliser les branchements conditionnels (losanges) et le parallélisme (barres de synchronisation).
Déroulement étape par étape (à traduire en symboles graphiques) :
- Nœud initial (rond noir) pointant vers l'action
Vérifier carte. - Nœud de décision (Losange 1) :
- Garde : [Carte invalide] -> Action
Avaler carte-> Nœud final. - Garde : [Carte valide] -> Action
Taper le code.
- Garde : [Carte invalide] -> Action
- Garde : [Code faux ET essais < 3] -> Retour à l'action
Taper le code(boucle). - Garde : [Code faux ET essais = 3] -> Action
Avaler carte-> Nœud final. - Garde : [Code correct] -> Action
Demander autorisation (SA VISA).
- Garde : [Retrait refusé] -> Action
Ejecter carte-> Nœud final. - Garde : [Retrait autorisé] -> Barre de synchronisation (début d'un fork). Le texte précise que "Un ticket est toujours imprimé pendant que les billets sont proposés", ce qui implique des actions simultanées.
- Branche 1 : Action
Imprimer ticket. - Branche 2 : Action
Proposer billets. À la suite de cette action, il faut un nœud de décision :- Garde : [Billets récupérés par le client] -> On continue.
- Garde : [Délai expiré / Billets non récupérés] -> Action
Reprendre billets-> On continue.
- Branche 3 : Action
Restituer/Ejecter carte(implicite pour finir l'opération). À la suite de cette action, un autre nœud de décision :- Garde : [Carte récupérée] -> On continue.
- Garde : [Délai expiré / Carte non récupérée] -> Action
Avaler carte-> On continue.
Méthode
Face à une épreuve de modélisation dynamique (UML), la démarche la plus sûre est l'analyse syntaxique du texte :
- Pour un diagramme de séquence (Ex 1) : Soulignez chaque nom (qui devient un acteur ou un objet) et chaque verbe d'action (qui devient un message ou une méthode). Identifiez clairement qui est l'émetteur de l'action et qui en est le récepteur.
- Pour un diagramme d'états (Ex 2) : Cherchez les noms qui qualifient "dans quelle situation" se trouve le système (affichage, modification) : ce sont vos états. Les déclencheurs (appuyer sur tel bouton) sont les événements des transitions.
- Pour un diagramme d'activités (Ex 3) : Repérez les mots de liaison logiques. "Si", "Ou", "Sinon" indiquent des losanges de décision. "Pendant que", "En même temps" indiquent des barres de synchronisation (parallélisme). Pensez toujours à boucler vos chemins parallèles par une barre de jonction avant d'atteindre l'état final. Toujours gérer les cas d'erreur (carte avalée, refus) pour qu'ils aboutissent proprement à un nœud final.
Commentaires
Aucun commentaire pour le moment. Posez la première question.