MODÉLISATION OBJET AVEC UML
Dr. E. S. Mamour DIOP
M1 INFO & MIAGE 2019 - 2020
OBJECTIFS
Acquérir les bases du langage UML
S’intéresser à la mise ne œuvre d’UML
Comprendre le langage de contraintes OCL
Illustrer les concepts de la modélisation avec un Atelier de Génie Logiciel (AGL)
Modélisation Objet avec UML 2
ORGANISATION
18h CM
18h TD
Evaluation
o 1 contrôle continu
o 1 examen
o 1 projet
Modélisation Objet avec UML 3
BIBLIOGRAPHIE
L. AUDIBERT, "UML 2 – de l’apprentissage à la pratique", 2ème edition, 2014
D.C. FAYE, "Cours Modélisation avec UML“, Université Gaston Berger de Saint-Louis,
Sénégal
J. Gabay, D. Gabay, “UML 2: analyse et conception“, Dunod, 2008
http://www.uml.org
Modélisation Objet avec UML 4
PLAN
1. Introduction à la modélisation objet
2. Diagramme de cas d’utilisation
3. Diagramme de classes et d’objets
4. Diagramme d’interaction
5. Diagramme d’états-transitions
6. Diagramme d’activités
7. Langage de contraintes OCL
8. UML et méthodologie
Modélisation Objet avec UML 5
PLAN
1. Introduction à la modélisation objet
2. Diagramme de cas d’utilisation
3. Diagramme de classes et d’objets
4. Diagramme d’interaction
5. Diagramme d’états-transitions
6. Diagramme d’activités
7. Langage de contraintes OCL
8. UML et méthodologie
Modélisation Objet avec UML 6
QU’EST-CE QU’UN MODÈLE?
Représentation abstraite et simplifiée d’une entité du monde réel en vue de le décrire, de
l’expliquer ou de le prévoir.
Réduit la complexité d’un phénomène en éliminant les détails non significatifs.
o Faciliter la compréhension du phénomène étudié dans son ensemble
Reflète ce que le concepteur croit important pour la compréhension et la prédiction du
phénomène modélisé.
Chaque modèle peut être décrit à différents niveaux de précision.
Aucun modèle, seul, n’est suffisant.
Modélisation Objet avec UML 7
EXEMPLES DE MODÈLE
Modèle météorologique
o Prévoir les conditions climatiques
Modèle économique
o Simuler l’évolution de cours boursiers en fonction d’hypothèses macro-économiques
Modèle démographique
o Fiabiliser des études statistiques
o Augmenter l’impact des démarches commerciales
Plans : vue d’ensemble d’un système donné
Exemple : construction d’un immeuble
o Plans d’implantation du bâtiment dans son environnement;
o Plans généraux du bâtiment et de sa structure;
o Plans détaillées des différents locaux, bureaux, appartements…
o Plans des câblages électriques;
o Plans d’écoulement des eaux…
Modélisation Objet avec UML 8
POURQUOI MODÉLISER?
Problème de spécification des besoins
Taille et complexité des systèmes
Gestion des équipes
Objectif principal de la modélisation => Maîtriser la complexité
et assurer la cohérence
Modélisation Objet avec UML 9
LANGAGE DE MODÉLISATION
Langage de modélisation
o La sémantique des concepts
o Une notation pour la representation de concepts
o Des règles de construction et d'utilisation des concepts
Des langages à différents niveaux de formalisation
o Langages formels (Z,B,VDM) : le plus souvent mathématiques, au grand pouvoir
d'expression et permettant des preuves formelles sur les spécifications
o Langages semi-formels (MERISE, UML...) : le plus souvent graphiques, au pouvoir
d'expression moindre mais plus faciles d'emploi.
L'industrie du logiciel dispose de nombreux langages de modélisation :
o Adaptés aux systèmes procéduraux (MERISE...)
o Adaptés aux systèmes temps réel (ROOM, SADT...)
o Adaptés aux systèmes à objets (OMT, Booch, UML...)
Le rôle des outils (Ateliers Génie Logiciel) est primordial pour l'utilisabilité en pratique des
langages de modélisation.
Modélisation Objet avec UML 10
APPROCHE FONCTIONNELLE OU STRUCTURÉE
Les approches fonctionnelles trouvent leur origine dans les langages procéduraux (Pascal
en 1970, C en 1972, Modula et Ada en 1979).
Elles mettent en évidence les fonctions à assurer et proposent une approche hiérarchique
descendante et modulaire.
Méthodologie de développement naturelle et intuitive qui s’inspire directement de
l’architectures des ordinateurs.
Architecture du système dictée par la réponse au
problème : la fonction du système.
Modélisation Objet avec UML 11
APPROCHE FONCTIONNELLE OU STRUCTURÉE (2)
Décomposer la fonction globale jusqu'à obtenir des fonctions simples à appréhender et
donc à programmer.
L'approche fonctionnelle dissocie le problème de la représentation des données du
problème du traitement de ces données.
o Systèmes fragiles difficiles à mettre à jour au fur et à mesure que les besoins
évoluent.
Modélisation Objet avec UML 12
MODÉLISATION ORIENTÉE OBJET
La Conception Orientée Objet (COO) est la méthode qui conduit à des architectures
logicielles fondées sur les objets du système, plutôt que sur une décomposition
fonctionelle.
Le logiciel est considérée comme une collection d'objets dissociés, identifiés et possédant
des caractéristiques.
Caractéristiques:
o Attribut: donnée caractérisant l'état de l'objet;
o Méthode: entité comportementale de l'objet.
La fonctionnalité du logiciel émerge alors de l'interaction entre les différents objets qui le
constituent.
Cette approche rapproche les données et leurs traitements associés au sein d'un unique
objet.
Architecture dictée par la structure du problème
Modélisation Objet avec UML M1 GDIL / R2SD / MIAGE 13
MO D É L I S A T IO N O R I E N T É E O B J E T
Plus grande indépendance du modèle par rapport aux fonctionnalités demandées.
Des fonctionnalités peuvent être rajoutées ou modifiées, le modèle objet ne change pas.
Plus proche du monde réel.
Fournir une solution au problème de la séparation données/traitements.
Un type de données contient aussi les traitements qui lui sont propres.
Inconvénients:
o Moins intuitive que l’approche fonctionnelle.
o L’application des concepts objets nécessite une grande rigueur : le vocabulaire est
précis (risques d’ambiguïté, d’incompréhensions).
Modélisation Objet avec UML M1 GDIL / R2SD / MIAGE 14
CO N C E P T S D E L ’A P P R O C H E O B J E T : C L A S S E
Modélisation Objet avec UML M1 GDIL / R2SD / MIAGE 15
CONCEPTS DE L’APPROCHE OBJET: INSTANCE
Modélisation Objet avec UML M1 GDIL / R2SD / MIAGE 16
CONCEPTS DE L’APPROCHE OBJET: ENCAPSULATION
Consiste à masquer les détails d'implémentation d'un objet, en définissant une interface.
L'interface est la vue externe d'un objet, elle définit les services accessibles (offerts) aux
utilisateurs de l'objet.
Facilite l'évolution d'une application en stabilisant l'utilisation des objets.
Garantit l'intégrité des données: interdire ou restreindre l'accès direct aux attributs des
objets.
Modélisation Objet avec UML M1 GDIL / R2SD / MIAGE 17
CONCEPTS DE L’APPROCHE OBJET: HÉRITAGE
Mécanisme de transmission des caractéristiques d'une classe vers une sous-classe.
Chaque sous classe peut avoir une ou plusieurs sous classes formant ainsi une hiérarchie
d’objets. On parle de classe mère et de classes filles.
La spécialisation et la généralisation permettent de construire des hiérarchies de classes
L’héritage multiple permet à une classe d’avoir plusieurs classes mères et d’hériter ainsi de
tous les attributs et méthodes de ces dernières.
Modélisation Objet avec UML M1 GDIL / R2SD / MIAGE 18
CONCEPTS DE L’APPROCHE OBJET: POLYMORPHISME
Faculté d'une méthode à pouvoir s'appliquer à des objets de classes différentes et d’avoir
un comportement adapté à ces objets.
Polymorphisme d’héritage (ou par sous-typage): possibilité d’invoquer une opération
définie pour un paramètre de type X avec un paramètre de type Y.
o Mécanisme qui permet à une sous classe de redéfinir une méthode dont elle a hérité
tout en gardant la même signature de la méthode héritée.
Le polymorphisme augmente la généricité, et donc la qualité du code.
Modélisation Objet avec UML M1 GDIL / R2SD / MIAGE 19
UML: HISTORIQUE
UML 2.5 (2015) UML 2.5.1 (2017)
UML 2.0 date de 2005. Il s'agit d'une version majeure apportant des innovations radicales
et étendant largement le champ d'application d'UML.
UML est la norme de modélisation objet actuelle pour le génie
logiciel.
Modélisation Objet avec UML M1 GDIL / R2SD / MIAGE 20
UML
UML (Unified Modeling Language) pour Langage de Modélisation Unifié.
Langage de modélisation graphique qui permet de représenter et de communiquer les
différents aspects d’un système d’information.
o Notation
o Sémantique
UML n’est pas une méthode, c’est-à-dire une description normative des étapes de la
modélisation.
UML a une approche entièrement objet: le système est décomposé en objets collaborant.
UML permet de définir des modèles de niveaux différents (Analyse, Conception,
Spécification d’implémentation, etc.)
Modélisation Objet avec UML M1 GDIL / R2SD / MIAGE 21
UML
Forces
UML est un langage formel et normalise
o un gain de précision
o un gage de stabilité
o l’utilisation d’outils
UML est un support de communication performant
o cadre l’analyse et facilite la compréhension de représentations abstraites complexes
Faiblesses
Nécessite un apprentissage et par période d’adaptation.
UML ne couvre pas le processus de mise en œuvre d’un projet
Modélisation Objet avec UML 22
OUTILS DE MODÉLISATION UML
Libres
o ArgoUML (http ://argouml.tigris.org/)
o Papyrus (http ://www.papyrusuml.org)
o StarUML (http ://staruml.sourceforge.net)
o BOUML (http ://bouml.free.fr/)
o ...
Commerciaux
o Rational Rose
o Borland Together Enterprise Architect PowerDesigner
o ...
Plugins des outils de développement
o Eclipse (en particulier)
Liste plus complète :
o http ://en.wikipedia.org/wiki/List_of_Unified_Modeling_Language_
Modélisation Objet avec UML 23
DIAGRAMMES UML
Modélisation Objet avec UML 24
DIAGRAMMES UML & PHASE DE CONCEPTION
Découverte des besoins
Diagramme de cas d’utilisation : décrit les fonctions du système (point de vue de ses
futurs utilisateurs).
Diagramme de séquence : représentation des interactions temporelles entre objets dans
la réalisation d’une IHM.
Analyse
Diagramme de classes : structure des données
Diagramme d’objets : illustration
Diagramme de communication : représentation des interactions entre objets.
Diagramme d’états-transitions : représentation du comportement des objets d’une classe
en termes d’états et de transitions.
Diagramme d’activités : structure d’une opération en actions.
Modélisation Objet avec UML 25
DIAGRAMMES UML & PHASE DE CONCEPTION
Conception
Diagramme de séquence : représentation des temporelles entre objets dans la réalisation
d’une opération.
Diagramme de déploiement : description du déploiement des composants sur les
dispositifs matériels.
Diagramme de composants : architecture des composants physiques d’une application
Modélisation Objet avec UML 26
NOTIONS TRANSVERSALES
Classeur
Elément du modèle doté d’une identité et possédant des caractéristiques structurelles et
comportementales
Représentation par un rectangle, en traits pleins, contenant éventuellement des
compartiments.
En fonction de sa nature:
Le type de classeur le plus important étant, bien évidemment, la classe
Modélisation Objet avec UML 27
NO T IO N S T R A N S V E R S A L E S
Stéréotype
Annotation s'appliquant sur un élément de modèle
Permet de mieux caractériser des variétés d'un même concept
Un classeur non stéréotypé est par défaut une classe
«actor» «use case» Classe «componant»
Acteur Cas d’utilisation Composant
Modélisation Objet avec UML 28
OUTILS DE CONCEPTION
Paquetage
Regroupement d'éléments de modèle et de diagrammes
Peut contenir tout type d'élément de modèle
Décomposition hiérarchique: paquetages imbriqués
Exemple:
note exprimant une contrainte sur l’attribut solde d’un compte bancaire, précisant qu’il
doit toujours être positif.
Modélisation Objet avec UML 29
NOTIONS TRANSVERSALES
Espace de noms
Les espaces de noms sont des paquetages, des classeurs, ...
Nom qualifié: série des noms des paquetages ou des autres espaces de noms depuis la
racine jusqu'à l'élément en question.
Exemple: PaquetageA::PaquetageB::ClasseX
Modélisation Objet avec UML 30
NOTIONS TRANSVERSALES
Note
Une note contient une information textuelle comme un commentaire, un corps de
méthode ou une contrainte Taille et complexité des systèmes
Exemple:
note exprimant une contrainte sur l’attribut solde d’un compte bancaire, précisant qu’il
doit toujours être positif.
Modélisation Objet avec UML 31
PLAN
1. Introduction à la modélisation objet
2. Diagramme de cas d’utilisation
3. Diagramme de classes et d’objets
4. Diagramme d’interaction
5. Diagramme d’états-transitions
6. Diagramme d’activités
7. Langage de contraintes OCL
8. UML et méthodologie
Modélisation Objet avec UML 32