UML Conception

download UML Conception

of 270

  • date post

    16-Jul-2015
  • Category

    Documents

  • view

    4.477
  • download

    24

Embed Size (px)

Transcript of UML Conception

Informatique

Synthse de cours exercices corrigs

&

UML 2Pratique de la modlisation2e ditionLes principaux diagrammes dUML Une quarantaine dapplications corriges et une tude de cas complte Un comparatif des logiciels de modlisation

collection

Synthex

Benot CHARROUX Aomar OSMANI Yann THIERRY-MIEG

Informatique

Synthse de cours

&

exercices corrigs

UML 22e ditionBenot CharrouxEFREI (cole dingnieur)

Aomar Osmaniuniversit Paris XIII

Yann Thierry-Mieguniversit Paris VI

Synthex

collection

ISBN : 978-2-7440-4050-4 ISSN : 1768-7616 Copyright 2009 Pearson Education FranceTous droits rservs Composition sous FrameMaker : TyPAO Aucune reprsentation ou reproduction, mme partielle, autre que celles prvues larticle L. 122-5 2 et 3 a) du code de la proprit intellectuelle ne peut tre faite sans lautorisation expresse de Pearson Education France ou, le cas chant, sans le respect des modalits prvues larticle L. 122-10 dudit code.

SommaireLes auteurs Introduction V VII 1 35 85 127 155 187 233 237 238 240 241 247 252 253

Chapitre 1 Diagramme de cas dutilisation Chapitre 2 Diagramme de classes Chapitre 3 Diagramme dinteraction Chapitre 4 Diagramme dtats-transitions Chapitre 5 Diagramme dactivits Chapitre 6 UML en pratique Annexe A Comparatif des outils de modlisation Annexe B Classeurs structurs

Annexe C Composants Annexe D Diagramme de dploiement Annexe E Annexe F Implmentation dun modle objet en Java Organisation dUML 2

Annexe G BibliographieIndex

Sommaire III

Les auteursBenot Charroux est docteur en informatique. Aprs avoir men des travaux de recherche en traitement dimages, il se consacre maintenant exclusivement la formation. Ayant dirig le dpartement informatique de lESIGETEL, il gre prsent les enseignements de linformatique lEFREI (cole dIngnieurs des Technologies de lInformation et du Management). Il enseigne les technologies orientes objet (UML, Java, C++, EJB) dans de nombreux tablissements : coles dingnieurs, universits, et entreprises. Aomar Osmani est docteur en informatique et matre de confrences luniversit Paris XIII. Il mne des travaux de recherche en diagnostic de systmes dynamiques, en raisonnement temporel et en apprentissage articiel. Ces activits denseignement portent sur la plupart des domaines de linformatique (architecture des ordinateurs, rseaux, systmes, bases de donnes). Il a principalement enseign ces dernires annes les technologies orientes objet et le gnie logiciel, et a particip, linstitut universitaire de technologie de Paris XIII, la cration et la direction de groupes de licence professionnelle. Yann Thierry-Mieg est docteur en informatique et matre de confrences. Ses problmatiques de recherche sont centres sur la modlisation et la vrication formelle de systmes informatiques, plus particulirement rpartis, en vue de fournir des outils pour vrier de manire automatique le comportement dun systme partir de son modle. Il enseigne Paris VI ainsi qu lEFREI les systmes dinformation, les technologies orientes objet et les mthodologies de dveloppement.

Les auteurs V

IntroductionLapproche objet est incontournable dans le cadre du dveloppement de systmes logiciels complexes, capables de suivre les volutions incessantes des technologies et des besoins applicatifs. Cependant, la programmation objet est moins intuitive que la programmation fonctionnelle. En effet, il est plus naturel de dcomposer les problmes informatiques en termes de fonctions quen termes densembles dobjets en interaction. De ce fait, lapproche objet requiert de modliser avant de concevoir. La modlisation apporte une grande rigueur, offre une meilleure comprhension des logiciels, et facilite la comparaison des solutions de conception avant leur dveloppement. Cette dmarche se fonde sur des langages de modlisation, qui permettent de saffranchir des contraintes des langages dimplmentation. Le besoin dune mthode de description et de dveloppement de systmes, prenant en compte la fois les donnes et les traitements, a grandi en mme temps que la taille des applications objet. Au milieu des annes 90, plusieurs dizaines de mthodes objet sont disponibles, mais aucune ne prdomine. Lunication et la normalisation des trois mthodes dominantes, savoir Booch, du nom de son auteur, OOSE (Object Oriented Software Engineering), dIvan Jacobson et OMT (Object Modeling Technique), de James Rumbaugh, sont lorigine de la cration du langage UML (Unied Modeling Language). UML est une notation graphique conue pour reprsenter, spcier, construire et documenter les systmes logiciels. Ses deux principaux objectifs sont la modlisation de systmes utilisant les techniques orientes objet, depuis la conception jusqu la maintenance, et la cration dun langage abstrait comprhensible par lhomme et interprtable par les machines. UML sadresse toutes les personnes charges de la production, du dploiement et du suivi de logiciels (analystes, dveloppeurs, chefs de projets, architectes), mais peut galement servir la communication avec les clients et les utilisateurs du logiciel. Il sadapte tous les domaines dapplication et tous les supports. Il permet de construire plusieurs modles dun systme, chacun mettant en valeur des aspects diffrents : fonctionnels, statiques, dynamiques et organisationnels. UML est devenu un langage incontournable dans les projets de dveloppement. Une mthode de dveloppement dnit la fois un langage de modlisation et la marche suivre lors de la conception. Le langage UML propose uniquement une notation dont linterprtation est dnie par un standard, mais pas une mthodologie complte. Plusieurs processus de dveloppement complets fonds sur UML existent, comme le Rational Unied Process (RUP), de Booch, Jacobson et Rumbaugh, ou lapproche MDA (Model Driven Architecture) propose par lOMG, mais ils ne font pas partie du standard UML.

Introduction VII

Le processus RUP propose de bien matriser les tapes successives de la modlisation et du dveloppement par une approche itrative. Lapproche MDA propose une architecture du dveloppement en deux couches : le PIM (Platform Indepent Model) reprsente une vision abstraite du systme, indpendante de limplmentation ; le PSM (Platform Specic Model) reprsente les programmes excutables, qui doivent tre obtenus en partie automatiquement partir du PIM ; cela sajoute le PDM (Platform Denition Model), en loccurrence une description de larchitecture physique voulue (langages de programmation, architecture matrielle). UML intgre de nombreux concepts permettant la gnration de programmes. Cest un langage de modlisation fond sur des vnements ou des messages. Il ne convient pas pour la modlisation de processus continus, comme la plupart des procds en physique. Ce nest pas un langage formel, ni un langage de programmation. Il ne peut pas tre utilis pour valider un systme, ni pour gnrer un programme excutable complet. Mais, il permet de produire des parties de code, comme le squelette des classes (attributs et signatures de mthode). Mme si la version 2 apporte des avances signicatives au niveau du formalisme, UML na pas encore atteint la rigueur syntaxique et smantique des langages de programmation. UML est le rsultat dun large consensus, continuellement enrichi par les avances en matire de modlisation de systmes et de dveloppement de logiciels. Cest le rsultat dun travail dexperts reconnus, issus du terrain. Il couvre toutes les phases du cycle de vie de dveloppement dun systme et se veut indpendant des langages dimplmentation et des domaines dapplication.

Historique du langage UML la n des annes 80, lindustrie commence utiliser massivement les langages de programmation orients objet, tels que C++, Objective C, Eiffel et Smalltalk. De lindustrialisation de ce type de programmation est n le besoin de penser objet , indpendamment du langage dimplmentation. Plusieurs quipes proposent alors des mthodes (OMT, OOSE, Booch, Coad, Odell, CASE) qui, pour la plupart, modlisent les mmes concepts fondamentaux dans diffrents langages, avec une terminologie, des notations et des dnitions diffrentes. Les diffrents protagonistes conviennent rapidement du besoin dunier ces langages en un standard unique. Lors de la confrence OOPSLA doctobre 1995, Booch et Rumbaugh prsentent la version 0.8 de leur mthode unie (Unied Method 0.8). Ils sont rejoints la mme anne par Jacobson. Les trois auteurs amliorent la mthode unie et proposent en 1996 la version 0.9 du langage UML. Rational Software, qui emploie dsormais le trio, publie en 1997 la documentation de la version 1.0 dUML et la propose lOMG en vue dune standardisation. Des modications sont apportes la version propose par Rational, puis lOMG propose, la mme anne, la version UML 1.1, qui devient un standard. LOMG constitue ensuite un groupe de rvision nomm RTF (Revision Task Force). Entretemps, de trs nombreux utilisateurs industriels adoptent UML et apportent quelques modications, ce qui conduit la proposition de la version 1.2 en 1999. La premire rvision signicative du langage est la version 1.3, propose en 1999, dont la spcication complte est publie en mars 2000. En mars 2003, la version 1.5 voit le jour. Concrtement, UML 1 est utilis lors de la phase danalyse et de conception prliminaire des systmes. Il sert spcier les fonctionnalits attendues du systme (diagrammes de cas dutilisation et de squence) et dcrire larchitecture (diagramme de classes). La description de la partie comportementale (diagrammes dactivits et dtats) est moins utilise. Cela est d essentiellement linsufsance de la formalisation de la conception dtaille dans UML 1. La plupart du temps, en matire de spcication des algorithmes et des mthodes de traitement, le seul moyen est de donner une description textuelle informelle.

VIII

UML 2

Certes, des outils comme les automates et les di