Académique Documents
Professionnel Documents
Culture Documents
Objet
Public cible: GINF1
A.U 2023-2024
Salma KSIBI
Docteur Ingénieur en Informatique
© S. Ksibi - COO 2023-2024
Plan du cours
Chapitre 1 : Méthodologies de conception
© S. Ksibi - COO
Chapitre 6 : Diagramme d’état-transition
2022-2023 2
Méthodologies
de conception
Chapitre 1
Les problèmes
© S. Ksibiliés
- COOà l'informatique
2022-2023 sont essentiellement des problèmes de logiciel. 4
Introduction
Le logiciel :
• Un logiciel ou une application est un ensemble de programmes, qui permet à un
ordinateur ou à un système informatique d'assurer une tâche ou une fonction en
particulier (exemple : logiciel de comptabilité, logiciel de gestion des prêts).
• Les logiciels, suivant leurs tailles, peuvent être développés par une seule personne,
une petite équipe, ou un ensemble d'équipes coordonnées.
• Le développement de grands logiciels par de grandes équipes pose d'importants
problèmes de conception et de coordination.
• Or, le développement d'un logiciel est une phase absolument cruciale qui
monopolise l'essentiel du coût d'un produit et conditionne sa réussite et sa
pérennité!
La crise du logiciel :
Selon cette étude:
Les logiciels n'étaient pas l'augmentation des coûts ;
• fiables,
les difficultés
Il était incroyablement• difficile de maintenance
de réaliser et d'évolution
dans les délais prévus des; logiciels
la charges.
satisfaisant leurs cahiers• des non-fiabilité ;
• le non-respect des spécifications ;
• lelanon-respect
Le taux de succès décroît avec des délais.
taille des projets et la taille des entreprises.
Le génie logiciel:
s'intéresse à la manière dont le code source d'un logiciel est spécifié puis
produit
vise à optimiser le coût et le délai de développement du logiciel
Poids de la maintenance
(Zeltovitz, De Marco)
10
© S. Ksibi - COO 2022-2023
Introduction
Cycle de Vie
• La qualité du processus de fabrication est garante de la qualité du produit.
• Pour obtenir un logiciel de qualité, il faut en maîtriser le processus d'élaboration.
• La vie d'un logiciel est composée de différentes étapes.
• La succession de ces étapes forme le cycle de vie du logiciel.
• Il faut contrôler la succession de ces différentes étapes.
11
© S. Ksibi - COO 2022-2023
Introduction
Cycle de Vie
• L’étude préalable
• L'analyse du besoin,
• La conception (Déterminer la façon dont le
logiciel fournit les différentes fonctionnalités
recherchées.)
• Le codage (l’implémentation),
• Test et validation (intégration),
• La maintenance
Pourquoi modéliser ?
• Modéliser un système avant sa réalisation permet de mieux comprendre le fonctionnement du
système. C'est également un bon moyen de maîtriser sa complexité et d'assurer sa cohérence.
• Un modèle est un langage commun, précis, qui est connu par tous les membres de l'équipe et il
est donc un vecteur privilégié pour communiquer. Cette communication est essentielle pour
aboutir à une compréhension commune aux différentes parties prenantes (notamment entre la
maîtrise d'ouvrage et la maîtrise d'œuvre informatique) et précise d'un problème donné.
• Dans le domaine de l'ingénierie du logiciel, le modèle permet de mieux répartir les tâches et
d'automatiser certaines d'entre elles. C'est également un facteur de réduction des coûts et des
délais.
• Le modèle est enfin indispensable pour assurer un bon niveau de qualité et une maintenance
efficace. En effet, une fois mise en production, l'application va devoir être maintenue,
probablement par une autre équipe et, qui plus est, pas nécessairement de la même société que
celle ayant créé l'application.
• Le choix du modèle a donc une influence capitale sur les solutions obtenues.
© S. Ksibi - COO 2022-2023 15
Méthodes d'analyse et de conception
Les méthodes d'analyse et de conception fournissent une méthodologie et des notations standards qui
aident à concevoir des logiciels de qualité. Il existe différentes manières pour classer ces méthodes, dont :
• La distinction entre composition et décomposition :
• Elle met en opposition d'une part les méthodes ascendantes qui consistent à construire un logiciel par
composition à partir de modules existants et, d'autre part, les méthodes descendantes qui décomposent
récursivement le système jusqu'à arriver à des modules programmables simplement ;
• La distinction entre méthode fonctionnelle (dirigée par le traitement) et méthode orientée objet :
• Dans la stratégie fonctionnelle (également qualifiée de structurée) un système est vu comme un ensemble
hiérarchique d'unités en interaction, ayant chacune une fonction clairement définie. Les fonctions disposent
d'un état local, mais le système a un état partagé, qui est centralisé et accessible par l'ensemble des fonctions.
• Les stratégies orientées objet considèrent qu'un système est un ensemble d'objets interagissant. Chaque objet
dispose d'un ensemble d'attributs décrivant son état et l'état du système est décrit par l'état de l'ensemble.
◗Les méthodes fonctionnelles (70): reposer sur une décomposition des fonctions en sous
fonctions.
Ex : SADT, YOURDON.
◗Les méthodes systémiques(80): modéliser le système selon deux points de vue
complémentaires : la modélisation des données et la modélisation des traitements.
Ex : MERISE, AXIAL, Information Engineering, SSADM, REMORA.
◗Les méthodes orientées objets (90): décrire une grande partie de la dynamique du système
d’information comme un ensemble d’opérations attachées aux objets composant ce système.
Ex : OMT, OOM, HOOD.
• Sur la figure, les données du problème sont représentées sur la gauche. Des flèches transversales
matérialisent la manipulation de ces données par des sous-fonctions. 21
PROGRAMME PROGRAMME
• L'identité : l'objet possède une identité, qui permet de le distinguer des autres objets,
indépendamment de son état. On construit généralement cette identité grâce à un
identifiant découlant naturellement du problème (par exemple un produit pourra être
repéré par un code, une voiture par un numéro de série, etc.) ;
• Les attributs: il s'agit des données caractérisant l'objet. Ce sont des variables stockant des
informations sur l'état de l'objet ;
• Les méthodes: les méthodes d'un objet caractérisent son comportement, c'est-à-dire
l'ensemble des actions (appelées opérations) que l'objet est à même de réaliser. Ces
opérations permettent de faire réagir l'objet aux sollicitations extérieures (ou d'agir sur les
autres objets). De plus, les opérations sont étroitement liées aux attributs, car leurs actions
peuvent dépendre des valeurs des attributs, ou bien les modifier.
© S. Ksibi - COO 2022-2023 24
De la programmation structurée à l'approche
orientée objet
Chapitre 2
◗UML (Unified Modeling Language), que l'on peut traduire par "langage de modélisation
unifié" : est une notation permettant de modéliser un système de façon standard.
◗Ce langage est né de la fusion de plusieurs méthodes existantes auparavant, et est devenu
la référence en terme de modélisation objet.
◗UML peut être associé à toute démarche de conception de SI : à n’importe quelle étape de
la démarche et avec différents environnements de programmation.
◗Ce n’est pas une méthode de conception mais un langage de modélisation.
◗Couvre le cycle de développement du logiciel de la spécification des besoins à
l’implémentation.
◗Est un support de communication. 29
© S. Ksibi - COO 2022-2023
Evolution d’ UML
UML0.9 (1996)
+HOOD, OOD
© S. Ksibi - COO 2022-2023
Axes de modélisation d’UML
Statique Fonctionnel
• diagramme de classes
• diagramme d’objets • diagramme de cas d’utilisation
• diagramme de composants
• diagramme de déploiement
Dynamique
• diagramme de séquence
• diagramme de collaboration
• diagramme d’états-transitions
© S. Ksibi - COO 2022-2023 31
• diagramme d’activités
Axes de modélisation
• Les entités du monde réel sont représentées à l’aide d’un concept unique:
L ’OBJET.
• Tout objet est défini conforment à un TYPE ABSTRAIT.
35
APPLICATIONS CLASSIQUES :
DUALITE DONNEES – TRAITEMENTS
APPROCHEOBJETS,
OBJETTYPES,
: CLASSES • ETAT : Ensemble de valeurs d ’attributs = contenu
APPLICATION = ENSEMBLE D’OBJETS informationnel.
AYANT UN COMPORTEMENT ET
ECHANGEANT DES MESSAGES • IDENTIFIANT : Identifie de manière unique un
objet et n ’est ni modifiable ni réutilisable (interne
au système).
ABSTRAIT
CONCRET • COMPORTEMENT: Différents messages auxquels
OBJET ETAT l ’objet peut réagir.
IDENTITE
COMPORTEMEN
T 36
Chapitre 3
37
Acteur
Retirer Argent
Cas d'utilisation
Client
Consulter Compte
Associations 40
Gérer Article
Reponsable Stock
Définitions:
◗ Les cas d’utilisation décrivent, sous la forme d’actions et de réactions, le comportement d’un
système du point de vue d’un utilisateur.
◗ Un cas d’utilisation est une manière spécifique d’utiliser un système. C’est l’image d’une
fonctionnalité du système, déclenchée en réponse à la stimulation d’un acteur.
◗ Un cas d’utilisation est une unité cohérente représentant une fonctionnalité visible de
l’extérieur. Il modélise donc un service rendu par le système avec un déclenchement, un
déroulement et une fin, pour l’acteur qui l’initie.
© S. Ksibi - COO 2022-2023 42
Cas d’utilisation
◗ Couvrir l’ensemble des fonctions à réaliser afin d’atteindre les objectifs visés.
◗Objectif et interaction ?
◗ Objectifs des utilisateurs : ce que les utilisateurs attendent du système
◗ Interactions avec le système : les mécanismes permettant de satisfaire ces objectifs.
◗Exemple : développement d’un outil de traitement de texte
◗ Objectif : définir un style du document
◗ Interactions : choisir les polices, choisir les tailles, choisir la mise en page, etc.
• Il s’agit donc de définir les objectifs, puis déterminer les interactions pour
atteindre les objectifs.
Représentation graphique :
Nom du cas
d'utilisation
Exemple :
Gérer Stock
• Définition
◗L’acteur représente un rôle joué par une entité externe (personne ou
autre) qui interagit directement avec le système étudié et ce pour
échanger des informations ou changer l’état du système.
◗En réponse à l'action d'un acteur, le système fournit un service qui
correspond à son besoin.
◗L’acteur a un nom, qui le définit, ou qui précise son rôle dans la
transaction décrite.
nom acteur
Principal : utilise les fonctionnalités principales du système. Le cas d’utilisation rend ainsi un service
à cet acteur.
Secondaire : effectue des tâches administratives ou de maintenance ou bien il est sollicité pour des
informations complémentaires.
Matériel externe : autres que les machines où s’exécutent l’application, faisant partie du domaine
de l’application et nécessaire au fonctionnement du système.
Autres systèmes : avec qui le système doit interagir.
Remarque:
◗Un cas d’utilisation a au plus un acteur principal, et un ensemble – éventuellement zéro – d’acteurs
secondaires.
◗Les acteurs secondaires sont généralement placés à droite des cas d’utilisation
© S. Ksibi - COO 2022-2023 48
Acteur
Exemple d'acteurs
Accès à un
batiment
Gérer les
Personne groupes des
personnes
Administrateur
Exemple d'acteurs
Retrait
Argent
Consulter
Guichetier compte
Système central
• Association
◗L’association est une relation entre un acteur et un cas d’utilisation.
◗Un acteur déclenche un cas d’utilisation
• Représentation graphique
Nom acteur
• Exemple
Retrait Agent
Guichetier
• Relation d’inclusion
◗La relation d’inclusion est définie entre cas d’utilisation.
◗Elleindique qu’une instance du CU source contient aussi le comportement décrit par le CU
destination.
◗Elle a un caractère obligatoire.
◗Elle permet de :
Décomposer les comportements
Définir des comportements partageables entre plusieurs CU
Représentation graphique
<<include>>
C a s d 'u t ilisa t io n 1 cas d'utilisation2
Exemple:
<<include>>
Virement Authentification
Personne
• Relation d’extension
◗La relation d’extension définie entre cas d’utilisation indique qu’une instance du CU
source ajoute son comportement au CU destination.
◗Le comportement ajouté est inséré au niveau d’un point d’extension et il est défini dans
le CU destination.
◗La relation d’extension permet de modéliser des variantes de comportement d’un CU selon
les interactions des acteurs et l’environnement du système.
◗Une condition d’extension peut être spécifiée
Représentation graphique
[Condition]
C a s d 'u t ilisa t io n 1 cas d'utilisation2
<<extends>>
Exemple
[ s i M on t an t > 5 0 0 ]
CU général Emprunter
Chercher des
Visiteur
ouvrages
Gérer son
panier
Client
Effectuer une
commande
librairie en ligne
Créer un
Visiteur compte Client
Chercher des
ouvrages
Effectuer une
commande
Client
62
Effectuer une
recherche rapide
Créer un
Visiteur compte Client
2. Certains clients demandent à l’agent de voyages d’établir une facture détaillée. Cela donne lieu à un
nouveau cas d’utilisation appelé « Etablir une facture détaillée ». Comment mettre ce cas en relation
avec les cas existants ?
3. Le voyage se fait soit par avion, soit par train. Comment modéliser cela ?
© S. Ksibi - COO 2022-2023 65
Description textuelle d’un CU
◗À chaque cas d’utilisation doit être associée une description textuelle des
interactions entre les acteurs et le système et les actions que le système doit réaliser en
vue de produire les résultats attendus par les acteurs.
◗Un scénario représente une succession particulière d’enchaînements, s’exécutant du
début à la fin du cas d’utilisation. Un enchaînement étant l’unité de description de
séquences d’actions.
◗Un cas d’utilisation contient en général un scénario nominal et plusieurs scénarios
alternatifs (qui se terminent de façon normale) ou d’erreur (qui se terminent en échec).
Nominal :
Alternatifs : D’erreur :
Description textuelle d’un CU
◗Le rôle des scénarios dans les diagrammes de CU est de détailler davantage les
interactions Utilisateur/Système et de préparer les diagrammes suivants (collaboration
/ séquence) et ce afin de passer progressivement vers l’implémentation
<<extends>>
emprunter une casette rechercher une cassette
Scénario nominal :
1.le système vérifie la validité de la carte.
2.Le système vérifie que le crédit de la carte est supérieur ou égal à 1 dinar.
3.Appel du cas « rechercher une cassette»
4.Le client choisit une cassette vidéo
5.Le système, indique d’après la valeur de la carte, pendant combien de temps le client peut
garder la cassette.
6.Le système délivre la cassette
7.Le client prend la cassette
8.Le système rend la carte au client
9.Le client prend sa carte
© S. Ksibi - COO 2022-2023 71
Description textuelle d’un CU
Scénario alternatif :
A1. Le crédit de la carte est inférieur à 1 dinar
l’enchainement démarre après le point 2 de la séquence nominale:
2.1. Le système indique que le crédit de la carte ne permet pas au client
d’emprunter une vidéo.
2.2. Le système invite le client à aller recharger sa carte au magasin
La sequence nominale reprend au point 8
Scénarios d ’exceptions :
E1. La carte introduite n’est pas valide
L’enchaînement démarre après le point 1 de la séquence nominale:
1.1.Le système indique que la carte n’est pas reconnue
1.2 Le distributeur éjecte la carte
© S. Ksibi - COO 2022-2023 72
Description textuelle d’un CU
Scénarios d ’exceptions (suite):
E2. La cassette n’est pas reprise par le client
L’enchainement démarre après le point 6 de la séquence nominale:
6.1.Au bout de 15 secondes, le système avale la cassette
6.2Le système annule la transaction
6.3Le distributeur éjecte la carte
E3. La carte n’est pas prise par le client
L’enchainement démarre après le point 8 de la séquence nominale:
8.1.Au bout de 15 secondes, le système avale la carte
8.2. Le système consigne cette erreur
E4. Le client a annulé la recherche (il n’a pas choisi de vidéo)
L’enchainement démarre après le point 4 de la séquence nominale:
4.1. Le distributeur éjecte la carte 73
© S. Ksibi - COO 2022-2023
Diagramme
des classes
Chapitre 4
74
+MAJClt()
76
◗Les caractéristiques d'un objet permettent de spécifier son état et son comportement.
◗Une propriété d’une classe constitue un élément de l’état de l’objet: c’est un attribut qui décrit
l'état d'un objet.
◗Une opération (ou méthode) représente un service spécifique offert par un objet: C’est une
fonction qui peut prendre des valeurs en entrée et modifier les attributs ou produire des
résultats
• Exemple
◗Une commande est définie par un numéro et une date.
◗Un client est caractérisé par un numéro, un nom, un prénom et un type.
◗Pour chaque produit on doit connaître son code, sa désignation et son prix
• Une classe est un classeur. Elle est représentée par un rectangle divisé
généralement en trois compartiments.
• Le premier indique le nom de la classe, le deuxième ses attributs et le
troisième ses opérations.
78
© S. Ksibi - COO 2022-2023
Exemples de Classes
◗Multiplicité : exprime le nombre d’instances de l’attribut et elle est présentée sous forme
d’intervalle ou d’un nombre.
◗Le type des attributs peut être :
◗un type primitif : entier, chaîne,…
◗une classe : un type utilisateur
+longueur
© S. Ksibi - COO 2022-2023 +largeur 81
+ /surface
+surface()
Opération de classe
◗Visibilité : +, -, #
◗Arguments : direction nom_argument : type argument [=valeur par défaut]
◗Direction :
◗IN:argument est un paramètre en entrée seule; non modifiable par l’exécution de cette
opération
◗OUT : argument est un paramètre en sortie seule; l’appelant peut récupérer les informations
◗INOUT : argument est en un paramètre en entée-sortie; passe à l’opération et modifiable
Produit
Client
◗Exemple: +numClient
+codeProduit
+desProduit
+nomClient
+typeProduit
+prenomClient
+typeClient +MAJ_Produit()
+MAJ_Client()
Commande
© S. Ksibi - COO 2022-2023 +numCommande 83
+dateCommande
+calculTotal()
Opération de classe
◗Propriété :
◗Requête : l’opération ne modifie pas les attributs ;
◗Abstrait : l’opération n’est pas implémentée dans la classe ;
◗Est-feuille : l’opération ne peut pas être redéfinie ;
◗Est-racine : l’opération est définie pour la première fois dans la hiérarchie ;
◗Récursive : l’opération est récursive ;
Association
◗Une association est une relation entre deux classes (association binaire) ou plus
(association n-aire), qui décrit les connexions structurelles entre leurs instances.
◗Une association indique donc qu'il peut y avoir des liens entre des instances des
classes associées.
◗Les relations possibles entre classes sont :
◗Association
◗Agrégation
◗Composition
◗Héritage
Association
◗Une association lie une ou plusieurs classes : arité 1 ou plus.
◗Une association peut être :
◗binaire
◗n-aires
• Une association binaire est matérialisée par un trait plein entre les classes
associées. Elle peut être ornée d'un nom, avec éventuellement une précision
du sens de lecture ( ou ).
Association:Relation n-aires
• Une association n-aire lie plus de deux classes.
• On représente une association n-aire par un grand losange avec un chemin
partant vers chaque classe.
• Le nom de l'association, le cas échéant, apparaît à proximité du losange.
Enseignant Etudiant
Enseigner
• Association en forme verbale passive Personne Est employé par > Société
Personne Est employé par Société
89
• Notion de rôle
•L’extrémité d’une association peut avoir un nom, appelé rôle, qui décrit comment une classe
source voit une classe destination au travers de l’association.
Exemples:
91
Relations entre classes
• Relation réflexive
•Une relation réflexive est une relation qui relie une classe à elle-même (les
deux extrémités de l'association pointent vers la même classe)
Est parent
+Rôle2
+enfant
CLASSE
+Rôle1 Personne +parent
• Cardinalités
◗1 : une occurrence de la classe participe au moins et au plus une fois .
◗0..1 : une occurrence de la classe peut exister sans pour autant participer à la
relation (0) et ne participe jamais plus d’une fois (1).
◗* ou N: une occurrence de la classe peut participer plusieurs fois
◗0..* : une occurrence de la classe peut exister sans pour autant participer à la
relation(0) et peut participer sans limitation (n ou *).
◗1..* : une occurrence de la classe participe au moins une fois (1) et peut participer
sans limitation (*)
◗M .. N : une occurrence de la classe participe au moins M et au max N
• Exemples:
Entreprise fournir Servcie
* 1..*
Enseignant
1..*
0..* 1..*
Salle Groupe
• Attributs de lien
• Représentent les associations porteuses de données
Examen
Etudiant
1..* Passer 0..*
Note
0..* 1..*
Contrat
• Exemple:
• Proposer le diagramme de classes modélisant les spécifications suivantes:
◗Une commande est passée par un seul client et concerne un ou plusieurs produits.
◗Un client passe une ou plusieurs commandes.
◗Un produit peut être commandé par plusieurs commandes.
◗Pour chaque produit commandé on doit connaître la quantité commandée.
Qté_Cdée
Relative +Annuler()
+Confirmer()
◗Solution:
concerne
Vol
+Départ Aéroport
+Etat 1
Compagnie +Assure Propose 0..*
Dessert Ville
(Fermé,Ouvert) 0..* 1
+Arrivée
1..* 1..* +DateDepart 0..* 1..*
Escale 0..*
+HeureDepart
+DateArrivée
+HeureArrivée
Escale
+HeureDepart
+HeureArrivée
• L’agrégation
◗L’agrégationest une forme particulière d’association qui exprime un
couplage plus fort entre classes.
◗Association destinée à construire des objets complexes (composés) à
partir d’objets simples (composants).
◗Agrégation faible : dont la destruction du composé n’entraîne pas la
destruction des composants : les classes sont autonomes.
• Formalisme:
• Exemple:
© S. Ksibi - COO 2022-2023 103
Relations entre classes
• La composition
◗La composition est une relation d’agrégation dans laquelle il existe une
contrainte de durée de vie entre la classe « composé » et la classe «
composant ». Autrement dit la suppression de la classe « composé »
entraine la suppression de la ou des classes «composant ».
◗C’est une agrégation forte.
+composés
Section
Document Chapitre
• Exemple: Figure
• La généralisation
◗La généralisation est la relation entre une classe (superclasse ou
classe-mère) et d’autres classes (sous-classes ou classes-filles) partageant
un sous-ensemble commun d’attributs et/ou d’opérations.
◗La généralisation est un processus de modélisation permettant de
rassembler dans une même classe toutes les propriétés et les méthodes
communes, vis à vis d’autres classes spécialisées regroupant chacune des
propriétés propres à un sous-ensemble d’occurrences de la classe
générique.
© S. Ksibi - COO 2022-2023 106
Relations entre classes
Super_classe
Sous_classe1 Sous_classe2
• Exemple
Matériel
Bateau
Application
Il est demandé de représenter le diagramme de classes d’une gestion technique de
documents.
Chaque document est composé d’un ou plusieurs feuillets. Un feuillet comporte du
texte et des objets géométriques supportant des opérations de type : sélectionner,
copier, couper, coller et déplacer.
Nous considérons les quatre objets géométriques suivants : cercle, ellipse, carré,
rectangle.
Ilest demandé d’utiliser les propriétés de la généralisation et la spécialisation afin de
représenter au mieux ces objets géométriques.
• Corrigé: Document
1..*
Feuillet
0..* 0..*
Text Objet géométrique
copier()
sélectionner()
couper()
coller()
déplacer()
• Ordre de tri
•Pour une association de multiplicité supérieure à 1, les liens peuvent être :
◗non ordonnés (valeur par défaut),
◗ordonnés ou triés lorsque l’on est au niveau de l’implémentation (tri sur une valeur interne).
◗Exemple :
• Sous-ensemble
•Cette contrainte permet d’exprimer que l’ensemble des occurrences d’une relation est
inclus dans l’ensemble des occurrences d’une autre, vis à vis des objets communs.
• Exemple
• Ou-exclusif
•Indique pour un objet donné qu’une seule association est valide.
• Exemple:
Batterie
Portable
Ou-exclusif
Secteur
Véhicule
{chevauchement}
A voile Terrestre Marin
A moteur
Bateau
Enseignant
{Disjoint}
Vacataire Permanant
{incomplet}
Vacataire Permanant
• On peut trouver d’autres instances de la classe Enseignant qui ne sont ni Vacataire ni Permanent
ni Professeur d’enseignement supérieur :
• Instance(Vacataire) U Instance(Permanent) inclus Instance(Enseignant) 119
{complet}
Vacataire Permanant
La qualification :
◗Elle permet de sélectionner un sous-ensemble d'objets, parmi ceux
participant à une association.
◗Elle est définie par un qualificatif, qui est utilisé avec un objet de la
classe source et permet de sélectionner les objets de la classe cible.
Exemple:
0..2 *
CLIENT
compte BANQUE
◗Un compte dans une banque appartient à au plus deux personnes. Autrement dit, une instance
du couple {Banque , compte} est en association avec zéro à deux instances de la classe Personne.
◗Mais une personne peut posséder plusieurs comptes dans plusieurs banques. C’est-à-dire qu’une
instance de la classe Client peut être associée à plusieurs (zéro compris) instances du couple
{Banque , compte}.
◗Bienentendu, et dans tous les cas, un instance du couple {Client , compte} est en association
avec une instance unique de la classe Banque.