Вы находитесь на странице: 1из 42

TD UML

Notre fascicule va prsenter la conception orient objet UML . Elle dfinit les systmes
(modles) l'aide des diagrammes. Et tout au long de ce module, on va s'intresser chaque
fois un aspect prcis du modle. C'est--dire une perspective du modle dcrite via une
reprsentation graphique (diagramme).

Enseignant
BOUKHCHIM Mossaab

TD UML Page (1/42)


ISET Kef

Sommaire

TD1 Digramme de classe

TD2 Digramme de cas dutilisation

16

TD3 Digrammes de squences et collaborations

19

TD4 Digrammes dactivits et dtat transition

21

TD5 Etude de Cas

31

TD6 Etude de Cas

33

TP Conseils d'utilisation de l'outil UML Rational Rose

39

TD UML Page (2/42)

ISET Kef

TD 1
Diagramme de Classes
DIAGRAMME DE CLASSES
Objectif : Permet de reprsenter lensemble des informations formalises ayant fait lobjet dune
dfinition sur le fond et sur la forme, qui sont gres dans le domaine.

Formalisme

Association
rflexive

Nom classe

Nom rle

Nom rle

Noms Attributs 0..1


Noms Oprations

multiplicit

*
1

spcialisation
Nom association

Description dun cas

classe
association

Noms Attributs

Agrgation

1..*

- Dfinition smantique
- Liste des attributs
- Liste des oprations

Principaux concepts
Classe
Attribut
Opration
Association

Notation

Ensemble dobjets sur lesquels on peut


reconnatre des similitudes.
Information lmentaire composant une
classe.
Fonctionnalit assure par la classe.
Lien entre classes.
Contraintes entre Associations :
{C}

Association
rflexive
Classe association

Association mettant en relation une classe


avec elle-mme.
Association porteuse dattributs.

Multiplicit

Nombre dinstances impliques dans


lassociation.

Agrgation

Type dassociation mettant en vidence une


classe agrge et une classe agrgat. Chaque
objet de la classe agrge est associ un ou
plusieurs objets de la classe agrgat.

Gnralisation
spcialisation

Permet didentifier parmi les objets dune


classe (gnrique) des sous-ensembles dobjets
(des classes spcialises) ayant des dfinitions
spcifiques.

TD UML Page (3/42)


ISET Kef

Composition :

Contrainte de
spcialisation

{C}

Exercice 1:
Une acadmie souhaite grer les cours dispenss dans plusieurs collges. Pour cela, on
dispose des renseignements suivants :
 Chaque collge possde dun site Internet
 Chaque collge est structur en dpartements, qui regroupent chacun des enseignants
spcifiques. Parmi ces enseignants, lun deux est responsable du dpartement.
 Un enseignant se dfinit par son nom, prnom, tl, mail, date de prise de fonction et
son indice.
 Chaque enseignant ne dispense quune seule matire.
 Les tudiants suivent quant eux plusieurs matires et reoivent une note pour
chacune delle.
 Pour chaque tudiant, on veut grer son nom, prnom, tl, mail, ainsi que son anne
dentre au collge.
 Une matire peut tre enseigne par plusieurs enseignants mais a toujours lieu dans la
mme salle de cours (chacune ayant un nombre de places dtermin).
 On dsire pouvoir calculer la moyenne par matire ainsi que par dpartement
 On veut galement calculer la moyenne gnrale dun lve et pouvoir afficher les
matires dans lesquelles il na pas t not
 Enfin, on doit pouvoir imprimer la fiche signaltique (, prnom, tl, mail) dun
enseignant ou dun lve.
Elaborez le diagramme de classes correspondant. Pour simplifier lexercice, on limitera le
diagramme une seule anne dtude
Exercice 2: Un systme de fichiers
Modlisez les quelques aspects du systme de fichiers dcrits ci-dessous l'aide d'un
diagramme de classes.
Les dossiers contiennent des sous-dossiers et des fichiers. Le systme de fichiers est en fait un
ensemble de fichiers et de dossiers contenus dans un dossier racine, le root directory. Les
utilisateurs peuvent possder un dossier leur nom (le home directory) ainsi que d'autres
dossiers et fichiers. De plus, chaque utilisateur peut lire un ensemble donn de fichiers.

TD UML Page (4/42)


ISET Kef

Exercice 3: Une banque


Une banque possde plusieurs agences rparties en Tunisie. Elle n'a qu'un seul sige social.
chaque agence sont affilis de nombreux clients, qui peuvent chacun possder plusieurs
comptes. Il existe trois types de comptes : le compte courant (jeune), le compte courant
(adulte) et le compte (pargne). Les taux d'intrt et les services sont bien sr diffrents selon
le type du compte. En outre, chaque agence possde au maximum 5 employs dont 1 seul est
le directeur. De plus, la banque possde des employs administratifs travaillant au sige social
et un directeur gnral.
Modlisez ce monde par un diagramme de classes. N'oubliez pas d'indiquez les multiplicits
et les rles des associations ncessaires.
Exercice 4: Une bibliothque
Une bibliothque aimerait informatiser son systme de gestion. Pour cela, le bibliothcaire en
chef nous a fourni les indications suivantes.
Un catalogue contient, pour chaque livre, le titre, le nom de I'auteur et le numro ISBN de cet
ouvrage. Il peut exister plusieurs copies d'un mme livre dans la bibliothque. Chaque copie a
un numro unique d'accs. Des lecteurs sont rattachs cette bibliothque et chacun d'eux a
un nombre de tickets. Le systme enregistre le nom et l'adresse de chaque lecteur, le nombre
de tickets qu'il peut encore utiliser, ainsi que le nombre de tickets qu'il a dj consomm. Un
lecteur peut emprunter une copie en l'changeant par un de ses tickets, et le systme en garde
la trace via un enregistrement de la copie emprunte et de la date de retour de cette dernire.
Modlisez e systme l'aide d'un diagramme de classes. N'oubliez pas de prciser les attributs
et les ventuelles mthodes de chaque classe.
Exercice 5:
Vous devez raliser une application OO pour le dpartement RH dune socit
manufacturire. Tous les employs sont identifis par un numro ainsi que par leurs nom,
prnom, date de naissance et numro de scurit sociale, et tous peroivent une certaine forme
de rmunration : les salaris peroivent un salaire annuel brut fixe tandis que les
commerciaux touchent un certain pourcentage (propre chacun deux) des ventes quils ont
ralises. Parmi les salaris, les ouvriers la diffrence des cadres touchent une
compensation pour leurs heures supplmentaires un tarif horaire propre chacun. Par
ailleurs, les commerciaux et cadres bnficient dune indemnit forfaitaire pour leurs frais de
reprsentation, et peuvent utiliser une voiture de fonction si ncessaire dont le systme devra
indiquer la plaque, le modle, le kilomtrage et le numro de la police dassurances. Les
cadres ont en outre droit une indemnit forfaitaire pour leur logement. Enfin, les ouvriers
TD UML Page (5/42)
ISET Kef

sont organiss en quipes dont les horaires sont tablis lavance pour toute lanne. En fin
danne, chaque ouvrier peroit une prime sur rsultats au prorata du nombre darticles
produits par son quipe. Lapplication devra tre capable de calculer le salaire mensuel de
chaque employ quel quil soit. Veuillez tracer le diagramme de classes de lapplication.
Exercice 6 : Transport ferroviaire
Un convoi ferroviaire de marchandise (que lon nommera pour simplifier CFM) est
compos dune locomotive et de plusieurs wagons (de 0 50). Il se rend dune gare de dpart
une gare darrive dans un crneau horaire donn (date-heure dbut, date-heure fin). Il doit
passer (sans sarrter) dans des gares intermdiaire une date-heure prcise (avec une
tolrance de x minutes) o son passage sera contrl.
Il existe deux sortes de locomotives : lectrique ou diesel. Les wagons peuvent tre soit des
plateaux, soit des citernes, soit des containers. Chaque locomotive est identifie et caractrise
par son type de motorisation (lectrique ou diesel), son poids, sa puissance, le poids
maximum quelle peut tracter. Les locomotives lectriques sont caractrises de plus par leur
consommation maximale en intensit (exprime en ampre) et les locomotives diesels par leur
autonomie (exprime en km).
Les wagons sont tous identifis et caractriss par leur poids vide, la charge maximale quils
peuvent transporter, et leur contenu (nature, poids, destinataire). Pour les citernes on prcise
la capacit (en litre), pour les plateaux la longueur et la largeur, pour les containers, la
longueur, la largeur et la hauteur.
Le destinataire est toujours une entreprise (identification, nom, adresse). Un wagon a un
contenu homogne (par exemple du bl pour lentreprise KKK de Kef). Plusieurs wagons
peuvent avoir le mme destinataire et /ou la mme nature de contenu. Un wagon peut tre en
transit (ne pas avoir de contenu).
Les locomotives peuvent dmarrer, acclrer, se maintenir vitesse constante, freiner,
stopper, reculer, sarrter (contraire de dmarrer). Les seules actions possibles sur les wagons
sont : rouler librement, freiner.
1. Dcrivez compltement la classe des locomotives (classes et mthodes).
2. Donnez la partie du diagramme de classes dcrivant un CFM dans le but de construire une
application capable de suivre le CFM en temps rel, sachant que (a) un CFM nat lorsquil est
form dans la gare de dpart , (b) il meurt dans la gare destination , les composants
(locomotives, wagons) sont rutiliss dans dautres CFM.
3. Parmi le personnel de la compagnie on sintresse aux mcaniciens et aux chefs de CFM.
Un mcanicien est charg de conduire la locomotive et le chef de CFM est responsable du
TD UML Page (6/42)
ISET Kef

CFM (sa composition, sa destination, ses horaires, etc.). Un CFM a un et un seul chef de CFM
et un trois mcaniciens qui se relaient pour conduire selon un planning prdfini par le chef
de CFM. Toute personne de la compagnie est identifie par son numro, son nom, son ge,
son anciennet, sa fonction, etc. Pour les mcaniciens on prcise leur spcialit (lectrique ou
diesel), pour les chefs de CFM, on prcise sils sont habilits ou non au transport de matire
dangereuse. Compltez le diagramme de classes de manire faire apparatre les rles des
mcaniciens et chef de CFM.
Exercice 7 :
Classer les relations suivantes en gnralisation, spcialisation, instanciation, agrgation, lien
ou association.
(a) Un pays possde une capitale.
(b) Un philosophe qui dne utilise une fourchette.
(c) Un joueur de rugby est un avant, un demi ou un arrire.
(d) Une quipe de rugby est compose de 8 avants, 2 demis et 5 arrires.
(e) Dd programme son simulateur de vol en Java sur son PC.
(f) Java, C++, Eiffel sont des langages orients objet.
(g) La Tour Eiffel a 3 tages et 3 millions de boulons.
(h) L'agrgation est un examen.
Exercice 8 :
Dfinissez la classe UML reprsentant un tudiant, caractris, entre autres, par un

Question 1

identifiant, un nom, un prnom et une date de naissance.


Dfinissez la classe UML reprsentant un enseignant, caractris, entre autres, par

Question 2

un identifiant, un nom, un prnom et une date de naissance.


Dfinissez la classe UML reprsentant un cours, caractris par un identifiant, un

Question 3

nom, le nombre dheures de cours magistral, le nombre dheures de travaux dirigs et un


nombre dheures de travaux pratiques que doit suivre un tudiant.
Question 4

Dfinissez les associations qui peuvent exister entre un enseignant et un cours.

Question 5

Dfinissez la classe UML reprsentant un groupe dtudiants en utilisant les

associations.
Question 6

Dfinissez lassociation possible entre un groupe dtudiants et un cours.

Question 7

Pensez-vous quil soit possible de dfinir un lien dhritage entre les classes UML

reprsentant respectivement les tudiants et les enseignants ?


Question 8

Pensez-vous quil soit possible de dfinir un lien dhritage entre les classes UML

reprsentant respectivement les tudiants et les groupes dtudiants ?


TD UML Page (7/42)
ISET Kef

Question 9

On nomme coursDeLEtudiant() lopration permettant dobtenir lensemble des

cours suivis par un tudiant. Positionnez cette opration dans une classe, puis prcisez les
paramtres de cette opration, ainsi que les modifications apporter aux associations
pralablement identifies pour que votre solution soit ralisable.
Question 10

On nomme coursDeLEnseignant() lopration permettant dobtenir lensemble des

cours dans lesquels intervient un enseignant. Positionnez cette opration dans une classe, puis
prcisez les paramtres de cette opration, ainsi que les modifications apporter aux
associations pralablement identifies pour que votre solution soit ralisable.
Exercice 9 :
Lquipage dun avion est constitu dun pilote, dun copilote et de plusieurs htesses.
Chacune de ces personnes est identifie par son nom et sa fonction. Ces quipages doivent
tre oprationnels sur trois types davions : Airbus A320, Boeing747 et Concorde. Les vols
cits dans la table ci-dessous seront identifis par la tour de contrle de laroport dOrly ou
de Roissy, par le modle de lavion, leur numro de vol et leur destination.
On prsente ci-dessous un extrait du tableau de service de quelques employs de la
compagnie AIR FRANCE :

Modliser les classes correspondant aux diffrentes notions nonces.


Exercice 10 :
Dans une gare, on veut faire des statistiques sur les billets dlivrs pendant une journe. Le
cot dun trajet est proportionnel au nombre de kilomtres parcourus.
Les trajets en TGV sont majors dun supplment proportionnel la longueur du parcours
effectu et dun cot de rservation dpendant de la gare de dpart. De plus un utilisateur peut
bnficier dune rduction (pourcentage), qui ne sapplique pas aux supplments dus un
parcours TGV.
On veut construire un systme permettant de dlivrer les billets de train et faire des
statistiques, par exemple sur le nombre de billets pour un parcours suprieur 250km.
TD UML Page (8/42)
ISET Kef

Travail demand
Donner le diagramme de cas dutilisation.
Identifier les diffrentes classes et dfinir le diagramme de classe en spcifiant les
associations entre les classes.
Exercice 11 : Socit de locations de voitures
La socit de location de voiture MB possde plusieurs voitures quelle loue des clients.
MB est gr par une directrice assiste de mcaniciens. La directrice reoit les demandes par
tlphone et effectue la rservation des voitures. Elle fait les notes des clients, peroit largent
et met jour le planning doccupation des voitures. Une voiture peut tre soit rserve
lavance, soit prise directement larrive dun client en fonction des disponibilits.
Les voitures sont systmatiquement vrifies (vrification mcanique et nettoyage) par un
mcanicien ds quun client la rendue et avant quelle soit loue par un nouveau client. Les
mcaniciens sinforment des voitures vrifier et signalent les voitures vrifies au fur et
mesure. Un historique des voitures vrifies par chaque employ est conserv pendant un an.
Dcrivez les classes et les associations en prcisant bien les noms, les cardinalits et les rles
lorsque cest ncessaire la lisibilit. Ajouter aux classes les principaux attributs et mthodes.
Exercice 12 : Transport de marchandises dangereuses
La socit SECURITRANS est spcialise dans le transport routier de marchandises
dangereuses (inflammables, radioactives, produits chimiques dangereux). Elle possde une
flotte de camions spcialiss pour diffrents types de transports et une quipe de chauffeurs
polyvalents (chacun peut conduire nimporte quel camion et aller nimporte o).
Les clients de SECURITRANS sont des entreprises bien identifies (Usines chimiques,
Centrales nuclaires, etc.). Pour chaque opration de transport (OT), le client effectue une
demande en prcisant la nature du produit transporter, la date de dpart au plus tt, la date
darrive au plus tard, le lieu de dpart, le lieu darrive, les dimensions du conditionnement
(largeur, hauteur, longueur), le poids. Les produits sont rfrencs dans une base de donnes
et identifis par un code associ un "nom dusage" (par exemple "container de dioxine").
Chaque demande dun client de SECURITRANS est traite par un employ de
SECURITRANS nomm navigateur qui doit prparer la mission correspondant lOT et
faire une offre. Pour cela:

TD UML Page (9/42)


ISET Kef

1. Il dtermine le type de camion qui pourra raliser le transport ;


2. il prpare un itinraire (It) du point de dpart au point darrive en tenant compte
de toutes les contraintes (largeur des routes, limites de poids pour les ponts,
interdiction de traverser certaines villes, dutiliser certaines voies, etc.) ;
3. il calcule un planning (Pln) pour le transport en tenant compte de la configuration
des voies utilises, de la vitesse du camion, des temps de repos pour le chauffeur, des
interdictions de circulation (week-end, heures de pointe...), des dates indiques par le
client, de la disponibilit dun chauffeur et dun camion, etc. ;
4. il fait une proposition de prix au client.
Si le client accepte, la mission est effectue. Le navigateur assure lintendance (rservations
dhtel et de repas pour le chauffeur) et fournit au chauffeur sous forme lectronique
litinraire et le planning.
Chaque camion est quip dun micro-ordinateur reli au sige social par une liaison de type
rseau sans fil. Ce systme guide le chauffeur et le contrle en mme temps. Le plan de
trajet comporte de nombreux points de contrle (dpart, arrive, lieu de pause, changement de
route, entre et sortie de ville, etc.). A chaque fois que le camion passe un point de contrle, le
chauffeur le signale. Ainsi, il est possible de suivre distance le parcours du camion. Une
mission est ainsi contrle en permanence par le navigateur qui peut en cas de besoin
communiquer par radio ou mail lectronique avec le chauffeur (et rciproquement). Au dpart
(et larrive), le chauffeur et le reprsentant du client vrifient la cargaison et signent le bon
de prise en charge (et le bon de livraison). Les documents et les signatures sont lectroniques.
Si le client nest pas satisfait, il peut faire une rclamation (un formulaire lectronique est
prvu).
Construire le diagramme de classes correspondant au domaine dcrit ci-dessus : classes,
associations, attributs, rles, cardinalits mais pas de mthode.
Exercice 13 :
La compagnie de transport arien MB++ se charge dacheminer des passagers et du fret par
avion. Lactivit de la compagnie est structure autour de missions, dont chacune consiste
transporter un ensemble de passagers et de colis dune ville de dpart une ville de
destination. Chaque mission est identifie par un numro. Une telle mission peut ne pas tre
ralisable directement mais ncessiter des escales avec changement dappareil.
On appellera vol une partie de trajet qui ne ncessite pas de changement dappareils, mme
si un vol peut lui-mme comporter des escales intermdiaires. Une mission est ralise
par une succession de vols ; par contre, un vol ne peut pas tre associ plusieurs missions
TD UML Page (10/42)
ISET Kef

diffrentes. Chaque vol est caractris par un code, une origine, une destination ainsi quun
prix de vente. Une origine ou une destination de vol est dcrite par laroport concern ainsi
que par la date et lheure de dpart ou darrive.
Pour raliser ses missions, la compagnie dispose dappareils. Un appareil est dcrit par son
numro et sa capacit (nombre de passagers, capacit de fret) ainsi que par laroport sur
lequel il est actuellement stationn.
Pour voyager, un client sadresse au systme de rservation de la compagnie pour savoir si
elle dispose de place(s) pour se rendre dun aroport `a un autre ; il prcise alors le jour de
dpart et le nombre de places demandes. Si la compagnie est capable dassurer le transport
(ventuellement de plusieurs manires) elle lui dcrit une possibilit en prcisant les
ventuelles escales avec transbordement ainsi que le prix total du voyage. Pour tre sure de
pouvoir honorer son offre, elle effectue une rservation prliminaire sur les vols concerns. Si
le client donne son accord, les rservations sur ces vols sont confirmes. Si, au contraire, le
client dcline loffre, les rservations prliminaires sont annules, et la compagnie essaie alors
de proposer une autre manire de raliser le voyage demand ; si toutes les possibilits ont t
proposes, on en informe le client.
La procdure pour envoyer un colis est similaire celle tablie pour un passager. On doit
alors simplement fournir le poids du colis envoy. Le systme informatis de la compagnie
permet aussi au client de tracer le droulement des missions. Il est possible de savoir si une
mission a dbut, si elle a t accomplie entirement ou partiellement, et dans ce cas de
connatre le dernier aroport par lequel un passager ou un colis est pass. Une mission peut
aussi tre planifie, ce qui signifie quelle na pas encore dbut mais que les moyens
ncessaires ont t mis en place. Une mission peut ntre quenvisage, auquel cas tous les
moyens ncessaires nont pas forcment t encore allous.
La politique daffrtement de la compagnie relve du secret commercial et nest pas dcrite
ici. Par contre la compagnie doit garantir que si elle fait une offre de transport, elle dispose
des moyens ncessaires pour le faire (avion, capacit).
Travail demand
1. Tenter dtablir la liste des classes et de construire le diagramme des classes.
2. Identifier les acteurs et les cas dutilisation. Faire le diagramme des cas dutilisation

TD UML Page (11/42)


ISET Kef

Exercice 14 :
Une quipe dinformatique {est compose de} dveloppeurs. Une quipe {travaille pour} une
entreprise. Une quipe possde un logo. Un dveloppeur {utilise} un ordinateur qui lui est
personnel. Un dveloppeur peut tre un programmeur ou un spcifieur. Le logo des
ordinateurs des programmeurs est identique au logo de son quipe. Le logo des ordinateurs
des spcifieurs est toujours @ . Les dveloppeurs rflchissent. Le spcifieur dialogue
avec les utilisateurs.
Travail demand
 Prsentez le diagramme de classes
 Dessiner un diagramme dobjets correspondant au texte suivant : Ali et Zied sont des
programmeurs. Anis est un spcifieur. Ils font partie de lquipe DEV qui
reprsente lentreprise ISET . Le logo de lquipe DEV est UML . Tous les
dveloppeurs utilisent un ordinateur.
Exercice 15 :
Une quipe de football {est compose de} joueurs. Une quipe {reprsente} un pays. Une
quipe possde une couleur. Un joueur {porte} un maillot. Un joueur peut tre un joueur de
champ ou un gardien. Les maillots des joueurs de champ sont de la couleur de son quipe. Le
maillot du gardien est toujours dune couleur noire. Les joueurs ont le droit dutiliser leurs
pieds. Le gardien a le droit dutiliser ses mains.
Travail demand
 Prsentez le diagramme de classes
 Dessiner un diagramme dobjets correspondant au texte suivant : Ronaldo et Bebeto
sont des joueurs de champ. taffarel est un gardien. Ils font partie de la selecao qui
reprsente le brsil. La couleur de lquipe du brsil est le jaune. Tous les joueurs
portent un maillot.
Exercice 16 :
Un restaurant {est compose de} tables. Il est midi. Des clients {sont } table. Des plats et des
boissons (de la nourriture) {sont poss sur} les tables. Un client {mange son} plat et {boit sa}
boisson. Un client peut tre un adulte ou un enfant. Les boissons peuvent tre des bouteilles
de vin, des carafes deau ou des tasses de caf. Un plat peut tre une entre, un plat du milieu
ou un dessert. Plusieurs clients peuvent boire la mme boisson. Un client mange un seul plat
mais peut boire plusieurs boissons. Les bouteilles de vin et les plats ont des prix variables, un
caf cote 10 francs et une carafe deau est gratuite. Un enfant ne boit ni vin ni caf.

TD UML Page (12/42)


ISET Kef

Travail demand
 Prsentez le diagramme de classes
 Dessiner un diagramme dobjets correspondant au texte suivant : Le restaurant
PlanetFood comprend trois tables. Chedly et Jihen ont une fille Nesma. ils sont la
table 1 avec Najah. Jihen et Najah boivent une bouteille deau minrale. Jihen mange
un riz cantonnais. Najeh mange une salade de tomates. Chedly boit une tasse de caf.
Nesma mange son dessert et boit de leau. la table 2, Mohamed et Ins boivent du
vin mais nont pas faim. Leur fille Samar mangeait une glace la vanille qui est
tombe par terre. La table 3 est vide.
Exercice 17 :
Pendant la phase de spcifications des besoins, lutilisateur du futur logiciel Mtro a crit le
texte suivant :
Le logiciel Mtro est destin aux utilisateurs du mtro. Lutilisateur indique la gare de dpart
et la gare darrive et le logiciel Mtro conseille un trajet reliant ces deux gares. Les gares ont
un nom et {sont situes sur} des lignes. Une ligne a une couleur. Une gare est soit un
terminus, soit une correspondance, soit une gare normale. Une ligne {possde} deux terminus,
des gares normales et au moins une correspondance. Une correspondance {relie} au moins
deux lignes. Un trajet est {compos} dune gare de dpart, dune liste de segments et dune
gare darrive. Un segment {correspond } une ligne et {possde} une gare origine et une
gare destination.
Dessiner le diagramme de classes
Exercice 18 :
Le dessin ci-dessous reprsente des figures (triangles, carrs ou cercles) embots. Les
triangles contiennent une ou plusieurs figures. Les carrs ne contiennent rien. Les cercles
contiennent exactement une figure. Les figures possdent des cts. On dira que les cercles
ont un seul ct, les triangles trois cts et les carrs quatre cts.

Dessiner un diagramme de classes. Le diagramme comprendra les classes "Figure", "Cercle",


"Carr", "Triangle" et "Cot" et des associations dterminer.

TD UML Page (13/42)


ISET Kef

Exercice 19:
Un jardinier effectue deux types de travaux : larrosage et le piochage. Larrosage consiste
arroser des plantes (tulipes, eucalyptus ou graniums) avec un outil (arrosoir ou tuyau)
contenant de leau et le piochage consiste retourner la terre avec un outil (pioche ou pelle)
pour y mettre de lengrais. Autrement dit, le jardinier utilise un outil (arrosoir, tuyau, pelle ou
pioche) pour mettre une ressource (eau ou engrais) sur un objet naturel (terre ou plante) ;
celui-ci est produit par un travail (arrosage ou piochage).
Dessiner un diagramme de classes avec les classes Jardinier, Arrosage, Arrosoir, Eau,
Granium.
Exercice 20:
Un triathlte utilise trois types de moyens de dplacement : la nage, le cyclisme et la course
pied. La nage consiste nager une distance courte avec un maillot de bain dans un liquide (lac
ou mer). Le cyclisme consiste pdaler sur une distance longue avec un vlo sur une route.
La course a pied consiste courir une distance moyenne avec des chaussures sur une route.
Autrement dit, le triathlte possde des quipements (vlo, maillot ou chaussure) pour
effectuer une distance (courte distance, moyenne distance ou longue distance) sur un site
(liquide ou route) en utilisant un moyen de dplacement (nage, cyclisme ou course pied).
Dessiner un diagramme de classes avec les classes Triathlte, Nage, Maillot, Mer,
CourteDistance.
Exercice 21: Un diteur de diagrammes
On vous demande de modliser sous forme d'un diagramme de classes, un diteur de
diagrammes. Ceux-ci pourront contenir trois types d'lments : des rectangles, des lignes et
des ellipses.
De plus deux outils sont mis la disposition de l'utilisateur : un outil de cration d'un lment
(pour chaque type d'lment) et un outil de slection d'un lment. Ce dernier permettra de
slectionner un ou plusieurs lments la fois, ainsi que de redimensionner les lments
slectionnes.

TD UML Page (14/42)


ISET Kef

Exercice 22: Personnel


On veut reprsenter le personnel d'une entreprise et son affectation. L'entreprise est organise
en services auxquels est affect le personnel. Chaque service est dcrit par son nom, son chef
(qui est ncessairement un cadre de l'entreprise) et la liste de ses locaux. Le personnel est
rparti en trois catgories, les administratifs, les techniciens et les cadres. Tous possdent un
numro d'employ, un nom, un prnom, une adresse, une identification bancaire (nom
banque, nom agence, numro de compte), un salaire et sont rattachs un service. Chaque
catgorie possde en outre des renseignements qui lui sont propres:
 pour un administratif ou un technicien, le prix de l'heure supplmentaire;
 pour un technicien, les machines dont il est responsable;
 pour un administratif, le(s) cadre(s) pour le(s) quel(s) il travaille;
 pour un cadre, son bureau, son numro de poste tlphonique et l'(les) administratif(s)
(s'il en existe) qui lui est (sont) attach(s).

TD UML Page (15/42)


ISET Kef

TD 2
Diagramme de cas dutilisation
Exercice 1 :
Enonc :
Cette tude concerne la conception dun distributeur automatique de boissons.
La machine dlivre lutilisateur la boisson quil a slectionn si ce dernier a introduit
une somme dargent suffisante. La machine rend ventuellement la monnaie suivant le stock
de pice dont elle dispose. Lorsque le stock de boisson nest pas suffisant, la machine, qui est
trs moderne, en informe lentreprise en charge de sa maintenance par le biais dune
connexion lectronique. Un oprateur est alors envoy par lentreprise pour le renouveler et
rcuprer largent liquide.
Questions :
1. Elaborer un diagramme de cas dutilisation.
2. Dcrire le cas dutilisation nominal correspondant lachat dune boisson de faon
textuelle, puis sous la forme dun diagramme de squence.
3. Elaborer un diagramme de classe dcrivant le systme.
Exercice 2:
Enonc :
Cette tude de cas concerne la conception dun systme simplifi de guichet automatique de
banque (GAB).
Le GAB offre les services suivants :
Distribution dargent tout porteur de carte de crdit (carte Visa ou carte de la banque), via
un lecteur de carte et un distributeur de billets.
Consultation de solde de compte, dpt en numraire et dpt de chques pour les clients de
la banque porteurs dune carte de crdit de la banque.
Par ailleurs,
Toutes les transactions sont scurises.
Il est parfois ncessaire de recharger le distributeur.

TD UML Page (16/42)


ISET Kef

Questions :
1. Identifiez les acteurs.
2. Identifiez les cas dutilisation.
3. Elaborez un diagramme de cas dutilisation.
4. Dcrivez de faon textuelle les cas dutilisation.
5. Organisez et structurez les cas dutilisation.
Exercice 3 :
Enonc :
Pour faciliter sa gestion, un entrept de stockage envisage de sinformatiser. Le
logiciel produire doit allouer automatique un emplacement pour le chargement des camions
qui convoient le stock entreposer. Le fonctionnent du systme informatique doit tre le
suivant :
Dchargement dun camion : lors de larrive dun camion, un employ doit
saisir dans le systme les caractristiques de chaque article ; le systme produit
alors une liste o figure un emplacement pour chaque article ;
Chargement dun camion : les caractristiques des articles charger dans un
camion sont saisies par un employ afin dindiquer au systme de librer des
emplacements.
Remarques :
 Le chargement et le dchargement sont raliss manuellement.
 Les employs de lentrept sont sous la responsabilit dun chef dont le rle est de
superviser la bonne application des consignes.
Questions :
1. Prsenter les diagrammes de cas dutilisation. Notez bien que:
Cas dutilisation : dchargement dun camion
Lors de larriv dun camion :
Lemploy saisie les caractristiques des articles du chargement :
Les articles sont caractriss par :
Une rfrence unique pour chaque type darticle ;
Le nombre darticles dun type donn ;
Le systme imprime une liste dallocation des articles dans lentrept.
Remarque : ce cas dutilisation ninclue pas ltape de vrification du chargement qui st faite
manuellement.

TD UML Page (17/42)


ISET Kef

Cas dutilisation : chargement dun camion


Lors du chargement dun camion :
Lemploy saisie la caractristique des articles charger :
Les articles sont caractriss par :
Une rfrence unique pour tout le stock.
Le systme imprime une description du chargement contenant :
Une rfrence unique pour chaque type darticle ;
Le nombre darticles dun type donn.
Cas dutilisation : ajout dun employ
Lors de lajout dun nouvel employ utilisant le systme informatique :
Ladministrateur saisie des informations sur lemploy (son immatriculation) ;
Ladministrateur ajoute cette personne aux groupes des employs.

TD UML Page (18/42)


ISET Kef

TD 3
Diagrammes de squence et de collaboration
Exercice 1 :
On souhaite grer les diffrents objets qui concourent lactivit dun magasin de vente de
fleurs.
 Le client demande au vendeur des renseignements des renseignements sur les
compositions florales
 Le vendeur lui fournit toutes les informations ncessaires
 Le client commande alors la composition de son choix et le vendeur met le bon de
fabrication quil transmet son ouvrier fleuriste.
 Le vendeur dite ensuite la facture correspondante.
 Louvrier fleuriste cre la composition puis archive le bon de fabrication
 Il remet alors la composition au vendeur
 La facture est remise au client pour rglement une fois le bouquet ralis
 Une fois la facture rgle, le client rcupre sa composition et quitte le magasin.
Modliser cette situation laide dun diagramme de squence et dun diagramme de
collaboration.
Exercice 2 :
Le droulement normal dutilisation dun distributeur automatique de billets est le suivant :
 le client introduit sa carte bancaire
 la machine vrifie alors la validit de la carte et demande le code au client
 si le code est correct, elle envoie une demande dautorisation de prlvement au
groupement de banques. Ce dernier renvoie le solde autoris prlever.
 le distributeur propose alors plusieurs montants prlever
 le client saisit le montant retirer
 aprs contrle du montant par rapport au solde autoris, le distributeur demande au
client sil dsire un ticket
 Aprs la rponse du client, la carte est jecte et rcupre par le client
 les billets sont alors dlivrs (ainsi que le ticket)
 le client rcupre enfin les billets et son ticket
Modliser cette situation laide dun diagramme de squence en ne prenant en compte que le
cas o tout se passe bien. NB : on identifiera les scnarios qui peuvent poser problme en
incluant des commentaires dans le diagramme
TD UML Page (19/42)
ISET Kef

Exercice 3 :
Le droulement normal dutilisation dune caisse de supermarch est le suivant :
 Un client arrive la caisse avec ses articles payer
 Le caissier enregistre le numro didentification de chaque article, ainsi que la quantit
si elle est suprieure 1
 La caisse affiche le prix de chaque article et son libell
 Lorsque tous les achats sont enregistrs, le caissier signale la fin de la vente
 La caisse affiche le total des achats
 Le caissier annonce au client le montant total payer
 Le client choisit son mode de paiement
 liquide : le caissier encaisse largent, la caisse indique le montant rendre au
 client
 chque : le caissier note le numro de pice didentit du client
 carte de crdit : la demande dautorisation est envoye avant la saisie
 La caisse enregistre la vente et limprime
 Le caissier donne le ticket de caisse au client
Modliser cette situation laide dun diagramme de squence en ne prenant en compte que le
cas du paiement en liquide.

TD UML Page (20/42)


ISET Kef

TD 4
Diagrammes dtats et Diagrammes dactivits

DIAGRAMME DTATS
Objectif : le diagramme dtats met en vidence lenchanement des diffrents tats dun objet dune
classe et fait apparatre les contraintes dordonnancement entre tats.

Formalisme

Nom tat

nom vnement

tat
initial

Nom tat
nom vnement

nom vnement

Nom tat

tat
final

nom vnement
(On Event)

Description dun tat


- On entry : nom actvit
- On event : nom activit
- On exit : nom activit

Principaux concepts

Notation

tat

Situation.

vnement

Stimuli qui dclenchent une raction de la part de lobjet concern.


Transition

tat initial
et final
On Entry

Introduit les actions associes au dbut de ltat.

On Exit

Introduit les actions associes la fin de ltat.

Do

Dsigne lactivit continue associe ltat.

TD UML Page (21/42)


ISET Kef

DIAGRAMME DACTIVITES
Objectif : Le diagramme dactivits permet de dcrire un processus comme un ensemble organis
dactivits.

Formalisme

Nom partition 1 Nom partition 2 Nom partition 3 Nom partition 4

nom Activit
[condition]
nom Activit

nom objet
[tat]
nom Activit

nom objet
[tat]
nom Activit
nom signal
nom Activit

nom Activit

nom objet
[tat]

nom Activit

Description dune activit


-

nom Activit

Liste des actions

Principaux concepts
Activit

Action
Partition
Flot de contrle
Flot dobjet

Notation

Spcification comportementale
qui reprsentent les tapes
squentielles et simultanes
dun processus.
Traitement lmentaire. Une
activit est un ensemble
dactions.
Couloir permettant de dassocier
les activits des acteurs.
Reprsentation du droulement
dun ensemble dactivits.
Reprsentation de la part prise
par chaque objet dans
lexcution dun travail.

Activit
Flot
Branchement
ou fusion
Synchronisation

Partition
Signal temporel
Signal
Nud initial
et final

TD UML Page (22/42)


ISET Kef

Exercice 1 : Alarme
Partie 1
Considrons un rveille-matin simplifi :
1. On peut mettre lalarme on ou off ;
2. Quand lheure courante devient gale lheure dalarme, le rveil sonne sans sarrter.
3. On peut interrompre la sonnerie.
Questions
1. Dessinez le diagramme dtats correspondant.
2. Compltez le diagramme dtats prcdent pour prendre en compte le fait que la
sonnerie du rveil sarrte delle mme au bout dun certain temps.
Partie2
Considrons une montre digitale simplifie

1. Le mode courant est le mode Affichage ;


2. Quand on appuie une fois sur le bouton mode, la montre passe en modification
heure. Chaque pression sur le bouton avance incrmentale lheure dune unit.
3. Quand on appuie une nouvelle fois sur le bouton mode, la montre passe en
modification minute. Chaque pression sur le bouton avance incrmente les minutes
dune unit.
4. Quand on appuie une nouvelle fois sur le bouton mode, la montre repasse en mode
affichage.
Questions
Dessinez le diagramme dtats correspondant.
Partie3
Nous ajoutons maintenant cette horloge deux autres boutons :
1. Un bouton clairage ; en le pressant ; on claire le cadran de la montre, jusqu ce
quon le relche.
2. Un bouton alarme, qui ajoute la montre digitale une fonctionnalit classique
dalarme, comme cela a t dcrit lors du premier exercice de ce chapitre (rveil
matin).

TD UML Page (23/42)


ISET Kef

Questions
Dessiner le diagramme dtats complet incluant tous les comportements de la montre.
Exercice 2 : Cas du publiphone
1. Le prix minimal dune communication interurbaine est de 1.
2. Aprs lintroduction de la monnaie, lutilisateur a 2 mn pour composer son numro
(ce dlai est dcompt par le standard).
3. La ligne peut tre libre ou occupe.
4. Le correspondant peut raccrocher le premier.
5. Le publiphone consomme de largent ds que lappel dcroche et chaque unit de
temps (UT) gnre par le standard.
6. On peut ajouter des pices tout moment.
7. Lors du raccrochage, le solde de monnaie est rendu.
Questions
 Identifier les acteurs et construire le diagramme des use case.
 Construire le diagramme de squences du systme.
 Construire le diagramme de contexte dynamique.
 laborer le diagramme dtats du publiphone.
Exercice 3 : Saison
Le changement de saisons constitue une boucle continue. On considre un objet de la classe
Saison de dure de vie infinie. En utilisant des vnements de type change ou after ,
donner le diagramme des tats transitions de la classe Saison correspondant aux tats de
l'anne climatique de la Tunisie (printemps, t, automne, hiver).
Exercice 4 : Tamaguchi
On souhaite modliser des Tamaguchi avec le modle dinteraction et les modles de tats
de UML. Un Tamaguchi en tat normal n'a pas faim pendant un certain temps (appel temps
d'autonomie). Au bout de ce temps, le Tamaguchi a faim et il pleure. Pour lui donner
manger, l'utilisateur du Tamaguchi le met table et le Tamaguchi s'arrte de pleurer. Un
Tamaguchi mange pendant un certain temps (appel temps de restauration). Au bout de ce
temps, il se remet pleurer. Il pleure jusqu' ce que l'utilisateur le sorte de table. Quand il sort
de table, le Tamaguchi revient dans ltat normal... et ainsi de suite tant que le Tamaguchi ne
meurt pas. Si le Tamaguchi pleure plus de 5 minutes d'affile, il meurt.
On suppose que les vnements mis par le Tamaguchi vers l'utilisateur sont : avoir faim ,
ne plus avoir faim , mourir et que les vnements mis par l'utilisateur et reus par le
Tamaguchi sont tre mis table et sortir de table .
TD UML Page (24/42)
ISET Kef

1) Dessiner le diagramme dtat/transition 5 tats modlisant le comportement du


Tamaguchi. On utilisera les noms pas faim pleure pas , faim pleure , table pleure pas
, table pleure et mort pour ces 5 tats.
2) Un Tamaguchi est une agrgation de matriels : 1 horloge, 1 bip, 2 boutons. Dessiner le
diagramme de classe du Tamaguchi.
3) Quand l'utilisateur appuie sur le bouton a table (resp. sortie de table ), le Tamaguchi
reoit l'vnement correspondant sa mise table (resp. sa sortie de table).
L'horloge se prsente sous forme d'une instance de la classe Horloge avec une mthode
lancerTempo(int dure). Si le Tamaguchi appelle la mthode lancerTempo(dure) un instant
t, il recevra un vnement tempo coule l'instant t+dure. Prciser le diagramme de la
question 1) en rajoutant les appels la mthode lancerTempo(int t) et les vnements tempo
coule reus par le Tamaguchi.
4) Le bip se prsente sous forme d'une instance de la classe Bip. Si le Tamaguchi appelle la
dclencherPleurs(), le bip commence mettre des pleurs sans interruption. Si le Tamaguchi
appelle

la

arreterPleurs(),

le

bip

s'arrte.

Les

mthodes

lancerTempo(dure),

dclencherPleurs() et arreterPleurs() s'excutent instantanment. Au sens donn par UML,


sont-elles des activits ou des actions ?
5) Prciser nouveau le diagramme dtat/transition en ajoutant les appels aux mthodes
dclencherPleurs() et arreterPleurs() sous forme d'actions d'entre ou de sortie.
Exercice 5 : Thread
En suivant le formalisme du modle dynamique, dessiner un diagramme dtats-transition
correspondant la dynamique dun thread dfinie de la manire suivante : le thread est :
Non dmarr au dbut, en cours lorsquil possde toutes ses ressources applicatives
plus le processeur, en attente lorsquil lui manque une ressource applicative, prt
lorsquil a toutes ses ressources applicatives et pas le processeur, termin lorsquil a
termin son excution.
On supposera que les vnements reus par le thread sont : dbut , ressource attendue ,
ressource OK , processeur OK , fin .
Dbut correspond au dmarrage du thread (start en java, execlv en Unix, ). avant la
rception de dbut , le thread est non dmarr .
Ressource attendue correspond lappel dune rservation de ressource lorsque celle-ci
nest pas disponible.
Ressource OK correspond la libration dune ressource par un autre thread et donc la
rservation effective de la ressource par le thread qui lattendait.
TD UML Page (25/42)
ISET Kef

Processeur OK correspond la libration du processeur par un autre thread et


lutilisation effective du processeur par le thread qui lattendait.
Fin correspond soit lexcution de la dernire instruction du programme excut par le
thread soit lenvoi dun vnement pour tuer dfinitivement le thread. Sur rception de fin
, le thread devient termin .
On supposera quun thread nenvoie pas dvnement. Il ne fait que les recevoir.
Exercice 6 :
Raliser le diagramme de classes et le diagramme dtat de lobjet livre correspondant la
bibliothque dans son ancienne version :
..., les habitants peuvent emprunter des livres la bibliothque pour des priodes
renouvelables de deux semaines. Pour cela ils doivent dabord sinscrire en prsentant un
justificatif de domicile, une bibliothcaire remplit alors une fiche par domicile et leur attribue
un numro dinscription. Ce numro dinscription sert emprunter les livres, il suffit de
reporter sur une fiche avant de sortir : la date, le numro du livre et le numro dinscription.
La bibliothcaire vrifie quotidiennement et la main que les emprunts effectus deux
semaines plus tt ont bien t rendues. Dans le cas contraire elle envoie un courrier au
domicile du retardataire lui signalant son retard.
Exercice 7 :
Considrons une classe Partie dont la responsabilit est de grer le droulement d'une partie
de jeu d'checs. Cette classe peut tre dans deux tats :
 Le tour des blancs
 Le tour des noirs.
Les vnements prendre en considration sont
 Un dplacement de pices de la part du joueur noir
 Un dplacement de pices de la part du joueur blanc
 La demande de prise en compte d'un chec et mat par un joueur. S'il est valid par la
classe partie, un chec et mat assure la victoire du dernier joueur. Dans ce cas, une
activit noirsGagnants ou blancsGagnants selon le cas est dclenche (appel de
mthode).
 la demande de prise en compte d'un pat qui mne aussi une fin de partie, avec une
galit. Dans ce cas, une activit galit est dclenche.
Question : Donner le diagramme d'tats/transitions associ la classe Partie.

TD UML Page (26/42)


ISET Kef

Exercice 8 :
Nous vous demandons de raliser un diagramme de classe et deux diagrammes d'tats du
fonctionnement d'un magntoscope. Ces diagrammes seront centrs sur le magntoscope mais
des mthodes modifiant l'affichage sur l'cran de tlvision devront tre utilises lorsque cela
sera ncessaire. Dans le cas o le manuel d'utilisation ne fournit pas suffisamment
d'informations pour modliser un tat ou ses transitions alors il vous est demand de le
signaler et d'indiquer vos choix sans justifications. L'affichage peut tre simplifi par rapport
au manuel d'utilisation, la notation porte avant tout sur la bonne modlisation des tats du
magntoscope et leur cohrence en euxmme, avec le diagramme de classe et avec le manuel
d'utilisation.
Raliser, dans l'ordre :
 Le diagramme de classe de la classe Magntoscope permettant de grer les diffrents
tats de celui-ci, ainsi que les changements d'tats et l'affichage sur l'cran de
tlvision.
 Le diagramme d'tats du fonctionnement gnral du magntoscope tel que dcrit dans
le texte 1.
 Le diagramme d'tats du fonctionnement de l'enregistrement instantan tel que dcrit
le texte 2.

TD UML Page (27/42)


ISET Kef

Exercice 9 :
On suppose quun objet distributeur de boisson, ayant un attribut somme (largent mis par
lutilisateur) peut tre dans les tats suivants Attente, Attente_choix_boisson et Appoint
(lorsque la somme est non nulle, mais infrieure 2 ). Une description de lactivit est la
suivante : Lorsque lutilisateur a donn 2 exactement, il peut choisir une boisson. A tout
moment, il peut appuyer sur le bouton de remboursement. Proposer un diagramme tattransition qui corresponde au fonctionnement de lobjet Distributeur.
TD UML Page (28/42)
ISET Kef

Exercice 10 :
Interprtez le diagramme suivant :

TD UML Page (29/42)


ISET Kef

Exercice 11 : Recette de cuisine


Ralisez le diagramme dactivit de la recette de la mousse au chocolat partir des indications
suivantes :
On vous propose la recette de mousse au chocolat suivante :
Commencer par casser le chocolat en morceaux, puis le faire fondre.
En parallle, casser les oeufs en sparant les blancs des jaunes.
Quand le chocolat est fondu, ajouter les jaunes doeuf.
Battre les blancs en neige jusqu ce quils soient bien fermes.
Les incorporer dlicatement la prparation chocolat sans les briser.
Verser dans des ramequins individuels.
Mettre au frais au moins 3 heures au rfrigrateur avant de servir.
Exercice 12 :
Enonc : Pour faire du caf, mettre du caf dans un filtre et le mettre dans la machine ; il
faut aussi ajouter de leau dans le rservoir. On peut ensuite allumer la machine. une fois le
caf termin et des tasses trouves, on peut le verser.
Question : Prsenter le diagramme dactivit qui dcrit le cas dj prsent.

Exercice 13 :
Reprsenter lnonc suivant via un diagramme dactivit : Une entreprise envoie ses
demandes de paiement (des traites 30 jours) ses clients. A dfaut de rglement pass ce
dlai, ils sont aussitt relancs.

TD UML Page (30/42)


ISET Kef

TD 5
Etude de Cas
Parc de stationnement
On considre un parc de stationnement payant. Le stationnement est payant lheure,
le tarif est de 2 dinars de lheure. Lentre et la sortie du parking sont contrles par des
barrires. Lorsquun usager arrive au parking, une machine qui fait partie du systme de
paiement lui dlivre un ticket sur lequel est inscrit un numro unique. La barrire dentre le
laisse alors entrer, puis il gare son vhicule. Lorsque lusager en question revient pour
rcuprer son vhicule, il passe dabord par une caisse automatique qui fait galement partie
du systme de paiement. Il introduit son ticket dans la caisse, le ticket est analys de faon
automatique (lu par un scanner), puis la caisse automatique indique la somme que lusager
doit pour son stationnement. Ce dernier paie cette somme en liquide ; la machine lui rend la
monnaie, puis lui dlivre un ticket de sortie lui-mme numrot, valable 15 minutes durant. Il
rcupre alors son vhicule et se rend la sortie du parking. Il introduit alors son ticket de
sortie dans une machine qui fait galement partie du systme de paiement. Aprs analyse du
ticket de sortie, la barrire se lve, et lusager sort du parking.
Certains usagers utilisent le parking de faon quotidienne et sont abonns au mois. Il
bnficie dun mode de paiement spcial : labonnement : Un abonn paie une somme
forfaitaire de 50 dinars tous les mois, puis seulement 0,5 dinars de lheure. Chaque abonn
bnficie ce titre dune carte daccs permanent qui lidentifie, et lui permet douvrir les
barrires dentre et de sortie du parking. Labonn ne passe jamais par la caisse automatique.
Le compte de ses heures de stationnement est fait automatiquement par le systme qui
enregistre ses heures darrive et de dpart. Au 1er de chaque mois, sa facture lui est envoye
automatiquement par le systme de paiement.
Par ailleurs, lorsquun usager perd son ticket de parking, il doit sidentifier
loprateur et lui payer la somme de 20 dinars ; loprateur lui ouvre alors la barrire de
sortie.
Lobjet de lexercice est lanalyse et la conception du systme de paiement, qui
comprend les deux machines lentre et la sortie du parking, la caisse automatique, le
systme de facturation et les commandes douverture et de fermeture des barrires.
1. Identifiez les diffrents acteurs intervenant dans le systme.
2. Elaborer un diagramme de cas dutilisation.

TD UML Page (31/42)


ISET Kef

3. Elaborer un diagramme de squence global correspondant au paiement la caisse


automatique.
4. Elaborer un diagramme de classe pour le systme complet de paiement, et en
parallle, un diagramme dobjet (i.e. dinstance de classe) dcrivant une situation
de votre choix.
5. Elaborer un diagramme de collaboration objet correspondant au paiement la
caisse automatique (c'est--dire le diagramme de collaboration faisant intervenir
des instances des classes dcrites dans le diagramme de classe).

TD UML Page (32/42)


ISET Kef

TD 6
Etude de Cas
On s'intresse une socit qui fabrique des composants de moteurs. Sur le plan des
moyens de production, la socit dispose de 6 usines dont une ddie au montage.
La fabrication comporte une phase d'usinage, une phase de traitement thermique et de surface,
puis de montage des sous-ensembles qui s'intgreront dans les moteurs.
La direction commerciale reoit chaque jour les commandes clients. Compte-tenu des dlais
de fabrication (cycles de 8 15 mois), les clients presss peuvent passer des commandes
prioritaires mais au prix d'une sur-facturation de 20 % de la commande.
Les usines les traitent alors en priorit. Les gros clients (plus de 10 commandes par an) sont
traits en priorit aussi.
Aprs un contrle technique des articles commands, la direction commerciale introduit la
commande en ordinateur et obtient en sortie, l'clatement des ensembles composs en
composants lmentaires qui appartiennent deux catgories distinctes :
Pices fabriques par l'entreprise
Pices sous-traites
Elle imprime alors un listing de composants "maison" destination des usines et un listing des
composants sous-traits destination du service de gestion du stock de l'entreprise pour
approvisionnement. Ce service gre aussi l'approvisionnement bimensuel en matires
premires. La commande globale est, elle, transmise l'usine de montage qui ne peut finaliser
la commande qu'aprs rception de l'ensemble des composants requis.
Des modifications (avenants) aux commandes clients peuvent tre apportes aprs
l'enregistrement de la commande, afin d'amender :
Les codes articles (dans le cas d'une volution technique de l'article),
Ou les autres caractristiques de l'article (dlai, quantit commande,...).
La direction commerciale se charge aussi du suivi de la facturation. Les cots rels sont
comptabiliss par commande reue, avec une gestion du nombre d'heures passes (heures
productives transmises par les usines) et de la valeur (prix d'achat) des matires premires ou
pices semi-finies en provenance de fournisseurs divers (fournie par le service de gestion du
stock). La facture est alors transmise l'usine de montage qui gre aussi la livraison de la
commande.

TD UML Page (33/42)


ISET Kef

Questions
1. Donner le diagramme des cas d'utilisation de ce systme.
2. Donner diagramme de classes de ce systme.
3. Dcrire le scnario Traitement dune commande par un diagramme de squence.

TD UML Page (34/42)


ISET Kef

TP
Conseils d'utilisation de l'outil UML Rational Rose
Rose est un outil pour diter les diffrents diagrammes d'un modle UML d'un logiciel, il
permet de sauvegarder et d'imprimer ces diagrammes. L'outil que vous utilisez tant d'usage
professionnel il fournit beaucoup plus de fonctionnalits que ce que vous serez amens
utiliser. Ce document a pour but de vous guider dans l'utilisation de cet outil, et en particulier
de vous indiquer les fonctionnalits que vous devez utiliser.

I.

Prsentation de linterface

Interface du logiciel Rational Rose

Linterface de Rational Rose est compose de quatre parties fondamentales :


A : la barre de menu permet daccder aux fonctionnalits gnrales du logiciel.
B : le navigateur prsente larborescence du projet en cours. Il est possible, par son
intermdiaire, de crer et de supprimer tout objet du projet au moyen de son menu contextuel.
La fentre de navigation propose une structure arborescente de votre projet, avec les rubriques
Use case view, Logical View, Component View, Deployment View et enfin Model properties.
Vous utiliserez l'une ou l'autre de ces rubriques suivant l'activit en cours de votre
dveloppement.

TD UML Page (35/42)


ISET Kef

C : la fentre dinformation permet laffichage des caractristiques gnrales dobjets


pralablement slectionns dans le navigateur.
D : lespace de travail rend possible laffichage de nouvelles fentres contenant notamment
les reprsentations graphiques des diffrents diagrammes mis en place. En fonction du
diagramme prsent, une barre doutils verticale permet de construire directement le
diagramme dans la fentre, et ainsi de ne pas utiliser le menu contextuel du navigateur.
Une fentre y est constamment prsente : il sagit de la fentre de Log qui renseigne
lutilisateur lors de lexcution de routines externes (chargement de modules, gnration de
fichiers,...).

II.

Fonctionnalits gnrales
1. Dmarrage d'un nouveau projet

Au dmarrage de Rose, vous devez soit dmarrer un nouveau projet, soit charger un fichier
contenant un projet en cours. Si vous dmarrez un nouveau projet, Rose risque de vous
proposer de choisir un modle , c'est--dire un canevas pour ce nouveau projet. Le mieux
pour nous est de ne pas choisir de tel canevas, aussi il vous faudra alors cliquer sur Cancel
pour ne pas choisir de modle.
Ensuite, vous pourrez enregistrer vos diagrammes en slectionnant le menu File/Save as.
Arriv ce point, vous devrez bien choisir un nom pour votre projet, c'est donc un choix
faire trs tt !
2. Chargement d'un projet existant
Pour charger un projet dj existant, vous slectionnez le menu File/Open. Chaque projet est
enregistr dans un unique fichier portant l'extension (.mdl). Il vous est demand de grer
expressment les versions successives de votre modle UML, en faisant des copies de ce
fichier, avec un nom appropri indiquant son numro de version.
De manire gnrale, enregistrer souvent pour ne pas perdre de donnes !
3. Conseils pour l'tape d'Analyse
Lors de l'tape d'analyse, suivant le sujet traiter, vous pouvez choisir de commencer par le
diagramme des classes, ou bien par les cas dutilisation.
Si vous dcidez de commencer par les cas d'utilisation, il faut utiliser la rubrique Use Case
View de votre fentre de navigation. Par contre, si vous dcidez de commencer par le
diagramme des classes, il faut utiliser la rubrique Logical View. Une fois ce choix effectu,
vous pouvez ouvrir la rubrique en cliquant sur le +.

TD UML Page (36/42)


ISET Kef

Nous allons utiliser :


 Les diagrammes de classe (Class Diagram), pour diter vos diagrammes de classes du
systme.
 Les diagrammes de cas d'utilisation (Use Case Diagram), pour dfinir tous vos cas
d'utilisation.
 Les diagrammes de squence (Sequence Diagram), pour dcrire les scnarios.
3.1 Diagramme(s) des classes du systme
Pour une question de lisibilit, mais aussi de structure de votre systme, un diagramme de
classes peut tre dcoup en plusieurs. Commencez par ouvrir la rubrique Logical View, vous
trouverez dans celle-ci un diagramme prexistant nomm Main. Vous pouvez commencer
votre travail dans ce diagramme, vous pouvez aussi le renommer si vous le souhaitez.
Pour crer un autre diagramme de classe, cliquer avec le bouton droit dans la fentre de
navigation sur Logical View, puis dans le menu contextuel apparu, slectionner New/Class
Diagram. Une nouvelle fentre apparat dans la fentre d'dition de diagrammes.
Un diagramme de classe tant slectionn, une barre d'outil de dessin approprie aux
diagrammes de classes apparat sur le bord gauche de la zone de dessin de diagrammes. Avec
ces outils, vous pouvez ajouter des classes et des relations votre diagramme. La barre d'outil
par dfaut ne contient qu'une partie des outils de dessins possibles, vous pouvez en faire
apparatre d'autres et cliquant avec le bouton droit sur la barre d'outil, puis dans le menu
contextuel apparu, slectionner Customize. Nous vous conseillons d'ajouter le bouton Create
an association relationship, qui permet de dessiner une association non-directionnelle,
contrairement l'outil par dfaut.
En cliquant avec le bouton droit sur une classe ou une relation, vous faites apparatre un menu
contextuel, dans lequel vous pouvez en particulier slectionner Open Specification, qui vous
permet de voir toutes les proprits de votre classe ou votre relation sous forme textuelle.
Remarques :
 Crer une agrgation
 Cliquez sur licne dagrgation dans la barre doutils verticale. Cette icne
peut tre ajoute la barre doutils en cliquant avec le bouton droit sur la barre
doutils et en slectionnant la commande Customize du menu.
 Dans le diagramme de classes, slectionnez la classe qui joue le rle dagrgat.
 En gardant le bouton gauche de la souris enfonc, tirez la ligne de lagrgation
vers la classe qui joue le rle dlment agrg.

TD UML Page (37/42)


ISET Kef

 Crer une composition


 Crez une agrgation.
 Cliquez deux fois sur la ligne de lagrgation pour faire apparatre la fentre de
spcification.
 Slectionnez longlet Role A Detail.
 Cochez loption By Value du champ Containment.
 Effectuez la mme opration dans longlet Role B Detail.
 Cliquez sur OK pour fermer la fentre de spcification.
 Crer une gnralisation
 Cliquez sur licne de gnralisation dans la barre doutils verticale. Cette
icne peut tre ajoute la barre doutils en cliquant avec le bouton droit sur la
barre doutils et en slectionnant la commande Customize du menu.
 Dans le diagramme de classes, slectionnez une sous-classe.
 En gardant le bouton gauche de la souris enfonc, tirez la ligne de
gnralisation vers la super-classe.
 Pour chacune des autres sous-classes, slectionnez licne de gnralisation
dans la barre doutils, cliquez sur la sous-classe et tirez la ligne de
gnralisation vers le triangle dhritage.
 Crer une classe dassociation
 Cliquez sur licne Association Class dans la barre doutils verticale. Cette
icne peut tre ajoute la barre doutils en cliquant avec le bouton droit sur la
barre doutils et en slectionnant la commande Customize du menu.
 Dans le diagramme de classes, slectionnez la classe qui joue le rle de classe
dassociation.
 En gardant le bouton gauche de la souris enfonc, tirez la ligne de cette classe
vers lassociation quelle qualifie.
 Qualifier une association
 Cliquez avec le bouton droit sur la ligne de lassociation qualifier pour faire
apparatre le menu contextuel.
 Slectionnez loption New key/Qualifier.
 Saisissez le nom du qualificateur et cliquez sur le bouton OK.

TD UML Page (38/42)


ISET Kef

 Crer une relation rflexive


 Sur la barre doutils, slectionnez licne de la relation approprie.
 Cliquez sur la classe, puis tirez la ligne de la relation en sloignant de la
classe.
 Relchez le bouton de la souris.
 Slectionnez et faites revenir la ligne de la relation vers la classe.
 Nommer une relation
 Dans le diagramme de classes, slectionnez la ligne qui reprsente la relation
nommer.
 Saisissez le nom de la relation.
 Nommer les rles dune association
 Cliquez sur le bouton droit de la souris sur la ligne dassociation ct de la
classe que le rle renseigne afin de faire apparatre le menu contextuel.
 Slectionnez loption de menu Role Name.
 Saisissez le nom du rle.
 Crer les indicateurs de multiplicit dune relation
 Cliquez deux fois sur la ligne de la relation pour faire apparatre la fentre de
spcification.
 Slectionnez longlet Detail du rle modifier (Role A Detail ou Role B
Detail).
 Saisissez lindicateur de multiplicit dsir dans le champ Cardinality.
 Cliquez sur OK pour fermer la fentre de spcification.
 Dplacer une classe dans un paquetage
 En cliquant, slectionnez la classe dans le navigateur.
 En gardant le bouton gauche de la souris enfonc, faites glisser la classe vers le
paquetage souhait.
 Crer une relation entre paquetages
 Sur la barre doutils, slectionnez licne de relation de dpendance.
 Cliquez sur le paquetage client (source) et tirez la flche de dpendance vers le
paquetage fournisseur (cible).

TD UML Page (39/42)


ISET Kef

3.2 Diagramme(s) de cas d'utilisation


Si vous avez choisi de commencer par les cas d'utilisation plutt que le modle des classes,
vous avez ouvert la rubrique Use Case View, qui propose par dfaut un diagramme de cas
d'utilisation appel Main. L encore vous pouvez utiliser ce diagramme comme point de
dpart, vous pouvez aussi le renommer si vous le souhaitez.
Si vous avez commenc par le modle des classes, vous avez utilis la rubrique Logical View
qui ne contient pas de diagramme de cas d'utilisation par dfaut, il vous faut donc en crer un.
Dans les deux cas, pour crer un nouveau diagramme de cas d'utilisation, cliquer avec le
bouton droit sur la rubrique, et slectionner le menu New/Use Case Diagram.
Pour raliser un diagramme de cas d'utilisation, vous aller y placer des acteurs. Il faut faire
attention que ces acteurs doivent tre nomms avec des noms distincts des noms de classes.
Par exemple vous ne pourrez pas avoir la fois une classe tudiant et un acteur tudiant
. Il faut donc choisir un autre nom, par exemple la classe pourra tre nomme
Fichetudiant .

3.3 Diagramme de squence et de collaboration


 Crer un diagramme de squence
 Slectionnez loption de menu New :Sequence Diagram. Cela aura pour effet
de crer un diagramme de squence anonyme dans le navigateur.
 Le nouveau diagramme de squence tant slectionn, saisissez son nom.
 Crer un diagramme de collaboration partir dun diagramme de squence
 Cliquez deux fois sur le diagramme de squence dans le navigateur pour
louvrir.
 Appuyez sur la touche F5 ou choisissez loption de menu Browse :Create
Collaboration Diagram.
 Rarrangez les objets et les messages sur le diagramme.
Remarque :
On peut galement crer directement des diagrammes de collaboration. Dans ce cas, cest un
diagramme de squence qui peut tre cr partir dun diagramme de collaboration en
slectionnant loption de menu Browse :Create Sequence Diagram ou en pressant la touche
F5.

TD UML Page (40/42)


ISET Kef

3.4 Diagramme dtats-transitions


 Crer un diagramme dtats-transitions
 Slectionnez la classe dans le navigateur avec le bouton droit de la souris pour
faire apparatre le menu contextuel.
 Slectionnez loption de menu New :Statechart Diagram, ce qui aura pour effet
dajouter un diagramme dtat dnomm New Diagram dans le navigateur.
 Pendant que le diagramme est slectionn, saisissez son nom.
 Pour ouvrir le diagramme, cliquez sur le signe + pour dvelopper la dfinition
de la classe dans le navigateur, cliquez nouveau sur le signe + pour
dvelopper llment State/Activity Model et double-cliquez sur le diagramme
dtats.
 Crer des tats
 Cliquez sur licne State sur la barre doutils.
 Cliquez sur le diagramme dtats pour y placer ltat.
 Ltat tant slectionn, saisissez son nom.
 Crer des transitions dtat
 Cliquez sur licne State Transition sur la barre doutils.
 Cliquez sur ltat dorigine sur le diagramme dtats.
 Etirez la flche de transition vers ltat darrive.
 Saisissez le nom de la transaction lorsquelle est slectionne, si elle doit tre
nomme.
 Crer un tat initial
 Cliquez sur licne Start de la barre doutils.
 Cliquez sur le diagramme dtats pour y placer ltat initial.
 Crer un tat final
 Cliquez sur licne Stop de la barre doutils.
 Cliquez sur le diagramme dtats pour y placer ltat final.
 Ajouter des paramtres une transition
 Cliquez avec le bouton droit de la souris sur la flche de transition pour faire
apparatre le menu contextuel.
 Slectionnez loption de menu Specification.
 Slectionnez longlet Detail.
 Saisissez laction, la garde et/ou lvnement mettre.
 Cliquez sur le bouton OK pour fermer la fentre de spcification.
TD UML Page (41/42)
ISET Kef

 Crer des actions dentre, de sortie ou dactivit


 Cliquez sur ltat avec le bouton droit de la souris pour faire apparatre le menu
contextuel.
 Slectionnez loption de menu Open Specification.
 Slectionnez longlet Actions.
 Cliquez sur le champ Action avec le bouton droit de la souris pour faire
apparatre le menu contextuel.
 Slectionnez loption de menu Insert, ce qui aura pour effet de crer une action
dnomme Entry.
 Double-cliquez sur Entry pour faire apparatre la fentre Action Specification.
 Choisissez quand laction doit se produire : en entre (On Entry), en sortie (On
Exit), ou la rception dun vnement (On Event).
 Saisissez les informations relatives laction ou lvnement.
 Slectionnez le type : action (Action) ou vnement mis (Send Event).
 Saisissez le nom de laction et les informations relatives lvnement si
besoin.
 Cliquez sur le bouton OK pour fermer la fentre Action Specification.
Cliquez sur le bouton OK pour fermer la fentre State Specification.

TD UML Page (42/42)


ISET Kef