OBJECTIFS DU COURS
• S’approprier les concepts de base de la
modélisation Orientée Objets ;
• S’imprégner du formalisme UML ;
• Avoir un aperçu des processus de
modélisation avec UML.
PLAN DE COURS
I – GENERALITES
II – CONCEPTS DE BASE DE LA MODELISATION ORIENTEE OBJETS
III – CONCEPTS GENERAUX DE L’UML
IV – PROCESSUS DE MODÉLISATION AVEC UML
I – GENERALITES
• I-1 Qu’est-ce qu’un Système d’Information ?
• I-2 Qu’est-ce qu’un modèle ?
• I-3 Qu’est-ce que la modélisation ?
• I-4 Modélisation fonctionnelle
• I-5 Modélisation Orientée Objet (MOO)
• I-6 Langage Orienté Objet (LOO)
• I-7 Historique d’UML
• I-8 Avantages et Inconvénients d’UML
II – CONCEPTS DE BASE DE LA
MODELISATION ORIENTEE OBJETS
• II-1 Objet
• II-2 Classe
• II-3 Encapsulation et interface
• II-4 Association, Agrégation et Composition
entre classes
• II-5 Multiplicité
• II-6 Héritage
• II-7 Généralisation/Spécialisation entre classes
• II-8 Polymorphisme
III – CONCEPTS GENERAUX DE L’UML
• III-1 Acteur
• III-2 Cas d’utilisation
• III-3 Collaboration
• III-3 Scénario d’un cas d’utilisation
• III-4 Package de cas d’utilisation
• III-5 Catégorie de classes
• III-6 Séquence
• III-7 Enchaînement de séquences
• III-8 Généralité sur les diagrammes UML
• III-9 Diagramme de classes
• III-10 Diagramme de cas d’utilisation
• III-11 Diagramme d’objets
• III-12 Diagramme d’état-transition
• III-13 Diagramme d’activités
• III-14 Diagramme de séquence
• III-15 Diagramme de collaboration
• III-16 Diagramme de composants
• III-17 Diagramme déploiement
IV – PROCESSUS DE MODÉLISATION AVEC UML
• IV-1 UP ( Unified Process )
• IV-2 RUP ( Rational Unified Process )
• IV-3 2TUP ( Two Track Unified Process)
de ValTech - Pascal Roques et Franck
Vallée - Le processus en Y
• IV-4 Processus de Joseph Gabay
I – GENERALITES
I-1 Qu’est-ce qu’un Système d’Information ?
I-2 Qu’est-ce qu’un modèle ?
I-3 Qu’est-ce que la modélisation ?
I-4 Modélisation fonctionnelle
I-5 Modélisation Orientée Objet (MOO)
I-6 Langage Orienté Objet (LOO)
I-7 Historique d’UML
I-8 Avantages et Inconvénients d’UML
I-1 Qu’est-ce qu’un Système d’Information (SI) ?
• Un SI est un ensemble organisé de ressources
(personnel, données, procédures, matériel, logiciel, …)
permettant de structurer, de stocker de manière
efficace et cohérente, d' acquérir , et de communiquer
des informations sous forme de textes , images ,
sons , ou de données codées , dans des
organisations.
• Le champ est vaste et concerne tous les domaines
d’activités humaines.
• En terme conceptuel de SI, les maîtres mots sont le
modèle et la modélisation
I-1 Qu’est-ce qu’un Système d’Information (SI) ?
(suite)
Un SI doit permettre de:
Recueillir informations
Stocker informations
Exploiter et diffuser
informations
I – GENERALITES
I-1 Qu’est-ce qu’un Système d’Information ?
I-2 Qu’est-ce qu’un modèle ?
I-3 Qu’est-ce que la modélisation ?
I-4 Modélisation fonctionnelle
I-5 Modélisation Orientée Objet (MOO)
I-6 Langage Orienté Objet (LOO)
I-7 Historique d’UML
I-8 Avantages et Inconvénients d’UML
I-2 Qu’est-ce qu’un modèle ?
Un modèle est une abstraction de la
réalité .
Un modèle est une vue subjective mais
pertinente de la réalité.
Un modèle: une abstraction
L'abstraction est un des piliers de l'approche objet.
Il s'agit d'un processus qui consiste à identifier les
caractéristiques intéressantes d'une entité , en
vue d'une utilisation précise.
L'abstraction désigne aussi le résultat de ce
processus, c'est-à-dire l'ensemble des
caractéristiques essentielles d'une entité ,
retenues par un observateur.
A quoi sert l’abstraction dans un
Modèle ?
L’abstraction dans un modèle permet:
de faciliter la compréhension du système étudié par la
réduction de sa complexité.
de simuler le système étudié à partir de la représentation de
ce système et de la reproduction de ses comportements.
Ainsi un modèle réduit (décompose) la réalité, dans le
but de disposer d'éléments de travail exploitables par
des moyens mathématiques ou informatiques, grâce à
l’abstraction qui permet de cerner les Caractéristiques
fondamentales du système étudié, suivant l’optique
du modélisateur.
Un modèle: une vue subjective
– Un modèle définit une frontière
entre la réalité et la perspective de
l'observateur . Ce n'est pas "la
réalité", mais une vue personnelle
et subjective de la réalité.
Un modèle: une vue pertinente
• Bien qu'un modèle ne représente
pas une réalité absolue, un modèle
doit refléter des aspects
importants de la réalité, il en donne
donc une vue juste et pertinente
Quelques exemples de modèles
Modèle météorologique :
A partir de données d'observation (satellite ...), permet de prévoir
les conditions climatiques pour les jours à venir.
Modèle économique :
Peut par exemple permettre de simuler l'évolution de cours
boursiers en fonction d'hypothèses macro-économiques
(évolution du chômage, taux de croissance...).
Modèle démographique :
Définit la composition d'un panel d'une population et son
comportement, dans le but de fiabiliser des études statistiques,
d'augmenter l'impact de démarches commerciales, etc...
Modèle de gestion du paludisme ( lien )
Autres exemples
En Merise :
• Modèle Conceptuel des Données (MCD)
• Modèle Logique des Données (MLD)
• Modèle Logique de Traitement (MLT)
I – GENERALITES
• I-1 Qu’est-ce qu’un modèle ?
• I-2 Qu’est-ce que la modélisation ?
• I-3 Modélisation fonctionnelle
• I-4 Modélisation Orientée Objet (MOO)
• I-5 Langage Orienté Objet (LOO)
• I-6 Historique d’UML
• I-7 Avantages et Inconvénients d’UML
I-2 Qu’est-ce que la modélisation ?
(1/2)
C’est tout processus de mise en
œuvre d’un modèle d’un système
donné.
I-2 Qu’est-ce que la modélisation ?
(1/2)
La modélisation permet de mettre en place des modèles
visant 4 objectifs:
Visualiser un système tel qu’il est ou tel que nous
voudrions qu’il soit.
Préciser la structure ou le comportement d’un
système.
Fournir un canevas qui guide la construction d’un
système.
Documenter les décisions prises.
I – GENERALITES
• I-1 Qu’est-ce qu’un modèle ?
• I-2 Qu’est-ce que la modélisation ?
• I-3 Modélisation fonctionnelle
• I-4 Modélisation Orientée Objet (MOO)
• I-5 Langage Orienté Objet (LOO)
• I-6 Historique d’UML
• I-7 Avantages et Inconvénients d’UML
I-3 Modélisation fonctionnelle
Elle est centrée sur L’identification :
des données (ie attributs ou variables ) du
système;
des fonctions ( ie services ou comportements )
du système;
Et de l’ interdépendance des fonctions.
NB: Les fonctions manipulent les données du
système
I-3-1 Exemple de découpe fonctionnelle d'un
logiciel dédié à la gestion d'une bibliothèque
NB: Le logiciel à mettre en place va comporté une hiérarchie de fonctions,
qui, fournissent les services désirés, ainsi que de données qui
représentent les éléments manipulés (livres, etc…).
I-3-2 Exemple de méthode de modélisation (ou
d’analyse) fonctionnelle
Une méthode très utilisée:
• Merise
I-3-3 Avantages de la
modélisation fonctionnelle
L'approche fonctionnelle reste la plus intuitive pour nos esprits
cartésiens.
en effet :
Il s’agit de répondre à la question de savoir: (1) Que fait le système ?
Question beaucoup plus simple que celle de savoir: (2) Qu’est-ce qui,
dans le système, fait quoi ?
Pour (1): Il suffit de déterminer les fonctionnalités du système sans
s’occuper de leur(s) origine(s) dans le système.
Pour (2): Il faut déterminer les fonctionnalités du système, ainsi que
leur(s) origine(s) dans le système.
I-3-4 Inconvénients de la
modélisation fonctionnelle
On peut noter entre autres:
• La séparation des données et des traitements qui
sécurise moins les données.
• L'approche fonctionnelle n'est pas adaptée au
développement d' applications qui évoluent sans
cesse et dont la complexité croit continuellement.
• L’absence d’ EDI (Environnement de Développement
Intégré) efficace à la hauteur d’UML , quand à la
génération automatique de code source.
I – GENERALITES
• I-1 Qu’est-ce qu’un modèle ?
• I-2 Qu’est-ce que la modélisation ?
• I-3 Modélisation fonctionnelle
• I-4 Modélisation Orientée Objet (MOO)
• I-5 Langage Orienté Objet (LOO)
• I-6 Historique d’UML
• I-7 Avantages et Inconvénients d’UML
I-4 Modélisation Orientée Objets
(MOO)
L'approche objet a été inventée pour faciliter l'évolution des
applications.
L'approche objet considère un application comme une société
d’objets qui coopèrent .
L’achèvement d’une tâche par une application repose sur la
communication entre tous ou certains de ses objets. L’unité de
communication entre objets étant le message .
La MOO est basée essentiellement sur trois concepts que sont:
1. L’encapsulation
2. L’héritage
3. Le polymorphisme
I – GENERALITES
• I-1 Qu’est-ce qu’un modèle ?
• I-2 Qu’est-ce que la modélisation ?
• I-3 Modélisation fonctionnelle
• I-4 Modélisation Orientée Objet (MOO)
• I-5 Langage Orienté Objet (LOO)
• I-6 Historique d’UML
• I-7 Avantages et Inconvénients d’UML
I-5 Langage Orienté Objet (LOO)
• Un LOO est un langage de programmation permettant
d’implémenter un MOO;
• C’est tout langage qui supporte les mécanismes
d’héritage, d’encapsulation et de polymorphisme .
• Chaque LOO a ses spécificités
• Il existe à présent plusieurs LOO parmi lesquels:
– Smalltalk ,
– C++ ,
– Java ,
– C# ,
…
I – GENERALITES
• I-1 Qu’est-ce qu’un modèle ?
• I-2 Qu’est-ce que la modélisation ?
• I-3 Modélisation fonctionnelle
• I-4 Modélisation Orientée Objet (MOO)
• I-5 Langage Orienté Objet (LOO)
• I-6 Historique d’UML
• I-7 Avantages et Inconvénients d’UML
I-6 Historique de l’UML
I-6-1 Approche Objet avant UML
I-6-2 Naissance d’UML
I-6-3 Normalisation d’UML
I-6-4 Évolution d’UML
I-6-1 Approche Objet avant UML
– Période d'émergence des méthodes objet:
1990-1995
– Prise de conscience de l'importance d'une méthode
spécifiquement objet :
comment structurer un système sans centrer l'analyse
uniquement sur les données ou uniquement sur les
traitements (mais sur les deux) ?
– Plus de 50 méthodes objet sont apparues durant cette
période ( Booch , Classe-Relation , Fusion , HOOD , OMT, OOA ,
OOD , OOM , OOSE , ... )!
– Aucune méthode ne s'est réellement imposée. Mais trois
d’entre elles sont plus en vue.
I-6-2 Naissance d’UML
• UML (Unified Modeling Language), traduire "langage de modélisation
objet unifié" est né en 1995 de la fusion des trois méthodes qui ont le
plus influencé la modélisation objet : OMT, Booch et OOSE .
– OMT (James Rumbaugh ) : vues statiques, dynamiques et fonctionnelles
d'un système
• Issue du centre de R&D de General Electric.
• Notation graphique riche et lisible.
– BOOCH (Grady Booch ) : vues logiques et physiques du système
• Définie, afin de rationaliser de développement d'applications ADA, puis
C++.
• Ne couvre pas la phase d'analyse dans ses 1ères versions (préconise
SADT).
• Introduit le concept de package (élément d'organisation des modèles).
– OOSE (Ivar Jacobson ) : couvre tout le cycle de développement
• Issue d'un centre de développement d'Ericsson, en Suède.
I-6-3 Normalisation d’UML
• UML est normalisé par l’ OMG (Object
Management Group), en fin 1997 ;
• OMG regroupe plus de 80 des plus
grandes Entreprises du monde (HP,
IBM, SONY, ERICSON, MICROSOFT, …)
I-6-4 Évolution d’UML
• Les géants de l’industrie regroupés dans
L’OMG ont facilité l’industrialisation d'UML.
Ainsi les outils qui supportent UML se sont
multipliés:
– GDPro, lObjectTeam, Objecteering, OpenTool,
Rational Rose, Rhapsody, STP, Visio, Visual
Modeler, WithClass... .
– XMI(format d'échange standard de modèles UML).
• En l'espace de quelques années seulement,
UML est devenu un standard universel
incontournable.
I – GENERALITES
• I-1 Qu’est-ce qu’un modèle ?
• I-2 Qu’est-ce que la modélisation ?
• I-3 Modélisation fonctionnelle
• I-4 Modélisation Orientée Objet (MOO)
• I-5 Langage Orienté Objet (LOO)
• I-6 Historique d’UML
• I-7 Avantages et Inconvénients d’UML
I-7-1 Avantages d’UML
UML permet :
• De transcender les contraintes d’implémentation
liées aux langages et aux systèmes;
• De représenter des concepts abstraits
(graphiquement);
• De limiter les ambiguïtés (parler un langage
commun, au vocabulaire précis, indépendant des
langages orientés objet);
• De faciliter l'analyse (simplifier la comparaison et
l'évaluation de solutions);
I-7-1 Avantages d’UML (suite)
• De ne pas effectuer une analyse fonctionnelle et se
contenter d'une implémentation objet, mais penser
objet dès le départ,
• De définir les vues qui permettent de décrire tous les
aspects d'un système avec des concepts objets.
• De sécuriser d’avantage les données (par
l’encapsulation)
• De réutiliser efficacement l’existant (par l’héritage et
le polymorphisme)
I-7-1 Avantages d’UML (suite)
o Une panoplie d'outils et de langages
performants pour le développement.
o bases de données orientées objet (O2,
ObjectStore, Versant...)
I-7-2 Inconvénients d’UML
• Langage précis donc nécessite un
effort d’apprentissage ;
• Difficulté de naviguer dans l’ abstrait ;
• Et donc difficulté d’ identification des
objets ;