You are on page 1of 230
BIP==3 Entrainez-vous a la modélisation 107 QCM 60 travaux pratiques et leurs corrigés prés de 30 H de mise en pratique Laurent DEBRAUWER Naouel KARAM UML 2 - Entrainez-vous 4 la modélisation ( ) LES TP INFORMATIQUES NM propos Objectif de ce livre Ce livre est concu de maniére 4 ce que le lecteur puisse s'entrainer 6 |'écriture des différents diagrammes de Ia rotation UML ainsi qu'aux concepts sous-jacents. Bien qu'indépendants du livre "UML 2 - Initiation, exemples et exercices corrigés" de la collection Ressources Informatiques des Editions ENI, les exercices de cet ouvrage constituent un excellent entrainement aux notions introduites dans ce demier. Comment utiliser ce livre ? Il est possible d'aborder chaque chapitre indépendamment. Le chapitre 8 pré- sente une étude de cas compléte qui reprend les notions abordées dans les cha- pitres précédents. Le chapitre 9 intéressera les lecteurs curieux de voir comment mettre en ceuvre UML, notamment dans le cadre des bases de données relation- nelles. Chaque chapitre présente différentes sections : wm Objectif ; i Pré-requis ; ym Enoncés ; » Corrigés (en fin d'ouvrage). © Objectif Cette section décrit le contenu des exercices qui vont étre abordés tout au long du chapitre. @ Pré-requis Cette section permet de vérifier vos connaissances théoriques. Elle se Compose de questions portant sur les notions devant tre acquises avant d'aborder la réali- sation des exercices. Chacune des questions de cette section est numérotée afin de retrouver plus faci- lement la réponse 4 Ia fin de l'ouvrage. (© Eatons EN! - Toute reproduction interste UML 2 - Entrainez-vous 4 la modélisation LES TP INFORMATIQUES © Enoncés Cette section regroupe les énoncés des exercices. Comme pour les pré-requis, chaque énoncé est numéroté et sa correction se retrouve 4 la fin de ce livre. © Corrigés Les comigés sont regroupés en fin d'ouwrage. Ils sont organisés par chapitre et reprennent la numérotation des sections Pré-requis et Enoncés. Toute reproduction itercte UML. ntrainez-vous a la modélisation LES TP INFORMATIQUES Tae des Miatieres Enoncés | Cortigés Chapitre 1: approche objet... 2.2... 00-0000 2 ee 5 89 Chapitre 2: La modélisation des classes et objets ....... 13 99 Chapitre 3 : Les patterns de conception ............ 21 125 Chapitre 4 : La composition d'objets et de patterns... . . . . 27 137 Chapitre 5: Les cas d'viilisation...........--2005 37 149 Chapitre 6: Les interactions entre objets... .......-- 45 161 Chapitre 7: Le diagramme d'états-transitions. .... 2... 55 177 Chapitre 8 : Les diagrammes d'activités .........05.% 65 191 Chapitre 9 : Budeldaicas! ru" 205. oo me. eh mene sas 75 207 Chapitre 10: Le passage la réalisation............5 81 245 (© Exons EN! - Toute reproduction interste }_______swaroctieabiet_(5)) ENONCES DU CHAPITRE 1 l able ces M atieres Chapitre 1 : L'approche objet Pré-requis 7 Enoncé 1.1 : Classes 8 Enoncé 1.2 : Association simple 8 Enoncé 1.3 : Association quallfiée 9 Enoncé 1.4 : Association réflexive 9 Enoncé 1.5 : Généralisation et spécialisation 10 Enoncé 1.6 : Agrégation et composition 10 Enoncé 1.7 : Héritage, encapsulation et polymorphisme u (© Eetlons EN! - Toute reproduction intorste | : Llapproche objet ENONCES DU CHAPITRE 1 Chapitre 1 : L'approche objet © Durée : 2 heures ® Mots-clés : classe, objet, association, généralisation, spécialsation, composition, agré- gation '® Objectif : Dans ce chapitre, vous apprendrez & : > déterminer les classes et les relations entre elles ; »¥ étendre un diagramme de classes ; »¥| déterminer les liens de généralisation et de spécialisation ; 1 distinguer les relations d’agrégation et de composition ; >» comprendre les notions encapsulation et de polymorphisme. Pré-requis Pour valider les pré-requis nécessaires avant d'aborder le TP, répondez aux ques- tions chaprés : 1. Une classe décrit uniquement les attributs d'un type d'obiet. a Oui b. Non 2. Qu'est-ce qu'une association entre deux classes 3. Dans quel cas est4l possible d'utiiser un qualificateur dans une association et & quoi sertl 2 4. lest possible de lier une classe avec elle-méme par une association, a Oui Bb. Non 5. Quelle phrase détermine une relation d'héritage 2 @ Un cheval est un type d’animal B. Un animal est un type de cheval 6 Un attribut protégé est visible uniquement dans sa classe # @ Oui h. Non (© Editions EN! - Toute reproduction intone UML 2 - Entrainez-vous a la mod LES TP INFORMATIQUES isation 1. L'agrégation est-elle un type d’association @ a@ Oui h. Non 8. Une composition est-elle un type d'agrégation 2 @ Oui Non 8. Quelles contraintes suppiémentaires doivent vérifier une composition en com- paraison avec une agrégation @ 10. Quel type de contraintes peut-on appliquer 6 une relation d'héritage 11. Quelle notion de l'approche objet permet de masquer des attributs et des méthodes d'un objet vis-a-vis des autres ? 12. Qu'est-ce que le polymorphisme ? 13. Qu'est-ce que les stéréotypes UML ? 14. Quel stéréotype permet la définition d'une classe abstraite ? Enoncé 1.1 : Classes Durée estimative : 5 minutes Représentez une classe décrivant des ordinateurs. Les informations spécifiques chaque ordinateur sont : son nom, sa puissance et Ia taille de sa mémoire. Les actions possibles sont allumer et éteindre. ror) Enoncé Association simple Durée estimative : 10 minutes Décrivez en UML un diagramme de classes illustrant la description suivante : une personne posséde un ou plusieurs ordinateurs. on (© Eations EN! - Toute reproduction interste U'approche objet ENONCES DU CHAPITRE 1 Enoncé 1.3 : Association qualifiée Durée estimative : 15 minutes Considérons des processus qui s'exécutent dans un ordinateur. Le systéme de Vordinateur gére Ia liste des processus faisant appel & une resource (comme une imprimante) grace 4 une file d'attente. Cette file stocke les processus en attente de la ressource. Proposez une modélisation de a file sous forme de diagramme de classes. Indice pour I'énoncé 1.3 Chaque processus posséde un numéro unique dans la file. L'utilisation d'une asso- ciation qualifiée est alors possible. Enoncé 1.4 : Association réflexive Durée estimative : 15 minutes Une liste chainée est une structure informatique représentant une collection ordonnée d'éléments. L'accés aux éléments d'une liste s'effectue de maniére séquentielle. Chaque élément de Ia liste permet l'accés au suivant grace 4 un pointeur. Un exemple de liste composée de trois éléments est présenté dans la figure sui- vante. Le premier élément pointe vers le second qui & son tour pointe vers le troi- siéme. Proposez un diagramme de classes pour modéliser cette structure. ea (© Ealtions EN! - Toute reproduction itedite @) UML 2 - Entrainez-vous a la modélisation LES TP INFORMATIQUES Enoncé 1.5 : Généralisation et spécialisation Durée estimative : 20 minutes Il stagit de déterminer les liens d'héritage entre des concepts ainsi que les con- traintes s'appliquant & ces liens. Considérons les deux phrases suivantes - Les périphériques de stockage sont de deux types : amovibles ou non amovi- bles. - Les disquettes, les clés USB et les disques durs sont des périphériques de stockage. 1. Modélisez ces deux phrases sous forme de diagrammes de classes. 2. Complétez les modéles en introduisai ou incomplet) et de recouvrement (di les contraintes de couverture (complet int ou non} entre les sous-classes. Enoncé 1.6 : Agrégation et composition Durée estimative : 15 minutes Un message électronique comporte un titre ainsi que l'adresse du destinataire. Il est composé d'un en-téte et d’un corps. Il peut contenir éventuellement une ou plusieurs piéces jointes. Tracez le diagramme de classes corespondant 4 cette description. Indice pour I’'énoncé 1.6 Pensez a distinguer les relations de composition des agrégations. Crea (© Edtons EN! - Toute reproduction intercte ‘approche objet ( ) ENONCES DU CHAPITRE 1 Enoncé 1.7 : Héritage, encapsulation et polymorphisme Durée estimative : 40 minutes ObjetGraphique [sepaisseurTrat idordonnée ifebscisse [edéplacerO) leatticherd) lepivater -ciamétre cot atticherd) leafficherO) [spivoter) [spivoter) atfcherd peter Etant donné le diagramme de classes ci-dessus représentant des objets graphi- ques, répondez aux questions suivantes : 1. L'attribut diamétre est-il accessible pour un objet Carré ? 2. Un objet Cercle posséde-t-il un attribut couleur ? 3. Peut-on appiiquer la méthode déplacer & un objet Point ? 4 Grace 4 quelle notion de l'approche objet, la méthode pivoter peut-elle étre présente dans toutes les classes du diagramme et & quoi sert cette notion ? |. @ Quelle hypothése doit-on considérer pour rendre la classe ObjetGraphique abstraite 2 h. Quel est l'intérét d’éviter que cette surclasse soit concréte 2 6 Quelle modification doit-on apporter au diagramme de classes @ 6 Proposez une extension du modéle permettant d’obtenir un objet graphique composé de plusieurs autres objets graphiques. Indice pour I'énoncé 1.7 Considérez un objet composé comme étant aussi un type d'objets graphiques. © Ealions ENI- Toute reproduction ntordte isation des classes et objets: ENONCES DU CHAPITRE 2 one des Miatieres Chapitre 2 : La modélisation des classes et objets Pré-requis Enoncé 2.1 : Diagramme objets Enoncé 2.2 : Classe d'association Enoncé 2.3 : Site web Enoncé 2.4 : Microprocesseur Enoncé 2.5 : Réseau LAN Enoncé 2.6 : Gestion d'une conférence scientifique Enoncé 2.7 : Commerce électronique © Ealtons ENI- Toute reproduction intro 15 16 7 7 7 18 18 19 La modélisation des classes et objets ( ) ENONCES DU CHAPITRE 2 Chapitre 2 : La modélisation des classes et objets |® Durée : 2 heures 40 | Mots-clés : diagramme de classes, diagramme d'objets, navigation, rdles, classes abs- traites, contraintes © Objectif : Ce chapitre propose plusieurs exercices de modélisation. Vous apprendrez a tirer profit des différentes possibilités de modélisation offertes par UML 2. De plus, quelques contraintes permetiant d'affiner la modéiisation sont abordées. Pré-requis Pour valider les pré-requis nécessaires avant d'aborder le TP, répondez aux ques- tions ci-aprés : 1. Quelle est Ia différence entre un diagramme de classes et un diagramme d'objets 2 2. Quel est I'intérét des classes-associations @ 3. Une classe-association joue le rdle d'une classe classique et elle peut étre liée a d'autres classes. a Oui b. Non 4. Les fléches dans une association représentent : a. des références bh. des dépendances 6. la navigation Quel est I'intérét de la navigation @ Quelle est I'utilté de nommer les extrémités d'une association @ Quelle est la différence entre une classe concréte-et une classe abstraite ? A quoi sert de définir des classes abstraites dans un modéle @ Les contraintes sont représentées dans un diagramme de classes par : @ nom de la contrainte entre parenthéses (nom de la contrainte) nom de la contrainte entre accolades {nom de la contrainte} € nom de la contrainte précédé par le mot clé constraint constraint nom de la contrainte eenes © Ealtons EN! - Toute reproduction intorate (1s) UML 2 - Entrainez-vous 4 la modélisation LES TP INFORMATIQUES 10. Quelle contrainte permet d'exprimer l'exclusion entre les ensembles d’occur- rences de deux associations @ Tl. La notion d'inclusion entre les occurrences de deux associations peut-elle étre exprimée 4 l'aide d'une contrainte ? 12. Parmi les contraintes suivantes, laquelle est utiisée pour exprimer un ordre dans une association : @ {arranged} b. {ordered} &. {numbered} Enoncé 2.1 : Diagramme d’objets Durée estimative : 10 minutes 1. Tracez un diagramme de classes & partir du diagramme di objets suivant : Inde : Pays ‘New Dethi ; Capitale. Pakistan ; Pays. Islamabad ; Capitale Chine ; Pays Pékin : Capitale 2. Complétez le modéle en proposant des attributs pour les différentes classes. Indice pour I'énoncé 2.1 Déterminez les classes ainsi que les relations entre elles. Les cardinalités doivent 6tre choisies dans un cadre général, indépendamment du diagramme d’ objets. Cro © Ealtons EN! - Toute reproduction intrdte La modélisation des classes et objets ENONCES DU CHAPITRE 2 Enoncé 2.2 : Classe d’association Durée estimative : 20 minutes Le but est de déctire la gestion d'une connexion utilisateur 4 un serveur de bases de données. Un utilsateur de serveurs de bases de données se connecte avec un accés constitué d'un nom de compte et un mot de passe. La date et I'heure de la connexion doivent étre stockées 1. Proposez une représentation sous forme d'un diagramme de classes. 2 Complétez le modéle afin que chaque accés puisse disposer d'un espace de travail de taille fixe. Un espace de travail peut étre partagé par plusieurs connexions. ero Enoncé 2.3 : Site web Durée estimative : 30 minutes Il s'agit de modéliser une connexion 4 un site web. La description du comporte- ment du systéme est la suivante : Un site web est un ensemble de pages web liées entre elles par des références appelées hyperliens. Ces pages sont congues pour étre consultées avec un navi- gateur. Chaque page posséde sa propre configuration. La consultation d'une page s'effectue gréce & une URL qui correspond 4 l'adresse de la page. Un utiisateur peut, & tout moment, consulter une page web en utilisant un navigateur. Cette requéte est transmise au site web correspondant. La date et l'heure de chaque connexion doivent étre stockées. Tracez le diagramme de classes correspondant & Ia description. Enoncé 2.4 : Microprocesseur Durée estimative : 15 minutes Un microprocesseur est constitué de portes logiques. Ces portes logiques sont composées de transistors qui fonctionnent comme des interupteurs. On trouve deux sortes de portes de base : les portes MOS et les portes CMOS. Les microprocesseurs sont cadencés par une horloge caractérisée par sa vitesse. (© Eedtons EN! - Toute prediction intedte UML ntraine: LES TP INFORMATIQUES OUS Les microprocesseurs sont basés sur deux méthodes d'optimisation : la techno- logie CISC et la technologie RISC. Tracez le diagramme de classes correspondant & la description. ecm Enoncé 2.5 : Réseau LAN Durée estimative : 20 minutes Un réseau LAN est un réseau informatique & une échelle géographique relative- ment restreinte. Un réseau est un ensemble de noeuds reliés entre eux par des canaux. Un noeud, caractérisé par son nom, peut étre une station de travail, une imprimante ou un serveur. Chaque noeud peut envoyer des paquets avec un contenu. Un paquet qui circule dans le réseau garde une trace de son origine ainsi que de son destinataire. 1. Décrivez ce réseau 4 l'aide d'un diagramme de classes. 2. Complétez le diagramme par des méthodes en sachant que les différents composants peuvent avoir les comportements suivants : Un noeud peut envoyer et recevoir un paquet. Ala réception d'un paquet, le traitement différe selon le type de nceud. L'envoi d'un paquet est le méme pour tous les nosuds. Un nceud connait son suivant dans le réseau. Une imprimante imprime un paquet. Un serveur stocke des paquets. er pRpee Indice pour I'énoncé 2.5 Pensez d la notion de classe abstraite. Cortigé p. 110 Enoncé 2.6 : Gestion d'une conférence scientifique Durée estimative : 45 minutes Il s'agit de modéliser un diagramme de classes pour la gestion d'une conférence scientifique. Les connaissances du domaine sont résumées sous forme de phrases comme suit : 1. La conférence se compose de plusieurs sessions. (© Eedtons EN! - Toute reprodvction intedte La modélisation des classes et objets Cs) ENONCES DU CHAPITRE 2 Chaaque session posséde une date et une heure de début de session. Les participants participent & une session soit en tant qu'orateur soit en tant que public. en 4. Tous les participants doivent s'inscrire G la conférence. Une inscription peut étre annulée ou confirmée. 5. Un article scientifique est présenté a une session. ry Un article est soit un article long, soit un article court. Il est composé de sections numérotées et conceme un sujet donné. 1. Un auteur peut avoir un ou plusieurs articles présentés & a conférence. Indice pour I'énoncé 2.6 Pensez & ajouter des contraintes et des attributs pour compléter le schéma méme si ceux-ci ne sont pas présents dans I'énoncé. (ero ne! Enoncé 2.7 : Commerce électronique Durée estimative : 20 minutes Voici la description d'un systéme de commerce électronique : Un utilisateur (client) qui se connecte un site de commerce électronique choi- sit parmi les produits proposés. - llremplit au fur et mesure un panier virtuel comportant les produits & acheter. A tout moment, il peut ajouter ou supprimer un produit au panier. Le paiement s'effectue a l'aide d'une carte de crédit. Celle-ci n'appartient pas nécessairement 4 l'utilisateur. Ala fin de la transaction, l'utilisateur peut soit valider sa commande ou I’annuler. 1. Décrivez ce systéme 4 l'aide d'un diagramme de classes. 2. Complétez le diagramme en gjoutant le concept de client privilégié. Ce type de clients bénéficie d'une réduction pour ses achats et les informations de ses cartes de crédit sont sauvegardées par le systéme. Crome: (© Eeltons EN! - Toute reproduction iterdite Les pattems de conception ENONCES DU CHAPITRE 3 @) Table cs Mlatieres Chapitre 3 : Les patterns de conception Pré-requis 23 Enoncé 3.1 : Document XML 24 Enoncé 3.2 : Site web multilingue 26 Enoncé 3.3 : Interface GUI 26 © Eeltons EN! - Toute reproduction intorate Les patterns de conception ( ) ENONCES DU CHAPITRE 3 Chapitre 3 : Les patterns de conception |® Durée : 1 heure 30 | Mots-clés : patterns de conception, Composite, Visitor, Strategy, Abstract Factory, Sin- gleton © Objectif : Dans ce chapitre, vous apprendrez & utiliser les pattems de conception (dits aussi patrons de conception, en anglais design patterns) pour la modélisation. Les points abordés sont : »»1 a modélisation d'une structure 4 l'aide du pattern Composite ; bi l'usage du pattern Visitor »¥1 Ia structuration d'algorithmes selon le modéle Strategy ; »1 la modélisation selon le pattem Abstract Factory ; »1 le principe du pattem Singleton. Pré-requis Pour valider les pré-requis nécessaires avant d'aborder le TP, répondez aux questions ci-aprés 1. Les patterns de conception sont-ils des modéles de réutilisation @ a Oui B Non 2. Quel pattem de conception est adapté 4 la représentation de structures arbo- rescentes ? Quel est I'intérét du pattern Composite 2 Quelles affirmations sont vraies en ce qui conceme le pattern Composite @ @ Lors de I'ajout de nouveaux types de composants, il n'est pas nécessaire de modifier le code client. . Le client a besoin de distinguer dans son code les objets individuels des ob- jets composites. : 6. Les composants enfants d'un Composite sont stockés dans celui-ci. Quelle est I'uilité d'un pattern Visitor 2 Le modéle Visitor définit deux hiérarchies de classes, lesquelles ? ae me © Ealtons EN! - Toute reproduction intro UML 2 - Entraiinez-vous LES TP INFORMATIQUES la modélisation 1. Est4l facile d'ajouter un visiteur qui effectue une nouvelle opération ? @ Oui bh. Non 8 Dans quel cas estil préférable de définir les opérations dans les classes plutét qu’d travers un modéle Visitor @ 8. Sur quel concept de l'approche par objets se base le pattern Strategy ? 10. Quelles affirmations sont vraies en ce qui conceme le pattem Abstract Fac- a Le modéle Abstract Factory est utile lorsque le systéme traité est constitué de familles de produits destinés a étre utilsés ensemble. h. Il est facile de substituer les familles de produits. 6. Il est facile d'ajouter de nouveaux types de produits. I. Le modéle Singleton est mis en couvre grace & quel traitement 2 a En encapsulant le constructeur de la classe dans une sous-classe. En changeant l'accessibilité du constructeur. 6. En testant I'existence d'une instance dans une méthode spéciale. 12. Quelle est Ia particularité des attributs et des méthodes de classe ? Enoncé 3.1 : Document XML Durée estimative : 40 minutes Un document XML est structuré en éléments 4 l'aide de balises qui marquent le début et Ia fin de chaque élément. Les éléments peuvent contenir du texte et éventuellement d'autres éléments. La syntaxe d'un élément est la suivante : contenu Un élément peut contenir plusieurs attributs. Afin de simplifier la modélisation, sup- posons que le seul attribut est une valeur de type entier. ~ (© Eations EN! - Toute reproduction interte Les patterns de conception ENONCES DU CHAPITRE 3 Ci-dessous un exemple de document XML et sa représentation arborescente. Un Deux Trois Quatre "yes" 2> 1. Modélisez un document XML par un diagramme de classes en utilisant le pattern Composite. 2. Utilisez le pattem Visitor pour calculer la valeur totale du document et le nombre d’éléments composés. 3 Quelle est Ia démarche 4 svive pour gjouter une opération permettant d'imprimer le contenu des éléments simples 2 roe (© Edtons EN! - Tout rproduction intoste UML 2 - Entrainez-vous a la modélisation LES TP INFORMATIQUES Enoncé 3.2 : Site web multilingue Durée estimative : 15 minutes Un site de vente par comespondance souhaite étendre son activité 4 plusieurs pays. Proposez une solution flexible permettant de personnaliser l'affichage du site web selon le pays. Les messages et les prix affichés doivent étre automatiquement adaptés. La solution proposée doit faciliter l'ajout d'un nouveau pays sans changer interface du client. 1. Quel pattem est adapté pour ce type de problémes @ 2. Les pays visés sont : la France, I'Espagne et les Etats-Unis. Proposez une repré- sentation des différents algorithmes nécessaires 4 la mise en place de ce systeme. Enoncé 3.3 : Interface GUI Durée estimative : 35 minutes GUI est l'abréviation de Graphical User Interface (interface utilisateur graphique). Des exemples de systémes supportant une interface GUI sont MacOS, Microsoft Windows et XWindow. Le but de cet exercice est de proposer une modélisation d'un systéme flexible, permettant d'afficher les différents composants d'une inter- face graphique (boutons, barres de défilement, menus, etc.) en fonction du sys- téme. Le format de ces composants graphique étant différent d'un systéme a un autre. 1. Quel pattem de conception est adapté a ce type de problémes 2 2. Proposez une modélisation sous forme de diagramme de classes. 3. Une seule instance d'un créateur de composants doit étre disponible par sys- téme dans le modéle. Quel est le pattem a utiliser pour réaliser cette restric- tion ? Explicitez le code correspondant. oes) (© Edtions EN! - Toute reproduction interte jets et de patterns ENONCES DU CHAPITRE 4 ae des Miatieres Chapitre 4 : La composition d'objets et de patterns Pré-requis Enoncé 4.1 : Mesure Enoncé 4.2 : Arbre B Enoncé 4.3 : Table Enoncé 4.4 : Dictaphone Enoncé 4.5 : Document XML Enoncé 4.6 : Statut d'une personne Enoncé 4,7 : Pattern Strategy avec paramétrage (© Eetons EN! - Toute rproduction intone 29 30 31 32 32 33 33 35 ion diobjets et de patterns ENONCES DU CHAPITRE 4 Chapitre 4 : La composition d'objets et de patterns |® Durée : 2 heures 20 | Mots-clés : diagramme de structure composite, collaboration, application de collabo- ration, pattems de conception, paramétre de template, clef. 1® Objectif : Dans ce chapitre, vous apprendrez 4 > maitriser la composition avancée d'objets, notamment pour représenter, dans certains cas, la spécialisation ; »# mettre en ceuvre le diagramme de structure composite, notamment dans le cas de la collaboration relative aux patterns de conception : »¥ réaliser une composition de pattems ; >» utiliser les paramétres de template. Pré-requis Pour valider les prérequis nécessaires avant d'aborder le TP, répondez aux ques- tions ci-aprés : 1. Qu'est-ce que Ia clef d'une classe @ & Une référence des instances de cette classe vers les instances d'une autre classe. Un ou plusieurs attributs dont Ia ou les valeurs sont uniques pour chaque ins- tance de la classe. ©. Un identifiant unique de la classe. 2. Que peut-on décrire dans un diagramme de structure composite @ @. Les activités des parties d'un objet. b. Les collaborations lies & un pattem de conception. ©. Les parties d'un objet et leurs connecteurs. Les parties d'un cas d'utilisation. : 3. Quel est I'intérét principal d'un diagramme de structure composite par rapport & un diagramme de classes 4. Que signifie la cardinalité d'une partie 2 5. Qu'est-ce qu'un réle associé 6 une partie # (© Eations EN! - Toute reproduction intersto UML 2 - Entrainez-vous 4 la modélisation LES TP INFORMATIQUES 6 Quelle est la différence entre un connecteur et une association @ a. II n'y a aucune différence. b. Un connecteur est I'extrémité d'une association. 6. Un connecteur relie deux parties tandis qu'une association relie deux classes. 1. Qu'est-ce qu'une collaboration dans un diagramme de structure composite ? 8 Une application d'une collaboration déctit l'utilisation d'un pattern dans un cas précis, en précisant le réle de chaque classe intervenant dans le pattem 2 a Oui. Non. 8 Qu'est-ce qu'un paramétre de template d'une classe ? 10. Qu'est-ce que signifie « contraindre un paramétre de template »? @. Indiquer que le paramétre doit étre substitué par une classe concréte. I. Indiquer que le poramétre doit étre substitué par une classe spécifiée dans la contrainte ou l'une de ses surclasses. © Indiquer que le paramétre doit étre substitué par une classe spécifiée dans la contrainte ou l'une de ses sous-classes. (x) PaO Enoncé 4.1: Mesure Durée estimative : 30 minutes En physique, une mesure s'exprime 4 l'aide d'une valeur numérique, d'un delta (plus ou moins) autour de cette valeur et d'une unité. Par exemple, la mesure d'une longueur vaut 10,3 m + 0,1. |l existe des mesures basées sur une unité simple, telles que le métre du précédent ‘exemple. II existe également des mesures dont l'unité est composée par plusieurs unités simples, comme la mesure de la vitesse (par exemple, en métre par seconde : m/s ou m:s'!) ou la mesure de I'énergie électrique facturée (en kilowatts heure : KW.h). Une puissance liée G chaque unité simple apparait également dans la composition (-1 pour les secondes dans le cas de la vitesse exprimée en ms", 2 pour les surfaces exprimées en m?). Le but est de décrire une mesure physique par un diagramme de classes en utili sant la composition. La valeur de la mesure et son delta sont décrits au sein d'une méme classe en tant que composant de la classe représentant la mesure. Chaque unité de base (métre, Kilogramme, heure, etc.) est représentée par une instance unique de la classe des unités. (© Eations EN! - Toute reproduction inerte La composition d'objets et de patterns ( ) ENONCES DU CHAPITRE 4 1. Tracez ce diagramme des classes sans y représenter une notion d'ordre dans les unités de la mesure, c'est-d-dire, par exemple, sans y introduire de distinc- tion entre ms" et s!.m. Concemant les puissances associées aux unités, nous nous limitons 4 |'utilisation directe de I'unité (ou puissance un) et 4 I'inverse (puissance -1). Utilisez deux associations d'agrégation vers les objets représen- tant les unités. upprimez la limitation sur les puissances en utilisant une classe-association. Tracez ce diagramme des classes en y introduisant une notion d'ordre dans les unités de la mesure, c'est-d-dire, par exemple, en distinguant la représentation de ms" et s'.m. ep Enoncé 4.2 : Arbre Durée estimative : 20 minutes Un arbre B sert & indexer un ensemble d'objets de données et & pouvoir retrouver rapidement chaque objet de données 4 l'aide d'une clef associée de facon unique 4 cet objet. Il existe une relation d'ordre entre les clefs : il est possible, lorsque l'on connait deux clefs, de déterminer Ia plus petite des deux. Un arbre B est une extension d'un arbre binaire dont chaque noeud contient des clefs et des fils. Un arbre B posséde un ordre. Le nombre maximal de clefs et donc d'objets de données référencés par un nceud est égal 4 2 n,n étant l'ordre de l'arbre B. cit un noeud est une feuille (c'est-d-dire qu'il ne posséde aucun fils), soit il pos- séde un fils pour chaque clef ainsi qu'un fils supplémentaire. Un fils correspondant une clef C posséde des clefs supérieures 4 la clef précédant la clef C (si elle existe) et inférieures 4 la clef C. Le fils supplémentaire contient des clefs supérieu- res 4 la plus grande clef du noeud. Le nombre maximum de fils est donc 2. 1. La figure suivante illustre un exemple d'arbre B d'ordre 2. fe Bs Farecheet La racine posséde deux clefs et trois fils. Les fevilles possédent trois ou quatre clefs. Les objets de données associés aux clefs ne sont pas représentés. (© Eedons EN! - Toute repredvction inteste LES TP INFORMATIQUES Tracez le diagramme des classes qui décrit un arbre B. Indices pour I’'énoncé 4.2 Le plus simple est d'associer chaque fils (hormis le fils supplémentaire) G chaque clef. I n'est pas nécessaire de décrire les contraintes de cardinalité sur le nombre de clefs et de fils d’un noeud. N'oubliez pas que les clefs sont ordonnées au sein de chaque noeud. Enoncé 4.3 : Table Durée estimative : 10 minutes Il stagit de décrire une table composée d'un plateau, de quatre pieds et deux tiroirs. Les pieds et le plateau ne peuvent pas étre dissociés, d la différence des tiroirs 1. Décrivez la table 4 l'aide d'un diagramme de classes. 2. Transformez le précédent diagramme en un diagramme de structure compo- site. eee) Enoncé 4.4 : Dictaphone Durée estimative : 15 minutes Un dictaphone 4 cassettes est composé de deux tétes (une téte de lecture et une téte d'enregistrement), de trois touches (lecture, enregistrement et arét). Il peut étre livré avec un casque. 1. Décrivez le dictaphone 4 l'aide d'un diagramme de structure composite sans distinguer les différents types de tétes et de touches. Tracez les connecteurs en spécifiant les cardinalités aux extrémités. 2 Nous souhaitons maintenant distinguer les différents types de touches et tétes. Adaptez le diagramme en conséquence en attribuant les réles aux parties. ere (© Eetons EN! - Toute rpredvction interste jets et de patterns ENONCES DU CHAPITRE 4 La compo: Enoncé 4.5 : Document XML Durée estimative : 15 minutes Le pattem Composite a été introduit dans le chapitre sur les pattems de concep- tion. Nous reprenons I'exercice du document XML. Le pattern Composite est décrit 4 l'aide d'un diagramme de structure composite avec collaboration de la maniére suivante : composé : Composé [1."] See : Tracez l'application de cette collaboration pour un document XML. Coronas Enoncé 4.6 : Statut d'une personne Durée estimative : 20 minutes Nous nous intéressons 4 des personnes ayant soit le statut d’étudiant, soit celui d'employé, soit celui de chémeur, soit celui de retraité. Ces personnes changent de statut au cours de leur vie. Pour décrire ces différents statuts, le recours & la spécialisation d'une classe Per- sonne tel que I'llustre la figure suivante semble la solution la plus appropriée. La classe Personne est introduite en tant que classe abstraite qui décrit les aspects communs de Ia personne, quel que soit son statut. Les quatre sous-classes introdui- sent les attributs spécifiques 4 chaque statut. (© Eations EN! - Tout reproduction interste ( } UML 2 - Entrainez-vous 4 la modélisation LES TP INFORMATIQUES Personne nom prénom adresse #dateNaissance Employé iénuméro salaire ancienneté Un tel diagramme est simple, il décrit totalement les différents statuts possibles d'une personne. Cependant, il n'est pas nécessairement simple a mettre en ceuvre : - d'abord il introduit une higrarchie sur les personnes relative & leur statut, mais il peut exister d'autres critéres de hiérarchie sur les personnes (par exemple, par rapport & leur statut matrimonial, leurs compétences professionnelles, ou encore une classification homme, femme, garcon, file, etc.). Le fait de multiplier les hié- rarchies de spécialsation d'un objet peut rendre ts complexe le diagramme des classes. = ensuite, il suppose une implantation qui inclut un mécanisme de changement de classe d'une instance : une personne au chémage qui retrouve un emploi doit devenir une instance de la classe Employé alors qu'elle était une instance de la classe Chémeur. De tels mécanismes ne sont pas frequents. Il existe une autre solution qui consiste & passer de la spécialisation 4 la composi- tion : le statut d'une personne n'est plus lié 4 sa classe mais devient un lien de composition vers une instance de la classe qui décrit le statut actuel de la per- sonne. Comme précédemment, une classe spécifique est introduite pour chaque statut. lllustrez cette solution basée sur la composition 4 I'aide d'un diagramme de clas- ses. oes (© Eedtons EN! - Toute reproduction intedte La compo: ENONCES DU CHAPITRE 4 Enoncé 4.7 : Pattern Strategy avec paramétrage Durée estimative : 30 minutes Le pattem Strategy a pour but d’adapter le comportement d'un objet en fonction d'un besoin sans changer les interactions avec les clients de cet objet. Cette adaptation du comportement est encapsulée. Le pattem Strategy a été introduit dans le chapitre sur les pattems de conception. Nous reprenons l'exercice qui lui est consacré, & savoir la personnalisation de l'affi- chage d'un site web selon le pays, et donc selon Ia langue, ici, le frangais, l'espo- gnol et l'anglais. Nous voulons maintenant améliorer l'utilisation de la classe Affichage (celle qui affiche le contenu du site Web) de sorte qu'elle soit paramétrée par l'une des sous-classes de la classe StratégieAffichage. Ce paramétrage permet ainsi de désigner directement la langue choisie, lors de la création d'une instance de Ia closse Affichage. Ce choix est alors définiif pour cette instance. Par ailleurs, nous désirons qu'il n’existe au maximum qu'une seule instance de chaque sous-classe de StratégieAffichage. 1. Quel est le pattem le plus adéquat pour garantir qu'il n'existe qu'une seule ins- tance au maximum de chaque sous-classe de StratégieAffichage 2 2. Tracez la partie du diagramme des classes correspondant 4 Ia classe Straté- gieAffichage et G ses sous-classes dotées de la capacité de n'avoir qu'une seule instance au maximum. 3. Ajoutez au diagramme des classes la classe Affichage paramétrée par une sous-Classe de StratégieAffichage. Puis ajoutez la classe AffichageFr, sous-classe de la classe Affichage, qui affiche en francais 4. Ajoutez la déclaration de |'attribut stratégieAffichage dans la classe Affichage avec son type. Cet attribut décrit l'association qui sert 4 associer une instance de la classe Affichage 4 une instance d'une sous-classe de StratégieAffichage. 5. Ajoutez le constructeur de la classe Affichage en décrivant son code. (© Edtons EN! - Toute rpreduction intersto Les cas d' ion ENONCES DU CHAPITRE 5 q ane des Mistieras Chapitre 5 : Les cas d'utilisation Pré-requis Enoncé 5.1 : Un premier cas d'utilisation Enoncé 5.2 : L'authentification Enoncé 5.3 : La consultation d'horaires de train Enoncé 5.4 : Le distributeur automatique de produits courants Enoncé 5.5 : L'appel téléphonique (© Eatons EN! - Toute reproduction interste 39 4l 4 42 rr) 44 Les cas d'utilisation @) ENONCES DU CHAPITRE 5 Chapitre 5 : Les cas d'utilisation |® Durée : 2 heures 15 © Mots-clés : cas d'utilisation, acteur, relation de communication, inclusion, extension, généralisation, spécialisation © Objectif : Dans ce chapitre, vous apprendrez »1 déterminer les acteurs et les cas d'utilisation ; »1 distinguer les acteurs primaires et secondaires ; »1 utiliser un cas d'utilisation pour l'inclure dans un autre ; »1 étendre un cas d'utilisation ; »1 spécialiser un cas d'utilisation pour l'enrichir. Pré-requis Pour valider les pré-requis nécessaires avant d'aborder le TP, répondez aux ques- tions ci-aprés : 4. Que décrivent les cas d'utilisation ? 2. Les cas d'utilisation correspondent 4 un ensemble d'interactions entre un utilso- teur et le systéme. a Oui BL Non 3. Un cas d'utilisation prend en compte les objectifs non fonctionnels d'un utilisa- teur. @ Ovi b. Non 4 Dans un cas d'utilisation, un acteur représente un utilisateur jouant un dle précis dans |"utilisation du systéme. @ Oui . bh. Non 5. Pour les acteurs primaires, l'objectif du cas d'utilisation est essentiel. a Oui Bt Non © Ealtons EN! - Toute reproduction itercte UML 2 - Entrainez-vous a la modélisation LES TP INFORMATIQUES 6 Pour les acteurs secondaires, 'objectif du cas d'utilisation est également essen- tiel. @ Oui bh. Non 1. Un acteur est une personne interne au systéme. a Oui Bh. Non 8. Un acteur est obligatoirement une personne physique. a Oui B. Non 8. La relation de communication lie un acteur au systéme. a Oui B. Non 10. Quel est le but des relations d'inclusion et d'extension ? En quoi différent- elles 2 M1. Tous les cas d'utilisation ont une relation de communication directe avec un acteur. a Oui Bh. Non 12. La relation de généralisation/spécialsation est une relation liant deux cas d' uti sation. @ Ovi h. Non 18. Qu'est-ce qu'un cas d'utilisation abstrait # 1A. Lors du déroulement d'un projet, & quels moments les cas d'utilisation sont-is utilsés @ roe (© Editions EN! - Toute repioduction interste Les cas dlutiisation @) ENONCES DU CHAPITRE 5 Enoncé 5.1 : Un premier cas d'utilisation Durée estimative : 15 minutes Le systéme retenu est parmi les plus simples que |'on puisse imaginer : il s'agit d'une lampe de chevet. Les deux interactions liées aux fonctionnalités du systéme sont I'allumage de la lampe et son extinction. L'acteur primaire est l'utilisateur de la lampe. En effet, pour ce demier, |'allumage ou son extinction constituent bien des objectifs essentiels. 1. Représentez en UML les deux cas d'utilisation : allumage et extinction avec l'utilisateur de la lampe. 2. Faites intervenir le réseau électrique dans le cas d'utilisation de |'allumage de la lampe. Indice pour I'énoncé 5.1 Analysez bien le statut du réseau électrique. Faitl ou non partie du systéme ? L'allumage de Ia lampe esti un objectif pour lui ? Cor [a Enoncé 5.2 : L’authentification Durée estimative : 25 minutes Il s'agit de décrire le cas d'utilisation de l'authentification d'un utiisateur & un sys- téme informatique. Cette authentification s'effectue de fagon simple par la scisie d'un nom et d'un mot de passe. 1. Représentez, en UML, le cas d'utilisation de l'authentification avec l'acteur qui interagit avec ce demier, sans spécifier les détails. 2. Introduisez, dans le diagramme du cas d'utilisation, la saisie du nom et celle du mot de passe ainsi que la vérification de ces données. 3 Ajoutez la saisie d'un code complémentaire aprés celle du mot de passe. Ce code complémentaire est optionnel et n'est destiné qu'aux utlisateurs ayant besoin d'une sécurité accrue. (© Eedtons EN! - Toute repraduction interte LES TP INFORMATIQUES Indice pour I'énoncé 5.2 Pour le deuxiéme et troisiéme point, pensez utiliser les relations d'inclusion et d'extension entre cas d'utilisation. Distinguez l'aspect optionnel ou impératif des descriptions. eee Enoncé 5.3 : La consultation d’horaires de train Durée estimative : 40 minutes Le but de l'exercice est de décrire les exigences fonctionnelles d'un site Intemet de consultation d'horaires de train, avec en option la possibilité d'acheter un billet comespondant 4 I'horaire sélectionné. 1 Représentez en UML le cas d'utilisation de consultation avec la description de la requéte (choix des gares de départ et d’arivée, date et heure de départ, possibilité d'avoir une gare intermédiaire avec éventuellement une durée et la description de la visualisation des horaires calculés par le systéme. Pour le choix des gares, il est possible de consulter une base de données contenant toutes les gares du réseau ferroviaire). 2. Introduisez la possibilité d'acheter un billet correspondant 4 I'horaire préalable- ment sélectionné parmi ceux visualisés. N'oubliez pas que le systéme demande le tarif choisi pour le billet. Ne décrivez pas les détails du choix du tarif ni du paiement, ni de I'envoi du billet. 3. Représentez le cas d'utilisation de visualisation et de sélection d'un horaire sous la forme textuelle simplifiée ci-aprés (la forme compléte sera présentée dans le chapitre consacré 4 l'étude de cas). Introduisez dans cette représentation I'ac- quisition du billet. Cas d'utilisation Nom du cas d'utilisation Opérations 1 Opération 1 2 Opération 2 3 Opération 3 4 Opération 4 5 Opération 5 (© Exilons EN! - Toute reproduction interte Les cas d’ ion ENONCES DU CHAPITRE 5 Cas d'utilisation Nom du cas d'utilisation Extensions 1A Condition d'application de l'extension A sur Vopération 1 1Al Opération 1 de l'extension A sur l'opération 1 1A2 Opération 2 de l'extension A sur l'opération 1 1B Condition d’application de l'extension B sur l'opération 1 1.8.1 Opération 1 de I'extension B sur l'opération 1 4A Condition d'appiication de I'extension A sur Vopération 4 4A) Opération 1 de |'extension A sur l'opération 4 Indices pour I'énoncé 5.3 Pour le deuxiéme et troisiéme point, pensez & décrire les actions que peut effectuer utilsateur lors de Ia visualisation et qui ont une réelle pertinence fonctionnelle. Utilisez comme dans I'exercice précédent les relations d'inclusion et d'extension. Crome Enoncé 5.4 : Le distributeur automatique de produits courants Durée estimative : 25 minutes Le client d'un distributeur automatique de produits courants peut y trouver des produits alimentaires (pains, conserves, boissons, etc.) ainsi que d'autres types de produits courants (lessives, savons, etc.). Une fois qu'il a choisi les produits qu'il désire acheter, il doit ensuite payer ses achats. La figure suivante illustre le cas d'utilisation comespondant 4 cette description. 2 <> Peer (© Eeltions EN! - Toute reproduction iterdto UML 2 - Entrainez-vous 4 la modélisation LES TP INFORMATIQUES 1. Il existe deux fagons de payer les produits : soit en espaces soit par carte de crédit. Représentez, en complétant le diagramme précédent, ces deux possibi- lités. 2. Lors de l'achat d'un produit alimentaire et uniquement dans ce cas, le client vérifie la date de limite de consommation du produit. Représentez cette vérifi- cation, & partir du diagramme précédent. Indices pour I’énoncé 5.4 Pour réaliser cet exercice, il convient d'utiliser Ia relation de généralisation/spéciali- sation entre deux cas d'utilisation. ll est également vivement recommandé d'utiliser les cas d'utilisation abstraits. Coes Enoncé 5.5 : L'appel téléphonique Durée estimative : 30 minutes Le but de cet exercice est de décrire et de détailler le cas d'utilisation d'émission d'un appel téléphonique. Il convient de préciser qu'une phase de numérotation est nécessaire avant I'établissement de la communication avec le corespondant. Cette phase d'établissement de la communication a toujours lieu. 1. Représentez en UML le cas d'utilisation comespondant & I'émission d'un appel. 2 Le cas d'utilisation précédent s'applique bien & une ligne téléphone fixe. Adaptez-te pour une cabine téléphonique, ov il est nécessaire dintroduire une carte téléphonique avant de pouvoir émettre un appel. 3. Modifiez également le cas d'utilisation pour un GSM. Il peut étre alors néces- saire d'allumer au préalable celui-ci ou d'en déverrouiller le clavier. 4 Reprenez ces trois cas et généraliseztes par un cas d'utilisation abstrait. Indice pour I'énoncé 5.5 ll convient d'associer, au cas d'utilisation abstrait ainsi “créé, les sous-fonctions communes. En effet, ces sous-fonctions sont également associées aux sous-cas par héritage. roe © Eadtlons EN! - Toute epreduction intersite Les interactions entre objets ( ) ENONCES DU CHAPITRE 6 + I able ues Miatieres Chapitre 6 : Les interactions entre objets Pré-requis 47 Enoncé 6.1 : La lampe de chevet 48 Enoncé 6.2 : La consultation des horaires et I'achat du billet de train 48 Enoncé 6.3 : La somme des éléments d'un vecteur 49 Enoncé 6.4 : L'objet graphique composé 50 Enoncé 6.5 : L'interface d'un composant 5] Enoncé 6.6 : Le distributeur de produits alimentaires 52 Enoncé 6.7 : L'outil de dessin 53 Enoncé 6.8 : La communication téléphonique 54 Enoncé 6.9 : 'ascenseur 54 (© Eadtions EN! - Tout reproduction iterdte Les interactions entre objets (@) ENONCES DU CHAPITRE 5 Chapitre 6 : Les interactions entre objets |® Durée : 4 heures 30 1® Mots-clés : message. ligne de vie, séquence, synchrone, asynchrone, interaction, cadre d’interaction, garde © Objectif : Dans ce chapitre, vous apprendrez 4 : » décrire les lignes de vie des objets du systéme et leurs interactions ; » déterminer les différents types de message entre objets : » mettre en ceuvre les cadres d'interaction ; » décrire et utiliser un diagramme de communication. Pour valider les pré-requis nécessaires avant d'aborder le TP, répondez aux ques- tions ci-aprés : 1. Un diagramme de séquence est basé sur une représentation temporelle. a Oui Non 2. Un diagramme de séquence fait intervenir : @ des classes . des objets 3. Un message peut contenir des paramétres. @ Oui b. Non 4. Comment est représenté le message de création d'un objet ? 5. Quelle est la difference entre un message synchrone, asynchrone et de retour ? 6 Un objet peut-il envoyer un message 4 lui-méme ? a@ Oui b. Non 1. A quoi servent les cadres d'interaction @ (© Eations EN! - Toute reproduction intorste UML 2 - Entrainez-vous 4 la modélisation LES TP INFORMATIQUES 8 Une condition de garde renvoie une valeur booléenne. a Oui b. Non 9 Un diagramme de communication utilise également une représentation temporelle. @ Ovi B. Non Enoncé 6.1 : La lampe de chevet Durée estimative : 20 minutes Si nous reprenons I'exemple d'une lampe de chevet allumée ou éteinte par son utiisateur. 1. Représentez, en UML, le diagramme de séquences incluant |'allumage et extinction en faisant intervenir la lampe et son utlisateur. 2. Faites intervenir, dans le diagramme de séquences, I'intemupteur et le réseau électrique comme nouveaux objets et tracez leurs interactions avec la lampe et l'utilisateur. Indice pour I'énoncé 6.1 N'oubliez pas qu'en modélisation par objets, tous les objets sont actifs et dialoguent par messages. Enoncé 6.2 : La consultation des horaires et achat du billet de train Durée estimative : 40 minutes Le but de l'exercice est de déctire les interactions entre un utilisateur et le site web d'une société de chemins de fer. © Eations ENI- Toute reproduction intrcte Les interactions entre objets ENONCES DU CHAPITRE 6 @) 1. Représentez G |'aide d'un diagramme de séquences, les interactions suivantes : @ le choix de la gare, de la date et de l'heure du départ ; le choix de la gare d'anivée ; choix optionnel d'une gare intermédiaire ; @ obtention des horaires. 2. Ajoutez la possibilité d'acheter un billet comespondant 4 I'horaire préalabk ment sélectionné parmi ceux visualisés. L'utilisateur confirme ensuite l'acqui tion définitive avant de recevoir le billet pour impression. Aucune trace informa- tique du billet n'est conservée. Indice pour I’énoncé 6.2 Pensez aux mécanismes de création et de destruction d'objets. Cor 165 Enoncé 6.3 : La somme des éléments d’un vecteur Durée estimative : 30 minutes Le diagramme de classes ci-aprés représente un vecteur d'entiers, muni d’un tableau d'entiers et d'une méthode somme. Celle-ci renvoie la somme des él ments du vecteur. La méthode get(index) de la classe Tableau renvoie Ia valeur de l'élement dont I'indice est donné en paramétre. vectors | 4 | Tableau rex 1 [Elément ssommed +get( index) +valeur 1. Tracez le diagramme de séquences représentant les interactions nécessaires & la réalisation de la méthode somme. 2. Modifiez le diagramme précédent dans le cas de la méthode somme d'une classe de matrices. 167 (© Edtions EN! - Toute rproduction interte UML 2 - Entrainez-vous 4 la modélisation LES TP INFORMATIQUES Enoncé 6.4 : L'objet graphique composé Durée estimative : 45 minutes Un objet graphique composé est une composition d'autres objets graphiques : des cercles, des carés et d'autres objets graphiques composés. Cette composi- tion est illustrée par le diagramme de classes ci-aprés : |OtjetGraphique }#ordonr ltabscisse née H#couleur +aiticher surfaced ! [GraphiqueCompesé Cercle Carré —*} +afficherd) 4 j#diamétre jwcoté +surfaced afficherd j+surfaced +afficherd +surfaced, La méthode surface renvoie la surface d'un objet. Pour le cercle et le cané, la méthode calcule directement la valeur de la surface 4 partir de la valeur des attributs. Pour un objet composé, la valeur de a surface est obtenue par Ia somme de la surface de ses composants (le chevauchement éventue! d'objets graphiques n'est pas pris en compte). 1. Représentez en UML les interactions enclenchées lors de l'exécution de la méthode afficher de l'objet graphiqueComposé!. Cette représentation doit uti- liser un diagramme de séquences faisant intervenir les objets représentés ci-aprés. (© Eedtons EN! - Toute reproduction inerste teractions entre objets ENONCES DU CHAPITRE 6 Les orcle2 cercie3 2. Réprésentez, & l'aide d'un diagramme de séquences faisant intervenir les mémes objets, les interactions nécessaires pour calculer la surface de l'objet graphiqueComposé1. 3. Généralisez le diagramme de séquences précédent pour qu'il puisse s'appli- quer 4 un objet graphique composé quelconque et non plus seulement & un objet décrit par un diagramme particulier d'objets. Indice pour I'énoncé 6.4 Pensez 4 utiliser les cadres d'interaction. Pensez également & décrire le calcul de la surface pour chaque objet graphique. Cee Enoncé 6.5 : L'interface d’un composant Durée estimative : 30 minutes Le but de I'exercice est de montrer comment un diagramme de séquences peut documenter une interface de programmation. Un composant de vérification de la grammaire posséde une interface décrite ainsi (le rond & droite du nom de la classe représente le stéréotype <>) : ‘Vérificateur Grammaire O| +init) +ficeLangage( langage ) /+corrigePonctuationd vérifleTexted : Erreur A cette spécification d’interface, s‘ajoute la documentation suivante : - Le client du composant doit d'abord appeler la méthode init. © Ealtons EN! - Toute reprodcton iterate UML 2 - Entrainez-vous la modélisation LES TP INFORMATIQUES - Le client du composant doit ensuite invoquer la méthode fixeLangage en préci- sant comme paramétre la langue de correction. - Le client du composant peut ensuite appeler Ia méthode comigePonctuation si ce client désire que la ponctuation soit également vérifiée. - Le client peut alors appeler, autant de fois qu'il le désire, la méthode vérifieTexte en passant le texte & vérifier comme paramétre de la méthode. Cette méthode retourne la liste des erreurs détectées sous forme d'un objet de Ia classe Emeur. Décrivez la documentation textuelle sous la forme d'un diagramme de séquence: eee a Enoncé 6.6 : Le distributeur de produits alimentaires Durée estimative : 35 minutes Le but de l'exercice est de montrer comment le diagramme de séquences cons- fitue un support pour découwrir les objets Composant un systéme. Le systéme considéré est un distriouteur automatique de produits alimentaires. L'utilisateur communique avec le systéme au travers de trois cas d'utilisation : Choisir Produit, Payer et Recevoir Produit. Le diagramme de cas d'utilisation ci-aprés montre ces trois cas. <> Client <> <> 1. Elaborez un diagramme de séquences qui illustre les cas d'utilisation, en res- pectant la séquence globale basée sur I'achat d'un produit : choix, paiement puis réception du produit. 2. Décomposez les messages de chaque diagramme de séquences pour décou- vir des objets du systéme. Par exemple, le choix du produit s'effectue en tapant sur un clavier. 23 (© Editions EN! - Toute roproducton interte Les interactions entre objets ( ) ENONCES DU CHAPITRE 6 Enoncé 6.7 : L'outil de dessin Durée estimative : 35 minutes Le but de l'exercice est d'approfondir les notions de destruction et de création d'objets et d’étudier la mise & jour des occurences d'une association. Un logiciel de dessin permet 4 Iutiisateur de créer des rectangles, des ovales et des zones de texte. Ces dessins constituent des objets graphiques que I'utilsateur, aprés les avoir créés, peut déplacer, dupliquer, supprimer, modifier, etc. Pour réaliser ces opérations, I'utilsateur doit d'abord les sélectionner. Pour ceci, il doit cliquer sur la fléche de sélection dans la palette d'outils puis cliquer sur un objet ou plusieurs ‘objets en maintenant la touche [Shiff] enfoncée. Aprés avoir sélectionné un ou plusieurs objets, l'utilisateur peut alors réaliser l'action désirée sur les objets sélectionnés. L'exercice a pour objet I'élaboration du diagramme de séquences de la suppres- sion des objets sélectionnés et du diagramme de séquences de la duplication des objets sélectionnés. Le diagramme de classes utilisé est le suivant : ListeObjetsSel = conten» uaa scopes Fcoordonndes jouer objet: Objetraphiaue) F ei |#supprimer( objet ;ObjetGraphique ) Soa 7 sare (vis teur [Rectangie ‘ovale [Zone Texte Seule la partie nécessaire Ia réalisation des deux diagrammes de séquences a été représentée dans ce diagramme de classes. Dans ce diagramme, l'utilisateur est représenté par une classe. II gére la liste des objets sélectionnés en appelant ses méthodes. Cette liste est décrite par la classe ListeObjetsSel. 1. Tracez le diagramme de séquences correspondant 4 la suppression des objets graphiques de |a liste des objets sélectionnés. Lorsqu'un objet graphique est supprimé, son lien dans l'association contient est automatiquement supprimé. © Ealtons EN! - Toute reproduction itodite UML 2 - Entraiinez-vous 4 la modélisation LES TP INFORMATIQUES 2. Construisez le diagramme de séquences correspondant 4 la duplication des objets graphiques. Seuls les nouveaux objets issus de la duplication doivent rester sélectionnés aprés l'opération. ll convient donc d'effectuer des ajouts et des suppressions dans l'association contient en utilisant les messages ajouter et supprimer. Pour simplifier l'exercice, ces messages font partie de la classe listeObjetssel. roms Enoncé 6.8 : La communication téléphonique Durée estimative : 15 minutes Elaborez un diagramme de communication détaillant les différentes étapes d'une communication téléphonique. Par hypothése, la communication se déroule sans probléme (la personne appelée est présente et disponible). Les objets intervenant dans le diagramme sont l'appelant, I'appelé et Ia ligne téléphonique. Le diagramme de communication décrit les tapes jusqu’a la mise en communi- cation de la personne appelante et de la personne appelée. Cor Para Enoncé 6.9 : L'ascenseur Durée estimative : 20 minutes Un ascenseur est un automate qui monte ou descend une cabine. Une fois qu'il est monté dans la cabine, |'utilisateur commande l'ascenseur en lui donnant l'ordre de monter ou de descendre. Construisez un diagramme de communication décrivant l'ordre de monter ou de descenafe et en le détaillant (décomposition de l'ordre en déterminant les messa- ges envoyés aux différentes parties composant l'ascenseur). Indice pour I'énoncé 6.9 Dans cet exercice, comme dans I'exercice 6.6, vous devez décomposer les objets complexes en décomposant les messages qui leur sont envoyés. Cero) (© Eaons EN! - Toulo reproduction itrcte ENONCES DU CHAPITRE 7 Tagis des Miatieres Chapitre 7 : Le diagramme d’états-transitions Pré-requis Enoncé 7.1 : La lampe de chevet Enoncé 7.2 : La situation professionnelle d'une personne Enoncé 7.3 : La lettre recommandée Enoncé 7.4 : Le téléphone portable Enoncé 7.5 : ‘interface de réception série Enoncé 7.6 : La lampe de chevet (complément) Enoncé 7.7 : La situation professionnelle d'une personne (complément) Enoncé 7.8 : Les élections Enoncé 7.9 : Le moteur électrique et son régulateur de vitesse Enoncé 7.10 : La file des événements d'une interface utilisateur graphique {© tons EN! - Tout reproduction inteste 57 58 58 59 59 60 60 61 61 62 62 Le diagramme d'états-transitions ( ) ENONCES DU CHAPITRE 7 Chapitre 7 : Le diagramme d’états-transitions |@ Durée : 4 heures tat, transition, événement, signal, garde, acti sous-état, mémoire ,, fourche, synchronisation, Dans ce chapitre, vous apprendrez & »» déctire les états et leurs transitions ; »»| associer un événement et une condition de garde & une transition ; »»1 associer des activités d une transition et 4 un état ; > mettre en ceuvee les états composés, les fourches et les sous-états paralléles ; » construire des diagrammes d’états-transitions interagissant entre eux. Pré-requis Pour valider les pré-requis nécessaires avant d'aborder le TP, répondez aux questions ci-aprés : 1. Un diagramme d’états-transitions est utilisé pour décrire le cycle de vie d'un objet. a Oui b. Non 2. Il peut exister plusieurs états initiaux. a Oui Bb. Non 3. Une transition peut lier plus de deux états. @ Oui b. Non 4. Qu'est-ce qui peut étre associé & une transition ? 5. Dans Ia liste suivante, quelles sont les activités qui peuvent étre utilisées dans un diagramme d' états-transitions @ envoyer un signal & soi-méme ; appeler une méthode d'un autre objet ; changer d'état : affecter une valeur & un attribut de l'objet ; BrpePp (© Editions EN! - Toute reproduction interte UML 2 - Entrainez-vou: LES TP INFORMATIQUES ® appeler une des méthodes de l'objet ; 1. envoyer un signal 4 un autre objet : @& annuler le franchissement de Ia transition, dans le cas d'une activité interve- nant lors du franchissement d'une transition. ry Comment est représenté I'envoi d'un signal # |. Si une activité est associée un état, celle-ci peut étre interompue par un événement. a Oui bh. Non 8 A quoisert un état composé 2 9 Dans un état composé, & quoi sert le sous-6tat de mémoire, noté par un H entouré d'un cercle ? ~ 10. Un objet peut se trouver simultanément dans plusieurs sous-états. a Oui Non TL. Que signifie le mot clé entry dans un état ? Enoncé 7.1 : La lampe de chevet Durée estimative : 10 minutes Soit la lampe de chevet qui est allumée puis éteinte par son utilsateur qui appuie, & chaque fois, sur interupteur & bascule. Représentez en UML le diagramme d'états-transitions. Enoncé 7.2 : La situation professionnelle d'une personne Durée estimative : 20 minutes Le but de l'exercice est de décrire les différents états de la situation profession- nelle d'une personne et les transitions corespondantes. La personne peut, par exemple, étre étudiante, salariée, sans activité, indépendante ou retraitée. Au début de sa situation professionnelle, une personne est étudiante. (© Eedtons EN! - Tout rproduction intorste ENONCES DU CHAPITRE 7 Ne prenez pas en compte les activités simultanées comme la possibilité d'étre simultanément salarié et indépendant. Construisez le diagramme d’états-transitions comespondant. Indice pour I'énoncé 7.2 Utilisez les conditions de garde pour différencier les possibilités multiples. Cor aE Enoncé 7.3 : La lettre recommandée Durée estimative : 15 minutes Une lettre recommandée posséde plusieurs états : expédiée, remise au destina- taire, attente de remise au bureau de poste, renvoyée 4 l'expéditeur. Construisez le diagramme d'états-transitions correspondant. Indice pour I’énoncé 7.3 Comme dans I'exercice précédent, utiisez les conditions de garde pour différen- cier les possibilités multiples. Enoncé 7.4 : Le téléphone portable Durée estimative : 30 minutes Le but de l'exercice est de s'intéresser aux changements d’états d'un téléphone portable lors de la réception d'appels, notamment en prenant en compte Ia pos- sibilité de gérer deux conversations en altemant (principe du double appel). Elaborez un diagramme d’états-transitions représentant les différents états que peut prendre le téléphone portable. Indices pour I'énoncé 7.4 Le téléphone est bien s6r allumé. (© Eaitons EN! - Tout reproduction intedte UML 2 - Entrainez-vous 4 la modélisation ©) LES TP INFORMATIQUES. Si le téléphone sonne et que I'utisateur ne décroche pas, le réseau abandonne au bout d'un délai ou 'appelant abandonne de Iui-méme. Le réseau peut alors renvoyer sur la messagerie vocale mais ceci ne doit pas figurer sur le diagramme demandé. ree Enoncé 7.5 : L'interflace de réception série Durée estimative : 25 minutes Un boitier d'interface de réception série recoit sur la ligne une suite de zéros et de uns, appelés bits. Lorsqu'il a recu huit bits, le boitier alerte le microprocesseur de lordinateur, passe dans I'état oun octet est disponible et continue de recevoir les bits sur la ligne série. Quand le microprocesseur lit !'octet disponible, le boitier de réception série repasse en mode initial et continue de recevoir les bits. Si jamais un nouvel octet est recu sur la ligne avant que le microprocesseur ait lu loctet précédent, ce demier est perdu. Construisez le diagramme d’états-transitions décrivant les différents états du boitier d'interface de réception série. Indice pour I’énoncé 7.5 Pensez 4 utiliser I'action d'envoi de message qui peut étre enclenchée au sein d'un état ou lors du franchissement d'une transition. fo) Enoncé 7.6 : La lampe de chevet (complément) Durée estimative : 20 minutes Le but de l'exercice est d’approfondir l'exercice 7.1. Il consiste & prendre en compte deux nouveaux événements, & savoir le retrait et la remise de l'ampoule, ce qui arrive quand cette demiére a terminé sa vie. Modifiez le diagramme d'états-transitions de l'exercice 7.1 pour prendre en compte ces deux nouveaux éléments. Indice pour I’énoncé 7.6 Utilisez les tats composés et les sous-états pour réaliser cet exercice. rece (© Eeons EN! - Toute reproduction interte ENONCES DU CHAPITRE 7 Enoncé 7.7 : La situation professionnelle d'une personne (complement) Durée estimative : 35 minutes Cet exercice reprend I'énoncé de I'exercice 7.2 mais sans la contrainte sur les situations multiples. II est alors possible d’étre & la fois : - salarié et étudiant ; - indépendant et étudiant ; - indépendant et salarié ; ~ ou les trois, Modifiez le diagramme d’ét compte cette nouvelle possibilité. transitions de l'exercice 7.2 pour prendre en Indice pour I'énoncé 7.7 Utilisez les sous-états paralléles pour modifier le diagramme a’ états-transitions. roe Enoncé 7.8 : Les élections Durée estimative : 25 minutes Des élections ont lieu dans des bureaux de vote. Quand le vote est terminé, chaque bureau passe dans l'état de comptage afin de déterminer le résultat du bureau. Quand le comptage est terminé, les résultats sont transmis 4 I'ordinateur central. Chague fois que l'ordinateur recoit les résultats d'un bureau, il affine les résultats intermédiaires. Quand |'ordinateur central recoit les résultats de tous les bureaux, il fourit alors les résultats définitifs. Dessinez le diagramme d'états-transitions d'un bureau de vote. Construisez ensuite le diagramme d'états-transitions de l'ordinateur central. Cortigé p. 187 (© Eatons EN! - Toute repradktion interite UML 2 - Entrainez-vous 4 la modélisation LES TP INFORMATIQUES Enoncé 7.9 : Le moteur électrique et son régulateur de vitesse Durée estimative : 25 minutes Un moteur électrique toume plus ou moins vite en fonction de la tension élec- frique qui lui est appliquée mais aussi d'autres forces extemes (par exemple, dans le cas du moteur d'un train). Un tel moteur a trois états : 4 l'arét, en accélération et en ralentissement. II est capable de foumir sa vitesse instantanée & tout moment. Le régulateur consiste en un module exteme qui doit fixer la vitesse du moteur la plus proche d'une consigne. Si la vitesse du moteur est trop grande, il doit la réduire jusqu’d l'obtention de la valeur de consigne. Si la vitesse du moteur est trop faible, il doit 'augmenter jusqu'a l'obtention de la valeur de consigne. Le régulateur peut aussi recevoir un message de fixation d'une nouvelle valeur de consigne. Tracez le diagramme d'états-transitions du moteur et de son régulateu ar Enoncé 7.10 : La file des événements d'une interface utilisateur graphique Durée estimative : 35 minutes interface utilisateur graphique est basée sur une file first in first out dans laquelle sont stockés les événements en provenance de I'utilisateur (comme les touches enfoncées, les touches relachées, les clics de souris, etc.). Le contrdleur de V'interface lit ces événements et les traite. Si la file est pleine, le premier événement est effacé. Le diagramme de classes correspondant est le suivant : File lUtiisateur| utiise [#taille

You might also like