Vous êtes sur la page 1sur 76

Complments danalyse et conception des systmes dinformation (ACSI)

COURS, TD, Etude de cas


Public concern : DUT Informatique 2me anne

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

Table des matires


PARTIE 1 : COURS
1. Prsentation dUML 2. Les cas dutilisation 3. Les diagrammes de classes 4. Les diagrammes dinteractions 5. Les diagrammes dtats et dactivits 6. Traduction schma de classes vers schma relationnel 7. Le processus de dveloppement objet p. 5 p. 9 p. 15 p. 23 p. 27 p. 33 p. 37

PARTIE 2 : TRAVAUX DIRIGES


1. TD cas dutilisation 2. TD diagrammes de classes 3. TD diagrammes de squences 4. TD diagrammes de modlisation de la dynamique 5. TD classes vers relationnel p. 61 p. 65 p. 69 p. 71 p. 73

PARTIE 3 : ETUDE DE CAS UML

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

TD ACSI : Cas dutilisation UML


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

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

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.

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

Le principe de la fidlit est le suivant.


1) Chaque client est possesseur dune carte de fidlit magntique valide dans tous les commerants du groupement. 2) Chaque achat donne lieu une provision de remise (Montant dachat * 5% - frais). Le commerant est dbit chaque mois des provisions accordes plus la cotisation de fonctionnement au profit dun compte dtenu par le groupement. 3) A bout du dixime achat, la somme des provisions (moins les frais) devient une remise accorde au client qui est dduite par le commerant du montant de ce dixime achat. Si la remise accorde est suprieure au montant de lachat, le commerant dbourse de sa caisse la diffrence. Le commerant est crdit du montant de la remise accorde, en fin de mois, partir du compte du groupement. 1.4 Acte de fidlit Lorsquun nouveau client arrive, le commerant donne au client une carte magntique permettant deffectuer les actes de fidlit. Le commerant demande au client de remplir une fiche sur laquelle le client donne son adresse. Le commerant complte la fiche avec le numro de la carte de fidlit. La fiche est envoye la secrtaire du groupement qui effectue la saisie des adresses. Lenregistrement dun acte dachat donnant lieu une remise au titre de la fidlit est le suivant : 1) Le commerant saisit le montant de lachat. 2) Le commerant introduit la carte de fidlit. 3) Le TPE appelle un serveur chez le prestataire informatique par le rseau tlphonique commut. 4) Le serveur reoit la demande de fidlit avec le numro du commerant, le numro de la carte et le montant. Il vrifie lexistence de la carte, du commerant et calcule le montant de la fidlit. En cas derreur un message de rejet saffiche sur le TPE. 5) 1er cas : - si le client na pas droit la remise, le serveur renvoie la provision de remise accorde,

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

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

numCB : integer position : Lieu nom : string 1 *

nbCollaborateursMax : integer nom : string position : Lieu

quantit : integer

Plat

Commande

nom : string tarif : real photo : Image

tat : EtatCommande no : integer cration : DateHeure 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 :

67

68

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.
Initialiser la caisse Responsable magasin

Caissier Traiter passage en caisse Client

<<Etend>>

Prendre en compte coupons rduction

<<Inclut>>
Traiter paiement <<Acteur>> Gestion des stocks

Paiement par chque

Paiement par carte

Paiement en espces

<<Acteur>> Centre autorisation chques

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

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

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. 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. On reprend lnonc de lapplication commerciale pour lequel on a dj construit les cas dutilisation. On dispose des informations complmentaires suivantes. En cas derreur sur la transaction (gnralement erreur sur la saisie du montant) : abandon de la transaction. En cas de carte illisible : abandon de la transaction. En cas de non-tablissement de la ligne aprs 3 tentatives : abandon de la transaction. La validation des comptes se fait aprs encaissement par le commerant grce un accus de paiement envoy au serveur. Travail faire Modliser avec un diagramme dactivits la dynamique de lacte dachat. 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 .

2. Gestion de la formation - diagramme dactivits et dtats

3. Application commerciale - diagramme dactivits

71

72

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.

Transaction NoTrans Libell Montant

Client

0..*

< met

NoClient Nom Adresse

0..*

0..*
concerne > traite ^ < estTitulaire

1..*
possde v

1
Agence NoAgence Localisation

1 1 1..*

Compte NoCompte Solde

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

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.

Application client Application client

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

Vous aimerez peut-être aussi