0% ont trouvé ce document utile (0 vote)
85 vues69 pages

Introduction au langage UML et modélisation

Ce document introduit le langage UML. Il présente l'historique d'UML, les concepts de base de l'approche objet comme les objets, les classes et les relations entre classes.

Transféré par

whitefeather232
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
85 vues69 pages

Introduction au langage UML et modélisation

Ce document introduit le langage UML. Il présente l'historique d'UML, les concepts de base de l'approche objet comme les objets, les classes et les relations entre classes.

Transféré par

whitefeather232
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Le langage UML

Introduction

MP Nachouki
Au sommaire

Introduction

Historique UML

Les concepts de base de l’approche objet

Principes de modélisation

Notation UML

Plan du cours

Règles de bonne pratique

Pour aller plus loin

2
Introduction
Qu’est ce que la Modélisation ?

La modélisation est :

une technique d’ingénierie permettant de représenter un
système ;

qui s’appuie sur l’établissement de modèles

3
Qu’est ce qu’un Modèle ?

Un Modèle est une description abstraite d’un système ou


d’un processus, une représentation simplifiée qui permet de
comprendre et de simuler. C’est une vue subjective mais
pertinente de la réalité

4
Qualités d’un modèle :

Les principales qualités d’un modèle sont les suivantes :

1. fidélité : représentation sans déformation de la réalité ;


2. cohérence : représentation sans contradiction ;
3. complétude : description de tous les phénomènes
pertinents par rapport aux objectifs de modélisation.

5
L’approche cartésienne

Démarche dite analytique ; résolution des problèmes un à un

1. années 1970
2. analyse des fonctions que doit remplir le système
3. approche hiérarchique (du général au particulier)
4. décomposer les problèmes en sous-problèmes
jusqu’à trouver un niveau où l’expérimentation ou
l’observation permettent de valider les hypothèses

6
Exemple : La méthode SADT (Structured Analysis
and Design Technic)

Principale limite : redondances sur les données


7
L’approche systémique

1. dans le courant des années quatre-vingt


2. approche systémique

Définition du système :
Un système peut être défini comme ensemble d’éléments :

en interaction dynamique

organisés et coordonnés

en vue d’atteindre un objectif, qui évolue dans un
environnement

8
l’approche systémique

L’entreprise est un système constitué de sous-systèmes


Trois principaux sous-systèmes :

1. le sous-système de décision (ou de pilotage)


2. le sous-système d’information
3. les sous-systèmes opérationnels

9
Exemple : La méthode Merise (Méthode d’Etude et
de Réalisation Informatique pour les Systèmes d’En-
treprises)

Principale limite : non-prise en compte des aspects dynamiques.


10
L’approche objet

1. années quatre-vingt-dix.
2. Modéliser un système d’un point de vue structurel,
fonctionnel et dynamique.
3. un langage commun qui permet de représenter des
concepts (vocabulaire) et des règles (grammaire).
4. Exemple : OMT, Booch, OOSE, Classe-Relation,Fusion,
HOOD, OOA, OOD, OOM, ...)

Principale limite de cette approche : son succès => une


cinquantaine de méthodes différentes ont été développées
selon les principes objet.

11
UML

Proposé par l’OMG (Object Management Group), cette


approche est devenue un standard international en 1997.
Le formalisme d’UML emprunte aux différentes approches
objets . Le méta-langage UML s’organise en diagrammes qui
permettent de visualiser un système sous différentes
perspectives (diagrammes de cas d’utilisation, de classes,
d’états-transitions, d’activités, etc.) et en vues (" vue
utilisateur ", " vue statique ", " vue dynamique ").
La démarche est globale, itérative et incrémentale ; elle est
essentiellement guidée par les besoins des utilisateurs.

12
Historique UML
Paternité d’UML

13
la genèse d’UML

1990 : émergence des méthodes orientées objet


1991 : première édition de Modélisation et conception orientées objet basée
sur OMT, Object Modeling Technique, issue de la R & D de General
Electric.
1994 : James Rumbaugh rejoint Rational et travaille avec Grady Booch
à la fusion des notations OMT et Booch.
1995 : Ivar Jacobson rejoint Rational et intègre OOSE au travail
d’unification.
1997 : l’OMG (Object Management Group) accepte UML, proposé par
Rational, comme standard de modélisation objet.
2001 : révision par l’OMG d’UML 1.
2004 : adoption d’UML 2.0

14
OMG
L’OMG (Object Management Group) est un orga-
nisme de normalisation international qui a pour mis-
sion la standardisation des technologies objets pour
une meilleure interopérabilité des solutions logicielles.

15
OMG I

L’OMG regroupe plus de 1000 membres, qui sont :



éditeurs de logiciels (comme SOFTEAM, Oracle,
Microsoft, ...),

constructeurs (SUN, IBM, ...),

ou utilisateurs (France Télécom, ...).

On doit à l ’OMG un certain nombre de standards objets dont


notamment :

16
OMG II


Corba : bus pour la constitution d’applications d’objets
distribués,

ODMG : persistance des objets sur bases de données
objets,

UML : Unified Modeling Language= ensemble de
notations graphiques (modèles) qui s’appuient sur une
syntaxe (méta modèle).

17
L’unification des méthodes

18
Principaux objectifs d’UML

Proposer un langage visuel de modélisation
• Utilisable par toutes les méthodes
• Adapté à toutes les phases du développement
• Compatible avec toutes les techniques de réalisation

Proposer des mécanismes d’extension et de spécialisation
pour pouvoir étendre les concepts de base

être indépendant des langages particuliers de
programmation

Proposer une base formelle pour comprendre le langage
de modélisation

Encourager l’application des outils Orientés Objet

19
UML : Principales influences

Booch catégories et sous-systèmes


Embley classes singletons et objets composites
Fusion description des opérations, numérotation des messages
Gamma frameworks, patterns et notes
Harel automates (statecharts)
Jacobson cas d’utilisation (use cases)
Meyer pré et post conditions
Odell classification dynamique, éclairage sur les événements
OMT Associations
Shlaer-Mellor cycle de vie des objets
Wirfs-Brock responsabilités
...

20
UML pour :


Montrer les limites d’un système et ses fonctions principales (pour les
utilisateurs) à l’aide des cas d’utilisation,

Illustrer les réalisations de cas d’utilisation à l’aide de diagrammes d’interaction

Modéliser la structure statique d’un système à l’aide de diagrammes de classes,

Modéliser la dynamique, le comportement des objets à l’aide de diagrammes
d’états

Décrire l’implantation physique de l’architecture avec des diagrammes de
composants et de déploiement

Pouvoir étendre les fonctionnalités du langage avec des stéréotypes

Permettre la génération automatique de code, et la rétro-ingénierie

21
Les concepts de base de
l’approche objet
Objet : 3 principes

1. principe de distinction
Un objet a une identité.
2. principe de permanence
Un objet a un état qui peut évoluer dans le temps sans
remettre en cause son identité.
3. principe d’activité Un objet peut accomplir ou subir des
traitements : il possède un comportement

22
Objet

Unité formée de l’union d’un état interne (des at-


tributs) et d’un comportement (des opérations) qui a
une origine dans le monde réel et a sa propre identité.
L’objet est l’abstraction, faite par l’analyste, du
phénomène réel observé.
Cette abstraction est ensuite modélisée en utilisant
les concepts appropriés.
Exemple :

23
Classe
Regroupe les objets qui se ressemblent (abstrac-
tion)
Identification des caractéristiques : (structure
et comportement) communes à un
ensemble d’éléments.
Description condensée de ces caractéristiques :
décrit le domaine de définition et les
propriétés des instances de cette classe
(notion de type dans les langages de
programmation classiques).
Chaque objet est une instance d’une classe.
Le mécanisme d’instanciation permet de générer
des objets (instance) d’une classe.
24
Classe

Exemple :

25
Relations entre les classes

association Connexion sémantique bidirectionnelle entre


classes. Abstraction des liens qui existent entre les
objets instances des classes associées.
agrégation Connexion bidirectionnelle dissymétrique

26
Modularité

Les objets forment des modules compacts et cohérents


regroupant des données et des opérations.
Un module est un élément de petite taille (un ou plusieurs
sous-programmes) , contribuant par assemblage à la
construction de logiciels. Il doit être cohérent et autonome.
La conception orientée objet facilite l’effort de localisation et
de correction des anomalies.

27
Encapsulation et interface
L’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.
Exemple :

Intérêt :

Facilite l’évolution d’une application : on peut modifier l’implémentation des
attributs d’un objet sans modifier son interface.

Garantit l’intégrité des données car elle permet d’interdire l’accès direct aux
attributs des objets . 28
Héritage

L’héritage est un mécanisme de transmission des propriétés


d’une classe (ses attributs et ses méthodes) vers une
sous-classe.

Une classe peut être spécialisée en d’autres classes pour y
ajouter des caractéristiques spécifiques ou en adapter
certaines.

Plusieurs classes peuvent être généralisées en une classe
qui les factorise. Cela permet de regrouper les
caractéristiques communes d’un ensemble de classes.

29
Héritage

Exemple :

L’héritage est un mécanisme qui résulte du mécanisme de spécialisation : si une classe résulte de la spécialisation
de plusieurs classes générales, elle hérite de l’ensemble de ces dernières.
30
Héritage

L’héritage peut être simple ou multiple.


Exemple :

31
Polymorphisme

Type particulier d’héritage, le polymorphisme est la capacité


donnée à une opération de s’exécuter différemment selon le
contexte dans lequel elle se trouve.
Une opération définie dans la super-classe pourra ainsi
s’exécuter différemment selon la sous-classe où elle est héritée.
Exemple :

32
Principes de modélisation
Principes de base

UML est fondé sur un méta-modèle, qui définit



les éléments de modélisation (les concepts manipulés par
le langage et leur syntaxe),

la sémantique de ces éléments (leur définition et le sens
de leur utilisation).

Le méta-modèle UML est lui-même décrit par un


méta-méta-modèle (OMG-MOF :
http : //www .[Link]/uml).

33
UML est un langage graphique


Il permet principalement de :
• concevoir des logiciels informatiques ,
• communiquer sur des processus logiciels ou d’entreprise,
• présenter sous forme détaillée, l’analyse d’un système ou
les pré requis le concernant.,
• documenter un système, un processus ou une
organisation existant.
• proposer un langage abstrait compréhensible par
l’homme et interprétable par la machine

L’élément fondamental de modélisation UML est le
diagramme.

34
Modèles, vue et diagrammes UML

Modèle : abstraction d’un système composée d’un


ensemble d’éléments de modèle ce qui est
construit par et ce qui est perçu au travers des
diagrammes (par le concepteur, le lecteur)
conforme au méta-modèle UML
Vue : projection d’un modèle suivant une perspective
qui omet les éléments non pertinents pour cette
perspective. Elle s’exprime dans des diagrammes
ex. : vue statique, vue fonctionnelle
Diagramme : présentation graphique d’éléments de
visualisation représentant des éléments de modèle
(graphe) ex. : diagramme de classes, de séquences
35
Les diagrammes structurels I

diagramme de classes : décrit au travers de classes et


d’interfaces, les entités constituant le système
à modéliser et les relations statiques entre
celles-ci.
diagrammes de composants : décrivent l’organisation et
les dépendances entre les composants intervenant
dans l’implémentation du système.

36
Les diagrammes structurels II

diagrammes de structures composites : Nouveauté


UML2, permettent d’établir des liens entre les
diagrammes de classes et les diagrammes de
composants.
diagrammes de déploiement : décrivent comment les
composants du système sont configurés lors de
l’exécution du système.

37
Les diagrammes structurels III

diagrammes de paquetage : constituent une sous catégorie


des diagrammes de classes. Ils permettent de
montrer comment les classes et les interfaces sont
regroupées.
Diagrammes d’objets : Montrent les liens entre des
instances réelles de classes à un moment précis
de l’exécution du système.

38
Les diagrammes comportementaux I

diagrammes d’activité : permettent d’identifier les flux


entre deux activités successives
diagrammes de communication : constituent des sortes de
diagrammes d’interaction mais se focalisent sur
les composants impliqués dans un comportement
particulier ainsi que sur les messages échangés par
les composants.

39
Les diagrammes comportementaux II

diagrammes d’interaction d’ensemble : Versions simplifiés


des diagrammes d’activité, ils ont pour but de
mettre en évidence les éléments intervenant dans
la réalisation d’une activité.
diagrammes de séquence : Mettent en évidence le type et
l’ordre des messages échangés entre composants
d’un système tout au long de son exécution.
diagrammes de machines d’état : mettent en évidence les
transitions d’état interne à un élément.

40
Les diagrammes comportementaux III

diagrammes de chronométrage : décrivent des


spécifications temporelles pour des messages
diagrammes de cas d’utilisation : fournissent une vue
indépendante de l’implémentation des
fonctionnalités d’un système.

41
Les diagrammes en résumé

42
Les diagrammes en résumé

43
Les vues

44
Les vues

1. Vue du concepteur
2. Vue de déploiement
3. Vue d’implémentation
4. Vue de processus
5. Vue de cas d’utilisation

45
Vue du concepteur

Définit les classes, les interfaces et les structures permettant


de représenter les éléments à traiter.
Elle peut utiliser les diagrammes de classe, , d’objets, de
structures composites et de séquence pour cerner l’ensemble
de la conception du système.

46
Vue de déploiement

Permet de définir la façon dont un système sera configuré,


installé et exécuté.
Elle peut utiliser les diagrammes de composants, de
déploiement et d’interaction.

47
Vue d’implémentation

A pour but de définir les composants, les fichiers et les


ressources utilisés par un système
Elle peut utiliser les diagrammes de composants, et
éventuellement, d’interaction, d’état et de structures
composites.

48
Vue de processus

Formalise toute l’information relative à la cohérence, la


performance et l’ évolutivité du système.
Elle peut utiliser les diagrammes d’interaction et d’activité
pour décrire le comportement à l’exécution du système.

49
Vue de cas d’utilisation

Permet de définir les fonctionnalités requises par l’utilisateur


final.
Elle peut utiliser les diagrammes de cas d’utilisation mais aussi
des diagrammes d’interaction.

50
3 principaux modes d’utilisation

1. Mode esquisse :
pour présenter des solutions, communiquer des idées et
documenter les points essentiels d’un système
sélectivité et non exhaustivité
2. mode plan :
pour décrire de façon exhaustive le résultat de la
conception (spécification complète)
3. mode langage de programmation :
description fine et précise des spécifications (vision MDA
Model Driven Architecture : prise en charge par un
automate de la traduction dans un code informatique)

51
Les différentes utilisations d’UML

UML peut être utilisé pour définir de nombreux modèles :


Modèles descriptifs vs prescriptifs

1. Descriptifs ; Décrire l’existant (domaine, métier)


2. Prescriptifs ; Décrire le futur système à réaliser

Modèles destinés à différents acteurs

1. Pour l’utilisateur ; Décrire le quoi


2. Pour les concepteurs/développeurs ; Décrire le comment

Les modèles sont décrits par des diagrammes (des graphes) ;


Chaque diagramme donne un point de vue différent sur le
système
52
Notation UML
Note

Elément générique permettant d’intégrer une information au


sein du diagramme.
Le symbole d’une note est un rectangle écorné dans le coin
supérieur droit, éventuellement complété par une ligne en
pointillé permettant de lier le commentaire à un élément du
diagramme.

53
Classificateur et décoration I

L’élément de base en modélisation par UML est le


classificateur. Un classificateur, dans le contexte UML est un
groupe d’objets possédant des propriétés communes.
Un classificateur peut posséder différents types d’informations
complémentaires qui lui sont attachés via un mécanisme
d’UML appelé décoration.

54
Classificateur et décoration II

55
Stereotypes

Un stéréotype constitue un type particulier de décoration. Il


donne au lecteur une information sur ce que représente un
classificateur particulier.

56
Contraintes

Relation sémantique quelconque



concernant un ou plusieurs éléments du modèle

définissant des propositions devant être maintenues
à Vrai pour garantir la validité du système modélisé

Notation : contrainte contenu formel ou informel Certaines


contraintes sont prédéfinies ; d’autres créées par l’utilisateur (
langue naturelle, pseudo-code, OCL, ...)

57
Contraintes

58
Plan du cours
Plan du cours I

1. Diagrammes de cas d’utilisation


2. Diagrammes de classes
3. Diagrammes objets
4. Diagrammes de paquetage
5. Diagrammes d’interaction
6. Diagrammes d’état
7. Diagrammes d’activité
8. Diagrammes de composants
9. Diagrammes de déploiement
10. Mise en oeuvre des diagrammes

59
Règles de bonne pratique
Règles de bonne pratique


Avec UML, pratiquement tout est optionnel,

Les modèles UML sont rarement complets

UML a été pensé pour être ouvert à toute interprétation

UML est destiné à être étendu

60
Pour aller plus loin
Pour aller plus loin

G Booch
Conception orientée objet et applications
Addison-Wesley, 1992
P-A Muller
Modélisation objet avec UML
Eyrolles, 1997
I Jacobson, G Booch, J Rumbaugh
UML en action
Addison Wesley 1999
P. Roques , F Vallee,
UML en action
Eyrolles , 2004
D Pilon, N Pitman

Vous aimerez peut-être aussi