Sie sind auf Seite 1von 14

08/10/2010

Introduction

Conception Oriente Objet

Diagramme de classes

II. Diagrammes de classes


et Diagrammes dobjets

Diagramme .. du modle du SI.


Montre les classes et leurs relations statiques.
Le plus . en notations.

Rafik BOUAZIZ

--

Faez GARGOURI

FSEG Sfax

Lquivalent du modle

Les erreurs dans ce diagramme ont souvent


un impact sur les autres diagrammes.

ISIM Sfax

35

R. BOUAZIZ -- F. GARGOURI

Concept de classe

R. BOUAZIZ -- F. GARGOURI

est reprsente par un rectangle avec :


..

Pour une classe :


On peut :

et

ne

pas reprsenter ses attributs et/ou ses oprations


sur un diagramme,

NOM DE CLASSE

Attributs
oprations
Exceptions

pas spcifier les niveaux de protection des


membres d'une classe,

37

R. BOUAZIZ -- F. GARGOURI

un filtre visuel pour donner un certain niveau


d' son modle ;
on peut se limiter aux noms des classes ;

ne

Classe = Attributs + Oprations +


Mcanisme dinstanciation (Constructeur)

Concept de classe

ne veut pas dire que l'on ne reprsente que les


membres publics.

R. BOUAZIZ -- F. GARGOURI

38

Concept de classe

Remarque : Par abus de langage

Pour une classe :


Le .. de la classe, selon la norme UML est en

= proprit = donne-membre,

Opration

36

Concept de classe

Avec UML, une classe :

Attribut

gras, mais on peut se limiter lcrire en


majuscule.

= mthode = fonction-membre,

Un attribut dune classe constitue un lment de


l' de ses objets,

participe la caractrisation des objets.

Une opration reprsente un .. spcifique


offert par les objets de la classe.

R. BOUAZIZ -- F. GARGOURI

39

R. BOUAZIZ -- F. GARGOURI

40

08/10/2010

Concept de classe

Concept de classe

Les attributs et les oprations :

Exemple :

Nom

sont dcrits dans le deuxime et troisime


compartiments.
Attributs
NOM DE CLASSE
NomAttribut [: type [= valeur initiale] ]

Oprations

Opration ()

41

R. BOUAZIZ -- F. GARGOURI

Concept de classe

COMMANDE
DateDeRception
EstPrpaye
Lignes
Prix
Expdier ()
Fermer()

42

R. BOUAZIZ -- F. GARGOURI

Diagramme dobjets
ou note :

Commentaire

Les diagrammes dobjets ou dinstances :


prsentent ltat dun systme un instant donn,
montrent :
des

.. (instances de classes) dans un


tat particulier et

COMMANDE
DateDeRception
EstPrpaye
Lignes
Prix
Commentaire
---- commentaire
Expdier()
Fermer()

des

. (relations smantiques : instances


dassociations) entre ces objets,

facilitent la comprhension des structures de


donnes complexes,

servent durant la phase exploratoire de lanalyse.


43

R. BOUAZIZ -- F. GARGOURI

Diagramme dobjets

Diagramme dobjets

Reprsentation des objets :

Mohamed

Nom Objet : CLASSE

Mohamed : PERSONNE

Valeurs des attributs des objets :


Le rectangle reprsentant un objet peut comporter

Objet ..
Nom Objet

une partie contenant les . de ses attributs :

:CLASSE

Ahmed : ADHERENT
Nom = Mohamed
Prnom = Ahmed
Adresse = Sfax

:PERSONNE

L dun objet :
Un . dobjets :

: VOITURE
Couleur = rouge
Puissance = 4
Marque = Peugeot
:CHAMBRE [Occupe]

est

dtermin par les valeurs prises par ses attributs,


un instant donn, un objet est dans un tat particulier,
consquence des oprations de modifications
appliques.

:PERSONNE

R. BOUAZIZ -- F. GARGOURI

44

R. BOUAZIZ -- F. GARGOURI

45

R. BOUAZIZ -- F. GARGOURI

46

08/10/2010

Syntaxe de classe

Syntaxe de classe
Multiplicit : intervalle ou nombre

La de description des est :

Multiplicit := (Intervalle|nombre)
[Visibilit] NomAttribut [Multiplicit]
[ : Type [=Valeur Initiale] [{Proprit}]*]

Le type des attributs peut tre :

Visibilit = type d'accessibilit :

Un type (support par les LP) : Entier, chane,

+ : , visible et modifiable par tout objet du


mme paquetage.
- : ., seulement visible et modifiable par les
oprations de l'objet auquel il appartient.
# : , seulement accessible et modifiable
par les oprations des classes descendantes.

Une (type utilisateur) : BOUTON, RECTANGLE,


Expression : chane de caractres dont la syntaxe est en
dehors de la porte dUML.

47

R. BOUAZIZ -- F. GARGOURI

Syntaxe de classe

48

R. BOUAZIZ -- F. GARGOURI

Syntaxe de classe

Proprit :

Un attribut peut tre

..

(/Attribut) :

Il peut tre dduit par application dune formule

.. (gel, variable, ajout Uniquement, )

sur dautres attributs.

Il peut conduire en implmentation une


Gel : attribut non modifiable (const de C++).

opration.

Variable : attribut modifiable (proprit par dfaut).


RECTANGLE

RECTANGLE

Ajout Uniquement : seul lajout est possible

Note

Longueur
Largeur
/Surface

(multiplicit > 1).

Contrainte :

Surface =
longueur * largeur

Oprations

Exemple : - num_sec_soc : string[10] = " " {unique}

Niveau Analyse
49

R. BOUAZIZ -- F. GARGOURI

Syntaxe de classe

Longueur
Largeur

Surface ()
Niveau Conception
50

R. BOUAZIZ -- F. GARGOURI

Syntaxe de classe

Exemple :
TELEVISION

PRODUIT

OnOff : BOUTON
Couleur : num {gris,noir}
Marque : Chane
Tltexte : Boolen = Vrai
Chanes [2..*] : CANAL
Prix : Rel
HautParleurs [2..6] : HAUT-PARLEUR
Type : TypeTV {gel}

- PrixHT
- TVA
-/PrixTTC {PrixTTC =PrixHT * (1+TVA) }

CANAL
HAUTPARLEUR
BOUTON
<<numration>>
TypeTV

16/9
3/4

Classes

R. BOUAZIZ -- F. GARGOURI

51

R. BOUAZIZ -- F. GARGOURI

52

08/10/2010

Syntaxe de classe

Syntaxe de classe
Classes utilitaires
Structuration des

variables (et des constantes)


globales.
Reprsentes par des classes strotypes.
Les donnes membres sont statiques.

Les strotypes : mcanismes d . des


constructions UML.
Appliqus aux classes, ils permettent davoir des
classes particulires rpondant un besoin donn.
Exemples : numration, interface, utilitaire,

R. BOUAZIZ -- F. GARGOURI

53

Syntaxe de classe

utility
VariablesGlobales
- var1
- var2

R. BOUAZIZ -- F. GARGOURI

Syntaxe de classe
Visibilit : +, -, #

de description des :
[Visibilit] NomOpration [[Arguments] :
TypeRetourn [{Proprit}*]]

Arguments : [Direction] NomArgument


[: TypeArgument] [= ValeurDefaut]

Exemple : + fact(n:int) : int {rcursive}

Direction (idem PL/SQL) : in, out, inout

Remarque :

Une opration : un service quune instance de la


classe peut raliser.

Une mthode est limplmentation dune opration.


Abus

de langage : opration = mthode

R. BOUAZIZ -- F. GARGOURI

54

55

Syntaxe de classe

in est la valeur par dfaut


: argument est un paramtre en entre seule ;
non modifi par lexcution de cette opration.
. : argument est un paramtre en sortie seule ;
lappelant peut rcuprer sa valeur.
: argument est un paramtre en entre-sortie ;
pass lopration, modifiable et rcuprable.

R. BOUAZIZ -- F. GARGOURI

56

Syntaxe de classe

Proprit :

Reprsentation dtaille (conception)

requte : lopration ne modifie pas les attributs ;


abstrait : lopration nest pas implmente dans la
classe ;
estFeuille : lopration ne peut pas tre redfinie ;
estRacine : lopration est dfinie pour la premire
fois dans la hirarchie ;
rcursive : lopration est rcursive ;

R. BOUAZIZ -- F. GARGOURI

COMMANDE
- DateDeRception [0..1 ] : Date
# EstPrpaye [1 ] : Boolean = False
- Lignes [1 ..*] : LigneCommande
- Prix : Real
+ Expdier () : Boolean
+ Fermer()

57

R. BOUAZIZ -- F. GARGOURI

58

08/10/2010

Syntaxe de classe

Syntaxe de classe

Visibilit et porte des attributs et


des oprations :

RESERVATION

PRODUIT

CLASSE
+ AttributPublic
# AttributProtg
- AttributPriv
AttributDeClasse

NumProduit
IntitulProduit
PrixProduit
NbreDeProduits

Attribut de classe
Soulign
Visibilit globale :
lattribut est considr
comme un objet partag
par les instances dune
classe

Idem pour les


oprations

- Identifiant : Integer
- Date : Date
-Compteur : Integer
+ getProchainIdentifiant() : Integer

Crer()
Supprimer()

59

R. BOUAZIZ -- F. GARGOURI

Concept de relation

Correspondent aux membres static en C++ ou Java

60

R. BOUAZIZ -- F. GARGOURI

Concept de relation --- Les associations

Les entre classes :

Les associations :
Une association exprime une

Association.

smantique bidirectionnelle entre n classes (n>=1).

Agrgation.
Composition.

ADHERENT

Hritage.

Nom
Prnom
Adresse

Remarque : par rapport au modle E/A de base,


les Reprsentations Conceptuelles UML sont :

EXEMPLAIRE

Crer()

Une association est . dans un

+ riches smantiquement et

diagramme d'objets sous forme de liens, ou dans un


diagramme de collaboration sous forme de messages,
entre objets issus des classes associes.

+ proches de la ralit.
61

R. BOUAZIZ -- F. GARGOURI

Concept de relation --- Les associations

Diagramme de
classes

Emprunter

62

R. BOUAZIZ -- F. GARGOURI

Concept de relation --- Les associations


Une association reprsente donc une relation

Association
C1

C2

conceptuelle durable entre n classes (n>=1).

Classes

Les instances dune association sont des tuples des


instances des classes relies par cette association.
ADHERENT

:C1

:C2
Lien

Diagramme dobjets

R. BOUAZIZ -- F. GARGOURI

Objets

Nom
Prnom
Adresse
:C1

Message

:C2

Emprunter

EXEMPLAIRE

Crer()

Diagramme de collaboration

63

Des instances de lassociation Emprunter :


{ (A1, E1), (A1, E2), . (A2, E4), (A2, E7), .}
R. BOUAZIZ -- F. GARGOURI

64

08/10/2010

Concept de relation --- Les associations

Concept de relation --- Les associations

Les multiplicits ou cardinalits :

Par rapport au modle Entit/Association :

P11
P12

Card1

A1

Card2

[ Nom Association ]

Classe1

Entit 2

Entit 1

Diagramme
Entit /
Association

Nommage des associations


Une association peut tre nomme : cest optionnel.

P21
P22

Classe2

Les noms peuvent tre en forme active ou


passive

Le . de lecture dune association peut tre


prcis lorsquil est ambigu :
Diagramme
de classes

Classe 1 Card2
P11 P12

Card1

A1

Classe 2
P21 P22

HTEL

65

R. BOUAZIZ -- F. GARGOURI

Concept de relation --- Les associations

est employe par>

hberge>

PERSONNE

66

R. BOUAZIZ -- F. GARGOURI

Concept de relation --- Les associations

Arits des associations :

Une association peut tre binaire ou n-aire ( viter).

Association navigabilit restreinte :


Par dfaut, une association est navigable dans les
sens.

Exemple : on dsire reprsenter le fait suivant : Un

On peut la limiter un . sens dans un modle

professeur enseigne dans une salle des tudiants


dune classe.

indique que les instances d'une classe


ne voient pas les instances de lautre.

PROFESSEUR

ELECTEUR

SALLE

SOCIT

Voter

CANDIDAT

CLASSE
Enseigner

ETUDIANT

Connatre

ENSEIGNANT

Comment interprter les multiplicits ?


R. BOUAZIZ -- F. GARGOURI

67

Concept de relation --- Les associations

68

R. BOUAZIZ -- F. GARGOURI

Concept de relation --- Les associations

La notion de :
Lextrmit dune association peut avoir un nom,
appel rle, qui dcrit comment une classe source
voit une classe destination au travers de lassociation.
CLASSE1

[ Nom Association ]
[Rle1]

CLASSE2

[Rle2]

Rle 1 : le rle jou par Classe 1 dans lassociation


Rle 2 : le rle jou par Classe 2 dans lassociation
SOCIT
Employeur
R. BOUAZIZ -- F. GARGOURI

69

R. BOUAZIZ -- F. GARGOURI

Emploi
PERSONNE
Employes
70

08/10/2010

Concept de relation --- Les associations

Concept de relation --- Les associations

Lindication des rles est ncessaire pour les

Attention : La prsence dun grand nombre

dassociations entre deux classes peut


tre le signe dune mauvaise modlisation.

associations ambigus.
Clients

HTEL

PERSONNE

Conduire

Directeur

PERSONNE

Laver

VOITURE

Arrter
Parents
PERSONNE

Conduire

Parent
Enfants

PERSONNE

71

R. BOUAZIZ -- F. GARGOURI

Concept de relation --- Les associations

R. BOUAZIZ -- F. GARGOURI

: Il sagit de rgles smantiques


dfinies sur des associations. Elles permettent :

classe qui peuvent tre lis un objet de lautre.

1
Valeurs de
0 .. 1
cardinalit
conventionnelles N
M .. N (3..7)

1..* PERSONNE
Employes

De 0 plusieurs

0 .. *

De 0 plusieurs

1 .. *

De 1 plusieurs
73

R. BOUAZIZ -- F. GARGOURI

Concept de relation --- Les associations

1..*

Langage Naturel (Lge dun tudiant est suprieur 16)


ou

graphiquement avec un {texte} ({longueur > largeur}) ou

En (Object Constraint Language)

R. BOUAZIZ -- F. GARGOURI

74

context Chambre inv: self.tage <= 12

// Pas plus de rsidents que de lits sauf sil y a un


enfant de moins de 4 ans
context Chambre inv:
lesRsidents->size <= nbLits or
(lesRsidents->size = nbLits + 1 and
lesRsidents->exists(p : Personne | p.ge < 4))

* - lesClients
PERSONNE
- Nom : String
- Prnom : String
- Age : Integer

- Numro : Integer
- NbLits : Integer

- laChambre 0..1

1
- Directeur

de restreindre le nombre d'instances vises.

// Etage maximum : 12

CHAMBRE
-lesChambres - tage : Integer

: String

dtendre ou de prciser la smantique,

Concept de relation --- Les associations

Exemples : soit le diagramme de classes suivant :


0..1 - Adresse

Elles peuvent s'exprimer en :

Un et un seul
Zro ou un
N (entier naturel)
De M N (entiers naturels)

HTEL

72

..

prcisent les nombres min et max dobjets dune


SOCIT

VOITURE

Concept de relation --- Les associations

Les (cardinalits)

Employeur
1

Laver

- lesRsidents
*

R. BOUAZIZ -- F. GARGOURI

75

R. BOUAZIZ -- F. GARGOURI

76

08/10/2010

Concept de relation --- Les associations

Concept de relation --- Les associations


.. :

Les de contraintes exprimables sur les


associations :

PERSONNE

0..*

Ordonn ;

COMPTE

{ordonn}

Sous-ensemble ;
Ou ;

La collection des comptes dune personne est trie

Partition (Ou-exclusif) ;

Elles sont places entre accolades.

77

R. BOUAZIZ -- F. GARGOURI

Concept de relation --- Les associations

78

R. BOUAZIZ -- F. GARGOURI

Concept de relation --- Les associations


Application des oprateurs
de couverture et de disjonction :

On dsire reprsenter les rgles de gestion suivantes :


1. Un employ est affect un seul service.
1
0..*
PERSONNE
COMPTE
2. Plusieurs
employs sont affects un service.

Non Disjonction

Disjonction

{ordonn}
3. Un service est dirig par un seul
employ.

4. Le directeur dun service est obligatoirement lun des


employs affects ce service.
SERVICE
Numro_S
Nom_S
...

Affecter

1..*

{sous-ensemble}
0..1

Diriger

Couverture

x x
xx

xx x
xx x

xx
x

xx
xx

EMPLOYE
Numro
Nom
....

Non
Couverture

xx
x x
x

x x
x x

xx

x
xx
x xx x

xx
x

Toute instance de Diriger est aussi instance de Affecter


79

R. BOUAZIZ -- F. GARGOURI

Concept de relation --- Les associations

Concept de relation --- Les associations

Exemples :

..

- Affectation

UNIVERSIT

0..1
ENSEIGNANT

E tudie
PERSONNE

Enseign-Univ
0..1

ETAB-UNIVER

{Partition}
0..1
Technologue

{ou }
*
- lesEnseignants

: Indique que pour un objet donn,

un seul lien est valide.

Enseigne

0..1

R. BOUAZIZ -- F. GARGOURI

80

R. BOUAZIZ -- F. GARGOURI

ISET

*
- lesEtudiants

81

R. BOUAZIZ -- F. GARGOURI

82

08/10/2010

Concept de relation --- Les associations

Concept de relation --- Les associations

Une ..... :

Et si CONTRAT devient une classe tout court ?

Permet de reprsenter une association par une

Que devient la solution ?

classe pour dfinir des attributs et/ou des


oprations dans lassociation.

Est-elle quivalente la prcdente ?

Possde les caractristiques dune classe et dune


association.
ENTREPRISE

0..*

Embauche

1..*

Un .. :

EXPERT

Passe >

ETUDIANT
CONTRAT
Salaire, Emploi

Concept de relation --- Les associations

84

R. BOUAZIZ -- F. GARGOURI

Concept de relation --- Les associations

Considrons les rgles de gestion suivantes :


Un client passe une ou plusieurs commandes.
Une commande est passe par un seul client et

CLIENT 1

* COMMANDE *

concerne un ou plusieurs produits.

Chaque commande est envoye un ou plusieurs

QteCde est un simple attribut

dune commande gnre une facture correspondant


cette partie.

Facture est une classe part entire :


elle a ses propres attributs, oprations et liens

Toute facture gnre sera envoye au client


correspondant.
85

Concept de relation --- Les associations

Dun point de vue implantation :


Classe Commande
PROPRIETES
NumCde,
DateCde,
Prods : SET(PRODUIT, QteCde),
Depots : SET(DEPOT),

METHODES

METHODES
CrerFac(),
SolderFac(),

R. BOUAZIZ -- F. GARGOURI

86

R. BOUAZIZ -- F. GARGOURI

Concept de relation --- Les associations

Une classe d'association :

NumFac,
DateFac,
NumClient,
NumCde,
NumDep,
,

Attribut de lien :
(Cde, produit, QteCde)

Classe dassociation :
(Cde, Dpt, Facture)

dpts pour tre satisfaite.

Chaque dpt ayant satisfait la partie qui le concerne

Classe Facture
PROPRIETES

PRODUIT

QtCde

*
DEPOT

commandes.

1..n

* FACTURE

Un produit peut tre command par plusieurs

R. BOUAZIZ -- F. GARGOURI

EXAMEN

note

83

R. BOUAZIZ -- F. GARGOURI

La . permet de slectionner un
sous-ensemble
d'objets,
parmi
ceux
participant une association.

Elle est dfinie par un ... ou une cl


(au sens relationnel du terme), qui est utilis
avec un objet de la classe source et permet
de slectionner les objets de la classe cible.

PERSONNE

0..1

* Num_compte BANQUE

Titulaire

87

R. BOUAZIZ -- F. GARGOURI

88

08/10/2010

Concept de relation --- Les associations

Diagramme dobjets et associations

Reprsentation des liens entre objets :

Les liens entre objets :

Assimilable

une table associative.

Le

qualificateur (Nproduit) permet didentifier 0 ou une


ligne de la commande.
manipuler (ajouter, consulter, etc.) une ligne dune
commande, il faut obligatoirement un produit.

89

Diagramme dobjets et associations

permettent une reprsentation plus concrte que


celle produite par les diagrammes de classes.

90

R. BOUAZIZ -- F. GARGOURI

Diagramme dobjets et associations


Exemple :

Exemple :
VOITURE

sont des instances d.. entre


les classes des objets participants ;

Voyons des exemples !

Pour

R. BOUAZIZ -- F. GARGOURI

MOTEUR

V1:VOITURE

:MOTEUR

1
4

- enfants *
- pre Personne - mre
0..1
0..1
- nom
* - prnom 0..1
- pouse
- enfants

Olfa : Personne
nom = KALLEL pouse
prnom = Olfa
mre

0..1

ROUE

R1:ROUE R2:ROUE

Diagramme de
Classes

R3:ROUE

R4:ROUE

- poux

Diagramme
dobjets

Sana : Personne

Moncef : Personne

Nom = MALLEK
Prnom = Sana

Nom = MALLEK
Prnom = Moncef

pre
Maher : Personne
nom = MALLEK
prnom = Maher

91

R. BOUAZIZ -- F. GARGOURI

Diagramme dobjets et associations

poux

R. BOUAZIZ -- F. GARGOURI

92

Diagramme dobjets et associations

Reprsentation des liens entre objets :


Remarque :

Les liens entre objets peuvent tre n-aires.


Exemple :

Ces diagrammes ne sont utiles que durant la


phase exploratoire dun domaine.

RB: PROFESSEUR

A1: SALLE

Le nombre dinstances doit tre ..

I3: CLASSE

Autrement, ils deviennent vite compliqus et


illisibles.

On peut indiquer les noms des objets et des liens :


Ahmed : ADHERENT
Nom = Mohamed
Prnom = Ahmed
Adresse = Sfax
R. BOUAZIZ -- F. GARGOURI

Emprunter

Soukaria : EXEMPLAIRE

93

R. BOUAZIZ -- F. GARGOURI

94

10

08/10/2010

Concept de relation --- Lagrgation

Concept de relation --- Lagrgation

L . est une relation non symtrique, elle :

Une instance d'lment agrg peut :

exprime un couplage et une relation de

tre lie instances d'autres classes :

subordination.

l'lment

reprsente une relation de type "ensemble/lment".


peut notamment (mais pas ncessairement)

les

cycles de vie de l'agrgat et de ses lments


agrgs peuvent tre :
La cration (ou la suppression) de lun
nimplique pas celle de lautre.

exprimer :
qu'une

classe (un "") fait partie d'une autre


("l'."),
qu'un changement d'tat d'une classe entrane un
changement d'tat d'une autre,
qu'une action sur une classe, entrane une action sur
une autre.

Exemple :
ADRESSE
Elment agrg

Concept de relation --- La composition

agrgat
96

R. BOUAZIZ -- F. GARGOURI

Concept de relation --- La composition


Une classe composant peut faire lobjet de plusieurs

La . est une agrgation


qui exprime une partie de .

compositions.

Un objet de la classe composant ne peut appartenir

Les cycles de vies (CV) des composants et du compos


ne sont :
Si le compos est dtruit (ou copi), ses
composants le sont aussi.
Une instance de composant ne peut tre cre
quavec ou aprs la cration du compos.
Elle ne peut tre lie qu' un seul compos.
Les "objets composites" sont des instances de
classes composes.

qu un objet dun compos.

Cycles interdits !
Dure de vie du composant incluse dans celle du
compos.

La navigabilit peut tre bidirectionnelle ou non.


1..*
Chapitre

Livre

3..10

CHAPITRE

LIVRE

PERSONNE
Agrgation

95

R. BOUAZIZ -- F. GARGOURI

agrg peut tre partag ;

exister agrgat (et inversement) :

Thme-Principal

Thme

Composition
97

R. BOUAZIZ -- F. GARGOURI

Concept de relation --- La composition

98

R. BOUAZIZ -- F. GARGOURI

Diagramme dobjets et compositions

Relations entre les CV des objets :

CV du compos

Exemple de reprsentation des objets


composites :
Un objet composite est compos dautres objets

CV composant 1

(sous-objets).

CV composant 2

Le nombre dinstances du composant peut tre

CV composant 3

spcifi.

Exemple :

CV composant 4

Un Composite

Temps
Crer()

Supprimer()

:Partie1 N1

Remarque : toutes les conventions relatives aux cardinalits

:Partie2 N2

Eau : MOLCULE
Hydrogne : ATOME 2
Oxygne : ATOME 1

restent valables pour les agrgations et les compositions.


R. BOUAZIZ -- F. GARGOURI

99

R. BOUAZIZ -- F. GARGOURI

100

11

08/10/2010

Concept de relation --Association, agrgation et composition

Concept de relation --Association, agrgation et composition

Exemple rcapitulatif :
Une personne peut possder des immeubles.
Dans un immeuble, on peut trouver des ascenseurs.
Un immeuble est compos dtages.
Une personne peut possder des comptes et une
adresse.

Explications :
Une personne peut possder des immeubles :

Dans un immeuble, on peut trouver des ascenseurs :


Un

lien : ensemble/lment, les CV des objets ne sont


pas forcment dpendants.
la suppression dun immeuble nentrane pas
obligatoirement celle dun ascenseur.
Un ascenseur ne peut tre utilis (au mme temps) par
plus quun immeuble. Mais, dans le temps, le mme
ascenseur peut tre utilis par diffrents immeubles.

Un

lien conceptuel : les objets ont des CV


indpendants.
Ce lien exprime une relation temporaire.

Agrgation

Association
101

R. BOUAZIZ -- F. GARGOURI

Concept de relation --Association, agrgation et composition

102

R. BOUAZIZ -- F. GARGOURI

Concept de relation --Association, agrgation et composition

Un immeuble est compos dtages :

Diagramme de Classes :

Un

lien : compos/composants : les CV des objets


concident.
La cration de limmeuble la cration de ses
tages.
La suppression de limmeuble la suppression de
ses tages.
Un tage ne peut pas tre partag par diffrents
immeubles.

IMMEUBLE

1..*

Possder

ASCENSEUR

ADRESSE

PERSONNE

COMPTE

ETAGE

Composition

R. BOUAZIZ -- F. GARGOURI

103

La gnralisation / spcialisation

La gnralisation / spcialisation

L , avec UML, est dsign par Gnralisation

Attention : ne pas confondre hritage et instanciation

La peut tre :

104

R. BOUAZIZ -- F. GARGOURI

Voiture

Simple

- modle
- cylindre
- couleur

C_GNRALISEE

Est Une

NON !
Vx

C_SPCIALISEE

Ferrari ; 6 C
Jaune

Multiple : La spcialisation a plus dune gnralisation

R. BOUAZIZ -- F. GARGOURI

105

R. BOUAZIZ -- F. GARGOURI

106

12

08/10/2010

La gnralisation

La gnralisation

Contraintes et proprits de la gnralisation :


La contrainte exprime par le mot-cl {}
objet est au plus instance dune seule sousclasse.
Cest une dcomposition exclusive : {Exclusif}

La contrainte exprime par le mot-cl {..}


Indique

Tout

La contrainte exprime par le mot-cl {}


Indique

que la spcialisation est extensible : elle peut


avoir dautres sous classes.

Cest loption par dfaut.


ETUDIANT

{Disjoint}

ETUDIANT-1C

que la spcialisation est termine (couverture) :

Il nest pas possible dajouter dautres sous-classes.

ENSEIGNANT

ETUDIANT

{Incomplet}

{Complet}

ETUDIANT-3C
E_PERMANENT

Inter (ETUDIANT-1C, ETUDIANT-3C) = Vide


107

R. BOUAZIZ -- F. GARGOURI

La gnralisation

E_VACTAIRE

ET1-C

ET-2C

ET-3C

R. BOUAZIZ -- F. GARGOURI

108

Divers

Une classe gnrique peut tre spcialise selon

.. critres.

Quelques reprsentations triviales


Classes sans relations.
Classes sans attributs.
Classes sans oprations.
Relation 1-1.

La contrainte exprime par le mot-cl {inclusif} ou


{chevauchement} ou {overlapping}
Une

instance de lune des spcialisations peut tre


simultanment une instance dune autre.
VEHICULE

Premier critre :

Deuxime critre :

Motorisation

Milieu

Pas forcment une erreur,


mais toujours se poser la question.

{Chevauchement}
V_A_VOILE

V_A_MOTEUR

V_TERRSETRE

V_MARIN

CAMION
R. BOUAZIZ -- F. GARGOURI

109

Divers

110

Divers

La pratique

Ne pas utiliser systmatiquement toutes les

Exemple :
Un contrat ddition est un accord entre un auteur

notations :
En phase danalyse : concepts fondamentaux.
En phase de conception/implmentation :
concepts avancs.
Bien utiliser UML ne veut pas dire bien modliser !
La thorie ne remplace pas lexprience.
Les patrons de modlisation (design patterns)
peuvent amliorer le modle de conception.

R. BOUAZIZ -- F. GARGOURI

R. BOUAZIZ -- F. GARGOURI

(ventuellement collectif) et un diteur.

Les conditions gnrales dun contrat sont


stipules dans un contrat type.

Les clauses particulires sont ajoutes au


contrat.

Le contrat ne concerne quun ouvrage, qui ne


peut tre dit chez un autre diteur.

111

R. BOUAZIZ -- F. GARGOURI

112

13

08/10/2010

Divers
Auteur

Editeur

0..*
regroupe

0..* AuteurCollectif

{ordered}

0..*

ContratEdition porte sur

*
Ouvrage

est rg i par

AuteurIndividuel 2..*

1
{disjoint, complte}

/dite

ContratType

R. BOUAZIZ -- F. GARGOURI

113

14

Das könnte Ihnen auch gefallen