Mod liser ses objets gr ce UML

Page 1 sur 9Lecteur de document UniversityLib

Mod liser ses objets gr ce UML

Software Development and Object-Oriented Programming · notes

Voir tous les documents en génie logiciel

30/12/2015

Mod liser ses objets gr ce UML

% $

Accueil

Cours

Apprenez programmer en Java

Mod liser ses objets gr ce UML

Apprenez programmer en Java

2 < @ ?

Z

40 heures

& Difficile

Licence

8

-

MOD LISER SES OBJETS GR CE UML

Dans ce chapitre, nous allons d couvrir le principe de mod lisation d'objet. Le sigle UML signifie Unified Modeling

Language, que l'on peut traduire par langage de mod lisation unifi . Il ne s'agit pas d'un langage de

programmation, mais plut t d'une m thode de mod lisation. La m thode Merise , par exemple, en est une autre.

En fait, lorsque vous programmez en orient objet, il vous sera sans doute utile de pouvoir sch matiser vos classes,

leur hi rarchie, leurs d pendances, leur architecture, etc. L'id e est de pouvoir, d'un simple coup d'Sil, vous

repr senter le fonctionnement de votre logiciel : imaginez UML un peu comme une partition de musique pour le

musicien.

Le but de ce chapitre n'est pas de vous transformer en experts UML, mais de vous donner suffisamment de bases pour

mieux appr hender la mod lisation et ensuite bien cerner certains concepts de la POO.

Pr sentation d'UML

T

Je sais que vous tes des Z ros avertis en mati re de programmation, ainsi qu'en informatique en g n ral, mais

mettez-vous dans la peau d'une personne totalement d nu e de connaissances dans le domaine. Il fallait trouver un

langage commun aux commerciaux, aux responsables de projets informatiques et aux d veloppeurs, afin que tout ce

petit monde se comprenne. Avec UML, c'est le cas.

En fait, avec UML, vous pouvez mod liser toutes les tapes du d veloppement d'une application informatique, de sa

conception la mise en route, gr ce des diagrammes. Il est vrai que certains de ces diagrammes sont plus adapt s

pour les informaticiens, mais il en existe qui permettent de voir comment interagit l'application avec son contexte de

fonctionnement& Et dans ce genre de cas, il est indispensable de bien conna tre l'entreprise pour laquelle

l'application est pr vue. On recourt donc un mode de communication compr hensible par tous : UML.

https://openclassrooms.com/courses/apprenez a programmer en java/modeliser ses objets grace a uml

1/9

30/12/2015

Mod liser ses objets gr ce UML

Il existe bien s r des outils de mod lisation pour cr er de tels diagrammes. En ce qui me concerne, j'utilise argoUML. Il

a le m rite d' tre gratuit et crit en Java, donc multi-plates-formes.

Cependant, il en existe d'autres, comme :

boUML,

Together,

Poseidon,

Pyut

etc.

Avec ces outils, vous pouvez r aliser les diff rents diagrammes qu'UML vous propose :

le diagramme de use case (cas d'utilisation) permet de d terminer les diff rents cas d'utilisation d'un

programme informatique ;

le diagramme de classes ; c'est de celui-l que nous allons nous servir. Il permet de mod liser des classes ainsi

que les interactions entre elles ;

les diagrammes de s quences, eux, permettent de visualiser le d roulement d'une application dans un contexte

donn ;

Publicité

et d'autres encore&

La figure suivante repr sente un exemple de diagramme de classes.

https://openclassrooms.com/courses/apprenez a programmer en java/modeliser ses objets grace a uml

2/9

30/12/2015

Mod liser ses objets gr ce UML

Exemple de diagramme de classes

Vous avez d remarquer qu'il repr sente les classes que nous avons rencontr es dans les chapitres pr c dents. Je ne

vous cache pas qu'il s'agit d'une version simplifi e. En effet, vous pouvez constater que je n'ai pas fait figurer les

m thodes d clar es public de la classe Object , ni celles des classes que nous avons cod es.

Je ne vais pas vous apprendre utiliser argoUML, mais plut t lire un diagramme. En effet, dans certains cas, il est

utile de mod liser les classes et l'interaction entre celles-ci, ne serait-ce que pour disposer de plus de recul sur son

travail. Une autre raison cela est que certains concepts de programmation sont plus faciles expliquer avec un

diagramme qu'avec de longs discours...

Mod liser ses objets

T

pr sent, nous allons apprendre lire un diagramme de classes. Vous avez devin qu'une classe est mod lis e sous la

forme repr sent e sur la figure suivante.

Voici une classe nomm e ObjetA qui a comme attributs :

Classe en UML

https://openclassrooms.com/courses/apprenez a programmer en java/modeliser ses objets grace a uml

3/9

30/12/2015

Mod liser ses objets gr ce UML

numero de type int ;

nom de type String ;

bool de type boolean .

Ses m thodes sont :

getNom() qui retourne une cha ne de caract res ;

setNom() qui ne renvoie rien ;

afficher() qui renvoie galement une cha ne de caract res.

La port e des attributs et des m thodes n'est pas repr sent e ici. Vous voyez, la mod lisation d'un objet est toute

simple et tr s compr hensible !

Maintenant, int ressons-nous aux interactions entre objets.

Mod liser les liens entre les objets

T

Vous allez voir : les interactions sont, elles aussi, tr s simples mod liser.

En fait, comme vous l'avez vu avec l'exemple, les interactions sont mod lis es par des fl ches de plusieurs sortes.

Nous aborderons ici celles dont nous pouvons nous servir dans l' tat actuel de nos connaissances (au fur et mesure

de la progression, d'autres fl ches appara tront).

Sur le diagramme repr sent la figure suivante, vous remarquez un deuxi me objet qui dispose, lui aussi, de

param tres. Ne vous y trompez pas, ObjetB poss de galement les attributs et les m thodes de la classe ObjetA .

D'apr s vous, pourquoi ? C'est parce que la fl che qui relie nos deux objets signifie extends . En gros, vous

pouvez lire ce diagramme comme suit : l' ObjetB h rite de l' ObjetA , ou encore ObjetB est un ObjetA .

https://openclassrooms.com/courses/apprenez a programmer en java/modeliser ses objets grace a uml

4/9

30/12/2015

Mod liser ses objets gr ce UML

Repr sentation de l'h ritage

Nous allons voir une autre fl che d'interaction. Je sais que nous n'avons pas encore rencontr ce cas de figure, mais il

est simple comprendre.

De la m me fa on que nous pouvons utiliser des objets de type String dans des classes que nous d veloppons,

nous pouvons aussi utiliser comme variable d'instance, ou de classe, un objet que nous avons cod . La figure suivante

mod lise ce cas.

Repr sentation de l'appartenance

Dans cet exemple simpliste, nous avons toujours notre h ritage entre un objet A et un objet B, mais dans ce cas,

l' ObjetA (et donc l' ObjetB ) poss de une variable de classe de type ObjetC , ainsi qu'une m thode dont le type

Publicité

https://openclassrooms.com/courses/apprenez a programmer en java/modeliser ses objets grace a uml

5/9

30/12/2015

Mod liser ses objets gr ce UML

de retour est ObjetC (car la m thode retourne un ObjetC ). Vous pouvez lire ce diagramme comme suit :

l' ObjetA a un ObjetC (donc une seule instance d' ObjetC est pr sente dans ObjetA ).

Voici le code Java correspondant ce diagramme.

Fichier ObjetA.java

1

2

3

4

5

6

7

public class ObjetA{

protected ObjetC obj = new ObjetC();

public ObjetC getObject(){

return obj;

}

}

Fichier ObjetB.java

1

2

3

public class ObjetB extends ObjetA{

}

Fichier ObjetC.java

1

2

3

public class ObjetC{

}

Il reste une derni re fl che que nous pouvons mentionner, car elle ne diff re que l g rement de la premi re. Un

diagramme la mettant en Suvre est repr sent sur la figure suivante.

java

java

java

Repr sentation de la composition

Ce diagramme est identique au pr c dent, l'exception de l' ObjetD . Nous devons le lire comme ceci :

l' ObjetA est compos de plusieurs instances d' ObjetD . Vous pouvez d'ailleurs remarquer que la variable

d'instance correspondante est de type tableau&

https://openclassrooms.com/courses/apprenez a programmer en java/modeliser ses objets grace a uml

6/9

30/12/2015

Mod liser ses objets gr ce UML

Voici le code Java correspondant :

Fichier ObjetA.java

1

2

3

4

5

6

7

8

9

Publicité

10

11

public class ObjetA{

protected ObjetC obj = new ObjetC();

protected ObjetD[] objD = new ObjetD[10];

public ObjetC getObject(){

return obj;

}

public ObjetD[] getObjectD(){

return objD;

}

}

Fichier ObjetB.java

1

2

3

public class ObjetB extends ObjetA{

}

Fichier ObjetC.java

1

2

3

public class ObjetC{

}

Fichier ObjetD.java

java

java

java

java

1

2

3

public class ObjetD{

}

Il est bien vident que ces classes ne font strictement rien. Je les ai utilis es titre d'exemple pour la

mod lisation.

Voil , c'en est fini pour le moment. Attendez-vous donc rencontrer des diagrammes dans les prochains chapitres !

UML vous permet de repr senter les liens entre vos classes.

Vous pouvez y mod liser leurs attributs et leurs m thodes.

Vous pouvez repr senter l'h ritage avec une fl che signifiant est un .

Vous pouvez repr senter l'appartenance avec une fl che signifiant a un .

Vous pouvez repr senter la composition avec une fl che signifiant est compos de .

9

J'ai termin ce chapitre et je passe au suivant

https://openclassrooms.com/courses/apprenez a programmer en java/modeliser ses objets grace a uml

7/9

30/12/2015

S

Mod liser ses objets gr ce UML

L'h ritage

Les packages

T

Se d sinscrire de ce cours

Comment a marche ?

S

Java Orient Objet

Publicité

T

1. Votre premi re classe

2. L'h ritage

3. Mod liser ses objets gr ce UML

4. Les packages

5. Les classes abstraites et les interfaces

6. Les exceptions

7. Les num rations

8. Les collections d'objets

9. La g n ricit en Java

10. Les flux d'entr e/sortie

11. Java et la r flexivit

Activit : R alisez un garage

Quiz

Acc der au forum

Cr par

OpenClassrooms, 1 re plateforme

e-Education en Europe

$

https://openclassrooms.com/courses/apprenez a programmer en java/modeliser ses objets grace a uml

8/9

30/12/2015

Mod liser ses objets gr ce UML

L'auteur

Cyrille Herby

Sp cialiste en d veloppement Java et curieux insatiable dinformatique et de programmation web.

Actuellement auditeur en s curit .

D couvrez aussi ce cours en...

@ < @

Premium

Premium

eBook

Livre papier

PDF

OpenClassrooms

Professionnels

Participez

Qui sommes-nous ?

Affiliation

Cr er un cours

Fonctionnement de nos cours

Entreprises

CourseLab

Recrutement

Nous contacter

Suivez-nous

Le blog OpenClassrooms

Universit s et coles

Aider traduire

Conditions G n rales d'Utilisation

$ 6 ;

https://openclassrooms.com/courses/apprenez a programmer en java/modeliser ses objets grace a uml

9/9