You are on page 1of 47

M.E.D.A.L.

Licence Informatique 3me anne Introduction UML

Module dEnseignement Distance pour lArchitecture Logicielle


Diapositive n 1

Universit de NANTES

Alain VAILLY

AVERTISSEMENT
Lusage de ce document, sous quelque forme que ce soit (lectronique, papier), titre personnel ou devant des tudiants, est autoris et libre de droits, la condition expresse quil soit conserv dans ltat (et notamment quil comporte la page de garde et cet avertissement). Tout autre usage, notamment commercial, toute diffusion via un serveur informatique, une liste de diffusion est soumis laccord PRALABLE de son auteur. Ce document constitue un TOUT. Toute coupe, toute modification non autorise par son auteur sera assimile une atteinte aux droits de lauteur et poursuivie comme telle devant les tribunaux.

Diapositive n 2

Universit de NANTES

Alain VAILLY

Projet ENRC DVD MIAGE


Projet soutenu par le Conseil Rgional des Pays de La Loire dans le cadre des projets ENRC 2007-2008

Thmatique : Passerelles vers et dans lenseignement suprieur

Diapositive n 3

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

Evaluation

Cours magistral Rfrences

Contexte

MEDAL

Exercices

Etudes de cas

Auto-valuation
Universit de NANTES

Corrigs des exercices


Alain VAILLY

Diapositive n 4

M.E.D.A.L.

Cours magistral - Introduction - Analyse des besoins - Analyse - Conception - Processus


PLAN

1) Introduction 2) Mthode, modle, processus

3) Dveloppement avec UML


4) Bref rappel historique 5) Conclusion

- Outils
- Conclusion
Diapositive n 5

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

1) Introduction

Dveloppement du logiciel Cadre des techniques objets Processus ayant dmarr la fin des annes 1980 Effort de normalisation des notations

Evolution rapide et incessante

International

Diapositive n 6

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

1) Introduction

UML (Unified Modeling Language), langage de modlisation unifi, est -comme son nom lindique- un langage qui sert dcrire plusieurs aspects dun logiciel en cours de dfinition, quil sagisse des besoins des utilisateurs, de la structure de donnes mmorises, de la dynamique Ce nest pas une mthode ; il doit tre associ un processus de dveloppement. RUP (Rational Unified Process) est un bon candidat.

Diapositive n 7

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

2) Mthode, modle, processus

processus

techniques

Une mthode comprend deux parties : -une premire, technique, qui correspond lensemble des activits induites (ce que lon doit faire et dans quel ordre) ; -une seconde, organisationnelle, relative la gestion du processus (qui fait quoi, avec quelles ressources). Il faut ajouter cela un aspect outillage qui complte avantageusement cet arsenal . Mthode = { notations, processus, outil, management}

UML
Diapositive n 8

UP
Universit de NANTES

StarUML
Alain VAILLY

M.E.D.A.L.

2) Mthode, modle, processus


Il y a quatre sens au mot modle :

-modle = source de reproductions : sujet, original, moule, spcimen, mannequin ; - modle = rsultat de reproductions : copie, image ; - modle = objet artificiel cr en vue dune production : spcification, prototype, maquette, patron, esquisse ; - modle = rfrence : type archtype, talon, idal, exemple, parangon.
Nous parlons ici du 3e type. (daprs A. COULON, revue ADELI n 69, automne 2007)
Diapositive n 9

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

2) Mthode, modle, processus


Un modle est une reprsentation (le plus souvent abstraite) de quelque chose que lon peroit :

Modle 1

Modle 2

QuickTime et u n dcompresseur TIFF (LZW) sont requis pour visionner cette image .

ralit dforme

filtre
perception

ralit

filtre
perception

ralit dforme

Diapositive n 10

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

2) Mthode, modle, processus


La ralit tant, par principe, altre, il est assez classique de rduire cette dformation en multipliant les analyses, chacune se faisant selon un angle diffrent.

Effet stro

Diapositive n 11

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

2) Mthode, modle, processus


Il faut cependant veiller ce que les analyses soient cohrentes. La phase de vrification de cohrence est donc essentielle.

Diapositive n 12

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

2) Mthode, modle, processus


Plus il y aura de capteurs (bien choisis), plus le modle sera proche de la ralit (que lon veut percevoir), plus cela prendra du temps et plus cela cotera cher...

Diapositive n 13

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

2) Mthode, modle, processus


On distingue actuellement trois familles principales de mthodes autour dUML : - le processus unifi (Unified Process) ou UP, qui labore le modle final par enrichissements progressifs du modle danalyse, - larchitecture MDA (Model Driven Approach), qui labore le modle final par transformations successives de modles, - les mthodes agiles, dont XP (eXtreme Programming) est un bon reprsentant, et qui sont bases sur de bonnes pratiques de programmation.

Diapositive n 14

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

2) Mthode, modle, processus


Le processus unifi est la dmarche prconise.

Il est dfini par un cycle itratif. Chaque itration comprend les activits allant de lanalyse des besoins aux tests sur lesquelles se greffent des proccupations organisationnelles.
Le processus unifi est incrmental, chaque itration apportant quelque chose de plus que la prcdente. Le processus unifi est centr sur larchitecture, au sens du modle de Krutchen (cf plus loin).

Diapositive n 15

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

2) Mthode, modle, processus Incrment X+2


analyse des besoins Incrment X+1 analyse conception gestion de configurations Incrment X de projet analyse des besoins ralisation gestion analyse tests environnement gestion de configurations analyse des besoins conception gestion de projet analyse ralisation gestion deenvironnement configurations conception tests gestion de projet ralisation environnement tests

Diapositive n 16

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

2) Mthode, modle, processus


Analyse des besoins laboration Construction Transition

Expression des besoins Analyse


QuickTime et u n dcompresseur Conception sont requis pour visionner cette image .

Ralisation Tests itrations

Diapositive n 17

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

3) Dveloppement avec UML


Le cadre dans lequel nous situons ce travail est le suivant : 1) Le dveloppement du logiciel est fait en respectant le paradigme sous-jacent de lorientation OBJET ; 2) Faire des schmas pour faire des schmas na aucun sens. La smantique (le sens) est apporte lors de la mise en perspective et lors de lassociation schma-but. 3) Seules les deux premires tapes du processus de dveloppement seront tudies donf .

Diapositive n 18

Universit de NANTES

Alain VAILLY

M.E.D.A.L. Plusieurs lments, plus ou moins indpendants, qui cooprent.

3) Dveloppement avec UML

UML na de sens que si lon respecte (si lon respire, avonsnous envie de dire) le paradigme objet. Dans un tel environnement, a priori, le contrle du systme est dcentralis. PAS OBJET

1 seul lment qui fait tout.


Diapositive n 19

OBJET
Universit de NANTES Alain VAILLY

M.E.D.A.L.

3) Dveloppement avec UML


Il y a plusieurs avantages adopter ce paradigme objet : - ltude du problme et de sa solution peut tre aborde progressivement, morceau par morceau, ce qui en rduit la complexit tout en rajoutant la complexit lie aux communications entre les morceaux ; - la livraison au client peut se faire plus vite, par petits bouts. Il est donc associ plus tt la cration du logiciel, en rcolte les fruits plus tt ce qui renforce son envie dtre encore plus impliqu et peut le pousser ajouter de nouvelles demandes celles en cours de traitement ;

Diapositive n 20

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

3) Dveloppement avec UML


- on cre les conditions dune r-utilisation de certaines parties dun logiciel, ce qui permettra ensuite un gain de temps en dveloppement et un gain en fiabilit la condition que lon ait pris la peine de fignoler les morceaux qui seront placs dans larmoire composants ; - lvolution du logiciel est facilite du fait du paradigme objet lui-mme, un objet pouvant accrotre ses fonctionnalits assez naturellement, simplement en lui ajoutant une ou plusieurs fonctions, sans perturber le reste dans les limites de lindpendance que lon a introduit dans les modles.

Diapositive n 21

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

3) Dveloppement avec UML


UML, dans ses toutes dernires versions, propose plus dune douzaine de types de schmas diffrents, chacun sens (???) modliser, dcrire, une partie du systme, de la solution Certains de ces schmas ne sont utiles que dans un contexte trs prcis. Nous nous refusons les prsenter sans les replonger dans leurs contextes respectifs, en indiquant chaque fois quoi ils servent, ce quils ne sont pas, quand il faut y recourir

Diapositive n 22

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

3) Dveloppement avec UML


Ce cours est une (simple) introduction UML, insr, dans le contexte nantais, entre une initiation la modlisation de systmes dinformation au travers de Merise et un approfondissement du langage et une tude du passage au code, tous deux raliss en matrise. Nous nous concentrons sur UML 1.5 et sur les seuls diagrammes utiles (selon nous) aux architectes logiciels durant les phases danalyse des besoins et danalyse.

Diapositive n 23

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

3) Dveloppement avec UML


Cest la raison pour laquelle nous refusons de prsenter chaque diagramme par sa dfinition thorique (???), telle quelle est exprime dans le mta-modle (le modle qui dcrit le langage qui sert dcrire le modle). Un tel recours formalise de trop le discours, loigne des concepts et pose souvent plus de questions quil nen rsout. Il sagit dune introduction Pour une tude exhaustive, nous vous renvoyons la littrature.

Diapositive n 24

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

3) Dveloppement avec UML

Introduction Analyse des besoins


Cas dutilisation Scnarios

Cur de ce cours

Analyse
Squences Collaborations Classes tats-transitions Activits

Preface REQUIREMENTS SPECIFICATIONS DESIGN Process Tools Final words

Conception
Processus Outils Conclusion
Universit de NANTES

Composants Dploiement

Diapositive n 25

Alain VAILLY

M.E.D.A.L.

3) Dveloppement avec UML


Un processus de dveloppement classique comprend les activits suivantes :
-la dfinition des besoins, qui prcise les objectifs, les services attendus et les principales contraintes du systme tudi ; - lanalyse, qui est la construction dun modle du systme partir de la dfinition des besoins ; - la conception, qui propose une solution respectant lanalyse, cette conception pouvant se dcliner en conception prliminaire et conception dtaille ; - la ralisation, qui est limplantation dune solution exploitable ; - les tests et la mise en uvre ou le dploiement ; - la maintenance.
Diapositive n 26

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

3) Dveloppement avec UML


Le dveloppement de logiciels avec UML est un dveloppement dans lequel les modles produits le sont dans la notation UML et en suivant les diffrentes tapes prconises par une mthode de dveloppement avec UML, telle RUP (ou dautres). La notation UML couvre lensemble du processus de dveloppement. Elle comprend une grande varit de concepts relatifs la modlisation des besoins fonctionnels, la modlisation des systmes informatiques et de leurs logiciels. Ces diffrentes modlisations ont t regroupes dans une architecture gnrique, le modle 4 +1 de P. KRUTCHEN.

Diapositive n 27

Universit de NANTES

Alain VAILLY

M.E.D.A.L.
Modle darchitecture 4 + 1 de P. KRUTCHEN

3) Dveloppement avec UML

Vue conceptuelle

Vue implantation

Vue des besoins Vue processus Vue dploiement

Diapositive n 28

Universit de NANTES

Alain VAILLY

M.E.D.A.L.
Modle darchitecture 4 + 1 de P. KRUTCHEN

3) Dveloppement avec UML

Description des besoins du systme, via des cas dutilisation et des scnarios.

Diapositive n 29

Universit de NANTES

Alain VAILLY

M.E.D.A.L.
Modle darchitecture 4 + 1 de P. KRUTCHEN

3) Dveloppement avec UML


Modlisation de lapplication indpendante de limplantation. Structure et comportement logique du systme.

Diapositive n 30

Universit de NANTES

Alain VAILLY

M.E.D.A.L.
Modle darchitecture 4 + 1 de P. KRUTCHEN

3) Dveloppement avec UML

Modlisation des aspects concurrents. Mise en vidence des processus, de leur coordination, des communications...

Diapositive n 31

Universit de NANTES

Alain VAILLY

M.E.D.A.L.
Modle darchitecture 4 + 1 de P. KRUTCHEN

3) Dveloppement avec UML


Modlisation de lapplication en terme de composants. Structure et comportement logiciel du systme.

Diapositive n 32

Universit de NANTES

Alain VAILLY

M.E.D.A.L.
Modle darchitecture 4 + 1 de P. KRUTCHEN

3) Dveloppement avec UML

Modlisation de larchitecture physique du systme. Structure du systme en termes de processeurs et de connexions.

Diapositive n 33

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

3) Dveloppement avec UML


La notation UML est indpendante de cette architecture en 4 + 1 vues. Elle est en fait structure en huit types de diagrammes qui, tous, couvrent des aspects disjoints mais complmentaires du systme dcrire. - Le diagramme de cas dutilisation dcrit le comportement abstrait du systme au travers des fonctions attendues vis--vis des acteurs externes du systme. - Le diagramme de classes dcrit la structure statique du systme en termes de classes et de relations entre classes. - Le diagramme tats-transitions dfinit le comportement dynamique des instances dune classe. - Le diagramme dactivits dcrit des enchanements de traitements.

Diapositive n 34

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

3) Dveloppement avec UML


- Le diagramme de squences dcrit lvolution temporelle dune interaction entre objets. - Le diagramme de collaborations dcrit lorganisation spatiale dune interaction entre objets. - Le diagramme de composants dcrit lorganisation logicielle du systme en termes de composants, de processus, de tches et de relations entre ces lments. - Le diagramme de dploiement dcrit lorganisation physique du systme, sa distribution en termes de nuds et de liaisons. Ce cours prsente, de faon dtaille, les six premiers et de faon synthtique les deux autres.

Diapositive n 35

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

3) Dveloppement avec UML


UML est un langage qui se veut tre une norme. Il a donc une dfinition (relativement) stricte. Pour autant, il est extensible. Chacun peut y ajouter ses propres extensions par le biais de la notion de strotype. On peut aussi, et pour chaque diagramme, ajouter des commentaires et/ou exprimer des contraintes, celles-ci tant rdiges dans un langage formel appel OCL (Object Constraint Language). Celui-ci ne fait pas partie du scope de ce cours.

Diapositive n 36

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

3) Dveloppement avec UML


Les strotypes permettent de dfinir des comportements standards et de les rutiliser dans dautres contextes. Il est ncessaire de les dcrire prcisment.

Lattribut appel numro se comporte comme une key .

Lattribut appel numro se comporte comme un attribut standard.

Diapositive n 37

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

3) Dveloppement avec UML


Les notes correspondent des commentaires que lon peut attacher nimporte quel lment dun modle.

Diapositive n 38

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

3) Dveloppement avec UML


Le langage OCL a t introduit dans le langage UML pour faciliter la description des rgles du mta-modle et aussi la prcision des modles crits avec UML. Les contraintes se prsentent sous forme de rgles associes un contexte spcifique.

Diapositive n 39

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

4) Bref rappel historique


Lvolution des mthodes sest toujours faite de la programmation vers lanalyse. Les racines des mthodes objets plongent dans les annes 60. Vers le dbut des annes 80, les mthodes objets ont commenc merger. Dans les annes 90, on comptait plus dune cinquantaine de mthodes objets, ce qui crait une certaine cacophonie gnratrice de confusion et dattentisme des utilisateurs.

La techno nest pas mre ; on attend.

Diapositive n 40

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

4) Bref rappel historique

Fin 1994, deux mthodes se rapprochent. James RUMBAUGH et Grady BOOCH (OMT et BOOCH) dcident de mettre leurs travaux en commun et de crer une mthode unifie (Unified Method). Une anne plus tard, ils sont rejoints par Ivar JACOBSON, qui apporte en dot ses Use Cases. Si le consensus est vite atteint autour des concepts fondamentaux des objets, il y a assez rapidement frottements, tensions, lorsquil sagit de dfinir la notation employer, chacun voulant en quelque sorte imposer la sienne

Diapositive n 41

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

4) Bref rappel historique

La premire version de ce qui est encore une METHODE est prsente en octobre 1995 (version 0.8), ce qui va gnrer de trs nombreuses ractions qui conduiront une version corrige, publie en juin 1996 (version 0.9). En 1996, la sparation notation - processus est consomme. La mthode unifie devient le langage de modlisation unifi pour le dveloppement orient-objets (Unified Modeling Language for Object-Oriented Development) que chacun connat alors sous lacronyme UML.

Diapositive n 42

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

4) Bref rappel historique

En parallle, un consortium de grandes entreprises reconnat limportance de ce travail et dcide de travailler lamlioration du langage. Cest lOMG (Object Management Group), dans lequel se retrouvent DEC, HP, IBM, Microsoft, Oracle, ICON, Unisys). La version 1.0 dUML est soumise lOMG en janvier 1997. La version 1.1, prsente en septembre 1997, est standardise ds novembre de la mme anne. http://www.omg.org

Diapositive n 43

Universit de NANTES

Alain VAILLY

M.E.D.A.L.
juin 1999

UML 1.3 UML 1.2

4) Bref rappel historique

juin 1998 nov. 1997

UML 1.1 UML 1.0

jan. 1997 juin 1996 oct. 1995

UML 0.9

Mthode unifie 0.8 BOOCH93 OMT-2 OMT-1


Universit de NANTES

Autres mthodes
Diapositive n 44

BOOCH91

OOSE

Partenaires
Alain VAILLY

M.E.D.A.L.

Bibliographie (sommaire)
P. ANDRE, A. VAILLY, Spcifications des logiciels ; Deux exemples de pratiques rcentes : Z et UML , Editions Ellipses, juillet 2001, ISBN 2-7298-0774-8

la rfrence :-)

sont requis pour visionner compress) dcompresseur TIFF QuickTime et un (non cette image.

Pour complter la formation... ;-)))

P-A. MULLER, N. GAERTNER, Modlisation objet avec UML , Editions EYROLLES, 2003, ISBN 2-212-11397-8

Diapositive n 45

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

Webographie (sommaire)
Sil ny avait quun seul site Internet consulter rgulirement
QuickTime et u n dcompresseur TIFF (non compress) sont requis pour visio nner cette image.

http://conception.developpez.com/

Diapositive n 46

Universit de NANTES

Alain VAILLY

M.E.D.A.L.

Fin

Diapositive n 47

Universit de NANTES

Alain VAILLY