Académique Documents
Professionnel Documents
Culture Documents
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.
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
Linstanciation
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
O. BOUSSAID
Page : 4
U.M.L.
Les messages
Page : 5
U.M.L.
L Encapsulation
O. BOUSSAID
Page : 6
U.M.L.
L abstraction
O. BOUSSAID
Page : 7
L abstraction
U.M.L.
Exemple :
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
O. BOUSSAID
Page : 9
U.M.L.
L Hritage
lhritage multiple.
O. BOUSSAID
Page : 10
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
Page : 11
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
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
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.
O. BOUSSAID
Page : 14
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 :
Page : 15
Limplmentation :
Cest la ralisation de la programmation.
O. BOUSSAID
Page : 16
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
Une maintenance
traiter les buggs .
O. BOUSSAID
Page : 18
Spcification
Implmentation
Tests
de
vrification
Analyse
Conception
Validation
Maintenance
et
volution
O. BOUSSAID
Page : 19
Validation des
besoins
Spcifications
fonctionnelles
Validation fonctionnelle
Conception du
systme
Tests du
systme
Conception des
composants
Tests des
composants
Implmentation
O. BOUSSAID
Page : 20
Page : 21
U.M.L.
Un cycle itratif :
Expression des
besoins
Tests de
vrification
Spcifications
fonctionnelles
Implmentation
Conception
O. BOUSSAID
Analyse
Page : 22
U.M.L.
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.
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.
O. BOUSSAID
Page : 24
U.M.L.
Les acteurs
O. BOUSSAID
Page : 25
U.M.L.
?
Exemple de Use case
O. BOUSSAID
Page : 26
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
Guichetier
(7) Autorisation
dlivrance
Systme Central
O. BOUSSAID
Systme guichetier
Page : 28
Responsable
Devises
Guichetier
Retrait francs
Saisie cours
devises
Retrait devises
emprunt
Directeur
bilan
Systme central
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
Retrait devises
Retrait
francs
uses
uses
Emprunt
uses
Saisie n compte
O. BOUSSAID
Page : 31
U.M.L.
Le Modle Objet
Exprime
Comprend
Analyste
Utilisateur
cas d'utilisation
Ralise
Conoit
vrifie
Programmeur
Architecte
Testeur
O. BOUSSAID
Page : 32
U.M.L.
Le Modle Objet
diagramme de collaboration.
Page : 33
U.M.L.
tape 5 : laboration
Le Modle Objet
du diagramme de classe :
O. BOUSSAID
Page : 34
U.M.L.
Le Modle Objet
modle statique
Les objets dtermins serviront lors des phases analyse,
conception et plus tard limplmentation.
O. BOUSSAID
Page : 35
U.M.L.
Emprunte
r
0..3
Ouvrag
e
Objet prt
Exemple de classes
O. BOUSSAID
Page : 36
U.M.L.
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
O. BOUSSAID
Page : 37
U.M.L.
Association et Classe
d associations
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.
O. BOUSSAID
Page : 39
Classe mre
Spcialisation
Gnralisation
Classe fille
O. BOUSSAID
Page : 40
Livre
CDAudio
CasetteVido
O. BOUSSAID
Page : 41
U.M.L.
Classes abstraites
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
Montant
Compte Chque
Compte Epargne
ChquierEm
is
Dbiter()
Intrt
Dbiter()
Hritage Multiple
O. BOUSSAID
Page : 43
Compte Bancaire
Montant
Compte Bancaire
Montant
Compte Chque
Rmunr
CompteChqueRmunr
1
1
1
CompteEpargne
CompteChqu
e
1
CompteEpargne
O. BOUSSAID
Page : 44
Agrgation
U.M.L.
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.
est
O. BOUSSAID
Page : 46
U.M.L.
Association unaire et
Agrgation rcursives
Elment
Electeur
*
Etudiant
Dlgu
Reprsente
Association unaire
(rflexive)
O. BOUSSAID
Collectio
n
ObjetSimpl
e
Agrgation rcursive
Page : 47
U.M.L.
Qualificateurs
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
Facturation
Client
Comptabilit
O. BOUSSAID
Page : 50
U.M.L.
Packages (2)
Client
Facturation :: Facture
*
Socit
Client
Concerner
Acheter
1
Commande
Produit
nomPackage :: nomClasse
O. BOUSSAID
Page : 51
U.M.L.
Strotypes
O. BOUSSAID
Page : 52
U.M.L.
Contraintes
Notes
{Ordonne}
*
Obtenir
Etudiant
EtreInscritEn
Etudiant
*
O. BOUSSAID
Diplme
{Sous ensemble}
EtreMajorDe
Page : 53
U.M.L.
LE MODELE DYNAMIQUE
O. BOUSSAID
Page : 54
La notion d Etat
U.M.L.
tat
:
Etudiant
InscritEn
Nom
Prnom
ge
Statut
*
Diplme
Pratiquer
0..*
Sport
Reprsentation d un tat :
Etudiant
Diplm
O. BOUSSAID
Sportif
Page : 55
U.M.L.
Evnements et messages
O. BOUSSAID
Page : 56
Transition
U.M.L.
Rinscription
autre diplme
Etudiant
Changer statut
Fin dtudes
Suivre paralllement
Diplm
O. BOUSSAID
Changer carrire
Sportif
Page : 57
Diagramme d tats
U.M.L.
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
Comptition
Changer carrire
Page : 58
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
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
-
Evnement (attributs)
[gardiens] / action
Etat 2
O. BOUSSAID
Page : 60
U.M.L.
Remarque
O. BOUSSAID
Page : 61
U.M.L.
Inscrit ANPE
AcceptationInsciption
Petites annonces
Allocation
chmage
Proposition ANPE
OU
Proposition Entrevue
En PhaseEmbauche
Demander Cong
Assurer Fonctions
ET
En cong
Page : 62