Vous êtes sur la page 1sur 62

U.M.L.

L approche Objet

d abord

Une mthodologie de
conception

O. BOUSSAID

Page : 1

U.M.L.

L approche Objet

Problmatique
Taille et complexit des logiciels :
Complexit fonctionnelle :
Exemples :
1/Le S.I.A. : mmoriser et stocker linformation : mais en plus
traiter de faon sophistique pour laide la dcision (Entrept
de donnes).
2/ Logiciels dvelopps sparment et avec des dmarches
diffrentes et appels tre interfacs pour les besoins de
lEntreprise.
Evolutions technologiques permanentes
Complexit architecturale : Client/serveur, Intranet, Corba
(Common Object Request Broker Architecture), Systmes
distribus

Solutions :
Dcoupage du processus de dveloppement :
phase analyse : aspects ;
phase ralisation : aspects technologiques et
architecturaux.
Dcoupage du systme en sous systmes : diminution de la
complexit ; rpartition du travail et rutilisation .
Utilisation dune technologie de haut niveau : dcoupage naturel
du systme .
O. BOUSSAID

Page : 2

U.M.L.

Notion de classe et dinstance

Lapproche objet
Notion dobjet
Un objet est dfini la fois par des
informations : donnes ou attributs ou
variables
dinstances
;
et
des
comportements : traitements ou mthodes ou
oprations.
Exemple :
no m
cap ital UV
d ip l m e
VrifierNo m
MajUV
ChangerDip l m e
OBJET Etudiant

O. BOUSSAID

Page : 3

U.M.L. Notion de classe et dinstance


Lorsque des objets ont les mmes attributs et
comportements : ils sont regroups dans une
famille appele : Classe.
Les objets appartenant celle-ci sont les
instances de cette classe.

Linstanciation

est la cration dun objet

dune classe.

Nom : Dupo nt
Capital UV : capital1
Diplme : matise de
Sciences Eco .
VrifierNom
MajUV
ChangerDiplme

Nom : Durant
Capital UV : capital2
Diplme : licence de
So cio .
VrifierNom
MajUV
ChangerDiplme

Deux instances dune mme classe peuvent avoir


des attributs avec des valeurs diffrentes et mais
partagent les mmes mthodes.

O. BOUSSAID

Page : 4

U.M.L.

Les messages

La manipulation des objets passe par des envois


de messages.
Lorsquun objet reoit un message :
Soit le message correspond un traitement
dfini dans la classe de lobjet auquel cas la
mthode correspondante est excute.
Lobjet rpond ainsi au message.
Soit le message ne correspond pas, lobjet

refuse le message et signale une erreur.


Un message quivaut un appel dune
mthode.
Un objet gre lui mme son comportement.
Ce qui lui permet soit de traiter des messages en
excutant les mthodes correspondantes soit de
rejeter des messages en signalant des erreurs.
Un objet est parfaitement identifi. Comme sil
possdait un attribut (inaccessible directement)
qui identifie la classe laquelle il appartient.
O. BOUSSAID

Page : 5

U.M.L.

L Encapsulation

Lencapsulation est le fait quun objet


renferme ses propres attributs et ses
mthodes.
Une classe encapsule les proprits (attributs
et mthodes) des objets quelle regroupe.
La modularit est souvent laisse la
charge du dveloppeur.
Dans lapproche Objet : celle-ci est prise en
compte par lencapsulation.
Lunit de modularit est la classe.
Les classes peuvent tre regroupes en
packages ou en sous systmes (granularit
suprieure).

O. BOUSSAID

Page : 6

U.M.L.

L abstraction

Labstraction est la caractrisation dun objet par


une partie publique, une partie prive et une partie
implmentation.
Laccs public :
Tout ce qui est accessible par les autres objets.
Les
mthodes
publiques
reprsentent
linterface de lobjet.
Les donnes quand elles sont publiques
nimposent aucun contrle ni sur leur
structure ni sur la nature des valeurs quelles
peuvent recevoir.
Il est prfrable de mettre les donnes en
accs priv.
Laccs priv :
Les donnes prives ne sont modifiables qu
travers les mthodes publiques qui peuvent
les contrler ainsi.
La partie implmentation :
Elle est dfinie par un ensemble de mthodes
accessibles que par les autres mthodes de la
mme classe.

O. BOUSSAID

Page : 7

L abstraction

U.M.L.
Exemple :

La donne Capital UV nest modifiable


que par la mthode MajUV.
Ce concept dabstraction engendre deux catgories
dacteurs :
les concepteurs des classes
les utilisateurs des objets
Ces derniers peuvent utiliser les mthodes dune
classe indpendamment de leurs structures
internes.
Ils nutilisent que les signatures des mthodes
(interface de lobjet) .
Ce qui permet aux concepteurs des classes dobjets
de modifier la structure interne des mthodes des
classes.

O. BOUSSAID

Page : 8

U.M.L.

L Hritage

la classe Etudiant :
no m
capital UV
d ipl me

la classe Etudiant-Elu :
no m
capital UV
d ipl me
Mandat
Syndicat

VrifierNo m
MajUV
ChangerDipl me

VrifierNo m
MajUV
ChangerDipl me
DmissionnerMandat
ChangerSyndicat

Lobjet Etudiant-Elu a les proprits (attributs et


mthodes) de lobjet Etudiant mais en plus
possde dautres proprits.

La classe Etudiant-Elu est une spcialisation de la


classe Etudiant. Cest une sous classe de la classe
Etudiant.

Les objets de la sous classe Etudiant-Elu hritent

des attributs et des mthodes de la classe


Etudiant. La sous classe Etudiant-Elu pourra, si
cela est ncessaire pour ses besoins, redfinir une
mthode hrite.

O. BOUSSAID

Page : 9

U.M.L.

L Hritage

Chaque sous classe peut avoir une ou plusieurs

sous classes formant ainsi une hirarchie dobjet.


On parle de classe anctre (ou mre) et de
classes descendant (ou fille).
Lhritage est un mcanisme qui permet
dassurer une grande variabilit dans la
rutilisation des objets. Il existe deux techniques
lies lhritage : les classes abstraites et

lhritage multiple.

O. BOUSSAID

Page : 10

U.M.L. Les classes abstraites


Cest un type de classe ayant des proprits qui ne
permettent pas de prciser des instances. Ces classes
mettent en commun un certain nombre de proprits
des objets.
Exemple :

Soit la classe JeuneAdulte


Grad uatio n
Ad resse
tlp ho ne
Service Militaire
Rd igerCV
AfficherCV
Et :
La classe Etudiant :

La classe Etudiant-Elu:

no m
cap ital UV
d ip l m e

no m
cap ital UV
d ip l m e
Mandat
Syndicat

VrifierNo m
MajUV
ChangerDip l m e

VrifierNo m
MajUV
ChangerDip l m e
DmissionnerMandat
ChangerSyndicat

La Classe JeuneAdulte a des proprits communes aux


classes Etudiant et Etudiant-Elu. Mais on ne peut
linstancier.
O. BOUSSAID

Page : 11

U.M.L. L Hritage multiple


Lhritage multiple permet une classe davoir plusieurs classes antcdents et
dhriter ainsi de tous les attributs et mthodes de ces anctres.

Exemple
Classe C1 :
At1
At2
Mt1
Mt2
Classe C2 :
At1 ; At21
At2 ; At22
At23
Mt1 ; Mt21
Mt2 ; Mt22

Classe C3 :
At1 ; At31
At2 ; At32
At33
Mt1 ; Mt31
Mt2 ; Mt32
Mt33

Soit la classe C50 :


At1 ; At2 ;
At21 ;At22
At23 ; At31 ;
At32, At33;At51
Mt1 ; Mt21
Mt2 ; Mt22
Mt31; Mt32 .
Mt33
Mt51
La classe C50 hrite des classes C1, C2 et C3.

Problme :
La classe C50 hritera-t-elle 2 fois des attributs At1 et At2 ?
Si la mthode Mt2 a t modifie dans C2 et C3 alors laquelle
des deux hritera la classe C50 ?

O. BOUSSAID

Page : 12

U.M.L.

Le polymorphisme

Cest un mcanisme qui permet une sous classe de


redfinir une mthode dont elle a hrit tout en
gardant la mme signature de la mthode hrite.
Ainsi on peut avoir une mthode avec la mme tte
(mme signature) et des corps diffrents (codes
diffrents) : polymorphisme.
Un mme message peut ainsi dclencher des
traitements diffrents selon lobjet auquel il fait
appel.
Un message polymorphe poserait un problme la
compilation statique car on ne saurait identifier
prcisment la mthode quil vise.
On ne pourra le savoir quau moment de lexcution
du programme. Cest la compilation dynamique qui
permettra de rsoudre ce problme.

O. BOUSSAID

Page : 13

Dmarche mthodologique
U.M.L. de construction dune application
les diffrentes tapes :
mthode : guide de description dune forme de
modle une autre.

formalisme : langage de reprsentation graphique.

O. BOUSSAID

Expression des besoins


Spcification
Analyse
Conception
Implmentation
Tests de vrification
Validation
Maintenance et volution

Page : 14

U.M.L. Les diffrentes tapes (1)


Expression des besoins :
...

Spcification :
Ce que le systme doit tre et comment il peut tre
utilis.

Analyse :
Lobjectif est de dterminer les lments intervenant
dans le systme construire, ainsi que leur structure
et leurs relations .
Elle doit dcrire chaque objet selon 3 axes :

Axe fonctionnel : savoir-faire de lobjet.


Axe statique :
structure de lobjet.
Axe dynamique : cycle de vie de lobjet au cours de

lapplication (Etats et messages de


lobjet).

Ces descriptions ne tiennent pas compte de contraintes


techniques (informatique).
O. BOUSSAID

Page : 15

U.M.L. Les diffrentes tapes (2)


La conception :
Elle consiste apporter des solutions techniques aux
descriptions dfinies lors de lanalyse : architecture
technique ; performances et optimisation ; stratgie de
programmation.
On y dfinit les structures et les algorithmes.
Cette phase sera valide lors des tests.

Limplmentation :
Cest la ralisation de la programmation.

O. BOUSSAID

Page : 16

U.M.L. Les diffrentes tapes (3)


Les tests de vrification :
Ils permettent de raliser des contrles pour la qualit
technique du systme.
Il sagit de relever les ventuels dfauts de conception
et de programmation (revue de code, tests des
composants,...).
Il faut instaurer ces tests tout au long du cycle de
dveloppement et non la fin pour viter des reprises
consquentes du travail (programmes de tests robustes ;
Logiciels de tests).

Validation :
Le dveloppement dune application doit tre li
un contrat ayant une forme de cahier de charges,
o doivent se trouver tous les besoins de
lutilisateur. Ce cahier de charge doit tre rdig
avec la collaboration de lutilisateur et peut tre
par ailleurs complt par la suite.
Tout au long des ces tapes, il doit y avoir des
validations en collaboration galement avec
lutilisateur.
Une autre validation doit aussi tre envisage lors
de lachvement du travail de dveloppement, une
fois que la qualit technique du systme est
dmontre. Elle permettra de garantir la logique et
la compltude du systme.
O. BOUSSAID

Page : 17

U.M.L. Les diffrentes tapes (4)


Maintenance et volution
Deux sortes de maintenances sont considrer :

Une maintenance
traiter les buggs .

corrective, qui consiste

Une maintenance volutive, qui permet au


systme dintgrer de nouveaux besoins ou des
changements technologiques.

O. BOUSSAID

Page : 18

U.M.L. Les diffrents cycles de vie


Il existe 2 cycles de vie utilises dans les
approches traditionnelles : le modle linaire et
le modle en V .
Le modle linaire
Expression des
besoins

Spcification

Implmentation

Tests
de
vrification

Analyse

Conception

Validation

Maintenance
et
volution

Le principe de cette dmarche est que chaque phase


est traite compltement avant que la suivante ne soit
entame.
Ce qui renvoie les tests de vrification et la
validation en fin du processus de dveloppement.
Sil y a des erreurs, les retours seront compliqus
et coteraient chers.

O. BOUSSAID

Page : 19

U.M.L. Les diffrents cycles de vie


Le modle en V
Expression des besoins

Validation des
besoins

Spcifications
fonctionnelles

Validation fonctionnelle

Conception du

systme

Tests du
systme

Conception des
composants

Tests des
composants

Implmentation

Le modle en V permet une organisation modulaire.


A chaque tape de lanalyse et de la conception correspond une
tape de tests ou de validation.
A chaque tape fonctionnelle correspond ainsi une tape
technique.
Le processus saccomplit en deux phases :

Une phase descendante : de spcifications et de conception.


Une phase ascendante : de tests et de validation.
Comme pour le modle linaire, linconvnient est que la validation et les
tests interviennent tardivement.

O. BOUSSAID

Page : 20

U.M.L. Les diffrents cycles de vie


Le cycle de vie Objet
Dans un projet Objet, le cycle de vie rpond 3
caractristiques essentielles :
La traabilit entre les tapes
Un cycle itratif
Un cycle incrmental
La traabilit entre les tapes :

Les concepts utiliss au cours des diffrentes


tapes sont quasiment identiques (Classes, Objets,
Attributs, Mthodes, Hritage, Polymorphisme, ...).
Ceci permet de conserver le mme discours lors
de toutes les tapes :
Analyse - Conception - Implmentation .
Ce qui nest pas le cas dans les approches
traditionnelles, o lon utilise une mthode
danalyse et de conception avec des concepts et un
langage de programmation avec dautres concepts.
O. BOUSSAID

Page : 21

Le cycle de vie Objet

U.M.L.

Un cycle itratif :

Validation des besoins

Expression des
besoins

Tests de
vrification

Spcifications
fonctionnelles

Implmentation

Conception

O. BOUSSAID

Analyse

Page : 22

U.M.L.

Le cycle de vie Objet

Un cycle incrmental :
Lors du dveloppement, une maquette doit
tre ralise pour valider lergonomie de
lapplication et lenchanement des crans.
Plusieurs versions peuvent tre dveloppes.
Lors de chacune delle, chaque fonctionnalit
est amliore jusqu optimisation rendant
ainsi le systme progressivement robuste.

O. BOUSSAID

Page : 23

U.M.L.

Les USE CASES

Ide :

use cases

Les
(cas dutilisation) sont
un concept de la mthode OOSE de Ivar
Jacobson.
Ils permettent deffectuer une dlimitation du
systme et de dcrire son comportement.
Ils constituent une reprsentation oriente

fonctionnalits du systme.

Dans la modlisation par les use cases :


2 concepts fondamentaux interviennent :
Les acteurs : utilisateurs du systme.
Les uses cases : utilisation du systme

O. BOUSSAID

Page : 24

U.M.L.

Les acteurs

Ceux sont les utilisateurs du systme


Ils ont une bonne connaissance des
fonctionnalits du systme. Ils constituent les
lments extrieurs du systme.
Ils peuvent tre :
soit des humains ;
soit des logiciels ;
soit des automates.
On distingue :
les acteurs primaires : ceux sont les utilisateurs
du systme ;
les acteurs secondaires : ceux qui administrent
le systme.

O. BOUSSAID

Page : 25

U.M.L.

Les uses cases

Ceux sont les utilisations du systme


Il sagit de dterminer les lments constitutifs dun
point de vue fonctionnel.
On pourra trouver des use cases pour dcrire :

chaque tche de lutilisateur ;


les fonctionnalits mal dcrites lors des spcifications ;
les E/S des donnes ;
les cas danomalies.

Reprsentation des acteurs dans un modle Use Cases :

?
Exemple de Use case

O. BOUSSAID

Page : 26

U.M.L. Description dun Use Case


Il existe plusieurs faons de dcrire un use case.
Description textuelle (informelle) :
Exemple :
Use case : Retrait en espce :
Le guichetier saisit le n de compte du client.
Lapplication valide le compte auprs du systme
central.
Lapplication demande le type dopration au
guichetier.
Le guichetier slectionne un retrait despces de
200F.
Le systme guichetier interroge le systme
central pour sassurer que le compte est
suffisamment approvisionn.

Le systme central effectue le dbit du compte.


Le systme notifie au guichetier quil peut dlivrer le
montant demand.

O. BOUSSAID

Page : 27

U.M.L.

Autres Descriptions

Exemple de scnario

Saisie compte
Validation compte
Demande type dopration
Retrait liquide (220F)
Vrification solde compte
Dbit compte

Autorisation dlivrance
t

Guichetier

Systme central

Systme guichet

Exemple de diagramme de collaboration


(6) Dbit compte

Guichetier

(3) Demande type


dopration

(4) Retrait espces


.
(200F)

(7) Autorisation
dlivrance

Systme Central

(5) vrification solde


compte

(2) Validation compte


(1) Saisie compte

O. BOUSSAID

Systme guichetier

Page : 28

U.M.L. Diagramme des Use Cases

Application bancaire (systme)

Responsable
Devises

Guichetier
Retrait francs

Saisie cours
devises
Retrait devises

emprunt
Directeur

bilan

Systme central

Lintgration dans lUse Case Application bancaire des


use cases de chaque opration permet davoir une vision
globale du systme. Elle permet galement de
comprendre le rle de chaque acteur.
.

O. BOUSSAID

Page : 29

U.M.L.

Relation extends

La relation extends
Un ou plusieurs use cases peuvent hriter des
caractristiques dun autre use case.
Application bancaire
(systme)

Guichetier

Retrait francs

Extends

Retrait

Systme central

Extends

Retrait devises

Les Uses Cases fils ont les mmes liens avec les
acteurs et les autres use cases que le use case dont
ils hritent.
Ceux sont de cas particuliers du Uses Case pre.

O. BOUSSAID

Page : 30

U.M.L.

Relation uses

La relation uses
Soit luse case Saisie n compte

Le guichetier saisit le code de la banque du compte.


Il saisit le numro du compte.
Il saisit la cl du compte.
Le systme calcule la cl du compte et vrifie quelle est bonne.
Le systme interroge le compte sur le systme central.
Le systme affiche le compte ainsi que son dtenteur.
Application bancaire (systme)

Retrait devises

Retrait
francs

uses

uses

Emprunt

uses

Saisie n compte

Lorsque une ou plusieurs tches sont utilises rgulirement, on


peut les factoriser dans un mme use case et faire de telle sorte que
dautres use cases lutilisent en le pointant par une flche.
Cet use case est en fait une sous partie de chaque use case qui
lutilise. Ce qui permet de dcomposer un use case complexe en
plusieurs uses cases.

O. BOUSSAID

Page : 31

U.M.L.

Le Modle Objet

Exprime

Comprend
Analyste

Utilisateur

cas d'utilisation
Ralise
Conoit
vrifie

Programmeur

Architecte

Testeur

Les cas d'utilisation servent de fil conducteur


pour l'ensemble du proie

O. BOUSSAID

Page : 32

U.M.L.

Le Modle Objet

DMARCHE D'APPLICATION D'UML


Nous proposons de suivre une dmarche structure en sept tapes.

tape 1 : laboration d'un diagramme de contexte


du systme tudier: comme nous l'avons dj dit

dans la prsentation d'OMT, il est important de


dmarrer une analyse par le positionnement le plus
prcis possible du champ du systme tudier. No
recommandons donc d'laborer un diagramme de
contexte du systme tudier.

tape 2 : identification et reprsentation des cas

d'utilisation : les fonctions du systme sont identifies

en recherchant les cas d'utilisation du systme qui seront


mis en oeuvre par les diffrents acteurs. Le diagramme
des cas d'utilisation est labor.
tape 3 : description et reprsentation des scnarios

chaque cas d'utilisation se traduit par un certain nombre de


scnarios. Chaque scnario fait l'objet d'une description te
ruelle. Chaque scnario est ensuite dcrit sous forme
graphique l'aide du diagramme de squence et/ou

diagramme de collaboration.

tape 4 : identification des objets et classes : une

premire identification des objets classes est fournie par la


synthse des diagrammes de squence et/ou de collaboration
Ainsi une liste de tous les objets et toutes les classes
manipuls peut tre dresse.
O. BOUSSAID

Page : 33

U.M.L.
tape 5 : laboration

Le Modle Objet
du diagramme de classe :

partir des classes identifies, une premire version du


modle objet est labore. Les classes du modle objet
corresponde soit des proccupations mtier soit des
ncessits techniques.

tape 6 : laboration du diagramme tat-transition:

pour chaque classe importante c'est dire prsentant un


intrt pour le systme modliser, un diagramme tattransition est labor.

tape 7 : consolidation et vrification des modles :

le concepteur doit ensuite it les tapes 3, 4, 5 et 6

jusqu'au moment o il considrera qu'il atteint le niveau


de d suffisant pour la description du systme.

O. BOUSSAID

Page : 34

U.M.L.

Le Modle Objet

Cela consiste dfinir les objets qui vont modliser


les besoins qui ont t exprim en termes de
fonctionnalits.

Le passage de cet aspect fonctionnel un


aspect objet nest certes pas vident.
La description des objets est structurelle.
Par ailleurs, on dterminera les liens entre les diffrents objets.

Les Objets et leurs liens reprsentent ainsi le

modle statique
Les objets dtermins serviront lors des phases analyse,
conception et plus tard limplmentation.

O. BOUSSAID

Page : 35

U.M.L.

Les diffrents concepts

Concept de classe et d objet


Les objets du modle statique sont une
reprsentation (modlisation) des objets (monde
rel), qui seront en gnral ceux quon retrouve lors
de limplmentation sous la mme forme ou sous
une forme diffrente.
Ils sont munis de donnes encapsules dans les
objets, reprsentant leurs attributs et leurs
oprations (mthodes).
0..1
Lecteur
Emprunteur

Emprunte
r

0..3

Ouvrag
e
Objet prt

Exemple de classes

Chaque objet dune classe a une identit propre et na


donc pas besoin dun identificateur, sauf si celui-ci est un
identificateur mtier prexistant comme un n INSEE.

O. BOUSSAID

Page : 36

U.M.L.

Les diffrents concepts

Le nombre dattributs et de mthodes quon


dfinira dpend du niveau de granularit quon
veut obtenir.

Exemple :
0..1

Emprunte
r

Lecteur

0..3

Ouvrag
e
Objet prt

Emprunteur

Dupont : Lecteur
0..1
Nom : Dupont
Prnom : olivier
Adresse : Inconnue

Emprunte
r

0..3

Les B.D.R.
Ouvrage

Exemple de classes et dobjet

O. BOUSSAID

Page : 37

U.M.L.

Association et Classe
d associations

Entre les 2 classes Lecteur et Ouvrage , il existe un lien qui reprsente un


emprunt douvrage par un lecteur. Il est matrialis par un lien entre les 2
classes et il peut tre caractris par :
Un nom
Deux noms de rle facultatifs
Un sens de lecture
Deux cardinalits.

Une cardinalit peut tre reprsente par un nombre, une * par


linfini ou un intervalle.
Une association peut ncessiter des donnes et aussi des
oprations : il est alors tout indiqu de lui construire une classe.
Exemple
Lecteur
Nom
Prnom
Adresse

0..1

Emprunte
r

0..3

Ouvrag
e

Prt
dure
date
Prolonger()

Classe dassociation
On peut choisir parfois entre rajouter une donne dans une classe ou
crer une classe propre.
Dautre part, il est possible de mettre la donne dans une structure
classique mais ceci peut savrer lourd grer et ne peut dautre part
assurer la persistance de la donne.

O. BOUSSAID

Page : 38

U.M.L.

Diagramme des Classes

Le modle objet sera reprsent par un diagramme de classes


o chacune sera dcrite avec ses attributs et ses mthodes :
Nom de la classe
attribut : type = valeur initiale
opration(liste darguments) : rsultat
renvoy

Diagramme dune classe


La dtermination des classes lors de la phase danalyse nest pas
vidente. Elle suit une mthode plutt intuitive, base sur
lexprience de lanalyste qui a (ou na pas) lhabitude de reconnatre
plus ou moins facilement les classes, les objets , les associations,
les attributs et les mthodes des classes.
Lanalyste pourra se demander alors quels sont les objets de
gestion dans le problme tudi et se rfrer galement aux rgles
de gestion pour identifier les objets rels ainsi que leurs liens et
quil va falloir modliser sous formes de classes et
dassociations.
Le parallle avec le modle E/A est intressant faire lors de
la phase danalyse.

O. BOUSSAID

Page : 39

U.M.L. Gnralisation ; Spcialisation

Classe mre

Spcialisation

Gnralisation

Classe fille

Concepts de Spcialisation et de Gnralisation

La modlisation de la notion dhritage dans un modle


statique peut se faire par lintermdiaire de la gnralisation
qui permet une organisation des classes et des
regroupements smantiques de classes.

O. BOUSSAID

Page : 40

U.M.L. Gnralisation et Spcialisation


Exemple :
uvre
dure
1
Diffuser
*
Support
MatrielNcessaire

Livre

CDAudio

CasetteVido

Exemple de classe abstraite


La gnralisation permet de simplifier le diagramme des
classes. La spcialisation permet dtablir une relation de type
est un ou est une sorte de .

O. BOUSSAID

Page : 41

U.M.L.

Classes abstraites

Il existe des classes quon ne peut instancier, car elle


sont trop gnrales.
Elle servent mettre en commun des
caractristiques communes certaines classes, cest
le cas de la classe Support : Cest une

classe

abstraite.
Celle-ci doit toujours tre suivie de classes drives.
Dans lexemple prcdent les classes drives sont
Livre, CDAudio et CassetteVido.
Elle permettent de reprsenter des concepts
importants dans une application.

O. BOUSSAID

Page : 42

U.M.L. Hritage simple ou multiple (1)


Lhritage peut tre simple (c.a.d. une classe qui
hrite na quune seule classe mre) ou multiple (c.a.d. la
classe a plusieurs classes mres).

Ce dernier permet une structuration multiple du diagramme des


classes, cependant il induit tout de mme une certaine complexit.

Tous les langages de programmation ne grent pas lhritage


multiple.

On peut contourner lhritage multiple ds la phase danalyse.


Exemple :
Compte Bancaire

Montant

Compte Chque

Compte Epargne

ChquierEm
is
Dbiter()

Intrt
Dbiter()

Compte Chque Rmunr

Hritage Multiple
O. BOUSSAID

Page : 43

U.M.L. Hritage simple ou multiple (2)

Compte Bancaire
Montant

Compte Bancaire
Montant

Compte Chque
Rmunr

CompteChqueRmunr
1

1
1

CompteEpargne

CompteChqu
e

1
CompteEpargne

Hritage Simple : 2 solutions

O. BOUSSAID

Page : 44

Agrgation

U.M.L.

Lorsquune association entre deux instances dune classe a en plus


une particularit dont le sens est du style : une instance est
compose dune ou plusieurs autres instances , on peut alors
qualifier cette association dagrgation.
On peut dire galement quune agrgation est une association de
type ComposComposant . O, linstance compos

lagrgat
agrges.
est

et

les

composants

sont

les

instances

Exemple :

Universit
1

Facults

Dpartements

gre

*
Etudiants

Agrgation

O. BOUSSAID

Page : 45

Agrgation (2)

U.M.L.

Une agrgation peut tre perue comme une association.


Cependant une association ne peut tre une agrgation.
Si une association a les caractristiques suivantes, elle peut
alors tre reprsente par une agrgation :
Lassociation

une smantique de style


compose de ... ou est une partie de ... .

est

Il existe une forte diffrence de granularit entre une


classe (lagrgat) et dautres classes (les agrgs).

La suppression dun objet agrgat ferait disparatre les


objets agrgs.
La modification dun attribut dun objet agrgat porte
aussi sur aussi sur les attributs des objets agrgs.
La dfinition dune mthode de lobjet agrgat repose sur
celles des objets agrgs et peuvent porter dailleurs le
mme nom.

O. BOUSSAID

Page : 46

U.M.L.

Association unaire et
Agrgation rcursives

Une classe peut avoir des instances qui sont en association


entre elles.

Elment

Electeur
*

Etudiant
Dlgu

Reprsente

Association unaire
(rflexive)

O. BOUSSAID

Collectio
n

ObjetSimpl
e

Agrgation rcursive

Page : 47

U.M.L.

Qualificateurs

Le rle dun qualificateur est de rduire la cardinalit dune


association et joue le rle semblable une cl primaire dans une
BDR.
Il permet de tenir un dictionnaire compos de :

qualificateur

Enseignement

UV

objet(s) qualifi(s).

Enseignant

O. BOUSSAID

Page : 48

U.M.L.

Interfaces

Une interface est une classe qui ne peut contenir que des
oprations.
Elle ne vhicule que la smantique de ses oprations et ne dit rien
sur la faon de les implmenter.
On dit alors quune classe qui implmente ces oprations
implmente linterface.
interface

Comparable
>
<
=

Comparable
EntierNaturel

Contenir

CollectionOrdonn
e
Liste de comparable

Interfaces
On peut crer plusieurs interfaces et les faire hriter entre elles.
Les interfaces prsentent un caractre daptitude que dautres classes ne
peuvent encapsuler.
Cest ce qui permet de distinguer entre une gnralisation et une interface.

O. BOUSSAID

Page : 49

U.M.L.

Packages

Un package permet de regrouper un ensemble de classes,


dassociations et ventuellement dautres packages.
Il permet de dcouper une systme en plusieurs parties
reprsentes chacune par un package.
Les packages peuvent avoir des actions entre eux.

Facturation

Client

Comptabilit

Organisation par packages

O. BOUSSAID

Page : 50

U.M.L.

Packages (2)

Client
Facturation :: Facture
*

Socit

Client
Concerner

Acheter
1

Commande

Produit

Contenu dun package


Une classe peut apparatre dans diffrents packages (avec le
mme nom).
On y trouve mme des classes qui nappartiennent pas au
package mais qui sont rfrences par les classes propres.
On dsigner une classe dun package par :

nomPackage :: nomClasse
O. BOUSSAID

Page : 51

U.M.L.

Strotypes

Cest un concept qui permet des regroupements


de classes, dassociations, de mthodes,
dattributs, de packages

Il permet de crer des familles dlments associs


un mme strotype.

Dautre part, il permet de modifier la smantique


des lments associs et cre par la mme
occasion des concepts propres une application.

Linterface est un exemple de strotype.

O. BOUSSAID

Page : 52

U.M.L.

Contraintes

Elles permettent dapporter plus de prcisions


un lment du modle.
Exemple :

Notes

{Ordonne}
*

Obtenir

Etudiant

EtreInscritEn

Etudiant
*

O. BOUSSAID

Diplme

{Sous ensemble}
EtreMajorDe

Page : 53

U.M.L.

LE MODELE DYNAMIQUE

Ile vient juste aprs lanalyse statique du modle.


Cette dernire dcrit la structure des lments du
modle ainsi que leurs relations.
Quant lanalyse dynamique , elle a pour but
de dcrire les tats des objets au cours du
fonctionnement du systmes :
modifications des attributs ;
excutions des mthodes ;
ractions des sollicitations externes au
systme;

O. BOUSSAID

Page : 54

La notion d Etat

U.M.L.
tat

dun objet est dfini la fois par la valeurs de ses


attributs et de ses liens avec les autres objets.
Un

Il reprsente ainsi un intervalle de temps.


Lobjet est dans un tat initial et peut alors changer dtat.
Exemple

:
Etudiant
InscritEn

Nom
Prnom
ge
Statut

*
Diplme

Pratiquer

0..*

Sport

Ici lobjet Etudiant peut passer dun tat Etudiant un tat de


diplm un tat de sportif,
Cest lattribut Statut qui va changer de valeur.

Reprsentation d un tat :

Etudiant
Diplm

O. BOUSSAID

Sportif

Page : 55

U.M.L.

Evnements et messages

Un vnement est produit par un fait et vhicule une


information qui va solliciter un ou plusieurs objets.
Soit ils rpondront en activant une mthode ; soit ils ne
ragiront pas du tout. Cela dpend de ltat dans lequel
se trouve(nt) l (les) objet(s).
Un vnement peut tre interne ou externe au systme.
Lorsquun objet provoque un vnement en direction dun
autre objet, ce dernier peut rpondre en dclenchant une
de ses mthodes.
Cest une interaction entre ces deux objets.
Lvnement est qualifi alors de message entre ces
deux objets.

O. BOUSSAID

Page : 56

Transition

U.M.L.

Une transition est le passage dun objet dun tat


un autre d un vnement.

Rinscription
autre diplme

Etudiant

Changer statut

Fin dtudes
Suivre paralllement

Diplm

O. BOUSSAID

Changer carrire

Sportif

Page : 57

Diagramme d tats

U.M.L.

graphe compos de nuds reprsentant des tats


dun objet dune classe et les arcs sont les transitions portant des
Cest un

vnements.
Un diagramme dtats est propre une classe dobjets.
Un tat dun objet peut correspondre des sous tats . Cela
dpend du niveau de granularit quon dsire.
Exemple :
ltat Sportif peut tre reprsent par trois sous
tats : Athlte Haut Niveau ; Slection en E.N. et
Comptition.
Les sous tats sont reprsents comme des tats.
Dans un diagramme dtats on peut dvelopper un tat dun objet
par un sous diagramme dtats avec des points dentre et des
points de sortie. De telle sorte on peut passer dun tat un sous
tat et inversement.
Convocation

Athlte Haut Niveau


Slection en Equipe
Nationalle
Disputer
Suivre paralllement

Comptition
Changer carrire

Sous diagramme dtats.


O. BOUSSAID

Page : 58

Concepts lis aux


Diagramme d tats

U.M.L.

Les attributs
Ceux sont des paramtres ports par des
vnements. Ils sont reprsents dans une liste
(utilisation des ( ) ) . Une transition peut porter une
liste dattributs.

Les gardiens
Ceux sont des fonctions boolennes qui
conditionnent le dclenchement dune transition.
(utilisation des [ ] ).

Les activits
Ceux sont des oprations continues dans le temps et
sexcutent tardivement. Une activit est forcment
associe un tat. Il est prcde du mot cl do.

Les actions
Ceux des oprations qui sexcutent instantanment.
Une action peut tre associ un tat ou une
transition. Elle peut intervenir :
soit en entre dtat (elle sera prfixe par entry/) ;
soit en sortie dtat (elle sera prfixe par exit/) ;
soit en rponse un vnement dclencheur (elle sera
prfixe par le nom dvnement vnement1/) ;
soit enfin au cours dune transition (elle est prfixe

par /).
O. BOUSSAID

Page : 59

Concepts lis aux


Diagramme d tats (2)

U.M.L.

Les attributs
Les gardiens
Les activits
Les actions
ETAT 1
-entry/action en entre dtat
-do :activit pendant ltat
-vnemen1 / action1
-vnemen2 / action1
-

-exit / action en sortie dtat

Evnement (attributs)
[gardiens] / action

Etat 2

O. BOUSSAID

Page : 60

Concepts lis aux


Diagramme d tats (3)

U.M.L.
Remarque

Plusieurs sous diagrammes dtats peuvent


intervenir en mme temps. Ils se droulent en
concurrence ou en synchronisation.
Lorsquils sont en concurrence, le
premier sous diagramme dtat bloque
les autres et fait quitter ltat englobant
vers un autre tat.
Lorsquils sont en synchronisation,
la transition de ltat englobant vers un
autre tat ne seffectue que lorsque tous
les sous diagrammes le permettent.
Aucun sous diagramme ne peut tre
interrompu.

O. BOUSSAID

Page : 61

U.M.L.

Concepts lis aux


Diagramme d tats (4)

Inscrit ANPE
AcceptationInsciption

Petites annonces

Allocation
chmage
Proposition ANPE

OU

Proposition Entrevue

En PhaseEmbauche

- Sous diagramme dtat en concurrence.

Demander Cong

Assurer Fonctions
ET

En cong

- Sous diagramme dtat en synchronisation.


O. BOUSSAID

Page : 62

Vous aimerez peut-être aussi