Cours Uml 1/2

download Cours Uml 1/2

of 105

Transcript of Cours Uml 1/2

  • 8/7/2019 Cours Uml 1/2

    1/105

    14/12/06 Introduction UML 1

    Introduction UMLJean-Yves Didier

  • 8/7/2019 Cours Uml 1/2

    2/105

    14/12/06 Introduction UML 2

    Dtails pratiques

    En cas de questions :

    [email protected]

    O trouver ce cours :

    http://lsc.univ-evry.fr/~didier/pedagogie/uml1.pdf

    mailto:[email protected]://lsc.univ-evry.fr/~didier/pedagogie/uml1.pdfhttp://lsc.univ-evry.fr/~didier/pedagogie/uml1.pdfmailto:[email protected]
  • 8/7/2019 Cours Uml 1/2

    3/105

    14/12/06 Introduction UML 3

    Organisation

    2 intervenants : Jean-Yves Didier (partie acadmique),

    Hamid Nait-Bouda (partie professionnelle),

    4 sances de 4 h chacune : Semaines 50, 51, 2 et 3, Partie acadmique : 50, 51 et 2

    Semaines 50 et 51 : cours, Semaine 2 : exemple dtaill,

    Partie professionnelle : semaine 3

  • 8/7/2019 Cours Uml 1/2

    4/105

    14/12/06 Introduction UML 4

    Pr-requis

    Programmation oriente objets, Concepts de POO : hritage, polymorphisme, etc ...

    Programmation systme,

    Processus concurrents, Mthode MERISE,

    Analyse des besoins de l'utilisateur,

    Modles conceptuels et logiques. Grafcets et automates.

  • 8/7/2019 Cours Uml 1/2

    5/105

    14/12/06 Introduction UML 5

    Plan

    Introduction gnrale,

    Meta-modle UML, Notion de vues d'un systme, Diagrammes UML,

  • 8/7/2019 Cours Uml 1/2

    6/105

    14/12/06 Introduction UML 6

    Plan

    Introduction gnrale,

    Meta-modle UML, Notion de vues d'un systme, Diagrammes UML,

  • 8/7/2019 Cours Uml 1/2

    7/105

    14/12/06 Introduction UML 7

    Qu'est ce que UML ?

    UML signifie Unified Modelling Language, UML est un langage standard, pour spcifier,

    visualiser, concevoir et documenter tous lesaspects d'un systme d'information,

    UML fournit un support de communication : unlangage graphique comportant 13 diagrammesstandards (pour UML 2.0) reprsentant des

    'vues'd'un systme d'information, UML permet d'exprimer et d'laborer des

    modles objet, indpendamment de toutlangage de programmation.

  • 8/7/2019 Cours Uml 1/2

    8/105

    14/12/06 Introduction UML 8

    Pourquoi UML ?

    Les 'lacunes' de l'approche objet : Moins intuitive que l'approche fonctionnelle,

    Comment conduire une analyse ? Comment concevoir de manire pertinente ? Comment comparer les solutions ventuelles ?

    L'approche objet ncessite une grande rigueur, Vocabulaire prcis : les erreurs crent des ambiguts, Comment dcrire la structure d'un objet de manire

    pertinente ? Ncessit d'un outil dimension mthodologique

    pour l'approche objet !

  • 8/7/2019 Cours Uml 1/2

    9/105

    14/12/06 Introduction UML 9

    Historique (1/2)

    UML est la fusion de 3 langages de modlisationobjet des annes 90 : OMT (James Rumbaugh) : vues statiques

    dynamiques et fonctionnelles d'un systme,

    Booch (Grady Booch) : utilisation de 7 diagrammespour reprsenter un systme orient objets,

    OOSE (Ivar Jacobson) : analyse fonde sur ladescription des besoins des utilisateurs (use case),

    1995 : fusion OMT, Booch (Unified method 0.8), 1996 : OOSE est inclus (UML 0.9), nouveaux

    acteurs : DEC, HP, Microsoft, Oracle, etc ...

  • 8/7/2019 Cours Uml 1/2

    10/105

    14/12/06 Introduction UML 10

    Historique (2/2)

    1997 : (Janvier) Soumission de UML 1.0 l'OMG,

    (novembre) UML 1.1 standardis par l'OMG,

    1998 : UML 1.2 1999 : UML 1.3 2000 : UML 1.4 2003 : UML 1.5

    Maintenant : UML 1.4.2 : standard ISO/IEC 19501:2005, L'OMG prpare la spcification de UML 2.0.

  • 8/7/2019 Cours Uml 1/2

    11/105

    14/12/06 Introduction UML 11

    Pourquoi utiliser UML ?

    UML est un langage formel normalis, Gain de prcision,

    Gage de stabilit, Encourage l'utilisation d'outils.

    UML est un support de communicationperformant, Il cadre l'analyse, Il facilite la comprhension de reprsentations

    abstraites complexes,

    Il est souple et polyvalent.

  • 8/7/2019 Cours Uml 1/2

    12/105

    14/12/06 Introduction UML 12

    UML et l'entreprise

    Sondage en 2004 35 reprsentants de la MOA (Matrise d'OuvrAge), Avril Juin 2004, Une partie concerne UML !

    Rsultats : UML est utilis dans 20% des projets, UML est prconis dans 35% des entreprises, Son utilisation est laisse l'apprciation des intervenants

    dans 20% d'entre elles. Taux de pntration global en 2005 :

    Estim 10% dans l'industrie informatique.

  • 8/7/2019 Cours Uml 1/2

    13/105

    14/12/06 Introduction UML 13

    Plan

    Introduction gnrale, Meta-modle UML, Notion de vues d'un systme, Diagrammes UML,

  • 8/7/2019 Cours Uml 1/2

    14/105

    14/12/06 Introduction UML 14

    Le mta-modle UML

    UML : langage permettant de crer des modles, UML : modlisation des modles, un mta-modle.

    Le mta-modle UML est en 4 couches:

    (M3) mtamtamodle : (concept de mtaclasse)Dfinit le langage pour la spcification des metamodles, (M2) mtamodle : (concept de classe)

    Dfinit le langage pour la spcification des modles,

    (M1) modle : (classe)Dfinit le langage pour les lments d' un domaine, (M0) objets utilisateur : (objet)

    Dfinit les donnes spcifiques du domaine.

  • 8/7/2019 Cours Uml 1/2

    15/105

    14/12/06 Introduction UML 15

    Organisation du mtamodle

    Mtamodle organis en paquetages :

    Gestion de modles

    Fondation

    Elments comportementaux

  • 8/7/2019 Cours Uml 1/2

    16/105

    14/12/06 Introduction UML 16

    Organisation du mtamodle

    Mtamodle organis en paquetages :

    Gestion de modles

    Fondation

    Elments comportementaux

    Elments comportementaux :- Modlisation des comportements :

    - Cas d'utilisation,- Collaborations,- Diagrammes d'activits,- Diagrammes d'tat.

  • 8/7/2019 Cours Uml 1/2

    17/105

    14/12/06 Introduction UML 17

    Organisation du mtamodle

    Mtamodle organis en paquetages :

    Gestion de modles

    Fondation

    Elments comportementaux

    Gestion de modles :

    Dfinit les modles, paquetageset sous-systmes.

  • 8/7/2019 Cours Uml 1/2

    18/105

    14/12/06 Introduction UML 18

    Organisation du mtamodle

    Mtamodle organis en paquetages :

    Gestion de modles

    Fondation

    Elments comportementaux

    Fondation :Infrastructure du langagequi spcifie les structuresrcurrentes des modles.

  • 8/7/2019 Cours Uml 1/2

    19/105

    14/12/06 Introduction UML 19

    Le paquetage fondation

    Infrastructure du language qui spcifie les structures rcurrentesdes modles.

    Mcanismes d'extensionNoyau

    Types de donnes

  • 8/7/2019 Cours Uml 1/2

    20/105

    14/12/06 Introduction UML 20

    Le paquetage fondation

    Infrastructure du langage qui spcifie les structures rcurrentesdes modles.

    Mcanismes d'extensionNoyau

    Types de donnes

    Noyau :Dfinit les concepts abstraits (Elmentsgnralisables, etc ...) et concrets

    (Classes, Interfaces, Associations, etc ...)du mtamodle UML.

  • 8/7/2019 Cours Uml 1/2

    21/105

    14/12/06 Introduction UML 21

    Le paquetage fondation

    Infrastructure du langage qui spcifie les structures rcurrentesdes modles.

    Mcanismes d'extensionNoyau

    Types de donnes

    Mcanismes d'extension :Dfinit la manire de modifier et d'adapter certainslments spcifiques du modle UML par le biais des

    strotypes, contraintes, valeurs et dfinitions accoles

  • 8/7/2019 Cours Uml 1/2

    22/105

    14/12/06 Introduction UML 22

    Le paquetage fondation

    Infrastructure du langage qui spcifie les structures rcurrentesdes modles.

    Mcanismes d'extensionNoyau

    Types de donnes

    Types de donnes :Dfinit les types lmentaires employs par UML :Entiers, boolens, numrations, expressions ...

  • 8/7/2019 Cours Uml 1/2

    23/105

    14/12/06 Introduction UML 23

    Plan

    Introduction gnrale, Meta-modle UML, Notion de vues d'un systme, Diagrammes UML,

  • 8/7/2019 Cours Uml 1/2

    24/105

    14/12/06 Introduction UML 24

    La notion de 'vues'

    Un systme d'informations (SI) peut treenvisag suivant plusieurs points de vues : Utilisateur final, dveloppeur, ingnieur systme,

    directeurs de projets, etc ...

    UML s'appuie sur le modle 4+1 vues : [Kruchten IEEE Software 95]

    L'ide est d'organiser la description d'une architecturelogicielle en utilisant plusieurs vues concurrentes,chacune s'intressant un aspect particulier duproblme.

  • 8/7/2019 Cours Uml 1/2

    25/105

    14/12/06 Introduction UML 25

    Le modle 4+1 vue

    Vue logique Vue d'implmentation

    Vue de dploiementVue des processus

    Vue des cas d'utilisation

  • 8/7/2019 Cours Uml 1/2

    26/105

    14/12/06 Introduction UML 26

    Le modle 4+1 vue

    Vue logique Vue d'implmentation

    Vue de dploiementVue des processus

    Vue des cas d'utilisationVue des cas d'utilisation :Description du systme 'vue' par les

    acteurs du systme,Dfinit les besoins des utilisateurs,Unifie les 4 autres vues pour rpondreaux besoins des utilisateurs.

  • 8/7/2019 Cours Uml 1/2

    27/105

    14/12/06 Introduction UML 27

    Le modle 4+1 vue

    Vue logique Vue d'implmentation

    Vue de dploiementVue des processus

    Vue des cas d'utilisationVue logique :Modlise les mcanismes principaux du systme,Se concentre sur l'abstraction et l'encapsulation,

    Identifie les lments du domaine et comment ilsinteragissent ,Catgorise ces lments.

    L dl 4 1

  • 8/7/2019 Cours Uml 1/2

    28/105

    14/12/06 Introduction UML 28

    Le modle 4+1 vue

    Vue logique Vue d'implmentation

    Vue de dploiementVue des processus

    Vue des cas d'utilisation

    Vue des processus :Importante dans les systmes multi-tchesou distribus (ex architecture client/serveur)- dcompose le systme en processus,- dcrit les interactions entre processus,- rsout les problmes de synchronisation.

    L dl 4 1

  • 8/7/2019 Cours Uml 1/2

    29/105

    14/12/06 Introduction UML 29

    Le modle 4+1 vue

    Vue logique Vue d'implmentation

    Vue de dploiementVue des processus

    Vue des cas d'utilisation

    Vue de dploiement :Dcrit les ressources matrielles et la rpartitiondu logiciel dans ces ressources :- disposition et nature des matriels,- rpartition du logiciel sur les noeuds,- exigences en termes de performances.

    L dl 4 1

  • 8/7/2019 Cours Uml 1/2

    30/105

    14/12/06 Introduction UML 30

    Le modle 4+1 vue

    Vue logique Vue d'implmentation

    Vue de dploiementVue des processus

    Vue des cas d'utilisationVue d'implmentation :Appele aussi ''vue de ralisation'',- affecte les lments de modlisation dans les modules,- dcrit l'organisation des composants,- donne les contraintes de dveloppement,- organise les composants en sous-systmes.

    Pl

  • 8/7/2019 Cours Uml 1/2

    31/105

    14/12/06 Introduction UML 31

    Plan

    Introduction gnrale, Meta-modle UML, Notion de vues d'un systme, Diagrammes UML,

    Modliser a ec UML

  • 8/7/2019 Cours Uml 1/2

    32/105

    14/12/06 Introduction UML 32

    Modliser avec UML

    UML dfinit un modle l'aide de diagrammes, Un diagramme = une reprsentation graphique

    d'un aspect du SI, Un diagramme = une structure prcise, Un diagramme = une smantique prcise, Combins, ces diagrammes donnent une vue

    globale du systme selon le modle 4+1 vues etselon les aspects statiques et dynamiques dumodle.

    Caractristiques des

  • 8/7/2019 Cours Uml 1/2

    33/105

    14/12/06 Introduction UML 33

    qdiagrammes

    Supportent l'abstraction : Niveau de dtail => niveau d'abstraction,

    Structure et notation normalise,

    Diagrammes = graphiques !

    Il existe des outils pour les dessiner et les grer, Ces outils permettent galement, dans une certaine

    mesure, de gnrer du code partir des diagrammes

    Diagrammes UML

  • 8/7/2019 Cours Uml 1/2

    34/105

    14/12/06 Introduction UML 34

    Diagrammes UML

    Diagramme

    Diagrammede structure

    Diagrammede comportement

    Diagrammede classes

    Diagrammede composants

    Diagrammed'objets

    Diagrammede structurescomposites

    Diagrammede dploiement

    Diagrammedes paquetages

    UML 1.4.2

    UML 2.0

    Diagrammes UML

  • 8/7/2019 Cours Uml 1/2

    35/105

    14/12/06 Introduction UML 35

    Diagrammes UML

    Diagramme

    Diagrammede structure

    Diagrammede comportement

    Diagrammed'activit

    Diagrammede cas

    d'utilisation

    Diagrammed'tats-transitions

    Diagrammed'interaction

    Diagrammede squence

    Diagramme decommunication

    UML 1.4.2

    UML 2.0

    Diagrammed'interaction

    globale

    Diagrammede temps

    Plan

  • 8/7/2019 Cours Uml 1/2

    36/105

    14/12/06 Introduction UML 36

    Plan

    Introduction gnrale, Meta-modle UML, Notion de vues d'un systme,

    Diagrammes UML, Diagramme des cas d'utilisation, Diagramme des paquetages, Diagramme de classes,

    Diagramme d'objets, Diagramme d'activits, Diagramme d'tats-transitions,

    Diagrammes UML

  • 8/7/2019 Cours Uml 1/2

    37/105

    14/12/06 Introduction UML 37

    Diagrammes UML

    Diagramme

    Diagrammede structure

    Diagrammede comportement

    Diagrammed'activit

    Diagrammede cas

    d'utilisation

    Diagrammed'tats-transitions

    Diagrammed'interaction

    Diagrammede squence

    Diagramme decommunication

    UML 1.4.2

    UML 2.0

    Diagrammed'interaction

    globale

    Diagrammede temps

    Le modle des cas

  • 8/7/2019 Cours Uml 1/2

    38/105

    14/12/06 Introduction UML 38

    d'utilisation

    Solution reprsentant le modle conceptuel : Spcifie les concepts utiliss pour dfinir les

    fonctionnalits d'une entit telle qu'un systme, Dfinit le comportement d'une entit comme un

    systme ou un sous-systme sans spcifier sastructure interne,

    Focalis sur l'objectif des fonctionnalits et limit

    aux proccupations ''relles''des utilisateurs, Structure les besoins des utilisateurs et les

    objectifs correspondant du systme,

    Le modle des cas

  • 8/7/2019 Cours Uml 1/2

    39/105

    14/12/06 Introduction UML 39

    d'utilisation

    Consquences : Identifie les utilisateurs (les acteurs) du systme

    et leur interaction avec ce dernier, Classe les acteurs et structurent les objectifs du

    systme, Sert de base la traabilit des exigences d'un

    systme dans un processus de dveloppement

    intgrant UML.Les besoins de l'utilisateur et les objectifs du

    systme sont la proccupation majeure !!

    lments du diagramme de

  • 8/7/2019 Cours Uml 1/2

    40/105

    14/12/06 Introduction UML 40

    cas d'utilisation

    Diagramme compos de six lments : Systme : fixe les limites du systme entre les

    acteurs (externes) et les fonctions (internes), Acteur : rle jou par quelque chose qui intervient

    dans le fonctionnement du systme. Il y a 4catgories d'acteurs : Les acteurs principaux (ex: usager, client, etc), Les acteurs secondaires (ex: oprateur de maintenance,

    administrateur, etc), Le matriel externe (ex: capteur, imprimante, etc), Les autres systmes (ex: serveur, etc),

    lments du diagramme ded' ili i

  • 8/7/2019 Cours Uml 1/2

    41/105

    14/12/06 Introduction UML 41

    cas d'utilisation Cas d'utilisation : identifie une fonction cl du

    systme. Ce dernier doit pouvoir l'accomplir, Dpendance : identifie une relation de

    communication entre deux cas d'utilisation,

    Gnralisation : dfinit une relation entre 2 acteursou 2 cas d'utilisations lorsque l'un d'entre eux hritede l'autre,

    Association : identifie une interaction entre lesacteurs et les cas d'utilisation. Elle doit tre expliquedans une description narrative qui fournit unensemble de scnarios. Ces derniers jouent le rle detest lors de l'valuation de l'analyse, la conception etl'valuation du cas d'utilisation.

    Notations du diagramme ded' tili ti

  • 8/7/2019 Cours Uml 1/2

    42/105

    14/12/06 Introduction UML 42

    cas d'utilisation

    Acteur

    Systme Cas d'utilisation

    Dpendance

    Gnralisation

    Association

    Le systme de casd' tili ti

  • 8/7/2019 Cours Uml 1/2

    43/105

    14/12/06 Introduction UML 43

    d'utilisation

    Le systme fournit un contexte dans lequel etautour duquel les lments qui interviennentdans la construction du systme sont placs,

    L'interface du systme est ici importante, non la

    manire dont ce dernier est ensuite implment, Les interfaces sont les canaux de communication

    entre les acteurs du systme et les lments dusystme lui-mme : les cas d'utilisation,

    Parfois, le systme n'est pas reprsent dans lesdiagrammes de cas d'utilisation.

    Les acteurs du casd' tili ti

  • 8/7/2019 Cours Uml 1/2

    44/105

    14/12/06 Introduction UML 44

    d'utilisation

    Ce sont des personnes ou de systmes, Plus exactement, il s'agit de rles jous par une

    entit externe en relation avec le systme. Les icnes employes varient :

    Personne

    Systme RH

    ImprimanteSystme Matriel

    Les cas d'utilisation

  • 8/7/2019 Cours Uml 1/2

    45/105

    14/12/06 Introduction UML 45

    Fonctions que le systme doit accomplir, Syntagme verbal exprimant le but accomplir,

    Par exemple : ''Dposer de l'argent'',

    ''Retirer de l'argent'',

    ''Mettre jour le compte'',

    Cas d'utilisation : seulement les fonctions visibles

    du systme (cad perues par les acteurs).

    Les associations

  • 8/7/2019 Cours Uml 1/2

    46/105

    14/12/06 Introduction UML 46

    Relie un acteur un cas d'utilisation, Indique que l'acteur communique avec le cas

    d'utilisation, C'est une association bidirectionnelle,

    L'acteur accde au cas d'utilisation, Le cas d'utilisation fournit des fonctionnalits

    l'acteur.

    Les strotypes et lesdpendances

  • 8/7/2019 Cours Uml 1/2

    47/105

    14/12/06 Introduction UML 47

    dpendances

    Strotypes : nots , Etendent UML sans le modifier,

    Qualificateurs des lments d'un modle, Donnent plus d'information, N'agissent pas sur l'implmentation des lments.

    Strotype : Indique qu'un cas d'utilisation dlgue une tche un

    autre : dpendance forte !

    RetraitMaj

    Compte

    Les strotypes et lesdpendances

  • 8/7/2019 Cours Uml 1/2

    48/105

    14/12/06 Introduction UML 48

    dpendances

    Strotype , Indique qu'un cas pourrait avoir besoin d'un autre,

    Dpendance faible car conditionnelle, Le sens de la flche est invers par rapport au

    strotype , Indique que le cas source tends les objectifs du cas

    destination,

    Payer uncaf

    Rendre lamonnaie

    La gnralisation

  • 8/7/2019 Cours Uml 1/2

    49/105

    14/12/06 Introduction UML 49

    g

    Notion d'hritage applique aux cas d'utilisation, Appel aussi relation ''est un'', Ligne pleine termine par un triangle vide,

    Le triangle est toujours du ct de l'origine del'hritage.Payer uneboisson

    Payer uncaf

    Construction du diagrammedes cas d'utilisation

  • 8/7/2019 Cours Uml 1/2

    50/105

    14/12/06 Introduction UML 50

    des cas d utilisation

    1.Dfinition du contexte,

    2.Identification des acteurs,

    3.Identification des cas d'utilisation,

    4.Dfinition des associations entre cas et acteurs,5.Trouver les amliorations possibles,

    6.Evaluation des dpendances ,

    7.Evaluation des dpendances ,8.Trouver les opportunits de gnralisation.

    La description narrative

  • 8/7/2019 Cours Uml 1/2

    51/105

    14/12/06 Introduction UML 51

    Elle accompagne le modle des cas d'utilisation. Plusieurs mthodologies existent pour crer la

    description narrative, Les lments communs sont les suivants :

    Prsupposs, Prconditions,

    Dmarrage,

    Processus ou dialogue, Arrt, Postconditions

    Elments de la descriptionnarrative

  • 8/7/2019 Cours Uml 1/2

    52/105

    14/12/06 Introduction UML 52

    narrative

    Prsupposs : tat du systme requis par le cas d'utilisation pour

    permettre son application,

    Prconditions :

    Tests prliminaires effectus par le cas d'utilisationavant son dmarrage,

    Dmarrage :

    Recenser les actions lanant le cas d'utilisation, Tous les acteurs ne dmarrent pas ncessairement le

    cas d'utilisation de la mme manire !

    Elments de la descriptionnarrative

  • 8/7/2019 Cours Uml 1/2

    53/105

    14/12/06 Introduction UML 53

    narrative Dialogue :

    Description pas pas de la conversation entre le casd'utilisation et l'acteur,

    Cette squence est souvent modlise l'aide d'undiagramme d'activit,

    Permet de dcouvrir les tapes ncessaires ainsi queles variantes de dialogue.

    Arrt :

    Conditions d'arrt (arrt normal, erreurs, etc ...) Postconditions :

    Etat dans lequel le systme se trouve l'arrt du cas.

    Les scnarios de casd'utilisation

  • 8/7/2019 Cours Uml 1/2

    54/105

    14/12/06 Introduction UML 54

    d utilisation

    Compltent l'tude des cas d'utilisation, Un scnario : un droulement possible du cas, Plusieurs scnarios pour un cas d'utilisation,

    Identifis partir d'un description narrative ou partir d'un diagramme d'activit dcrivant le cas, Les scnarios aident construire les plans de

    test des cas d'utilisation, Lors de leur identification, viter les redondances

    Dcomposer en chemin indpendants.

    Diagrammes UML

  • 8/7/2019 Cours Uml 1/2

    55/105

    14/12/06 Introduction UML 55

    Diagramme

    Diagrammede structure

    Diagrammede comportement

    Diagrammede classes

    Diagrammede composants

    Diagrammed'objets

    Diagrammede structurescomposites

    Diagrammede dploiement

    Diagrammedes paquetages

    UML 1.4.2

    UML 2.0

    Les paquetages (packages)

  • 8/7/2019 Cours Uml 1/2

    56/105

    14/12/06 Introduction UML 56

    lments d'organisation du modle, Regroupent les lments de modlisation suivant

    des critres logiques, Encapsulent les lments de modlisation, Structurent un systme en catgories et sous-

    systmes, Constituant de base d'une architecture, Bon niveau de granularit pour la rutilisation, Sont aussi des espaces de noms.

    Le diagramme de paquetage

  • 8/7/2019 Cours Uml 1/2

    57/105

    14/12/06 Introduction UML 57

    N'apparat pas dans UML 1.4.2, Pourtant les paquetages sont dfinis et utiliss ! Dj reprsents en pratique, UML 2.0 les introduit de manire cadre et structure.

    lments constitutifs : Paquetages,

    Dpendances, et dpendances strotypes : Fusions (PackageMerge), Imports (PackageImport).

    Relations entre paquetages

  • 8/7/2019 Cours Uml 1/2

    58/105

    14/12/06 Introduction UML 58

    Reprsentation d'un paquetage :

    Dpendance :

    Calcul matricielMaths

    Nom_paquetage

    Types

    Integer

    Time

    Types

    Integer Time

    Relations entre paquetages

  • 8/7/2019 Cours Uml 1/2

    59/105

    14/12/06 Introduction UML 59

    Fusion de paquetages : Le contenu des deux paquetages est combin,

    Deux dfinitions diffrentes d'un mme conceptreprsentant deux aspects diffrents,

    Il s'agit d'un mcanisme d'extension,

    BA

    Relations entre paquetages

  • 8/7/2019 Cours Uml 1/2

    60/105

    14/12/06 Introduction UML 60

    Import de paquetages : Import des lments du paquetage dans l'espace de

    nommage du paquetage de destination, Import public ou priv :

    Strotype pour import public, Strotype pour import priv,

    VectorStd

    Diagrammes UML

  • 8/7/2019 Cours Uml 1/2

    61/105

    14/12/06 Introduction UML 61

    Diagramme

    Diagrammede structure

    Diagrammede comportement

    Diagrammede classes

    Diagrammede composants

    Diagrammed'objets

    Diagrammede structurescomposites

    Diagrammede dploiement

    Diagrammedes paquetages

    UML 1.4.2

    UML 2.0

    Diagramme de classes

  • 8/7/2019 Cours Uml 1/2

    62/105

    14/12/06 Introduction UML 62

    Le plus connus des diagrammes de conception

    oriente objets, Utilis ultrieurement pour la gnration automatique

    de code,

    Important pour le dveloppement,

    Reprsente les classes, leur composants et lafaon dont ces classes sont relies,

    Une classe : dfinition d'un type d'objet

    Les classes

  • 8/7/2019 Cours Uml 1/2

    63/105

    14/12/06 Introduction UML 63

    Classe : type abstrait caractris par des

    proprits (membres) : Attributs : donnes,

    Oprations : (mthodes) traitements appliqus sur les

    donnes. Reprsentation :

    ClasseClasse

    Liste Attributs

    Liste OprationsClasse nondocumente

    Classedocumente

    Attributs d'une classe

  • 8/7/2019 Cours Uml 1/2

    64/105

    14/12/06 Introduction UML 64

    Attribut = nom + type, Visibilit :

    Public (+) : accs possible par n'importe qui,

    Private (-) : accs de l'intrieur de l'objet,

    Protected (#) : accs possible pour un objet d'une sous-classe,

    Package (~) : accs pour les objets appartenant au mme package

    Attributs d'une classe

  • 8/7/2019 Cours Uml 1/2

    65/105

    14/12/06 Introduction UML 65

    Attribut driv (/) : Valeur calcule partir d'autres attributs,

    Contraintes ({...}): Rgles ncessaires pour garantir l'intgrit de

    l'attribut, Attribut de classe (soulign), Un attribut a un nom unique dans une classe, Reprsentation :

    visibilit/nom: type = valeur par dfaut {contraintes}

    Cration d'une spcificationd'attribut

  • 8/7/2019 Cours Uml 1/2

    66/105

    14/12/06 Introduction UML 66

    1.Crer l'attribut,

    matire

    2.Ajouter le type de donnes,

    matire: caractres

    3.Ajouter la valeur par dfaut ventuelle,matire: caractres = IN91

    4.Indiquer les contraintes,

    matire: caractres = IN91 {4 5 caractres}

    5.Ajouter la visibilit,

    -matire: caractres = IN91 {4 5 caractres}

    Oprations d'un classe

  • 8/7/2019 Cours Uml 1/2

    67/105

    14/12/06 Introduction UML 67

    Oprations : Nom + arguments + valeur retour, Notations communes avec les attributs,

    Visibilit (+ - # ~),

    Contraintes ({...}),

    Opration de classe (souligne),

    Reprsentation :

    visibilit nomOperation(nomArgument: type{contraintes},... ): type valeur retour {contraintes}

    Cration d'une spcificationd'opration

  • 8/7/2019 Cours Uml 1/2

    68/105

    14/12/06 Introduction UML 68

    1.Nommer l'opration,

    div_entiere

    2.Dfinir les arguments,

    div_entiere (num: entier, den: entier)

    3.Dfinir le type de la valeur de retour,div_entiere (num: entier, den: entier): entier

    4.Identifier et crire les contraintes,

    div_entiere (num: entier, den: entier { 0}): entier

    5.Indiquer la visibilit de l'opration,

    +div_entiere (num: entier, den: entier { 0}): entier

    Reprsentation complted'une classe

  • 8/7/2019 Cours Uml 1/2

    69/105

    14/12/06 Introduction UML 69

    Fraction

    - numerateur : int = 0

    - dnominateur : int = 1{!=0}

    - /quotientEntier : int = 0

    + getNumerateur() : int

    + setNumerateur(numerateur : int = 0) : void

    + getDenominateur() : int

    + setDenominateur(denominateur : int = 1 {!=0} ) : void

    + getQuotientEntier() : int

    Associations de classes

  • 8/7/2019 Cours Uml 1/2

    70/105

    14/12/06 Introduction UML 70

    Dcrite par un verbe ou un syntagme verbal, Ncessite 4 lments :

    Les classes participantes,

    L'association reprsente par une ligne,

    Le nom de l'association, La direction de lecture.

    Personne VoiturePossde

    Associations de classes

  • 8/7/2019 Cours Uml 1/2

    71/105

    14/12/06 Introduction UML 71

    Les cardinalits (multiplicities): Affectes chacune des classes participant

    l'association, Exprimes de diffrentes manires :

    Minimum..Maximumval1,val2,val3

    Indications inverses par rapport la notationMerise !

    Personne VoiturePossde

    1..1 0..*

    Associations de classes

  • 8/7/2019 Cours Uml 1/2

    72/105

    14/12/06 Introduction UML 72

    Associations n-aires : Relient plus de 2 classes, Sont peu utilises en raison de leur complexit, Souvent promues au rang de classe d'association,

    Professeur

    Etudiant Salle

    1

    1..* 1

    Associations de classes

  • 8/7/2019 Cours Uml 1/2

    73/105

    14/12/06 Introduction UML 73

    Utilisation des rles : Permet de qualifier au mieux la relation, Les rles engendrent du code pour permettre la

    diffrenciation

    Personne Projet M1Participe

    Participe

    Participe

    Tuteur

    Elve

    Expert

    Associations de classes

  • 8/7/2019 Cours Uml 1/2

    74/105

    14/12/06 Introduction UML 74

    Contraintes d'association : Notes entre accolades :

    Les classes d'associations :

    Personne VoiturePossde

    1..1 0..*{ a un permis

    de conduire }

    Client ProduitCommande

    0..* 0..*

    Commande

    Associations de classes

  • 8/7/2019 Cours Uml 1/2

    75/105

    14/12/06 Introduction UML 75

    Associations rflexives : S'applique des objets d'une mme classe, Peut s'exprimer l'aide de rles ou d'un syntagme

    verbal,

    Etudiant

    Encadre

    0..*

    0..1 Etudiant

    0..*

    0..1

    Etudiant 1er et 2nd cycle

    Charg de TD

    Association de classes

  • 8/7/2019 Cours Uml 1/2

    76/105

    14/12/06 Introduction UML 76

    Associations qualifies : Fonctions similaires celles des index, Un objet utilise le qualificateur pour accder l'autre

    type d'objet qualifi,

    Le qualificateur est gnralement un nom d'attribut del'autre classe.

    EtudiantPasse

    1..*0..1

    Partiel

    -matiere: caractres

    Partiel

    matiere: caractres

    Etudiant PartielPasse

    1..* 1..*

    Agrgations de classes

  • 8/7/2019 Cours Uml 1/2

    77/105

    14/12/06 Introduction UML 77

    L'Agrgation est un type d'association, Les objets impliqus sont assembls ou

    configurs pour crer de nouveaux objets, Il s'agit d'une entit unique,

    Le contrle est assur par un des objets, L'intgrit de la configuration est protge

    Reprsentation : un losange vide

    Les rles et les contraintes sont conservesEtudiant Groupe TD

    Membre

    1..* 0..*

    Compositions de classes

  • 8/7/2019 Cours Uml 1/2

    78/105

    14/12/06 Introduction UML 78

    Forme d'agrgation : Chaque partie n'est membre que d'un agrgat, La suppression de l'objet matre entrane la

    suppression des autres parties de l'agrgat

    Reprsentation : un losange rempli

    Chapitre Livre1..* 1..1

    Gnralisation

  • 8/7/2019 Cours Uml 1/2

    79/105

    14/12/06 Introduction UML 79

    La gnralisation est aussi appele hritage, La gnralisation n'est pas une association, Elle lie les classes lorsqu'une classe contient un

    sous-ensemble d'lment ncessaire une

    autre.Language programmation

    Language procduralLanguage objet

    C

    C++SmalltalkJava

    Gnralisation : dfinitions

  • 8/7/2019 Cours Uml 1/2

    80/105

    14/12/06 Introduction UML 80

    Superclasse : classe dont on hrite, Sous-classe : classe qui hrite d'une

    superclasse, Classe abstraite : classe contenant une interface

    mais ne pouvant s'instancier, Classe concrte : classe contenant une

    implmentation,

    Discriminant : attribut ou rgle dcrivant la faondont est identifi l'ensemble des sous-classesd'une superclasse.

    Gnralisation et discriminant

  • 8/7/2019 Cours Uml 1/2

    81/105

    14/12/06 Introduction UML 81

    Notation des discriminants : Plac sur la ligne reliant les sous-classes leur

    superclasse

    Arbre

    Pommier Chne Sapin

    espces

    Diagramme de classes

    L di d l l t l

  • 8/7/2019 Cours Uml 1/2

    82/105

    14/12/06 Introduction UML 82

    Le diagramme de classes : un rle central au

    niveau du dveloppement. Il est paul par lesautres diagrammes : Les cas d'utilisation aident dterminer les classes,

    Les diagrammes de squence et de collaborationsaident dterminer les interfaces des objets, Le diagramme d'activit dcrit le comportement

    interne des objets et l'enchanement des oprations.

    Ce diagramme est test l'aide du diagrammedes objets.

    Diagrammes UML

  • 8/7/2019 Cours Uml 1/2

    83/105

    14/12/06 Introduction UML 83

    Diagramme

    Diagrammede structure

    Diagrammede comportement

    Diagrammede classes

    Diagrammede composants

    Diagrammed'objets

    Diagrammede structurescomposites

    Diagrammede dploiement

    Diagrammedes paquetages

    UML 1.4.2

    UML 2.0

    Diagramme d'objets

    O til d h h t d t t

  • 8/7/2019 Cours Uml 1/2

    84/105

    14/12/06 Introduction UML 84

    Outil de recherche et de tests : Aide la conceptualisation par le biais d'exemples, Aide tester le modle donn par le diagramme des

    classes.

    Diagramme de classes : rgles dfinissant lesrelations entre les classes, Diagramme des objets : faits tangibles et rels.

    Objets : instances de classes,

    Sont utiliss pour monter un contexte particulier,

    Diagramme d'objets

    D l t

  • 8/7/2019 Cours Uml 1/2

    85/105

    14/12/06 Introduction UML 85

    Deux lments : Les objets (instances de classes), Les liens (relations smantiques) entre ces objets.

    Reprsentations d'une instance :

    Nom : identifiant: classe, 2 compartiments seulement : nom et attributs

    Eau: Molcule

    : MolculeEau: Molcule

    -MasseMolaire: entier = 18-Densit: float = 1-Formule: caractres = H2O

    Diagramme d'objets

    Reprsentation des liens :

  • 8/7/2019 Cours Uml 1/2

    86/105

    14/12/06 Introduction UML 86

    Reprsentation des liens : Les cardinalits ''clatent'', Les liens sont de un un, Les rles peuvent tre utiliss,

    Les liens peuvent tre nomms

    Eau: Molcule

    Oxygne: Atome

    Hydrogne: Atome

    Hydrogne: Atome

    Contient

    Diagrammes UML

  • 8/7/2019 Cours Uml 1/2

    87/105

    14/12/06 Introduction UML 87

    Diagramme

    Diagrammede structure

    Diagrammede comportement

    Diagrammed'activit

    Diagrammede cas

    d'utilisation

    Diagrammed'tats-transitions

    Diagrammed'interaction

    Diagrammede squence

    Diagramme decommunication

    UML 1.4.2

    UML 2.0

    Diagrammed'interaction

    globale

    Diagrammede temps

    Diagramme d'activit

    Reprsentation graphique du comportement

  • 8/7/2019 Cours Uml 1/2

    88/105

    14/12/06 Introduction UML 88

    Reprsentation graphique du comportement

    d'une mthode ou du droulement d'un casd'utilisation : Le diagramme d'activits est une variante du

    diagramme tat-transitions,

    Une activit : reprsentation d'excution d'un mcanisme, une liste

    d'tapes se droulant de manire squentielle,

    Passage d'une activit une autre : transition, Transitions dclenches par la fin d'une activit et

    provoquent le dbut d'une autre,

    Activits et transitions

    Dbut et fin :

  • 8/7/2019 Cours Uml 1/2

    89/105

    14/12/06 Introduction UML 89

    Dbut et fin : Point de dpart : Point d'arrive (peuvent tre multiples) :

    Notation simple :

    Condition surveille :

    Activit Autre Activit

    Transition

    Compiler unprogramme

    Excuter leprogramme

    [Compilation russie]

    Structures de dcision

    Reprsentent des alternatives :

  • 8/7/2019 Cours Uml 1/2

    90/105

    14/12/06 Introduction UML 90

    Reprsentent des alternatives : La dcision est reprsente par un losange, Les transitions issues du losange sont conditionnelles

    et exclusives

    Points de convergence :

    Redoubler Passer l'annesuivante

    [Moyenne < 10] [Moyenne >= 10]

    Paralllisme

    Possibilit de modliser plusieurs processus

  • 8/7/2019 Cours Uml 1/2

    91/105

    14/12/06 Introduction UML 91

    Possibilit de modliser plusieurs processus

    fonctionnant en parallle (processusconcurrents),

    Fourches (fork) Synchronisation

    Paralllisme

    Les fourches et synchronisations sont aussi

  • 8/7/2019 Cours Uml 1/2

    92/105

    14/12/06 Introduction UML 92

    Les fourches et synchronisations sont aussi

    appele ''barres de synchronisation'',

    Une fourche dclenche l'excution en parallle,

    Les transitions sortantes ont lieu en mme temps,

    La synchronisation attend que toutes les

    branches parallles se soient excutes, La transition sortante n'est franchie que si les

    transitions entrantes sont ralises.

    Diagramme d'activits

    Cycle de dveloppement

  • 8/7/2019 Cours Uml 1/2

    93/105

    14/12/06 Introduction UML 93

    ecrire programme

    compiler programme modif ier programme

    executer programme

    prendre un cafe

    [compilation reussie]

    [compilation echouee]

    Cycle de dveloppement

    Diagrammes UML

    Di

  • 8/7/2019 Cours Uml 1/2

    94/105

    14/12/06 Introduction UML 94

    Diagramme

    Diagrammede structure

    Diagrammede comportement

    Diagrammed'activit

    Diagrammede cas

    d'utilisation

    Diagrammed'tats-transitions

    Diagrammed'interaction

    Diagrammede squence

    Diagramme decommunication

    UML 1.4.2

    UML 2.0

    Diagrammed'interaction

    globale

    Diagrammede temps

    Diagramme d'tat-transitions

    Vu prcdemment : le diagramme d'activits est

  • 8/7/2019 Cours Uml 1/2

    95/105

    14/12/06 Introduction UML 95

    Vu prcdemment : le diagramme d activits est

    une variante du diagramme d'tat-transition,

    Dcrit la vie d'un objet, son tat interne,

    Identifie les vnements internes et externes quimodifient l'tat de l'objet.

    Diagramme d'tats-transitions

    Reprsente des automates d'tats finis,

  • 8/7/2019 Cours Uml 1/2

    96/105

    14/12/06 Introduction UML 96

    Reprsente des automates d tats finis,

    Reprsentation tats/transitions,

    Un tat se caractrise par sa dure et sa

    stabilit, Transition :

    passage instantan d'un tat un autre, dclenche par un vnement, peut tre conditionnelle,

    Diagramme d'tats-transitions

  • 8/7/2019 Cours Uml 1/2

    97/105

    14/12/06 Introduction UML 97

    Notations communes avec le diagrammed'activits : Dbut et fin,

    Notation quivalente entre tat et activit, Transition conditionnelle, Les barres de synchronisation.

    Diagramme d'tats-transitions

    Super-tat :

  • 8/7/2019 Cours Uml 1/2

    98/105

    14/12/06 Introduction UML 98

    p

    lment de structuration, Englobe d'autres tats et transitions,

    Historique : Mmorise le dernier sous-tat actif d'un super-tat

    pour y revenir ultrieurement, Notation :

    H

    Diagramme d'tats-transitions

  • 8/7/2019 Cours Uml 1/2

    99/105

    14/12/06 Introduction UML 99

    lustrage

    lavage

    schage

    attente H

    Aprs (2 min)

    Aprs (4 min)

    Aprs (2 min)

    Arrt d'urgence

    Arrt d'urgence

    Aprs (2 min)

    Diagramme d'tats-transitions

    Les souches simplifient le diagramme :

  • 8/7/2019 Cours Uml 1/2

    100/105

    14/12/06 Introduction UML 100

    p g

    attente

    Aprs (2 min)

    Arrt d'urgence

    LavageArrt d'urgence

    Aprs (2 min)

    schage

    Aprs (6 min)

    Actions attaches

    Une action peut tre associe l'vnement qui

  • 8/7/2019 Cours Uml 1/2

    101/105

    14/12/06 Introduction UML 101

    dclenche une transition, La transition entrane l'excution de l'action

    spcifie sur l'objet,

    Une action correspond une oprationdisponible dans l'objet dont on reprsente lestats,

    Les actions peuvent tre documentes

    directement l'intrieur d'un tat,

    Actions dans un tat

    Des champs sont dfinis pour dcrire les actions

  • 8/7/2019 Cours Uml 1/2

    102/105

    14/12/06 Introduction UML 102

    dans un tat : entry/action : l'entre

    exit/action : la sortie

    on vnement/action : sur un vnement, do/action : excute dans l'tat

    Saisie mot de passe

    entry/ne plus afficher entres clavierexit/rafficher entres clavieron aide/afficher l'aidedo/grer les saisies de l'utilisateur

    Etats concurrents

    Notation simple : barre de synchronisation,

  • 8/7/2019 Cours Uml 1/2

    103/105

    14/12/06 Introduction UML 103

    Notation complexe : S'effectue sur les transitions l'aide du mot cl ''in'', Spcifie l'tat dans lequel se doit trouver l'autre

    automate pour activer la transition.

    Test 1.1 Test 1.2

    Test 2.1 Test 2.2

    Action dbut Action fin

    Ressources sur UML

    Site officiel d'UML :

  • 8/7/2019 Cours Uml 1/2

    104/105

    14/12/06 Introduction UML 104

    http://www.uml.org/ Site franais sur UML (plus vieux) :

    http://uml.free.fr/

    Site d'IBM sur UML : http://www.ibm.com/software/rational/uml/

    Site officiel de l'OMG : http://www.omg.org/

    Sondage : http://www.volle.com/travaux/gtmodelisation5.htm

    Logiciels de modlisationUML

    Logiciels libres :

    http://www.uml.org/http://uml.free.fr/http://www.ibm.com/software/rational/uml/http://www.omg.org/http://www.volle.com/travaux/gtmodelisation5.htmhttp://www.volle.com/travaux/gtmodelisation5.htmhttp://www.omg.org/http://www.ibm.com/software/rational/uml/http://uml.free.fr/http://www.uml.org/
  • 8/7/2019 Cours Uml 1/2

    105/105

    14/12/06 Introduction UML 105

    Umbrello : http://uml.sourceforge.net/ ArgoUML : http://argouml.tigris.org/ BoUML : http://bouml.free.fr/

    Logiciels propritaires : Poseidon : http://www.gentleware.com/

    Rational rose : http://www.rational.com/ Together : http://www.borland.com/

    http://uml.sourceforge.net/http://argouml.tigris.org/http://bouml.free.fr/http://www.gentleware.com/http://www.rational.com/http://www.borland.com/http://www.borland.com/http://www.rational.com/http://www.gentleware.com/http://bouml.free.fr/http://argouml.tigris.org/http://uml.sourceforge.net/