Title: Associer les classes : Les concepts
1Associer les classes Les concepts
2Construire un diagramme de classes
- Identifier les classes
- Rechercher les noms et substantifs du domaine
applicatif - Supprimer les synonymes, les classes trop vagues
ou non pertinentes - Identifier les associations
- Rechercher les verbes reliant les noms
- Identifier les attributs
- Rechercher les caractéristiques des objets
manipulés - Identifier les opérations
- Rechercher les verbes représentant des actions
3Conseils pour placer une opération dans une
classe
- Rechercher la classe responsable
- Elle détient les informations nécessaires pour
effectuer lopération - Préserver la cohésion interne des classes
- Les opérations doivent former un ensemble
cohérent - Eviter de placer toutes les opérations dans la
même classe - Limiter les interactions entre les classes
- Les dépendances entre les classes doivent être
minimales et se limiter à ce qui est
indispensable
4Association
Une agence gère plusieurs clients. Un client
possède un et un seul compte courant.
5Multiplicités les plus courantes
1 Un et un seul 0..1 Zéro ou un M..N De M à N
(entiers naturels) De zéro à plusieurs 0.. De
zéro à plusieurs 1.. D'un à plusieurs
6Association simple une référence comme attribut
Client
identifiant entier annéeOuvertureCompte
entier compteCourant CompteBancaire
CompteBancaire
- Lattribut compteCourant est une référence sur un
objet de la classe CompteBancaire
7Association multiple Tableau de références sur
des objets
uneAgenceAgence
500
nom adresse lesClients
BNP
EVRY
0
500
indice
unClientClient
8Une traduction d'associations
Agence
Client
Compte
gérer
posséder
nom chaîne âge entier
directeur chaîne adresse chaîne
lesDépôts entier100 lesRetraits
entier100
1
1
1
vieillir() changerNom(...)
déposer(...) retirer(...)
changerDirecteur(...) ajouterUnClient(...)
- Une agence gère une liste de clients.
- La référence de son compte fait partie des
attributs dun client.
9Associer les classes La programmation Java
10Association simple une référence comme attribut
class Client int identifiant int
anneeOuvertureCompte CompteBancaire
compteCourant
class CompteBancaire ...
11Association multiple Tableau de références sur
des objets
class Client String nom
int age void vieillir() void
changerNom(...)
Agence
Client
gérer
nom chaîne âge entier
directeur chaîne adresse chaîne
1
vieillir() changerNom(...)
changerDirecteur(...) ajouterUnClient(...)
class Agence String directeur
String adresse Client
lesClients Agence() lesClients new
Client500 ... void
changerDirecteur(...) void
ajouterUnClient(...)
12Un objet en paramètre
class Agence String directeur
String adresse int nbClients 0
Client lesClients Agence()
lesClients new Client500 ...
void changerDirecteur() ... void
ajouterUnClient(Client unClient)
lesClientsnbClients un Client nbclients
Référence sur un client
lesClients
ref1
ref2
ref3
ref4
13Modéliser avec des classes résumé
- Des classes pour les concepts
- Structure de classe modèle du monde réel
- Classe représentant d'une catégorie d'objets
réels ou abstraits - Prise en compte des relations
- Associations
- Généralisation / spécialisation héritage