Vous êtes sur la page 1sur 32

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

Vous aimerez peut-être aussi