Vous êtes sur la page 1sur 62

U.M.L.

Page : 1
O. BOUSSAID






L approche Objet



d abord


Une mthodologie de
conception
U.M.L.
Page : 2
O. BOUSSAID


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 .
U.M.L.
Page : 3
O. BOUSSAID


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 :
















nom
capital UV
diplme
VrifierNom
MajUV
ChangerDiplme
OBJET Etudiant
U.M.L.
Page : 4
O. BOUSSAID


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.











Deux instances dune mme classe peuvent avoir
des attributs avec des valeurs diffrentes et mais
partagent les mmes mthodes.


Nom : Dupont Nom : Durant
Capital UV : capital
1
Capital UV : capital
2
Diplme : matise de
Sciences Eco.
Diplme : licence de
Socio.
VrifierNom VrifierNom
MajUV MajUV
ChangerDiplme ChangerDiplme
U.M.L.
Page : 5
O. BOUSSAID


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.
U.M.L.
Page : 6
O. BOUSSAID


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).


U.M.L.
Page : 7
O. BOUSSAID


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.

U.M.L.
Page : 8
O. BOUSSAID


L abstraction



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.
U.M.L.
Page : 9
O. BOUSSAID


L Hritage


















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.



la classe Etudiant : la classe Etudiant-Elu :
nom nom
capital UV capital UV
diplme diplme
Mandat
Syndicat
VrifierNom VrifierNom
MajUV MajUV
ChangerDiplme ChangerDiplme
DmissionnerMandat
ChangerSyndicat
U.M.L.
Page : 10
O. BOUSSAID


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.

U.M.L.
Page : 11
O. BOUSSAID


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 :

























La Classe JeuneAdulte a des proprits communes aux
classes Etudiant et Etudiant-Elu. Mais on ne peut
linstancier.
Soit la classe JeuneAdulte
Graduation
Adresse
tlphone
Service Militaire
RdigerCV
AfficherCV
Et :
La classe Etudiant : La classe Etudiant-Elu:
nom nom
capital UV capital UV
diplme diplme
Mandat
Syndicat
VrifierNom VrifierNom
MajUV MajUV
ChangerDiplme ChangerDiplme
DmissionnerMandat
ChangerSyndicat
U.M.L.
Page : 12
O. BOUSSAID


L Hritage multiple


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



































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 ?
Exemple
Classe C1 :
At1
At2
Mt1
Mt2

Classe C2 :

Classe C3 :
At1 ; At21

At1 ; At31
At2 ; At22

At2 ; At32
At23

At33
Mt1 ; Mt21

Mt1 ; Mt31
Mt2 ; Mt22

Mt2 ; Mt32


Mt33

Soit la classe C50 :
At1 ; At2 ;
At21 ;At22
At23 ; At31 ;
At32, At33;At51
Mt1 ; Mt21
Mt2 ; Mt22
Mt31; Mt32 .
Mt33
Mt51

U.M.L.
Page : 13
O. BOUSSAID


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.
U.M.L.
Page : 14
O. BOUSSAID


Dmarche mthodologique
de construction dune application


les diffrentes tapes :

mthode : guide de description dune forme de
modle une autre.

formalisme : langage de reprsentation graphique.


E Expression des besoins
E Spcification
E Analyse
E Conception
E Implmentation
E Tests de vrification
E Validation
E Maintenance et volution
U.M.L.
Page : 15
O. BOUSSAID





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).
U.M.L.
Page : 16
O. BOUSSAID





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.


U.M.L.
Page : 17
O. BOUSSAID





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.
U.M.L.
Page : 18
O. BOUSSAID





Les diffrentes tapes (4)



- Maintenance et volution

Deux sortes de maintenances sont considrer :

.Une maintenance corrective, qui consiste
traiter les buggs .

.Une maintenance volutive, qui permet au
systme dintgrer de nouveaux besoins ou des
changements technologiques.
U.M.L.
Page : 19
O. BOUSSAID





Les diffrents cycles de vie



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.
Expression des
besoins
Spcification Analyse Conception
Implmentation
Tests
de
vrification
Validation
Maintenance
et
volution
Il existe 2 cycles de vie utilises dans les
approches traditionnelles : le modle linaire et
le modle en V .
Le modle linaire
U.M.L.
Page : 20
O. BOUSSAID





Les diffrents cycles de vie


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.
Expression des besoins
Conception du
systme
Conception des
composants
Implmentation
Tests des
composants
Tests du
systme

Validation fonctionnelle
Spcifications
fonctionnelles
Validation des
besoins
Le modle en V

U.M.L.
Page : 21
O. BOUSSAID





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.
U.M.L.
Page : 22
O. BOUSSAID





Le cycle de vie Objet




Un cycle itratif :

Expression des
besoins
Spcifications
fonctionnelles
Conception
Analyse
Implmentation
Tests de
vrification
Validation des besoins
U.M.L.
Page : 23
O. BOUSSAID





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.

U.M.L.
Page : 24
O. BOUSSAID





Les USE CASES



Ide :
Les use cases (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
U.M.L.
Page : 25
O. BOUSSAID





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.

U.M.L.
Page : 26
O. BOUSSAID


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
U.M.L.
Page : 27
O. BOUSSAID


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.
U.M.L.
Page : 28
O. BOUSSAID


Autres Descriptions

- Exemple de scnario












.
Guichetier Systme guichet Systme central
Saisie compte
Validation compte
Demande type dopration
Retrait liquide (220F)
Vrification solde compte
Dbit compte
Autorisation dlivrance
t
Systme guichetier
Guichetier
Systme Central
(1) Saisie compte
(2) Validation compte
(3) Demande type
dopration
(4) Retrait espces
(200F)
(5) vrification solde
compte
(6) Dbit compte
(7) Autorisation
dlivrance
- Exemple de diagramme de collaboration
U.M.L.
Page : 29
O. BOUSSAID


Diagramme des Use Cases















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.
.
Guichetier
Directeur
Responsable
Devises
Systme central
Application bancaire (systme)
Retrait francs
Retrait devises
emprunt
bilan
Saisie cours
devises
U.M.L.
Page : 30
O. BOUSSAID


Relation extends

La relation extends

Un ou plusieurs use cases peuvent hriter des
caractristiques dun autre use case.











Application bancaire
(systme)
Guichetier
Systme central
Retrait francs
Retrait devises
Retrait
Extends
Extends
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.
U.M.L.
Page : 31
O. BOUSSAID


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
francs
Retrait devises
uses
Saisie n compte
uses
Emprunt
uses
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.
U.M.L.
Page : 32
O. BOUSSAID


Le Modle Objet
Les cas d'utilisation servent de fil conducteur
pour l'ensemble du proie
cas d'utilisation
Utilisateur
Exprime
Programmeur
Ralise
Analyste
Comprend
Architecte
Conoit
Testeur
vrifie
U.M.L.
Page : 33
O. BOUSSAID


Le Modle Objet
DMARCHE D'APPLICATION D'UML

Nous proposons de suivre une dmarche structure en sept tapes.
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.
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 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 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.
U.M.L.
Page : 34
O. BOUSSAID


Le Modle Objet

tape 5 : laboration 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 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.
tape 6 : laboration du diagramme tat-transition:
pour chaque classe importante c'est dire prsentant un
intrt pour le systme modliser, un diagramme tat-
transition est labor.
U.M.L.
Page : 35
O. BOUSSAID


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.
U.M.L.
Page : 36
O. BOUSSAID


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).




Lecteur
Ouvrag
e
0..1 0..3 Emprunte
r
Emprunteur
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.
U.M.L.
Page : 37
O. BOUSSAID


Les diffrents concepts

Le nombre dattributs et de mthodes quon
dfinira dpend du niveau de granularit quon
veut obtenir.

Exemple :












Lecteur
Ouvrag
e
0..1 0..3 Emprunte
r
Emprunteur Objet prt
Dupont : Lecteur
Nom : Dupont
Prnom : olivier
Adresse : Inconnue
Les B.D.R.
Ouvrage
0..1 0..3 Emprunte
r
Exemple de classes et dobjet
U.M.L.
Page : 38
O. BOUSSAID


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






Ouvrag
e
Lecteur
Nom
Prnom
Adresse
0..1 0..3 Emprunte
r
Prt
dure
date

Prolonger()
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.
Classe dassociation
U.M.L.
Page : 39
O. BOUSSAID


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
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.
Diagramme dune classe
U.M.L.
Page : 40
O. BOUSSAID


Gnralisation ; Spcialisation











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.
Classe mre
Classe fille
Gnralisation Spcialisation
U.M.L.
Page : 41
O. BOUSSAID


Gnralisation et Spcialisation

Exemple :










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 .

uvre
dure
Support
MatrielNcessaire
Livre
CDAudio CasetteVido
1
*
Diffuser
U.M.L.
Page : 42
O. BOUSSAID


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.


U.M.L.
Page : 43
O. BOUSSAID


Hritage simple ou multiple (1)
E 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).
E Ce dernier permet une structuration multiple du diagramme des
classes, cependant il induit tout de mme une certaine complexit.
E Tous les langages de programmation ne grent pas lhritage
multiple.
E On peut contourner lhritage multiple ds la phase danalyse.

Exemple :













Compte Bancaire
Montant
Compte Chque Rmunr
Compte Chque
ChquierEm
is
Dbiter()
Compte Epargne
Intrt
Dbiter()
Hritage Multiple
U.M.L.
Page : 44
O. BOUSSAID


Hritage simple ou multiple (2)













Hritage Simple : 2 solutions









Compte Bancaire
Montant
Compte Chque
Rmunr
CompteEpargne
1
1
Compte Bancaire
Montant
CompteChqueRmunr
CompteEpargne
CompteChqu
e
1
1
1
1
U.M.L.
Page : 45
O. BOUSSAID


Agrgation
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
est lagrgat et les composants sont les instances
agrges.

Exemple :






Agrgation






Facults Dpartements
1
*
Universit
Etudiants
gre
U.M.L.
Page : 46
O. BOUSSAID


Agrgation (2)

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 a une smantique de style est
compose de ... ou est une partie de ... .

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.
U.M.L.
Page : 47
O. BOUSSAID


Association unaire et
Agrgation rcursives

Une classe peut avoir des instances qui sont en association
entre elles.








Association unaire Agrgation rcursive
(rflexive)


1
*
Etudiant
Dlgu
Reprsente
Electeur
Collectio
n
ObjetSimpl
e
Elment
1
*
U.M.L.
Page : 48
O. BOUSSAID


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 = objet(s) qualifi(s).






.








Association unaire Agrgation rcursive
(rflexive)


UV
Enseignement
1
Enseignant
U.M.L.
Page : 49
O. BOUSSAID


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.










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.
* * Contenir
interface
Comparable
>
<
=

EntierNaturel
CollectionOrdonn
e
Liste de comparable
Comparable
U.M.L.
Page : 50
O. BOUSSAID


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.








Organisation par packages

Client
Facturation
Comptabilit
U.M.L.
Page : 51
O. BOUSSAID


Packages (2)













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
Client
Facturation :: Facture
Client
Socit
Commande Produit
Concerner
1
1
Acheter
1
*
1
*
U.M.L.
Page : 52
O. BOUSSAID


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.












Contenu dun package


U.M.L.
Page : 53
O. BOUSSAID


Contraintes

Elles permettent dapporter plus de prcisions
un lment du modle.

Exemple :

















*
*
{Ordonne}
Notes Etudiant
Obtenir
{Sous ensemble}
EtreMajorDe
EtreInscritEn
* *
Etudiant
Diplme
U.M.L.
Page : 54
O. BOUSSAID


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;
U.M.L.
Page : 55
O. BOUSSAID


La notion d Etat
Un tat dun objet est dfini la fois par la valeurs de ses
attributs et de ses liens avec les autres objets.

Il reprsente ainsi un intervalle de temps.
Lobjet est dans un tat initial et peut alors changer dtat.

Exemple :






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
0..*
*
*
Pratiquer
I nscritEn
Diplme
Sport
Nom
Prnom
ge
Statut
Etudiant
Diplm
Sportif
U.M.L.
Page : 56
O. BOUSSAID


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.


U.M.L.
Page : 57
O. BOUSSAID


Transition



Une transition est le passage dun objet dun tat
un autre d un vnement.




Rinscription
autre diplme
Changer carrire
Changer statut
Suivre paralllement
Fin dtudes
Etudiant
Diplm Sportif
U.M.L.
Page : 58
O. BOUSSAID


Diagramme d tats
Cest un graphe compos de nuds reprsentant des tats
dun objet dune classe et les arcs sont les transitions portant des
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.








Sous diagramme dtats.
Changer carrire
Suivre paralllement
Disputer
Convocation
Athlte Haut Niveau
Slection en Equipe
Nationalle
Comptition
U.M.L.
Page : 59
O. BOUSSAID


Concepts lis aux
Diagramme d tats
-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 /).
U.M.L.
Page : 60
O. BOUSSAID


Concepts lis aux
Diagramme d tats (2)
-Les attributs
-Les gardiens
-Les activits
-Les actions

Evnement (attributs)
[gardiens] / action
ETAT 1
-entry/action en entre dtat
-do :activit pendant ltat
-vnemen1 / action1
-vnemen2 / action1
-
-exit / action en sortie dtat
Etat 2
U.M.L.
Page : 61
O. BOUSSAID


Concepts lis aux
Diagramme d tats (3)
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.


U.M.L.
Page : 62
O. BOUSSAID


Concepts lis aux
Diagramme d tats (4)











- Sous diagramme dtat en concurrence.








- Sous diagramme dtat en synchronisation.
Demander Cong
Assurer Fonctions
En cong
ET
Proposition Entrevue
Proposition ANPE
OU
Petites annonces
Allocation
chmage
Inscrit ANPE
En PhaseEmbauche
AcceptationI nsciption

Vous aimerez peut-être aussi