Professional Documents
Culture Documents
Jacques LONCHAMP
Date : 2008/2009
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://www.iuta.univ-nancy2.fr
p. 75
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
50
51
52
53
54
55
56
57
58
59
60
1. Gestion de la formation
2. Cyber-Kebab
61
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
62
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. Application commerciale
1.1. Besoin Des commerants souhaitent participer lanimation du centre ville par la cration dun groupement de commerants dont les principaux objectifs sont : - attirer la clientle en centre ville par la cration dune carte de fidlit, - animer des oprations de marketing (semaine de promotion, ...), - constituer un carnet dadresse des clients pour des oprations de mailing cibls. Sur chaque achat donnant lieu un acte de fidlisation, le commerant accorde une remise de 5 % sur le montant de lachat. Sur cette remise, est prleve une participation au frais destine au prestataire informatique. 1.2. Architecture Tous les commerants sont dots dun TPE (Terminal de Paiement Electronique) sur lequel, cot du logiciel de paiement bancaire, peut tre install un logiciel de fidlit. Le TPE dialogue avec un serveur hberg chez le prestataire qui mmorise les transactions et effectue les calculs de fidlit. Le serveur doit disposer dune application permettant deffectuer la comptabilit de fin de mois en liaison avec les banques et de calculer les statistiques. Un serveur WEB doit permettre au groupement de saisir les informations ncessaires au fonctionnement de la fidlit. 1.3. Principes
63
le TPE dite un ticket en double exemplaire (lun pour le commerant, lautre pour le client) avec le nom du commerant, la date dachat, le montant de lachat, la provision de remise, le cumul des provisions et le rang de lachat (de 1 9), - le commerant encaisse la totalit du montant de lachat. 6) 2me cas : - Le client a droit une remise, le serveur renvoie les informations permettant le remboursement de la remise (somme des provisions - somme des frais) - Le TPE dite un ticket comprenant, le nom du commerant, la date dachat, la provision de remise sur cet achat, le montant des provisions de remise, et le restant d par le client (achats moins remise). Il est possible que la somme des remises soit suprieure au montant de lachat. - Le commerant encaisse le montant de lachat moins la remise ou dcaisse lcart. 1.5. Site Web Le site Web doit permettre au groupement de paramtrer lapplication sur le serveur, de saisir les adresses et deffectuer des interrogations sur la vie des cartes. Peu de commerants disposent dinternet. La secrtaire du groupement est la principale utilisatrice du site Web. 1.6. Comptabilit La comptabilit est dcrite plus haut. Elle est effectue en fin de mois pour les transactions du premier au dernier jour du mois. Le groupement souhaite que les prlvements et les virements soient effectus automatiquement vers la banque qui dtient le compte du groupement. Travail faire Dessiner le diagramme des principaux cas dutilisation (ils peuvent regrouper logiquement plusieurs fonctionnalits que lon dtaillera).
64
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. On reprend lnonc de la gestion de la formation pour lequel on a dj construit les cas dutilisation. Travail faire Dessiner le diagramme de classes de cette application, incluant toutes les classes que lon peut dduire de lnonc, ainsi que les associations entre classes avec leurs cardinalits.
2. Gestion de la formation
3. 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.
4. 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).
5. 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.
65
(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().
6. 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.
66
Annexe
Pilote Collaborateur
position : Lieu
quantit : integer
Plat
Commande
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 :
67
68
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
<<Etend>>
<<Inclut>>
Traiter paiement <<Acteur>> Gestion des stocks
Paiement en espces
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. Application commerciale - diagramme de squence au niveau de lanalyse des besoins On reprend lnonc de lapplication commerciale pour lequel on a dj construit les cas dutilisation. Travail faire Dessiner le diagramme de squence de lacte de fidlit.
69
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.
:Bibliothcaire
:Systme
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. 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.
70
71
72
Client
0..*
< met
0..*
0..*
concerne > traite ^ < estTitulaire
1..*
possde v
1
Agence NoAgence Localisation
1 1 1..*
1..* 1 0..*
CarteBleue NoCarte < moyen Paiement
0..1
gre >
CompteDpt Autorisation
CompteEpargne Plafond
Exercice 3
73
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.
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.
74
Application serveur
Base de donnes
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 connecte ( l'aide d'un nom de login et d'un mot de passe mmoris par le serveur), un utilisateur a la possibilit de : planifier des runions virtuelles (choix d'un nom, dfinition du sujet, date de dbut et dure prvue, ordre du jour) 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 (seulement l'animateur cf. ci-dessous), entrer (virtuellement) dans une runion prcdemment ouverte (seulement les participants autoriss), 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. Plusieurs sortes de runions doivent pouvoir tre organises : 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) ;
75
runions prives, qui sont des runions standards dont l'entre est rserve un groupe de participants 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 qui joue le rle danimateur.
Ladministrateur du systme peut ajouter/supprimer des utilisateurs avec leur login et leur mot de passe.
2. Travail faire
a) Etablir le diagramme des cas dutilisation du systme. b) 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. c) Expliciter quelques cas par des diagrammes de squence : 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. Le point dentre est un acteur qui envoie un message depuis lapplication client. d) Donner les diagrammes dtats des deux classes principales du diagramme de classes initial. e) 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. Essayer dutiliser un maximum de possibilits de la notation objet UML (hritage, agrgation, ). Un dossier danalyse de lexistant devra 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.
76