Vous êtes sur la page 1sur 30

MODÉLISATION OBJET AVEC UML

Dr. E. S. Mamour DIOP

M1 INFO & MIAGE 2020 - 2021


OBJECTIFS

 Appréhender les différentes phases de la modélisation objet en UML

 Comprendre la représentation et l'intérêt d'utilisation des différents diagrammes


UML

 Savoir traduire un besoin fonctionnel en s'appuyant sur les diagrammes UML

 Découvrir les principales démarches de modélisation

 S’intéresser à la mise ne œuvre d’UML

 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 Contrôle continu (1)

o Examen (1)

o Projet (1)

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


1. INTRODUCTION À LA MODÉLISATION UML

Modélisation Objet avec UML


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 Introduction à la modélisation 6


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 Introduction à la modélisation 7


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 Introduction à la modélisation 8


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 Introduction à la modélisation 9
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 Introduction à la modélisation 10


AP P R O C H E F O N C T I O N N E L L E O U S T R U C T U R É 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 Introduction à la modélisation 11


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éristique :
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 Introduction à la modélisation 12


MODÉLISATION ORIENTÉE OBJET

 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 Introduction à la modélisation 13


CONCEPTS DE L’APPROCHE OBJET : CLASSE

Modélisation Objet avec UML Introduction à la modélisation 14


CONCEPTS DE L’APPROCHE OBJET : INSTANCE

Modélisation Objet avec UML Introduction à la modélisation 15


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 Introduction à la modélisation 16


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 Introduction à la modélisation 17
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 Introduction à la modélisation 18


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 Introduction à la modélisation 19


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 Introduction à la modélisation 20


UML

Forces

 UML est un langage formel et normalisé


o Gain de précision
o Gage de stabilité
o 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 une période d’adaptation.


 UML ne couvre pas le processus de mise en œuvre d’un projet

Modélisation Objet avec UML Introduction à la modélisation 21


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 Introduction à la modélisation 22


DIAGRAMMES UML

Modélisation Objet avec UML Introduction à la modélisation 23


DIAGRAMMES UML & CYCLE DE VIE D’UN LOGICIEL (1)

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équences : représentation des interactions temporelles entre
instances d’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 Introduction à la modélisation 24


DIAGRAMMES UML & PHASE DE CONCEPTION (2)

Conception

 Diagramme de séquence : représentation des temporelles entre instance d’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 Introduction à la modélisation 25


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 Introduction à la modélisation 26


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 Introduction à la modélisation 27


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

Modélisation Objet avec UML Introduction à la modélisation 28


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 Introduction à la modélisation 29


NOTIONS TRANSVERSALES

Note

 Une note contient une information textuelle comme un commentaire, un corps de


méthode ou une contrainte.

 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 Introduction à la modélisation 30

Vous aimerez peut-être aussi