UML
Unified Modeling Language
30/01/2025 1
UML - Introduction
●
L'UML est une façon de représenter visuellement le
fonctionnement d'un système informatique
●
Il permet aux analystes, les architectes logiciels et les
développeurs de décrire le fonctionnement d'un système sans
qu'il soit encore développé
●
Cette méthode d'analyse est très utilisée lorsque le système est
complexe (banque, aéronautique, médical,…)
30/01/2025 2
UML - Introduction
●
On classe les schémas UML dans trois catégories
●
Diagramme de structure (statique)
●
Diagramme de classe
●
Diagramme de comportement (fonctionnel)
●
Diagramme de cas d'utilisation
●
Diagramme d'évolution temporel (dynamique)
●
Diagramme de séquence
●
Diagramme d'états
30/01/2025 3
UML - Introduction
30/01/2025 4
UML - Outils
●
Un grand nombre d'outils permettent de générer des diagrammes UML
●
Il existe également des outils en ligne
●
Lucidchart
●
diagrams
●
Gitmind (rien à voir avec git)
●
Certains outils permettent de générer du code à partir des diagrammes
30/01/2025 5
Diagramme de classes
30/01/2025 6
Cas d'utilisation ou Use case
●
Les cas d'utilisation permettent de décrire les fonctionnalités
attendues par l'application
●
On n'indique que les fonctionnalités les plus importantes. Les
autres fonctionnalités feront éventuellement l'objet d'autres
diagrammes
●
Ce diagramme permet surtout de voir les fonctionnalités
accessibles à certains utilisateurs selon les droits accordés
30/01/2025 7
Use case
●
L'acteur est représenté par le "stick
man"
●
Les fonctionnalités sont représentées
par un ovale
●
S'il est obligatoire de réaliser une
opération (fonction) avant de faire une
opération, elles seront liées par une
inclusion
●
Si une opération peut être faite, elles
sont liées par une extension
30/01/2025 8
Use case et user story
●
Dans une équipe de développement agile, les "use cases" ont
tendances à être remplacés par les "user stories"
●
Les user stories sont plus exhaustives et s'insèrent plus
naturellement dans un suivi de projet avec Kanban (Trello)
●
Exhaustif ne veut pas dire qu'on définit toutes les actions au
départ.
30/01/2025 9
User story
●
Une user story a le schéma suivant
La fonctionnalité à
Acteur (droit et rôle) implémenter
En tant que administrateur , je souhaite ajouter un éditeur afin
qu'il puisse écrire des recettes
Informations complémentaires
sur le contexte
Dans une méthodologie de développement agile, une user story peut avoir
plusieurs tâches associées
30/01/2025 10
Critères d'acceptation
●
Les critères d'acceptation suivent la syntaxe Gherkin
Scénarios : Toutes les actions d'un utilisateur pourrait faire (y
compris une mauvaise saisie)
Etant donné : définissez le contexte (utilisateur connecté,
page, état, l'action réalisée,...)
Lorsque : Ce que fait l'utilisateur, dire ce qu'il se passe
Alors : Le résultat attendu
30/01/2025 11
Critères d'acceptation
●
Exemple
Étant donné que l'Utilisateur n'est pas connecté
Lorsque l'Utilisateur saisi "créer un compte"
Alors La page Formulaire créer un compte s'affiche
Étant donné que l'Utilisateur n'est pas connecté
Lorsque l'Utilisateur saisit "se connecter"
Si identifiant et mot de passe valide
Alors redirection sur la page accueil en étant connecté
Sinon message d'erreur "identifiants incorrect"
30/01/2025 12
Utilisation des User stories
●
Lorsqu'il y a beaucoup de critères d'acceptance, il peut être
nécessaire de découper la user stories en plus petites unités
●
Les User stories sont placées dans la colonne backlog (ouvert) du
kanban présent sous gitlab.
●
Une issue ne peut être déplacée de la colonne backlog vers le
colonne ToDo qui lorsque les critères d'acceptance ont été
ajoutés à la fiche.
30/01/2025 13
Exercice 1 : use case
●
Une bibliothèque municipale souhaite développer un système
informatique pour gérer les emprunts de livres. Ce système doit
permettre aux usagers d’effectuer des opérations en ligne, comme
rechercher un livre, réserver un livre, ou consulter l’historique des
emprunts.
30/01/2025 14
Exercice 2 : use case
Une société de transport souhaite développer une application pour gérer les
services de réservation de trajets. Ce système doit prendre en charge plusieurs
types d’utilisateurs : les clients réguliers, les chauffeurs, et les gestionnaires de
flotte. Chaque type d'utilisateur a des fonctionnalités spécifiques, mais certaines
actions sont partagées.
30/01/2025 15
Exercice 2 (suite) : use case
●
Les fonctionnalités attendues :
●
Réserver un trajet : Les clients peuvent réserver un trajet en indiquant leur position de départ et leur destination. Avant de
confirmer la réservation, le système doit calculer le coût estimé du trajet.
●
Annuler une réservation : Les clients peuvent annuler une réservation avant qu’elle ne commence. Ce cas étend le cas "Réserver un trajet".
●
Gérer les trajets : Les chauffeurs peuvent accepter ou refuser une demande de trajet et mettre à jour l’état du trajet (en cours, terminé).
●
Consulter l’historique des trajets :
●
Les clients peuvent consulter la liste de leurs trajets passés.
●
Les chauffeurs peuvent consulter leurs trajets effectués.
●
Gérer les utilisateurs : Les gestionnaires de flotte peuvent ajouter, modifier ou supprimer des comptes utilisateurs (clients et chauffeurs).
●
Générer des rapports : Les gestionnaires peuvent générer des rapports de performance, comme les trajets les plus fréquents ou les revenus par
chauffeur. Ce cas est optionnel et étend "Gérer les utilisateurs".
●
Notification de trajets : Le système doit notifier les utilisateurs (clients et chauffeurs) à chaque changement d’état du trajet. Cela est inclus dans les cas
liés aux trajets.
30/01/2025 16
Exercice 3 : diagramme de séquence
Un utilisateur souhaite passer une commande sur le site e-
commerce. Voici les étapes principales du processus :
L’utilisateur ajoute un produit à son panier.
L’utilisateur consulte son panier pour vérifier les produits sélectionnés.
L’utilisateur passe commande.
Le système vérifie la disponibilité des produits en stock.
Si les produits sont disponibles, le système demande la validation du paiement via un service
de paiement externe.
Une fois le paiement validé, le système enregistre la commande et génère un numéro de
commande unique.
Le système informe l’utilisateur que la commande a été validée.
30/01/2025 17
Exercice 4 : Réservation co-working
●
Un espace de co-working souhaite pouvoir proposer un service
de réservation de place en ligne.
●
Il n'est pas nécessaire d'être adhérent pour réserver une place
●
Le système doit vérifier qu'il reste des places disponibles à la date
souhaitée par le client
●
Le système doit vérifier que le co-working est ouvert aux dates demandées
par le visiteur
●
Le client peut payer sa réservation en ligne
●
Si la réservation est valide, un code d'accès est ajouté à un automate pour
ouvrir les portes à la date demandé
●
Un mail récapitulatif avec la date réservée est envoyé au client
30/01/2025 18
Exercice 5 : diagramme d'activité
●
Vous gérez une boutique de commerce électronique où les
clients peuvent parcourir les produits, ajouter des articles à
leur panier, passer commande et effectuer des paiements.
Vous devez créer un diagramme d'activité pour illustrer le
processus de commande en ligne, depuis la sélection des
produits jusqu'à la confirmation de la commande.
30/01/2025 19