You are on page 1of 23

Exercice I : Diagramme de classes

La Banque:

• Chaque client possède un ou plusieurs comptes. Les comptes sont des comptes
chèques ou des comptes épargne. Un client est caractérisé par son nom, son
adresse…

• Le client peut effectuer des opérations sur ses comptes. Une opération est
caractérisée par un montant, un type (débit / crédit) et une date. Chaque compte
possède un solde (qui est déduit des opérations effectuées sur ce compte et de
l’ancien solde…). De plus les comptes chèque possède un découvert autorisé.

• Les comptes épargne donnent droit à des versements d’intérêts. Ces intérêts
sont fonction du solde du compte épargne et d’un taux d’intérêt constant de
3,5%. A l’opposé, un compte chèque peut se voir débiter des agios si son solde
est négatif. Le taux d’agios est constant (10%).
Corrigé DC Banque
Compte
Clients / ancienSolde
dateOuverture
nom appartenir
adresse
1 crediter(montant)
telephone 1..n cloturer()
getSolde()
concerner 1..1 debiter(montant)

Operations
dateOpération 0..n
montant
typeOperation
compteCheque
compteEpargne
tauxAgios = 0,1
decouvertAutorise tauxInterets = 0,035

setDecAutorise() traiterInterets()
traiterAgios()
debiterExceptionnel()
Exercice II : Diagramme des Cas d’Utilisation

La Banque :

• A la demande d’un client, un employé de banque crée un nouveau compte.


(chèque ou épargne). Si le client est nouveau, il faut d’abord l’enregistrer.

• Chaque jour, les clients peuvent venir au guichet pour réaliser des opérations
(crédit / débit). Si le débit engendre un nouveau solde inférieur au découvert
autorisé du compte, l’opération est refusée. Cependant un client peut
demander exceptionnellement au chef d’agence que ce débit exceptionnel
soit réalisé.

• S’il accepte, le chef d’agence effectue cette opération de débit exceptionnel


l’après-midi (le matin, il étudie la demande du client en consultant ses
comptes, ses opérations passées…). Ces débits exceptionnels ne peuvent
concerner que des comptes courants.
Exercice II : Diagramme des Cas d’Utilisation (suite)

La Banque :

• Un client peut aussi demander à consulter son compte en venant au


guichet de la banque.

• Tous les jeudis matin, le chef d’agence traite les agios (calcul puis
débit du montant). L’après-midi, il édite des avertissements aux clients
qui ont des comptes à découvert. Tous les mardis matin, un employé
traite les intérêts des comptes épargne (calcul puis crédit du montant).
Le dernier vendredi du mois, un employé édite les relevés de compte
des clients.

• Un client peut venir effectuer au guichet des transferts de compte à


compte. Le client n'effectue aucun traitement directement, il réalise ses
opérations bancaires par le biais des employés de la banque.
Exercice II : Diagramme des Cas d’Utilisation (corrigé)
<<include>>

débiter exceptionnel traiter agios

éditer avertissements <<include>>

chef agence <<include>>


cloturer compte debiter compte

<<include>>
<<include>>
consulter compte editer relevés

transferer <<include>>

employé <<include>>

<<include>>

employé
crediter compte triater interets

<<extend>>

créer client ouvrir compte


Exercice III : Diagramme d’objets

La Banque :

• Un relevé de compte rassemble plusieurs informations:

- Le détail du client (nom, adresse…)


- Le détail de chaque compte du client (numéro, ancien solde, solde
actuel…)
- Le détail de chaque opération effectuée sur chaque compte (montant,
type, date..)

- Représenter par un diagramme d’objets le relevé de compte du mois de


janvier du client Martin.
Exercice III : Diagramme d’objets (corrigé)

rcMartinJanvier : ReleveCompte o : Operation

martin : Client c : Compte

rcMartinJanvier : ReleveCompte

martin : Client c : Compte o : Operation


Exercice IV : Diagramme de séquence

• Réaliser le diagramme de séquence du scénario nominal de l’UC


«Traiter les intérêts ».

• Compléter le diagramme des classes précédent au vu des messages


échangés dans ce diagramme de séquence.

• Réaliser le diagramme de collaboration équivalent à ce diagramme de


séquence.
Exercice IV : Diagramme de séquence (corrigé)

opération de
classe...

: compteEpargne : Operations
employe

traiterInterets ( )

Pour tous les


comptes epargne i si := i.getSolde ( )

mInt := si * compteEpargne.getTauxInterets ( )

i.crediter (mInt)

<<new (mInt, credit) >>

Fin pour
Exercice IV : Diagramme de séquence (corrigé)

Compte
Clients / ancienSolde
ReleveComptes dateOuverture
lier nom appartenir
dateReleve
adresse
1 crediter(montant)
0..n telephone 1 1..n
imprimer() cloturer()
getSolde()
debiter(montant)
1..1
concerner

0..n
Operations
dateOpération
montant
typeOperation
compteCheque compteEpargne
New(montant, typeOperation) tauxAgios = 0,1 tauxInterets = 0,035
decouvertAutorise
traiterInterets()
setDecAutorise() getTauxInterets()
traiterAgios()
debiterExceptionnel()
Exercice IV : Diagramme de séquence (corrigé)

2: si := i.getSolde ( )
3: mInt := si * compteEpargne.getTauxInterets ( )
4: i.crediter (mInt)

1: traiterInterets ( )
employe : compteEpargne

5: <<new (mInt, credit) >>

: Operations
Exercice V : Diagramme d’états-transitions

• Réaliser le diagramme d’états-transitions de la classe « Compte ».

• Identifier d’abord les états, puis les transitions et enfin les actions.

• Modifier le diagramme de classes si nécessaire


Exercice V : Diagramme d’états-transitions (corrigé)
New (versementInit) va invoquer crediter
ouverture compte( client ) / New (versementInit) qui va lui-même invoquer
(versementInit) ^Operation.New(versementInit, credit)

ouvert

event credit( mt )/ crediter (mt)


event debit( mt )[ (getSolde ( ) - mt ) >= decouvertAutorise ]/ debiter (mt)
event debit exceptionnel( mt )[ ( getSolde( ) - mt ) < decouvertAutorise) ET compteCheque ]/ debiterExceptionnel (mt)

crediteur

getSolde ( ) < 0 ET
getSolde ( ) >= 0
compteCheque

débiteur

fermeture compte[ getSolde( ) = 0 ]


Exercice V : Diagramme de classes (corrigé)

Compte
/ ancienSolde
Clients dateOuverture
ReleveComptes decouvertAutorise = 0
lier nom appartenir
dateReleve
adresse
1 crediter(montant)
0..n telephone 1 1..n
imprimer() cloturer()
getSolde()
debiter(montant)
new(versementInit)
concerner 1..1

0..n
Operations
dateOpération
montant
typeOperation
compteCheque compteEpargne
New(montant, typeOperation) tauxInterets = 0,035
tauxAgios = 0,1

setDecAutorise() traiterInterets()
traiterAgios() getTauxInterets()
debiterExceptionnel()
Exercice VI : Diagramme d’activités

• Réaliser le diagramme d’activités de l’UC « transférer ».

• Contrairement au diagramme de séquence qui ne montre


qu’une execution possible de l ’UC (un scénario), le diagramme
d’activités montre tous les combinaisons possibles d’execution
de l’UC (y compris les cas d’erreur).
Exercice VI : Diagramme d’activités (corrigé)
employe chef d'agence client

A : Compte

demander
transfert
consulter solde
compte A

décider si dmde débit


[ (A.getSolde ( ) - mt ) < exceptionnel
[ sinon ] decouvertAutorise ET compte A cheque ]

débiter compte
A debit sur A : Operations
[créé]

crediter compte
crédit sur B : Operations
B
[créé]

transfert réussi

A : Compte
non
oui
transfert réussi

A : Compte
non
oui

consulter
compte A

refus
transfert abandonné

accord[ compte
cheque ]
débiter exceptionnel
compte A
débit exceptionnel
sur A : Operations
[créé]

crédit sur cpte B :


créditer B
Operations
[créé]
Exercice VII : Diagramme de composants

• Réaliser le diagramme de composants correspondant au diagramme de


classes précédent (chaque classe devient un composant).

• On prend le cas d’un développement en Java.


Exercice VII : Diagramme de composants (corrigé)

clients releveComptes

operations compte

compteCheque compteEpargne
Exercice VIII : Diagramme de déploiement

• Réaliser le diagramme de déploiement de l’agence bancaire en


considérant les informations suivantes:

– Chaque guichetier (ils sont 3) dispose d’un PC fonctionnant sous


Windows 2000 Professional.

– Chacun de ces PC est relié au serveur de l’agence sur lequel sont


stockés les composants du diagramme précédent. Le serveur est
relié à une puissante imprimante laser commune.

– Le chef d’agence possède un PC fonctionnant sous Windows 2000


Server. Ce PC est connecté au serveur de l’agence, au serveur du
siège départemental de la banque et à une imprimante personnelle.
Exercice VIII : Diagramme de déploiement (corrigé)

Imprimante
personnelle
<<Windows 2000 Server>>
PC Chef d'agence Imprimante laser en
réseau

Serveur siege

serveur d'agence

<<Windows 2000 Pro>>


PC guichetier

ce noeud contient tous les


composants logiciels
FIN

Cliquez ici pour revenir à la page index

You might also like