Vous êtes sur la page 1sur 15

7/27/2017 UML 2 - de l'apprentissage la pratique

Forums Tutoriels Magazine FAQs Blogs Chat Newsletter Rechercher


tudes Emploi Club Contacts

Accueil ALM Java .NET Dv.Web EDI Programmation SGBD Office Solutionsd'entreprise

Applications Mobiles Systmes ALM Merise UML

ACCUEILUML FORUMUML F.A.QUML TUTORIELSUML LIVRESUML OUTILSUML

UML2

Del'apprentissagelapratique
Tabledesmatires

1.Chapitre1Introductionlamodlisationobjet
11.Legnielogiciel
111.L'informatisation
L'informatisationestlephnomneleplusimportantdenotrepoque.Elles'immisce
maintenantdanslaplupartdesobjetsdelaviecouranteetce,quecesoitdansl'objet
proprementdit(1),oubiendansleprocessusdeconceptionoudefabricationdecetobjet.

Actuellement,l'informatiqueestaucurdetouteslesgrandesentreprises.Lesystme
d'informationd'uneentrepriseestcomposdematrielsetdelogiciels.Plusprcisment,les
investissementsdanscesystmed'informationserpartissentgnralementdelamanire
suivante:20%pourlematrielet80%pourlelogiciel.Eneffet,depuisquelquesannes,la
fabricationdumatrielestassureparquelquesfabricantsseulement.Cematrielest
relativementfiableetlemarcheststandardis.Lesproblmeslisl'informatiquesont
essentiellementdesproblmesdelogiciel.

112.Leslogiciels
Unlogicielouuneapplicationestunensembledeprogrammes,quipermetunordinateurou
unsystmeinformatiqued'assurerunetcheouunefonctionenparticulier(exemple:logiciel
decomptabilit,logicieldegestiondesprts).

Leslogiciels,suivantleurtaille,peuventtredveloppsparunepersonneseule,unepetite
quipe,ouunensembled'quipescoordonnes.Ledveloppementdegrandslogicielsparde
grandesquipesposed'importantsproblmesdeconceptionetdecoordination.Or,le
dveloppementd'unlogicielestunephaseabsolumentcrucialequimonopolisel'essentieldu
cotd'unproduit(2)etconditionnesarussiteetsaprennit.

En1995,unetudeduStandishGroupdressaituntableauaccablantdelaconduitedesprojets
informatiques.Reposantsurunchantillonreprsentatifde365entreprises,totalisant8380
applications,cettetudetablissaitque:

http://laurent-audibert.developpez.com/Cours-UML/?page=introduction-modelisation-objet 1/15
7/27/2017 UML 2 - de l'apprentissage la pratique
16,2%seulementdesprojetstaientconformesauxprvisionsinitiales,
52,7%avaientsubidesdpassementsencotetdlaid'unfacteur23avecdiminution
dunombredesfonctionsoffertes,
31,1%onttpurementabandonnsdurantleurdveloppement.

Pourlesgrandesentreprises(quilancentproportionnellementdavantagedegrosprojets),le
tauxdesuccsestde9%seulement,37%desprojetssontarrtsencoursderalisation,50%
aboutissenthorsdlaiethorsbudget.

L'examendescausesdesuccsetd'checestinstructif:laplupartdeschecsproviennentnon
del'informatique,maisdelamatrised'ouvrage(3)(i.e.leclient).Pourcesraisons,le
dveloppementdelogicielsdansuncontexteprofessionnelsuitsouventdesrglesstrictes
encadrantlaconceptionetpermettantletravailengroupeetlamaintenance(4)ducode.Ainsi,
unenouvelledisciplineestne:legnielogiciel.

113.Legnielogiciel
Legnielogicielestundomainederecherchequiatdfini(faitrare)du7au11octobre
1968,GarmischPartenkirchen,sousleparrainagedel'OTAN.Ilapourobjectifderpondre
unproblmequis'nonaitendeuxconstatations:d'unepartlelogicieln'taitpasfiable,
d'autrepart,iltaitincroyablementdifficilederaliserdansdesdlaisprvusdeslogiciels
satisfaisantleurcahierdescharges.

L'objectifdugnielogicielestd'optimiserlecotdedveloppementdulogiciel.L'importance
d'uneapprochemthodologiques'estimposelasuitedelacrisedel'industriedulogiciella
findesannes1970.Cettecrisedel'industriedulogicieltaitprincipalementdue:

l'augmentationdescots
lesdifficultsdemaintenanceetd'volution
lanonfiabilit
lenonrespectdesspcifications
lenonrespectdesdlais.

Lamaintenanceestdevenueunefacettetrsimportanteducycledevied'unlogiciel.Eneffet,
uneenquteeffectueaux.U.en1986auprsde55entreprisesrvleque53%dubudget
totald'unlogicielestaffectlamaintenance.Cecotestrparticommesuit:

34%maintenancevolutive(modificationdesspcificationsinitiales)
10%maintenanceadaptative(nouvelenvironnement,nouveauxutilisateurs)
17%maintenancecorrective(correctiondesbogues)
16%maintenanceperfective(amliorerlesperformancessanschangerles
spcifications)
6%assistanceauxutilisateurs
6%contrlequalit
7%organisation/suivi
4%divers.

Pourapporterunerponsetouscesproblmes,legnielogiciels'intresseparticulirement
lamaniredontlecodesourced'unlogicielestspcifipuisproduit.Ainsi,legnielogiciel
toucheaucycledeviedeslogiciels:

l'analysedubesoin,
l'laborationdesspcifications,
laconceptualisation,
ledveloppement,
laphasedetest,
lamaintenance.

Lesprojetsrelatifsl'ingnierielogiciellesontgnralementdegrandeenvergureetdpassent
souventles10000lignesdecode.C'estpourquoicesprojetsncessitentunequipede
dveloppementbienstructure.Lagestiondeprojetseretrouvenaturellementintimementlie
augnielogiciel.

114.Notiondequalitpourunlogiciel

http://laurent-audibert.developpez.com/Cours-UML/?page=introduction-modelisation-objet 2/15
7/27/2017 UML 2 - de l'apprentissage la pratique
Engnielogiciel,diverstravauxontmenladfinitiondelaqualitdulogicielentermesde
facteurs,quidpendent,entreautres,dudomainedel'applicationetdesoutilsutiliss.Parmi
cesderniersnouspouvonsciter:

Validit:

aptituded'unproduitlogicielremplirexactementsesfonctions,dfiniesparlecahierdes
chargesetlesspcifications.

Fiabilitourobustesse:

aptituded'unproduitlogicielfonctionnerdansdesconditionsanormales.

Extensibilit(maintenance):

facilitaveclaquelleunlogicielseprtesamaintenance,c'estdireunemodification
ouuneextensiondesfonctionsquiluisontdemandes.

Rutilisabilit:

aptituded'unlogicieltrerutilis,entoutouenpartie,dansdenouvellesapplications.

Compatibilit:

facilitaveclaquelleunlogicielpeuttrecombinavecd'autreslogiciels.

Efficacit:

Utilisationoptimaledesressourcesmatrielles.

Portabilit:

facilitaveclaquelleunlogicielpeuttretransfrsousdiffrentsenvironnements
matrielsetlogiciels.

Vrifiabilit:

facilitdeprparationdesprocduresdetest.

Intgrit:

aptituded'unlogicielprotgersoncodeetsesdonnescontredesaccsnonautoriss.

Facilitd'emploi:

facilitd'apprentissage,d'utilisation,deprparationdesdonnes,d'interprtationdes
erreursetderattrapageencasd'erreurd'utilisation.

Cesfacteurssontparfoiscontradictoires,lechoixdescompromisdoits'effectuerenfonctiondu
contexte.

12.Modlisation,cyclesdevieetmthodes
121.Pourquoietcommentmodliser?
121a.Qu'estcequ'unmodle?
Unmodleestunereprsentationabstraiteetsimplifie(i.e.quiexclutcertainsdtails),d'une
entit(phnomne,processus,systme,etc.)dumonderelenvuedeledcrire,del'expliquer
oudeleprvoir.Modleestsynonymedethorie,maisavecuneconnotationpratique:un
modle,c'estunethorieorienteversl'actionqu'elledoitservir.

Concrtement,unmodlepermetderduirelacomplexitd'unphnomneenliminantles
dtailsquin'influencentpassoncomportementdemaniresignificative.Ilrefltecequele
concepteurcroitimportantpourlacomprhensionetlaprdictionduphnomnemodlis.Les
limitesduphnomnemodlisdpendantdesobjectifsdumodle.

Voiciquelquesexemplesdemodles:
http://laurent-audibert.developpez.com/Cours-UML/?page=introduction-modelisation-objet 3/15
7/27/2017 UML 2 - de l'apprentissage la pratique
Modlemtorologique

partirdedonnesd'observation(satellite),ilpermetdeprvoirlesconditions
climatiquespourlesjoursvenir.

Modleconomique

peutparexemplepermettredesimulerl'volutiondecoursboursiersenfonction
d'hypothsesmacroconomiques(volutionduchmage,tauxdecroissance).

Modledmographique

dfinitlacompositiond'unpaneld'unepopulationetsoncomportement,danslebutde
fiabiliserdestudesstatistiques,d'augmenterl'impactdedmarchescommerciales,etc.

Plans

Lesplanssontdesmodlesquidonnentunevued'ensembledusystmeconcern.Par
exemple,danslebtiment,pourlaconstructiond'unimmeuble,ilfautpralablement
laborerdenombreuxplans:

plansd'implantationdubtimentdanssonenvironnement
plansgnrauxdubtimentetdesastructure
plansdtaillsdesdiffrentslocaux,bureaux,appartements
plansdescblageslectriques
plansd'coulementsdeseaux,etc.

Lestroispremiersexemplessontdesmodlesquel'onqualifiedeprdictifs.Ledernier,plus
conceptuel,possdediffrentsniveauxdevuescommelaplupartdesmodlesengnielogiciel.

121b.Pourquoimodliser?
Modliserunsystmeavantsaralisationpermetdemieuxcomprendrelefonctionnementdu
systme.C'estgalementunbonmoyendematrisersacomplexitetd'assurersacohrence.
Unmodleestunlangagecommun,prcis,quiestconnupartouslesmembresdel'quipeetil
estdonc,cetitre,unvecteurprivilgipourcommuniquer.Cettecommunicationest
essentiellepouraboutirunecomprhensioncommuneauxdiffrentespartiesprenantes
(notammententrelamatrised'ouvrageetlamatrised'uvreinformatique)etprcised'un
problmedonn.

Dansledomainedel'ingnieriedulogiciel,lemodlepermetdemieuxrpartirlestcheset
d'automatisercertainesd'entreelles.C'estgalementunfacteurderductiondescotsetdes
dlais.Parexemple,lesplateformesdemodlisationsaventmaintenantexploiterlesmodles
pourfairedelagnrationdecode(aumoinsauniveaudusquelette)voiredesallersretours
entrelecodeetlemodlesansperted'information.Lemodleestenfinindispensablepour
assurerunbonniveaudequalitetunemaintenanceefficace.Eneffet,unefoismiseen
production,l'applicationvadevoirtremaintenue,probablementparuneautrequipeet,qui
plusest,pasncessairementdelammesocitquecelleayantcrl'application.

Lechoixdumodleadoncuneinfluencecapitalesurlessolutionsobtenues.Lessystmesnon
triviauxsontmieuxmodlissparunensembledemodlesindpendants.Selonlesmodles
employs,ladmarchedemodlisationn'estpaslamme.

121c.Quidoitmodliser?
Lamodlisationestsouventfaiteparlamatrised'uvreinformatique(MOE).C'est
malencontreux,carlesprioritsdelaMOErsidentdanslefonctionnementdelaplateforme
informatiqueetnondanslesprocessusdel'entreprise.

Ilestprfrablequelamodlisationsoitraliseparlamatrised'ouvrage(MOA)desorteque
lemtiersoitmatredesespropresconcepts.LaMOEdoitintervenirdanslemodlelorsque,
aprsavoirdfinilesconceptsdumtier,ondoitintroduirelescontraintespropresla
plateformeinformatique.

Ilestvraiquecertainsmtiers,dontlesprioritssontoprationnelles,nedisposentpastoujours
delacapacitd'abstractionetdelarigueurconceptuellencessaireslaformalisation.La

http://laurent-audibert.developpez.com/Cours-UML/?page=introduction-modelisation-objet 4/15
7/27/2017 UML 2 - de l'apprentissage la pratique
professionnalisationdelaMOAapourbutdelesdoterdecescomptences.Cette
professionnalisationrsideessentiellementdansl'aptitudemodliserlesystmed'information
dumtier:lematremotestmodlisation.Lorsquelemodledusystmed'informationestde
bonnequalit,sobre,clair,stable,lamatrised'uvrepeuttravaillerdansdebonnesconditions.
Lorsquecetteprofessionnalisationalieu,ellemodifielesrapportsavecl'informatiqueetdplace
lafrontiredesresponsabilits,cequicontrarieparfoislesinformaticiensdansunpremier
temps,avantqu'ilsn'envoientapparatrelesbnfices.

121d.Matrised'ouvrageetmatrised'uvre
Matred'ouvrage(MOA):

LeMOAestunepersonnemorale(entreprise,direction,etc.),uneentitdel'organisation.
Cen'estjamaisunepersonne.

Matred'uvre(MOE):

LeMOEestunepersonnemorale(entreprise,direction,etc.)garantedelabonne
ralisationtechniquedessolutions.Ila,lorsdelaconceptionduSI,undevoirdeconseil
visvisduMOA,carleSIdoittirerlemeilleurpartidespossibilitstechniques.

LeMOAestclientduMOEquiilpassecommanded'unproduitncessairesonactivit.

LeMOEfournitceproduitsoitilleraliseluimme,soitilpassecommandeunouplusieurs
fournisseurs(entreprises)quilaborentleproduitsoussadirection.

LarelationMOAetMOEestdfinieparuncontratquiprciseleursengagementsmutuels.

Lorsqueleproduitestcompliqu,ilpeuttrencessairedefaireappelplusieursfournisseurs.
LeMOEassureleurcoordinationilveillelacohrencedesfournituresetleurcompatibilit.
Ilcoordonnel'actiondesfournisseursencontrlantlaqualittechnique,enassurantlerespect
desdlaisfixsparleMOAetenminimisantlesrisques.

LeMOEestresponsabledelaqualittechniquedelasolution.Ildoit,avanttoutelivraisonau
MOA,procderauxvrificationsncessaires(recetteusine).

122.Lecycledevied'unlogiciel
Lecycledevied'unlogiciel(enanglaissoftwarelifecycle),dsignetouteslestapesdu
dveloppementd'unlogiciel,desaconceptionsadisparition.L'objectifd'unteldcoupageest
depermettrededfinirdesjalonsintermdiairespermettantlavalidationdudveloppement
logiciel,c'estdirelaconformitdulogicielaveclesbesoinsexprims,etlavrificationdu
processusdedveloppement,c'estdirel'adquationdesmthodesmisesenuvre.

L'originedecedcoupageprovientduconstatqueleserreursontuncotd'autantpluslev
qu'ellessontdtectestardivementdansleprocessusderalisation.Lecycledeviepermetde
dtecterleserreursauplusttetainsidematriserlaqualitdulogiciel,lesdlaisdesa
ralisationetlescotsassocis.

Lecycledeviedulogicielcomprendgnralementauminimumlestapessuivantes:

Analysedesbesoinsetfaisabilit

c'estdirel'expression,lerecueiletlaformalisationdesbesoinsdudemandeur(leclient)
etdel'ensembledescontraintes,puisl'estimationdelafaisabilitdecesbesoins

Spcificationsouconceptiongnrale

ils'agitdel'laborationdesspcificationsdel'architecturegnraledulogiciel

Conceptiondtaille

cettetapeconsistedfinirprcismentchaquesousensembledulogiciel

Codage(Implmentationouprogrammation)

http://laurent-audibert.developpez.com/Cours-UML/?page=introduction-modelisation-objet 5/15
7/27/2017 UML 2 - de l'apprentissage la pratique
c'estlatraductiondansunlangagedeprogrammationdesfonctionnalitsdfinieslorsde
phasesdeconception

Testsunitaires

ilspermettentdevrifierindividuellementquechaquesousensembledulogicielest
implmentconformmentauxspcifications

Intgration

l'objectifestdes'assurerdel'interfaagedesdiffrentslments(modules)dulogiciel.
Ellefaitl'objetdetestsd'intgrationconsignsdansundocument

Qualification(ourecette)

c'estdirelavrificationdelaconformitdulogicielauxspcificationsinitiales

Documentation

elleviseproduirelesinformationsncessairespourl'utilisationdulogicieletpourdes
dveloppementsultrieurs

Miseenproduction

c'estledploiementsursitedulogiciel

Maintenance

ellecomprendtouteslesactionscorrectives(maintenancecorrective)etvolutives
(maintenancevolutive)surlelogiciel.

Lasquenceetlaprsencedechacunedecesactivitsdanslecycledeviedpendentduchoix
d'unmodledecycledevieentreleclientetl'quipededveloppement.Lecycledeviepermet
deprendreencompte,enplusdesaspectstechniques,l'organisationetlesaspectshumains.

123.Modlesdecyclesdevied'unlogiciel
123a.Modledecycledevieencascade

Figure1.1:Modleducycledevieencascade.

Lemodledecycledevieencascade(cf.figure1.1)atmisaupointds1966,puisformalis
auxalentoursde1970.

http://laurent-audibert.developpez.com/Cours-UML/?page=introduction-modelisation-objet 6/15
7/27/2017 UML 2 - de l'apprentissage la pratique
Danscemodleleprincipeesttrssimple:chaquephasesetermineunedateprciseparla
productiondecertainsdocumentsoulogiciels.Lesrsultatssontdfinissurlabasedes
interactionsentretapes,ilssontsoumisunerevueapprofondieetonnepasselaphase
suivanteques'ilssontjugssatisfaisants.

Lemodleoriginalnecomportaitpasdepossibilitderetourenarrire.Celleciatrajoute
ultrieurementsurlabasequ'unetapeneremetencausequel'tapeprcdente,cequi,dans
lapratique,s'avreinsuffisant.

L'inconvnientmajeurdumodledecycledevieencascadeestquelavrificationdubon
fonctionnementdusystmeestralisetroptardivement:lorsdelaphased'intgration,ou
pire,lorsdelamiseenproduction.

123b.ModledecycledevieenV

Figure1.2:ModleducycledevieenV.

LemodleenV(cf.figure1.2)demeureactuellementlecycledevieleplusconnuet
certainementleplusutilis.Ils'agitd'unmodleencascadedanslequelle
dveloppementdestestsetdulogicielsonteffectusdemaniresynchrone.

Leprincipedecemodleestqu'avectoutedcompositiondoittredcritelarecompositionet
quetoutedescriptiond'uncomposantestaccompagnedetestsquipermettrontdes'assurer
qu'ilcorrespondsadescription.

Cecirendexplicitelaprparationdesderniresphases(validationvrification)parlespremires
(constructiondulogiciel),etpermetainsid'viteruncueilbienconnudelaspcificationdu
logiciel:noncerunepropritqu'ilestimpossibledevrifierobjectivementaprslaralisation.

Cependant,cemodlesouffretoujoursduproblmedelavrificationtroptardivedubon
fonctionnementdusystme.

123c.Modledecycledevieenspirale
ProposparB.Boehmen1988,cemodleestbeaucoupplusgnralqueleprcdent.Ilmet
l'accentsurl'activitd'analysedesrisques:chaquecycledelaspiralesedrouleenquatre
phases:

1.Dtermination,partirdesrsultatsdescyclesprcdents,oudel'analyseprliminaire
desbesoins,desobjectifsducycle,desalternativespourlesatteindreetdescontraintes
2.Analysedesrisques,valuationdesalternativeset,ventuellementmaquettage
3.Dveloppementetvrificationdelasolutionretenue,unmodleclassique(cascadeou
enV)peuttreutilisici
4.Revuedesrsultatsetvrificationducyclesuivant.

http://laurent-audibert.developpez.com/Cours-UML/?page=introduction-modelisation-objet 7/15
7/27/2017 UML 2 - de l'apprentissage la pratique
L'analyseprliminaireestaffineaucoursdespremierscycles.Lemodleutilisedesmaquettes
exploratoirespourguiderlaphasedeconceptionducyclesuivant.Lederniercyclesetermine
parunprocessusdedveloppementclassique.

123d.Modleparincrment
Danslesmodlesprcdents,unlogicielestdcomposencomposantsdveloppssparment
etintgrslafinduprocessus.

Danslesmodlesparincrmentunseulensembledecomposantsestdvelopplafois:des
incrmentsviennents'intgrerunnoyaudelogicieldveloppaupralable.Chaqueincrment
estdveloppselonl'undesmodlesprcdents.

Lesavantagesdecetypedemodlesontlessuivants:

chaquedveloppementestmoinscomplexe
lesintgrationssontprogressives
ilestainsipossibledelivreretdemettreenservicechaqueincrment
ilpermetunmeilleurlissagedutempsetdel'effortdedveloppementgrcela
possibilitderecouvrement(paralllisation)desdiffrentesphases.

Lesrisquesdecetypedemodlesontlessuivants:

remettreencauselesincrmentsprcdentsoupirelenoyau
nepaspouvoirintgrerdenouveauxincrments.

Lesnoyaux,lesincrmentsainsiqueleursinteractionsdoiventdonctrespcifisglobalement,
audbutduprojet.Lesincrmentsdoiventtreaussiindpendantsquepossible,
fonctionnellement,maisaussisurleplanducalendrierdudveloppement.

124.Mthodesd'analyseetdeconception
Lesmthodesd'analyseetdeconceptionfournissentunemthodologieetdesnotations
standardsquiaidentconcevoirdeslogicielsdequalit.Ilexistediffrentesmanirespour
classercesmthodes,dont:

Ladistinctionentrecompositionetdcomposition:

Ellemetenoppositiond'unepartlesmthodesascendantesquiconsistentconstruireun
logicielparcompositionpartirdemodulesexistantset,d'autrepart,lesmthodes
descendantesquidcomposentrcursivementlesystmejusqu'arriverdesmodules
programmablessimplement

Ladistinctionentrefonctionnelle(dirigeparletraitement)etorienteobjet:

Danslastratgiefonctionnelle(galementqualifiedestructure)unsystmeestvu
commeunensemblehirarchiqued'unitseninteraction,ayantchacuneunefonction
clairementdfinie.Lesfonctionsdisposentd'untatlocal,maislesystmeauntat
partag,quiestcentralisetaccessibleparl'ensembledesfonctions.Lesstratgies
orientesobjetconsidrentqu'unsystmeestunensembled'objetsinteragissants.
Chaqueobjetdisposed'unensembled'attributsdcrivantsontatetl'tatdusystmeest
dcrit(defaondcentralise)parl'tatdel'ensemble.

13.Delaprogrammationstructurel'approcheorienteobjet
131.Mthodesfonctionnellesoustructures

http://laurent-audibert.developpez.com/Cours-UML/?page=introduction-modelisation-objet 8/15
7/27/2017 UML 2 - de l'apprentissage la pratique

Figure1.3:Reprsentationgraphiqued'uneapprochefonctionnelle.

Lesmthodesfonctionnelles(galementqualifiesdemthodesstructures)trouventleur
originedansleslangagesprocduraux.Ellesmettentenvidencelesfonctionsassureret
proposentuneapprochehirarchiquedescendanteetmodulaire.

Cesmthodesutilisentintensivementlesraffinementssuccessifspourproduiredes
spcificationsdontl'essentielestsousformedenotationgraphiqueendiagrammesdeflotsde
donnes.Leplushautniveaureprsentel'ensembleduproblme(sousformed'activit,de
donnesoudeprocessus,selonlamthode).Chaqueniveauestensuitedcomposen
respectantlesentres/sortiesduniveausuprieur.Ladcompositionsepoursuitjusqu'arriver
descomposantsmatrisables(cf.figure1.3).

L'approchefonctionnelledissocieleproblmedelareprsentationdesdonnes,duproblmedu
traitementdecesdonnes.Surlafigure1.3,lesdonnesduproblmesontreprsentessurla
gauche.Desflchestransversalesmatrialisentlamanipulationdecesdonnespardessous
fonctions.Cetaccspeuttredirect(c'estparfoislecasquandlesdonnessontregroupes
dansunebasededonnes),oupeuttreralisparlepassagedeparamtredepuisle
programmeprincipal.

LaSADT(StructuredAnalysisDesignTechnique)estprobablementlamthoded'analyse
fonctionnelleetdegestiondeprojetslaplusconnue.Ellepermetnonseulementdedcrireles
tchesduprojetetleursinteractions,maisaussidedcrirelesystmequeleprojetvise
tudier,creroumodifier,enmettantnotammentenvidencelespartiesquiconstituentle
systme,lafinalitetlefonctionnementdechacune,ainsiquelesinterfacesentrecesdiverses
parties.Lesystmeainsimodlisn'estpasunesimplecollectiond'lmentsindpendants,
maisuneorganisationstructuredeceuxcidansunefinalitprcise.

Enrsum,l'architecturedusystmeestdicteparlarponseauproblme(i.e.la
fonctiondusystme).

132.L'approcheorienteobjet
L'approcheconsidrelelogicielcommeunecollectiond'objetsdissocis,identifisetpossdant
descaractristiques.Unecaractristiqueestsoitunattribut(i.e.unedonnecaractrisantl'tat
del'objet),soituneentitcomportementaledel'objet(i.e.unefonction).Lafonctionnalitdu
logicielmergealorsdel'interactionentrelesdiffrentsobjetsquileconstituent.L'unedes
particularitsdecetteapprocheestqu'ellerapprochelesdonnesetleurstraitementsassocis
auseind'ununiqueobjet.

Commenousvenonsdeledire,unobjetestcaractrisparplusieursnotions:

L'identit

l'objetpossdeuneidentit,quipermetdeledistinguerdesautresobjets,
indpendammentdesontat.Onconstruitgnralementcetteidentitgrceun
identifiantdcoulantnaturellementduproblme(parexempleunproduitpourratre
reprparuncode,unevoitureparunnumrodesrie,etc.)

Lesattributs

ils'agitdesdonnescaractrisantl'objet.Cesontdesvariablesstockantdesinformations
surl'tatdel'objet

http://laurent-audibert.developpez.com/Cours-UML/?page=introduction-modelisation-objet 9/15
7/27/2017 UML 2 - de l'apprentissage la pratique
Lesmthodes

lesmthodesd'unobjetcaractrisentsoncomportement,c'estdirel'ensembledes
actions(appelesoprations)quel'objetestmmederaliser.Cesoprations
permettentdefaireragirl'objetauxsollicitationsextrieures(oud'agirsurlesautres
objets).Deplus,lesoprationssonttroitementliesauxattributs,carleursactions
peuventdpendredesvaleursdesattributs,oubienlesmodifier.

Ladifficultdecettemodlisationconsistecrerunereprsentationabstraite,sousforme
d'objets,d'entitsayantuneexistencematrielle(chien,voiture,ampoule,personne)oubien
virtuelle(client,temps).

LaConceptionOrienteObjet(COO)estlamthodequiconduitdesarchitectureslogicielles
fondessurlesobjetsdusystme,pluttquesurlafonctionqu'ilestcensraliser.

Enrsum,l'architecturedusystmeestdicteparlastructureduproblme.

133.Approchefonctionnellevsapprocheobjet
SelonlathsedeChurchTuring,toutlangagedeprogrammationnontrivialquivautune
machinedeTuring.Ilenrsultequetoutprogrammequ'ilestpossibled'criredansunlangage
pourraitgalementtrecritdansn'importequelautrelangage.Ainsi,toutcequel'onfaitavec
unlangagedeprogrammationparobjetspourraittrefaitenprogrammationimprative.La
diffrenceentreuneapprochefonctionnelleetuneapprocheobjetn'estdoncpasd'ordre
logique,maispratique.

L'approchestructureprivilgielafonctioncommemoyend'organisationdulogiciel.Cen'estpas
pourcetteraisonquel'approcheobjetestuneapprochenonfonctionnelle.Eneffet,les
mthodesd'unobjetsontdesfonctions.Cequidiffrenciesurlefondl'approcheobjetde
l'approchefonctionnelle,c'estquelesfonctionsobtenuesl'issuedelamiseenuvredel'une
oul'autremthodesontdistinctes.L'approcheobjetestuneapprocheorientedonne.Dans
cetteapproche,lesfonctionssedduisentd'unregroupementdechampsdedonnesformant
uneentitcohrente,logique,tangibleetsurtoutstablequantauproblmetrait.L'approche
structureclassiqueprivilgieuneorganisationdesdonnespostrieureladcouvertedes
grandes,puispetitesfonctionsquilesdcomposent,l'ensembleconstituantlesservicesqui
rpondentauxbesoins.

Enapprocheobjet,l'volutiondesbesoinsauraleplussouventtendanceseprsentercomme
unchangementdel'interactiondesobjets.S'ilfautapporterunemodificationauxdonnes,seul
l'objetincrimin(encapsulantcettedonne)seramodifi.Touteslesfonctionsmodifiersont
bienidentifies:ellessetrouventdanscemmeobjet:cesontsesmthodes.Dansune
approchestructure,l'volutiondesbesoinsentranesouventunedgnrescence,ouune
profonderemiseenquestion,delatopologietypiquedelafigure1.3,carladcompositiondes
unitsdetraitement(duprogrammeprincipalauxsousfonctions)estdirectementdictepar
cesbesoins.D'autrepart,unemodificationdesdonnesentranegnralementunemodification
d'unnombreimportantdefonctionsparpillesetdifficilesidentifierdanslahirarchiede
cettedcomposition.

Enfait,lamodularitn'estpasantinomiquedel'approchestructure.Lesmodulesrsultantde
ladcompositionobjetsonttoutsimplementdiffrentsdeceuxmanantdel'approche
structure.Lesunitsdetraitement,etsurtoutleurdpendancedanslatopologiedelafigure
1.3sontinitialementbonnes.C'estleurrsistanceautemps,contrairementauxmodulesobjet,
quiestsourcedeproblme.Lastructured'unlogicielissued'uneapprochestructureest
beaucoupmoinsmallable,adaptable,quecelleissued'uneapprocheobjet.

Ainsilatechnologieobjetestlaconsquenceultimedelamodularisationdulogiciel,dmarche
quivisematrisersaproductionetsonvolution.Maismalgrcettecontinuitlogiqueles
langagesobjetontapportenpratiqueunprofondchangementdansl'artdelaprogrammation:
ilsimpliquenteneffetunchangementdel'attitudementaleduprogrammeur.

134.Conceptsimportantsdel'approcheobjet
Danslasection1.3.2L'approcheorienteobjet,nousavonsditquel'approcheobjetrapproche
lesdonnesetleurstraitements.Maiscetteapprochenefaitpasquea,d'autresconcepts
importantssontspcifiquescetteapprocheetparticipentlaqualitdulogiciel.

http://laurent-audibert.developpez.com/Cours-UML/?page=introduction-modelisation-objet 10/15
7/27/2017 UML 2 - de l'apprentissage la pratique
134a.Notiondeclasse
Toutd'abord,introduisonslanotiondeclasse.Uneclasseestuntypededonnesabstraitqui
prcisedescaractristiques(attributsetmthodes)communestouteunefamilled'objetset
quipermetdecrer(instancier)desobjetspossdantcescaractristiques.Lesautresconcepts
importantsqu'ilnousfautmaintenantintroduiresontl'encapsulation,l'hritageetl'agrgation.

134b.Encapsulation
L'encapsulationconsistemasquerlesdtailsd'implmentationd'unobjet,endfinissantune
interface.L'interfaceestlavueexterned'unobjet,elledfinitlesservicesaccessibles(offerts)
auxutilisateursdel'objet.

L'encapsulationfacilitel'volutiond'uneapplication,carellestabilisel'utilisationdesobjets:on
peutmodifierl'implmentationdesattributsd'unobjetsansmodifiersoninterface,etdoncla
faondontl'objetestutilis.

L'encapsulationgarantitl'intgritdesdonnes,carellepermetd'interdire,ouderestreindre,
l'accsdirectauxattributsdesobjets.

134c.Hritage,spcialisation,gnralisationetpolymorphisme
L'hritageestunmcanismedetransmissiondescaractristiquesd'uneclasse(sesattributset
mthodes)versunesousclasse.Uneclassepeuttrespcialiseend'autresclasses,afind'y
ajouterdescaractristiquesspcifiquesoud'enadaptercertaines.Plusieursclassespeuventtre
gnralisesenuneclassequilesfactorise,afinderegrouperlescaractristiquescommunes
d'unensembledeclasses.

Ainsi,laspcialisationetlagnralisationpermettentdeconstruiredeshirarchiesdeclasses.
L'hritagepeuttresimpleoumultiple.L'hritageviteladuplicationetencouragela
rutilisation.

Lepolymorphismereprsentelafacultd'unemthodepouvoirs'appliquerdesobjetsde
classesdiffrentes.Lepolymorphismeaugmentelagnricit,etdonclaqualit,ducode.

134d.Agrgation
Ils'agitd'unerelationentredeuxclasses,spcifiantquelesobjetsd'uneclassesontdes
composantsdel'autreclasse.Unerelationd'agrgationpermetdoncdedfinirdesobjets
compossd'autresobjets.L'agrgationpermetdoncd'assemblerdesobjetsdebase,afinde
construiredesobjetspluscomplexes.

135.Historiquelaprogrammationparobjets
LespremierslangagesdeprogrammationquiontutilisdesobjetssontSimulaI(196164)et
Simula67(1967),conusparlesinformaticiensnorvgiensOleJohanDahletKristanNygaard.
Simula67contenaitdjlesobjets,lesclasses,l'hritage,l'encapsulation,etc.

AlanKay,duPARCdeXerox,avaitutilisSimuladanslesannes1960.Ilralisaen1976
Smalltalkquireste,auxyeuxdecertainsprogrammeurs,lemeilleurlangagedeprogrammation
parobjets.

BjarneStroustrupamisaupointC++,uneextensiondulangageCpermettantla
programmationorienteobjet,auxBellLabsd'AT&Ten1982.C++deviendralelangageleplus
utilisparlesprogrammeursprofessionnels.Ilarriveramaturiten1986,sastandardisation
ANSI/ISOdatede1997.

JavaestlancparSunen1995.CommeilprsenteplusdescuritqueC++,ildeviendrale
langagefavoridecertainsprogrammeursprofessionnels.

14.UML
141.Introduction
http://laurent-audibert.developpez.com/Cours-UML/?page=introduction-modelisation-objet 11/15
7/27/2017 UML 2 - de l'apprentissage la pratique
Ladescriptiondelaprogrammationparobjetsafaitressortirl'tenduedutravailconceptuel
ncessaire:dfinitiondesclasses,deleursrelations,desattributsetmthodes,desinterfaces,
etc.

Pourprogrammeruneapplication,ilneconvientpasdeselancerttebaissedansl'crituredu
code:ilfautd'abordorganisersesides,lesdocumenter,puisorganiserlaralisationen
dfinissantlesmodulesettapesdelaralisation.C'estcettedmarcheantrieurel'criture
quel'onappellemodlisationsonproduitestunmodle.

Lesspcificationsfourniesparlamatrised'ouvrageenprogrammationimprativetaient
souventfloues:lesarticulationsconceptuelles(structuresdedonnes,algorithmesde
traitement)s'exprimantdanslevocabulairedel'informatique,lemodledevaitsouventtre
laborparcelleci.L'approcheobjetpermetenprincipelamatrised'ouvragedes'exprimer
defaonprciseselonunvocabulairequi,toutentranscrivantlesbesoinsdumtier,pourra
treimmdiatementcomprisparlesinformaticiens.Enprincipeseulement,carlamodlisation
demandeauxmatrisesd'ouvrageunecomptenceetunprofessionnalismequinesontpas
aujourd'huirpandus.

142.Histoiredesmodlisationsparobjets
Lesmthodesutilisesdanslesannes1980pourorganiserlaprogrammationimprative
(notammentMerise)taientfondessurlamodlisationsparedesdonnesetdes
traitements.Lorsquelaprogrammationparobjetsprenddel'importanceaudbutdesannes
1990,lancessitd'unemthodequiluisoitadaptedevientvidente.Plusdecinquante
mthodesapparaissententre1990et1995(Booch,ClasseRelation,Fusion,HOOD,OMT,OOA,
OOD,OOM,OOSE,etc.),maisaucuneneparvients'imposer.En1994,leconsensussefait
autourdetroismthodes:

OMTdeJamesRumbaugh(GeneralElectric)fournitunereprsentationgraphiquedes
aspectsstatique,dynamiqueetfonctionneld'unsystme
OODdeGradyBooch,dfiniepourleDepartmentofDefense,introduitleconceptde
paquetage(package)
OOSEd'IvarJacobson(Ericsson)fondel'analysesurladescriptiondesbesoinsdes
utilisateurs(casd'utilisation,ouusecases).

Chaquemthodeavaitsesavantagesetsespartisans.Lenombredemthodesencomptition
s'taitrduit,maislerisqued'unclatementsubsistait:laprofessionpouvaitsediviserentre
cestroismthodes,crantautantdecontinentsintellectuelsquiauraientdumal
communiquer.

vnementconsidrableetpresquemiraculeux,lestroisgourousquirgnaientchacunsurl'une
destroismthodessemirentd'accordpourdfinirunemthodecommunequifdreraitleurs
apportsrespectifs(onlessurnommedepuistheAmigos).UML(UnifiedModelingLanguage)
estndeceteffortdeconvergence.L'adjectifunifiedestlpourmarquerqu'UMLunifie,etdonc
remplace.

Enfait,etcommesonnoml'indique,UMLn'apasl'ambitiond'treexactementunemthode:
c'estunlangage.

L'unificationaprogresspartapes.En1995,BoochetRumbaugh(etquelquesautres)sesont
misd'accordpourconstruireunemthodeunifie,UnifiedMethod0.8en1996,Jacobsonlesa
rejointspourproduireUML0.9(notezleremplacementdumotmthodeparlemotlangage,
plusmodeste).Lesacteurslesplusimportantsdanslemondedulogiciels'associentalors
l'effort(IBM,Microsoft,Oracle,DEC,HP,Rational,Unisys,etc.)etUML1.0estsoumis
l'OMG(5).L'OMGadopteennovembre1997UML1.1commelangagedemodlisationdes
systmesd'informationobjets.Laversiond'UMLencoursen2008estUML2.1.1etles
travauxd'amliorationsepoursuivent.

UMLestdoncnonseulementunoutilintressant,maisunenormequis'imposeentechnologie
objetsetlaquellesesontrangstouslesgrandsacteursdudomaine,acteursquiontd'ailleurs
contribusonlaboration.

143.UMLenuvre

http://laurent-audibert.developpez.com/Cours-UML/?page=introduction-modelisation-objet 12/15
7/27/2017 UML 2 - de l'apprentissage la pratique
UMLn'estpasunemthode(i.e.unedescriptionnormativedestapesdelamodlisation):ses
auteursonteneffetestimqu'iln'taitpasopportundedfinirunemthodeenraisondela
diversitdescasparticuliers.Ilsontprfrsebornerdfinirunlangagegraphiquequi
permetdereprsenteretdecommuniquerlesdiversaspectsd'unsystmed'information.Aux
graphiquessontbiensrassocisdestextesquiexpliquentleurcontenu.UMLestdoncun
mtalangage,carilfournitleslmentspermettantdeconstruirelemodlequi,lui,serale
langageduprojet.

Ilestimpossiblededonnerunereprsentationgraphiquecomplted'unlogiciel,oudetout
autresystmecomplexe,demmequ'ilestimpossibledereprsenterentirementunestatue
(troisdimensions)pardesphotographies(deuxdimensions).Maisilestpossiblededonner
suruntelsystmedesvuespartielles,analogueschacuneunephotographied'unestatue,et
dontlaconjonctiondonnerauneideutilisableenpratiquesansrisqued'erreurgrave.

UML2.0comporteainsitreizetypesdediagrammesreprsentantautantdevuesdistinctespour
reprsenterdesconceptsparticuliersdusystmed'information.Ilsserpartissentendeux
grandsgroupes:

Diagrammesstructurelsoudiagrammesstatiques(UMLStructure)

diagrammedeclasses(Classdiagram)
diagrammed'objets(Objectdiagram)
diagrammedecomposants(Componentdiagram)
diagrammededploiement(Deploymentdiagram)
diagrammedepaquetages(Packagediagram)
diagrammedestructurescomposites(Compositestructurediagram)

Diagrammescomportementauxoudiagrammesdynamiques(UMLBehavior)

diagrammedecasd'utilisation(Usecasediagram)
diagrammed'activits(Activitydiagram)
diagrammed'tatstransitions(Statemachinediagram)
Diagrammesd'interaction(Interactiondiagram)
diagrammedesquence(Sequencediagram)
diagrammedecommunication(Communicationdiagram)
diagrammeglobald'interaction(Interactionoverviewdiagram)
diagrammedetemps(Timingdiagram)

Cesdiagrammes,d'uneutilitvariableselonlescas,nesontpasncessairementtousproduits
l'occasiond'unemodlisation.Lesplusutilespourlamatrised'ouvragesontlesdiagrammes
d'activits,decasd'utilisation,declasses,d'objets,desquenceetd'tatstransitions.Les
diagrammesdecomposants,dedploiementetdecommunicationsontsurtoututilespourla
matrised'uvrequiilspermettentdeformaliserlescontraintesdelaralisationetlasolution
technique.

143a.Diagrammedecasd'utilisation
Lediagrammedecasd'utilisation(cf.section2Chapitre2Diagrammedecasd'utilisation(Use
CaseDiagram))reprsentelastructuredesgrandesfonctionnalitsncessairesauxutilisateurs
dusystme.C'estlepremierdiagrammedumodleUML,celuios'assurelarelationentre
l'utilisateuretlesobjetsquelesystmemetenuvre.

143b.Diagrammedeclasses
Lediagrammedeclasses(cf.section3Chapitre3Diagrammedeclasses(ClassDiagram))est
gnralementconsidrcommeleplusimportantdansundveloppementorientobjet.Il
reprsentel'architectureconceptuelledusystme:ildcritlesclassesquelesystmeutilise,
ainsiqueleursliens,queceuxcireprsententunembotageconceptuel(hritage)ouune
relationorganique(agrgation).

143c.Diagrammed'objets
Lediagrammed'objets(cf.section3.53.5Diagrammed'objets(objectdiagram))permet
d'clairerundiagrammedeclassesenl'illustrantpardesexemples.Ilest,parexemple,utilis
pourvrifierl'adquationd'undiagrammedeclassesdiffrentscaspossibles.

http://laurent-audibert.developpez.com/Cours-UML/?page=introduction-modelisation-objet 13/15
7/27/2017 UML 2 - de l'apprentissage la pratique
143d.Diagrammed'tatstransitions
Lediagrammed'tatstransitions(cf.section5Chapitre5Diagrammed'tatstransitions(State
machinediagram))reprsentelafaondontvoluent(i.e.cycledevie)lesobjetsappartenant
unemmeclasse.Lamodlisationducycledevieestessentiellepourreprsenteretmettreen
formeladynamiquedusystme.

143e.Diagrammed'activits
Lediagrammed'activits(cf.section6Chapitre6Diagrammed'activits(Activitydiagram))
n'estautrequelatranscriptiondansUMLdelareprsentationduprocessustellequ'elleat
laborelorsdutravailquiaprparlamodlisation:ilmontrel'enchanementdesactivitsqui
concourentauprocessus.

143f.Diagrammedesquenceetdecommunication
Lediagrammedesquence(cf.section7.3Diagrammedesquence(Sequencediagram))
reprsentelasuccessionchronologiquedesoprationsralisesparunacteur.Ilindiqueles
objetsquel'acteurvamanipuleretlesoprationsquifontpasserd'unobjetl'autre.Onpeut
reprsenterlesmmesoprationsparundiagrammedecommunication(cf.section
7.2Diagrammedecommunication(Communicationdiagram)),graphedontlesnudssontdes
objetsetlesarcs(numrotsselonlachronologie)leschangesentreobjets.Enfait,
diagrammedesquenceetdiagrammedecommunicationsontdeuxvuesdiffrentes,mais
logiquementquivalentes(onpeutconstruirel'unepartirdel'autre)d'unemmechronologie.
Cesontdesdiagrammesd'interaction(section7Chapitre7Diagrammesd'interaction
(Interactiondiagram)).

144.CommentprsenterunmodleUML?
Laprsentationd'unmodleUMLsecomposedeplusieursdocumentscritsenlangagecourant
etd'undocumentformalis:ellenedoitpasselimiterauseuldocumentformalis,carceluici
estpratiquementincomprhensiblesionleprsenteseul.UnexpertenUMLseracapabledans
certainscasdereconstituerlesintentionsinitialesenlisantlemodle,maispastoujoursetles
expertsenUMLsontrares.Voicilalistedesdocumentsquiparaissentncessaires:

Prsentationstratgique:

elledcritpourquoil'entrepriseavoulusedoterdel'outilconsidr,lesbutsqu'elle
chercheatteindre,lecalendrierderalisationprvu,etc.

Prsentationdesprocessusdetravailparlesquelslastratgieentendseraliser:

pourpermettreaulecteurdevoircommentl'applicationvafonctionnerenpratique,elle
doittreillustreparuneesquissedescransquiserontaffichsdevantlesutilisateursde
terrain

Explicationdeschoixquiontguidlamodlisationformelle:

ils'agitdesynthtiser,souslesyeuxdulecteur,lesdiscussionsquiontprsidces
choix

Modleformel:

c'estledocumentlepluspaisetleplusdifficilelire.Ilestprfrabledeleprsentersur
l'Intranetdel'entreprise.Eneffet,lesdiagrammespeuventtrealorsquipsdeliens
hypertextespermettantl'ouverturedediagrammesplusdtaillsoudecommentaires.

Ondoitprsenterenpremierlediagrammedecasd'utilisationquimontrel'enchanementdes
casd'utilisationauseinduprocessus,enchanementimmdiatementcomprhensiblepuisle
diagrammed'activits,quimontrelecontenudechaquecasd'utilisationpuislediagrammede
squence,quimontrel'enchanementchronologiquedesoprationsl'intrieurdechaquecas
d'utilisation.Enfin,lediagrammedeclasses,quiestleplusprcisconceptuellement,maisaussi
leplusdifficilelire,carilprsentechacunedesclassesetleursrelations(agrgation,hritage,
association,etc.).

http://laurent-audibert.developpez.com/Cours-UML/?page=introduction-modelisation-objet 14/15
7/27/2017 UML 2 - de l'apprentissage la pratique
(1)
Parexemple,aujourd'hui,90%desnouvellesfonctionnalitsdesautomobilessontapportespar
l'lectroniqueetl'informatiqueembarques.Ilya,ouauraterme,dulogicielpartout:
ampouleslectriques,fourmicroondes,tissusdesvtements,stylos,livres,etc.
(2)
Comparativementsaproduction,lecotdudveloppementd'unlogicielestextrmement
important.Nousverronsparlasuitequelamaintenancecotegalementtrscher.
(3)
cf.section1.2.1.dMatrised'ouvrageetmatrised'uvre<<Matrised'ouvrageetmatrise
d'uvre>>pourunedfinitiondeceterme.
(4)
Souvent,lespersonnesquidoiventoprerdesmodificationsultrieuresdanslecodenesont
pluslespersonnesquil'ontdvelopp.
(5)
L'OMG(ObjectManagementGroup)estuneassociationamricainebutnonlucratifcreen
1989dontl'objectifestdestandardiseretpromouvoirlemodleobjetsoustoutessesformes.
L'OMGestnotammentlabasedesspcificationsUML,MOF,CORBAetIDL.L'OMGestaussi
l'originedelarecommandationMDA.

Lessourcesprsentessurcettepagesontlibresdedroitsetvouspouvezlesutiliservotre
convenance.Parcontre,lapagedeprsentationconstitueuneuvreintellectuelleprotgeparles
droitsd'auteur.Copyright2013LaurentAUDIBERT.Aucunereproduction,mmepartielle,nepeut
trefaitedecesiteetdel'ensembledesoncontenu:textes,documents,images,etc.sans
l'autorisationexpressedel'auteur.Sinonvousencourezselonlaloijusqu'troisansdeprisonet
jusqu'300000dedommagesetintrts.

ContacterleresponsabledelarubriqueUML

Nouscontacter Participez Hbergement Informationslgales


Copyright20002017www.developpez.com

http://laurent-audibert.developpez.com/Cours-UML/?page=introduction-modelisation-objet 15/15

Vous aimerez peut-être aussi