Vous êtes sur la page 1sur 10

Introduction à UML

INTRODUCTION
Pour faire face à la complexité croissante des systèmes d’information, de
nouvelles méthodes et outils ont été créées. La principale avancée des trente
dernières années réside dans la programmation orientée objet (P.O.O.).
Face à ce nouveau mode de programmation, les méthodes de modélisation
classique (telle MERISE) ont rapidement montré certaines limites et ont dû
s’adapter (cf. MERISE/2).
Dans ce contexte et devant le foisonnement de nouvelles méthodes de conception
Orientée Objet, l’Object Management Group "OMG" a eu comme objectif de
définir une notation standard utilisable dans les développements informatiques
basés sur l’objet. C’est ainsi qu’est apparu UML (Unified Modified Language
"langage de modélisation objet unifié", qui est issu de la fusion des méthodes
Booch, OMT (Object Modelling Technique) et OOSE (Object Oriented Software
Engineering).
UML est un langage utilisant une représentation graphique. L’usage d’une
représentation graphique est un complément excellent à celui de représentions
textuelles.
Il est nécessaire de préciser qu’UML ne suffit pas seul à produire un
développement de logiciel de qualité. En effet, UML est un ensemble de
formalismes permettant d’appréhender un problème ou un domaine et de le
modéliser. Le succès du développement du logiciel dépend évidemment de la
bonne utilisation d’une démarche de conception et surtout de la façon dont on
utilise ce langage à l’intérieur du cycle de développement du logiciel.
Dans le présent support, on va essayer d’introduire la modélisation orientée objet,
puis de définir et présenter les éléments de modélisation des différents
diagrammes d’UML.

Atef BOUBAKER Page 1


Introduction à UML

INTRODUCTION A LA
MODELISATION OBJET

Objectifs :
 Introduire la notion de conception et de modélisation des systèmes
d’information.
 Faire un survol sur les générations de méthodes de conception.
 Présenter le formalisme UML.

Atef BOUBAKER Page 2


Introduction à UML

I. INTRODUCTION A LA CONCEPTION DES SYSTEMES


D’INFORMATION

I.1. SYSTEME D’INFORMATION

I.1.1. Information
L’information est l’une des plus grandes richesses d’une entreprise. L’information, sous ses
différentes formes (orale, écrite ou graphique), représente une ressource aussi importante que
les ressources financières pour l’action et la prise de décision.
Une information est une donnée qui a un sens et ce sens vient d’un certain modèle
d’interprétation. Une même donnée peut avoir plusieurs sens selon le modèle d’interprétation
qui lui est associé.
Information = Donnée + modèle d’interprétation
L’information constitue une des ressources organisationnelles les plus importantes et les plus
difficiles à gérer. Pour cela on va dégager les caractéristiques essentielles d’une «bonne
information » : Pour être «bonne», il faut que l’information soit : Exacte, complète, fiable,
significative, pertinente…

I.1.2. Système
Un système est caractérisé par son environnement. Il subit de la part de celui-ci un certain
nombre de contraintes qui viennent le perturber et l’oblige de réagir en déclenchant des activités
tendant à le ramener à un état stationnaire, dans l’attente d’une nouvelle perturbation.
Déf 1 : Un Système d'Information représente l'ensemble des éléments participant à la gestion,
au traitement, au transport et à la diffusion de l'information au sein de l'organisation.
Déf 2 : Un Système d'Information est un ensemble de moyens techniques, administratifs, et
humains qui servent à la collecte, au classement et à la transmission d'informations entre les
membres d'une organisation.
On distingue trois sous-systèmes composant l’entreprise :
Système opérant : c’est le siège de l’activité de l’entreprise. Cette activité consiste en une
transformation de ressources ou flux primaires : flux de matière, flux financier, flux
d’informations, …
Système de pilotage : c’est le siège de l’activité décisionnelle de l’entreprise. Elle permet la
régulation, le pilotage et l’adaptation de l’entreprise à l’environnement.
Système d’information : c’est un système qui assure le couplage entre le système de pilotage,
le système opérant et l’environnement externe et qui permet ainsi le bon déroulement des
activités de l’entreprise.

Atef BOUBAKER Page 3


Introduction à UML

I.2. CYCLE DE VIE DU LOGICIEL


La succession des étapes de développement et de suivi d’un logiciel forme le cycle de vie du
logiciel. La vie d'un logiciel commence par l’expression des besoins et prend fin dès qu’il ne
répond plus ou ne puisse pas s'adapter aux nouveaux besoins. Parmi les tâches à réaliser dans
le développement logiciel :
 Comprendre et conceptualiser le problème (besoins, analyse)
 Résoudre le problème (conception)
 Donner une solution (implémentation)
 Documenter
 Etc.

1-
6-
Maintenance Expression
des besoins

5- 2-
Tests Analyse

4- 3-
Codage Conception

FIG 1 : Cycle de vie du logiciel

I.3. CONCEPTION
Concevoir un SI c’est imaginer, créer et représenter de la manière la plus sémantique possible
le SI à travers des modèles. Ces modèles seront utilisés judicieusement dans le cadre d’une
démarche logique et progressive permettant d’aborder sa construction, sa mise en œuvre et sa
maintenance.
Un modèle est une représentation abstraite de la réalité qui exclut certains détails du monde
réel pour réduire la complexité d'un phénomène. Le modèle permet de :

Atef BOUBAKER Page 4


Introduction à UML

Spécifier le système à réaliser


Valider le modèle vis-à-vis des clients
Fournir un guide pour la construction du système
Documenter le système et les décisions prises
Maîtriser sa complexité et assurer sa cohérence
Réduire les coûts et délais
Il existe trois axes de modélisation à savoir :
Axe fonctionnel = Vue utilisateur
o Description du fonctionnement du système
o Représentation des besoins requis par la solution
Axe statique = Vue structurelle
o Description statique des éléments du système
o Représentation des aspects statiques de la structure du problème
Axe dynamique = Vue comportementale
o Description des changements d’état du système
o Représentation des aspects dynamiques du comportement du problème et de
sa solution
II. CLASSIFICATION DES METHODES DE CONCEPTION
II.1. APPROCHE CARTESIENNE (première génération années 70)
La première génération inclut les méthodes d’analyse fonctionnelle. Ces méthodes considèrent
une fonction à la fois et proposent de la décomposer de façon hiérarchique en un ensemble de
sous fonctions jusqu’à atteindre un niveau de décomposition suffisamment fin pour que le
codage des sous fonctions ainsi obtenu soit simple à réaliser. Chaque sous fonction correspond
à un affinage de la fonction précédente.
Exemples : SADT, YOURDON
Points forts :
o la simplicité : elles traduisent le bon sens et la démarche naturelle pour aborder
un problème.
o l’adéquation à capturer plus facilement les besoins des utilisateurs.
Points faibles :
o une concentration de l’effort d’analyse sur les fonctions, négligeant la
cohérence des données.
o une difficulté à tenir compte des interactions non hiérarchiques dans le cas de
systèmes complexes.
Atef BOUBAKER Page 5
Introduction à UML

II.2 APPROCHE SYSTEMIQUE (deuxième génération années 80)


Dans ces approches, le système d’information est perçu comme un objet complexe actif dont
il faut décrire la structure et les objectifs fonctionnels. La modélisation du système est abordée
selon deux points de vue complémentaires : la modélisation des données et la modélisation des
traitements.
Exemples : MERISE, AXIAL, Information Enginering, SSADM, REMORA
Points forts :
o une plus grande cohérence des données,
o le respect des niveaux de conception (conceptuel, organisationnel et physique).
Points faibles :
o un manque de cohérence entre modèles de données et modèles de traitements
pour certaines méthodes.

II.3. APPROCHE OBJET (troisième génération années 90)


On peut considérer l’approche objet comme une évolution de l’approche systémique vers une
plus grande cohérence entre les objets et leur dynamique. C’est en effet la principale
contribution de l’objet : décrire une grande partie de la dynamique du système d’information
comme un ensemble d’opérations attachées aux objets composant ce système.
Exemples : OMT, OOM, HOOD

Points forts : sa capacité à


o Intégrer de façon naturelle les données et les traitements.
o Favoriser la réutilisation des composants.
o Faciliter le prototypage.
o Améliorer la productivité des développeurs.
o Réduire le coût de revient des applications.

FIG 2 : Comparaison Approche Classique / approche Objet

Atef BOUBAKER Page 6


Introduction à UML

III. PRESENTATION D’UML

III.1. HISTOIRE D’UML


Les méthodes utilisées dans les années 1980 pour organiser la programmation (notamment
Merise) étaient fondées sur la modélisation séparée des données et des traitements. Lorsque la
programmation par objets prend de l’importance au début des années 1990, la nécessité d’une
méthode qui lui soit adaptée devient évidente. Plus de cinquante méthodes apparaissent entre
1990 et 1995 (Booch, Classe-Relation, Fusion, HOOD, OMT, OOA, OOD, OOM, OOSE, etc.)
mais aucune ne parvient à s’imposer. En 1994, le consensus se fait autour de trois méthodes :

• OMT de James Rumbaugh (General Electric) fournit une représentation graphique des
aspects statique, dynamique et fonctionnel d’un système ;

• OOD de Grady Booch, définie pour le Department of Defense, introduit le concept de


paquetage (package) ;

• OOSE d’Ivar Jacobson (Ericsson) fonde l’analyse sur la description des besoins des
utilisateurs (cas d’utilisation, ou use cases).
Chaque méthode avait ses avantages et ses limites. Le nombre de méthodes en compétition
s’était réduit, mais le risque d’un éclatement subsistait : la profession pouvait se diviser entre
ces trois méthodes, créant autant de continents intellectuels qui auraient du mal à communiquer.
Événement considérable, les trois fondateurs des trois méthodes se mirent d’accord pour définir
une méthode commune qui fédérerait leurs apports respectifs. UML (Unified Modeling
Language) est né de cet effort de convergence. En fait, et comme son nom l’indique, UML n’a
pas l’ambition d’être exactement une méthode : c’est un langage.
L’unification a progressé par étapes. En 1995, Booch et Rumbaugh (et quelques autres) se sont
mis d’accord pour construire une méthode unifiée, Unified Method 0.8 ; en 1996, Jacobson les
a rejoints pour produire UML 0.9. Les acteurs les plus importants dans le monde du logiciel
s’associent alors à l’effort (IBM, Microsoft, Oracle, DEC, HP, Rational, Unisys etc.) et UML
1.0 est soumis à l’OMG. L’OMG adopte en novembre 1997 UML 1.1 comme langage de
modélisation des systèmes d’information à objets. Et depuis, les travaux d’amélioration d’UML
se poursuivent.

Atef BOUBAKER Page 7


Introduction à UML

FIG 3 : Histoire d’UML

III.2. CARACTERISTIQUES D’UML


UML est un langage qui permet de représenter des modèles, mais il ne définit pas le processus
d'élaboration des modèles : UML n’est donc pas une méthode de modélisation.
Cependant, dans le cadre de la modélisation d'une application informatique, les auteurs d'UML
préconisent d'utiliser une démarche :
 itérative et incrémentale : Pour modéliser (comprendre et représenter) un système
complexe, il vaut mieux s'y prendre en plusieurs fois, en affinant son analyse par étapes.
 guidée par les besoins des utilisateurs du système : Avec UML, ce sont les utilisateurs
qui guident la définition des modèles. Le périmètre du système à modéliser est défini
par les besoins des utilisateurs (les utilisateurs définissent ce que doit être le système).
Le but du système à modéliser est de répondre aux besoins de ses utilisateurs (les
utilisateurs sont les clients du système).
 centrée sur l'architecture logicielle : Une architecture adaptée est la clé de succès
d'un développement. Elle décrit des choix stratégiques qui déterminent en grande partie
les qualités du logiciel (adaptabilité, performances, fiabilité...).

Atef BOUBAKER Page 8


Introduction à UML

UML offre différentes vues (perspectives) complémentaires d'un système, qui guident
l'utilisation des concepts objets.

III.3. DIAGRAMMES D’UML


UML permet de représenter alors un système selon trois différents axes de modélisation
complémentaires à travers l’utilisation des diagrammes.
Un diagramme UML est une représentation graphique, qui s'intéresse à un aspect précis du
modèle. Chaque type de diagramme UML possède une structure (les types des éléments de
modélisation qui le composent sont prédéfinis) et véhicule une sémantique précise (il offre
toujours la même vue d'un système). Les versions d’UML inférieur ou égale à 1.5 définissent
neuf types de diagrammes, alors que la version 2.0 définit treize diagrammes.
Une caractéristique importante des diagrammes UML, est qu'ils supportent l'abstraction. Cela
permet de mieux contrôler la complexité dans l'expression et l'élaboration des solutions objet.
Combinés, les différents types de diagrammes UML offrent une vue complète des aspects
statiques et dynamiques d'un système.
 Diagrammes de structure : de quoi est fait le système ?
Vue statique :
o Diagramme de classes (UML 1) : décrit les classes et leurs liens.
o Diagramme d’objets (UML 1) : présente des instances de classes et de liens.
o Diagramme de package ou de paquetage ou de paquets (UML 2) : regroupe des classes,
des cas d’utilisation ou des paquets, pour renforcer la modularité et la cohérence du
modèle global.
o Diagramme de composants (UML 1) : décrit l’architecture d’un logiciel en termes de
modules et montre les dépendances de compilation ou d’exécution entre ces modules.
o Diagramme de déploiement (UML 1) : décrit les unités de programmes et leurs
processus d’affectation. Il montre la disposition des matériels et la répartition des
composants sur ces matériels.
o Diagramme de structure composite ou d’architecture (UML 2) : montre la
décomposition hiérarchique d’une classe complexe en parties internes, avec des ports
d’interfaces externes, lors de l’exécution.
 Diagrammes comportementaux : Comment se comporte le système ?
Vue fonctionnelle :
o Diagramme de cas d’utilisation (UML 1) : décrit les fonctionnalités du système et les
interactions avec les utilisateurs.

Atef BOUBAKER Page 9


Introduction à UML

Vue dynamique :
o Diagramme d’états-transitions (UML 1) : décrit le cycle de vie d’un objet (états et
transitions).
o Diagramme de timing (UML 2) : montre l’évolution de l’état d’un objet ou d’un groupe
d’objets en fonction d’événements temporels.
o Diagramme de séquence ou d’interaction (UML 1) : représente les interactions entre les
objets d’une manière ordonnée dans le temps.
o Diagramme de communication ou de collaboration (UML 1) : décrit les interactions
entre les objets, en montrant les liens.
o Diagramme d’activités (UML 1) : décrit la sémantique des méthodes en termes
d’actions, en montrant le comportement procédural et parallèle.
o Diagramme de vue d’ensemble des interactions (UML 2) : Mixage du diagramme
d’activités et du diagramme de séquence.

Atef BOUBAKER Page 10

Vous aimerez peut-être aussi