Diagramme de Classes et Diagramme d’Objets

1/69
100%

<!-- Slide number: 1 -->

Diagramme de classesDiagramme dobjets

Mme CHALOUAH Anissa

I.S.E.T Bizerte

D partement Technologies de linformatique

01/02/2016

Mme Chalouah Anissa

1

<!-- Slide number: 2 -->

Chapitre 3 : Diagramme de classes et Diagramme dobjets

Diagramme de classe

01/02/2016

Mme Chalouah Anissa

2

<!-- Slide number: 3 -->

Diagramme de classe : D finition(1)

Alors que le diagramme de cas dutilisation montre un syst me du point de vue des acteurs, le diagramme de classes en montre la structure interne.

Il permet de fournir une repr sentation abstraite des objets du syst me qui vont interagir ensemble pour r aliser les cas dutilisation.

Il sagit dune vue statique car on ne tient pas compte du facteur temporel dans le comportement du syst me.

01/02/2016

Mme Chalouah Anissa

3

<!-- Slide number: 4 -->

Diagramme de classe : D finition(2)

Le diagramme de classes mod lise les concepts du domaine dapplication ainsi que les concepts internes cr s dans le cadre de limpl mentation dune application.

Il permet de mod liser les classes du syst me et leurs relations ind pendamment dun langage de programmation particulier.

il faudra bien garder l'esprit qu'une classe est un mod le et l'objet sa r alisation.

01/02/2016

Mme Chalouah Anissa

4

<!-- Slide number: 5 -->

Diagramme de classe :Utilisation

Lors de lanalyse et de la conception:

D finitions des objets qui composent le syst me partir des cas dutilisation et des diagrammes dinteraction (s quences et collaboration).

Bases conceptuelles pour les diagrammes d tat-transition, de d ploiement, ...

Lors de limplantation :

G n ration automatique des structures statiques du syst me (classes, relations, ...).

01/02/2016

Mme Chalouah Anissa

5

<!-- Slide number: 6 -->

Les classes

01/02/2016

Mme Chalouah Anissa

6

<!-- Slide number: 7 -->

Classe : D finition(1)

Une classe est un concept abstrait repr sentant des l ments vari s comme :

des l ments concrets (ex : des avions)

des l ments abstraits (ex : des commandes de marchandises ou services)

des composants dune application (ex : les boutons des bo tes de dialogue)

des structures informatiques (ex : les enregistrements)

des l ments comportementaux (ex : des t ches)

01/02/2016

Mme Chalouah Anissa

7

<!-- Slide number: 8 -->

Classe : D finition(2)

Une classe est une description dobjets partageant des caract ristiques communes.

(attributs, op rations, relations et s mantique)

Les caract ristiques dun objet permettent de sp cifier son tat et son comportement.

L tat dun objet est d crit par des attributs appel s aussi des propri t s.

Le comportement dun objet est d crit par des op rations (m thodes). Ce sont des fonctions qui peuvent prendre des valeurs en entr e et modifier les attributs ou produire des r sultats.

01/02/2016

Mme Chalouah Anissa

8

<!-- Slide number: 9 -->

Classe : D finition(3)

Une classe repr sente un type dobjet

G n ralement, en fonction de lobjectif du diagramme, elle est d crite par :

un nom (obligatoire)

des attributs

des op rations

01/02/2016

Mme Chalouah Anissa

9

<!-- Slide number: 10 -->

Classe : Repr sentation UML

! (Picture2.jpg)

Attributs

Op rations

01/02/2016

Mme Chalouah Anissa

10

<!-- Slide number: 11 -->

Conventions d criture

Le nom dune classe commence par une majuscule,

Le nom dun attribut commence par une minuscule.

Les types de base (int, long, float, double, boolean) sont en minuscules.

Il ny a pas despace dans les noms de classes ou de propri t s.

Pour les noms compos s, on fait commencer chaque mot par une majuscule

01/02/2016

Mme Chalouah Anissa

11

<!-- Slide number: 12 -->

Nom de la classe

Le nom de la classe doit voquer le concept d crit par la classe.

On peut ajouter dautres informations tel que le nom de lauteur, la date, etc.

Pour indiquer quune classe est abstraite, il faut ajouter le mot-clef abstract.

Syntaxe

[ <Nom_du_paquetage_1>::...::<Nom_du_paquetage_N> ]<Nom_de_la_classe> [ { , [<auteur>], [<date>], ... } ]

01/02/2016

Mme Chalouah Anissa

12

<!-- Slide number: 13 -->

Attribut : Syntaxe

<visibilite> [/] nomAttribut : type '['<multiplicite>']' {<contrainte>} = <valeurParDefaut>

visibilite : + public / # protected / - private/ ~package

/ : signal un attribut d riv . C'est dire calcul partir d'autres attributs.

nomAttribut : nom de l'attribut

type : type de l'attribut

: multiplicit pour d finir des tableaux, des listes de valeurs

{<contrainte>} : pour donner des contraintes OCL quand la multiplicit est sup rieure 1

valeurParDefaut : valeur d'initialisation

01/02/2016

Mme Chalouah Anissa

13

<!-- Slide number: 14 -->

Attribut : exemples

  • i : int pour un attribut priv

+ pp : PointPlan pour un attribut public

tabI : int[*] pour un tableau dentiers de taille quelconque et la visibilit non d finie

tabPP : PointPlans[4] pour un tableau de 4 points exactement et la visibilit non d finie

x : float = O.0 pour un nombre virgule initialis 0 et la visibilit protected

01/02/2016

Mme Chalouah Anissa

14

Publicité

<!-- Slide number: 15 -->

Attribut : Exemples

| A |

| --- |

| - attr1: char attr2 : string # attr3 : boolean=true + attr4 : int[1..n] |

| |

| Rectangle |

| --- |

| - Longueur: int Largeur : int |

| |

01/02/2016

Mme Chalouah Anissa

15

<!-- Slide number: 16 -->

Attribut d riv

sa valeur se calcule a partir d'autres propri t s de la classe (attributs ou autres)

symbolises par l'ajout d'un / devant leur nom

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

16

<!-- Slide number: 17 -->

Op ration : Syntaxe

<visibilite> nomOperation (<param1>, ... , <paramN>) : <typeRetour> {<proprietes>}

visibilite : + public / # protected / - private

nomOperataion : nom de l'op ration

<param1>, ... , <paramN> : liste des param tres respectant la syntaxe ci-dessous.

typeRetour : type de retour de l'op ration

{<propriete>} : contraintes OCL, indications ou mots cl comme abstract

01/02/2016

Mme Chalouah Anissa

17

<!-- Slide number: 18 -->

Op ration : Syntaxe des param tres

[<direction>] <nom_param tre>:<type> [=<valeur_par_d faut>]

La direction peut prendre lune des valeurs suivante :

in : Valeur par d faut qui d finit que l'appelant fournit une valeur et n'acc de pas aux modifications de cette derni re.

out : Param tre de sortie uniquement. Il ny a pas de valeur dentr e et la valeur finale est disponible pour lappelant.

inout : Param tre dentr e/sortie. La valeur finale est disponible pour lappelant.

01/02/2016

Mme Chalouah Anissa

18

<!-- Slide number: 19 -->

Op ration : exemples

+ toString() : String pour une op ration publique, sans param tre et retournant une cha ne de caract res

~ setAbscisse(x:float) pour une op ration visible dans le paquetage, et prenant une nombre virgule en param tre.

01/02/2016

Mme Chalouah Anissa

19

<!-- Slide number: 20 -->

Op rations : Exemples

![](Picture2.jpg)

| Rectangle |

| --- |

| - Longueur: int Largeur : int |

| +Rectangle(x : int, y : int) + toString() : String + Affiche () +surface ():int |

01/02/2016

Mme Chalouah Anissa

20

<!-- Slide number: 21 -->

Visibilit des membres

UML d finit trois niveaux de visibilit des attributs et des op rations :

priv : l l ment n'est visible que dans la classe, not -

public : l' l ment est visible par toutes les autres classes, not +

prot g : visible par la classe et ses sous classes, not #

Package : propri t ou classe visible uniquement dans le paquetage, not ~

01/02/2016

Mme Chalouah Anissa

21

<!-- Slide number: 22 -->

Visibilit des membres : Exemple

![](Picture2.jpg)

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

22

<!-- Slide number: 23 -->

Attribut et op ration de classe

Par d faut, les valeurs des attributs d finis dans une classe diff rent d'un objet un autre.

Parfois, il est n cessaire de d finir un attribut de classe qui garde une valeur unique et partag e par toutes les instances.

Semblable aux attributs de classe, une op ration de classe est une propri t de la classe, et non de ses instances.

Elle n'a pas acc s aux attributs des objets de la classe.

01/02/2016

Mme Chalouah Anissa

23

<!-- Slide number: 24 -->

Attribut et op ration de classe

La notation UML pr voie aussi les attributs et les op rations de classes.

Ces l ments sont identifi s par leur nom soulign dans la repr sentation de la classe.

| Rectangle |

| --- |

| - Longueur: int Largeur : int NBRectangle : int SomSurface : int |

| +Rectangle(x : int, y : int) + Affiche () +surface ():int MoyenneSurface() : int |

! (Image6.jpg)

01/02/2016

Mme Chalouah Anissa

24

<!-- Slide number: 25 -->

Classe st r otype

Un st r otype permet d tendre les classes d j existantes en leur donnant une signification s mantique diff rente.

Enum ration: classe d finissant un ensemble didentificateurs formant le domaine de valeur dun type.

Utilitaire : classe r duite au concept de module et qui ne peut tre instanci e.

acteur: classe mod lisant un ensemble de r les jou s par un acteur.

interface: classe contenant uniquement une description des op rations visibles.

exception: classe mod lisant un cas particulier de signal : les exceptions.

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

25

<!-- Slide number: 26 -->

Package

M canisme de partitionnement des mod les et de regroupement des l ments de mod lisation.

Chaque paquetage peut contenir un ensemble de diagrammes et/ou de paquetages.

Chaque l ment dun paquetage poss de un nom unique dans ce paquetage.

Possibilit de d finir des relations entre paquetages.

Un nom de classe est unique au sein du paquetage

Nom de paquetage::nom de la classe

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

26

<!-- Slide number: 27 -->

Relation entre classes

01/02/2016

Mme Chalouah Anissa

27

<!-- Slide number: 28 -->

Publicité

Relation entre classes

Les relations fournissent un chemin de communication entre objets.

Si deux objets ont besoin de se communiquer, il doit exister un lien entre eux.

Contrainte : Une relation est un lien stable entre deux objets.

01/02/2016

Mme Chalouah Anissa

28

<!-- Slide number: 29 -->

Type de relations entre classes

La relation dh ritage est une relation de g n ralisation/sp cialisation permettant labstraction de concepts.

Une association repr sente une relation possible entre les objets dune classe.

Une relation de composition d crit une relation de contenance et dappartenance.

Une d pendance est une relation unidirectionnelle exprimant une d pendance s mantique entre les l ments du mod le

01/02/2016

Mme Chalouah Anissa

29

<!-- Slide number: 30 -->

Association

D finition : relation entre au moins deux classes qui entra nent des connexions entre leurs instances.

Notation UML : trait reliant les deux classes en relation.

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

30

<!-- Slide number: 31 -->

Association : nommage

Les associations peuvent tre nomm es c.- -d. identifi es par un texte unique d crivant la s mantique de lassociation.

Note : utiliser une forme verbale active (travaille pour) ou passive (employ par).

Sil y a ambigu t , indiquer le sens de lecture avec une fl che.

![](Picture4.jpg)

![](Picture5.jpg)

01/02/2016

Mme Chalouah Anissa

31

<!-- Slide number: 32 -->

Association : r le des extr mit s(1)

Les extr mit s des associations peuvent tre qualifi es par des r les.

Un r le indique comment une classe Source voit une classe Destination.

Le r le est un pseudo-attribut de la classe source (utilis comme un attribut).

Note : Ne pas utiliser la fois le nommage dune association et les r les des extr mit s de la m me association.

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

32

<!-- Slide number: 33 -->

Association : r le des extr mit s(2)

Un r le est surtout utile quand plusieurs associations concernent les m mes classes en quen cons quence, de m mes objets peuvent tre li s par des modalit s diff rentes.

Ici, des adresses peuvent tre li es aux clients :

Les adresses jouent le r le dadresses de livraison ou dadresses de facturation

Rien nemp che quune adresse soit la fois une adresse de livraison et un adresse de facturation

! (Picture3.jpg)

01/02/2016

Mme Chalouah Anissa

33

<!-- Slide number: 34 -->

Multiplicit (1)

Les multiplicit s permettent de contraindre le nombre dobjets intervenant dans les instanciations des associations. On en place de chaque c t des associations.

Une multiplicit dun c t sp cifie combien dobjets de la classe du c t consid r sont associ s un objet donn de la classe de lautre c t .

Syntaxe : min..max, o min et max sont des nombres repr sentant respectivement les nombre minimaux et maximaux dobjets concern s par lassociation.

![](Picture3.jpg)

01/02/2016

Mme Chalouah Anissa

34

<!-- Slide number: 35 -->

Multiplicit (2)

| 1 | un et un seul (multiplicit par d faut) |

| --- | --- |

| 0..1 | z ro ou un |

| N | exactement N |

| M..N | de M N |

| \* | z ro ou plus, de 0 + |

| 0..\* | z ro ou plus, de 0 + |

| 1..\* | un ou plus, de 1 + |

Exemples :

1..* : au minimum 1 mais sans maximum

1..2 : entre un et deux (mais jamais 0, par exemple)

  • : autant quon le souhaite

01/02/2016

Mme Chalouah Anissa

35

<!-- Slide number: 36 -->

Qualification

Une qualification consiste s lectionner un sous-ensemble d'objets parmi lensemble des objets qui participent une relation.

Le qualificatif est un attribut sp cial (cl ) qui r duit la multiplicit effective d'une association.

![](Image3.jpg)

01/02/2016

Mme Chalouah Anissa

36

<!-- Slide number: 37 -->

Qualification

Les associations "un plusieurs" et "plusieurs plusieurs "peuvent tre qualifi es.

Le qualificatif caract rise l'ensemble d'objets l'extr mit "plusieurs ".

![](Picture6.jpg)

01/02/2016

Mme Chalouah Anissa

37

<!-- Slide number: 38 -->

Classe association

Les attributs dune classe d pendent fonctionnellement de lidentifiant de la classe.

Parfois, un attribut d pend fonctionnellement de 2 identifiants, appartenant 2 classes diff rentes.

Dans ce cas, lassociation est dite porteuse dattributs .

Une association porteuse dattributs est appel e classe-association.

01/02/2016

Mme Chalouah Anissa

38

<!-- Slide number: 39 -->

Classe association

Une classe-association qui ne participe pas dautres relations avec dautres classes peut ne pas porter de nom.

Lors de la conception, une classe-association peut tre remplac e par une classe interm diaire.

![](Image4.jpg)

![](Image3.jpg)

![](Image5.jpg)

![](Image6.jpg)

01/02/2016

Mme Chalouah Anissa

39

<!-- Slide number: 40 -->

Association n-aire

Une association n-aire lie plus de deux classes.

Notation avec un losange central pouvant ventuellement accueillir une classe-association.

La multiplicit de chaque classe s'applique une instance du losange.

![](Picture2.jpg)

Les associations n-aires sont peu fr quentes et concernent surtout les cas

o les multiplicit s sont toutes * .

Dans la plupart des cas, on utilisera plus avantageusement des classes-association ou plusieurs relations binaires.

01/02/2016

Mme Chalouah Anissa

Publicité

40

<!-- Slide number: 41 -->

Association r flexive

Parfois, les deux extr mit s de l'association pointent vers la m me classe. Dans ce cas, l'association est dite r flexive .

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

41

<!-- Slide number: 42 -->

Contraintes sur les associations

Les contraintes sont des expressions qui pr cisent le r le ou la port e d'un l ment de mod lisation (elles permettent d' tendre ou pr ciser sa s mantique).

Dans le langage UML, une contrainte est une r gle de gestion exprim e entre { }.

01/02/2016

Mme Chalouah Anissa

42

<!-- Slide number: 43 -->

Contraintes sur les associations

Contrainte dinclusion

elle permet de pr ciser quune collection est incluse dans une autre.

La personne qui joue le r le de directeur de comit fait forc ment partie des membres de la comit .

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

43

<!-- Slide number: 44 -->

Contraintes sur les associations

Contrainte dexclusion:

elle permet de pr ciser quune instance dassociation exclut une autre instance.

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

44

<!-- Slide number: 45 -->

Contraintes sur les associations

Propri t s sur extr mit s dassociations

{variable} : instance modifiable (par d faut)

{frozen} : instance non modifiable

{addOnly} : de nouveaux liens peuvent tre ajout s depuis un objet de l'autre c t de l'association mais non supprim s.

01/02/2016

Mme Chalouah Anissa

45

<!-- Slide number: 46 -->

Propri t s sur extr mit s dassociations : Exemple

! (Picture3.jpg)

Ce diagramme exprime que :

une personne est n e dans un pays, et que cette association ne peut pas tre modifi e {frozen} ;

une personne a visit un certain nombre de pays, dans un ordre donn {ordred}, et que le nombre de pays visit s ne peut que cro tre {addOnly} ;

une personne aimerait encore visiter toute une liste de pays, et que cette liste est ordonn e {ordered}(probablement par ordre de pr f rence).

01/02/2016

Mme Chalouah Anissa

46

<!-- Slide number: 47 -->

Association d riv e

Une association d riv e est une association quon peut d duire partir dautre association existantes.

! (Picture4.jpg)

01/02/2016

Mme Chalouah Anissa

47

<!-- Slide number: 48 -->

Navigabilit des associations

Par d faut, les associations sont navigables dans les deux directions.

Une association peut ne n cessiter qu'un seul sens de navigation. Ceci est repr sent par une fl che port par le r le vers lequel la navigation est possible.

Les objets instances de A voient les objets instances de B. Mais pas le contraire.

![](Picture4.jpg)

01/02/2016

Mme Chalouah Anissa

48

<!-- Slide number: 49 -->

Navigabilit des associations : Exemples

Les lecteurs voient le candidat pour lequel il votent. Mais le candidat ne voient pas les lecteurs.

Un segment se construit partir de 2 points. Le segment doit donc avoir connaissance des points qui le forment.

Un point na pas did e sur le segment qui il appartient.

![](Picture3.jpg)

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

49

<!-- Slide number: 50 -->

Agr gation

Une agr gation est un cas particulier dassociation non sym trique exprimant une relation de contenance.

Les agr gations nont pas besoin d tre nomm es : implicitement elles signifient contient , est compos de .

![](Picture2.jpg)

Une agr gation d note une relation d'un ensemble ses parties. L'ensemble est l'agr gat et la partie l'agr g .

01/02/2016

Mme Chalouah Anissa

50

<!-- Slide number: 51 -->

composition

Une composition est une agr gation plus forte impliquant que :

La destruction et la copie de l'objet composite (l'ensemble) impliquent respectivement la destruction ou la copie de ses composants (les parties).

Une instance de la partie n'appartient jamais plus d'une instance de l' l ment composite.

![](Picture2.jpg)

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

51

<!-- Slide number: 52 -->

G n ralisation (h ritage)

L'h ritage est une relation de sp cialisation/g n ralisation.

Les l ments sp cialis s h ritent de la structure et du comportement des l ments plus g n raux (attributs et op rations).

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

52

<!-- Slide number: 53 -->

H ritage entre classes

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

53

<!-- Slide number: 54 -->

Contraintes sur les relations de g n ralisation

{complete} / {incomplete}

{complete} : une contrainte compl te pr cise quon ne peut pas rajouter une classe sp cialis e une classe de base(lensemble des sous-classes ont t r pertori e).

Ex : La sp cialisation de la classe Personne par les sous-classes Hommes et Femmes est compl te puisquaucune autre classe ne peut tre ajout e.

{incomplete} : indique qui existe dautre sous-classes qui peuvent tre introduite dans la g n ralisation

Ex: Les sous-classes Math , Histoire et G o repr sentent une g

01/02/2016

Mme Chalouah Anissa

54

<!-- Slide number: 55 -->

Contraintes sur les relations de g n ralisation

{disjoint} / {overlapping}

{disjoint} : un objet ne peut appartenir qu une seule classe sp cialis e.

{overlapping} : indique quune instance de la super-classe est linstance de deux ou plusieurs sous-classes,

Par d faut une g n ralisation est {disjoint,complete}

01/02/2016

Publicité

Mme Chalouah Anissa

55

<!-- Slide number: 56 -->

Contraintes sur les relations de g n ralisation

![](Picture4.jpg)

01/02/2016

Mme Chalouah Anissa

56

<!-- Slide number: 57 -->

Classes abstraites

Une m thode est dite abstraite lorsqu'on conna t son ent te mais pas la mani re dont elle peut tre r alis e.

Il appartient aux classes enfant de d finir les m thodes abstraites.

Une classe est dite abstraite lorsqu'elle d finit au moins une m thode abstraite ou lorsqu'une classe parent contient une m thode abstraite non encore r alis e.

01/02/2016

Mme Chalouah Anissa

57

<!-- Slide number: 58 -->

Classes abstraites

Une classe abstraite est simplement une classe qui ne sinstancie pas directement mais qui repr sente une pure abstraction afin de factoriser des propri t s communes.

En UML, une classe abstraite se note en italique ou bien porte la mention {abstract}.

![](Picture3.jpg)

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

58

<!-- Slide number: 59 -->

Interface

Une interface est d finie en UML comme une classe, avec les m mes compartiments. On ajoute le st r otype interface avant le nom de l'interface.

Les classes impl mentant une interface doivent impl menter toutes les op rations d crites dans l'interface

01/02/2016

Mme Chalouah Anissa

59

<!-- Slide number: 60 -->

Impl mentation dune interface

Une relation d'impl mentation est le type sp cial de la relation de g n ralisation. Une impl mentation est un lien d'h ritage indiquant qu'une classe enfant impl mente une interface parent.

Une impl mentation est repr sent e graphiquement sous la forme d'une ligne dirig e de pointill s avec une grande t te de fl che ferm e, pointant sur l'interface parent :

! (Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

60

<!-- Slide number: 61 -->

Construction du Diagramme de classe

Trouver les classes du domaine tudi

Souvent, concepts et substantifs du domaine.

Trouver les associations entre classes

Souvent, verbes mettant en relation plusieurs classes.

Trouver les attributs des classes

Souvent, substantifs correspondant un niveau de granularit plus fin que les classes. Les adjectifs et les valeurs correspondent souvent des valeurs d'attributs.

Organiser et simplifier le mod le en utilisant l'h ritage

Tester les chemins d'acc s aux class es

It rer et raffiner le mod le.

01/02/2016

Mme Chalouah Anissa

61

<!-- Slide number: 62 -->

Chapitre 3 : Diagramme de classes et Diagramme dobjets

Diagramme dobjets

01/02/2016

Mme Chalouah Anissa

62

<!-- Slide number: 63 -->

Diagramme dobjets : D finition

Repr sente des objets et leurs liens pour donner une vue fig e de l tat dun syst me un instant donn . Il permet de :

illustrer le mod le de classes en montrant un exemple qui explique le mod le

pr ciser certains aspects du syst me en mettant en vidence des d tails imperceptibles dans le diagramme de classes

exprimer une exception en mod lisant des cas particuliers ou des connaissances non g n ralisables qui ne sont pas mod lis s dans un diagramme de classe

Le diagramme de classes mod lise des r gles et

le diagramme d'objets mod lise des faits.

01/02/2016

Mme Chalouah Anissa

63

<!-- Slide number: 64 -->

Repr sentation des objets

Comme les classes, on utilise des cadres compartiment s.

En revanche, les noms des objets sont soulign s et on peut rajouter son identifiant devant le nom de sa classe.

Les valeurs (a) ou l' tat (f) d'un objet peuvent tre sp cifi es.

Les instances peuvent tre anonymes (a,c,d), nomm es (b,f),orphelines (e), multiples (d) ou st r otyp es (g).

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

64

<!-- Slide number: 65 -->

Diagramme de classes et diagramme d'objets

Le diagramme de classes contraint la structure et les liens entre les objets.

![](Picture3.jpg)

01/02/2016

Mme Chalouah Anissa

65

<!-- Slide number: 66 -->

Diagramme de classes et diagramme d'objets

Diagramme coh rent avec le

diagramme de classes

Diagramme incoh rent avec le diagramme de classes

![](Picture2.jpg)

![](Picture4.jpg)

01/02/2016

Mme Chalouah Anissa

66

<!-- Slide number: 67 -->

Liens

Un lien est une instance d'une association.

Un lien se repr sente comme une association mais s'il a un nom, il est soulign .

Naturellement, on ne repr sente pas les multiplicit s qui n'ont aucun sens au niveau des objets.

01/02/2016

Mme Chalouah Anissa

67

<!-- Slide number: 68 -->

Relation de d pendance d'instanciation

La relation de d pendance d'instanciation (st r otyp e) d crit la relation entre un classeur et ses instances.

Elle relie, en particulier, les associations aux liens et les classes aux objets.

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

68

<!-- Slide number: 69 -->

Bibliographie

Analyse, Conception des Syst mes Informatiques (Olivier Boissier)(SIMMO/ENSM.SE)

Introduction UML2 (Pierre G rand)(IUT Villetaneuse)

Mod lisation orient e objets avec UML (Guillaume Laurent) (ENSMM )

UML par la pratique (

01/02/2016

Mme Chalouah Anissa

69

Diagramme de Classes et Diagramme d’Objets

UML (Unified Modeling Language) and Computer Science · notes

Voir tous les documents en génie logiciel

<!-- Slide number: 1 -->

Diagramme de classesDiagramme dobjets

Mme CHALOUAH Anissa

I.S.E.T Bizerte

D partement Technologies de linformatique

01/02/2016

Mme Chalouah Anissa

1

<!-- Slide number: 2 -->

Chapitre 3 : Diagramme de classes et Diagramme dobjets

Diagramme de classe

01/02/2016

Mme Chalouah Anissa

2

<!-- Slide number: 3 -->

Diagramme de classe : D finition(1)

Alors que le diagramme de cas dutilisation montre un syst me du point de vue des acteurs, le diagramme de classes en montre la structure interne.

Il permet de fournir une repr sentation abstraite des objets du syst me qui vont interagir ensemble pour r aliser les cas dutilisation.

Il sagit dune vue statique car on ne tient pas compte du facteur temporel dans le comportement du syst me.

01/02/2016

Mme Chalouah Anissa

3

<!-- Slide number: 4 -->

Diagramme de classe : D finition(2)

Le diagramme de classes mod lise les concepts du domaine dapplication ainsi que les concepts internes cr s dans le cadre de limpl mentation dune application.

Il permet de mod liser les classes du syst me et leurs relations ind pendamment dun langage de programmation particulier.

il faudra bien garder l'esprit qu'une classe est un mod le et l'objet sa r alisation.

01/02/2016

Mme Chalouah Anissa

4

<!-- Slide number: 5 -->

Diagramme de classe :Utilisation

Lors de lanalyse et de la conception:

D finitions des objets qui composent le syst me partir des cas dutilisation et des diagrammes dinteraction (s quences et collaboration).

Bases conceptuelles pour les diagrammes d tat-transition, de d ploiement, ...

Lors de limplantation :

G n ration automatique des structures statiques du syst me (classes, relations, ...).

01/02/2016

Mme Chalouah Anissa

5

<!-- Slide number: 6 -->

Les classes

01/02/2016

Mme Chalouah Anissa

6

<!-- Slide number: 7 -->

Classe : D finition(1)

Une classe est un concept abstrait repr sentant des l ments vari s comme :

des l ments concrets (ex : des avions)

des l ments abstraits (ex : des commandes de marchandises ou services)

des composants dune application (ex : les boutons des bo tes de dialogue)

des structures informatiques (ex : les enregistrements)

des l ments comportementaux (ex : des t ches)

01/02/2016

Mme Chalouah Anissa

7

<!-- Slide number: 8 -->

Classe : D finition(2)

Une classe est une description dobjets partageant des caract ristiques communes.

(attributs, op rations, relations et s mantique)

Les caract ristiques dun objet permettent de sp cifier son tat et son comportement.

L tat dun objet est d crit par des attributs appel s aussi des propri t s.

Le comportement dun objet est d crit par des op rations (m thodes). Ce sont des fonctions qui peuvent prendre des valeurs en entr e et modifier les attributs ou produire des r sultats.

01/02/2016

Mme Chalouah Anissa

8

<!-- Slide number: 9 -->

Classe : D finition(3)

Une classe repr sente un type dobjet

G n ralement, en fonction de lobjectif du diagramme, elle est d crite par :

un nom (obligatoire)

des attributs

des op rations

01/02/2016

Mme Chalouah Anissa

9

<!-- Slide number: 10 -->

Classe : Repr sentation UML

! (Picture2.jpg)

Attributs

Op rations

01/02/2016

Mme Chalouah Anissa

10

<!-- Slide number: 11 -->

Conventions d criture

Le nom dune classe commence par une majuscule,

Le nom dun attribut commence par une minuscule.

Les types de base (int, long, float, double, boolean) sont en minuscules.

Il ny a pas despace dans les noms de classes ou de propri t s.

Pour les noms compos s, on fait commencer chaque mot par une majuscule

01/02/2016

Mme Chalouah Anissa

11

<!-- Slide number: 12 -->

Nom de la classe

Le nom de la classe doit voquer le concept d crit par la classe.

On peut ajouter dautres informations tel que le nom de lauteur, la date, etc.

Pour indiquer quune classe est abstraite, il faut ajouter le mot-clef abstract.

Syntaxe

[ <Nom_du_paquetage_1>::...::<Nom_du_paquetage_N> ]<Nom_de_la_classe> [ { , [<auteur>], [<date>], ... } ]

01/02/2016

Mme Chalouah Anissa

12

<!-- Slide number: 13 -->

Attribut : Syntaxe

<visibilite> [/] nomAttribut : type '['<multiplicite>']' {<contrainte>} = <valeurParDefaut>

visibilite : + public / # protected / - private/ ~package

/ : signal un attribut d riv . C'est dire calcul partir d'autres attributs.

nomAttribut : nom de l'attribut

type : type de l'attribut

: multiplicit pour d finir des tableaux, des listes de valeurs

{<contrainte>} : pour donner des contraintes OCL quand la multiplicit est sup rieure 1

valeurParDefaut : valeur d'initialisation

01/02/2016

Mme Chalouah Anissa

13

<!-- Slide number: 14 -->

Attribut : exemples

  • i : int pour un attribut priv

+ pp : PointPlan pour un attribut public

tabI : int[*] pour un tableau dentiers de taille quelconque et la visibilit non d finie

tabPP : PointPlans[4] pour un tableau de 4 points exactement et la visibilit non d finie

x : float = O.0 pour un nombre virgule initialis 0 et la visibilit protected

01/02/2016

Mme Chalouah Anissa

14

Publicité

<!-- Slide number: 15 -->

Attribut : Exemples

| A |

| --- |

| - attr1: char attr2 : string # attr3 : boolean=true + attr4 : int[1..n] |

| |

| Rectangle |

| --- |

| - Longueur: int Largeur : int |

| |

01/02/2016

Mme Chalouah Anissa

15

<!-- Slide number: 16 -->

Attribut d riv

sa valeur se calcule a partir d'autres propri t s de la classe (attributs ou autres)

symbolises par l'ajout d'un / devant leur nom

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

16

<!-- Slide number: 17 -->

Op ration : Syntaxe

<visibilite> nomOperation (<param1>, ... , <paramN>) : <typeRetour> {<proprietes>}

visibilite : + public / # protected / - private

nomOperataion : nom de l'op ration

<param1>, ... , <paramN> : liste des param tres respectant la syntaxe ci-dessous.

typeRetour : type de retour de l'op ration

{<propriete>} : contraintes OCL, indications ou mots cl comme abstract

01/02/2016

Mme Chalouah Anissa

17

<!-- Slide number: 18 -->

Op ration : Syntaxe des param tres

[<direction>] <nom_param tre>:<type> [=<valeur_par_d faut>]

La direction peut prendre lune des valeurs suivante :

in : Valeur par d faut qui d finit que l'appelant fournit une valeur et n'acc de pas aux modifications de cette derni re.

out : Param tre de sortie uniquement. Il ny a pas de valeur dentr e et la valeur finale est disponible pour lappelant.

inout : Param tre dentr e/sortie. La valeur finale est disponible pour lappelant.

01/02/2016

Mme Chalouah Anissa

18

<!-- Slide number: 19 -->

Op ration : exemples

+ toString() : String pour une op ration publique, sans param tre et retournant une cha ne de caract res

~ setAbscisse(x:float) pour une op ration visible dans le paquetage, et prenant une nombre virgule en param tre.

01/02/2016

Mme Chalouah Anissa

19

<!-- Slide number: 20 -->

Op rations : Exemples

![](Picture2.jpg)

| Rectangle |

| --- |

| - Longueur: int Largeur : int |

| +Rectangle(x : int, y : int) + toString() : String + Affiche () +surface ():int |

01/02/2016

Mme Chalouah Anissa

20

<!-- Slide number: 21 -->

Visibilit des membres

UML d finit trois niveaux de visibilit des attributs et des op rations :

priv : l l ment n'est visible que dans la classe, not -

public : l' l ment est visible par toutes les autres classes, not +

prot g : visible par la classe et ses sous classes, not #

Package : propri t ou classe visible uniquement dans le paquetage, not ~

01/02/2016

Mme Chalouah Anissa

21

<!-- Slide number: 22 -->

Visibilit des membres : Exemple

![](Picture2.jpg)

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

22

<!-- Slide number: 23 -->

Attribut et op ration de classe

Par d faut, les valeurs des attributs d finis dans une classe diff rent d'un objet un autre.

Parfois, il est n cessaire de d finir un attribut de classe qui garde une valeur unique et partag e par toutes les instances.

Semblable aux attributs de classe, une op ration de classe est une propri t de la classe, et non de ses instances.

Elle n'a pas acc s aux attributs des objets de la classe.

01/02/2016

Mme Chalouah Anissa

23

<!-- Slide number: 24 -->

Attribut et op ration de classe

La notation UML pr voie aussi les attributs et les op rations de classes.

Ces l ments sont identifi s par leur nom soulign dans la repr sentation de la classe.

| Rectangle |

| --- |

| - Longueur: int Largeur : int NBRectangle : int SomSurface : int |

| +Rectangle(x : int, y : int) + Affiche () +surface ():int MoyenneSurface() : int |

! (Image6.jpg)

01/02/2016

Mme Chalouah Anissa

24

<!-- Slide number: 25 -->

Classe st r otype

Un st r otype permet d tendre les classes d j existantes en leur donnant une signification s mantique diff rente.

Enum ration: classe d finissant un ensemble didentificateurs formant le domaine de valeur dun type.

Utilitaire : classe r duite au concept de module et qui ne peut tre instanci e.

acteur: classe mod lisant un ensemble de r les jou s par un acteur.

interface: classe contenant uniquement une description des op rations visibles.

exception: classe mod lisant un cas particulier de signal : les exceptions.

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

25

<!-- Slide number: 26 -->

Package

M canisme de partitionnement des mod les et de regroupement des l ments de mod lisation.

Chaque paquetage peut contenir un ensemble de diagrammes et/ou de paquetages.

Chaque l ment dun paquetage poss de un nom unique dans ce paquetage.

Possibilit de d finir des relations entre paquetages.

Un nom de classe est unique au sein du paquetage

Nom de paquetage::nom de la classe

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

26

<!-- Slide number: 27 -->

Relation entre classes

01/02/2016

Mme Chalouah Anissa

27

<!-- Slide number: 28 -->

Publicité

Relation entre classes

Les relations fournissent un chemin de communication entre objets.

Si deux objets ont besoin de se communiquer, il doit exister un lien entre eux.

Contrainte : Une relation est un lien stable entre deux objets.

01/02/2016

Mme Chalouah Anissa

28

<!-- Slide number: 29 -->

Type de relations entre classes

La relation dh ritage est une relation de g n ralisation/sp cialisation permettant labstraction de concepts.

Une association repr sente une relation possible entre les objets dune classe.

Une relation de composition d crit une relation de contenance et dappartenance.

Une d pendance est une relation unidirectionnelle exprimant une d pendance s mantique entre les l ments du mod le

01/02/2016

Mme Chalouah Anissa

29

<!-- Slide number: 30 -->

Association

D finition : relation entre au moins deux classes qui entra nent des connexions entre leurs instances.

Notation UML : trait reliant les deux classes en relation.

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

30

<!-- Slide number: 31 -->

Association : nommage

Les associations peuvent tre nomm es c.- -d. identifi es par un texte unique d crivant la s mantique de lassociation.

Note : utiliser une forme verbale active (travaille pour) ou passive (employ par).

Sil y a ambigu t , indiquer le sens de lecture avec une fl che.

![](Picture4.jpg)

![](Picture5.jpg)

01/02/2016

Mme Chalouah Anissa

31

<!-- Slide number: 32 -->

Association : r le des extr mit s(1)

Les extr mit s des associations peuvent tre qualifi es par des r les.

Un r le indique comment une classe Source voit une classe Destination.

Le r le est un pseudo-attribut de la classe source (utilis comme un attribut).

Note : Ne pas utiliser la fois le nommage dune association et les r les des extr mit s de la m me association.

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

32

<!-- Slide number: 33 -->

Association : r le des extr mit s(2)

Un r le est surtout utile quand plusieurs associations concernent les m mes classes en quen cons quence, de m mes objets peuvent tre li s par des modalit s diff rentes.

Ici, des adresses peuvent tre li es aux clients :

Les adresses jouent le r le dadresses de livraison ou dadresses de facturation

Rien nemp che quune adresse soit la fois une adresse de livraison et un adresse de facturation

! (Picture3.jpg)

01/02/2016

Mme Chalouah Anissa

33

<!-- Slide number: 34 -->

Multiplicit (1)

Les multiplicit s permettent de contraindre le nombre dobjets intervenant dans les instanciations des associations. On en place de chaque c t des associations.

Une multiplicit dun c t sp cifie combien dobjets de la classe du c t consid r sont associ s un objet donn de la classe de lautre c t .

Syntaxe : min..max, o min et max sont des nombres repr sentant respectivement les nombre minimaux et maximaux dobjets concern s par lassociation.

![](Picture3.jpg)

01/02/2016

Mme Chalouah Anissa

34

<!-- Slide number: 35 -->

Multiplicit (2)

| 1 | un et un seul (multiplicit par d faut) |

| --- | --- |

| 0..1 | z ro ou un |

| N | exactement N |

| M..N | de M N |

| \* | z ro ou plus, de 0 + |

| 0..\* | z ro ou plus, de 0 + |

| 1..\* | un ou plus, de 1 + |

Exemples :

1..* : au minimum 1 mais sans maximum

1..2 : entre un et deux (mais jamais 0, par exemple)

  • : autant quon le souhaite

01/02/2016

Mme Chalouah Anissa

35

<!-- Slide number: 36 -->

Qualification

Une qualification consiste s lectionner un sous-ensemble d'objets parmi lensemble des objets qui participent une relation.

Le qualificatif est un attribut sp cial (cl ) qui r duit la multiplicit effective d'une association.

![](Image3.jpg)

01/02/2016

Mme Chalouah Anissa

36

<!-- Slide number: 37 -->

Qualification

Les associations "un plusieurs" et "plusieurs plusieurs "peuvent tre qualifi es.

Le qualificatif caract rise l'ensemble d'objets l'extr mit "plusieurs ".

![](Picture6.jpg)

01/02/2016

Mme Chalouah Anissa

37

<!-- Slide number: 38 -->

Classe association

Les attributs dune classe d pendent fonctionnellement de lidentifiant de la classe.

Parfois, un attribut d pend fonctionnellement de 2 identifiants, appartenant 2 classes diff rentes.

Dans ce cas, lassociation est dite porteuse dattributs .

Une association porteuse dattributs est appel e classe-association.

01/02/2016

Mme Chalouah Anissa

38

<!-- Slide number: 39 -->

Classe association

Une classe-association qui ne participe pas dautres relations avec dautres classes peut ne pas porter de nom.

Lors de la conception, une classe-association peut tre remplac e par une classe interm diaire.

![](Image4.jpg)

![](Image3.jpg)

![](Image5.jpg)

![](Image6.jpg)

01/02/2016

Mme Chalouah Anissa

39

<!-- Slide number: 40 -->

Association n-aire

Une association n-aire lie plus de deux classes.

Notation avec un losange central pouvant ventuellement accueillir une classe-association.

La multiplicit de chaque classe s'applique une instance du losange.

![](Picture2.jpg)

Les associations n-aires sont peu fr quentes et concernent surtout les cas

o les multiplicit s sont toutes * .

Dans la plupart des cas, on utilisera plus avantageusement des classes-association ou plusieurs relations binaires.

01/02/2016

Mme Chalouah Anissa

Publicité

40

<!-- Slide number: 41 -->

Association r flexive

Parfois, les deux extr mit s de l'association pointent vers la m me classe. Dans ce cas, l'association est dite r flexive .

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

41

<!-- Slide number: 42 -->

Contraintes sur les associations

Les contraintes sont des expressions qui pr cisent le r le ou la port e d'un l ment de mod lisation (elles permettent d' tendre ou pr ciser sa s mantique).

Dans le langage UML, une contrainte est une r gle de gestion exprim e entre { }.

01/02/2016

Mme Chalouah Anissa

42

<!-- Slide number: 43 -->

Contraintes sur les associations

Contrainte dinclusion

elle permet de pr ciser quune collection est incluse dans une autre.

La personne qui joue le r le de directeur de comit fait forc ment partie des membres de la comit .

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

43

<!-- Slide number: 44 -->

Contraintes sur les associations

Contrainte dexclusion:

elle permet de pr ciser quune instance dassociation exclut une autre instance.

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

44

<!-- Slide number: 45 -->

Contraintes sur les associations

Propri t s sur extr mit s dassociations

{variable} : instance modifiable (par d faut)

{frozen} : instance non modifiable

{addOnly} : de nouveaux liens peuvent tre ajout s depuis un objet de l'autre c t de l'association mais non supprim s.

01/02/2016

Mme Chalouah Anissa

45

<!-- Slide number: 46 -->

Propri t s sur extr mit s dassociations : Exemple

! (Picture3.jpg)

Ce diagramme exprime que :

une personne est n e dans un pays, et que cette association ne peut pas tre modifi e {frozen} ;

une personne a visit un certain nombre de pays, dans un ordre donn {ordred}, et que le nombre de pays visit s ne peut que cro tre {addOnly} ;

une personne aimerait encore visiter toute une liste de pays, et que cette liste est ordonn e {ordered}(probablement par ordre de pr f rence).

01/02/2016

Mme Chalouah Anissa

46

<!-- Slide number: 47 -->

Association d riv e

Une association d riv e est une association quon peut d duire partir dautre association existantes.

! (Picture4.jpg)

01/02/2016

Mme Chalouah Anissa

47

<!-- Slide number: 48 -->

Navigabilit des associations

Par d faut, les associations sont navigables dans les deux directions.

Une association peut ne n cessiter qu'un seul sens de navigation. Ceci est repr sent par une fl che port par le r le vers lequel la navigation est possible.

Les objets instances de A voient les objets instances de B. Mais pas le contraire.

![](Picture4.jpg)

01/02/2016

Mme Chalouah Anissa

48

<!-- Slide number: 49 -->

Navigabilit des associations : Exemples

Les lecteurs voient le candidat pour lequel il votent. Mais le candidat ne voient pas les lecteurs.

Un segment se construit partir de 2 points. Le segment doit donc avoir connaissance des points qui le forment.

Un point na pas did e sur le segment qui il appartient.

![](Picture3.jpg)

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

49

<!-- Slide number: 50 -->

Agr gation

Une agr gation est un cas particulier dassociation non sym trique exprimant une relation de contenance.

Les agr gations nont pas besoin d tre nomm es : implicitement elles signifient contient , est compos de .

![](Picture2.jpg)

Une agr gation d note une relation d'un ensemble ses parties. L'ensemble est l'agr gat et la partie l'agr g .

01/02/2016

Mme Chalouah Anissa

50

<!-- Slide number: 51 -->

composition

Une composition est une agr gation plus forte impliquant que :

La destruction et la copie de l'objet composite (l'ensemble) impliquent respectivement la destruction ou la copie de ses composants (les parties).

Une instance de la partie n'appartient jamais plus d'une instance de l' l ment composite.

![](Picture2.jpg)

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

51

<!-- Slide number: 52 -->

G n ralisation (h ritage)

L'h ritage est une relation de sp cialisation/g n ralisation.

Les l ments sp cialis s h ritent de la structure et du comportement des l ments plus g n raux (attributs et op rations).

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

52

<!-- Slide number: 53 -->

H ritage entre classes

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

53

<!-- Slide number: 54 -->

Contraintes sur les relations de g n ralisation

{complete} / {incomplete}

{complete} : une contrainte compl te pr cise quon ne peut pas rajouter une classe sp cialis e une classe de base(lensemble des sous-classes ont t r pertori e).

Ex : La sp cialisation de la classe Personne par les sous-classes Hommes et Femmes est compl te puisquaucune autre classe ne peut tre ajout e.

{incomplete} : indique qui existe dautre sous-classes qui peuvent tre introduite dans la g n ralisation

Ex: Les sous-classes Math , Histoire et G o repr sentent une g

01/02/2016

Mme Chalouah Anissa

54

<!-- Slide number: 55 -->

Contraintes sur les relations de g n ralisation

{disjoint} / {overlapping}

{disjoint} : un objet ne peut appartenir qu une seule classe sp cialis e.

{overlapping} : indique quune instance de la super-classe est linstance de deux ou plusieurs sous-classes,

Par d faut une g n ralisation est {disjoint,complete}

01/02/2016

Publicité

Mme Chalouah Anissa

55

<!-- Slide number: 56 -->

Contraintes sur les relations de g n ralisation

![](Picture4.jpg)

01/02/2016

Mme Chalouah Anissa

56

<!-- Slide number: 57 -->

Classes abstraites

Une m thode est dite abstraite lorsqu'on conna t son ent te mais pas la mani re dont elle peut tre r alis e.

Il appartient aux classes enfant de d finir les m thodes abstraites.

Une classe est dite abstraite lorsqu'elle d finit au moins une m thode abstraite ou lorsqu'une classe parent contient une m thode abstraite non encore r alis e.

01/02/2016

Mme Chalouah Anissa

57

<!-- Slide number: 58 -->

Classes abstraites

Une classe abstraite est simplement une classe qui ne sinstancie pas directement mais qui repr sente une pure abstraction afin de factoriser des propri t s communes.

En UML, une classe abstraite se note en italique ou bien porte la mention {abstract}.

![](Picture3.jpg)

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

58

<!-- Slide number: 59 -->

Interface

Une interface est d finie en UML comme une classe, avec les m mes compartiments. On ajoute le st r otype interface avant le nom de l'interface.

Les classes impl mentant une interface doivent impl menter toutes les op rations d crites dans l'interface

01/02/2016

Mme Chalouah Anissa

59

<!-- Slide number: 60 -->

Impl mentation dune interface

Une relation d'impl mentation est le type sp cial de la relation de g n ralisation. Une impl mentation est un lien d'h ritage indiquant qu'une classe enfant impl mente une interface parent.

Une impl mentation est repr sent e graphiquement sous la forme d'une ligne dirig e de pointill s avec une grande t te de fl che ferm e, pointant sur l'interface parent :

! (Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

60

<!-- Slide number: 61 -->

Construction du Diagramme de classe

Trouver les classes du domaine tudi

Souvent, concepts et substantifs du domaine.

Trouver les associations entre classes

Souvent, verbes mettant en relation plusieurs classes.

Trouver les attributs des classes

Souvent, substantifs correspondant un niveau de granularit plus fin que les classes. Les adjectifs et les valeurs correspondent souvent des valeurs d'attributs.

Organiser et simplifier le mod le en utilisant l'h ritage

Tester les chemins d'acc s aux class es

It rer et raffiner le mod le.

01/02/2016

Mme Chalouah Anissa

61

<!-- Slide number: 62 -->

Chapitre 3 : Diagramme de classes et Diagramme dobjets

Diagramme dobjets

01/02/2016

Mme Chalouah Anissa

62

<!-- Slide number: 63 -->

Diagramme dobjets : D finition

Repr sente des objets et leurs liens pour donner une vue fig e de l tat dun syst me un instant donn . Il permet de :

illustrer le mod le de classes en montrant un exemple qui explique le mod le

pr ciser certains aspects du syst me en mettant en vidence des d tails imperceptibles dans le diagramme de classes

exprimer une exception en mod lisant des cas particuliers ou des connaissances non g n ralisables qui ne sont pas mod lis s dans un diagramme de classe

Le diagramme de classes mod lise des r gles et

le diagramme d'objets mod lise des faits.

01/02/2016

Mme Chalouah Anissa

63

<!-- Slide number: 64 -->

Repr sentation des objets

Comme les classes, on utilise des cadres compartiment s.

En revanche, les noms des objets sont soulign s et on peut rajouter son identifiant devant le nom de sa classe.

Les valeurs (a) ou l' tat (f) d'un objet peuvent tre sp cifi es.

Les instances peuvent tre anonymes (a,c,d), nomm es (b,f),orphelines (e), multiples (d) ou st r otyp es (g).

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

64

<!-- Slide number: 65 -->

Diagramme de classes et diagramme d'objets

Le diagramme de classes contraint la structure et les liens entre les objets.

![](Picture3.jpg)

01/02/2016

Mme Chalouah Anissa

65

<!-- Slide number: 66 -->

Diagramme de classes et diagramme d'objets

Diagramme coh rent avec le

diagramme de classes

Diagramme incoh rent avec le diagramme de classes

![](Picture2.jpg)

![](Picture4.jpg)

01/02/2016

Mme Chalouah Anissa

66

<!-- Slide number: 67 -->

Liens

Un lien est une instance d'une association.

Un lien se repr sente comme une association mais s'il a un nom, il est soulign .

Naturellement, on ne repr sente pas les multiplicit s qui n'ont aucun sens au niveau des objets.

01/02/2016

Mme Chalouah Anissa

67

<!-- Slide number: 68 -->

Relation de d pendance d'instanciation

La relation de d pendance d'instanciation (st r otyp e) d crit la relation entre un classeur et ses instances.

Elle relie, en particulier, les associations aux liens et les classes aux objets.

![](Picture2.jpg)

01/02/2016

Mme Chalouah Anissa

68

<!-- Slide number: 69 -->

Bibliographie

Analyse, Conception des Syst mes Informatiques (Olivier Boissier)(SIMMO/ENSM.SE)

Introduction UML2 (Pierre G rand)(IUT Villetaneuse)

Mod lisation orient e objets avec UML (Guillaume Laurent) (ENSMM )

UML par la pratique (

01/02/2016

Mme Chalouah Anissa

69