Session BRE04 Help

Cours : Introduction à l'UML

Les notions du jour
  • Présentation de l'UML

  • Diagramme de classe

  • Use-Case

  • Diagramme de séquence

  • Méthode Merise

  • MCD

Présentation de l'UML

Exemple de diagramme

L'UML (Unified Modeling Language) est un langage visuel utilisé pour modéliser des applications en informatique (logiciel, mobile, web, ...).

Il se présente sous formes de diagrammes pouvant représenter différents aspects d'une application.

Nous allons en voir 4 principaux :

  • le diagramme de classe qui représente les données

  • le use-case qui représente les comportements de l'application

  • le diagramme de séquence qui représente les interactions

  • le MCD qui représente les relations entre les données

L'idée de ce cours n'est pas de faire de vous des expert·e·s de la conception, mais plutôt que vous ayez croisé dans votre parcours certains des principaux diagrammes de modélisation, que vous sachiez que ça existe et que vous puissiez retourner sur ce cours lorsque vous aurez besoin de faire la conception de votre projet de formation.

Les diagrammes présentés dans le cours sont en version simplifiée afin que vous puissiez vous familiariser avec un langage visuel, mais s'il existe des grands principes de modélisation, chaque entreprise et chaque logiciel de modélisation va avoir ses spécificités.

Représenter les données : le diagramme de classe

Le diagramme de classe représente une entité dans votre code. Dans la plupart des langages, il existe un paradigme de programmation appelé Programmation Orientée Objet (ou POO en français, OOP en anglais).

Vous en avez peut-être entendu parler dans le cours de JavaScript, pour rappel une classe en JavaScript ressemble à ça :

class Library { constructor() { this._books = []; } set books(books) { this._books = books; } get books() { return this._books; } addBook(book) { this._books.push(book); } }

Le PHP implémente lui aussi la POO, vous le verrez en profondeur plus tard dans les cours PHP.

Pour l'instant, souvenez-vous qu'une classe ça contient des variables : les attributs et des fonctions : les méthodes.

Du coup sous forme de diagramme cela donne :

Diagramme de classe simple

Nous avons la classe Human.

Elle a des attributs :

  • firstName

  • lastName

  • age

  • height

  • weight

et des méthodes :

  • eat()

  • sleep()

  • talk()

  • walk()

  • run()

Exercice Diagramme de classe simple


Les liens entre les entités

Parfois vos entités sont liées entre elles, c'est le cas par exemple quand vous implémentez l'héritage. Par exemple un chien, c'est une sous-espèce plus précise d'un Animal. On pourrait donc dire que la classe Chien hérite de la classe Animal.

On doit aussi représenter ce genre de lien sur un diagramme de classes, et on le fait de la façon suivante :

Diagramme de classes avec les liens

Dans cet exemple, nous avons deux classes filles : Client et Vendor, qui héritent toutes les deux de la classe User.

Exercice Diagramme de classes avec liens


Représenter les comportements : les Use-Case

Dans une application il y a souvent des rôles différents pour les utilisateurs et les acteurs, pour modéliser ces différents comportements, on utilise un type de diagramme appellé Use-Case (cas d'usage en français).

Diagramme de Use Case

Le diagramme ci-dessus représente les comportements des différents acteurs dans une marketplace e-commerce.

Dans un diagramme de Use-Case, nous avons un bloc pour représenter l'entité complète (le bloc bleu e-shop).

Puis, nous avons des bonhommes batons pour représenter, sur la gauche les utilisateurs du service (ici un client et un vendeur), sur la droite les systèmes tiers (ici la banque).

Nous avons des formes ovales (ici en jaune) qui présentent les différentes actions possibles, et enfin des traits qui font le lien entre les différents acteurs et les actions.

Exercice sur le Use-Case


Représenter les interactions : le diagramme de séquence

Pour représenter les différentes interactions entre les différents acteurs (attention, un acteur peut soit être un humain, soit un système, soit un bloc de votre application) et leur déroulé dans le temps on va utiliser un diagramme de séquence.

Diagramme de séquence

Le diagramme ci-dessus représente les interactions entre le client, le service et la cuisine dans un restaurant.

En haut, dans les blocs verts, nous avons les différents acteurs (Client, Service, Cuisine).

Pour chaque acteur, nous avons en pointillé le temps qui s'écoule, sa timeline. Sur les timelines, nous avons des blocs oranges qui représentent chacun une action faite par l'acteur et le temps qu'elle lui prend.

Les interactions qui déclenchent et résultent de ces actions sont représentées par des flèches qui partent de la source de l'interaction vers son destinataire (le client commande, c'est la source, le service reçoit la commande, c'est le destinataire).

Exercice sur le diagramme de séquence


La méthode Merise

La méthode Merise est une méthode de modélisation des données et des traitements qui est moins universelle que l'UML et principalement utilisée en France.

Elle utilise différents niveaux de diagrammes : Modèle Conceptuel (MCD, MCT), Modèle Logique (MLD, MLT) et Modèle Physique (MPD, MOT).

Je ne l'ai à titre personnel, jamais apprise ni utilisée, mais vous trouverez sur Moodle des explications des diagrammes s'appliquant aux données (dans la journée MCD).

Ma version du MCD

J'utilise par contre quand je travaille sur du web un diagramme qui se rapproche de l'idée du MCD qy'on appelle généralement un ERD (Entity Relationship Diagram) c'est une sorte de pont entre un diagramme de classe en UML et une modélisation de base de données.

Entity Relationship Diagram

Le diagramme ci-dessus représente une modélisation simple (et incomplète) de la base de données d'un site e-commerce. On y trouve les produits, leurs catégories, le lien qui dit que tel produit est dans telle catégorie, les commandes et le lien qui dit que tel produit est dans telle commande.

Exercice sur le MCD


Mini-Projet : UML d'un portfolio


04 June 2025