Vous êtes sur la page 1sur 46

Complments danalyse et

conception des systmes


dinformation (ACSI)
COURS, TD, Etude de cas
Public concern : DUT Informatique 2me anne

Jacques LONCHAMP

Date : 2012/2013

UNIVERSITE DE LORRAINE
IUT Nancy-Charlemagne
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

Table des matires


PARTIE 1 : COURS
1. Prsentation dUML

p. 5

2. Les cas dutilisation

p. 7

3. Les diagrammes de classes

p. 11

4. Les diagrammes dinteractions

p. 15

5. Les diagrammes dtats et dactivits

p. 17

6. Traduction schma de classes vers schma relationnel

p. 21

7. Le processus de dveloppement objet

p. 23

PARTIE 2 : TRAVAUX DIRIGES


1. TD cas dutilisation

p. 27

2. TD diagrammes de classes

p. 31

3. TD diagrammes de squences

p. 35

4. TD diagrammes de modlisation de la dynamique

p. 39

5. TD classes vers relationnel

p. 41

PARTIE 3 : ETUDE DE CAS

p. 43

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

TD Cas dutilisation
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. Brivement dcrire chaque 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 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.

27

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).

Passer une commande


Livrer une commande

unClient

CyberKebab

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.

28

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. Brivement dcrire chaque cas.

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. Brivement dcrire chaque cas.

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 ;
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 email sous la forme dune chane de caractres.
o se dconnecter.
Travail faire
Dessinez le diagramme des cas dutilisation de cyber-cartes . Brivement dcrire chaque cas.

29

30

TD Diagrammes 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). On ne demande pas 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.
Travail faire
Donnez un schma de classes UML permettant de reprsenter une carte en utilisant les relations
de spcialisation (hritage) et de dcomposition (aggrgation).

31

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.
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

32

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).

33

10. Annexe
Collaborateur

Pilote

numCB : integer

position : Lieu

position : Lieu
nom : string
1

nbCollaborateursMax : integer
nom : string
position : Lieu

quantit : integer

Plat

Commande

tat : EtatCommande
nom : string
no : integer
tarif : real
cration : DateHeure
photo : Image
modification : DateHeure

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 :

34

TD Diagrammes de squences
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.
Initialiser la
caisse
Responsable magasin

Caissier

<<Etend>>

Traiter passage
en caisse

Prendre en compte
coupons rduction

<<Inclut>>

Client

<<Acteur>>
Gestion des
stocks

Traiter paiement

Paiement par
chque

<<Acteur>>
Centre
autorisation
chques

Paiement par
carte

Paiement en
espces

<<Acteur>>
Centre
autorisation
cartes

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.
Travail faire
Dessiner le diagramme de squences correspondant la saisie dune observation.

35

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.

:Systme
:Bibliothcaire
nom, prnom de lemprunteur

ISBN du livre emprunter

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,
- ajouterLivre(objet livre), ajouterAdhrent(objet adhrent) et ajouterPrt(objet prt) qui ajoutent les
objets aux tables.

36

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. Boutique en ligne
Soit le scnario suivant prcisant les tapes du cas dutilisation cration de client dune
boutique en ligne :
-

Linternaute saisit son email et son mot de passe.

Le systme cre un client dans un tat non valid ; puis il calcule et envoie par mail un
code dactivation linternaute qui doit le retourner afin de prouver la validit de ladresse mail.

Le systme vrifie le code retourn et en cas dgalit des codes fait passer le compte ltat
valid .

Donner le diagramme de squences qui dcrit ce scnario.


5. Impressions
Le processus dimpression dbute par la slection dun document auprs du Gestionnaire de
documents (cf. schma de classes ci-aprs). Puis une demande dimpression du document
slectionn est envoye au Gestionnaire de documents. Suite cette demande, le Gestionnaire
de documents demande au document slectionn de simprimer lui-mme. Le document va alors
demander au Gestionnaire de lui retourner limprimante utiliser. Puis il communique avec cette
imprimante pour lui demander de limprimer. Celle-ci va lui demander successivement le titre, le
corps du texte et le pied de page.
Travail faire
Etablissez un diagramme de squences reprsentant le processus dimpression dun document
laide des classes et mthodes de la figure qui suit.

37

38

TD 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 .

5. Photocopieur
Un dispositif de contrle d'accs par carte magntique un photocopieur est quip d'un cran de
visualisation qui peut afficher les messages suivants :
"INSEREZ VOTRE CARTE" lorsque le dispositif est inutilis,
"PATIENTER" pendant que le dispositif lit le code d'une carte introduite,

39

"CARTE INVALIDE" lorsque le code n'est pas reconnu (illisible) ; la carte est alors
automatiquement jecte,
"COMPOSEZ VOTRE CODE" lorsque celui-ci a pu tre lu,
"CODE REFUSE" si le code compos n'est pas identique au code lu ; la carte est alors
automatiquement jecte,
"UTILISATION EN COURS" lorsque le code compos est correct.
L'utilisateur peut tout moment actionner un bouton qui provoque l'jection de la carte. Aprs
toute jection de carte, le dispositif affiche "INSERER CARTE".
Travail faire
Proposez le diagramme dtats du lecteur de carte. Les tats correspondent aux diffrents
affichages. Sur chaque transition entre tats indiquer la condition de transition (notation : si
condition) ou laction de lutilisateur et/ou laction du dispositif qui a dclench la transition
(notation : action utilisateur/action dispositif une des deux actions pouvant tre absente).

6. Windows
Pour teindre un PC sous Windows, lutilisateur clique sur le bouton dmarrer puis sur le
bouton arrter lordinateur du menu dmarrer. Le systme affiche une fentre de dialogue avec
trois options : mettre en veille , arrter , redmarrer et un bouton annuler .
Si lutilisateur choisit mettre en veille , le systme se met en pause et lappui dune touche le
ractive et le remet dans son tat initial.
Si lutilisateur choisit arrter , le systme installe les ventuelles mises jour systme en
affichant une fentre montrant lavancement des installations. A la fin de ces installations le PC
steint.
Si lutilisateur choisit redmarrer , le systme ralise la procdure darrt presque jusqu la fin
(sans installer de mises jour) et relance le bios et Windows pour revenir ltat initial.
Donner le diagramme dtats qui dcrit ce mode de fonctionnement.

40

TD 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.
Transaction
NoTrans
Libell
Montant

0..*

Client
< met

0..*

NoClient
Nom
Adresse

0..*

1..*

< estTitulaire

concerne >
traite ^

possde v
Compte

1
Agence
NoAgence
Localisation

1..*

1..*

NoCompte
Solde

0..1
0..*

CarteBleue
NoCarte

gre >
< moyen Paiement

CompteDpt

CompteEpargne

Autorisation

Plafond

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.

41

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.

42

Etude de cas UML


Un 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 ayant de multiples implantations gographiques.
Le but de ltude est danalyser la partie serveur dune application client-serveur permettant de
faire des runions de travail virtuelles sur Internet.

Client

Serveur de
lapplication

BD

Client
L'application cherche imiter le droulement des runions de travail classiques. Les runions sont
planifies lavance. A la date fixe, les participants se connectent, entrent dans la runion et
peuvent changer des messages en mode texte. Le serveur doit 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 descriptions des runions planifies (tous les utilisateurs peuvent consulter
toutes les descriptions),
modifier ces descriptions (seul lorganisateur peut modifier la description dune runion),
ouvrir et clturer une runion (l'animateur de la runion quand il existe ou dfaut son
organisateur cf. ci-aprs les diffrents types de runions),
entrer virtuellement dans une runion prcdemment ouverte (tous les utilisateurs ou
seulement les participants autoriss si cest une runion prive),
en sortir.
En cours de runion, un participant doit demander prendre la parole. Quand elle lui est accorde
(cf. ci-aprs les diffrents types de runion), il peut entrer le texte d'un (ou plusieurs) message(s)
qui est (sont) transmis en temps-rel par le serveur tous les participants de la runion. Le
participant doit rendre la parole quand il a fini de sexprimer. Il peut aussi annuler une demande de
prise de parole.
Les messages sont stocks avec un n dordre attrib u par le serveur, la date et heure de
rception et le nom de lauteur du message. Cela permet aux retardataires de recevoir lensemble
des messages dj changs dans la runion.
Plusieurs types de runions peuvent tre organiss :
des runions standards , avec un organisateur qui se charge de la planification de la
runion et dsigne un animateur (ventuellement lui-mme) charg de choisir les

43

intervenants successifs parmi ceux qui ont demand la parole ; tout utilisateur peut
participer (ce sont des runions publiques) ;
des runions prives , qui sont des runions standards dont l'entre est rserve
un groupe de participants particulier autoris par l'organisateur ;
des runions dmocratiques , qui sont planifies comme des runions standards et,
comme elles, sont publiques. Elles nont pas danimateur : les intervenants successifs sont
choisis automatiquement par le programme sur la base d'une politique premier demandeurpremier servi (FIFO). La runion est ouverte et ferme par lorganisateur.

Ladministrateur du systme peut ajouter/supprimer des utilisateurs et des administrateurs avec


leur nom, login, et mot de passe initial. Les utilisateurs peuvent modifier leur mot de passe.

2. Travail faire
1) Cas dutilisations
a) Etablir le diagramme des cas dutilisation du systme.
b) Associer une courte description textuelle chaque cas dutilisation (quoi ? qui ? quand ?).
c) Ecrire un scenario global dutilisation du systme : au minimum, cration de quelques
utilisateurs et dune runion de chaque type avec quelques changes de messages. Ce
scnario peut aider comprendre le problme. Il pourra galement tre utilis pour tester le
systme quand il aura t dvelopp.
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 des cas mais na aucun impact sur
le programme qui sera ralis.
Les cas dutilisation doivent correspondre des fonctionnalits significatives du point de
vue des utilisateurs du systme.
Les relations extends et include entre cas ne doivent pas servir dcrire des
enchanements dactions lmentaires (ce sera le rle des diagrammes dactivits).
2) Diagramme de classes initial
A partir de lnonc, proposer un diagramme de classes initial centr sur les utilisateurs et les
runions, avec les principales associations et relations dhritage entre ces concepts et les
attributs essentiels. Les mthodes seront ajoutes ultrieurement.
Conseils
Dans la majorit des langages les objets possdent un type et ne peuvent en changer
(typage statique). Quand un objet dune classe drive est cr il prend ce type en hritant
de toutes les proprits de la classe dont il drive. Si on veut reprsenter quelque chose de
plus dynamique, qui volue dans le temps, lhritage ne convient pas.

3) Diagrammes de squences
Expliciter les cas suivants par des diagrammes de squences : se connecter au serveur, planifier
une runion virtuelle, ouvrir une 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

44

A lorigine de chaque cas on a un acteur qui envoie un message contenant des chanes de
caractres (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 patron de
conception Faade en annexe).

4) Diagrammes dtats
Donner les diagrammes dtats des classes utilisateur et runion.
Conseils
On cherche reprsenter les tats communs tous les utilisateurs et tous les types de
runions.
On pourra utiliser des tats imbriqus si ncessaire.
Lobjectif est de trouver de nouvelles proprits (attributs et mthodes) utiles.
5) Diagramme de classes final
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.

45

Annexe : les patrons de conception faade et singleton


Faade
Une classe faade constitue 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.

Singleton
Comme la classe Faade a une seule instance on peut en faire un singleton . Cest une classe
qui contient un attribut de classe priv contenant linstance unique et une mthode de classe
getInstance() qui cre linstance si elle nexiste pas (via un constructeur priv) ou la retourne si elle
existe dj.
Cela garantit lunicit de linstance.
De plus, Facade.getInstance() peut tre appel tout endroit, sans avoir passer lobjet faade en
paramtre des mthodes.

- : mthode ou attribut priv


soulignement : mthode ou attribut de classe

46

Vous aimerez peut-être aussi