Vous êtes sur la page 1sur 67

Complments danalyse et

conception des systmes


dinformation (ACSI)

COURS et TD


Public concern : DUT Informatique 2
me
anne




Jacques LONCHAMP Date : 2010/2011




UNIVERSITE NANCY 2
INSTITUT UNIVERSITAIRE DE TECHNOLOGIE
2ter boulevard Charlemagne
CS 5227
54052 NANCY Cedex
-------------------------------
Tl : 03.54.50.38.00
Fax : 03.54.50.38.01
http://iut-charlemagne.univ-nancy2.fr
2


3


Table des matires

PARTIE 1 : COURS

1. Prsentation dUML p. 5
2. Les cas dutilisation p. 9
3. Les diagrammes de classes p. 15
4. Les diagrammes dinteractions p. 25
5. Les diagrammes dtats et dactivits p. 29
6. Traduction schma de classes vers schma relationnel p. 35
7. Conclusion p. 39


PARTIE 2 : TRAVAUX DIRIGES

1. TD cas dutilisation p. 49
2. TD diagrammes de classes p. 53
3. TD diagrammes de squences p. 57
4. TD diagrammes de modlisation de la dynamique p. 55
5. TD classes vers relationnel p. 63

PARTIE 3 : ETUDE DE CAS UML p. 65




4



5






6






7







8


9








10







11







12








13








14







15







16










17










18










19










20










21










22










23







24

25








26







27







28






29








30






31







32







33







34


35







36







37







38







39









40






41








42







43








44









45








46







47







48








49

TD ACSI : Cas dutilisation UML

1. Gestion de la formation
Une entreprise souhaite modliser avec UML le processus de formation de ses employs
afin dinformatiser certaines tches.
Le processus de formation est initialis quand lemploy dpose une demande de formation.
Cet employ peut ventuellement consulter le catalogue des formations offertes par les
organismes slectionns par le responsable formation. Cette demande est examine par le
responsable. Pour prendre sa dcision (accord ou refus), le responsable examine le
catalogue des formations agres quil tient jour. Il informe lemploy du contenu de la
formation choisie et lui soumet la liste des prochaines sessions prvues. Lorsque lemploy
fait son choix il inscrit lemploy la session retenue auprs de lorganisme de formation
concern.
En cas dempchement lemploy doit le signaler au plus vite au responsable formation, pour
que celui-ci demande lannulation de linscription lorganisme concern.
A la fin de la formation lemploy transmet une apprciation sur le stage suivi.
Le responsable formation valide la formation au vu de la facture envoye par lorganisme de
formation.

Travail faire
Identifier les acteurs et les cas. Dessiner le diagramme des cas dutilisation en structurant
ventuellement les cas.

2. Cyber-Kebab
L'entreprise MegaKebab regroupe dans une mme ville de nombreux restaurants appels
"Points Kebab". Elle est spcialise dans la livraison domicile de Kebabs et autres
spcialits. Actuellement, les commandes se font par tlphone directement auprs de
chaque restaurant. Un nombre limit de commandes peut tre trait et chaque client doit
connatre la carte des plats offerts par le Point Kebab contact (ils varient dun restaurant
lautre). La direction de MegaKebab souhaite informatiser le processus de
commande/fabrication/livraison via un logiciel baptis CyberKebab.
Grce ce logiciel, MegaKebab souhaite grer distance et de manire centralise toutes
les commandes, les Points Kebab et les employs appels "Collaborateurs". Cette
centralisation doit permettre de rendre accessible sur Internet tous les plats disponibles.
Chaque plat est dcrit par un nom, une photo et un prix (identique partout). Dans le cadre de
la politique marketing, une dure est galement associe chaque plat chaud : si le temps
coul entre la fin de prparation et la livraison est suprieur cette dure, le client peut se
faire rembourser sa commande. Cependant, pour ne pas inciter les clients utiliser cette
possibilit, cette opration n'est pas disponible sur Internet : le client doit remplir une
demande crite sur papier libre et l'envoyer au grant de MegaKebab. A tout moment il est
possible de passer une commande par Internet. Le client doit disposer d'une carte de crdit
qui l'identifie de manire unique. Lors d'une premire commande il lui est galement
demand de saisir son nom et de situer son lieu de rsidence sur une carte de la ville. Une
mme commande peut comporter plusieurs plats. Pour chaque plat slectionn le client doit
indiquer la quantit dsire. Aprs avoir pass sa commande, le client peut tout moment
consulter l'tat de sa commande. Tant que la commande n'est pas partie du PointKebab, il
peut l'annuler.
Les Points Kebab sont ouverts 24h/24. Pour assurer un service 24h/24 dans toute la ville,
MegaKebab fait appel un grand nombre de collaborateurs, souvent tudiants, qui ont des
horaires trs flexibles. Lors de leur embauche, un tlphone portable leur est remis. Il suffit
d'appuyer sur un bouton pour faire part de leur disponibilit auprs de MegaKebab. Un autre
bouton permet d'indiquer qu'ils ne le sont plus. A tout moment le grant peut consulter via
Internet l'tat du systme global. Il peut affecter un collaborateur soit un Point Kebab soit
la livraison. Un collaborateur peut ainsi changer de lieu de travail ou de rle plusieurs fois
dans une journe : le rle du grant est d'optimiser l'attribution de chacun en fonction des
commandes. Lorsqu'un client passe une commande, il n'indique pas de PointKebab
50

particulier; c'est le grant qui affecte la commande un PointKebab et un livreur. Le grant
cherche en gnral optimiser la distance parcourue ainsi que les activits des PointKebabs
et des collaborateurs.
Chaque livreur utilise son propre moyen de transport (bus, vlo, roller, voiture ). Par
contre, un appareil appel "Pilote" lui est remis lors de son affectation la livraison. Chaque
pilote intgre un GPS permettant de localiser le livreur de manire prcise via une liaison
satellite. Un cran permet au livreur de consulter les commandes qui lui ont t affectes. Il
peut tout moment consulter la carte et se situer par rapport aux points Kebab et aux clients
livrer. Le livreur utilise galement le pilote pour indiquer quand il rcupre une commande
auprs du Point Kebab et quand il livre la commande au client.
Dans chaque Point Kebab un collaborateur joue le rle de "coordinateur". C'est le seul du
restaurant agir directement avec CyberKebab : les autres collaborateurs prparent les
plats. Le coordinateur consulte les commandes raliser et indique pour chaque commande
quand sa prparation dbute, quand elle se termine et quand elle est remise au livreur.

Travail faire
Complter le diagramme des cas d'utilisation du systme CyberKebab donn ci-dessous.
Seuls les acteurs humains sont pris en compte (ni le Pilote, ni le tlphone ne sont
reprsents).





































unClient
CyberKebab
Passer une commande
Livrer une commande
51


3. Gestion dune bibliothque
La bibliothque prte des livres et magazines des emprunteurs, qui sont enregistrs dans
le systme de mme que les livres et les magazines Les titres les plus demands peuvent
exister en plusieurs exemplaires. Les vieux exemplaires sont retirs quand ils sont dpasss
ou abms.
Le bibliothcaire est lemploy qui interagit avec les emprunteurs et dont le travail est
assist par le systme. Les documents ne sont pas en accs libre. Les clients peuvent
consulter des listes de titres et demandent les titres dsirs.
Un emprunteur peut rserver un titre non disponible. Quand le livre ou magazine est
retourn ou achet, la personne est avertie. La rservation est annule quand lemprunt est
fait ou explicitement par une opration dannulation. Le systme doit permettre facilement de
crer, mettre jour, supprimer des titres, des emprunteurs, des emprunts, des rservations.

Travail faire
Dessiner le diagramme des cas d'utilisation du systme.

4. Ornithologie
Une association dornithologie (dtude des oiseaux) souhaite raliser une application de
gestion des observations faites par ses adhrents, appele PIAFS. Son objectif principal est
de stocker toutes les observations et dtablir des cartes de prsence des espces doiseau
sur le territoire gr par lassociation.
Pour chaque observation, ladhrent qui la ralise saisit : son nom, le nom de lespce
observe (nom courant ou nom scientifique), le nombre dindividus observs, le lieu de
lobservation (nom ou code postal de la commune et un descriptif prcis du lieu), la date et
heure de lobservation, les conditions mto au moment de lobservation.
Les observations saisies par les adhrents sont dans un tat valider. Tant quelles ne sont
pas valides par un adhrent salari de lassociation elles restent modifiables.
Un adhrent salari peut valider une observation. Lors de cette opration le logiciel contrle
automatiquement que le nom despce est connu (toutes les espces connues sur ce
territoire sont rpertories), que lobservateur est adhrent de lassociation, que la commune
existe sur le territoire (toutes les communes du territoire sont rpertories), que les dates et
heures sont correctement saisies et que tous les champs sont remplis. Au vu de ces
contrles et aprs lecture de toutes les informations saisies, ladhrent salari fait passer
lobservation dans ltat valid ou dans ltat non valid. Seules les observations valides
sont conserves, les autres sont automatiquement supprimes chaque semaine.
A partir des observations valides, PIAFS doit permettre dafficher :
- des cartes de prsence par espce avec un cumul du nombre dindividus de lespce
observs (ce traitement peut tre demand par tout adhrent),
- des cartes des observations ralises par chaque adhrent (ce traitement ne peut tre
demand que par les adhrents salaris de lassociation).
Ces cartes sont construites grce la connaissance des coordonnes gographiques des
communes.

Travail faire
Dessiner le diagramme des cas dutilisation du logiciel PIAFS.

5. Cyber-cartes
Lapplication web cyber-cartes doit permettre :
un internaute de sinscrire pour crer un compte; il choisit alors un login et un mot de
passe; il devient, aprs validation du compte par ladministrateur, un client de cyber-
cartes ;
un administrateur de se connecter ; aprs quoi il peut valider un ou plusieurs comptes
correspondant chacun une demande dun internaute et se dconnecter ;
52

un client de se connecter lapplication ; aprs quoi il peut :
o crer une (ou plusieurs) carte(s) lectronique(s) avec obligatoirement un texte
personnalis et dans la(les)quelle(s) il peut en plus :
- ajouter une ou plusieurs images animes,
- ajouter une mlodie.
o expdier une ou plusieurs cartes par e-mail un destinataire dont il fournit
ladresse e-mail sous la forme dune chane de caractres.
o se dconnecter.

Travail faire
Dessinez le diagramme des cas dutilisation de cyber-cartes .




53

TD ACSI : Diagramme de classes UML


1. Gestion cirque
Le propritaire dun cirque souhaite informatiser une partie de la gestion de ses spectacles.
Proposer un diagramme de classes UML qui rponde aux spcifications, fournies ci-
dessous.
Les membres du personnel du cirque sont caractriss par un numro (en gnral leur
numro INSEE), leur nom, leur prnom, leur date de naissance et leur salaire. On souhaite
de surcrot stocker les pseudonymes des artistes et le numro du permis de conduire des
chauffeurs de poids lourds.
Les artistes sont susceptibles dassurer plusieurs numros, chaque numro tant caractris
par un code, son nom, le nombre dartistes prsents sur scne et sa dure. De plus, on
souhaite savoir linstrument utilis pour les numros musicaux, lanimal concern par les
numros de dressage et le type des acrobaties (contorsionnisme, quilibrisme, trapze
volant).
Par ailleurs, chaque numro peut ncessiter un certain nombre daccessoires caractriss
par un numro de srie, une dsignation, une couleur et un volume.
On souhaite galement savoir, individuellement, quels artistes utilisent quels accessoires.
Enfin, les accessoires sont rangs aprs chaque spectacle dans des camions caractriss
par leur numro dimmatriculation, leur marque, leur modle et leur capacit (en volume).
Selon la taille du camion, une quipe plus ou moins nombreuses de chauffeurs lui est
assign (de un trois chauffeurs).
Travail faire
Dessiner le diagramme de classes.

2. Gestion de la formation
On reprend lnonc pour lequel on a dj construit les cas dutilisation.
Travail faire
Dessiner le diagramme des classes du domaine avec les classes, les associations, les
relations dhritage, les multiplicits (cardinalits), les attributs.

3. Ornithologie
On reprend lnonc pour lequel on a dj construit les cas dutilisation.
Travail faire
Dessiner le diagramme des classes du domaine avec les classes, les associations, les
relations dhritage, les multiplicits (cardinalits), les attributs.

4. Cyber-kebab
On reprend lnonc du cyber-kebab pour lequel on a dj construit les cas dutilisation.
Travail faire
Complter le diagramme de classes en annexe sans ajouter ni classes, ni associations mais
en compltant les zones en pointills. Les zones de petite taille correspondent des
cardinalits.

5. Carte gographique
Une carte gographique est caractrise par une chelle, la longitude et la latitude de son
coin infrieur gauche, la hauteur et la largeur de la zone couverte par la carte. Une carte
comporte un ensemble de donnes gographiques de natures diverses. Les villes et les
montagnes sont repres par un point unique. Chaque point a 2 coordonnes x et y
calcules par rapport au coin infrieur gauche de la carte. Un nom est associ chaque
donne gographique repre par un point. Les routes et les rivires sont repres par des
lignes brises, cest dire par un ensemble de points correspondant aux extrmits de ses
segments de droite. Les routes et les rivires ont des noms et des paisseurs de trait. Les
lacs, mers et forts sont reprsentes par des rgions caractrises par un nom et une
couleur de remplissage. Une rgion est une ligne brise referme sur elle mme.
54

Travail faire
Donnez un schma de classes UML permettant de reprsenter une carte en utilisant les
relations de spcialisation (hritage) et de dcomposition (aggrgation).

6. Les dmons
a. Pour chaque paragraphe numrot, dessinez un diagramme UML permettant de
reprsenter les notions que ce paragraphe dcrit.
(1) Les dmons sont de deux sortes : les fermions et les bosons.
(2) Un tre vivant possde une ou plusieurs loges dans lesquelles viennent se placer des
dmons. Un dmon est ubiquiste, cela signifie quil peut tre prsent dans plusieurs loges.
(3) Les bosons sont toujours plusieurs dans une loge. Dans ce cas la loge est dite
bosonique. Un fermion, par contre, est toujours seul dans une loge. Dans ce cas la loge est
dite fermionique.
(4) Les tres humains normaux possdent deux loges bosoniques (remplies de bosons). 5%
sont hors norme : ils possdent une loge avec des bosons et une loge fermionique (avec un
fermion). 0,000001% sont rarissimes : ils possdent deux loges avec un fermion.
(5) Il existe plusieurs sortes de bosons : les hypnotiques, les processionnaires et les
caracoles.
b. Synthtisez les diagrammes prcdents en un seul.
c. Un dmon possde une puissance, reprsente par un nombre. Pour un boson, ce
nombre est entier, il sappelle le charme. Pour un fermion, ce nombre est rel, il sappelle la
rsistance. Les hypnotiques ont un charme variable, les caracoles ont un charme constant
de 1, les processionnaires ont un charme constant de 2.
Placez dans les classes les attributs puissance, charme, rsistance.
Idem avec les mthodes void occuperUneLoge(Loge), void ecrireCharme(entier), entier
lireCharme(), rel lireResistance(), void afficherBosons(), void afficherFermion().

7. Les Vols
Une compagnie arienne gre des vols, c'est--dire des parcours ariens entre une ville de
dpart et une ville darrive, avec un numro de vol et une frquence. Un vol peut se
dcomposer en un ou plusieurs tronons (sil existe des escales dans des villes
intermdiaires), caractriss chacun par une ville et une heure de dpart, une ville et une
heure darrive, une distance. Certains vols se partagent les mmes tronons mais pas
ncessairement aux mmes heures.
Lorsquun vol est programm pour une date il constitue un dpart, caractris par un numro
de dpart. Un vol nest programm quune seule fois dans une journe lheure de dpart.
Des passagers sont enregistrs pour un dpart, caractriss par un nom, une adresse et un
numro de tlphone.
Un avion est affect chaque dpart, caractris par son immatriculation, son type et sa
capacit. Il utilise une certaine quantit de krosne pour le trajet qui dpend des conditions
climatiques et donc de la date du dpart.
Des personnels sont affects chaque dpart. On distingue les non-navigants et les
navigants. Ils sont caractriss par leur nom, adresse et numro de tlphone. Pour les
navigants on garde le cumul des heures voles dans lanne.
Travail Faire
Donnez un schma de classes UML utilisant au maximum la relation de spcialisation/
gnralisation entre classes (hritage).
Rappel : des attributs peuvent tre attachs une association grce une classe anonyme
qui lui est lie.

8. Bataille navale
Le jeu de la bataille navale se compose d'un tableau de n lignes et m colonnes et d'un
ensemble de bateaux positionns sur ce tableau.
Chaque bateau comporte un ensemble de taille fixe de cases. Il y a les croiseurs qui
comportent 3 cases, les escorteurs avec 2 cases et les sous-marins avec une seule case.
55

Chaque case est caractrise par sa position dans le tableau (n de la ligne et n de la
colonne) et par son tat : intacte ou touche.
Les bateaux doivent toujours tre spars par au moins une case vide.
Les sous-marins ont la possibilit de plonger. Lorsquils plongent ils ne peuvent pas tre
touchs.
Exemple : tableau 10 sur 10 avec 2 bateaux de chaque type



X

X X X X
X
X
X X
X
X
X

Travail Faire
1) Donner le schma de classes UML traduisant cette description du jeu (classes,
associations, relations dhritage, multiplicits, attributs).
2) Quand et comment prendre en compte la contrainte les bateaux doivent toujours tre
spars par au moins une case vide ?

9. Mta modle UML
Donner le modle de classes UML qui permet dinstancier nimporte quel diagramme de cas
UML avec des instances dacteurs, des instances de cas, des instances dinteractions, etc.
Un tel modle est souvent appel un mta-modle car cest un modle qui dcrit tous les
composants dun autre modle.
On rappelle quun diagramme de cas dutilisation contient 6 types de composants : acteur,
cas, interaction (entre un acteur et un cas), hritage (entre 2 acteurs ou entre 2 cas), relation
dextension (entre 2 cas) et relation dinclusion (entre 2 cas).

56

10. Annexe





































Lieu est un type permettant de situer dans lespace.
DateHeure est un type permettant de situer dans le temps.
EtatCommande est un type numr prenant les valeurs suivantes :







Pilote
position : Lieu
Collaborateur
numCB : integer
position : Lieu
nom : string
nbCollaborateursMax : integer
nom : string
position : Lieu
Plat
nom : string
tarif : real
photo : Image
quantit : integer
Commande
tat : EtatCommande
no : integer
cration : DateHeure
modification : DateHeure
*
1
57

TD ACSI : Diagramme de squences UML


1. Passage en caisse - diagramme de squence au niveau de lanalyse des
besoins
On considre le cas dutilisation Traiter le passage en caisse au sein de la gestion des
caisses enregistreuses dun supermarch.





























Le scnario nominal dun passage en caisse avec paiement en espces est le suivant :
- un client arrive la caisse avec des articles payer,
- le caissier enregistre le numro didentification de chaque article et la quantit si elle
excde un,
- la caisse affiche le libell et le prix de chaque article,
- lorsque tous les achats sont enregistrs le caissier signale la fin de lenregistrement,
- la caisse affiche le total des achats,
- le client choisit de payer en espces et donne une somme et ventuellement des coupons
de rduction,
- la caissier enregistre la somme reue et ventuellement les coupons de rduction,
- la caisse affiche la somme rendre,
- le caissier encaisse la somme et sort la monnaie rendre,
- le caissier rend la monnaie,
- la caisse enregistre la vente et imprime le ticket,
- le caissier donne le ticket de caisse au client.
Travail faire
Reprsenter ce scnario comme un diagramme de squence entre caisse, caissier et client.
On pourra faire apparatre les messages et les flux matriels (en pointills).

2. Ornithologie
On reprend lnonc pour lequel on a dj construit les cas dutilisation.
Initialiser la
caisse
Responsable magasin
Caissier
Client
Traiter passage
en caisse
Prendre en compte
coupons rduction
<<Etend>>
Traiter paiement
<<Inclut>>
<<Acteur>>
Gestion des
stocks
Paiement par
chque
Paiement par
carte
Paiement en
espces
<<Acteur>>
Centre
autorisation
chques
<<Acteur>>
Centre
autorisation
cartes
58

Travail faire
Dessiner le diagramme de squences correspondant la saisie dune observation.

3. Gestion dune bibliothque - diagramme de squence entre classes dune
application au niveau de lanalyse du systme (classes mtiers)
Au cours de lanalyse de la gestion dune bibliothque on a retenu les classes mtier
suivantes.


Rappel : une association simplante par un attribut contenant un objet (si cardinalit 1) ou par
une collection (table) dobjets (si cardinalit *). Donc limplantation de Bibliothque aura 3
attributs collection (tables) pour les 3 associations et celle de Prt aura 2 attributs pour les
associations de et par.
Travail faire
Raffiner le diagramme de squence suivant (associ au cas Emprunt des livres) en faisant
intervenir les classes concernes et les messages quelles schangent.















Les tables de la classe Bibliothque (table de tous les objets livre, table de tous les objets
adhrents et table de tous les prts pour une dure 15 jours) ont des mthodes :
- trouverLivre(ISBN), trouverAdhrent(nom, prnom) et trouverPrt(n prt) qui retournent les
objets cherchs,
:Systme
:Bibliothcaire
nom, prnom de lemprunteur
ISBN du livre emprunter
59

- ajouterLivre(objet livre), ajouterAdhrent(objet adhrent) et ajouterPrt(objet prt) qui
ajoutent les objets aux tables.

Rappel : pour crer un objet on appelle la mthode crer(valeurs initiales des attributs) qui
retourne cet objet; pour modifier un attribut dun objet on appelle la mthode
setAttribut(valeur); pour lire la valeur dun attribut dun objet on appelle getAttribut() qui
retourne la valeur.

4. Cyber-cartes
On reprend lnonc pour lequel on a dj construit les cas dutilisation. En vous basant sur
le diagramme de classes qui suit, dessiner un diagramme de squences dcrivant un client
qui se connecte, cre une carte lectronique, ajoute un texte et une image anime, lenvoie
une adresse e-mail et se dconnecte.




























*
60

61

TD ACSI : diagrammes de modlisation de la dynamique


1. Guichet automatique de banque - diagramme dactivits et dtats
Modliser le retrait dargent dans un guichet automatique de banque (GAB). La carte peut
tre invalide (ex : date dexpiration dpasse) et elle est refuse. Si elle est valide, le client
doit taper son code. La carte est avale aprs trois essais infructueux. Le systme
dautorisation VISA autorise un certain montant ou refuse tout retrait. Une carte non
rcupre aprs quelques secondes est avale. Les billets non rcuprs par le client sont
repris. Un ticket est toujours imprim pendant que les billets sont proposs.
Travail faire
a) Modliser avec un diagramme dactivits la dynamique de ce systme.
b) Modliser avec un diagramme dtats lvolution de la carte de crdit dans le GAB.
2. Gestion de la formation - diagramme dactivits et dtats
On reprend lnonc de la gestion de la formation pour lequel on a dj construit les cas
dutilisation.
Travail faire
a) Modliser avec un diagramme dactivits la dynamique de ce systme.
b) Modliser avec un diagramme dtats lvolution dune demande de formation.
3. Ornithologie
On reprend lnonc pour lequel on a dj construit les cas dutilisation.
Travail faire
Dessiner le diagramme dtats dune observation.

4. La vie dun thread. Diagramme dtats
Dessinez un diagramme dtats correspondant la dynamique dun thread (processus
lger) 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 quun thread nenvoie pas dvnement. Il ne fait que les recevoir. 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 lindication quune ressource applicative attendue
nest pas disponible.
- ressource OK correspond la libration dune ressource applicative par un autre
thread et donc la rservation effective de la ressource par le thread qui lattendait.
- 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 .






62

63

TD ACSI : Classes vers relationnel

Exercice 1

Traduire le diagramme de classes UML suivant en relationnel.

Exercice 2

Traduire le diagramme de classes UML suivant en modle logique relationnel.



























Exercice 3
Soit le schma de classes ci-dessous.
a) Daprs ce schma, un lot peut-il contenir un lot ?
b) Traduisez ce schma en relationnel avec la stratgie qui consiste associer une table par
classe de larbre dhritage,
c) Mme question avec la stratgie qui consiste associer une seule table tout larbre
dhritage.
Transaction

NoTrans
Libell
Montant
Client

NoClient
Nom
Adresse
< met
0..*
1
Compte

NoCompte
Solde
concerne >
1
0..*
< estTitulaire
1..*
1..*
Agence

NoAgence
Localisation
gre >
1..* 1
1
0..*
traite ^
CarteBleue

NoCarte
possde v
0..1
1
< moyen Paiement
0..*
1
CompteDpt

Autorisation
CompteEpargne

Plafond
64



Exercice 4
Soit le schma de classes ci-dessous.
a) Traduisez ce schma en relationnel avec la stratgie qui consiste associer une table par
classe de larbre dhritage,
b) Mme question, avec la stratgie qui consiste associer une seule table tout larbre
dhritage.


Exercice 5
a) Modliser le systme de fichiers dcrit ci-aprs l'aide d'un diagramme de classes.
Le systme de fichiers est une arborescence de dossiers et de fichiers contenue dans un
dossier racine (le root directory). Les dossiers contiennent des (sous-)dossiers et/ou des
fichiers. Chaque utilisateur a un dossier son nom (son home directory). Chaque
fichier/dossier a un utilisateur qui le possde (owner). Chaque utilisateur peut lire certains
fichiers.
b) Traduire ce schma de classes en relationnel.
65


Etude de cas UML

Analyse dun serveur
de runions virtuelles sur Internet


1. Prsentation
Il s'agit dadapter le concept de messagerie instantane un contexte de runions de travail
au sein d'une entreprise gographiquement disperse. Lauthentification des utilisateurs
(login/mot de passe) est obligatoire pour utiliser lapplication.
Il vous faut analyser la partie serveur de cette application client-serveur permettant de faire
des runions virtuelles sur Internet.










L'objectif de cette application est de permettre d'imiter le plus possible le droulement de
runions de travail classiques. Cependant, dans la premire version de ce projet, les
interventions des utilisateurs se feront en mode textuel seulement.

Le serveur devra permettre de planifier et de grer le droulement de plusieurs runions
simultanes.
Une fois connect ( l'aide d'un nom de login et d'un mot de passe spcifique lapplication
et mmoris sur le serveur), un utilisateur a la possibilit de :
planifier des runions virtuelles (choix de son nom, description de son sujet, date de
dbut, dure prvue, description de son ordre du jour, type et ventuellement
participants autoriss) dont il devient lorganisateur,
consulter les dtails d'organisation d'une runion (tous les utilisateurs),
modifier ces dtails dorganisation (seulement l'organisateur),
ouvrir et clturer une runion (l'animateur quand il existe ou lorganisateur cf. ci-
dessous),
entrer (virtuellement) dans une runion prcdemment ouverte (seulement les
participants autoriss si runion prive),
en sortir.

En cours de runion, un participant peut demander prendre la parole. Quand elle lui est
accorde, il peut entrer le texte d'un message qui sera transmis en temps-rel par le
serveur tous les participants de la runion.

Une personne peut participer simultanment plusieurs runions.

Les messages sont stocks avec un n dordre de rception, la date et heure de rception et
le nom de lauteur du message. Cela permet un retardataire de recevoir lensemble des
messages dj changs dans la runion.
Serveur de
lapplication BD
Client
Client
66


Plusieurs types de runions peuvent tre organiss :
runions standards, avec un organisateur qui se charge de la planification de la
runion et dsigne un animateur charg de choisir les intervenants successifs parmi
ceux qui demandent la parole ; tout utilisateur peut participer (runions publiques) ;
runions prives, qui sont des runions standards dont l'entre est rserve un
groupe de participants particulier autoris par l'organisateur ;
runions dmocratiques, qui sont planifies comme des runions standards et,
comme elles, sont publiques. Les intervenants successifs sont choisis
automatiquement par le serveur sur la base d'une politique premier demandeur-
premier servi (FIFO). La runion est ouverte et ferme par lorganisateur.

Ladministrateur du systme peut ajouter/supprimer des utilisateurs avec leur nom, login,
fonction et mot de passe initial. Les utilisateurs peuvent modifier leur mot de passe.


2. Travail faire
a) Partie 1
Etablir le diagramme des cas dutilisation du systme. Vous pouvez introduire des relations
entre cas (hritage, extends et include ) mais en rflchissant bien leur validit.
Conseils
Lhritage entre acteurs signifie que lacteur qui hrite peut faire tout ce que lacteur dont il
hrite peut faire. Cela simplifie le dessin du diagramme mais na aucun impact sur le
programme qui sera ralis.
Les relations extends et include ne doivent pas servir dcrire des enchanements
dactions lmentaires (cest le rle des diagrammes dactivits). Les cas dutilisation sont
des fonctionnalits compltes du point de vue des utilisateurs qui peuvent (parfois) tre lies
entre elles.

b) Partie 2
A partir de lnonc, proposer un diagramme de classes initial avec les utilisateurs, les
runions, les principales associations et relations dhritage entre ces concepts et les
attributs essentiels. Les mthodes seront ajoutes ultrieurement.
Conseils
Lhritage entre classes est une notion statique (qui impacte fortement le programme
ralis). Quand un objet dune sous classe est cr il prend ce type particulier et hrite de
toutes les proprits de la super classe. Il conserve ce type et ne peut plus en changer. Si on
veut reprsenter quelque chose de plus dynamique, c'est--dire qui volue dans le temps, le
concept dhritage ne convient pas.

c) Partie 3
Expliciter quelques cas par des diagrammes de squences : connexion au serveur,
planification dune runion virtuelle, ouverture dune runion virtuelle. Ces diagrammes
doivent montrer toutes les classes qui participent (c'est--dire qui hbergent des traitements,
qui sont cres, qui sont interroges) avec les messages qui circulent vers et depuis ces
classes. Lobjectif est de trouver ventuellement de nouvelles classes et surtout les
mthodes utiles la ralisation des cas.
Conseils
A lorigine de chaque cas on a un acteur qui envoie un message (la partie cliente de
lapplication nest pas tudie et pas reprsente). Le message envoy par lacteur doit
arriver une classe bien dfinie quil faut introduire dans le diagramme de squences
(quand on crira lapplication cliente il faudra appeler cette classe particulire). Cette classe
correspond une faade (cf. le design pattern faade en annexe).

67

d) Partie 4
Donner les diagrammes dtats des classes utilisateur et runion.
Conseils
On cherchera reprsenter les tats valables pour tous les utilisateurs et toutes les
runions.
Lobjectif est de trouver de nouvelles proprits (attributs et mthodes) utiles.

e) Partie 5
A partir des rsultats prcdents et de lnonc, enrichir le diagramme de classes avec les
classes, les associations, les attributs et mthodes jusqu ce quil apparaisse
raisonnablement complet pour cette phase initiale danalyse.
Conseils
Essayer dutiliser toutes les possibilits de la notation objet UML (hritage, agrgation,
associations, multiplicits).

Un dossier danalyse doit tre rendu qui rponde ces questions.
Les schmas seront raliss laide de WinDesign.
Les schmas devront tre accompagns dexplications chaque fois que des choix non
vidents auront t effectus.



Annexe : le design pattern faade

La faade consiste crer un point dentre unique pour accder un sous-
systme. La faade est unidirectionnelle : de l'extrieur (les modules utilisant le sous
systme) vers l'intrieur. Elle peut se charger de crer certains composants.