UNIVERSITÉ CHOUAIB DOUKKALI
FACULTÉ DES SCIENCES
El Jadida
UML
Unified Modeling Language
Pr. Inssaf EL GUABASSI
elguabassi@[Link]
Licence Fondamentale
Mathématiques et Informatique
FS - EL JADIDA 2025/2026
2 Objectif du cours
Ce cours vise à fournir aux étudiants les compétences nécessaires
pour concevoir, modéliser et maintenir des systèmes logiciels de
manière efficace et rigoureuse, en utilisant un langage commun de
modélisation standardisé.
3 Plan ❑ Introduction au langage de modélisation UML
o Préliminaires
o Comment choisir une démarche ?
o Diagrammes d’UML
❑ Diagramme des cas d’utilisation
o Acteur
o Cas d'utilisation et scénario
❑ Diagramme de classes
o Introduction aux classes, aux objets
o Notion de relation, de composition et d'héritage
o Recherche d'un diagramme de classes à partir du cahier des charges
❑ Modèle dynamique
o Diagramme de séquences
o Diagramme de collaboration
o Diagramme d'état et d'activité
❑ Conception
o Diagramme de déploiement
o Diagramme de composants
CHAPITRE 1
Introduction au langage de modélisation UML
o Préliminaires
o Comment choisir une démarche ?
o Diagrammes d’UML
CHAPITRE 1
Introduction au langage de modélisation UML
o Préliminaires
o Comment choisir une démarche ?
o Diagrammes d’UML
6 Préliminaires
Pourquoi modéliser?
Pour construire …
Une niche Une maison Un immeuble
• Plans généraux,
• Quelques planches • Plans d'exécution détaillés : • Planification détaillée
• Des clous • Pièces, • nombreux plans et
• Un marteau • Electricité, études
• Quelques outils • Plomberie,
• Chauffage, etc.
D’où l’intérêt d’une modélisation pour MIEUX comprendre le système
7 Préliminaires
Pourquoi modéliser?
C’est exactement la même chose en informatique :
❑ Pour des projets simples, comme un petit programme, la modélisation
est minimale.
❑ Pour un logiciel plus complexe, comme une application complète, il
faut des plans détaillés : diagrammes de classes, de séquences,
d'activités, etc.
❑ Pour un système d'envergure (comme un système d'information
complet), une modélisation complète et précise est indispensable
pour éviter les erreurs et assurer la réussite du projet. »
8 Préliminaires
Pourquoi modéliser?
❑ Visualiser le système tel qu'il est ou tel qu'il devrait être
❑ Spécifier la structure et le comportement d'un système
❑ Avoir un « patron » pour guider la construction du système
❑ Documenter les décisions qui ont été prises
Nous construisons des modèles de systèmes complexes parce que nous
sommes incapables d'appréhender ces systèmes dans leur entièreté.
9 Préliminaires
Pourquoi modéliser?
L’approche par modélisation facilite:
❑ La communication (et sa précision)
• avec donneur d’ordre
• entre différentes phases de développement et de maintenance
❑ La capacité de vérification
• Cohérence
• Complétude
❑ La continuité entre les différentes phases du cycle de vie
10 Préliminaires
Qu’est ce qu’un modèle?
Un modèle est une simplification de la réalité
Expliquer, Comprendre, Interpréter
Champ empirique Champ théorique
(Monde concret) (Monde abstrait)
Réalité Modèle
Prévoir, Prédire, Décider
11 Préliminaires
Qu’est ce qu’un modèle?
❑ Un modèle est une abstraction de la réalité
o Il s'agit d'un processus qui consiste à identifier les caractéristiques intéressantes
d'une entité, en vue d'une utilisation précise.
o L'abstraction désigne aussi le résultat de ce processus, c'est-à-dire l'ensemble
des caractéristiques essentielles d'une entité, retenues par un observateur.
❑ Un modèle est une vue subjective mais pertinente de la réalité
o Un modèle définit une frontière entre la réalité et la perspective de l'observateur.
Ce n'est pas « la réalité », mais une vue très subjective de la réalité.
o Bien qu'un modèle ne représente pas une réalité absolue, un modèle reflète des
aspects importants de la réalité, il en donne donc une vue juste et pertinente.
12 Préliminaires
Caractéristiques fondamentales d’un modèle
❑ Le caractère abstrait d'un modèle doit notamment permettre :
o de faciliter la compréhension du système étudié
Un modèle réduit la complexité du système étudié.
o de simuler le système étudié
Un modèle représente le système étudié et reproduit ses
comportements.
❑ Un modèle réduit (décompose) la réalité, dans le but de disposer d'éléments de
travail exploitables par des moyens mathématiques ou informatiques.
❑ Un modèle est une simplification de la réalité. Il permet de mieux comprendre le
système qu'on doit développer.
13 Préliminaires
Qu’est-ce que UML ?
UML = Unified Modeling Language
for Object-Oriented Development
C’est le 1er standard international en conception de système d’information.
Il provient de l’unification de différents modèles Orientés-Objet.
14 Préliminaires
Objectifs d’UML
❑ UML ne se limite pas au logiciel, il permet de représenter l’ensemble du
système, y compris les aspects matériels et organisationnels.
❑ Il fait le lien entre les idées abstraites et leur implémentation concrète.
❑ UML aide à gérer des systèmes complexes en les décomposant pour
mieux les comprendre et les organiser.
❑ UML est conçu pour être compris à la fois par les humains (analystes,
développeurs) et les machines (outils de modélisation et d'exécution).
UML est un langage ouvert grâce à son mécanisme d’extensibilité, et
c’est aussi un langage de spécification offrant une signification claire et
non ambiguë des systèmes modélisés
15 Préliminaires
Généalogie de UML
En résumé, la généalogie d'UML peut être représentée ainsi :
❑ Les origines d'UML remontent aux travaux de Grady Booch, James
Rumbaugh et Ivar Jacobson sur leurs propres méthodes de modélisation
orientées objet, respectivement Booch, OMT et OOSE.
❑ En 1994, les trois chercheurs ont décidé de fusionner leurs méthodes pour
créer une méthode de modélisation unifiée.
❑ En 1995, la première version d'UML a été présentée dans un livre intitulé
"The Unified Modeling Language User Guide".
❑ En 1997, UML a été adopté comme standard de modélisation par l'Object
Management Group (OMG).
❑ Depuis lors, UML a connu plusieurs mises à jour, la plus récente étant la
version 2.5.1, publiée en 2018
16 Préliminaires
Généalogie de UML
17 Préliminaires
UML / méthodes des années 80
UML réutilise les 2 points forts des méthodes des années 80 :
❑ Un modèle des classes fondé sur le modèle des données (sorte de MCD,
modèle Entité-Association étendu)
❑ Un modèle des scénarios fondé sur les modèles de processus (MCT,
MOT) à base de réseau de Petri simplifié
18 Préliminaires
UML : méthode ou modèle ?
Une méthode comporte :
❑ Un langage de modélisation : une notation utilisée pour décrire les éléments
de modélisation
❑ Un processus décrivant les étapes et les tâches à effectuer pour mener à
bien la conception
Ce dernier point est absent de UML, donc :
UML n’est pas une méthode mais un langage
d'expression des éléments de la modélisation.
19 Préliminaires
La problématique du développement d’un logiciel
❑ La construction d’un logiciel est complexe quand elle met en œuvre de
nombreuses ressources :
• Humaines ;
• Matérielles ;
• Technologiques.
❑ D’où la nécessite de suivre :
❑ Un processus bien défini => le cycle de vie d’un logiciel:
• Prévoir et planifier les travaux ;
• Coordonner les activités de conception, de fabrication, de validation,
etc.
• Réagir à l’évolution des objectifs.
❑ Une méthode rigoureuse basée sur des Modèles:
• Représentations sémantiques simplifiées mais justes d’un système
visant à l’analyser et le comprendre pour mieux le concevoir.
20 Préliminaires
Les étapes du cycle de vie
client / L’expression des besoins : élaboration par le client et le fournisseur d’un cahier des
fournisseur charges décrivant les fonctionnalités du système étudié et comment l’utiliser
Les spécifications du système : lever les ambiguïtés, éliminer les redondances du cahier
utilisateurs,
des charges ;
experts /
L’analyse : phase indépendante de toute considération technique et informatique visant à
fournisseur
définir le système (s’accorder sur le « quoi ») ;
La conception : prise en compte de l’environnement technique pour déterminer la manière
Experts
de résoudre le problème posé (s’accorder sur le « comment ») ;
informatiques
L’implémentation : traduction de la conception dans un langage de programmation
Experts
Les tests : vérification que l’implémentation est correcte ;
informatiques
utilisateurs,
experts / La validation : vérification que le système correspond aux besoins ;
fournisseur
utilisateurs,
La maintenance et l’évolution pendant la phase d’exploitation.
experts /
21 Préliminaires
Le cycle de vie objet
❑ Un cycle de vie suivant un modèle objet se caractérise par :
• Une bonne traçabilité : les mêmes concepts servent, depuis l’analyse jusqu’à
l’implémentation (par exemple les classes implémentées sont découvertes
pendant la phase d’analyse)
• Un caractère itératif : Le développement progresse par itérations successives
[Link]écifications 3. Analyse
1. Expression des besoins 4. Conception
7. Validation 5. Implémentation
6. Tests
• Un caractère incrémental : une série de prototypes (sous-ensemble logiciel
qui est intégrable, réutilisable et évolutif) évoluent jusqu’à la version finale.
22 Préliminaires
La place d’UML dans le cycle de vie
Spécifications
Cas d’utilisation
Fonctionnelles
Modèle Objet
Diagramme de classes
(Statique)
Diagramme d’activité
Analyse Diagramme de séquence
Modèle
Dynamique Diagramme de collaboration
Diagramme d’état
Diagramme de Diagramme de
Conception
composants déploiement
23 Préliminaires
Comment modéliser avec UML ?
❑ UML est un langage qui permet de représenter et formaliser des
modèles, mais il ne définit pas un processus méthodologique
complet pour leur élaboration.
❑ Les auteurs d’UML préconisent d’utiliser une démarche structurée
et itérative, favorisant l’analyse, la conception, la validation et la
maintenance.
❑ Selon les auteurs d’UML, un processus de développement
structuré, rigoureux et itératif est essentiel pour assurer la réussite
d’un projet.
CHAPITRE 1
Introduction au langage de modélisation UML
o Préliminaires
o Comment choisir une démarche ?
o Diagrammes d’UML
25 Comment choisir une démarche?
Processus de développement
UML ne définit pas de processus de développement standard mais un
processus est préconisé :
❑ Itératif et incrémental (construction progressive)
❑ Guidé par les cas d’utilisation (piloté par les besoins des utilisateurs)
❑ Centré sur l’architecture (la structure) du système
Analyse Conception et Réalisation
Test
Quoi? Comment?
Cas d’utilisation
26 Comment choisir une démarche ?
Un processus itératif et incrémental ?
❑ Itératif : Le développement progresse par cycles successifs, où
chaque itération améliore les résultats précédents.
❑ Incrémental : Le système est construit par étapes, chaque étape
apportant une partie fonctionnelle du produit final.
❑ Cette démarche devrait aussi s'appliquer au cycle de
développement dans son ensemble, en favorisant le prototypage.
❑ Le but est de mieux maîtriser la part d'inconnu et d'incertitude qui
caractérisent les systèmes complexes.
27 Comment choisir une démarche ?
Un processus guidé par les cas d'utilisation
❑ 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).
28 Comment choisir une démarche ?
Un processus guidé par les cas d’utilisation
❑ Les besoins des utilisateurs servent aussi de fil rouge, tout au
long du cycle de développement (itératif et incrémental) :
❑ A chaque itération de la phase d'analyse, on clarifie, affine et
valide les besoins des utilisateurs.
❑ A chaque itération de la phase de conception et de réalisation,
on veille à la prise en compte des besoins des utilisateurs.
❑ A chaque itération de la phase de test, on vérifie que les besoins
des utilisateurs sont satisfaits.
29 Comment choisir une démarche ?
Un processus guidé par les cas d’utilisation
❑ L'expression des besoins est un travail difficile, peut-être le plus
difficile en pratique. C'est la qualité de ce travail qui détermine quel
sera au bout du compte le coût du système développé.
❑ Il faut tout d'abord se comprendre, c'est-à-dire être certain que les
utilisateurs et les informaticiens ont la même vision des concepts du
domaine à informatiser (qu'est-ce qu'une image de télévision
numérique ? qu'est-ce qu'une facture ? qu'est-ce qu'un missile,
qu'est-ce qu'un client? ...) et de la manière dont ils sont liés les uns
aux autres.
30 Comment choisir une démarche ?
Un processus guidé par les cas d’utilisation
❑ Ensuite, il faut s'accorder sur l'organisation générale du système :
quelles en sont les grandes parties, quels en sont les utilisateurs,
quels rôles jouent-ils exactement, quels sont les grands flots
d'informations entre utilisateurs et parties du système ?
❑ Il faut enfin spécifier les différentes manières d'utiliser le système, du
point de vue de l'utilisateur, et la manière dont le système est perçu
par son environnement (interfaces).
31 Comment choisir une démarche ?
Un processus centré sur l'architecture ?
Une architecture adaptée est la clé du 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é...).
Vue du locataire
Vue du plombier Vue du propriétaire
Vue du maçon Vue de l’architecte
Vue du notaire Vue du service
des impôts locaux
Vue du cadastre
CHAPITRE 1
Introduction au langage de modélisation UML
o Préliminaires
o Comment choisir une démarche ?
o Diagrammes d’UML
33 Diagrammes d’UML
Comment « créer » un modèle avec UML ?
❑ UML permet de définir et de visualiser un modèle, à l'aide de
diagrammes.
❑ Un diagramme UML est une représentation graphique, qui
représente un aspect spécifique du modèle global, apportant
une vue partielle mais précise du système.
❑ Chaque type de diagramme UML suit une structure définie
avec des éléments spécifiques prédéfinis pour la
modélisation.
34 Diagrammes d’UML
Comment « créer » un modèle avec UML ?
❑ Chaque type de diagramme UML représente une vue
spécifique du système, qu’il s’agisse de sa structure statique
ou de son comportement dynamique.
❑ Combinés, les différents types de diagrammes UML offrent
une vue complète des aspects statiques et dynamiques d'un
système.
❑ Par extension, un diagramme UML peut être perçu comme un
modèle, car il décrit un aspect particulier du système global.
35 Diagrammes d’UML
Quelques caractéristiques des diagrammes UML
❑ Les diagrammes UML supportent l’abstraction qui permet de
simplifier la représentation du système en ne gardant que les
informations essentielles adaptées au niveau de détail.
❑ La structure des diagrammes UML suit une notation graphique
standardisée définie dans le document "UML notation guide",
facilitant une communication claire.
36 Diagrammes d’UML
Quelques caractéristiques des diagrammes UML
❑ Le recours à des outils UML améliore la productivité grâce à :
o Une navigation facilitée entre les différentes vues du
système.
o La centralisation et le versionnement des diagrammes
dans un processus itératif.
o Une meilleure abstraction avec des filtres visuels adaptés.
o La génération de code, bien que limitée à certaines
structures ou outils.
37 Diagrammes d’UML
Les différents types de diagrammes UML
❑ Vues statiques du système :
o diagrammes de cas d'utilisation
o diagrammes d'objets
o diagrammes de classes
o diagrammes de composants
o diagrammes de déploiement
❑ Vues dynamiques du système :
o diagrammes de collaboration
o diagrammes de séquence
o diagrammes d'états-transitions
o diagrammes d'activités
38 Diagrammes d’UML
Les différents types de diagrammes UML
❑ Vues statiques du système :
o Diagramme de cas d'utilisation : permet de décrire les interactions entre
les acteurs (utilisateurs ou systèmes externes) et le système, en identifiant
les fonctionnalités attendues.
o Diagramme d'objets : représente une vue instantanée des objets du
système, montrant leurs relations sous forme d’instances concrètes.
o Diagramme de classes : décrit la structure du système en présentant les
classes, leurs attributs, leurs méthodes ainsi que les relations qui les relient.
o Diagramme de composants : illustre l'organisation modulaire du système
en représentant les composants logiciels et leurs connexions.
o Diagramme de déploiement : montre comment les composants logiciels
sont répartis sur les nœuds matériels, représentant ainsi l'architecture
physique du système.
39 Diagrammes d’UML
Les différents types de diagrammes UML
❑ Vues dynamiques du système :
o Diagramme de collaboration : présente les interactions entre les objets
en mettant en évidence leurs connexions et les messages échangés.
o Diagramme de séquence : illustre l'ordre chronologique des échanges
entre objets pour décrire le déroulement d’un scénario fonctionnel.
o Diagramme d'états-transitions : représente les différents états d’un
objet ainsi que les transitions possibles entre ces états en fonction des
événements.
o Diagramme d'activités : montre les processus ou les flux d’activités en
modélisant le déroulement des actions et des décisions.
40 Diagrammes d’UML
Construction du modèle statique
41 Diagrammes d’UML
Construction du modèle dynamique
42 Diagrammes d’UML
Synthèse
43 Diagrammes d’UML
L’enchaînement des modèles
Diagramme
d'activité
Cas d'utilisation OU
Diagramme Diagramme Diagramme
de séquence de classes D’état
Sens obligatoire
Diagramme de Ordre Recommandé
collaboration Sens possible
Modèles équivalents
44 Diagrammes d’UML
UML en pratique
45 Diagrammes d’UML
Quelques logiciels gratuits pour la modélisation UML
1. StarUML : un éditeur UML open-source et multiplateforme pour
Windows, Mac et Linux.
2. Modelio : un logiciel open-source de modélisation UML pour
Windows, Mac et Linux.
3. Dia : un programme open-source de création de diagrammes pour
Windows, Mac et Linux qui inclut des fonctionnalités UML.
4. PlantUML : un outil open-source pour générer des diagrammes UML à
partir de code texte.
5. UMLet : un éditeur de diagrammes UML open-source pour Windows,
Mac et Linux.
46 Diagrammes d’UML
Quelques logiciels gratuits pour la modélisation UML
6. ArgoUML : un logiciel open-source de modélisation UML pour
Windows, Mac et Linux.
7. Papyrus : un outil de modélisation UML open-source pour Eclipse qui
supporte également SysML.
8. Visual Paradigm Community Edition : une version gratuite de l'outil
de modélisation UML Visual Paradigm pour Windows, Mac et Linux.
47 Evaluation de l’apprentissage
1. Pourquoi modéliser?
2. Qu’est ce qu’un modèle?
3. Quel est le cycle de vie d’un logiciel?
4. Qu'est-ce que UML et que signifie cette abréviation ?
5. Quel est le but principal d'UML dans le développement logiciel ?
6. Dans quel(s) stade(s) du cycle de vie d'un logiciel peut-on trouver UML ?
7. Quels sont les principaux types de diagrammes UML ?
8. Quel type de diagrammes UML est utilisé pour la modélisation de bases
de données ?
9. Donnez deux exemples de diagrammes d’UML de type statique
[Link] deux exemples de diagrammes d’UML de type dynamique
[Link] une chaîne complète de la démarche de modélisation avec UML