Modélisation objet avec UML Pierre-Alain Muller Nathalie Gaertner Deuxième édition 2000 Cinquième tirage 2004 Groupe Eyrolles, 2004 ISBN : 2-212-11397-8
Introduction Que signifie exactement UML? Quels sont les objectifs de ce livre? À qui s adresse cet ouvrage? Ce chapitre répond à ces questions et donne également des instructions de lecture pour guider le lecteur. UML, vous avez dit UML? UML est la forme contractée de «Unified Modeling Language», qui peut se traduire en français par langage unifié pour la modélisation. En général, le nom complet est peu utilisé ; l abréviation UML lui est préférée. UML représente l état de l art des langages de modélisation objet. Il fournit les fondements pour spécifier, construire, visualiser et décrire les artefacts d un système logiciel. Pour cela, UML se base sur une sémantique précise et sur une notation graphique expressive. Il définit des concepts de base et offre également des mécanismes d extension de ces concepts. UML est un langage de modélisation objet. En tant que tel, il facilite l expression et la communication de modèles en fournissant un ensemble de symboles (la notation) et de règles qui régissent l assemblage de ces symboles (la syntaxe et la sémantique). UML permet de modéliser de manière claire et précise la structure et le comportement d un système indépendamment de toute méthode ou de tout langage de programmation. Les créateurs d UML insistent tout particulièrement sur le fait qu UML est un langage de modélisation et non une méthode.
2 0RGpOLVDWLRQREMHWDYHF80/ Les commentaires recueillis lors de l élaboration d UML ont clairement montré que les utilisateurs attendaient une formalisation des artefacts du développement, plutôt que du processus d élaboration de ces artefacts. En conséquence, UML a été conçu pour servir de langage de modélisation, indépendamment de la méthode mise en œuvre. UML peut ainsi se substituer, sans perte d information, aux notations des méthodes de Booch, OMT ou encore OOSE (Object Oriented Software Engineering également appelée Objectory). UML se place comme le successeur naturel des notations définies dans le cadre de ces méthodes ; il s est d ailleurs rapidement imposé, à la fois auprès des utilisateurs et sur le terrain de la normalisation. UML n est pas un langage propriétaire : il est accessible à tous et les fabricants d outils ainsi que les entreprises de formation peuvent librement en faire usage. La volonté d ouverture, la richesse de la notation et la définition sémantique précise des éléments de modélisation font d UML un langage de modélisation général et simple, sans être simpliste pour autant. Objectifs de ce livre Ce livre traite de modélisation objet. Il décrit la mise en œuvre du langage UML, développé en réponse à l appel à propositions lancé par l OMG (Object Management Group), dans le but de définir la notation standard pour la modélisation des applications construites à l aide d objets. Ce livre présente à la fois les concepts de base d UML, une démarche organisée autour d UML pour l encadrement de projets objet, et la mise en œuvre de ces concepts et de cette démarche avec des exemples d applications. Cet ouvrage sert aussi bien de manuel de référence d UML, de guide de la notation que d illustration de sa mise en œuvre. À qui s adresse ce livre? Ce livre s'adresse à tous ceux qui désirent comprendre et mettre en œuvre l'approche objet, et plus particulièrement aux professionnels de l'informatique amenés à opérer une transition vers UML. La lecture de l'ouvrage ne demande pas de connaissances préalables en technologie objet, mais suppose des connaissances informatiques de base. Le livre peut servir d'accompagnement à un cours de second cycle ou d'année de spécialisation d'école d'ingénieur.
,QWURGXFWLRQ 3 Le contenu de ce livre, le cheminement proposé et le niveau d abstraction retenu dans la présentation d UML sont le fruit d une pratique des méthodes objet dans des projets réels. Si la rédaction insiste tout particulièrement sur la modélisation objet, c est-à-dire sur l analyse et la définition des besoins de l utilisateur, ce n est pas parce que la conception ou la programmation sont des tâches moins nobles, mais tout simplement, parce que les informaticiens ont beaucoup plus de mal à trouver ce qu il faut faire, qu à trouver comment le faire. ƒ Les architectes du logiciel, après avoir étudié la notation UML dans le troisième chapitre, se concentreront tout particulièrement sur le quatrième chapitre qui traite d architecture objet et présente le modèle des 4 + 1 vues. ƒ Les chefs de projet trouveront également dans le quatrième chapitre les informations nécessaires pour la mise en place d'un processus de développement piloté par les cas d'utilisation (use cases), centré sur l'architecture, itératif et incrémental. Il leur sera aussi profitable de parcourir les premiers chapitres, afin de lire et comprendre les modèles. Il est probablement utile de dire aussi que ce livre n'est : ƒ ni un traité de programmation objet (il ne décrit aucun langage de programmation en détail) ; ƒ ni une apologie d UML. Il s agit plutôt d un ouvrage de modélisation objet, qui décrit la mise en œuvre d UML. Conventions de notation Les conventions de notation utilisées tout au long de cet ouvrage sont les suivantes : ƒ Les références et traductions sont indiquées en italique. ƒ Les éléments de modélisation propres à un exemple figurent dans la fonte Courier et en gras, lorsqu ils sont cités en dehors des figures et des tableaux. ƒ Les extraits de code et autres instructions de programmation sont notés dans la fonte Courier et bordés d un filet gris placé à leur gauche : // extrait de code // sur deux lignes ƒ Les expressions qui présentent une grammaire sont présentées ainsi : fonte ::= Courier
4 0RGpOLVDWLRQREMHWDYHF80/ La syntaxe de ces expressions utilise une notation proche de BNF (Backus-Naur Form) : ::= sépare les éléments à gauche et à droite d une production (traduit par «peut avoir la forme de»). " " précise que le ou les caractères entre doubles cotes n ont pas à être interprétés par la grammaire (par exemple "["). [ ] indique que les éléments entre crochets sont optionnels. correspond au connecteur logique ou exclusif. { } précise que les éléments entre accolades peuvent apparaître zéro ou plusieurs fois. ( ) modifie les priorités. Traduction Dans cet ouvrage, les noms des éléments de modélisation UML ont été traduits en français dans le but de simplifier la lecture. Dans la mesure du possible, les termes français retenus sont très proches des termes anglais originaux. Les traductions utilisées sont résumées dans l annexe A9.