Thématiques principales

jeudi 7 décembre 2017

UML (Unified Modeling Language) : Introduction

UML (Unified Modeling Language) est un langage de modélisation graphique destiné à visualiser, analyser, spécifier, construire des logiciels orientés objets [OMG10a, OMG10b]. UML est aujourd’hui considéré comme un standard autant dans le milieu industriel qu’académique. Il propose un ensemble de diagrammes afin de couvrir l’ensemble des besoins de modélisation potentiellement nécessaires à la conception des logiciels, ce qui le rend relativement complet et générique. Ainsi, au travers des 14 types de diagrammes (figure 2.4), UML permet de modéliser les aspects statiques et dynamiques des systèmes complexes et de couvrir la plupart des phases du développement logiciel (analyse, conception, implantation, déploiement, etc.).





  • Les diagrammes des classes : permettent de visualiser l’agencement des concepts d’un système en représentant les classes, leurs rôles, leurs caractéristiques, les services qu’elles proposent, leurs relations (association, composition, etc.) et enfin leur organisation au sein de l’architecture du système logiciel. Ils permettant aussi de représenter des méta-modèles.
  • Les diagrammes de communication : décrivent des configurations types en termes d’objets collaborant. Pour cela, ils permettent de représenter d’une part la configuration d’un ensemble d’objets et d’autre part les relations dynamiques entre ces objets.
  • Les diagrammes d’états transitions : capturent le comportement des objets sous la forme d’un graphe d’états reliés par des transitions. Le franchissement des transitions se réalise à la suite de la réception d’un signal (appel de méthode, exception, etc.).
  • Les diagrammes de cas d’utilisations : permettent pour leur part d’identifier les fonctionnalités d’un système et les conditions nécessaires à leur bon fonctionnement.


Ils font apparaître les éléments fonctionnels, les acteurs et les objets en interaction. UML s’est rapidement imposé pour la conception des systèmes logiciels, pourtant ce langage comporte un certain nombre de lacunes. En effet, il est souvent reproché aux diagrammes UML de posséder une sémantique ambiguë et/ou incomplète. Dans l’évolution qu’a connu UML, cet aspect du langage est devenu un concept : le point de variation. Ainsi, ce coté semi-formel permet au concepteur d’utiliser un langage offrant plus de flexibilité afin d’être étendu vers des contextes de modélisation plus spécifiques.

UML peut être étendu par de nouveaux concepts (à l’aide de stéréotypes ou de contraintes OCL). Une extension de la notation à un domaine spécifique est appelée aussi profil. Par exemple le profil TURTLE [AD05] et le profil ACCORD/UML [GMT04] proposent des extensions des diagrammes UML dédiés à la modélisation des systèmes temps-réels.

Voila un petit aperçu d'UML dans ses grandes lignes sans forcement rentrer dans les détails des diagrammes, nous y reviendrons.

Références:

[AD05] L. Apvrille and P. De Saqui-Sannes. Turtle : a uml-based environment for the codesign of embedded systems. In Proceedings of the 8th Sophia-Antipolis MicroElectronics Forum (SAME 2005), October 2005.
[GMT04] S. Gérard, C. Mraidha, F. Terrier, and B. Baudry. A UML-based concept for high concurrency : The real-time object. Object-Oriented Real-Time Distributed Computing, IEEE International Symposium on, 0 :64–67, 2004.
[OMG10a] OMG. OMG Unified Modeling LanguageTM (OMG UML), Infrastructure Version 2.3, http ://www.omg.org/spec/UML/2.3/ , Mai 2010.
[OMG10b] OMG. OMG Unified Modeling LanguageTM (OMG UML), Superstructure Version 2.3, http ://www.omg.org/spec/UML/2.3/ , Mai 2010.

Aucun commentaire:

Enregistrer un commentaire