Après plus de 10 ans d’existence, où en est UML ? D’un côté, les tenants des méthodes agiles en vogue actuellement, telles que XP (eXtreme Programming) et Scrum, ne parlent quasiment pas de modélisation, ou semblent même s’en méfier. De l’autre, certaines entreprises ont engagé d’énormes investissements sur une approche dirigée par les modèles (Model-Driven Engineering) et prétendent générer presque 100 % de leur code applicatif automatiquement. Qu’en est-il vraiment ? Ces deux approches d’utilisation d’UML sont-elles vraiment inconciliables ?
Le recours à la modélisation est depuis longtemps une bonne pratique du développement logiciel. Un modèle constitue en effet une représentation abstraite d’un système destiné à en faciliter l’étude et à le documenter. C’est un outil majeur de communication entre les différents intervenants au sein d’un projet. Le fait de tracer ou de lire des diagrammes implique de travailler plus visuellement et d’exploiter le pouvoir que possède notre cerveau de saisir rapidement des symboles et des relations exprimées (majoritairement sous la forme de cases et de lignes) dans un espace bidimensionnel. Chaque membre de l’équipe, des utilisateurs jusqu’aux développeurs, utilise et enrichit le modèle différemment. En outre, les systèmes devenant de plus en plus complexes, leur compréhension et leur maîtrise globale dépassent les capacités d’un seul individu. La construction d’un modèle apporte donc une réponse efficace.
Le modèle sert des objectifs différents suivant l’activité de développement, et sera construit progressivement avec des points de vue de plus en plus détaillés. En spécification des exigences, il convient de considérer le système comme un tout (une boîte noire) afin d’étudier sa place dans le système métier plus global qu’est l’entreprise. On développe pour cela un modèle de niveau contexte, afin de tracer précisément les frontières fonctionnelles du futur système. Lors de la phase d’analyse, le modèle commence à représenter le système vu de l’intérieur, mais sans référence à une solution technologique. Il se compose d’objets représentant une abstraction des concepts manipulés par les utilisateurs. Le modèle comprend par ailleurs deux points de vue, la structure statique et le comportement dynamique, qui aident à compléter la compréhension du système à développer. En phase de conception, le modèle décrit la solution informatique qui sera utilisée, en intégrant les choix des langages, des outils, et des plates-formes de développement. Un modèle suffisamment détaillé peut ici servir à générer automatiquement du code dans un langage de programmation objet, avec un outil approprié. Pour le déploiement enfin, le modèle permet de représenter les matériels et les logiciels à interconnecter.
Le modèle en tant qu’abstraction d’un système s’accorde parfaitement avec les concepts orientés objet. Un objet peut en effet représenter l’abstraction d’une entité métier utilisée en analyse, puis d’un composant de solution logicielle en conception. La correspondance est encore plus flagrante lorsque les langages de développement sont eux-mêmes orientés objet. D’où le succès de la modélisation objet ces dernières années pour les projets de plus en plus nombreux utilisant C++, Java, C#, Python, etc.
Aujourd’hui, le standard industriel de modélisation objet est UML (Unified Modeling Language). Il est sous l’entière responsabilité de l’OMG (Object Management Group), un groupement d’industriels dont l’objectif est de standardiser autour des technologies objet, afin de garantir l’interopérabilité des développements. L’OMG comprend actuellement plus de 800 membres, dont les principaux acteurs de l’industrie informatique, mais aussi les plus grandes entreprises utilisatrices dans tous les secteurs d’activité (www.omg.org).
UML se définit comme un langage de modélisation graphique et textuelle destiné à comprendre et décrire des besoins, spécifier et documenter des systèmes, esquisser des architectures logicielles, concevoir des solutions et communiquer des points de vue. UML unifie à la fois les notations et les concepts orientés objet. Il ne s’agit pas d’une simple notation graphique, car les concepts transmis par un diagramme ont une sémantique précise et sont porteurs de sens au même titre que les mots d’un langage. UML 2 (officiellement adopté depuis mars 2005 par l’OMG) s’articule autour de 13 diagrammes différents, répartis en deux grands groupes :
• Six diagrammes structurels :
• Sept diagrammes comportementaux :
Partager |
|
|
Pascal Roques, Consultant senior, A2 - Artal Innovations
![]() Pascal Roques est consultant senior chez A2, avec plus de vingt ans d’expérience dans la modélisation des systèmes complexes (SADT, OMT, UML, SysML). Il est l’auteur des livres UML 2 en action (2007), UML 2 par la pratique (2008), Cahier du programmeur UML 2 (2008) et Mémento UML (2005) chez Eyrolles. Pascal Roques a obtenu la certification « OMG-Certified UML Advanced Professional » proposée par l’OMG. Il est également ScrumMaster certifié. |



