Professional Documents
Culture Documents
Lapproche Objet
dabord
Une
mthodologie de
conception
Page : 1
U.M.L.
Lapproche 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 .
Page : 2
Page : 3
Linstanciation
Nom : Durant
Capital UV : capital2
Diplme : licence de
Socio.
VrifierNom
MajUV
ChangerDiplme
Page : 4
U.M.L.
Les messages
messages.
U.M.L. LEncapsulation
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).
Page : 6
U.M.L.
Labstraction
Page : 7
U.M.L.
Labstraction
Exemple:
La donne Capital UV nest modifiable
que par la mthode MajUV.
Page : 8
U.M.L.
LHritage
la classe Etudiant :
nom
capital UV
diplme
la classe Etudiant-Elu :
nom
capital UV
diplme
Mandat
Syndicat
VrifierNom
MajUV
ChangerDiplme
VrifierNom
MajUV
ChangerDiplme
DmissionnerMandat
ChangerSyndicat
Lobjet
La
classe
Etudiant-Elu
est
une
spcialisation de la classe Etudiant. Cest
une sous classe de la classe Etudiant.
Page : 9
U.M.L.
LHritage
de classes
Page : 10
La classe Etudiant-Elu:
nom
capital UV
diplme
nom
capital UV
diplme
Mandat
Syndicat
VrifierNom
MajUV
ChangerDiplme
VrifierNom
MajUV
ChangerDiplme
DmissionnerMandat
ChangerSyndicat
U.M.L.LHritage 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
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?
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.
Page : 13
Dmarche mthodologique
U.M.L. de construction dune
application
les diffrentes tapes:
mthode:
formalisme:
langage de reprsentation
graphique.
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:
lapplication
lobjet).
(Etats
et
Limplmentation:
Cest la ralisation de la programmation.
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
Page : 17
de
maintenances
sont
qui
Page : 18
Spcification
Implmentation
Tests
de
vrification
Analyse
Conception
Validation
Maintenance
et
volution
Page : 19
Validation des
besoins
Spcifications
fonctionnelles
Validation fonctionnelle
Conception du
systme
Tests du
systme
Conception des
composants
Tests des
composants
Implmentation
U.M.L.
Un cycle itratif:
Tests de
vrification
Expression des
besoins
Spcifications
fonctionnelles
Implmentation
Conception
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.
Page : 23
U.M.L.
Ide :
use cases
Les
(cas dutilisation) sont
un concept de la mthode OOSE de Ivar
Jacobson.
dlimitation du
systme et de dcrire son comportement.
Page : 24
U.M.L.
Les acteurs
Page : 25
U.M.L.
?
Exemple de Use case
Page : 26
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
(3) Demande
type
dopration
(4) Retrait
.
espces (200F)
(7) Autorisation
dlivrance
Systme Central
(5) vrification
solde compte
Page : 28
Responsable
Devises
Guichetier
Retrait francs
Saisie cours
devises
Retrait devises
emprunt
Directeur
bilan
Systme central
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
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
U.M.L.
Le Modle Objet
Exprime
Comprend
Analyste
Utilisateur
cas d'utilisation
Ralise
Conoit
vrifie
Programmeur
Architecte
Testeur
Page : 32
U.M.L.
Le Modle Objet
tape 1 : laboration
U.M.L.
tape 5 : laboration
Le Modle Objet
du diagramme de classe :
tape 6 : laboration
du diagramme tat-transition:
tape 7 : consolidation
Page : 34
U.M.L.
Le Modle Objet
modle statique
Les objets dtermins serviront lors des phases analyse,
conception et plus tard limplmentation.
Page : 35
U.M.L.
Concept de
classe et d objet
Emprunter
0..3
Ouvrag
e
Objet prt
Exemple de classes
Page : 36
U.M.L.
Emprunter
0..3
Ouvrag
e
Objet prt
Lecteur
Emprunteur
Dupont : Lecteur
0..1 Emprunter
Nom : Dupont
Prnom : olivier
Adresse : Inconnue
0..3
Les B.D.R.
Ouvrage
Page : 37
U.M.L.
Association et Classe
d associations
0..1
Emprunter
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 .
Page : 38
U.M.L.
Page : 39
Classe mre
Gnralisation
Spcialisation
Classe fille
Page : 40
Livre
CDAudio
CasetteVid
o
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.
Page : 42
Exemple:
Compte
Bancaire
Montant
Compte
Chque
ChquierEm
is
Dbiter()
Compte
Epargne
Intrt
Dbiter()
Compte Chque
Rmunr
Hritage Multiple
Page : 43
Compte Bancaire
Montant
Compte
Bancaire
Montant
Compte Chque
Rmunr
CompteChqueRmu
nr
1
1
1
1
CompteEpargne
CompteCh
que
1
CompteEparg
ne
Page : 44
U.M.L.
Agrgation
Universit
1
gre
Facults
Dparteme
nts
*
Etudian
ts
Agrgation
Page : 45
U.M.L.
Agrgation (2)
Lassociation
est
Page : 46
U.M.L.
Association unaire et
Agrgation rcursives
Elment
Electeur
*
Etudian
t
Dlgu
1
Reprsente
Association unaire
(rflexive)
Collecti
on
ObjetSim
ple
Agrgation rcursive
Page : 47
U.M.L.
Qualificateurs
qualificateur
Enseignem
ent
UV
objet(s) qualifi(s).
Enseignan
t
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
Comparabl
e
>
<
=
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.
Page : 49
U.M.L.
Packages
Facturation
Client
Comptabilit
Page : 50
U.M.L.
Packages (2)
Client
Facturation :: Facture
*
Socit
Client
Concerner
1
Acheter
Commande
Produit
nomPackage :: nomClasse
Page : 51
U.M.L.
Strotypes
Page : 52
U.M.L.
Contraintes
Notes
{Ordonne}
*
Obtenir
Etudiant
EtreInscritEn
Etudiant
{Sous ensemble}
EtreMajorDe
Diplm
e
Page : 53
U.M.L.
LE MODELE
DYNAMIQUE
Page : 54
U.M.L.
La notion d Etat
tat
:
Etudiant
InscritEn
Nom
Prnom
ge
Statut
*
Diplme
Pratiquer
0..*
Sport
Reprsentation d un tat :
Etudiant
Diplm
Sportif
Page : 55
U.M.L.
Evnements et
messages
Page : 56
U.M.L.
Transition
Rinscription
autre diplme
Etudiant
Fin dtudes
Diplm
Changer statut
Suivre paralllement
Changer carrire
Sportif
Page : 57
U.M.L.
Diagramme d tats
Comptition
Changer carrire
U.M.L.
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 /).
Page : 59
U.M.L.
Evnement (attributs)
[gardiens] / action
Etat 2
Page : 60
U.M.L.
Remarque
Page : 61
U.M.L.
Petites annonces
Allocation
chmage
Proposition ANPE
OU
Proposition Entrevue
En
PhaseEmbauche
Demander Cong
Assurer Fonctions
ET
En cong