Transcript M.E.D.A.L.

M.E.D.A.L.
MIAGE 3ème année
Introduction à UML
Module d’Enseignement à Distance
pour l’Architecture Logicielle
Diapositive n° 1
Université de NANTES
Alain VAILLY
AVERTISSEMENT
L’usage 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 qu’il soit conservé dans l’état (et notamment
qu’il 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 à l’accord PRÉALABLE
de son auteur.
Ce document constitue un TOUT. Toute coupe, toute modification non
autorisée par son auteur sera assimilée à une atteinte aux droits de l’auteur
et poursuivie comme telle devant les tribunaux.
Diapositive n° 2
Université de NANTES
Alain VAILLY
M.E.D.A.L.
Evaluation
Contexte
Etudes de cas
Diapositive n° 3
Cours magistral
Références
MEDAL
Auto-évaluation
Université de NANTES
Exercices
Corrigés
des
exercices
Alain VAILLY
M.E.D.A.L.
Cours magistral
- Introduction
- Analyse des besoins
- Analyse
- Conception
PLAN
1) Introduction
2) Méthode, modèle, processus
- Processus
3) Développement avec UML
- Outils
4) Bref rappel historique
5) Conclusion
- Conclusion
Diapositive n° 4
Université de NANTES
Alain VAILLY
M.E.D.A.L.
1) Introduction
• Développement du logiciel
• Cadre des techniques à objets
• Processus ayant démarré à la fin des années 1980
• Effort de normalisation des notations
• Evolution rapide et incessante
• International
Diapositive n° 5
Université de NANTES
Alain VAILLY
M.E.D.A.L.
1) Introduction
UML (Unified Modeling Language), langage de
modélisation unifié, est -comme son nom l’indique- un
langage qui sert à décrire plusieurs aspects d’un logiciel en
cours de définition, qu’il s’agisse des besoins des utilisateurs,
de la structure de données mémorisées, de la dynamique…
Ce n’est pas une méthode ; il doit être associé à un processus
de développement. RUP (Rational Unified Process) est un
bon candidat.
Diapositive n° 6
Université de NANTES
Alain VAILLY
M.E.D.A.L.
2) Méthode, modèle, processus
processus
Une méthode comprend deux parties :
-une première, technique, qui correspond à l’ensemble des
activités induites (ce que l’on 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 complète
avantageusement cet « arsenal ».
techniques
Méthode = { notations, processus, outil, management}
UML
Diapositive n° 7
UP
Université de NANTES
StarUML
Alain VAILLY
M.E.D.A.L.
2) Méthode, modèle, processus
Il y a quatre sens au mot modèle :
-modèle = source de reproductions : sujet, original, moule,
spécimen, mannequin ;
- modèle = résultat de reproductions : copie, image ;
- modèle = objet artificiel créé en vue d’une production :
spécification, prototype, maquette, patron, esquisse ;
- modèle = référence : type archétype, étalon, idéal, exemple,
parangon.
Nous parlons ici du 3e type.
(d’après A. COULON, revue ADELI n° 69, automne 2007)
Diapositive n° 8
Université de NANTES
Alain VAILLY
M.E.D.A.L.
2) Méthode, modèle, processus
Un modèle est une représentation (le plus souvent abstraite)
de quelque chose que l’on perçoit :
Modèle 1
Modèle 2
QuickTime™ et un
décompresseur TIFF (LZW)
sont requis pour visionner cette image.
réalité
déformée
Diapositive n° 9
filtre
perception
filtre
réalité
perception
Université de NANTES
réalité
déformée
Alain VAILLY
M.E.D.A.L.
2) Méthode, modèle, processus
La réalité étant, par principe, altérée, il est assez classique de
réduire cette déformation en multipliant les analyses, chacune
se faisant selon un « angle » différent.
Effet
stéréo
Diapositive n° 10
Université de NANTES
Alain VAILLY
M.E.D.A.L.
2) Méthode, modèle, processus
Il faut cependant veiller à ce que les analyses soient
cohérentes. La phase de vérification de cohérence est donc
essentielle.
Diapositive n° 11
Université de NANTES
Alain VAILLY
M.E.D.A.L.
2) Méthode, modèle, processus
Plus il y aura de capteurs (bien choisis…), plus le modèle
sera proche de la réalité (que l’on veut percevoir…), plus
cela prendra du temps et plus cela coûtera cher...
Diapositive n° 12
Université de NANTES
Alain VAILLY
M.E.D.A.L.
2) Méthode, modèle, processus
On distingue actuellement trois familles principales de
méthodes autour d’UML :
- le processus unifié (Unified Process) ou UP, qui élabore le
modèle final par enrichissements progressifs du modèle
d’analyse,
- l’architecture MDA (Model Driven Approach), qui élabore
le modèle final par transformations successives de modèles,
- les méthodes agiles, dont XP (eXtreme Programming) est
un bon représentant, et qui sont basées sur de bonnes
pratiques de programmation.
Diapositive n° 13
Université de NANTES
Alain VAILLY
M.E.D.A.L.
2) Méthode, modèle, processus
Le processus unifié est la démarche préconisée.
Il est défini par un cycle itératif. Chaque itération comprend
les activités allant de l’analyse des besoins aux tests sur
lesquelles se greffent des préoccupations organisationnelles.
Le processus unifié est incrémental, chaque itération
apportant quelque chose de plus que la précédente.
Le processus unifié est centré sur l’architecture, au sens du
modèle de Krutchen (cf plus loin).
Diapositive n° 14
Université de NANTES
Alain VAILLY
M.E.D.A.L.
2) Méthode, modèle, processus
Incrément X+2
analyse des besoins
Incrément X+1
analyse
conception
gestion de configurations
Incrément
X
analyse des besoins
réalisation
gestion de projet
analyse tests
environnement
gestion de configurations
analyse des
besoins
conception
gestion de projet
analyse
réalisation
gestion deenvironnement
configurations
conception
tests
gestion de projet
réalisation
environnement
tests
Diapositive n° 15
Université de NANTES
Alain VAILLY
M.E.D.A.L.
2) Méthode, modèle, processus
Analyse
des besoins
Élaboration
Construction
Transition
Expression des besoins
Analyse
QuickTime™ et un
décompresseur
Conception
sont requis pour visionner cette image.
Réalisation
Tests
itérations
Diapositive n° 16
Université de NANTES
Alain VAILLY
M.E.D.A.L.
3) Développement avec UML
Le cadre dans lequel nous situons ce travail est le suivant :
1) Le développement du logiciel est fait en respectant le
paradigme sous-jacent de l’orientation OBJET ;
2) Faire des schémas pour faire des schémas n’a aucun sens.
La sémantique (le sens) est apportée lors de la mise en
perspective et lors de l’association schéma-but.
3) Seules les deux premières étapes du processus de
développement seront étudiées « à donf ».
Diapositive n° 17
Université de NANTES
Alain VAILLY
M.E.D.A.L.
3) Développement avec UML
Plusieurs éléments, plus
ou moins indépendants,
qui coopèrent.
UML n’a de sens que si l’on respecte (si l’on respire, avonsnous envie de dire) le paradigme objet. Dans un tel
environnement, a priori, le contrôle du système est
décentralisé.
PAS OBJET
1 seul élément qui
fait tout.
Diapositive n° 18
OBJET
Université de NANTES
Alain VAILLY
M.E.D.A.L.
3) Développement avec UML
Il y a plusieurs avantages à adopter ce paradigme objet :
- l’étude du problème et de sa solution peut être abordée
progressivement, morceau par morceau, ce qui en réduit la
complexité… tout en rajoutant la complexité liée aux
communications entre les morceaux ;
- la livraison au client peut se faire plus vite, par petits bouts.
Il est donc associé plus tôt à la création du logiciel, en récolte
les fruits plus tôt… ce qui renforce son envie d’être encore
plus impliqué et peut le pousser à ajouter de nouvelles
demandes à celles en cours de traitement ;
Diapositive n° 19
Université de NANTES
Alain VAILLY
M.E.D.A.L.
3) Développement avec UML
- on crée les conditions d’une ré-utilisation de certaines
parties d’un logiciel, ce qui permettra ensuite un gain de
temps en développement et un gain en fiabilité… à la
condition que l’on ait pris la peine de fignoler les morceaux
qui seront placés dans « l’armoire à composants » ;
- l’évolution du logiciel est facilitée du fait du paradigme
objet lui-même, un objet pouvant accroître ses fonctionnalités
assez naturellement, « simplement » en lui ajoutant une ou
plusieurs fonctions, sans perturber le reste… dans les limites
de l’indépendance que l’on a introduit dans les modèles.
Diapositive n° 20
Université de NANTES
Alain VAILLY
M.E.D.A.L.
3) Développement avec UML
UML, dans ses toutes dernières versions, propose plus d’une
douzaine de types de schémas différents, chacun sensé (???)
modéliser, décrire, une partie du système, de la solution…
Certains de ces schémas ne sont utiles que dans un contexte
très précis. Nous nous refusons à les présenter sans les
replonger dans leurs contextes respectifs, en indiquant à
chaque fois à quoi ils servent, ce qu’ils ne sont pas, quand il
faut y recourir…
Diapositive n° 21
Université de NANTES
Alain VAILLY
M.E.D.A.L.
3) Développement avec UML
Ce cours est une (simple) introduction à UML, inséré, dans le
contexte nantais, entre une initiation à la modélisation de
systèmes d’information au travers de Merise et un
approfondissement du langage et une étude du passage au
code, tous deux réalisés en maîtrise.
Nous nous concentrons sur UML 1.5 et sur les seuls
diagrammes utiles (selon nous…) aux architectes logiciels
durant les phases d’analyse des besoins et d’analyse.
Diapositive n° 22
Université de NANTES
Alain VAILLY
M.E.D.A.L.
3) Développement avec UML
C’est la raison pour laquelle nous refusons de présenter
chaque diagramme par sa définition théorique (???), telle
qu’elle est exprimée dans le méta-modèle (le modèle qui
décrit le langage qui sert à décrire le modèle).
Un tel recours formalise de trop le discours, éloigne des
concepts et pose souvent plus de questions qu’il n’en résout.
Il s’agit d’une introduction à… Pour une étude exhaustive,
nous vous renvoyons à la littérature.
Diapositive n° 23
Université de NANTES
Alain VAILLY
M.E.D.A.L.
3) Développement avec UML
Introduction
Analyse des besoins
Cas d’utilisation
Scénarios
Analyse
Cœur de ce cours
Séquences
Collaborations
Classes
États-transitions
Activités
Preface
REQUIREMENTS
SPECIFICATIONS
DESIGN
Process
Tools
Final words
Diapositive n° 24
Conception
Composants
Déploiement
Processus
Outils
Conclusion
Université de NANTES
Alain VAILLY
M.E.D.A.L.
3) Développement avec UML
Un processus de développement classique comprend les activités
suivantes :
-la définition des besoins, qui précise les objectifs, les services
attendus et les principales contraintes du système étudié ;
- l’analyse, qui est la construction d’un modèle du système à partir
de la définition des besoins ;
- la conception, qui propose une solution respectant l’analyse, cette
conception pouvant se décliner en conception préliminaire et
conception détaillée ;
- la réalisation, qui est l’implantation d’une solution exploitable ;
- les tests et la mise en œuvre ou le déploiement ;
- la maintenance.
Diapositive n° 25
Université de NANTES
Alain VAILLY
M.E.D.A.L.
3) Développement avec UML
Le développement de logiciels avec UML est un développement
dans lequel les modèles produits le sont dans la notation UML et en
suivant les différentes étapes préconisées par une méthode de
développement avec UML, telle RUP (ou d’autres).
La notation UML couvre l’ensemble du processus de
développement. Elle comprend une grande variété de concepts
relatifs à la modélisation des besoins fonctionnels, à la modélisation
des systèmes informatiques et de leurs logiciels.
Ces différentes modélisations ont été regroupées dans une
architecture générique, le modèle 4 +1 de P. KRUTCHEN.
Diapositive n° 26
Université de NANTES
Alain VAILLY
M.E.D.A.L.
Modèle d’architecture 4 + 1 de P. KRUTCHEN
3) Développement avec UML
Vue conceptuelle
Vue implantation
Vue des besoins
Vue processus
Diapositive n° 27
Vue déploiement
Université de NANTES
Alain VAILLY
M.E.D.A.L.
Modèle d’architecture 4 + 1 de P. KRUTCHEN
3) Développement avec UML
Description des besoins du
système, via des cas
d’utilisation et des scénarios.
Diapositive n° 28
Université de NANTES
Alain VAILLY
M.E.D.A.L.
Modèle d’architecture 4 + 1 de P. KRUTCHEN
3) Développement avec UML
Modélisation de l’application
indépendante de l’implantation.
Structure et comportement
logique du système.
Diapositive n° 29
Université de NANTES
Alain VAILLY
M.E.D.A.L.
Modèle d’architecture 4 + 1 de P. KRUTCHEN
3) Développement avec UML
Modélisation des aspects concurrents.
Mise en évidence des processus,
de leur coordination, des
communications...
Diapositive n° 30
Université de NANTES
Alain VAILLY
M.E.D.A.L.
Modèle d’architecture 4 + 1 de P. KRUTCHEN
3) Développement avec UML
Modélisation de l’application
en terme de composants.
Structure et comportement
logiciel du système.
Diapositive n° 31
Université de NANTES
Alain VAILLY
M.E.D.A.L.
Modèle d’architecture 4 + 1 de P. KRUTCHEN
3) Développement avec UML
Modélisation de l’architecture
physique du système.
Structure du système en termes
de processeurs et de connexions.
Diapositive n° 32
Université de NANTES
Alain VAILLY
M.E.D.A.L.
3) Développement avec UML
La notation UML est indépendante de cette architecture en 4 + 1
vues. Elle est en fait structurée en huit types de diagrammes qui,
tous, couvrent des aspects disjoints mais complémentaires du
système à décrire.
- Le diagramme de cas d’utilisation décrit le comportement abstrait
du système au travers des fonctions attendues vis-à-vis des acteurs
externes du système.
- Le diagramme de classes décrit la structure statique du système en
termes de classes et de relations entre classes.
- Le diagramme états-transitions définit le comportement
dynamique des instances d’une classe.
- Le diagramme d’activités décrit des enchaînements de traitements.
Diapositive n° 33
Université de NANTES
Alain VAILLY
M.E.D.A.L.
3) Développement avec UML
- Le diagramme de séquences décrit l’évolution temporelle d’une
interaction entre objets.
- Le diagramme de collaborations décrit l’organisation spatiale
d’une interaction entre objets.
- Le diagramme de composants décrit l‘organisation logicielle du
système en termes de composants, de processus, de tâches et de
relations entre ces éléments.
- Le diagramme de déploiement décrit l’organisation physique du
système, sa distribution en termes de nœuds et de liaisons.
Ce cours présente, de façon détaillée, les six premiers et de façon
synthétique les deux autres.
Diapositive n° 34
Université de NANTES
Alain VAILLY
M.E.D.A.L.
3) Développement avec UML
UML est un langage qui se veut être une norme. Il a donc une
définition (relativement) stricte. Pour autant, il est extensible.
Chacun peut y ajouter ses propres extensions par le biais de la notion
de stéréotype.
On peut aussi, et pour chaque diagramme, ajouter des commentaires
et/ou exprimer des contraintes, celles-ci étant rédigées dans un
langage formel appelé OCL (Object Constraint Language). Celui-ci
ne fait pas partie du « scope » de ce cours.
Diapositive n° 35
Université de NANTES
Alain VAILLY
M.E.D.A.L.
3) Développement avec UML
Les stéréotypes permettent de définir des comportements standards
et de les réutiliser dans d’autres contextes. Il est nécessaire de les
décrire précisément.
L’attribut appelé numéro se
comporte comme une « key ».
Diapositive n° 36
L’attribut appelé numéro se
comporte comme un attribut
standard.
Université de NANTES
Alain VAILLY
M.E.D.A.L.
3) Développement avec UML
Les notes correspondent à des commentaires que l’on peut attacher à
n’importe quel élément d’un modèle.
Diapositive n° 37
Université de NANTES
Alain VAILLY
M.E.D.A.L.
3) Développement avec UML
Le langage OCL a été introduit dans le langage UML pour faciliter
la description des règles du méta-modèle et aussi la précision des
modèles écrits avec UML. Les contraintes se présentent sous forme
de règles associées à un contexte spécifique.
Diapositive n° 38
Université de NANTES
Alain VAILLY
M.E.D.A.L.
4) Bref rappel historique
L’évolution des méthodes s’est toujours faite de la programmation
vers l’analyse. Les racines des méthodes objets plongent dans les
années 60. Vers le début des années 80, les méthodes objets ont
commencé à émerger.
Dans les années 90, on comptait plus d’une cinquantaine de
méthodes objets, ce qui créait une certaine cacophonie génératrice de
confusion et… d’attentisme des utilisateurs.
« La techno n’est pas mûre ; on
attend. »
Diapositive n° 39
Université de NANTES
Alain VAILLY
M.E.D.A.L.
4) Bref rappel historique
Fin 1994, deux méthodes se rapprochent. James RUMBAUGH et
Grady BOOCH (OMT et BOOCH) décident de mettre leurs travaux
en commun et de créer une méthode unifiée (Unified Method).
Une année 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, lorsqu’il s’agit de définir la notation à
employer, chacun voulant en quelque sorte imposer la sienne…
Diapositive n° 40
Université de NANTES
Alain VAILLY
M.E.D.A.L.
4) Bref rappel historique
La première version de ce qui est encore une METHODE est
présentée en octobre 1995 (version 0.8), ce qui va générer de très
nombreuses réactions qui conduiront à une version corrigée, publiée
en juin 1996 (version 0.9).
En 1996, la séparation notation - processus est consommée. La
méthode unifiée devient le langage de modélisation unifié pour le
développement orienté-objets (Unified Modeling Language for
Object-Oriented Development) que chacun connaît alors sous
l’acronyme UML.
Diapositive n° 41
Université de NANTES
Alain VAILLY
M.E.D.A.L.
4) Bref rappel historique
En parallèle, un consortium de grandes entreprises reconnaît
l’importance de ce travail et décide de travailler à l’amélioration du
langage. C’est l’OMG (Object Management Group), dans lequel se
retrouvent DEC, HP, IBM, Microsoft, Oracle, ICON, Unisys…).
La version 1.0 d’UML est soumise à l’OMG en janvier 1997. La
version 1.1, présentée en septembre 1997, est standardisée dès
novembre de la même année.
http://www.omg.org
Diapositive n° 42
Université de NANTES
Alain VAILLY
M.E.D.A.L.
UML 1.3
juin 1999
4) Bref rappel historique
UML 1.1
nov. 1997
jan. 1997
juin 1996
oct. 1995
Diapositive n° 43
UML 1.0
UML 0.9
Méthode unifiée 0.8
BOOCH’93
Autres
méthodes
UML 1.2
juin 1998
BOOCH’91
OMT-2
OMT-1
Université de NANTES
OOSE
Partenaires
Alain VAILLY
M.E.D.A.L.
Bibliographie (sommaire)
P. ANDRE, A. VAILLY,
« Spécifications des logiciels ;
Deux exemples de pratiques
récentes : Z et UML »,
Editions Ellipses, juillet 2001,
ISBN 2-7298-0774-8
Pour compléter la
formation... ;-)))
Diapositive n° 44
la référence :-)
QuickTime™
décompresseur
sont
requis pour
et un
TIFF
visionner
(non cette
compressé)
image.
P-A. MULLER, N. GAERTNER,
« Modélisation objet avec UML »,
Editions EYROLLES, 2003,
ISBN 2-212-11397-8
Université de NANTES
Alain VAILLY
M.E.D.A.L.
Webographie (sommaire)
S’il n’y avait qu’un seul site Internet à consulter régulièrement…
QuickTime™ et un
décompresseur TIFF (non compressé)
sont requis pour visionner cette image.
Diapositive n° 45
http://conception.developpez.com/
Université de NANTES
Alain VAILLY
M.E.D.A.L.
Fin
Diapositive n° 46
Université de NANTES
Alain VAILLY