UML 2-MeilleurCours UML

download UML 2-MeilleurCours UML

of 156

Transcript of UML 2-MeilleurCours UML

  • 8/3/2019 UML 2-MeilleurCours UML

    1/156

    UML 2.0

    Laurent AUDIBERT

    Institut Universitaire de Technologie de Villetaneuse Dpartement InformatiqueAvenue Jean-Baptiste Clment

    93430 VilletaneuseAdresse lectronique : laurent[dot]audibert[at]iutv[dot]univ-paris13[dot]frAdresse du document : http://www-lipn.univ-

    paris13.fr/ audibert/pages/enseignement/cours.htm

    Avant-proposLes techniques de programmation n'ont cess de progresser depuis l'poque de laprogrammation en langage binaire (cartes perfores, switch) nos jours. Cette volutiona toujours t dicte par le besoin de concevoir et de maintenir des applications toujours

    plus complexes.

  • 8/3/2019 UML 2-MeilleurCours UML

    2/156

    La programmation par cartes perfores, switch ou cablage (de 1800 1940)a ainsi fait place des techniques plus volues, comme l'assembleur (1947),avec l'arrive de l'ordinateur lectronique n des besoins de la guerre. Deslangages plus volus ont ensuite vu le jour comme Fortran en 1956 ou

    Cobol en 1959. Jusque l, les techniques de programmation taient basessur le branchement conditionnel et inconditionnel (goto) rendant lesprogrammes importants extrmement difficiles developper, matriser et maintenir.

    La programmation structure (Pascal en 1970, C en 1972, Modula et Adaen 1979, ...) a alors vu le jour et permis de developper et de maintenir desapplications toujours plus ambitieuses. L'algorithmique ne se suffisant plus elle seule la fin des annes 1970, le gnie logiciel est venu placer lamthodologie au coeur du dveloppement logiciel. Des mthodes commeMerise (1978) se sont alors imposes.

    La taille des applications ne cessant de crotre, la programmationstructure a galement rencontr ses limites, faisant alors place laprogrammation oriente objet (Simula 67 en 1967, Smalltalk en 1976, C++en 1982, Java en 1995, ...). La technologie objet est donc la consquenceultime de la modularisation dicte par la matrise de la conception et de lamaintenance d'applications toujours plus complexes. Cette nouvelletechnique de programmation a ncessit la conception de nouvelles

    mthodes de modlisation.

    UML (Unified Modeling Language en anglais, soit langage de modlisationobjet unifi) est n de la fusion des trois mthodes qui s'imposaient dans ledomaine de la modlisation objet au milieu des annes 1990 : OMT, Boochet OOSE. D'important acteurs industriels (IBM, Microsoft, Oracle, DEC,HP, Rational, Unisys etc.) s'associent alors l'effort et proposent UML 1.0 l'OMG (Object Management Group) qui l'accepte en novembre 1997 danssa version 1.1. La version d'UML en cours la fin 2006 est UML 2.0 qui

    s'impose plus que jamais en tant que langage de modlisation standardispour la modlisation des logiciels.

    Ce document constitue le support du cours d'UML 2.0 dispens aux tudiants du dpartementd'informatique de l'institut universitaire de technologie (IUT) de Villetaneuse en semestredcal.

    Ce support a t ralis en utilisant les ouvrages cits en bibliographie. Il est en partie bas surle livre de [6] qui constitue une bonne introduction au langage UML. Aomar Osmani est l'origine du cours d'UML dans notre IUT.

    [22], [3][21] et [13] ont galement t largement utiliss. [22] est un ouvrage de rfrenceassez complet et contient un dictionnaire dtaill de la terminologie UML 2.0. [13] est cours

    http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#ChOsTh2005http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#ChOsTh2005http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#ChOsTh2005http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#RuJaBo2004http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#RuJaBo2004http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#RuJaBo2004http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Barbier2005http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Barbier2005http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Barbier2005http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#RoVa2003http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#RoVa2003http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#RoVa2003http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#MG2000http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#MG2000http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#MG2000http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#RuJaBo2004http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#RuJaBo2004http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#RuJaBo2004http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#MG2000http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#MG2000http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#MG2000http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#MG2000http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#RuJaBo2004http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#MG2000http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#RoVa2003http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Barbier2005http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#RuJaBo2004http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#ChOsTh2005
  • 8/3/2019 UML 2-MeilleurCours UML

    3/156

    d'UML 2.0 bien expliqu et plus complet et dtaill que [6] mais, en contrepartie, moinsaccessible. [3] constitue une approche pratique et critique d'UML trs intressante. Enfin, [21]nous montre une mise en pratique de la version 1.4 d'UML dtaille au travers d'un projetrel. Pascal Roques est probablement l'un des auteurs les plus prolifique [18,21,19,20] etcomptant concernant la mise en oeuvre d'UML.

    Agrable lire, [23] s'intresse la place de l'informatique dans notre socit et plusparticulirement dans l'entreprise.

    Enfin, diverses sources trouves sur Internet, inpuisable source d'information en perptuelrenouvellement, m'ont galement t d'un grand secours. Parmi ces dernires, certaines sontincontournables, comme le cours de [17] ou encore le site [8].

    Table des matires Chapitre 1 Introduction la modlisation objet

    o 1.1 Le gnie logiciel 1.1.1 L'informatisation 1.1.2 Les logiciels 1.1.3 Le gnie logiciel 1.1.4 Notion de qualit pour un logiciel

    o 1.2 Pourquoi et comment modliser ? 1.2.1 Notions de modle et de modlisation 1.2.2 Le cycle de vie d'un logiciel 1.2.3 Modles de cycles de vie d'un logiciel 1.2.4 Mthodes d'analyse et de conception

    o 1.3 De la programmation structure l'approche oriente objet 1.3.1 Mthodes fonctionnelles ou structures 1.3.2 L'approche oriente objet 1.3.3 Approche fonctionnelle vs. approche objet 1.3.4 Concepts importants de l'approche objet 1.3.5 Historique la programmation par objets

    o 1.4 UML 1.4.1 Introduction

    1.4.2 Histoire des modlisations par objets 1.4.3 UML en uvre 1.4.4 Comment prsenter un modle UML ?

    Chapitre 2 Diagramme de cas d'utilisationo 2.1 Introductiono 2.2 lments des diagrammes de cas d'utilisation

    2.2.1 Acteur 2.2.2 Cas d'utilisation 2.2.3 Reprsentation d'un diagramme de cas d'utilisation

    o 2.3 Relations dans les diagrammes de cas d'utilisation 2.3.1 Relations entre acteurs et cas d'utilisation 2.3.2 Relations entre cas d'utilisation 2.3.3 Relations entre acteurs

    http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#ChOsTh2005http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#ChOsTh2005http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#ChOsTh2005http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Barbier2005http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Barbier2005http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Barbier2005http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#RoVa2003http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#RoVa2003http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#RoVa2003http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Roques2002http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Roques2002http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Roques2002http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#RoVa2003http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#RoVa2003http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#RoVa2003http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Roques2006http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Roques2006http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Roques2006http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Roques2006bhttp://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Roques2006bhttp://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Roques2006bhttp://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Volle2006http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Volle2006http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Volle2006http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Piechockihttp://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Piechockihttp://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Piechockihttp://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Developpezhttp://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Developpezhttp://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Developpezhttp://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc1http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc1http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc2http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc2http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc3http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc3http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc4http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc4http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc5http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc5http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc6http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc6http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc7http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc7http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc8http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc8http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc9http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc9http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc10http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc10http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc11http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc11http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc12http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc12http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc13http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc13http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc14http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc14http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc15http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc15http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc16http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc16http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc17http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc17http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc18http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc18http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc19http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc19http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc20http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc20http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc21http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc21http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc22http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc22http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc23http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc23http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc24http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc24http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc25http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc25http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc26http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc26http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc27http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc27http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc28http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc28http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc29http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc29http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc30http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc30http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc31http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc31http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc32http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc32http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc32http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc31http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc30http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc29http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc28http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc27http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc26http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc25http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc24http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc23http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc22http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc21http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc20http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc19http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc18http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc17http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc16http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc15http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc14http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc13http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc12http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc11http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc10http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc9http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc8http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc7http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc6http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc5http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc4http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc3http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc2http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc1http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Developpezhttp://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Piechockihttp://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Volle2006http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Roques2006bhttp://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Roques2006http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#RoVa2003http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Roques2002http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#RoVa2003http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#Barbier2005http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#ChOsTh2005
  • 8/3/2019 UML 2-MeilleurCours UML

    4/156

    o 2.4 Notions gnrales du langage UML 2.4.1 Note 2.4.2 Strotype 2.4.3 Classeur 2.4.4 Paquetage 2.4.5 Espace de noms

    o 2.5 Modlisation des besoins avec UML 2.5.1 Comment identifier les acteurs ? 2.5.2 Comment recenser les cas d'utilisation ? 2.5.3 Description textuelle des cas d'utilisation 2.5.4 Description avec des diagrammes dynamiques simples 2.5.5 Remarques 2.5.6 Les Use case Realization

    Chapitre 3 Diagramme de classeso 3.1 Introductiono 3.2 Les classes

    3.2.1 Notions de classe et d'instance de classe 3.2.2 Notions de proprits 3.2.3 Reprsentation graphique 3.2.4 Encapsulation, visibilit, interface 3.2.5 Nom d'une classe 3.2.6 Les attributs 3.2.7 Les mthodes 3.2.8 Classe active

    o 3.3 Relations entre classes 3.3.1 Gnralisation et Hritage 3.3.2 Association 3.3.3 Multiplicit ou cardinalit 3.3.4 Navigabilit 3.3.5 Qualification 3.3.6 Classe-association 3.3.7 Agrgation 3.3.8 Composition 3.3.9 Dpendance

    o 3.4 Interfaceso 3.5 laboration d'un diagramme de classeso 3.6 Diagramme d'objets

    3.6.1 Prsentation 3.6.2 Reprsentation

    3.6.3 Relation de dpendance d'instanciation Chapitre 4 Object constraint langage (OCL)

    o 4.1 Expression des contraintes en UML 4.1.1 Introduction 4.1.2 criture des contraintes 4.1.3 Reprsentation des contraintes et contraintes prdfinies

    o 4.2 Intrt d'OCL 4.2.1 OCL Introduction 4.2.2 Illustration par l'exemple

    o 4.3 Typologie des contraintes OCL 4.3.1 Diagramme support des exemples illustratifs

    http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc33http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc33http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc34http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc34http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc35http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc35http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc36http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc36http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc37http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc37http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc38http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc38http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc39http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc39http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc40http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc40http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc41http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc41http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc42http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc42http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc43http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc43http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc44http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc44http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc45http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc45http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc45http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc46http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc46http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc47http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc47http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc48http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc48http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc49http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc49http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc50http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc50http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc51http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc51http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc52http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc52http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc53http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc53http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc54http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc54http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc55http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc55http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc56http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc56http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc57http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc57http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc58http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc58http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc59http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc59http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc60http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc60http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc61http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc61http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc62http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc62http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc63http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc63http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc64http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc64http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc65http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc65http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc66http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc66http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc67http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc67http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc68http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc68http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc69http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc69http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc70http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc70http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc71http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc71http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc72http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc72http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc73http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc73http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc73http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc73http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc74http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc74http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc75http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc75http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc76http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc76http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc77http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc77http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc78http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc78http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc79http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc79http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc80http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc80http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc81http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc81http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc82http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc82http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc82http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc81http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc80http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc79http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc78http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc77http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc76http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc75http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc74http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc73http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc72http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc71http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc70http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc69http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc68http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc67http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc66http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc65http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc64http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc63http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc62http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc61http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc60http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc59http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc58http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc57http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc56http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc55http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc54http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc53http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc52http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc51http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc50http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc49http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc48http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc47http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc46http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc45http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc44http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc43http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc42http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc41http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc40http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc39http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc38http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc37http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc36http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc35http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc34http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc33
  • 8/3/2019 UML 2-MeilleurCours UML

    5/156

    4.3.2 Contexte 4.3.3 Invariants (inv) 4.3.4 Prconditions et postconditions (pre,post) 4.3.5 Rsultat d'une mthode (body) 4.3.6 Dfinition d'attributs et de mthodes (defet let...in) 4.3.7 Initialisation (init) et volution des attributs (derive)

    o 4.4 Types et oprations utilisables dans les expressions OCL 4.4.1 Types et oprateurs prdfinis 4.4.2 Types du modle UML 4.4.3 OCL est un langage typ 4.4.4 Collections

    o 4.5 Accs aux proprits et aux objets 4.5.1 Accs aux attributs et aux oprations (self) 4.5.2 Navigation via une association 4.5.3 Navigation via une association qualifie 4.5.4 Navigation vers une classe association 4.5.5 Navigation depuis une classe association 4.5.6 Accder une proprit redfinie (oclAsType()) 4.5.7 Proprits prdfinies sur tous les objets 4.5.8 Proprits sur les classes

    o 4.6 Oprations sur les collections 4.6.1 Introduction : ., ->, :: et self 4.6.2 Oprations de base sur les collections 4.6.3 Opration sur les lments d'une collection 4.6.4 Rgles de prcdence des oprateurs

    o 4.7 Exemples de contraintes Chapitre 5 Diagramme d'tats-transitions

    o 5.1 Introduction au formalisme 5.1.1 Prsentation 5.1.2 Notion d'automate tats finis 5.1.3 Diagrammes d'tats-transitions

    o 5.2 tat 5.2.1 Les deux acceptions du terme tat 5.2.2 tat initial et final

    o 5.3 vnement 5.3.1 Notion d'vnement 5.3.2 vnement de type signal (signal)

    5.3.3 vnement d'appel (call) 5.3.4 vnement de changement (change) 5.3.5 vnement temporel (afterou when)

    o 5.4 Transition 5.4.1 Dfinition et syntaxe 5.4.2 Condition de garde 5.4.3 Effet d'une transition 5.4.4 Transition externe 5.4.5 Transition d'achvement 5.4.6 Transition interne

    o 5.5 Point de choix 5.5.1 Point de jonction 5.5.2 Point de dcision

    http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc83http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc83http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc84http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc84http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc84http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc84http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc85http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc85http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc85http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc85http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc85http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc85http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc86http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc86http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc86http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc86http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc87http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc87http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc87http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc87http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc87http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc87http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc87http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc87http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc88http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc88http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc88http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc88http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc88http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc88http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc89http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc89http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc90http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc90http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc91http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc91http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc92http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc92http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc93http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc93http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc94http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc94http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc95http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc95http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc95http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc95http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc96http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc96http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc97http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc97http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc98http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc98http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc99http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc99http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc100http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc100http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc100http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc100http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc101http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc101http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc102http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc102http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc103http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc103http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc104http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc104http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc104http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc105http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc105http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc106http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc106http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc107http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc107http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc108http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc108http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc109http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc109http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc110http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc110http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc111http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc111http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc112http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc112http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc113http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc113http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc114http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc114http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc115http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc115http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc115http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc116http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc116http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc117http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc117http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc118http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc118http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc119http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc119http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc119http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc119http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc120http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc120http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc120http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc120http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc121http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc121http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc121http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc121http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc122http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc122http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc122http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc122http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc122http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc122http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc123http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc123http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc124http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc124http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc125http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc125http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc126http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc126http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc127http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc127http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc128http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc128http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc129http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc129http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc130http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc130http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc131http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc131http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc132http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc132http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc132http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc131http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc130http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc129http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc128http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc127http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc126http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc125http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc124http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc123http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc122http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc121http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc120http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc119http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc118http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc117http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc116http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc115http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc114http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc113http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc112http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc111http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc110http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc109http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc108http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc107http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc106http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc105http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc104http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc103http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc102http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc101http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc100http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc99http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc98http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc97http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc96http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc95http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc94http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc93http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc92http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc91http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc90http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc89http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc88http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc87http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc86http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc85http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc84http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc83
  • 8/3/2019 UML 2-MeilleurCours UML

    6/156

    o 5.6 tats composites 5.6.1 Prsentation 5.6.2 Transition 5.6.3 tat historique 5.6.4 Interface : les points de connexion 5.6.5 Concurrence

    Chapitre 6 Diagramme d'activitso 6.1 Introduction au formalisme

    6.1.1 Introduction 6.1.2 Action 6.1.3 Activit 6.1.4 Groupe d'activits 6.1.5 Noeud d'activit 6.1.6 Transition

    o 6.2 Noeud excutable 6.2.1 Noeud d'action 6.2.2 Noeud d'activit structure

    o 6.3 Noeud de contrle 6.3.1 Noeud initial 6.3.2 Noeud final 6.3.3 Noeud de dcision et de fusion 6.3.4 Noeud de bifurcation et d'union

    o 6.4 Noeud d'objet 6.4.1 Introduction 6.4.2 Pin d'entre ou de sortie 6.4.3 Pin de valeur 6.4.4 Flot d'objet 6.4.5 Noeud tampon central 6.4.6 Noeud de stockage des donnes

    o 6.5 Partitionso 6.6 Exceptions

    Chapitre 7 Diagrammes d'interactiono 7.1 Prsentation du formalisme

    7.1.1 Introduction 7.1.2 Classeur structur 7.1.3 Collaboration 7.1.4 Interactions et lignes de vie

    7.1.5 Reprsentation gnraleo 7.2 Diagramme de communication 7.2.1 Reprsentation des lignes de vie 7.2.2 Reprsentation des connecteurs 7.2.3 Reprsentation des messages

    o 7.3 Diagramme de squence 7.3.1 Reprsentation des lignes de vie 7.3.2 Reprsentation des messages 7.3.3 Fragments d'interaction combins 7.3.4 Utilisation d'interaction

    Chapitre 8 Diagrammes de composants et de dploiemento 8.1 Introductiono 8.2 Diagrammes de composants

    http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc133http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc133http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc134http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc134http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc135http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc135http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc136http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc136http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc137http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc137http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc138http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc138http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc139http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc139http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc140http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc140http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc141http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc141http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc142http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc142http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc143http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc143http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc144http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc144http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc145http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc145http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc146http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc146http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc147http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc147http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc148http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc148http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc149http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc149http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc150http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc150http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc151http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc151http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc152http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc152http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc153http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc153http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc154http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc154http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc155http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc155http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc156http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc156http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc157http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc157http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc158http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc158http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc159http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc159http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc160http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc160http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc161http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc161http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc162http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc162http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc163http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc163http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc164http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc164http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc165http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc165http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc166http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc166http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc167http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc167http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc168http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc168http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc169http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc169http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc170http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc170http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc171http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc171http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc172http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc172http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc173http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc173http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc174http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc174http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc175http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc175http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc176http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc176http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc177http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc177http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc178http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc178http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc179http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc179http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc180http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc180http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc181http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc181http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc182http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc182http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc182http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc181http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc180http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc179http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc178http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc177http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc176http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc175http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc174http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc173http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc172http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc171http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc170http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc169http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc168http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc167http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc166http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc165http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc164http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc163http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc162http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc161http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc160http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc159http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc158http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc157http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc156http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc155http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc154http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc153http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc152http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc151http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc150http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc149http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc148http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc147http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc146http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc145http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc144http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc143http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc142http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc141http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc140http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc139http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc138http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc137http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc136http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc135http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc134http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc133
  • 8/3/2019 UML 2-MeilleurCours UML

    7/156

    8.2.1 Pourquoi des composants ? 8.2.2 Notion de composant 8.2.3 Notion de port 8.2.4 Diagramme de composants

    o 8.3 Diagramme de dploiement 8.3.1 Objectif du diagramme de dploiement 8.3.2 Reprsentation des noeuds 8.3.3 Notion d'artefact (artifact) 8.3.4 Diagramme de dploiement

    Chapitre 9 Mise en oeuvre d'UMLo 9.1 Introduction

    9.1.1 UML n'est pas une mthode 9.1.2 Une mthode simple et gnrique

    o 9.2 Identification des besoins 9.2.1 Diagramme de cas d'utilisation 9.2.2 Diagrammes de squence systme 9.2.3 Maquette de l'IHM

    o 9.3 Phases d'analyse 9.3.1 Modle du domaine 9.3.2 Diagramme de classes participantes 9.3.3 Diagrammes d'activits de navigation

    o 9.4 Phase de conception 9.4.1 Diagrammes d'interaction 9.4.2 Diagramme de classes de conception

    o 9.5 Phase d'implmentation 9.5.1 Implmentation en Java 9.5.2 Implmentation en SQL

    http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc183http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc183http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc184http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc184http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc185http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc185http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc186http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc186http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc187http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc187http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc188http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc188http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc189http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc189http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc190http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc190http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc190http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc190http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc191http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc191http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc192http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc192http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc193http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc193http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc194http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc194http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc195http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc195http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc196http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc196http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc197http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc197http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc198http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc198http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc199http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc199http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc200http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc200http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc201http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc201http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc202http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc202http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc203http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc203http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc204http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc204http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc205http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc205http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc206http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc206http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc207http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc207http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc208http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc208http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc209http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc209http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc209http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc208http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc207http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc206http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc205http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc204http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc203http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc202http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc201http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc200http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc199http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc198http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc197http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc196http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc195http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc194http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc193http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc192http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc191http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc190http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc189http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc188http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc187http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc186http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc185http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc184http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#htoc183
  • 8/3/2019 UML 2-MeilleurCours UML

    8/156

    Chapitre 1 Introduction la modlisationobjet

    1.1 Le gnie logiciel1.1.1 L'informatisation

    L'informatisation est le phnomne le plus important de notre poque. Elle s'immiscemaintenant dans la pluspart des objets de la vie courante et ce, que ce soit dans l'objetproprement dit1, ou bien dans le processus de conception ou de fabrication de cet objet.

    Actuellement, l'informatique est au coeur de toutes les grandes entreprises. Le systmed'information d'une entreprise est compos de matriels et de logiciels. Plus prcisment, les

    investissements dans ce systme d'information se rpartissent gnralement de la maniresuivante : 20% pour le matriel et 80% pour le logiciel. En effet, depuis quelques annes, lafabrication du matriel est assure par quelques fabricants seulement. Ce matriel estrelativement fiable et le march est standardis. Les problmes lis l'informatique sontessentiellement des problmes de logiciel.

    1.1.2 Les logiciels

    Un logiciel ou une application est un ensemble de programmes, qui permet un ordinateur ou

    un systme informatique d'assurer une tche ou une fonction en particulier (exemple :logiciel de comptabilit, logiciel de gestion des prts).

    Les logiciels, suivant leur taille, peuvent tre dvelopps par une personne seule, une petitequipe, ou un ensemble d'quipes coordonnes. Le dveloppement de grands logiciels par degrandes quipes pose d'importants problmes de conception et de coordination. Or, ledveloppement d'un logiciel est une phase absolument cruciale qui monopolise l'essentiel ducot d'un produit2et conditionne sa russite et sa prennit.

    En 1995, une tude du Standish Group dressait un tableau accablant de la conduite des projetsinformatiques. Reposant sur un chantillon reprsentatif de 365 entreprises, totalisant 8 380applications, cette tude tablissait que :

    16,2% seulement des projets taient conformes aux prvisions initiales, 52,7% avaient subi des dpassements en cot et dlai d'un facteur 2 3 avec

    diminution du nombre des fonctions offertes, 31,1% ont t purement abandonns durant leur dveloppement.

    Pour les grandes entreprises (qui lancent proportionnellement davantage de gros projets), letaux de succs est de 9% seulement, 37% des projets sont arrts en cours de ralisation, 50%aboutissent hors dlai et hors budget.

    L'examen des causes de succs et d'chec est instructif : la plupart des checs proviennent non

    http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#note1http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#note1http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#note1http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#note2http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#note2http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#note2http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#note2http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#note1
  • 8/3/2019 UML 2-MeilleurCours UML

    9/156

    de l'informatique, mais de la matrise d'ouvrage3, en comprenant sous ce terme la fois lesdirigeants et les concepteurs des mtiers.

    Pour ces raisons, le dveloppement de logiciels dans un contexte professionnel suit souventdes rgles strictes encadrant la conception et permettant le travail en groupe et la

    maintenance4

    du code. Ainsi, une nouvelle discipline est ne : le gnie logiciel.

    1.1.3 Le gnie logiciel

    Le gnie logiciel est un domaine de recherche qui a t dfini (fait rare) du 7 au 11 octobre1968, Garmisch-Partenkirchen, sous le parrainage de l'OTAN. Il a pour objectif de rpondre un problme qui s'nonait en deux constatations : d'une part le logiciel n'tait pas fiable,d'autre part, il tait incroyablement difficile de raliser dans des dlais prvus des logicielssatisfaisant leur cahier des charges.

    L'objectif du gnie logiciel est d'optimiser le cot de dveloppement du logiciel. L'importanced'une approche mthodologique s'est impose la suite de la crise de l'industrie du logiciel la fin des annes 1970. Cette crise de l'industrie du logiciel tait principalement due :

    l'augmentation des cots ; les difficults de maintenance et d'volution ; la non fiabilit ; le non respect des spcifications ; le non respect des dlais.

    La maintenance est devenue une facette trs importante du cycle de vie d'un logiciel. En effet,une enqute effectue aux USA en 1986 auprs de 55 entreprises rvle que 53% du budgettotal d'un logiciel est affect la maintenance. Ce cot est rparti comme suit :

    34% maintenance volutive (modification des spcifications initiales) ; 10% maintenance adaptative (nouvel environnement, nouveaux utilisateurs) ; 17% maintenance corrective (correction des bogues) ; 16% maintenance perfective (amliorer les performance sans changer les

    spcifications) ; 6% assistance aux utilisateurs ; 6% contrle qualit ; 7% organisation/suivi ; 4% divers.

    Pour apporter une rponse tous ces problmes, le gnie logiciel s'intresse particulirement la manire dont le code source d'un logiciel est spcifi puis produit. Ainsi, le gnie logicieltouche au cycle de vie des logiciels :

    l'analyse du besoin, l'laboration des spcifications, la conceptualisation, le dveloppement, la phase de test,

    http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#note3http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#note3http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#note3http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#note4http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#note4http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#note4http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML.html#note3
  • 8/3/2019 UML 2-MeilleurCours UML

    10/156

    la maintenance.Les projets relatifs l'ingnierie logicielle sont gnralement de grande envergure etdpassent souvent les 10000 lignes de code. C'est pourquoi ces projets ncessitent une quipede dveloppement bien structure. La gestion de projet se retrouve naturellement intimement

    lie au gnie logiciel.

    1.1.4 Notion de qualit pour un logiciel

    En gnie logiciel, divers travaux ont men la dfinition de la qualit du logiciel en termes defacteurs, qui dpendent, entre autres, du domaine de l'application et des outils utiliss. Parmices derniers nous pouvons citer :Validit :

    Aptitude d'un produit logiciel remplir exactement ses fonctions, dfinies par le

    cahier des charges et les spcifications.Fiabilit ou robustesse :

    aptitude d'un produit logiciel fonctionner dans des conditions anormales.Extensibilit (maintenance) :

    facilit avec laquelle un logiciel se prte sa maintenance, c'est--dire unemodification ou une extension des fonctions qui lui sont demandes.

    Rutilisabilit :aptitude d'un logiciel tre rutilis, en tout ou en partie, dans de nouvellesapplications.

    Compatibilit :facilit avec laquelle un logiciel peut tre combin avec d'autres logiciels.

    Efficacit :Utilisation optimales des ressources matrielles.

    Portabilit :facilit avec laquelle un logiciel peut tre transfr sous diffrents environnementsmatriels et logiciels.

    Vrifiabilit :facilit de prparation des procdures de test.

    Intgrit :aptitude d'un logiciel protger son code et ses donnes contre des accs nonautoriss.

    Facilit d'emploi :facilit d'apprentissage, d'utilisation, de prparation des donnes, d'interprtation deserreurs et de rattrapage en cas d'erreur d'utilisation.

    Ces facteurs sont parfois contradictoires, le choix des compromis doit s'effectuer en fonctiondu contexte.

    1.2 Pourquoi et comment modliser ?

    1.2.1 Notions de modle et de modlisation

  • 8/3/2019 UML 2-MeilleurCours UML

    11/156

    Qu'est-ce qu'un modle ?

    Un modle est une reprsentation abstraite et simplifie (i.e. qui exclut certains dtails), d'uneentit (phnomne, processus, systme, etc.) du monde rel en vue de le dcrire, de l'expliquerou de le prvoir. Modle est synonyme de thorie, mais avec une connotation pratique : un

    modle, c'est une thorie oriente vers l'action qu'elle doit servir.

    Concrtement, un modle permet de rduire la complexit d'un phnomne en liminant lesdtails qui n'influencent pas son comportement de manire significative. Il reflte ce que leconcepteur croit important pour la comprhension et la prdiction du phnomne modlis,les limites du phnomne modlis dpendant des objectifs du modle.

    Voici quelques exemples de modles prdictifs :Modle mtorologique

    partir de donnes d'observation (satellite ...), il permet de prvoir les conditionsclimatiques pour les jours venir.

    Modle conomique peut par exemple permettre de simuler l'volution de cours boursiers en fonctiond'hypothses macro-conomiques (volution du chmage, taux de croissance ...).

    Modle dmographique dfinit la composition d'un panel d'une population et son comportement, dans le but defiabiliser des tudes statistiques, d'augmenter l'impact de dmarches commerciales,etc.

    Pourquoi modliser ?

    Modliser un systme avant sa ralisation permet de mieux comprendre le fonctionnement dusystme. C'est galement un bon moyen de matriser sa complexit et d'assurer sa cohrence.Un modle est un langage commun, prcis, qui est connu par tous les membres de l'quipe etil est donc, ce titre, un vecteur privilgi pour communiquer. Cette communication estessentielle pour aboutir une comprhension commune aux diffrentes parties prenantes(notamment entre la matrise d'ouvrage et matrise d'uvre informatique) et prcise d'unproblme donn.

    Dans le domaine de l'ingnierie du logiciel, le modle permet de mieux rpartir les tches etd'automatiser certaines d'entre elles. C'est galement un facteur de rduction des cots et desdlais. Par exemple, les plateformes de modlisation savent maintenant exploiter les modles

    pour faire de la gnration de code (au moins au niveau du squelette) voire des aller-retoursentre le code et le modle sans perte d'information. Le modle est enfin indispensable pourassurer un bon niveau de qualit et une maintenance efficace. En effet, une fois mise enproduction, l'application va devoir tre maintenue, probablement par une autre quipe et, quiplus est, pas ncessairement de la mme socit que celle ayant cre l'application.

    Le choix du modle a donc une influence capitale sur les solutions obtenues. Les systmesnon-triviaux sont mieux modliss par un ensemble de modles indpendants. Selon lesmodles employs, la dmarche de modlisation n'est pas la mme.

    Qui doit modliser ?

  • 8/3/2019 UML 2-MeilleurCours UML

    12/156

    La modlisation est souvent faite par la matrise d'uvre informatique (MOE). C'estmalencontreux, car les priorits de la MOE rsident dans le fonctionnement de la plate-formeinformatique et non dans les processus de l'entreprise.

    Il est prfrable que la modlisation soit ralise par la matrise d'ouvrage (MOA) de sorte

    que le mtier soit matre de ses propres concepts. La MOE doit intervenir dans le modlelorsque, aprs avoir dfini les concepts du mtier, on doit introduire les contraintes propres la plate-forme informatique.

    Il est vrai que les mtiers, dont les priorits sont oprationnelles, ne disposent pas toujours dela capacit d'abstraction, de la rigueur conceptuelle ncessaires la formalisation. Laprofessionnalisation de la MOA a pour but de les doter de ces comptences. Cetteprofessionnalisation rside essentiellement dans l'aptitude modliser le systmed'information du mtier : le matre mot est modlisation. Lorsque le modle du systmed'information est de bonne qualit, sobre, clair, stable, la matrise d'uvre peut travailler dansde bonnes conditions. Lorsque cette professionnalisation a lieu, elle modifie les rapports avec

    l'informatique et dplace la frontire des responsabilits, ce qui contrarie parfois lesinformaticiens dans un premier temps, avant qu'ils n'en voient apparatre les bnfices.

    Matrise d'ouvrage et matrise d'oeuvre

    Matre d'ouvrage (MOA) :Le MOA est une personne morale (entreprise, direction etc.), une entit del'organisation. Ce n'est jamais une personne.

    Matre d'uvre (MOE) :Le MOE est une personne morale (entreprise, direction etc.) garante de la bonneralisation technique des solutions. Il a, lors de la conception du SI, un devoir deconseil vis--vis du MOA, car le SI doit tirer le meilleur parti des possibilitstechniques.

    Le MOA est client du MOE qui il passe commande d'un produit ncessaire son activit.

    Le MOE fournit ce produit ; soit il le ralise lui-mme, soit il passe commande un ouplusieurs fournisseurs ( entreprises ) qui laborent le produit sous sa direction.

    La relation MOA et MOE est dfinie par un contrat qui prcise leurs engagements mutuels.

    Lorsque le produit est compliqu, il peut tre ncessaire de faire appel plusieursfournisseurs. Le MOE assure leur coordination ; il veille la cohrence des fournitures et leur compatibilit. Il coordonne l'action des fournisseurs en contrlant la qualit technique, enassurant le respect des dlais fixs par le MOA et en minimisant les risques.

    Le MOE est responsable de la qualit technique de la solution. Il doit, avant toute livraison auMOA, procder aux vrifications ncessaires ( recette usine ).

    1.2.2 Le cycle de vie d'un logiciel

  • 8/3/2019 UML 2-MeilleurCours UML

    13/156

    Le cycle de vie d'un logiciel (en anglais software lifecycle), dsigne toutes les tapes dudveloppement d'un logiciel, de sa conception sa disparition. L'objectif d'un tel dcoupageest de permettre de dfinir des jalons intermdiaires permettant la validation dudveloppement logiciel, c'est--dire la conformit du logiciel avec les besoins exprims, et lavrification du processus de dveloppement, c'est--dire l'adquation des mthodes mises en

    oeuvre.

    L'origine de ce dcoupage provient du constat que les erreurs ont un cot d'autant plus levqu'elles sont dtectes tardivement dans le processus de ralisation. Le cycle de vie permet dedtecter les erreurs au plus tt et ainsi de matriser la qualit du logiciel, les dlais de saralisation et les cots associs.

    Le cycle de vie du logiciel comprend gnralement a minima les tapes suivantes :Dfinition des objectifs

    Cet tape consiste dfinir la finalit du projet et son inscription dans une stratgieglobale.

    Analyse des besoins et faisabilit c'est--dire l'expression, le recueil et la formalisation des besoins du demandeur (leclient) et de l'ensemble des contraintes puis l'estimation de la faisabilit de ces besoins.

    Spcification ou conception gnrale Il s'agit de l'laboration des spcifications de l'architecture gnrale du logiciel.

    Conception dtaille Cette tape consiste dfinir prcisment chaque sous-ensemble du logiciel.

    Codage (Implmentation ou programmation) c'est la traduction dans un langage de programmation des fonctionnalits dfinies lorsde phases de conception.

    Tests unitaires Ils permettent de vrifier individuellement que chaque sous-ensemble du logiciel estimplment conformment aux spcifications.

    Intgration L'objectif est de s'assurer de l'interfaage des diffrents lments (modules) dulogiciel. Elle fait l'objet de tests d'intgration consigns dans un document.

    Qualification (ou recette) C'est--dire la vrification de la conformit du logiciel aux spcifications initiales.

    Documentation Elle vise produire les informations ncessaires pour l'utilisation du logiciel et pourdes dveloppements ultrieurs.

    Mise en productionMaintenance Elle comprend toutes les actions correctives (maintenance corrective) et volutives(maintenance volutive) sur le logiciel.

    La squence et la prsence de chacune de ces activits dans le cycle de vie dpend du choixd'un modle de cycle de vie entre le client et l'quipe de dveloppement. Le cycle de viepermet de prendre en compte, en plus des aspects techniques, l'organisation et les aspectshumains.

    1.2.3 Modles de cycles de vie d'un logiciel

  • 8/3/2019 UML 2-MeilleurCours UML

    14/156

    Modle de cycle de vie en cascade

    Figure 1.1: Modle du cycle de vie en cascade

    Le modle de cycle de vie en cascade a t mis au point ds 1966, puis formalis auxalentours de 1970.

    Dans ce modle le principe est trs simple : chaque phase se termine une date prcise par laproduction de certains documents ou logiciels. Les rsultats sont dfinis sur la base desinteractions entre tapes, ils sont soumis une revue approfondie et on ne passe la phasesuivante que s'ils sont jugs satisfaisants.

    Le modle original ne comportait pas de possibilit de retour en arrire. Celle-ci a t rajoute

    ultrieurement sur la base qu'une tape ne remet en cause que l'tape prcdente, ce qui, dansla pratique, s'avre insuffisant.

    Modle de cycle de vie en V

  • 8/3/2019 UML 2-MeilleurCours UML

    15/156

    Figure 1.2: Modle du cycle de vie en V

    Le modle en V demeure actuellement le cycle de vie le plus connu et certainement le plusutilis.

    Le principe de ce modle est qu'avec toute dcomposition doit tre dcrite la recomposition,et que toute description d'un composant est accompagne de tests qui permettront de s'assurerqu'il correspond sa description.

    Ceci rend explicite la prparation des dernires phases (validation-vrification) par lespremires (construction du logiciel), et permet ainsi d'viter un cueil bien connu de laspcification du logiciel : noncer une proprit qu'il est impossible de vrifier objectivement

    aprs la ralisation.

    Modle de cycle de vie en spirale

    Propos par B. Boehm en 1988, ce modle est beaucoup plus gnral que le prcdent. Il metl'accent sur l'activit d'analyse des risques : chaque cycle de la spirale se droule en quatrephases :

    1. dtermination, partir des rsultats des cycles prcdents, ou de l'analyse prliminairedes besoins, des objectifs du cycle, des alternatives pour les atteindre et des contraintes;

    2. analyse des risques, valuation des alternatives et, ventuellement maquettage ;3. dveloppement et vrification de la solution retenue, un modle classique (cascade

    ou en V) peut tre utilis ici ;4. revue des rsultats et vrification du cycle suivant.

    L'analyse prliminaire est affine au cours des premiers cycles. Le modle utilise desmaquettes exploratoires pour guider la phase de conception du cycle suivant. Le dernier cyclese termine par un processus de dveloppement classique.

  • 8/3/2019 UML 2-MeilleurCours UML

    16/156

    Modle par incrment

    Dans les modles prcdents un logiciel est dcompos en composants dveloppssparment et intgrs la fin du processus.

    Dans les modles par incrment un seul ensemble de composants est dvelopp la fois : desincrments viennent s'intgrer un noyau de logiciel dvelopp au pralable. Chaqueincrment est dvelopp selon l'un des modles prcdents.

    Les avantages de ce type de modle sont les suivants :

    chaque dveloppement est moins complexe ; les intgrations sont progressives ; il est ainsi possible de livrer et de mettre en service chaque incrment ; il permet un meilleur lissage du temps et de l'effort de dveloppement grace la

    possibilit de recouvrement (paralllisation) des diffrentes phases.

    Les risques de ce type de modle sont les suivants :

    remettre en cause les incrments prcdents ou pire le noyau ; ne pas pouvoir intgrer de nouveaux incrments.

    Les noyaux, les incrments ainsi que leurs interactions doivent donc tre spcifisglobalement, au dbut du projet. Les incrments doivent tre aussi indpendants quepossibles, fonctionnellement mais aussi sur le plan du calendrier du dveloppement.

    1.2.4 Mthodes d'analyse et de conception

    Les mthodes d'analyse et de conception fournissent une mthodologie et des notationsstandards qui aident concevoir des logiciels de qualit. Il existe diffrentes manires pourclasser ces mthodes, dont :La distinction entre composition et dcomposition :

    Elle met en opposition d'une part les mthodes ascendantes qui consistent construireun logiciel par composition partir de modules existants et, d'autre part, les mthodesdescendantes qui dcomposent rcursivement le systme jusqu' arriver des modules

    programmables simplement.La distinction entre fonctionnel (dirige par le traitement) et oriente objet :Dans la stratgie fonctionnelle (galement qualifie de structure) un systme est vucomme un ensemble hirarchique d'units en interaction, ayant chacune une fonctionclairement dfinie. Les fonctions disposent d'un tat local, mais le systme a un tatpartag, qui est centralis et accessible par l'ensemble des fonctions. Les stratgiesorientes objet considrent qu'un systme est un ensemble d'objets interagissants.Chaque objet dispose d'un ensemble d'attributs dcrivant son tat et l'tat du systmeest dcrit (de faon dcentralise) par l'tat de l'ensemble.

    1.3 De la programmation structure l'approche orienteobjet

  • 8/3/2019 UML 2-MeilleurCours UML

    17/156

    1.3.1 Mthodes fonctionnelles ou structures

    Figure 1.3: Reprsentation graphique d'une approche fonctionnelle

    Les mthodes fonctionnelles (galement qualifies de mthodes structures) trouvent leurorigine dans les langages procduraux. Elles mettent en vidence les fonctions assurer etproposent une approche hirarchique descendante et modulaire.

    Ces mthodes utilisent intensivement les raffinements successifs pour produire desspcifications dont l'essentielle est sous forme de notation graphique en diagrammes de flotsde donnes. Le plus haut niveau reprsente l'ensemble du problme (sous forme d'activit, dedonnes ou de processus, selon la mthode). Chaque niveau est ensuite dcompos enrespectant les entres/sorties du niveau suprieur. La dcomposition se poursuit jusqu' arriver des composants matrisables (cf. figure1.3).

    L'approche fonctionnelle dissocie le problme de la reprsentation des donnes, du problmedu traitement de ces donnes. Sur la figure1.3, les donnes du problme sont reprsentes surla gauche. Des flches transversalles matrialisent la manipulation de ces donnes par dessous-fonctions. Cet accs peut-tre direct (c'est parfois le cas quand les donnes sontregroupes dans une base de donnes), ou peut tre ralis par le passage de paramtre depuisle programme principal.

    La SADT (Structured Analysis Design Technique) est probablement la mthode d'analyse

    fonctionnelle et de gestion de projets la plus connue. Elle permet non seulement de dcrire lestches du projet et leurs interactions, mais aussi de dcrire le systme que le projet vise tudier, crer ou modifier, en mettant notamment en vidence les parties qui constituent lesystme, la finalit et le fonctionnement de chacune, ainsi que les interfaces entre ces diversesparties. Le systme ainsi modlis n'est pas une simple collection d'lments indpendants,mais une organisation structure de ceu