UML
UML (Unified Modeling Language) est un langage de modélisation graphique largement utilisé dans le domaine de l’ingénierie logicielle. Il fournit un ensemble de notations et de diagrammes standardisés pour représenter visuellement différents aspects d’un système logiciel.
L’objectif principal d’UML est de faciliter la communication, la compréhension et la documentation des systèmes logiciels complexes. Il permet aux concepteurs, développeurs et parties prenantes de collaborer efficacement en utilisant des diagrammes compréhensibles et normalisés.
Les 3 principaux diagrammes :
Diagramme de cas d'utilisation
(Use Case Diagram) : Il représente les fonctionnalités fournies par un système logiciel du point de vue des utilisateurs (acteurs). Il montre les interactions entre les acteurs et le système.Diagramme de classes
(Class Diagram) : Il représente la structure statique d’un système logiciel en montrant les classes du système, leurs attributs, leurs méthodes et les relations entre les classes. Il permet de modéliser les concepts, les relations et les dépendances entre les classes.Diagramme d'activité
(Activity Diagram) : Il représente le flux de contrôle à l’intérieur d’un système logiciel ou d’un processus métier. Il montre les étapes, les décisions, les branchements et les flux de données.- …
Memento UML disponibles à la bibliothèque
1 Diagramme de cas d’utilisation
Un diagramme de cas d’utilisation UML (Unified Modeling Language) est un type de diagramme utilisé pour représenter les interactions entre les acteurs (utilisateurs ou systèmes externes) et le système logiciel. Il met l’accent sur les fonctionnalités fournies par le système du point de vue des utilisateurs.
Un diagramme de cas d’utilisation se compose de plusieurs éléments clés :
Acteur
: Un acteur représente un rôle joué par un utilisateur ou un système externe qui interagit avec le système logiciel. Il peut s’agir d’une personne, d’un autre système, d’un périphérique matériel, etc. Les acteurs sont souvent représentés par des silhouettes.Cas d'utilisation
: Un cas d’utilisation représente une fonctionnalité ou une action que le système logiciel fournit à ses acteurs. Il décrit une interaction entre les acteurs et le système pour atteindre un objectif spécifique.Relation d'association
: Les relations d’association connectent les acteurs aux cas d’utilisation pour montrer quel acteur utilise quel cas d’utilisation.
Les diagrammes de cas d’utilisation UML sont utilisés pour :
- capturer les exigences fonctionnelles du système
- identifier les acteurs impliqués
- décrire les interactions entre les acteurs et le système
- définir les fonctionnalités attendues du système
Ils aident à communiquer efficacement les besoins des utilisateurs et à guider le processus de développement logiciel en se concentrant sur les objectifs de l’utilisateur final.
1.1 Outils
1.2 Exemple
2 Diagramme de classe
Un diagramme de classes UML (Unified Modeling Language) est un type de diagramme utilisé pour représenter la structure statique d’un système logiciel. Il montre les classes du système, leurs attributs, leurs méthodes et les relations entre les classes.
Un diagramme de classes UML se compose de différentes boîtes représentant les classes, avec des lignes qui connectent ces boîtes pour montrer les relations entre les classes. Voici quelques éléments clés que l’on retrouve généralement dans un diagramme de classes :
Classe
: Elle est représentée par une boîte avec trois sections :- le nom de la classe
- les attributs
- les méthodes
Relation d'association
: Une relation d’association représente une connexion entre 2 classes. Elle montre que les objets d’une classe sont associés aux objets d’une autre classe. Par exemple, une classeÉtudiant
peut être associée à une classeCours
via une relation d’association pour indiquer que les étudiants suivent des cours.Héritage
: Cela permet de modéliser les concepts de généralisation et de spécialisation.Agrégation et Composition
: Ces relations décrivent la structure des classes et leur association avec d’autres classes.- L’agrégation est une relation où une classe peut être composée d’autres classes, mais ces classes peuvent exister indépendamment
- La composition est une relation plus forte où une classe est composée d’autres classes, et ces classes n’existent pas sans la classe parente.
Multiplicité
: La multiplicité spécifie le nombre d’objets d’une classe associés à un ou plusieurs objets d’une autre classe dans une relation d’association. Elle est représentée par des nombres ou des symboles tels que “0..1”, “1”, “*“, etc.
Les diagrammes de classes UML sont utilisés pour modéliser la structure conceptuelle d’un système logiciel, identifier les classes et leurs relations. Ils fournissent une représentation visuelle et standardisée pour analyser, concevoir et documenter les systèmes orientés objet.
2.1 Outils
2.2 Exemple
3 Exercice
Un Courrier peut être de 2 types : Lettre ou Colis.
Une Lettre est caractérisée par :
- poids (en grammes)
- mode d’expédition (Rapide ou Normal)
- adresse de destination
- format (A3 ou A4)
Un Colis est caractérisé par :
- poids (en grammes)
- mode d’expédition (Rapide ou Normal)
- adresse de destination
- volume (en litres)
Chaque Courrier dispose des méthodes suivantes :
__init__()
: un constructeur__str__()
: une méthode qui retourne une chaine décrivant le Courriercalcul_affranchissement()
- pour une Lettre : tarif_base + poids * 0.001
- avec tarif_base = 2€50 pour le format A4 et 3€50 pour le A3
- pour un colis : volume / 4 + poids * 0.001
- en mode d’expédition rapide, les montants ci-dessus sont doublés
- pour une Lettre : tarif_base + poids * 0.001
Questions
Exemple de résultat attendu
>>> l1 = Lettre("Bordeaux", 80, "normal", "A4")
>>> print(l1)
Lettre :
Adresse destination : Bordeaux80 grammes
Poids :
Mode : normal
Format : A42.58 €
Prix du timbre : >>> c1 = Colis("Rennes", 3500, "rapide", 2.25)
>>> print(c1)
Colis :
Adresse destination : Rennes 3500 grammes
Poids :
Mode : rapide 2.25 litres
Volume : 8.12 € Prix du timbre :
La correction est disponible ici