Vous êtes sur la page 1sur 117

La conception du logiciel avec UML

Les applications informatiques Les applications informatiques sont de trois sortes: Les applications usage personnel Les application dentreprise Les progiciels

Application usage personnel


On dfinit seul les fonctionnalits attendues On connat le matriel et lOS On dcide des technologies utiliser On organise son travail sa guise On na pas de contrainte de temps Le budget ncessaire est peu important La qualit est peu importante

Application dentreprise Malgr les progr s du gnie logiciel! la russite des pro"ets informatiques reste faible# $es tudes rcentes montrent des dpassements de budget et dchance encore importants# %t ces drives affectent la ma"orit des pro"ets#

Les chiffres
&'( des pro"ets co)tent au moins *++( des estimations initiales# ,- billion de dollars ont t dpens en -..& au U#S#/# sur des pro"ets arr0ts avant la fin#
Arrt avant la fin 30%

Source !apport Standis"# $%%&

Men terme 70%

Les c"iffres
Selon un rapport de la 'ritis" (omputer Societ) en *++*: -1( seulement des pro"ets aboutissent# &.( sont en dpassement budgtaire# '&( sont en dpassement de dlais# &2( des fonctionnalits attendues sont manquantes#

Les c"iffres 1suite2


4artiellement russi
*au+ de russite glo,ale

Succ3s complet

'udget dpass

'udget conforme

*au+ de dpassement des ,udgets

A,andonn
$.% %%

-.%

'udget infrieur

&%%
7&%

$&%

/ans les dlais

5ors dlai

6onctionnalits manquantes

6onctionnalits conformes

*au+ de dpassement des dlais

*au+ de respect des (/(

3&% .0% &%

Sous les dlais


&0% &%

6onctionnalits supplmentaires
0$%

Les causes dc"ec


Les principales causes dchec sont dues la mauvaise comprhension des besoins du client# 7u elles soient e+primes 3 les e4igences fonctionnelles e4primes par le client# 8u e+istantes 9 les contraintes induites par lenvironnement du pro"et# 5e d6sfonctionnement est d) la reprsentation mentale souvent errone que lon dun besoin#

Les ,esoins
On confond souvent un besoin et une demande# Les utilisateurs e4priment une demande mais elle correspond rarement leurs besoins# On pense connatre parfaitement ses besoins mais 7a ne signifie pas que lon sache: Les e4primer clairement 5omment il sera possible de les satisfaire

(omprendre les ,esoins


Un logiciel doit remplir des fonctions bien prcises# 8l doit en plus sintgrer lenvironnement informatique# On doit donc recenser lensemble e4igences et des contraintes du s6st me: 7u elles soient e+primes 8u e+istantes des

Les e+igences et les contraintes


Les contraintes permettent de voir le pro"et travers les aspects fonctionnels techniques organisationnels %nvironnementau4

Les e+igences fonctionnelles


9our construire le bon s6st me! on doit recenser lensemble des fonctionnalits attendues# Or! la capture des besoins fonctionnels nest pas facile# parce que lutilisateur est incapable de les e4primer parce quil ne "uge pas ncessaire de les prciser Ou parce quil nen a pas conscience

Les contraintes tec"niques


Les aspects techniques concernent les aptitudes du s6st me Lergonomie et la documentation La performance La fiabilit ou la tolrance au4 pannes Ladaptabilit l:e4istant La plateforme s6st me Les e4istants applicatifs intgrer Les rfrentiels et annuaires

Les contraintes organisationnelles


Les aspects organisationnels concernent: La culture de dveloppement oriente ob"et 9rocdurale Le processus utilis Les usages documentaire de production

Les contraintes environnementales


Les aspects environnementau4 concernent: Les probl mes denvironnement ph6sique 5haleur ;ibration %tc <

La qualit
=rer ces contraintes revient dfinir le niveau de qualit dun logiciel > Les informaticiens ont tou"ours t confronts ces probl mes de qualit > Mais quest?ce que la qualit logicielle @ A 8SO ,2+*: %nsemble des caractristiques dune entit qui lui conf rent laptitude satisfaire des besoins e4prims et implicites B

Les crit3res de qualit


Les caractristiques dun logiciel permettant de mesurer sa qualit sont principalement: La lisibilit du code La facilit de maintenance La rutilisabilit La portabilit Ladaptabilit La performance La tolrance au4 pannes La scurit

Alors de quoi a9t9on ,esoin :


La construction dun logiciel est comple4e parce quelle met en Cuvre de nombreuses ressources# Dumaine Matrielles Eechnologiques $oF la ncessit dutiliser un processus bien dfini un langage de modlisation prouv des techniques de modlisation rigoureuses

La mt"odologie
Une mthodologie peut 0tre dfinie par la mise en Cuvre des trois outils suivants:
;ne notation visuelle pour modliser un s6st me et le communiquer ;n processus pour organiser les activits de dveloppement /es tec"niques danal)se et de conception pour prendre en charge les crit res de qualit

!eprsentation dune mt"odologie


Notation

Processus

Techniques

La modlisation avec UML

7uest9ce que la modlisation :

La modlisation dingnierie

est

une

technique

qui permet de comprendre un s6st me par ltablissement de mod les pour mettre au point une solution un probl me#

4ourquoi modliser :
La modlisation nous aident reprsenter un s6st me en prcisant sa structure# en dfinissant ce quil faitG son comportement# en dterminant comment il le fait# en fournissant un canevas qui guide sa construction# en le documentant#

(omment modliser :
UML propose un mo6en pour reprsenter diverses pro"ections dun s6st me: les vues# %lles sont gnralement constitues dun ou plusieurs diagrammes UML : Hui sont des reprsentations graphiques qui sintressent un aspect prcis du mod le# $ont chaque t6pe est compos dlments de modlisation prdfinis# $ont la combinaison offre une vue compl te des aspects fonctionnels! statiques et d6namiques dun s6st me#

Les t)pes de diagramme


La version -#2 dUML reprsente un s6st me! en se basant sur . diagrammes# Huatre pour la structure statique $iagramme dob"ets $iagramme de classes $iagramme de composant $iagramme de dploiement 5inq pour le comportement d6namique $iagramme de cas dutilisation $iagramme de squences $iagramme dactivit $iagramme de collaboration $iagramme dtats transitions

Les a+es de la modlisation


Les concepteurs orientent leurs modlisations selon trois a4es sur lesquels ils rpartissent les diagrammes : La4e fonctionnel qui est utilis pour dcrire le ce que fait le s6st me raliser! La4e structurel et statique qui est relatif sa structure! La4e d6namique qui est relatif construction de ses fonctionnalits# la

Les 3 a+es de la modlisation


Fonctionnel
Diagramme de Use Cases (Diagramme dactivits) (Diagramme de squences)

Statique
Diagramme Diagramme Diagramme Diagramme de classes de composants de dploiement dobjets

Dynamique
Diagramme dactivits (Diagramme dtats transitions) (Diagramme de squences) Diagramme de collaboration

<la,oration de la modlisation
UML est une avance importante pour le gnie logiciel mais ce nest ni une mthode! ni un processus# Si UML permet de modliser un s6st me! il ne dfinit pas le processus dlaboration des mod les# $ans quel ordre doit?on utiliser les neufs t6pes de diagrammes @ / quel moment de la conception dun s6st me doivent?ils intervenir @ Seul un processus de dveloppement peut rpondre ces questions >

Les processus de dveloppement

Les points de vue dun processus


Le processus de dveloppement rgit les activits de production du logiciel selon deu4 aspects# Laspect statique qui reprsente le processus en terme de tIches raliser# Laspect d6namique qui reprsente la dimension temporelle du processus#

Aspect statique dun processus


Laspect statique dfinit: Le A qui B# Les intervenants Le A comment B# Les activits raliser Le A quoi B# Les rsultats dune activit

Aspect d)namique dun processus


Laspect d6namique reprsente : Le nom et le nombre de phases du c6cle de vie du processus Lorganisation et lordre de ralisation des activits de dveloppement

Les tapes dun processus


Un processus g re gnralement les activits suivantes: Le4pression des besoins La spcification des besoins Lanal6se des besoins La conception Limplmentation Les tests fonctionnels et techniques La maintenance

Le+pression des ,esoins

Le4pression des besoins consiste pour le client laborer un cahier des charges dcrivant: Les fonctionnalits du s6st me tudi La fa7on dutiliser le s6st me

La spcification des ,esoins La spcification des besoins permet au4 utilisateurs! e4perts! et au4 informaticiens de finaliser le cahier des charges en levant les ambiguJts en liminant les redondances

Lanal)se des ,esoins


Lanal6se des besoins ou A le quoi B vise faire dfinir! par les e4perts! et les utilisateurs Les entits mtier concernes par le s6st me indpendamment de toutes considrations: techniques et informatiques

La conception

La conception ou A le comment B concerne les e4perts informatiques# On 6 dtermine la mani re de rsoudre techniquement le probl me pos# 5omment raliser les fonctionnalits attendues#

Limplmentation
Limplmentation consiste / construire les programmes dans un langage de programmation donn# / organiser logiquement les programmes en fonction de larchitecture logique choisie# / distribuer les programmes sur le s6st me informatique selon larchitecture ph6sique retenue#

La maintenance et les tests

Les tests sont de deu4 sortes# 6onctionnels= 8ls vrifient que le s6st me implmente bien les fonctionnalits attendues# *ec"niques= 8ls vrifient que limplmentation des fonctionnalits est techniquement correcte# La maintenance traite les volutions etKou les corrections apporter au s6st me#

4rocessus de fa,rication
4roduit 4rocess ;sine LLigneM

> !v A 9 !v ' > 4i3ce $ 9 Sous9ens $ 4i3ce 4i3ce 3 (aractristiques fa,= 4t soudure $

> !v A 9 !v ' 8pration $0 8pration -0 4"ase $ 4"ase -

> !v A 9 !v ' > ?l@t $ 9 ?l@t 4oste $ 4oste 4lan /oc

4t soudure -

!essources > !o,ots 9 4inces 4ince A > Montages 4ince B

5atalogue de Mo6ens

Les t)pes de processus


On classe les processus selon deu4 t6pes: prdictif ou adaptatif

4rocessus de t)pe prdictif


Les processus de t6pe prdictif ne prvoient que sur le long terme! ils imposent: $e finaliser et de figer les spcifications et leurs priorits en amont de la construction de figer un plan e4act de livraison sans tenir compte de la vlocit relle des quipes

Le c)cle de vie en cascade


Linaire et squentiel! il a pour caractristique: de clarifier les fonctionnalits avant la conception de modliser les entits mtier avant la conception de dfinir compl tement la conception %t pour dfauts: de vouloir dfinir toutes les e4igences ds le dbut daccorder trop dattention la documentation de retarder la rsolution des facteurs de risque dentraner un dmarrage tardif du codage

Le c)cle de vie en cascade


Expression des besoins

Spcification Analyse

Validation

Conception prliminaire

Tests Dint ration

Conception dtaille

Tests unitaires

Implmentation

4rocessus de t)pe adaptatif


Les processus de t6pe adaptatif permettent $affiner les spcifications tape par tape $a"uster le dlai de livraison 5eci grIce lutilisation dune dmarche 8trative et incrmentale =uide par les besoins des utilisateurs 5entre sur larchitecture 9ilote par les risques

()cle de vie dun processus adaptatif


A nal yse C oncept i on Spci f i cat i on s I m pl m ent at i o n Expr essi on des besoi ns Test D pl oi em en Val i dat i on

;4 le processus unifi
U9 est un processus de t6pe adaptatif! il est 8tratif et incrmental =uid par les besoins des utilisateurs 5entr sur larchitecture 9ilot par les risques On le reprsente selon la4e statique et d6namique des processus de dveloppement#

!eprsentation du processus ;4

/isciplines et artefacts
/isciplines Artefacts %4pression des besoins ;ision du pro"et Spcifications Mod le des cas dutilisation Spcifications supplmentaires =lossaire /nal6se Mod le du domaine 5onception Mod le de conception /rchitecture logicielle Mod le de donnes Mise en oeuvre Mod le dimplmentation Eests Mod le de tests =estion de pro"ets 9lan de dveloppement %nvironnement 5as de dveloppement

;4 est itratif et incrmental


Le dveloppement dun logiciel ncessite quon le dcoupe en plusieurs petits pro"ets# 5haque pro"et reprsente une itration qui donne lieu un incrment# Une itration dsigne la succession des activits de dveloppement un incrment correspond dveloppement du produit au4 stades de

!alisation des artefacts


Artefacts Dision du proEet Mod3le des cas dutilisation Spcifications supplmentaires Clossaire Mod3le darc"itecture Mod3le du domaine Mod3le de conception Mod3le de donnes Mod3le dimplmentation Mod3le de tests
d N dbut a N affinement

?nit= Fla,= (onst= *rans= d a d a d a d a d d d d d d a a

a a a a

- itration N - cas dutilisation

Avantages dun processus itratif


Lutilisation dun processus itratif prsente de nombreu4 avantages car il permet: $e limiter les co)ts $e limiter les retards de mise en e4ploitation $acclrer le r6thme de dveloppement grIce des ob"ectifs clairs et court terme $e tenir compte des besoins des utilisateurs en les dgageant des itrations successives

;4 est guid par les uses case


9our servir les attentes des utilisateurs! On centre le processus de dveloppement sur leurs besoins# On fait apparatre ces besoins laide de la technique des cas dutilisation qui en: en capturant les besoins fonctionnels dun s6st me en orientant le travail de chaque itration vont guider le processus travers lutilisation des diffrents mod les UML qui reprsentent le s6st me#

;4 et les ;ses (ase


5ahier des charges

Anal)ss par (onGus par !aliss par

Mod3le du domaine Mod3le de conception Mod3le dimplmentation Mod3le darc"itecture Mod3le de tests

Structurs par *ests par

/iagramme des ;ses (ase

/plo)s par

Mod3le de dploiement

;4 est centr sur larc"itecture


larchitecture doit prvoir la ralisation de tous les uses case et doit voluer avec eu4# %lle le fait en tenant compte de facteurs tels que: La plateforme de4cution Matriel! s6st me! O$! rseau!etc# Les composants rutilisables Librairies! caisse outils! commerce! etc# composants du

Les considrations de dploiement et les besoins non fonctionnels La performance! la fiabilit! la robustesse! etc#

;4 est pilot par les risques


Un risque est un vnement redout dont loccurrence est plus ou moins prvisible# Le pilotage par les risques cest: /nal6ser les risques potentiels au plus tPt Dirarchiser les risques /ssocier un ensemble de uses case chaque risque $clencher les itrations selon la criticit des uses cases quelles regroupent U9 propose une gestion des risques# 5e qui constitue une avance significative#

Les adaptations de ;4

U9 est un processus dveloppement#

gnrique

de

8l doit 0tre adapte au conte4te du pro"et! de lquipe et de lorganisation concerne# 8l e4iste donc des adaptations dU9 dont les plus connues sont: Le Qational Unified 9rocess LQU9M LeRtreme 9rogramming LR9M Le ESo EracTs Unified 9rocess L*EU9M

Sc"ma dapplication des processus


5es trois processus mettent chacun laccent sur un ensemble dactivits#

La modlisation du s)st3me
La connaissance dun modlisation comme UML langage de

La mise en Cuvre dun processus de dveloppement adaptatif comme U9 Ue disent pas ce que doit faire le s6st me ni comment le modliser > Uous avons besoin de techniques pour le spcifier! lanal6ser et le concevoir#

Eechniques de spcification des besoins

La spcification des ,esoins


5ahier des charges

Anal)ss par (onGus par !aliss par

Mod3le du domaine Mod3le de conception Mod3le dimplmentation Mod3le darc"itecture Mod3le de tests

Structurs par *ests par

/iagramme des ;(s

/plo)s par

Mod3le de dploiement

Les cas dutilisation


Les cas dutilisation sont une collection de scnarios de russite etKou dchec# 8ls dcrivent la fa7on dont un acteur utilise un s6st me pour atteindre un but# 8ls sont de t6pe bote noire et dcrivent un s6st me en terme de comportement# (e quil fera et non comment il le feraH

Les scnarios
Un scnario est un chemin particulier pris lors de le4cution dun use case# Iominal ? cest le scnario t6pique de succ s# Alternatif 3 il correspond au4 traitements alternatifs possibles# /c"ec 3 il recensent les checs dans le droulement dune tape de scnario# scnario

?dentification des uses cases


5omment identifier les uses cases @ Les 4rocessus Mtier <lmentaires servent atteindre le but dun utilisateur du s6st me# 8ls sont de niveau Objectif utilisateur et sont analogues au4 cas dutilisation dun s6st me# Qecenser les 9M%! permet de dcouvrir lensemble des cas dutilisation dun s6st me#

Les processus mtier lmentaires


Un 9M% est une tIche effectue par une personne : en un lieu et un temps donn en rponse un vnement et qui a"oute une valeur mesurable

/escription des uses case


Seule la forme te4tuelle permet de dcrire les cas dutilisation# Mais UML nen propose aucune# Selon le niveau de prcision! la rdaction dun cas dutilisation peut prendre deu4 formes: Qsume dtaille Huelle que soit la forme utilise! on doit tou"ours se concentrer sur les intentions de lutilisateur les responsabilits du s6st me

Le format rsum
Le format rsum dcrit bri vement! le comportement du cas dutilisation# 8l ne mentionne que lactivit et les checs les plus significatifs# On les labore en tendant la liste des ob"ectifs par acteur#

(ontenu du format dtaill


$ans sa version toffe! il contient "usqu -' sections:
Eitre $escription /cteurs 9orte Uiveau 9arties prenantes et intr0ts 9r conditions et dclencheurs Scnario nominal Scnarios alternatifs Scnarios derreur 9ost conditions Lgarantie de succ s et dchecM ;ariantes de donnes et de technologies Huestions en suspens

/escription des scnarios


La forme te4tuelle est indispensable# %lle seule permet de communiquer de fa7on simple et prcise# %n revanche! elle nest pas adapte la description des enchanements dun scnario au4 interventions des acteurs secondaires#

Mod3le des cas dutilisation


UML reprsente les cas dutilisation par le diagramme de cas dutilisation. On 6 montre les acteurs en relation avec les cas dutilisation# 5e qui donne une vision spatiale et d6namique du s6st me

Les techniques danal6se et de conception

Les patterns
Larchitecte 5hristophe /le4ander est le premier les avoirs voqus en rponse la question suivante# Les individus dune m0me culture sont?ils tous daccord sur ce qui peut?0tre considr comme une bonne conception @ La rponse la conduit dcouvrir des mod les pouvant servir de base ob"ective lvaluation dune conception: les patterns

Les diffrents t)pes de pattern


Les patterns sont des solutions prouves pour rsoudre des probl mes bien connus# On distingue plusieurs t6pes de patterns selon la phase de modlisation ou lon se trouve# Les patterns danal6se# Les patterns de conception# Les patterns architecturau4# Les idiomes# Les frameSorTs ou cadres#

Eechniques danal6se des besoins

Lanal)se des ,esoins


$ocument de vision

Anal)ss par
(onGus par !aliss par

Mod3le du domaine
Mod3le de conception Mod3le dimplmentation Mod3le darc"itecture Mod3le de tests

Structurs par *ests par

/iagramme des ;(s

/plo)s par

Mod3le de dploiement

8,Eectif de lanal)se
/nal6ser les besoins! cest rechercher les ob"ets du domaine! leurs proprits et leurs relations# Le diagramme de classe issu de cette activit reprsente: les classes conceptuelles ou les ob"ets du domaine# les attributs de ces classes# les associations entre ces classes#

Mode opratoire
9our chaque cas dutilisation! on droule les tapes des scnarios que lon anal6se: 9our identifier les classes du domaine# 9our rechercher les attributs de ces classes# 9our recherches les associations entre ces classes# 9our t6per ces associations#

?dentification des classes


9our identifier les classes conceptuelles! plusieurs techniques e4istent: lanal6se linguistique# les listes de catgories# les classes de spcifications# les t6pes de donnes non primitifs# les patterns danal6se#

Les attri,uts
Un attribut est la valeur dune donne logique dun ob"et# Une personne par e4emple un nom et un prnom qui doivent 0tre connus# La classe conceptuelle Personne doit donc avoir des attributs Nom et Prnom.

Les associations
Une association est une significative entre des classes# relation

$ans un Mod le du $omaine! on ne retient que deu4 sortes dassociations# Les associations mmorables# Les associations issues de la liste des associations courantes#

Les t)pes dassociation


On distingue plusieurs sortes dassociations : Les associations multiples La gnralisationKspcialisation Les classes dassociation Lagrgation Lassociation qualifie Lassociation rfle4ive

Mod3le du domaine
Enre istre!la!#ente!de
Est!dcrit!par

Catalogue Produits
())*
(

( ,peci!ication Produits Descripti! Pri" code#rticle


( Dcrit *

( +))( ( ( ())* Est!utilis!par

'igne #rticle quantite

$agasin adresse nom


( Stoc$e "ber e ( +))*

#rticle

())*

%ournalise ())* * ( ( Est!saisie!sur

%egistre vente-&ente

&ente date heure estTerminer

Paiement montant
(

Est!paye!par

Eechnique de conception

La conception gnrique
$ocument de vision

Anal)ss par

Mod3le du domaine

(onGus par
!aliss par Structurs par *ests par /iagramme des ;(s

Mod3le de conception
Mod3le dimplmentation Mod3le darc"itecture Mod3le de tests

/plo)s par

Mod3le de dploiement

Lactivit de conception
La spcification et lanal6se des besoins ont permis de dfinir quel s6st me construire# Lactivit de conception! sintresse la fa7on de construire le s6st me# %lle vise construire une solution qui satisfasse au4 besoins du s6st me#

La conception oriente o,Eet


Ladoption du paradigme ob"et et de ses principes fondamentau4# Lusage dun langage de modlisation comme UML# La mise en Cuvre dun processus de dveloppement adaptatif comme U9#

Ue suffisent pas a orienter de fa7on qualitative lactivit de conception >

Les principes de conception


9our concevoir une bonne solution! il faut penser en terme de responsabilits# 9our cela! il faut connatre lune des principales techniques de conception

Les

patterns

daffectation

des

responsabilits

Les principes daffectation


%n conception! un s6st me est vu comme une communaut dob"ets qui collaborent entre eu4# 5e mode de rfle4ion permet: didentifier les ob"ets qui contribuent la ralisation dun vnement s6st me# de dfinir les actions pour quils sacquittent de leurs responsabilits#

Laffectation des responsa,ilits


Les responsabilits sont affectes au4 classes et sont de deu4 t6pes: Les responsabilits de 6aire comme: 5rer un ob"et ou faire un calcul# $clencher une action sur un ob"et# 5ontrPler les activits dun ob"et# Les responsabilits de Savoir comme: 5onnatre les donnes encapsules# 5onnatre les ob"ets conne4es# 5onnatre les lments driver ou calculer#

La ralisation des cas dutilisation

!alisation des cas dutilisation


9our chaque cas dutilisation! on liste toutes les vnements s6st me que lon modlise# en anal6sant les oprations s6st me en identifiant les classes conceptuelles qui collaborent pour les raliser# en affectant des responsabilits chacune de ces classes# en matrialisant les choi4 daffectation des responsabilits dans un diagramme dinteraction#

Les oprations s)st3me


Les oprations s6st me g rent les vnements entrants#
DSS Traiter une vente
&Caissier

&Syst'me

creer(ou#elleVente)* saisirArticles)codeArticle+ quantite* Descriptif+ total ,-autres articles. terminerVente)* Total a#ec taxes creer/aiement)montant* 0onnaie 1 rendre+ re2u
Ces vnements s.st/me entrants invoquent des oprations s.st/me) '#nement syst'me creerNouvelleVente invoque une opration syst'me appele creerNouvelleVente() et ainsi de suite)

Les diagrammes dintractions


Huelque soit les probl mes de conception! on doit implmenter des mthodes pour les rsoudre# 9our raliser ce travail! les diagrammes dinteraction sont indispensables# 8ls servent reprsenter les actions ralises par les ob"ets en fonction de leurs responsabilits# 5es diagrammes sont de deu4 t6pes: les diagrammes de squence# les diagrammes de collaboration#

!alisation SaisirArticle
Anal)se Une ligne article doit 0tre cre et associe une spcification produit et la vente en cours# La quantit de la ligne article doit 0tre renseigne# !esponsa,ilit qui doit crer la ligne article @ qui connait la spcification darticle associer la ligne article @ qui doit transmettre la quantit la ligne article @

Mod3le de conception
&3e istre &Catalo ue /roduit &Specification /roduit &Vente

saisir#rticle(code0 qte) ,pec-1 get,peci!ication(code) ,pec-1 chercher(code)

creer'igne#rticle(spec0 qte)

create(spec0qte) -'igne#rticle

/iagramme de conception
Enre istre!la!#ente!de
Est!dcrit!par

Catalogue Produits
())*
( get,peci!ication(code)

( ,peci!ication Produits Descripti! Pri" code#rticle Chercher(code)


( Dcrit ())*

( +))( ( ( 4tilis!par *

'igne #rticle quantite

$agasin adresse nom


( Stoc$e "ber e +))* *

#rticle

%ournalise ())* * ( (

%egistre vente-&ente saisir#rticle(code0qte)


Est!saisie!sur

&ente date heure estTerminer creer'igne#rticle(spec0qte)


(

Paiement montant get$ontant()


(

Est!paye!par

La modlisation architecturale

La modlisation arc"itecturale
$ocument de vision

Anal)ss par (onGus par

Mod3le du domaine Mod3le de conception

Structurs par
!aliss par *ests par /iagramme des ;(s /plo)s par

Mod3le darc"itecture
Mod3le dimplmentation Mod3le de tests Mod3le de dploiement

8rigine Larchitecture cest A lart de concevoir et de construire un bItiment selon un esthtisme et des r gles techniques dtermines# B 5ette dfinition peut sappliquer la fabrication du logiciel# / linstar dun bItiment! un logiciel est: structur par un plan! illustr par une maquette! ralis par des procds et des outils adapts#

/imension arc"itecturale Larchitecture dun s6st me peut 0tre vue selon deu4 angles principau4# La vue logique qui concerne lorganisation conceptuelle ou la structure du s6st me# La vue de dploiement qui concerne lorganisation ph6sique du s6st me: Machines! OS! Qseau4! etc <

La vue logique
La vue logique ou larchitecture logicielle dcrit: Lorganisation gnrale dun s6st me# Les lments qui le structurent et leurs interfaces# Les proprits et les collaborations des lments qui le composent# %lle contribue une meilleure qualit du Logiciel en terme de: maintenance! volutivit! rutilisation! performance! etc#

Arc"itecture par couc"es


On lapplique au4 applications munies dune interface graphique et manipulant des donnes# %lle a pour but de sparer les diffrentes logiques dune application: La prsentation# La logique applicative# Le domaine mtier# La gestion des donnes# Les mod les les plus connus sont: Mod le?;ue?5ontrPleur ou M5;# Le mod le & couches# Le mod le O5%$

Le mod3le '(F/
8l sinspire de lapproche M;5 et du mod le & couches# $ans ce mod le! on factorise les classes dune application en quatre catgories: 5lasse boundar6 ou ;?# 5lasse control ou ;?4# 5lasse entit6 ou 'F# 5lasse database interface ou /AL# 8l facilite le dploiement en permettant de crer des composants se dplo6ant naturellement#

La modlisation '(F/
La classe ,oundar) reprsente une interface entre un acteur et le s6st me# %lle appartient la couche prsentation# La classe control intercepte les vnements et contrPle la logique de lapplication# %lle appartient la couche de coordination# La classe entit) dcrit les ob"ets du domaine# %lle reprsente les donnes de la base de donnes et appartient la couche $omaine#
2 db inter!ace 3 Database%eader

La classe $/L dcrit les interfaces avec la base de donnes# %lle appartient la couche persistance#

La vue de dploiement
La vue par niveau ou Eiers donne la vision ph6sique dun s6st me# %lle distribue les couches logiques dun s6st me sur ses lments ph6siques# 9lusieurs de ces mod les ont vu le "our: Le mod le - Eiers# Le mod le * Eiers ou 5lientKServeur ou EhicT client# Le mod le ' Eiers aussi appel U?Eiers ou Ehin client#

Le mod3le $ tiers
8l correspond un seul niveau ph6sique oF sont hberges toutes les couches du s6st me# Les applications monopostes ou sur s6st me central sont de ce t6pe#
U4 56 D#' U4P U4 56 D#' U4P

Application ser#eur central Application monoposte

Le mod3le - *iers
Le mod le 5lientKServeur repose sur lutilisation de bases de donnes relationnelles# Eoutes les couches sont distribues sur deu4 entits: le client et le serveur#
3seau
U4 56 D#' 5D U4P

/oste client

Ser#eur 56D6

Le mod3le I9*iers
$ans ce mod le on rpartit les couches logiques en trois niveau4 ou plus# 5est le mod le applications V%O# par
3seau
Ser#eur 8indo9s
U4 U4 U4P

e4cellence

pour

les

Ser#eur de 56D6 4nix

Client 7

Client 8indo9s

56 D#'

O$

La conception dtaille

La conception dtaille
$ocument de vision

Anal)ss par

Mod3le du domaine

(onGus par

Mod3le de conception dtaille


Mod3le darc"itecture Mod3le dimplmentation Mod3le de tests Mod3le de dploiement

Structurs par !aliss par *ests par /iagramme des ;(s /plo)s par

Les classes danal)se $ans le mod le O5%$! on a identifi quatre catgories de classes: %ntit6! Ooundar6! 5ontrol! $ata/ccesLa6er# On les appelle des classes danal6se# %t ce sont les ' derni res qui vont nous aider finaliser la ralisation des cas dutilisation#

!eprsentation des classes danal)se


On reprsente gnralement les classes danal6se par les strot6pes de Wacobson#
A Ooundar6 B

pour les classes dialogues# pour les classes charges de la coordination entre les classes dialogues et les classes entit6# pour les classes mtier ou classes du domaine# 9our les classes dacc s au4 donnes#

A control B

A entit6 B

A $/L B

!elations entre classes danal)se


Les associations entre classes danal6se suivent des r gles asseX strictes# Les Yboundar6Z ne peuvent 0tre relies quau4 YcontrolZ# Les YcontrolZ ont acc s au4 Yboundar6Z! au4 Yentit6Z et au4 autres contrPles# Les Yentit6Z ont acc s au4 autres Yentit6Z! au4 YdalZ et ne sont relies quau4 YcontrolZ# Les YdalZ ont acc s au4 magasins de donnes et ne sont vus que par les Yentit6Z#

Les r3gles dassociations


Qeprsentation des r gles strictes relations entre classes danal6se#
Classes danal.se

des

2 dal 3 Data#cces Dialogue Control 6ntit.

%elation bidirectionnelle

%elations unidirectionnelles

Les classes participantes


Le diagramme rsultant dcrit les classes danal6se et leurs relations# 8l fait la "onction entre: le Mod le du domaine! les maquettes! Le Mod le de conception! larchitecture logique#

Application
5onception SaisirArticle#
-%egistre saisir#rticle(code0 qte) ,pec-1 get,peci!ication(code) ,pec-1 chercher(code) creer'igne#rticle(spec0 qte) create(spec0qte) -'igne #rticle

de
-Catalogue Produit

lopration
-,peci!ication Produit

s6st me
-&ente

Maquette darc"itecture logique


Presentation

Control ,aisir#rticle(code0qte) %egistre

Domaine

clic8

Catalog ,pec Produit

&ente 'igne #rticle

9rameTraiter&ente

,ervice Dal7'ine#rticle

Vous aimerez peut-être aussi