Exercises UML

Software Engineering · notes

Browse all génie logiciel documents

EXERCICES UML

1°) Dans un établissement scolaire, on désire gérer la réservation des salles de cours ainsi que

du matériel pédagogique (ordinateur portable ou/et Vidéo projecteur).

Seuls les enseignants sont habilités à effectuer des réservations (sous réserve de disponibilité

de la salle ou du matériel).

Le planning des salles peut quant à lui être consulté par tout le monde (enseignants et

étudiants).

Par contre, le récapitulatif horaire par enseignant (calculé à partir du planning des salles) ne

peut être consulté que par les enseignants.

Enfin, il existe pour chaque formation un enseignant responsable qui seul peut éditer le

récapitulatif horaire pour l’ensemble de la formation.

Modéliser cette situation par un diagramme de cas d’utilisation

Consulter planning

Utilisateur salle

Consulter récap horaire enseignant

Enseignant

Réservation

<<include>>

Vérification disponibilité

Responsable formation

Editer récap formation

Réservation salle

Réserver matériel

Réserver vidéo

Réserver portable

1

2°) Dans le cadre d’un projet de recherche en viticulture, on désire collecter les temps de

travaux sur des exploitations agricoles pilotes, pour travailler en particulier sur les opérations

phytosanitaires.

Pour ce faire, un glossaire des opérations culturales types a été mis en place (afin que tout le

monde ait le même cadre analytique).

Des contraintes assez fortes sont apparues sur le projet : les ouvriers agricoles des

exploitations pilotes n’ont pas accès aux outils informatiques et la lourdeur d’enregistrement

des temps de travaux a donc de fait écarté l’utilisation d’un outil informatique.

La procédure suivante a ainsi été définie : chaque ouvrier agricole saisit ses temps de travaux

sur un cahier au format prédéfini. (dans ce cahier, il peut consulter en annexes le glossaire

afin d’identifier l’opération culturale type).

Nb : pour les opérations de type phytosanitaire, les informations complémentaires sont

demandées : liste des maladies visées, stade phénologique, méthodes de traitements et

observation.

En fin de mois, le chef d’exploitation vérifie la saisie effectuée sur le cahier et apporte

d’éventuelles corrections.

Il saisit ensuite les opérations du mois sur une application internet connectée à une base de

données.

Le chercheur en charge du projet reçoit automatiquement un mail qui lui indique que la saisie

mensuelle a été effectuée.

Après avoir vérifié la pertinence de la saisie, il notifie au chef d’exploitation que tout s’est

bien passé et que les données intégrées dans la base de données sont valides et prêtes à être

exploitées.

Le chef d’exploitation imprime alors 2 documents sur le mois écoulé :

-

-

l’état mensuel des travaux pour chaque salarié (qui est remis à chaque salarié)

l’état des opérations phytosanitaires (état Terravitis)

En fin d’année, le chercheur analyse toutes les opérations saisies et rédige une synthèse

générale sur les temps de travaux dans les différentes exploitations.

Cette synthèse est alors transmise à tous les chefs d’exploitation.

2

Exemple d’un état mensuel :

Exemple d’impression Terravitis :

3

Saisie BDD

<<include>>

Correction éventuelle

Identification

Vérification saisie cahier

Etat terravitis

Chef exploitation

Notification saisie ok

Saisie opération

Vérification données BDD

Correction données BDD

Ouvrier Agricole

<<extend>>

Consultation du glossaire

Opération phyto

Autre opération

Chercheur

Rédaction synthèse

Analyse résultats

4

Cahier de saisie

Etat phyto

BDD

OUVRIER AGRICOLE

saisie temps de travaux

saisie temps de travaux

Fin de mois

CHEF EXPLOITATION

CHERCHEUR

Vérification

Vérification

Correction éventuelle

Correction éventuelle

Saisie

Saisie

Mail

Mail

Vérification

Vérification

Correction

Correction

Notification saisie ok

Notification saisie ok

consulter

consulter

Fiche mensuelle

Impression

Impression

Transmission

Transmission

Fin d'année

Analyse

Analyse

Rédaction

Rédaction

Synthèse

Transmission

Transmission

5

0..*

PERSONNE

-

-

-

Code personne

Nom personne

Prénom personne

: int

: varchar(50)

: varchar(50)

1..1

1..1

+ Editer relevé mensuel ()

: int

Fonction personne

-

-

Code fonction

Libellé fonction

: varchar(5)

: varchar(50)

Advertisement

1..*

1..1

Exploitation

-

-

Code exploitation

Nom exploitation

: varchar(5)

: varchar(50)

+ Editer état terravitis ()

: int

1..*

PARCELLES

-

-

Code parcelle

Nom parcelle

: varchar(5)

: varchar(50)

0..*

0..*

Intervention

-

-

-

No intervention

Date intervention

Nb heures

: number

: date

: number

+ Editer fiche intervention ()

: int

0..*

1..1

0..*

MALADIES

-

-

Code maladie

Libellé maladie

: varchar(5)

: varchar(50)

0..*

0..*

Intervention phyto

  • Observation phyto : text

0..*

1..1

1..1

OPERATION

-

-

Code opération

Libellé opération

: varchar(5)

: varchar(50)

STADE PHENOLOGIQUE

-

-

Code stade

Libellé stade

: varchar(5)

: varchar(50)

6

3°) Dans un magasin, le processus de vente est le suivant : le client entre, passe dans les

rayons, demande éventuellement des renseignements ou procède à des essais, prend des

articles (si le stock est suffisant), passe à la caisse où il règle ses achats (avec tout moyen de

paiement accepté). Il peut éventuellement bénéficier d’une réduction.

Modéliser cette situation par un diagramme de cas d’utilisation

Prospecter

<<extend>>

Renseigner

<<extend>>

<<extend>>

Essayer

Vendeur

Vérification stock

Client

<<include>>

Acheter

<<include>>

Payer

<<extend>>

Caisse

Bénéficier réduction

Payer CB

Groupement des banques

Payer chèque

Payer liquide

7

4°) On considère le système suivant de gestion d’un DAB (Distributeur automatique de

billets) :

-

le distributeur délivre de l’argent à tout porteur de carte (carte Visa ou carte de la

banque)

  • pour les clients de la banque, il permet :

o

o

la consultation du solde du compte

le dépôt d’argent (chèque ou numéraire)

toute transaction est sécurisée et nécessite par conséquent une authentification

-

  • dans le cas où une carte est avalée par le distributeur, un opérateur de maintenance se

charge de la récupérer. C’est la même personne qui collecte également les dépôts

d’argent et qui recharge le distributeur.

-

Modéliser cette situation par un diagramme de cas d’utilisation

Porteur de visa

Retirer argent avec visa

<<include>>

<<include>>

<<include>>

Retirer argent

SI gestion CB

S'authentifier

Consulter solde

<<include>>

SI banque

Client banque

Déposer argent

Déposer numéraire

Recharger DAB

Déposer chèques

Opératuer maintenance

Récupérer cartes avalées

Récupérer chèque

8

5°) Dans un magasin, un commerçant dispose d’un système de gestion de son stock d’articles,

dont les fonctionnalités sont les suivantes :

  • Edition de la fiche d’un fournisseur
  • Possibilité d’ajouter un nouvel article (dans ce cas, la fiche fournisseur est

automatiquement éditée. Si le fournisseur n’existe pas, on peut alors le créer)

  • Edition de l’inventaire. Depuis cet écran, on a le choix d’imprimer l’inventaire,

d’effacer un article ou d’éditer la fiche d’un article).

Modéliser cette situation par un diagramme de cas d’utilisation

Impression inventaire

<<extend>>

Affichage inventaire

<<extend>>

Effacement article

<<extend>>

Edition article

Advertisement

Commerçant

Edition fournisseur

<<extend>>

<<include>>

Ajouter article

<<extend>>

Ajout fournisseur

9

6°) Le déroulement normal d’utilisation d’une caisse de supermarché est le suivant :

• un client arrive à la caisse avec ses articles à payer

le caissier enregistre le numéro d’identification de chaque article, ainsi que la quantité

si elle est supérieure à 1

la caisse affiche le prix de chaque article et son libellé

lorsque tous les achats sont enregistrés, le caissier signale la fin de la vente

la caisse affiche le total des achats

le caissier annonce au client le montant total à payer

le client choisit son mode de paiement

o

liquide : le caissier encaisse l’argent, la caisse indique le montant à rendre au

client

o chèque : le caissier note le numéro de pièce d’identité du client

o carte de crédit : la demande d’autorisation est envoyée avant la saisie

la caisse enregistre la vente et l’imprime

le caissier donne le ticket de caisse au client

Modéliser cette situation à l’aide d’un diagramme de séquence en ne prenant en compte que

le cas du paiement en liquide.

Caissier

Caisse

dépôt articles

Client

Pour

chaque

article

Saisie article (no et quantité)

Prix et description

Prix et description

Fin de vente

Total

Total

Total à payer

Liquide

Saisie montant

A rendre

A rendre

Ticket

Monnaie

Ticket

10

7°) Le déroulement normal d’utilisation d’un distributeur automatique de billets est le

suivant :

• si le code est correct, elle envoie une demande d’autorisation de prélèvement au

le client introduit sa carte bancaire

la machine vérifie alors la validité de la carte et demande le code au client

groupement de banques. Ce dernier renvoie le solde autorisé à prélever.

le distributeur propose alors plusieurs montants à prélever

le client saisit le montant à retirer

• après contrôle du montant par rapport au solde autorisé, le distributeur demande au

client s’il désire un ticket

• Après la réponse du client, la carte est éjectée et récupérée par le client

les billets sont alors délivrés (ainsi que le ticket)

le client récupère enfin les billets et son ticket

Modéliser cette situation à l’aide d’un diagramme de séquence en ne prenant en compte que

le cas où tout se passe bien. NB : on identifiera les scénarios qui peuvent poser problème en

incluant des commentaires dans le diagramme

DAB

Porteur de carte

Groupement de banques

Introduction carte

Demande code

Entrée valeur code

Demande montant retrait

Entrée valeur retrait

demande ticket

ok

Ejection carte

récupération carte

Ejection billet et ticket

récpération billets et tickets

Voir cas

carte non

valide

Vérification carte

Voir cas

code erroné

Vérification code

Demande autorisation

Autorisation solde

contrôle montant demandé

Voir cas

monté

demandé >

solde

Voir cas

ticket refusé

Voir cas

carte non

rendue

Voir cas

billets non

repris

11

8°) On souhaite gérer les différents objets qui concourent à l’activité d’un magasin de vente

de fleurs.

• Le client demande au vendeur des renseignements des renseignements sur les

compositions florales

• Le vendeur lui fournit toutes les informations nécessaires

• Le client commande alors la composition de son choix et le vendeur émet le bon de

fabrication qu’il transmet à son ouvrier fleuriste.

• Le vendeur édite ensuite la facture correspondante.

• L’ouvrier fleuriste crée la composition puis archive le bon de fabrication

• La facture est remise au client pour règlement une fois le bouquet réalisé

• Une fois la facture réglée, le client récupère sa composition et quitte le magasin.

Il remet alors la composition au vendeur

Modéliser cette situation à l’aide d’un diagramme de séquence et d’un diagramme de

collaboration.

Client

Vendeur

Demande renseignements

Fournir informations

Commande

Ouvrier

Créer

Bon de fabrication

Transmettre

Editer facture

Impression facture

Facture

Advertisement

Composition

Créer

Archivage

livrer

remettre facture

régler

remettre bouquet

12

facture

1 : Demande renseignements

6 : Editer

7 : Imprimer

4 : créer

Bon de fabrication

2 : Fournir informations

3 : Commande

11 : remettre bouquet

12 : remettre facture

Client

13 : régler facture

Vendeur

5 : Transmettre

9 : Archiver

10 : Livrer

Composition

8 : créer

Ouvri er

13

9°) Soient les phrases suivantes :

• Un répertoire contient des fichiers

• Une pièce contient des murs

• Les modems et claviers sont des périphériques d’entrée / sortie

• Une transaction boursière est un achat ou une vente

• Un compte bancaire peut appartenir à une personne physique ou morale

Elaborez les diagrammes de classe correspondants en choisissant le type de relation

approprié

Répertoire

1..1

Contenir

0..*

Fichier

Pièce

1..*

composer

1..*

Mur

Périphérique

Transaction boursière

Modem

Clavier

Achat

Vente

Compte bancaire

Appartenir

1..1

Client

1..*

Personne morale

Personne physique

NB : Pour le compte bancaire, on aurait également pu modéliser 2 associations entre « compte

bancaire » et « personne physique » et « personne morale » en y incluant une contrainte

d’exclusion.

14

10°) Une académie souhaite gérer les cours dispensés dans plusieurs collèges. Pour cela, on

dispose des renseignements suivants :

• Chaque collège possède d’un site Internet

• Chaque collège est structuré en départements, qui regroupent chacun des enseignants

spécifiques. Parmi ces enseignants, l’un d’eux est responsable du département.

• Un enseignant se définit par son nom, prénom, tél, mail, date de prise de fonction et

son indice.

• Chaque enseignant ne dispense qu’une seule matière.

• Les étudiants suivent quant à eux plusieurs matières et reçoivent une note pour

chacune d’elle.

• Pour chaque étudiant, on veut gérer son nom, prénom, tél, mail, ainsi que son année

d’entrée au collège.

• Une matière peut être enseignée par plusieurs enseignants mais a toujours lieu dans la

même salle de cours (chacune ayant un nombre de places déterminé).

• On désire pouvoir calculer la moyenne par matière ainsi que par département

• On veut également calculer la moyenne générale d’un élève et pouvoir afficher les

matières dans lesquelles il n’a pas été noté

• Enfin, on doit pouvoir imprimer la fiche signalétique (, prénom, tél, mail) d’un

enseignant ou d’un élève.

Elaborez le diagramme de classes correspondant. Pour simplifier l’exercice, on limitera le

diagramme à une seule année d’étude

DEPARTEMENT

code département

nom

1..*

+ Calculer moyenne ()

: void

Constituer

1..1

0..1

1..1

COLLEGE

code college

nom

adresse site

PERSONNE

No personne

Nom

prénom

tel

mail

Appartenir

+ Afficher fiche signalétique ()

: void

Etre chef de

1..1

1..*

ENSEIGNANT

date prise de fonction

Indice

1..*

1..*

Enseigner

1..1

COURS

No cours

libellé cours

+ Calculer moyenne ()

: void

0..*

Dérouler

1..1

SALLE

No salle

nom

capacité

ETUDIANT

Année entrée

+

+

Calculer moyenne ()

Afficher mat sans note ()

: void

: void

0..*

Suivre

NOTE

Note contrôle

15

Advertisement

11°) On souhaite gérer les réservations de vols effectués dans une agence. D’après les

interviews réalisées avec les membres de l’agence, on sait que :

• Les compagnies aériennes proposent différents vols

• Un vol est ouvert à la réservation et refermé sur ordre de la compagnie

• Un client peut réserver un ou plusieurs vols, pour des passagers différents

• Une réservation concerne un seul vol et un seul passager

• Une réservation peut être confirmée ou annulée

• Un vol a un aéroport de départ et un aéroport d’arrivée

• Un vol a un jour et une heure de départ, et un jour et une heure d’arrivée

• Un vol peut comporter des escales dans un ou plusieurs aéroport(s)

• Une escale a une heure de départ et une heure d’arrivée

• Chaque aéroport dessert une ou plusieurs villes

A partir des éléments qui vous sont fournis ci-dessus, élaborez le diagramme de classes

(en y ajoutant tout attribut que vous jugez pertinent et qui n’a pas été décrit ci-dessus).

16

Compagnie aérienne

+

+

Code cie

Nom cie

: char

: char

1..1

Gérer

1..*

0..*

0..*

0..*

Vol générique

+

+

+

+

no vol générique

jour

heure depart

heure arrivee

: int

: date

: date

: date

+ Calculer durée ()

: void

1..1

décrire

0..*

Vol

+

+

+

No vol

date depart

date arrivée

: int

: date

: date

concerner

1..1

départ

Aeroport

+

+

No aeroport

Nom aeroport

: int

: char

0..*

concerne

escale

1..1

arrivée

0..*

1..1

Concerne

0..*

desert

ESCALE

+

+

+

heure départ

heure arrivée

no escale

: Date

: date

: int

+ calculer durée ()

: void

1..*

Ville

+

+

no ville

Nom ville

: int

: charhar

Effectuer

0..*

+

+

Numéro

Date

: long

: Date

0..*

Concerne

Réservation

individu

+

+

+

+

+

+

No individu

Nom

prénom

Adresse

code postal

Ville

: long

: char

: char

: char

: char

: char

1..1

1..1

passager

Client

+

+

Code passager

nb points

: int

: int

+ Code client

: char

17