UML : diagrammes de composants et de déploiement · 2020. 7. 26. · UML: diagrammes de composants...

27
UML : diagrammes de composants et de eploiement Achref El Mouelhi Docteur de l’universit ´ e d’Aix-Marseille Chercheur en programmation par contrainte (IA) Ing ´ enieur en g ´ enie logiciel [email protected] H & H: Research and Training 1 / 25

Transcript of UML : diagrammes de composants et de déploiement · 2020. 7. 26. · UML: diagrammes de composants...

  • UML : diagrammes de composants et dedéploiement

    Achref El Mouelhi

    Docteur de l’université d’Aix-MarseilleChercheur en programmation par contrainte (IA)

    Ingénieur en génie logiciel

    [email protected]

    H & H: Research and Training 1 / 25

  • Plan

    1 Le diagramme de composants

    2 Le diagramme de déploiement

    H & H: Research and Training 2 / 25

  • © Achref

    EL MOUE

    LHI©

    Le diagramme de composants

    UML

    Le diagramme de composants

    Un diagramme de structure d’UML (statique)

    Décrivant les dépendances physique et statique d’une applicationen terme de composants : fichiers sources (.java, .cpp, .h,.cs...) librairies (dll, jar...), exécutables...

    Utilisé pour éviter de parler de classes, ou de packages

    H & H: Research and Training 3 / 25

  • © Achref

    EL MOUE

    LHI©

    Le diagramme de composants

    UML

    Mots-clés associés

    Composant

    Interface (identique à celle du diagramme de classe)

    Port

    Dépendance (association identique à celle du diagramme declasse)

    H & H: Research and Training 4 / 25

  • © Achref

    EL MOUE

    LHI©

    Le diagramme de composants

    UML

    Composant ?

    Unité autonome fournissant un service bien précis

    Représenté en UML par un classeur [+ un stéréotype]

    Comportant une ou plusieurs interfaces requises ou offertes

    Pouvant contenir d’autres composants

    Composé de deux parties :

    une partie masquée : ensemble de classes

    une partie visible : ensemble d’interfaces

    H & H: Research and Training 5 / 25

  • © Achref

    EL MOUE

    LHI©

    Le diagramme de composants

    UML

    Deux présentations possibles d’un composant en UML

    NomComposant

    NomComposant

    Remarque

    Pas besoin d’un stéréotype dans la premièrereprésentation

    H & H: Research and Training 6 / 25

  • © Achref

    EL MOUE

    LHI©

    Le diagramme de composants

    UML

    Pour visualiser les interfaces requise et offerte

    NomComposant

    NomComposant

    Explication

    interface requise : représentée par un demi-cercle

    interface offerte : représentée par un cercle

    H & H: Research and Training 7 / 25

  • © Achref

    EL MOUE

    LHI©

    Le diagramme de composants

    UML

    On peut visualiser explicitement les ports (emplacement variable)

    NomComposant

    NomComposant

    Port?

    élément graphique

    point de jonction entre le composant (le classeur) et l’interface (ilpeut être lié directement à un port du composant englobant)

    H & H: Research and Training 8 / 25

  • © Achref

    EL MOUE

    LHI©

    Le diagramme de composants

    UML

    Exemple d’un composant permettant de générer de document(diplôme, attestation de réussite...) pour les étudiants

    GénérateurDocumentGénérerDocument AjouterDonnées

    Les interfaces :

    GénérerDocument

    générerPDF()générerDOC()

    AjouterDonnées

    ajouterNotes()ajouterCoefficient()

    H & H: Research and Training 9 / 25

  • © Achref

    EL MOUE

    LHI©

    Le diagramme de composants

    UML

    Explication

    le nom du composant : GénérateurDocument

    interface requise : AjouterDonnées

    interface offerte : GénérerDocument

    GénérateurDocument utilise et dépend de AjouterDonnées :une relation de dépendance

    GénérateurDocument réalise et implémente les méthodes deGénérerDocument : une relation d’héritage

    H & H: Research and Training 10 / 25

  • © Achref

    EL MOUE

    LHI©

    Le diagramme de composants

    UML

    On peut représenter explicitement la relation avec les interfaces

    GénérateurDocument

    GénérerDocument

    générerPDF()générerDOC()

    AjouterDonnées

    ajouterNotes()ajouterCoefficient()

    H & H: Research and Training 11 / 25

  • © Achref

    EL MOUE

    LHI©

    Le diagramme de composants

    UMLUn composant peut être composé de plusieurs autres composants

    (Source : UML 2 de l’apprentissage à la pratique de Laurent Audibert)

    H & H: Research and Training 12 / 25

  • © Achref

    EL MOUE

    LHI©

    Le diagramme de composants

    UML

    On peut aussi montrer les dépendances entre les composants sansmentionner les interfaces

    (Source : UML 2 de l’apprentissage à la pratique de Laurent Audibert)

    H & H: Research and Training 13 / 25

  • © Achref

    EL MOUE

    LHI©

    Le diagramme de déploiement

    UML

    Le diagramme de déploiement

    Un diagramme de structure d’UML (statique)

    Décrivant l’architecture physique ainsi que les relations entre lescomposants logiciels et matériels d’une application

    Expliquant le déploiement de l’application en terme de réseau etcommunication

    H & H: Research and Training 14 / 25

  • © Achref

    EL MOUE

    LHI©

    Le diagramme de déploiement

    UML

    Mots-clés associés

    Nœud

    Lien

    Stéréotype

    Artefact

    Composant

    H & H: Research and Training 15 / 25

  • © Achref

    EL MOUE

    LHI©

    Le diagramme de déploiement

    UMLNœud?

    Composant mécanique : ordinateur, serveur, imprimante,environnement d’exécution...

    Pouvant contenir d’autres nœuds ou artefacts

    Représenté par des cubes

    NomNœud

    H & H: Research and Training 16 / 25

  • © Achref

    EL MOUE

    LHI©

    Le diagramme de déploiement

    UML

    Exemple d’un nœud et une instance de nœud

    PC Ordianteur1:PC

    Un nœud Une instance de nœud

    H & H: Research and Training 17 / 25

  • © Achref

    EL MOUE

    LHI©

    Le diagramme de déploiement

    UML

    Lien?

    élément permettant de connecter les nœuds

    PC Printer

    H & H: Research and Training 18 / 25

  • © Achref

    EL MOUE

    LHI©

    Le diagramme de déploiement

    UML

    Lien?

    élément permettant de connecter les nœuds

    PC Printer

    H & H: Research and Training 18 / 25

  • © Achref

    EL MOUE

    LHI©

    Le diagramme de déploiement

    UML

    On peut aussi définir la multiplicité

    PC

    11..*

    Printer

    H & H: Research and Training 19 / 25

  • © Achref

    EL MOUE

    LHI©

    Le diagramme de déploiement

    UML

    Un nœud peut contenir d’autres nœuds

    :PC

    :Browser

    H & H: Research and Training 20 / 25

  • © Achref

    EL MOUE

    LHI©

    Le diagramme de déploiement

    UMLUn nœud peut contenir aussi un artefact

    :PC

    :Browser

    index.html

    Artefact?

    Élément concret de l’application (fichier contenant du codesource, table d’une base de données, script...)

    Pouvant manifester : résulter et implémenter un élément demodèle.

    H & H: Research and Training 21 / 25

  • © Achref

    EL MOUE

    LHI©

    Le diagramme de déploiement

    UMLUn nœud peut contenir aussi un artefact

    :PC

    :Browser

    index.html

    Artefact?

    Élément concret de l’application (fichier contenant du codesource, table d’une base de données, script...)

    Pouvant manifester : résulter et implémenter un élément demodèle.

    H & H: Research and Training 21 / 25

  • © Achref

    EL MOUE

    LHI©

    Le diagramme de déploiement

    UML

    Un artefact qui manifeste un composant

    :PC

    :Browser

    index.html

    Home

    H & H: Research and Training 22 / 25

  • © Achref

    EL MOUE

    LHI©

    Le diagramme de déploiement

    UML

    Un artefact déployé dans un nœud peut être représenté enutilisant le stéréotype

    Commande.jar

    Authentification.jar

    ApplicationServer

    H & H: Research and Training 23 / 25

  • © Achref

    EL MOUE

    LHI©

    Le diagramme de déploiement

    UML

    On peut aussi les représenter à l’intérieur du nœud

    Commande.jar

    Authentification.jar

    ApplicationServer

    H & H: Research and Training 24 / 25

  • © Achref

    EL MOUE

    LHI©

    Le diagramme de déploiement

    Un exemple de diagramme de déploiement d’une application web

    PC

    Browser

    **

    Commande.jar

    Authentification.jar

    ApplicationServer

    DataBaseServer

    H & H: Research and Training 25 / 25

    Le diagramme de composantsLe diagramme de déploiement