Présentation
EnglishRÉSUMÉ
Le langage UML (pour Unified Modeling Language) est un langage graphique de modélisation des systèmes logiciels. Cet article décrit les neuf types de diagrammes UML et présente la syntaxe du langage UML pour chacun de ces diagrammes. Pour chaque diagramme, des exemples simples permettent de définir un champ d'application dans le processus de développement de logiciel.
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleAuteur(s)
-
Patrick GIROUX : Ingénieur consultant, EADS Defence and Security Systems - Maître de conférence associé, université de Rouen
INTRODUCTION
Le langage UML (Unified Modeling Language) est un langage graphique de modélisation initialement conçu pour représenter, spécifier, concevoir et documenter les artefacts de systèmes logiciels. Adopté par l’Object Management Group (OMG) en tant que standard, il est devenu une référence incontournable dans le domaine du génie logiciel. Sa richesse et sa puissance d’expression le rendent également éligible pour la modélisation de concepts et de processus « métier » (« business modeling ») et pour l’ingénierie de systèmes non logiciels. UML résulte de l’unification de techniques ayant fait leurs preuves pour l’analyse et la conception de grands logiciels et de systèmes complexes.
UML intègre neuf types de diagrammes destinés à la caractérisation du système modélisé et à la représentation des éléments qui le constituent :
-
les diagrammes de cas d’utilisation permettent de décrire les fonctionnalités du système et de représenter les différents types de sollicitations auxquelles il doit pouvoir répondre ;
-
les diagrammes de classes sont destinés à décrire les propriétés structurelles des objets du monde réel, les concepts spécifiques du domaine considéré ou encore les notions abstraites que le système doit appréhender. Ce sont les diagrammes le plus fréquemment utilisés en modélisation orientée objet. En phase de conception du logiciel, ils sont exploités pour décrire l’architecture statique du système et les interdépendances entres ses constituants ;
-
les diagrammes d’objets offrent un moyen de représenter les objets (c’est‐à‐dire les instances des classes figurant dans les diagrammes de classes) ainsi que leurs relations ;
-
les diagrammes de collaboration permettent de formaliser les scénarios de mise en œuvre du système et de montrer comment les objets sont mis en jeu pour réaliser les cas d’utilisation. Ils décrivent les interactions entre les objets ;
-
les diagrammes de séquence, comme les diagrammes de collaboration, décrivent les interactions entre objets. Ils mettent l'accent sur l'ordre chronologique dans lequel s'effectuent les échanges de messages entre objets ;
-
les diagrammes d’états (ou diagrammes états-transitions) apportent le complément nécessaire à la formalisation des aspects dynamiques : ils répondent au besoin de modéliser les processus d’exécution et les comportements des objets en réaction aux stimuli auxquels ils sont soumis ;
-
les diagrammes d’activités sont également dédiés à la représentation de l’exécution d’un processus : ils constituent une variante des diagrammes d’états ;
-
les diagrammes de composants sont destinés à la description des éléments de configuration qui constituent le logiciel (binaires exécutables, bibliothèques, unités de compilation, etc.) et à la formalisation de leurs dépendances ;
-
les diagrammes de déploiement permettent, enfin, de représenter l’implantation des différents programmes et composants logiciels sur l’architecture physique du système.
À travers quelques exemples simples, le présent article décrit la syntaxe du langage UML pour chacun de ces diagrammes et tente de délimiter leurs champs d’application dans un processus de développement de logiciel.
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
10. Extensibilité et ouverture
Les pages qui précèdent ne décrivent que quelques-uns des concepts figurant dans le métamodèle UML et l’article s’attache avant tout à introduire les notions fondamentales du langage en présentant le formalisme graphique sur lequel il repose et en illustrant celui-ci par quelques exemples simples des différents types de diagrammes existants. Notre propos n’est pas ici de retranscrire intégralement la norme publiée à ce jour, celle-ci étant beaucoup trop riche pour être résumée en quelques dizaines de pages. UML unifie et englobe différentes techniques de modélisation qui ont fait leurs preuves dans le domaine informatique et qui permettent de représenter, de façon claire et précise, la plupart des artefacts du développement de logiciel. Cependant, malgré la puissance du langage, la capacité d’expression d’UML reste bien sûr limitée et la notation n’est pas toujours adaptée à la formalisation précise et non ambiguë de phénomènes particuliers. Aussi les concepteurs d’UML ont-ils prévu des mécanismes permettant d’étendre le langage pour en augmenter la portée ou pour traiter des aspects spécifiques d’un domaine donné.
Pour ce faire, UML introduit la notion de stéréotype qui permet d’adjoindre au modèle de base des concepts complémentaires pouvant présenter un intérêt dans un contexte particulier. Un stéréotype peut être considéré comme une extension du langage : il élargit le vocabulaire pour traduire une réalité ou un concept nouveau. Il ajoute un nouvel élément de modélisation dans le métamodèle UML en dérivant l’un des éléments standards. Le symbole utilisé pour représenter ce nouvel élément peut être créé de toutes pièces et intégré à la notation UML mais la norme permet d’utiliser, plus simplement, le symbole de l’élément dérivé en le désignant par un marqueur encadré par des guillemets (par exemple << mon stereotype >>).
La figure 20 montre les différentes représentations possibles d'un stéréotype de classe dédié à la modélisation d'une fenêtre d'interface homme-machine.
Ce mécanisme va donc permettre de compléter le métamodèle UML en fonction du besoin engendré par les spécificités du sujet abordé ou...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Extensibilité et ouverture
BIBLIOGRAPHIE
-
(1) - RUMBAUGH (J.), BLAHA (M.), PREMERLANI (W.), EDDY (F.), LORENSEN (W.) - Object-oriented Modeling Design. - Prentice Hall (1991).
-
(2) - BOOCH (G.) - Object Oriented Design with Application. - Benjamin Cummings (1991).
-
(3) - DESFRAY (P.) - Ingénierie des objets. Ap- proche classe-relation. - Masson (1992).
-
(4) - BOOCH (G.), RUMBAUGH (J.), JACOBSON (I.) - Le Guide de l’utilisateur UML. - Eyrolles (2000).
-
(5) - RUMBAUGH (J.), JACOBSON (I.), BOOCH (G.) - UML Reference Manual. - Addison-Wesley (1998).
-
(6) - ROQUES (P.), VALLÉE (F.) - UML en action. - Ey- rolles (2003).
-
(7)...
NORMES
-
Contrôle‐commande des processus de fabrication par lots (batch) – Partie 2 : structures de données et règles générales relatives aux langages - NF EN 61512‐2 - 01‐2003
ANNEXES
Object Management Group (OMG) http://www.omg.org
UML version 1.5 http://www.omg.org/technology/documents/formal/uml.htm
UML en français http://uml.free.fr
Technologies orientées objets
Outils http://www.rational.com http://www.objecteering.com http://www.borland.com/together http://www.objectsbydesign.com/tools/umltools_byProduct.html
HAUT DE PAGECet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive