You are on page 1of 33

Université du Littoral Côte d’Opale MCOO – Diagrammes UML

L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Introduction à UML Orientée Objet
[Vue Fonctionnelle]
case might require simultaneous (concurrent) action by two separate actors (e.g., in launching a nuclear missile) or it
might require complementary and successive actions by the actors (e.g., one actor starting something and the other one
A. Lewandowski A. Lewandowski
Présentation des différents diagrammes stopping it).

Diagramme de cas d’utilisation


Notation
A use case is shown as an ellipse, either containing the name of the use case or with the name of the use case placed

Diagramme
(Use case)
below the ellipse. An optional stereotype keyword may be placed above the name and a list of properties included below
the name. If a subject (or system boundary) is displayed, the use case ellipse is visually located inside the system
boundary rectangle. Note that this does not necessarily mean that the subject classifier owns the contained use cases, but
merely that the use case applies to that classifier. For example, the use cases shown in Figure 16.5 on page 592 apply to
Introduction Introduction the “ATMsystem” classifier but are owned by various packages as shown in Figure 16.7.

Concepts de base Concepts de base


Diagramme Diagramme «subsystem»
Diagrammes UML Structurel Comportemental Diagrammes UML ATMsystem
0..1
Introduction à UML Introduction à UML Withdraw
1
Diagramme de cas Diagramme de cas
d’utilisation d’utilisation 1
Diagramme de classes Diagramme de classes 0..1
1
Diagramme de Diagramme de Diagramme Diagramme Diagramme de Diagramme Customer Transfer Funds
Diagramme de Diagramme de
packages classes composants d'objets d'activités cas d'utilisation d'états packages
Diagramme d’objets Diagramme d’objets
Diagramme de 0..1 1
Diagramme de Diagramme de Diagramme de Diagramme Diagramme de Deposit
structure Money
communication composite packages déploiement d'Interaction communication 0..*
Diagramme de Diagramme de 1
séquence séquence Bank
1 0..1 Register ATM
Diagramme d’activité Diagramme d’activité
1 at Bank 0..*
Diagramme d’états Diagramme
Diagramme d’états
Autres diagrammes Diagramme de Autres diagrammes
global Administrator
séquence d'interactions 0..1
Démarche de Démarche de Read Log
conception OO Diagramme de Diagramme de conception OO
communication timing
Figure 16.5 - Example of the use cases and actors for an ATM system

46 57

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de cas d’utilisation Orientée Objet
Diagramme de cas d’utilisation
A. Lewandowski A. Lewandowski
Use Case 592 Les éléments du diagramme
UML Superstructure Specification, v2.1.1

• Utilisé pour
• Le diagramme est constitué de
Introduction • recueillir, analyser et organiser les besoins Introduction
• système
• recenser les fonctionnalités d’un système
Concepts de base Concepts de base • acteurs
• ce qu’il devra faire (et pas « comment »)
Diagrammes UML Diagrammes UML • cas d’utilisation
Introduction à UML • description du comportement sous forme Introduction à UML Visual Paradigm for UML Community Edition [not for commercial use]
Diagramme de cas Diagramme de cas
d’utilisation d’actions/réactions d’utilisation • Exemple : système Boutique en ligne
Diagramme de classes
Diagramme de
• vision plutôt orientée « utilisateur » Diagramme de classes
Diagramme de
packages packages
Diagramme d’objets • déterminer les limites du système Diagramme d’objets
Diagramme de Diagramme de
communication communication
Diagramme de
séquence
• Pour le construire Diagramme de
séquence
Acheter CD

Diagramme d’activité Diagramme d’activité Client


Diagramme d’états • identifier les rôles qui interagissent avec (acteurs) Diagramme d’états
Autres diagrammes Autres diagrammes
• déterminer les grandes catégories d’utilisation (Use acteur
Démarche de Démarche de
conception OO cases) conception OO
• décrire textuellement les interactions (scénarios) cas d'utilisation

58 59

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de cas d’utilisation Orientée Objet
Diagramme de cas d’utilisation
A. Lewandowski A. Lewandowski
Les Acteurs Les Acteurs

Qu’est-ce qu’un acteur ?


Représentation
Introduction • abstraction d’un rôle joué par des entités externes Introduction

Concepts de base (utilisateur, dispositif matériel, etc.) Concepts de base

Diagrammes UML Diagrammes UML


Introduction à UML • il interagit directement avec le système Introduction à UML mot-clé
Diagramme de cas Diagramme de cas
d’utilisation
• il est actif (prend des décisions, initiatives, etc.) d’utilisation acteurs
Diagramme de classes Diagramme de classes
Diagramme de Diagramme de non-humains
packages packages

stick man
Diagramme d’objets Diagramme d’objets
Diagramme de Diagramme de
communication
• Attention : acteur 6= utilisateur communication
Diagramme de
séquence
Diagramme de
séquence «actor»
• une personne peut jouer plusieurs rôles Client
Diagramme d’activité
Diagramme d’états
Diagramme d’activité
Diagramme d’états Banque
Autres diagrammes (acteurs) Autres diagrammes

Démarche de • plusieurs personnes peuvent jouer le même Démarche de


conception OO conception OO
Client rôle
• un acteur n’est pas forcément « humain »

60 61

1
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de cas d’utilisation Orientée Objet
Diagramme de cas d’utilisation
A. Lewandowski A. Lewandowski
Les Use Cases Les scénarios
Scénarios
• séquence particulière de messages dans le CU
Un cas d’utilisation :
Introduction Introduction
• « chemin » particulier
• fonctionnalité du système déclenchée par un acteur • peut être vu comme une instance du CU
Concepts de base Concepts de base
externe
Diagrammes UML Diagrammes UML • tous les scénarios d’un CU sont issus du même acteur et
Introduction à UML
Diagramme de cas
• modélise un ensemble de séquences correspondant à un Introduction à UML
Diagramme de cas ont le même objectif
d’utilisation d’utilisation
même type d’interaction (cas général)
Diagramme de classes
Diagramme de
Diagramme de classes
Diagramme de
• scénarios servent de base aux jeux d’essais
packages packages
Diagramme d’objets Diagramme d’objets
début
Diagramme de
communication Pour identifier les cas d’utilisation : Diagramme de
communication fin normale
Diagramme de Diagramme de
séquence
Diagramme d’activité
• identifier les acteurs et ce qu’ils pourront séquence
Diagramme d’activité
Acheter
Diagramme d’états
Autres diagrammes CD
faire avec le système (intentions métier) Diagramme d’états
Autres diagrammes

Démarche de • déterminer les séquences d’interactions ou Démarche de


conception OO conception OO
scénarios (cf. diagramme de séquence) erreur

62 63

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de cas d’utilisation Orientée Objet
Diagramme de cas d’utilisation
A. Lewandowski A. Lewandowski
Documentation d’un CU Documentation d’un CU

Structuration de la fiche
Introduction Introduction 1 Sommaire d’identification
Concepts de base Fiche de description textuelle d’un CU Concepts de base • obligatoire
Diagrammes UML • pas normalisé par UML, mais fortement recommandé Diagrammes UML • titre, résumé, version, responsable, auteur, etc.
Introduction à UML Introduction à UML
Diagramme de cas
• champs de description (nom, acteur principal, Diagramme de cas 2 Description des scénarios
d’utilisation d’utilisation
Diagramme de classes Diagramme de classes • obligatoire
Diagramme de préconditions, etc.) Diagramme de
packages packages • scénario nominal (déroulement « classique » du CU),
Diagramme d’objets
Diagramme de
• lisible et informel Diagramme d’objets
Diagramme de scénarios alternatifs, scénarios d’erreur, préconditions,
communication communication
Diagramme de • français, phrases descriptives Diagramme de postconditions
séquence séquence
• pas trop long
Diagramme d’activité
Diagramme d’états
Diagramme d’activité
Diagramme d’états
3 Exigences non-fonctionnelles
Autres diagrammes Autres diagrammes
• optionnel (si pertinent)
Démarche de Démarche de
conception OO conception OO • fréquence, disponibilité, confidentialité, performances,
concurrence, contraintes d’interface, etc.

64 65

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de cas d’utilisation Orientée Objet
Diagramme de cas d’utilisation
A. Lewandowski A. Lewandowski
Relations Relations

Relation acteur-acteur
• relation de généralisation/spécialisation
Visual Paradigm for UML Community Edition [not for commercial use]
Introduction
Relation acteur-cas d’utilisation : Introduction

Concepts de base Concepts de base


• l’association : cas où l’acteur participe au cas Boutique en ligne
Diagrammes UML Diagrammes UML
Introduction à UML d’utilisation (peut posséder des multiplicités) Introduction à UML
Diagramme de cas Diagramme de cas
d’utilisation d’utilisation
Diagramme de classes Visual Paradigm for UML Community Edition [not for commercial use] Diagramme de classes
Diagramme de Diagramme de Consulter Produits
packages packages
Internaute
Diagramme d’objets Diagramme d’objets
Diagramme de Diagramme de
communication Acheter CD communication
Diagramme de Diagramme de
séquence séquence
Diagramme d’activité Client Diagramme d’activité
Diagramme d’états Diagramme d’états Acheter CD
Autres diagrammes Autres diagrammes

Démarche de Démarche de Client


conception OO conception OO

66 67

2
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de cas d’utilisation Orientée Objet
Diagramme de cas d’utilisation
A. Lewandowski A. Lewandowski
Relations Relations

Introduction Introduction

Concepts de base Concepts de base


Relation cas d’utilisation-cas d’utilisation :
Diagrammes UML Note : Diagrammes UML • généralisation/spécialisation : principe d’héritage
Introduction à UML Introduction à UML
Diagramme de cas
• les communications externes entre acteurs ne sont pas Diagramme de cas entre CU (éviter)
d’utilisation d’utilisation
Diagramme de classes
Diagramme de modélisés dans les diagrammes d’utilisation
Diagramme de classes
Diagramme de
• l’inclusion : la réalisation d’un CU nécessite la
packages packages
Diagramme d’objets
• seules les interactions acteurs-système sont représentées Diagramme d’objets réalisation d’un autre CU
Diagramme de Diagramme de
communication communication
Diagramme de Diagramme de
• l’extension : le comportement d’un CU peut être
séquence séquence
Diagramme d’activité Diagramme d’activité complété par un autre CU (avec condition éventuelle)
Diagramme d’états Diagramme d’états
Autres diagrammes Autres diagrammes

Démarche de Démarche de
conception OO conception OO

68 69

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de cas d’utilisation Orientée Objet
Diagramme de cas d’utilisation
A. Lewandowski A. Lewandowski
Relations

Exemple :
Visual Paradigm for UML Community Edition [not for commercial use]

Introduction Introduction

Concepts de base Concepts de base


Acheter CD Identification Quelques conseils
Diagrammes UML <<Include>> Diagrammes UML
Introduction à UML
Diagramme de cas
Client
Introduction à UML
Diagramme de cas
• bref et concis !
d’utilisation d’utilisation
Diagramme de classes <<Include>> Diagramme de classes • La vue fonctionnelle sera complétée par d’autres
Diagramme de Diagramme de
packages
Diagramme d’objets
packages
Diagramme d’objets
diagrammes (séquence, activité)
Diagramme de Diagramme de
communication Payer Payer par CB communication
Diagramme de Diagramme de
séquence séquence
Diagramme d’activité Diagramme d’activité
Diagramme d’états Diagramme d’états
<<Extend>>
Autres diagrammes Autres diagrammes
code promotion Payer par Paypal
Démarche de Démarche de
conception OO conception OO
Réduction

70 71

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de cas d’utilisation Orientée Objet
Les diagrammes UML
A. Lewandowski A. Lewandowski

Diagramme

La démarche
Introduction Introduction

Concepts de base
• identifier les acteurs Concepts de base Diagramme Diagramme
Structurel Comportemental
Diagrammes UML • identifier les cas d’utilisation Diagrammes UML
Introduction à UML Introduction à UML
Diagramme de cas
d’utilisation
• construire le diagramme de CU Diagramme de cas
d’utilisation
Diagramme de classes Diagramme de classes Diagramme de Diagramme de Diagramme Diagramme Diagramme de Diagramme
Diagramme de
packages
• décrire textuellement les CU Diagramme de
packages
classes composants d'objets d'activités cas d'utilisation d'états

Diagramme de
Diagramme d’objets Diagramme d’objets Diagramme de Diagramme de Diagramme
Diagramme de • compléter les descriptions par des diagrammes Diagramme de
structure
composite packages déploiement d'Interaction
communication communication
Diagramme de
séquence
dynamiques (activité, séquence) Diagramme de
séquence
Diagramme d’activité Diagramme d’activité
Diagramme d’états • organiser et structurer les CU Diagramme d’états Diagramme de
séquence
Diagramme
global
Autres diagrammes Autres diagrammes d'interactions

Démarche de Démarche de Diagramme de Diagramme de


conception OO conception OO communication timing

73 74

3
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet [Vue Statique] Orientée Objet
Diagramme de classes
A. Lewandowski A. Lewandowski

Diagramme de classes
• Collection d’éléments de modélisation statique
Introduction Introduction • Filtre les aspects dynamique et temporel
Concepts de base Concepts de base
• Pour un modèle complexe, on peut avoir plusieurs
Diagrammes UML Diagrammes UML
Introduction à UML Introduction à UML diagrammes de classes complémentaires
Diagramme de cas
d’utilisation
Diagramme de cas
d’utilisation Par ex :
Diagramme de classes Diagramme de classes
Diagramme de Diagramme de • les classes associées à la réalisation d’un scénario
packages packages
Diagramme d’objets Diagramme d’objets • les classes qui composent un package
Diagramme de Diagramme de
communication communication • la structure hiérarchique d’un ensemble de classes
Diagramme de Diagramme de
séquence séquence • ...
Diagramme d’activité Diagramme d’activité
Diagramme d’états
Autres diagrammes
Diagramme d’états
Autres diagrammes
• permet de modéliser plusieurs niveaux (conceptuel,
Démarche de Démarche de implémentation, etc.)
conception OO conception OO

Figure 7.10 - Features diagram of the Kernel package

75 76

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de classes Orientée Objet
Diagramme de classes
A. Lewandowski A. Lewandowski
Classe Attributs et Opérations

Représentation des attributs :


30 UML Superstructure Specification, v2.1.1
Introduction Représentation d’une classe Une classe Introduction

Concepts de base • rectangle à 3 compartiments Attribut 1


Concepts de base visibilité nom : type [multiplicité] = valeur initiale {propriétés}
Diagrammes UML • nom (singulier, majuscule) Attribut 2 Diagrammes UML
Introduction à UML Introduction à UML
Diagramme de cas • attributs Opération 1 Diagramme de cas
d’utilisation d’utilisation
Diagramme de classes • opérations Opération 2 Diagramme de classes
Diagramme de Diagramme de public + facultatif
packages packages
privé - facultatif
Diagramme d’objets • plus ou moins de détails en fonction des besoins Diagramme d’objets
par défaut: 1 facultatif
Diagramme de Diagramme de protégé #
communication communication
[0..1] élément pouvant être nul ex. {frozen}
Diagramme de Diagramme de
séquence séquence [4] tableau de 4 éléments
Diagramme d’activité Une classe Diagramme d’activité
[2..*] tableau dynamique
Diagramme d’états
Une classe Diagramme d’états
facultatif
Autres diagrammes Autres diagrammes d'au moins 2 éléments
mais impératif
Démarche de Démarche de
conception OO conception OO
pour l'implémentation

77 78

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de classes Orientée Objet
Diagramme de classes
A. Lewandowski A. Lewandowski
Attributs et Opérations Attributs et Opérations

Introduction Introduction Remarques


Représentation des opérations :
Concepts de base Concepts de base • souligné : attribut ou opération statique (de classe)
Diagrammes UML Diagrammes UML
Introduction à UML visibilité nom (liste paramètres) : type retour {propriétés} Introduction à UML
• opération abstraite
Diagramme de cas Diagramme de cas
d’utilisation d’utilisation • opérations = comportement d’une classe ; trouvées
Diagramme de classes Diagramme de classes
Diagramme de
packages • Paramètre : Diagramme de
packages
grâce aux diagrammes d’interaction
Diagramme d’objets Diagramme d’objets
Diagramme de in|out|inout nom : type = valeur par défaut Diagramme de • méthode = implémentation d’une opération
communication communication
Diagramme de
séquence • Propriétés : Diagramme de
séquence
(spécification de l’algorithme)
Diagramme d’activité Diagramme d’activité
Diagramme d’états {frozen}, {abstract}, {sequential}, {query}, etc. Diagramme d’états • pré et post-conditions, descriptions : dans les
Autres diagrammes Autres diagrammes

Démarche de Démarche de
commentaires
conception OO conception OO

79 80

4
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de classes Orientée Objet
Diagramme de classes
A. Lewandowski A. Lewandowski
Attributs et Opérations Relations entre classes

Exemples

Introduction Classe A Introduction Les associations


name: String • connexion sémantique bidirectionnelle entre classes
Concepts de base Voiture Concepts de base
shape: Rectangle
Diagrammes UML portes + size: Integer [0..1]
Diagrammes UML
Introduction à UML carburation Introduction à UML
• abstraction des liens qui existent entre les objets
Diagramme de cas
/area: Integer {readOnly} Diagramme de cas
d’utilisation nb_cv height: Integer = 5 d’utilisation (instances)
Diagramme de classes /consommation {readOnly} width: Integer Diagramme de classes
Diagramme de
packages démarrer()
Diagramme de
packages Exemple :
Diagramme d’objets
accélérer() Diagramme d’objets
Diagramme de Diagramme de
communication freiner() communication
Diagramme de Diagramme de conduit ▶
Personne Voiture
séquence séquence
Diagramme d’activité Classe B Diagramme d’activité
Diagramme d’états Diagramme d’états
Autres diagrammes id {redefines name} Autres diagrammes
shape: Square
Démarche de Démarche de
height = 7
conception OO conception OO
/width

81 82

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de classes Orientée Objet
Diagramme de classes
A. Lewandowski A. Lewandowski
Relations entre classes Relations entre classes

Représentation des associations Exemple


Introduction Introduction

Concepts de base Concepts de base


x..y nom association ▶ x..y
Diagrammes UML Classe 1 Classe 2 Diagrammes UML 0..* ◀ travaille pour 1..* patron
Introduction à UML rôle 1 rôle 2 Introduction à UML Entreprise Personne
employeur employé 0..1
Diagramme de cas
d’utilisation {mots-clés} Diagramme de cas
d’utilisation *
Diagramme de classes Diagramme de classes emploie ▶ dirige ▼
Diagramme de Diagramme de
packages • Nom : forme verbale, avec un sens de lecture packages
employés
Diagramme d’objets Diagramme d’objets
Diagramme de Diagramme de
communication • Rôles : forme nominale, décrit une extrémité de communication
Diagramme de Diagramme de
séquence
Diagramme d’activité
l’association séquence
Diagramme d’activité
Diagramme d’états
• Multiplicité : 1, 0..1, 0..*, 1..*, n..m
Diagramme d’états
Association
Autres diagrammes Autres diagrammes
réflexive
Démarche de Démarche de
conception OO
• Mots clés : set, ordered set, list conception OO

83 84

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de classes Orientée Objet
Diagramme de classes
A. Lewandowski A. Lewandowski
Relations entre classes Relations entre classes

Remarques sur les associations : Les multiplicités :


• Les associations sont indépendantes les unes des autres • 1 : un et un seul
Introduction Introduction
• Les associations sont héritées • 0..1 : zéro ou un (optionnel)
Concepts de base Concepts de base

Diagrammes UML
• Tout objet doit être accessible par un lien Diagrammes UML • m..n : de m à n
Introduction à UML
Diagramme de cas
• Directionnalité des associations Introduction à UML
Diagramme de cas • * : plusieurs
d’utilisation d’utilisation
Diagramme de classes • bidirectionnelles par défaut Diagramme de classes
Diagramme de Diagramme de • 0..* : de zéro à plusieurs
packages • la navigation peut être restreinte à une seule packages
Diagramme d’objets
Diagramme de direction Diagramme d’objets
Diagramme de
• 1..* : de un à plusieurs (au moins un)
communication communication
Diagramme de (association à navigabilité restreinte) Diagramme de
séquence séquence
Diagramme d’activité
Diagramme d’états
Exemple Diagramme d’activité
Diagramme d’états
Exemple
Autres diagrammes Autres diagrammes

Démarche de
vote pour ▶ 0..1
Démarche de
0..* est l'intersection de ▶ 2..*
conception OO * conception OO
Point Droite
Citoyen Candidat

85 86

5
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de classes Orientée Objet
Diagramme de classes
A. Lewandowski A. Lewandowski
Relations entre classes Relations entre classes

Les contraintes
Associations : l’ordre
• Les associations alternatives
Introduction Introduction • Les objets du côté « plusieurs » d’une association n’ont
• contrainte {xor} : ou exclusif pas d’ordre explicite
Concepts de base Concepts de base
• lorsqu’une seule des associations ne peut être instanciée
Diagrammes UML Diagrammes UML • par défaut : contrainte {unordered}
Introduction à UML Introduction à UML
Diagramme de cas Diagramme de cas • On peut les ordonner
d’utilisation Exemple : d’utilisation
Diagramme de classes Diagramme de classes • contrainte {ordered}
Diagramme de Diagramme de
packages packages
Diagramme d’objets Diagramme d’objets
▶ Société
titulaire
Diagramme de Diagramme de
Exemple
a pour
communication communication
Diagramme de Diagramme de
séquence séquence
Diagramme d’activité Compte {xor} Diagramme d’activité
Diagramme d’états Diagramme d’états 1..*
Autres diagrammes
a pou Autres diagrammes Historique Événement
r titulair
Démarche de e ▶ Démarche de {ordered}
conception OO Personne conception OO

87 88

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de classes Orientée Objet
Diagramme de classes
A. Lewandowski A. Lewandowski
Relations entre classes Relations entre classes
Les associations qualifiées
• Sélection d’un sous-ensemble des objets qui participent
à l’association à l’aide d’une clé (attribut) L’Agrégation et la Composition
Introduction Introduction

Concepts de base • Cet attribut (la qualification) fait partie de l’association Concepts de base • Il s’agit d’une association non symétrique (une classe
Diagrammes UML (pas de l’entité) Diagrammes UML joue un rôle plus important que l’autre)
Introduction à UML Introduction à UML
Diagramme de cas Diagramme de cas • Dans quels cas ?
d’utilisation d’utilisation
Diagramme de classes
Banque
Diagramme de classes • une classe B fait partie intégrante d’une classe A
Diagramme de Répertoire Diagramme de
packages
N° compte nom_fichier
packages • une action sur la classe A implique une action sur la
Diagramme d’objets Diagramme d’objets
Diagramme de
communication
* Diagramme de
communication
classe B
Diagramme de est dans ▲ Diagramme de • les valeurs d’attributs de la classe A se propagent dans
séquence séquence
Diagramme d’activité 0..1 Diagramme d’activité les valeurs d’attributs de la clase B
Diagramme d’états Diagramme d’états
Autres diagrammes Personne Fichier Autres diagrammes • les objets de la classe B sont subordonnés à ceux de la
Démarche de Démarche de classe A
conception OO conception OO

◀ est sur
Échiquier ligne
Pièce
colonne 0..1 1..*

89 90

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de classes Orientée Objet
Diagramme de classes
A. Lewandowski A. Lewandowski
Relations entre classes Relations entre classes

L’Agrégation
Exemple
• relation non nommée
Introduction Introduction • Une voiture se compose de roues, portes, d’un moteur,
• relation de type « composé-composant »
Concepts de base Concepts de base d’un chassis, etc.
1..* 0..*
Diagrammes UML
Agrégat Élément
Diagrammes UML • Les roues, les portes et le moteur peuvent être changés
Introduction à UML Introduction à UML
Diagramme de cas
d’utilisation
Diagramme de cas
d’utilisation
durant la vie de la voiture et appartenir à une autre
Diagramme de classes
Diagramme de La Composition Diagramme de classes
Diagramme de
voiture
packages packages
Diagramme d’objets • cas particulier d’agrégation Diagramme d’objets 0..*
Diagramme de Diagramme de Véhicule
communication communication
Diagramme de • composés physiquement contenus par l’agrégat Diagramme de
séquence séquence 0..* 0..*
Diagramme d’activité Diagramme d’activité
Diagramme d’états • implique la multiplicité 0..1 côté agrégat Diagramme d’états
Autres diagrammes Autres diagrammes

Démarche de
1 0..* Démarche de 3,4 3..5 1 1 1
conception OO Composite Élément conception OO
Roue Porte Moteur Chassis Habitacle

• la destruction du composé entraı̂ne celle des composants


91 92

6
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de classes Orientée Objet
Diagramme de classes
A. Lewandowski A. Lewandowski
Relations entre classes Relations entre classes

« Changeabilité » des associations


Introduction Agrégation, Composition, ou simple Association ? Introduction
• Si les liens peuvent changer durant la vie des objets
Concepts de base • Questions à se poser Concepts de base (ajout, destruction), aucune indication
Diagrammes UML • asymétrie et lien de subordination ? Diagrammes UML • Si aucun lien ne peut changer après sa création et son
Introduction à UML Introduction à UML
Diagramme de cas
d’utilisation
agrégation/composition Diagramme de cas
d’utilisation
initialisation, alros propriété {frozen}
Diagramme de classes • indépendance des objets ? association Diagramme de classes
Diagramme de Diagramme de • Si seulement l’ajout de liens est autorisé, alors propriété
packages • propagation d’opérations ou d’attributs du tout vers les packages
Diagramme d’objets
parties ? agrégation/composition
Diagramme d’objets {addOnly}
Diagramme de Diagramme de
communication communication
Diagramme de • création/destruction des parties avec le tout ? Diagramme de Exemple
séquence séquence
Diagramme d’activité composition Diagramme d’activité
Diagramme d’états Diagramme d’états
1..*
Autres diagrammes • Dans le doute, toujours utiliser l’association Autres diagrammes
Historique Événement
Démarche de Démarche de
conception OO conception OO {ordered, addOnly}

93 94

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de classes Orientée Objet
Diagramme de classes
A. Lewandowski A. Lewandowski
Relations entre classes Relations entre classes
Attributs d’associations Classes d’association
• Concept regroupant attributs et associations • Dans quels cas ?
unidirectionnelles • pour ajouter des attributs/opérations à une association
Introduction • Comment choisir Introduction
• associations de type n..n entre deux classes +
Concepts de base • attribut dans la classe : pour les types de données de Concepts de base
informations liées
Diagrammes UML moindre importance Diagrammes UML
• note : la durée de vie des instances dépend de
Introduction à UML Introduction à UML
Diagramme de cas • attribut sur l’association : quand on veut insister sur les Diagramme de cas
d’utilisation d’utilisation l’association
Diagramme de classes classes Diagramme de classes
Diagramme de
packages Exemple
Diagramme de
packages
Exemple
Diagramme d’objets Diagramme d’objets
Diagramme de Diagramme de
communication Commande communication
1..*
Diagramme de Diagramme de 0..*
séquence + dateRéception: Date[0..1] séquence Personne Société
Diagramme d’activité + prépayée: Booléen {readOnly} Diagramme d’activité employé employeur
Diagramme d’états . . . Diagramme d’états
Autres diagrammes Autres diagrammes

Démarche de Démarche de
conception OO
0..1
conception OO Emploi
Commande *
Date
+ dateRéception Salaire
+ prépayée: Booléen {readOnly}
. . .

95 96

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de classes Orientée Objet
Diagramme de classes
A. Lewandowski A. Lewandowski
Relations entre classes Relations entre classes

Exemple
• un seul prof pour un élève donné et un cours donné
Introduction Introduction

Concepts de base Association n-aire Concepts de base


• un élève donné et un prof donné peuvent se rencontrer
Diagrammes UML dans plusieurs cours
Introduction à UML
• En général, les associations sont binaires Diagrammes UML
Introduction à UML
Diagramme de cas Diagramme de cas • un prof donne un cours donné à au moins un élève
d’utilisation • N-aires : au moins trois instances impliquées d’utilisation
Diagramme de classes Diagramme de classes
Diagramme de Diagramme de
packages packages
1..*
Élève Prof
Diagramme d’objets Diagramme d’objets
Diagramme de Diagramme de
communication
Diagramme de
À n’utiliser que lorsqu’aucune autre solution n’est communication
Diagramme de
séquence séquence
Diagramme d’activité possible ! Diagramme d’activité
Diagramme d’états Diagramme d’états
Autres diagrammes Autres diagrammes
*
Démarche de Démarche de
conception OO conception OO Cours

97 98

7
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de classes Orientée Objet
Diagramme de classes
A. Lewandowski A. Lewandowski
Relations entre classes Relations entre classes

Les associations récursives Les associations récursives


• Structure en arbre n-aire « infini » • Structure en arbre n-aire « fini »
Introduction Introduction

Concepts de base Concepts de base

Diagrammes UML père enfant Diagrammes UML


Introduction à UML Personne Introduction à UML P1:Personne
Diagramme de cas P1:Personne Diagramme de cas patron
d’utilisation 0..* d’utilisation
Personne patron patron
Diagramme de classes père père Diagramme de classes 0..1
Diagramme de Diagramme de
packages packages *
dirige ▼ employé employé
Diagramme d’objets
enfant enfant enfant
Diagramme d’objets
Diagramme de Diagramme de
communication communication
P2:Personne P3:Personne
Diagramme de
séquence
P2:Personne P3:Personne Diagramme de
séquence
employé
patron
Diagramme d’activité
Diagramme d’états
père Diagramme d’activité
Diagramme d’états
Autres diagrammes Autres diagrammes
employé
Démarche de enfant Démarche de
P4:Personne
conception OO conception OO
P4:Personne

99 100

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de classes Orientée Objet
Diagramme de classes
A. Lewandowski A. Lewandowski
Relations entre classes Interfaces
Les Interfaces
• Une interface spécifie un ensemble d’opérations
(comportement)
Introduction Les associations récursives Introduction
• C’est un contrat
Concepts de base Concepts de base
• Formes symétriques • Les classes liées s’engagent à respecter le contrat
Diagrammes UML Diagrammes UML
Introduction à UML Introduction à UML
• elles doivent mettre en œuvre les opérations de
Diagramme de cas
d’utilisation époux ami
Diagramme de cas
d’utilisation l’interface
Diagramme de classes Personne Personne Diagramme de classes
Diagramme de 0..1 0..* Diagramme de
packages packages
Diagramme d’objets 0..1 0..* Diagramme d’objets
Diagramme de
communication
ami Diagramme de
communication «interface» Représentation
Diagramme de Diagramme de Interface 1 synthétique
séquence épouse séquence
Diagramme d’activité Diagramme d’activité
+ opération1() Interface 1
Diagramme d’états Diagramme d’états
Autres diagrammes Autres diagrammes + opération2()
Démarche de Démarche de . . .
conception OO conception OO
Représentation
détaillée

101 102

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de classes Orientée Objet
Diagramme de classes
A. Lewandowski A. Lewandowski
Interfaces Généralisation/Spécialisation

Les interfaces : implémentation et utilisation


Généralisation / Spécialisation
Introduction Introduction
• Interprétation
Concepts de base Commande Concepts de base
ArrayList • Niveau conceptuel : un concept plus général qu’un autre
- lignes: List [*]
Diagrammes UML Diagrammes UML
Introduction à UML
- adresses: Collection [*]
List Introduction à UML
• Niveau implémentation : héritage des attributs et
. . .
Diagramme de cas
d’utilisation
Diagramme de cas
d’utilisation
opérations
Diagramme de classes . . . Diagramme de classes
Diagramme de Diagramme de • Pour que ça fonctionne
packages Implémentation packages
Diagramme d’objets Diagramme d’objets • principe de substitution : toutes les propriétés de la
Diagramme de Utilisation Diagramme de
communication communication classe parent doivent être valables pour les classes
Diagramme de Diagramme de
séquence
Diagramme d’activité
séquence
Diagramme d’activité
enfant
Diagramme d’états Diagramme d’états • principe du « A est un B » ou « A est une sorte de B » :
Autres diagrammes Autres diagrammes
«interface» toutes les instances de la sous-classe sont aussi
Démarche de Démarche de
conception OO Collection conception OO instances de la super-classe
. . .

103 104

8
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de classes Orientée Objet
Diagramme de classes
A. Lewandowski A. Lewandowski
Généralisation/Spécialisation Généralisation/Spécialisation

Exemple :
Introduction
Notation : Introduction

Concepts de base Concepts de base


◀ dirige
Diagrammes UML Diagrammes UML Véhicule
Introduction à UML Classe B Introduction à UML Personne
Diagramme de cas Super-classe: Diagramme de cas nb_places 1..*
plus générale
d’utilisation d’utilisation
Diagramme de classes Diagramme de classes
accélérer()
Diagramme de Diagramme de
packages packages freiner()
Diagramme d’objets Diagramme d’objets
Diagramme de Diagramme de
communication
Sous-classe: communication
Diagramme de Diagramme de
séquence plus spécialisée séquence
Diagramme d’activité
Classe A Diagramme d’activité

Véhicule à Véhicule à Véhicule à


Diagramme d’états Diagramme d’états
Autres diagrammes Autres diagrammes

Démarche de Démarche de Moteur Pédales Voile


conception OO conception OO

105 106

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de classes Orientée Objet
Diagramme de classes
A. Lewandowski A. Lewandowski
Généralisation/Spécialisation Généralisation/Spécialisation

• Généralisation
Ensemble de généralisation
• Factoriser les éléments communs (attributs, opérations, • Les relations d’héritage peuvent être regroupées selon
Introduction contraintes) Introduction
un discriminant
Concepts de base • Spécialisation Concepts de base • On obtient un ensemble de généralisation
Diagrammes UML • Extension cohérente de classes Diagrammes UML
• Une seule propriété de discrimination par ensemble
Introduction à UML Introduction à UML
Diagramme de cas Diagramme de cas
d’utilisation d’utilisation Exemple :
Diagramme de classes
• Relation non-réflexive, non-symétrique ! Diagramme de classes
Diagramme de Diagramme de
Véhicule
packages packages discriminant
Diagramme d’objets Diagramme d’objets
Diagramme de Classe A Diagramme de
communication communication
Diagramme de
Classe A Diagramme de
propulsion
séquence séquence
Diagramme d’activité Diagramme d’activité
Diagramme d’états Diagramme d’états Véhicule à Véhicule à Véhicule à
Autres diagrammes Autres diagrammes Moteur Pédales Voile Véhicule

Démarche de Démarche de
conception OO conception OO
Impossible !
Classe B propulsion

Véhicule à Véhicule à Véhicule à


Moteur Pédales Voile
107 108

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de classes Orientée Objet
Diagramme de classes
A. Lewandowski A. Lewandowski
Généralisation/Spécialisation Généralisation/Spécialisation

Propriétés d’Ensemble de généralisation


Introduction
• Propriété de distribution : Introduction
Exemple :
Concepts de base • {disjoint} Concepts de base

Diagrammes UML Un véhicule est à moteur OU à voile Diagrammes UML Animal


Introduction à UML • {overlapping} sinon Introduction à UML
Diagramme de cas Diagramme de cas {disjoint, incomplete}
d’utilisation
Diagramme de classes
Un véhicule peut être à moteur ET à voile d’utilisation
Diagramme de classes {disjoint, complete} famille
Insecte
Diagramme de
packages • Propriété de couverture : Diagramme de
packages genre
Diagramme d’objets Diagramme d’objets
• {complete}
Diagramme de
communication
Diagramme de
communication Reptile
Diagramme de toutes les sous-classes possibles sont définies Diagramme de
Mâle Femelle
séquence séquence
Diagramme d’activité • {incomplete} sinon Diagramme d’activité
Mammifère
Diagramme d’états Diagramme d’états
Autres diagrammes Un véhicule peut être à moteur, à voile, mais aussi... Autres diagrammes

Démarche de Démarche de
conception OO conception OO
• par défaut : {incomplete, disjoint}

109 110

9
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de classes Orientée Objet
Diagramme de classes
A. Lewandowski A. Lewandowski
Généralisation/Spécialisation Généralisation/Spécialisation
Généralisation multiple
• Autorisée en UML
Introduction • Attention aux conflits ! Introduction Comment éviter l’héritage multiple ?
Concepts de base Concepts de base
Exemple • Première solution : déléguer
Diagrammes UML Diagrammes UML
Introduction à UML Introduction à UML
Diagramme de cas
Véhicule Diagramme de cas
Classe A Classe B Classe A Classe B
d’utilisation d’utilisation
Diagramme de classes Diagramme de classes
Diagramme de Diagramme de
packages packages
Diagramme d’objets {overlapping} Diagramme d’objets
Diagramme de Diagramme de
communication communication
Diagramme de Diagramme de
séquence Véhicule Véhicule Véhicule séquence Classe C Classe C
Diagramme d’activité Diagramme d’activité
Diagramme d’états Terrestre Aquatique Aérien Diagramme d’états
Autres diagrammes Autres diagrammes

Démarche de Démarche de
conception OO conception OO

Automobile Aéroglisseur Bateau Avion

111 112

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de classes Orientée Objet
Diagramme de classes
A. Lewandowski A. Lewandowski
Généralisation/Spécialisation Classes Abstraites

Introduction Comment éviter l’héritage multiple ? Introduction Les classes abstraites


Concepts de base • Deuxième solution : hériter de la classe la plus Concepts de base
• n’ont pas d’instances directes
Diagrammes UML importante et déléguer les autres Diagrammes UML
Introduction à UML Introduction à UML • ce sont leurs sous-classes qui sont instanciables
Diagramme de cas Diagramme de cas
d’utilisation d’utilisation
Diagramme de classes Diagramme de classes • Représentation : nom en italique
Diagramme de Classe A Classe B Classe A Classe B Diagramme de
packages packages
Diagramme d’objets Diagramme d’objets
Diagramme de
communication
Diagramme de
communication Opérations abstraites :
Diagramme de Diagramme de
séquence séquence
• signature définie dans la classe abstraite
Diagramme d’activité Classe C Classe C Diagramme d’activité
Diagramme d’états Diagramme d’états
Autres diagrammes Autres diagrammes • implémentation spécifiée dans les sous-classes
Démarche de Démarche de
conception OO conception OO

113 114

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de classes Orientée Objet
Diagramme de classes
A. Lewandowski A. Lewandowski
Classes Abstraites Les dépendances

Exemple :

FormeGéométrique classe Relations de dépendance


Introduction abstraite Introduction
- couleur: string • relation entre plusieurs entités
Concepts de base Concepts de base
+ calculeSurface()
Diagrammes UML opération + type() Diagrammes UML • pour les relations qui ne peuvent pas s’exprimer
Introduction à UML
abstraite + colorier(string) Introduction à UML
autrement
Diagramme de cas Diagramme de cas
d’utilisation d’utilisation
Diagramme de classes Diagramme de classes • 3 grands types :
Diagramme de Diagramme de
packages packages • abstraction
Diagramme d’objets Diagramme d’objets
Diagramme de Diagramme de • ex. : « refine », « derive », « trace »
communication Rectangle Cercle communication
Diagramme de Diagramme de • permission d’utilisation
séquence - longueur - rayon séquence
Diagramme d’activité
- largeur return Diagramme d’activité
• ex. : « permit »
Diagramme d’états + calculeSurface() Diagramme d’états
PI x rayon²
Autres diagrammes + calculeSurface() + type() Autres diagrammes
• utilisation
Démarche de + type() Démarche de
conception OO conception OO • ex. : « use », « create », « call »
return
longueur x largeur

115 116

10
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de classes Orientée Objet
Diagramme de classes
A. Lewandowski A. Lewandowski
Les dépendances La surcharge d’association

Introduction
Exemples : Introduction

Concepts de base Concepts de base


passage
Diagrammes UML concept/implémentation Diagrammes UML Plusieurs cas de surcharge d’association
Introduction à UML Introduction à UML
Diagramme de cas
d’utilisation «refine» Diagramme de cas
d’utilisation
• changement de multiplicités
Diagramme de classes Classe A Classe B Diagramme de classes
Diagramme de
packages
Diagramme de
packages
• changement de classe associée
Diagramme d’objets Diagramme d’objets
Diagramme de Diagramme de • changement d’agrégation
communication utilisation communication
Diagramme de Diagramme de
séquence séquence
Diagramme d’activité «create» Diagramme d’activité
Diagramme d’états Tableau Case Diagramme d’états
Autres diagrammes Autres diagrammes

Démarche de Démarche de
conception OO conception OO

117 118

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de classes Orientée Objet
Diagramme de classes
A. Lewandowski A. Lewandowski
La surcharge d’association Classes paramétrables

Introduction Introduction

Concepts de base
Exemple Concepts de base Les classes paramétrables (ou Templates)
Diagrammes UML
0..*
Diagrammes UML • il s’agit de modèles de classe
Introduction à UML Moyen Introduction à UML
Moteur
Diagramme de cas
d’utilisation
de Transport Diagramme de cas
d’utilisation • les attributs et opérations sont définis en fonction de
Diagramme de classes 1..* Diagramme de classes
Diagramme de «refine» Diagramme de paramètres
packages packages
Diagramme d’objets
Diagramme de
Diagramme d’objets
Diagramme de
• une classe paramétrable n’est pas instanciable
communication
Bateau Avion communication
• il faut définir les paramètres
Diagramme de Diagramme de
séquence séquence
Diagramme d’activité Diagramme d’activité • on obtient une classe « réelle »
Diagramme d’états Diagramme d’états
Autres diagrammes Autres diagrammes

Démarche de Démarche de
conception OO conception OO

119 120

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de classes Orientée Objet
Diagramme de classes
A. Lewandowski A. Lewandowski
Classes paramétrables Éléments dérivés

Exemple
Les attribus dérivés
Introduction Introduction

Concepts de base T, k : Integer = 10 Concepts de base • attribut qui peut être déduit d’autres attributs
FArray
Diagrammes UML Diagrammes UML • calculé à partir d’autres infos à n’importe quel moment
Introduction à UML Introduction à UML
Diagramme de cas
d’utilisation
contents: T [0..k] Diagramme de cas
d’utilisation • notation : /attribut
Diagramme de classes Diagramme de classes
Diagramme de
packages
Diagramme de
packages
Exemple
Diagramme d’objets Diagramme d’objets
Diagramme de Diagramme de
communication «bind» <T -> Address, k -> 3> communication
Diagramme de Diagramme de Personne
séquence séquence
Diagramme d’activité Diagramme d’activité dateNaissance
Diagramme d’états Diagramme d’états {age = dateActuelle - dateNaissance} /age
Autres diagrammes Tab : FArray <T -> Point> Autres diagrammes

Démarche de AddressList Démarche de


conception OO conception OO

121 122

11
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de classes Orientée Objet
Les diagrammes UML
A. Lewandowski A. Lewandowski
Éléments dérivés
Les associations dérivées
Diagramme
• association redondante déduite d’une ou de plusieurs
Introduction autres Introduction

Concepts de base • quand ? pour faciliter les traitements ou aider à la Concepts de base Diagramme Diagramme
Structurel Comportemental
Diagrammes UML Diagrammes UML
Introduction à UML
compréhension Introduction à UML
Diagramme de cas Diagramme de cas
d’utilisation Exemple d’utilisation
Diagramme de Diagramme de Diagramme Diagramme Diagramme de Diagramme
Diagramme de classes Diagramme de classes
classes composants d'objets d'activités cas d'utilisation d'états
Diagramme de Diagramme de
packages packages
* * Diagramme de
Diagramme de Diagramme de Diagramme
Entreprise SSII
Diagramme d’objets Diagramme d’objets structure
packages déploiement d'Interaction
Diagramme de
communication
client sous-traitant Diagramme de
communication
composite

Diagramme de
0..1 0..1 employeur Diagramme de
séquence séquence
Diagramme d’activité Diagramme d’activité Diagramme
Diagramme de
Diagramme d’états Diagramme d’états global
Autres diagrammes 1..* Autres diagrammes
séquence d'interactions

Démarche de Démarche de Diagramme de Diagramme de


conception OO * conception OO communication timing
◀ /travaille
Prestataire
*

123 Other Actions


124
Actions are defined for accepting events, including operation calls, and retrieving the property values of an object all at
once. The StartClassifierBehaviorAction provides a way to indicate when the classifier behavior of a newly created object
should begin to execute.

Structured Concepts
Méthode de Méthode de
Conception These actions operate in the context of activities and structured nodes. Variable actions support the reading and writing of Conception
Orientée Objet variables. The abstract metaclass VariableAction statically specifies the variable being accessed. Variable actions can only
[Vue Statique]
access variables within the activity of which the action is a part. An action is defined for raising exceptions and a kind of
input pin is defined for accepting the output of an action without using flows.
Orientée Objet
Diagramme de packages
A. Lewandowski A. Lewandowski

11.2 Abstract Syntax


Diagramme de packages
The package dependencies of the Actions chapter are shown in Figure 11.1.

Introduction Introduction
Package
Concepts de base Concepts de base
• Mécanisme général pour
Diagrammes UML Diagrammes UML • organiser les éléments et les diagrammes du modèle
Introduction à UML Introduction à UML (notamment les classes)
Diagramme de cas Diagramme de cas
d’utilisation d’utilisation • partitionner, regrouper, hiérarchiser
Diagramme de classes Diagramme de classes
Diagramme de Diagramme de • clarifier
packages packages
Diagramme d’objets Diagramme d’objets • les nommer
Diagramme de Diagramme de
communication
Diagramme de
communication
Diagramme de
• un package définit un espace de nom
séquence séquence • dans un même package, deux éléments ne peuvent
Diagramme d’activité Diagramme d’activité
Diagramme d’états Diagramme d’états avoir le même nom
Autres diagrammes Autres diagrammes

Démarche de Démarche de
conception OO conception OO

Figure 11.1 - Dependencies of the Action packages


125 126
UML Superstructure Specification, v2.1.1 221

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de packages Orientée Objet
Diagramme de packages
A. Lewandowski A. Lewandowski
Utilisation Packages

Introduction • Organisation globale du modèle Introduction


Un package
Concepts de base Concepts de base
• hiérarchie de packages • contient des éléments
Diagrammes UML Diagrammes UML
Introduction à UML • Organisation des classes en packages Introduction à UML • y compris d’autres packages (hiérarchie de packages)
Diagramme de cas Diagramme de cas
d’utilisation • contrôler la structure du système d’utilisation
Diagramme de classes Diagramme de classes • peut en importer d’autres
Diagramme de • comprendre, partager Diagramme de
packages
Diagramme d’objets • application plus évolutive et facile à maintenir :
packages
Diagramme d’objets
• peut posséder des interfaces
Diagramme de Diagramme de
communication – ne pas se faire déborder par les modifs communication • nommage : noms qualifiés
Diagramme de – viser la généricité et la réutilisabilité des packages Diagramme de
séquence séquence • ex. : package java::util
Diagramme d’activité
Diagramme d’états
• vue claire des flux de dépendances entre packages Diagramme d’activité
Diagramme d’états • classe java::util::Date
Autres diagrammes
• à minimiser ! Autres diagrammes

Démarche de Démarche de
conception OO conception OO

127 128

12
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de packages Orientée Objet
Diagramme de packages
A. Lewandowski A. Lewandowski
Notation Exemple
Clientèle
Représentation
Personne
Introduction Introduction - nom: String
Concepts de base Concepts de base - adresse: Adresse

Diagrammes UML Types Diagrammes UML


Introduction à UML Introduction à UML
Diagramme de cas Types Diagramme de cas

+
d’utilisation d’utilisation
Diagramme de classes Diagramme de classes
Diagramme de Diagramme de
packages packages possède
Diagramme d’objets Diagramme d’objets
Véhicules
Diagramme de Diagramme de
communication Types communication
Diagramme de Diagramme de *
séquence Integer Date séquence
Voiture
Diagramme d’activité Integer Diagramme d’activité
Diagramme d’états Diagramme d’états
- marque: String 0..1 4
Autres diagrammes Autres diagrammes
- modèle: String Roue
Démarche de Date Démarche de - immat.: String
conception OO conception OO

Fournisseur::Pneu

129 130

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de packages Orientée Objet
Diagramme de packages
A. Lewandowski A. Lewandowski
Dépendances entre packages Dépendances entre packages

Stéréotypes de dépendance
Dépendances entre packages • « import » :
Introduction • découlent des dépendances entre leurs éléments Introduction les éléments du package importé passent dans l’espace
Concepts de base • non-transitives Concepts de base
de nommage
Diagrammes UML • modifier Fournisseur n’oblige pas à modifier Clientèle Diagrammes UML • importation publique
Introduction à UML Introduction à UML • ex. : classe Date depuis le package qui importe
Diagramme de cas Diagramme de cas
d’utilisation d’utilisation
Diagramme de classes Diagramme de classes
Diagramme de
packages Clientèle Véhicules
Diagramme de
packages • « access » :
Diagramme d’objets Diagramme d’objets
Diagramme de Diagramme de • idem, mais import privé
communication communication
Diagramme de Diagramme de
séquence séquence
Diagramme d’activité Diagramme d’activité
Diagramme d’états Diagramme d’états
Auxiliary «access»
Autres diagrammes Autres diagrammes
Fournisseur
Démarche de Démarche de ShoppingCart WebShop
conception OO conception OO «import»

Types «import»

131 132

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de packages Orientée Objet
Diagramme de packages
A. Lewandowski A. Lewandowski
Dépendances entre packages Découpage en packages

Stéréotypes de dépendance
• « merge » :
Introduction • opération permettant de fusionner deux packages Introduction
Principe de découpage en packages
Concepts de base • utilisé en méta-modélisation Concepts de base

Diagrammes UML • implique des transformations Diagrammes UML • Cohérence interne du package
Introduction à UML
Diagramme de cas
• contraintes à respecter Introduction à UML
Diagramme de cas
(relations étroites entre classes)
d’utilisation
Diagramme de classes
d’utilisation
Diagramme de classes
• fermeture commune
Diagramme de
P1 P2
Diagramme de
• les classes changent pour des raisons similaires
packages
P1 packages
Diagramme d’objets Diagramme d’objets
Diagramme de Diagramme de
• réutilisation commune
communication
«merge» package merge
communication
Diagramme de
"mergé"
Diagramme de • les classes sont réutilisées ensemble
séquence package séquence
devient "récepteur"
Diagramme d’activité
Diagramme d’états
Diagramme d’activité
Diagramme d’états
• Indépendance par rapport aux autres packages
Autres diagrammes P2 Autres diagrammes

Démarche de package Démarche de


conception OO «import» "résultat" P2' conception OO

«import» P3
P3

133 134

13
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de packages Orientée Objet
Les diagrammes UML
A. Lewandowski A. Lewandowski
Gestion des dépendances

Diagramme

Introduction Introduction
Principe de gestion des dépendances
Concepts de base Concepts de base Diagramme Diagramme
• Minimiser les dépendances pour maintenir un couplage Structurel Comportemental
Diagrammes UML Diagrammes UML
Introduction à UML faible Introduction à UML
Diagramme de cas Diagramme de cas
d’utilisation • dépendances unidirectionnelles d’utilisation
Diagramme de classes Diagramme de classes Diagramme de Diagramme de Diagramme Diagramme Diagramme de Diagramme
Diagramme de • cf. associations navigables Diagramme de
classes composants d'objets d'activités cas d'utilisation d'états
packages packages
Diagramme de
Diagramme d’objets • pas de cycles Diagramme d’objets structure
Diagramme de
packages
Diagramme de
déploiement
Diagramme
d'Interaction
Diagramme de Diagramme de composite
communication • stabilité des dépendances communication
Diagramme de Diagramme de
séquence
Diagramme d’activité
• plus il y a de dépendances entrantes, plus les interfaces séquence
Diagramme d’activité Diagramme
Diagramme de
Diagramme d’états de package doivent être stables Diagramme d’états
séquence
global
d'interactions
Autres diagrammes Autres diagrammes

Démarche de Démarche de Diagramme de Diagramme de


conception OO conception OO communication timing

135 136

Méthode de Méthode de
Conception Conception
[Vue Statique]
Orientée Objet Orientée Objet
Diagramme d’objets
A. Lewandowski A. Lewandowski

Diagramme d’objets
• Représentation d’instances d’éléments du diagramme de
classes
Introduction Introduction

Concepts de base Concepts de base


• Utilisation :
Diagrammes UML Diagrammes UML
Introduction à UML Introduction à UML • Pour représenter un « instantané » du système
Diagramme de cas
d’utilisation
Diagramme de cas
d’utilisation (snapshot)
Diagramme de classes Diagramme de classes
Diagramme de Diagramme de
• les objets et leurs liens à un moment donné
packages
Diagramme d’objets
packages
Diagramme d’objets
• les différents états possibles d’une classe peuvent être
Diagramme de
communication
Diagramme de
communication
représentés par différents objets (1 par snapshot)
Diagramme de Diagramme de
séquence séquence
Diagramme d’activité Diagramme d’activité • Pour illustrer, exemplifier
Diagramme d’états Diagramme d’états
Autres diagrammes Autres diagrammes • quand une structure complexe est trop difficile à
Démarche de Démarche de comprendre avec un diagramme de classes (ex. :
conception OO conception OO
récursivité, associations multiples, etc.)

137 138

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’objets Orientée Objet
Diagramme d’objets
A. Lewandowski A. Lewandowski
Notation

• Instances nommées
• Instances anonymes
Introduction Introduction
• Instances avec valeurs d’attributs
Concepts de base Concepts de base
Attention :
Diagrammes UML Diagrammes UML
Introduction à UML • point de vue statique Introduction à UML bouton1: Bouton
nomInstance: NomClasse
Diagramme de cas Diagramme de cas
d’utilisation d’utilisation
Diagramme de classes • objet = élément de modèle Diagramme de classes
Diagramme de Diagramme de
packages
Diagramme d’objets
(6= élément dynamique qu’il représente) packages
Diagramme d’objets : Cercle
Diagramme de
communication
Diagramme de
communication
: NomClasse
Diagramme de Diagramme de
séquence séquence
Diagramme d’activité Diagramme d’activité
Diagramme d’états Diagramme d’états
Autres diagrammes Autres diagrammes nomVille: String
monAdresse: Adresse
Démarche de Démarche de "Calais"
conception OO conception OO numero : Integer = 32
nomRue = "rue Stine"

139 140

14
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’objets Orientée Objet
Diagramme d’objets
A. Lewandowski A. Lewandowski
Exemples Exemples

Exemple : objets composés


Exemple : association récursive
Diag. classes
Introduction Diag. classes Introduction

Concepts de base George: Personne Concepts de base


Fenêtre Ascenceur
Diagrammes UML patron patron Diagrammes UML 2
Personne
0..1
Introduction à UML Introduction à UML
Diagramme de cas Diagramme de cas
d’utilisation
* d’utilisation
Diagramme de classes Diagramme de classes
Diagramme de Diagramme de
packages packages 1
employé
Diagramme d’objets Diagramme d’objets
Diagramme de Diagramme de
communication
Jean: Personne communication Zone de travail
Diagramme de Diagramme de
séquence séquence
Diagramme d’activité Diagramme d’activité
Diagramme d’états Diagramme d’états
Autres diagrammes patron Autres diagrammes

Démarche de Démarche de
: Fenêtre
conception OO George: Personne conception OO
: Zone de travail : Ascenceur : Ascenceur

141 142

Méthode de Méthode de
Conception Conception
Orientée Objet
Les diagrammes UML Orientée Objet [Vue Fonctionnelle/Dynamique]
A. Lewandowski A. Lewandowski

Diagramme de
Diagramme
communication
Examples
Introduction Introduction

Concepts de base Diagramme Diagramme Concepts de base


Structurel Comportemental
Diagrammes UML Diagrammes UML Lifeline
sd M
Introduction à UML Introduction à UML
Diagramme de cas Diagramme de cas 1a:m1
d’utilisation d’utilisation Message
Diagramme de Diagramme de Diagramme Diagramme Diagramme de Diagramme :r s[k]:B
with
Diagramme de classes Diagramme de classes
classes composants d'objets d'activités cas d'utilisation d'états Sequence
Diagramme de Diagramme de number
packages packages
Diagramme de
Diagramme d’objets Diagramme de Diagramme de Diagramme Diagramme d’objets
structure
Diagramme de composite packages déploiement d'Interaction Diagramme de Messages 1b:m3 2:m2
communication communication
1b.1:m3 1b.1.1:m3,
Diagramme de Diagramme de 1b.1.1.1:m2
séquence séquence
Diagramme d’activité Diagramme Diagramme d’activité
Diagramme de
Diagramme d’états global Diagramme d’états s[u]:B
séquence d'interactions
Autres diagrammes Autres diagrammes

Démarche de Diagramme de Diagramme de Démarche de


conception OO communication timing conception OO

Figure 14.27 - Communication diagram

The Interaction described by a Communication Diagram in Figure 14.27 shows messages m1 and m3 being sent
concurrently from :r towards two instances of the part s. The sequence numbers show how the other messages are
sequenced. 1b.1 follows after 1b and 1b.1.1 thereafter etc. 2 follows after 1a and 1b.
143 144
Sequence expression
The sequence-expression is a dot-separated list of sequence-terms followed by a colon (‘:’).
sequence-term ‘.’ . . . ‘:’

Each term represents a level of procedural nesting within the overall interaction. If all the control is concurrent, then
nesting does not occur. Each sequence-term has the following syntax:
Méthode de Méthode de [ integer | name ] [ recurrence ]
Conception Conception
The integer represents the sequential order of the Message within the next higher level of procedural calling. Messages
Orientée Objet
Diagramme de communication Orientée Objet
Diagramme de communication
that differ in one integer term are sequentially related at that level of nesting. Example: Message 3.1.4 follows Message
3.1.3 within activation 3.1. The name represents a concurrent thread of control. Messages that differ in the final name are
A. Lewandowski A. Lewandowski
Présentation Présentation
concurrent at that level of nesting. Example: Message 3.1a and Message 3.1b are concurrent within activation 3.1. All
threads of control are equal within the nesting depth.

The recurrence represents conditional or iterative execution. This represents zero or more Messages that are executed
depending on the conditions involved. The choices are:
‘*’ ‘[’ iteration-clause ‘]’an iteration
‘[’ guard ‘]’a branch
• Collaboration
Introduction Introduction
• ensemble
UML Superstructure dev2.1.1rôles joués par des classes, contexte
Specification, 511
Concepts de base Diagramme de communication Concepts de base
d’interaction
Diagrammes UML Diagrammes UML
Introduction à UML
• (ancien nom : diagramme de collaboration) Introduction à UML
• reliée à
Diagramme de cas
d’utilisation • fait partie de la catégorie des diagrammes d’interactions
Diagramme de cas
d’utilisation
• une opération ou à un cas d’utilisation
Diagramme de classes Diagramme de classes • une classe
Diagramme de Diagramme de
packages • montre les interactions entre objets (le plus souvent) packages
Diagramme d’objets Diagramme d’objets • Interaction
Diagramme de
communication • peut être vu comme une extension du diagramme Diagramme de
communication • communication entre instances des éléments d’une
Diagramme de Diagramme de
séquence d’objets rendant compte de la dynamique séquence collaboration
Diagramme d’activité Diagramme d’activité
Diagramme d’états Diagramme d’états • ensemble partiellement ordonné de messages
Autres diagrammes Autres diagrammes
• plusieurs interactions possibles pour une même
Démarche de Démarche de
conception OO conception OO collaboration

145 146

15
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de communication Orientée Objet
Diagramme de communication
A. Lewandowski A. Lewandowski
Éléments du diagramme Représentation

Éléments d’une interaction Aspect dynamique


Introduction • participants (le plus souvent des objets) Introduction • le temps n’est pas représenté de manière explicite
Concepts de base
• liens entre participants (supports de messages) Concepts de base • messages numérotés pour indiquer l’ordre d’envoi
Diagrammes UML Diagrammes UML
Introduction à UML • messages échangés (déclenchant des opérations) Introduction à UML
Diagramme de cas Diagramme de cas :Moteur
d’utilisation d’utilisation
Diagramme de classes
sd OuvertureDePorte Nom de
Diagramme de classes
1.2: déplacer(haut) 1: monter()
Diagramme de Diagramme de :Ascenceur
l'interaction
packages packages
Diagramme d’objets Diagramme d’objets
Diagramme de Diagramme de
communication communication :Cabine
1.1b: fermer()
Diagramme de
séquence Message Diagramme de
séquence
Diagramme d’activité :Cabine 1:ouvrir avec numéro Diagramme d’activité 1.1a: allumer()
Diagramme d’états
de séquence Diagramme d’états
Autres diagrammes Autres diagrammes
:Porte
Démarche de Démarche de :Voyant
conception OO conception OO
Ligne de vie :Porte
(Lifeline)

147 148

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de communication Orientée Objet
Diagramme de communication
A. Lewandowski A. Lewandowski
Messages Messages

Messages
Introduction
Messages Introduction • Résultats et arguments
Concepts de base Concepts de base • mymessage(14, - , 3.14, “hello”)
• représente une communication avec transmission
Diagrammes UML
d’information Diagrammes UML • v=mymsg(16, variab) :96
Introduction à UML Introduction à UML
Diagramme de cas
• émetteur (source) Diagramme de cas • mymsg(myint=16)
d’utilisation d’utilisation
Diagramme de classes Diagramme de classes
Diagramme de
• récepteur (destination) Diagramme de
packages
Diagramme d’objets • déclenche
packages
Diagramme d’objets
• Itération : *[clause d’iteration]
Diagramme de Diagramme de
communication
• appel et exécution d’opération communication • ex. : 1.1∗[i := 1..10] : message()
Diagramme de Diagramme de
séquence
• envoi et réception d’un signal séquence • 1.2∗||[i := 1..10] : message()
Diagramme d’activité Diagramme d’activité
Diagramme d’états • création/destruction d’un objet Diagramme d’états
Autres diagrammes Autres diagrammes
• Conditionnel : [condition]
Démarche de Démarche de
conception OO conception OO • ex. : 1.2[x > y ] : message()

149 150

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de communication Orientée Objet
Diagramme de communication
A. Lewandowski A. Lewandowski
Messages Utilisation

Introduction Introduction • Étudier/spécifier le comportement


Concepts de base Exemples Concepts de base • du système dans sa globalité
Diagrammes UML
• 4 : afficher(x, y) Diagrammes UML • au sein d’un CU général
Introduction à UML Introduction à UML
Diagramme de cas Diagramme de cas • considérer les évts du système vu comme une boı̂te
d’utilisation • 3.1 : fermer() d’utilisation
noire
Diagramme de classes Diagramme de classes
Diagramme de
packages • 2.2 : age=soustraire(aujourdhui, dateNaiss) Diagramme de
packages • de plusieurs objets au sein d’un CU
Diagramme d’objets Diagramme d’objets
Diagramme de • 1.2 [age ≥ 18] : voter() Diagramme de • pour expliciter un CU
communication communication
Diagramme de Diagramme de • Illustrer/étudier un fonctionnement
séquence • 2 * [sale==true] : laver() séquence
Diagramme d’activité Diagramme d’activité
Diagramme d’états Diagramme d’états
• diagramme inter-couches : IHM – données, etc.
Autres diagrammes Autres diagrammes • rétro-ingénierie
Démarche de Démarche de
conception OO conception OO

151 152

16
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Les diagrammes UML Orientée Objet [Vue Fonctionnelle/Dynamique]
A. Lewandowski A. Lewandowski

Diagramme de séquence
Examples
Diagramme

sd example

Introduction Introduction
ob1:C1 ob3:C3 ob4:C4

Concepts de base Diagramme Diagramme Concepts de base


Structurel Comportemental opti
Diagrammes UML Diagrammes UML
Introduction à UML Introduction à UML alt
Diagramme de cas Diagramme de cas [x>0]
d’utilisation d’utilisation create
Diagramme de classes Diagramme de Diagramme de Diagramme Diagramme Diagramme de Diagramme Diagramme de classes ob2:C2
classes composants d'objets d'activités cas d'utilisation d'états
Diagramme de Diagramme de foo(foo_par=x)
packages packages doit(z)
Diagramme de
Diagramme d’objets Diagramme de Diagramme de Diagramme Diagramme d’objets
structure
Diagramme de composite packages déploiement d'Interaction Diagramme de doit(-)
communication communication
Diagramme de Diagramme de
foo(-)
séquence séquence
Diagramme d’activité Diagramme Diagramme d’activité
Diagramme d’états Diagramme de
global Diagramme d’états
[else] bar(x)
séquence d'interactions
Autres diagrammes Autres diagrammes doit(z)

Démarche de Diagramme de Diagramme de Démarche de


conception OO communication timing conception OO x=bar(-):15
doit(-)

opti

Figure 14.11 - CombinedFragment

153 154 Changes from previous UML


This concept was not included in UML 1.x.

14.3.4 ConsiderIgnoreFragment (from Fragments)

Generalizations
Méthode de Méthode de • “CombinedFragment (from Fragments)” on page 465
Conception Conception
Orientée Objet
Diagramme de séquence Orientée Objet Description
Diagramme de séquence
A ConsiderIgnoreFragment is a kind of combined fragment that is used for the consider and ignore cases, which require
A. Lewandowski A. Lewandowski lists of pertinent messages to be specified.
Présentation Utilisation
Attributes
No additional attributes.

470 UML Superstructure Specification, v2.1.1

Introduction Introduction Deux utilisations principales


Concepts de base
Diagramme de séquence Concepts de base • Documentation des CU
Diagrammes UML Diagrammes UML (point de vue Fonctionnel)
Introduction à UML • Diagramme de communication détaillé Introduction à UML
Diagramme de cas Diagramme de cas • orienté « utilisateur »
d’utilisation
Diagramme de classes
• Décrit les interactions dans une séquence temporelle d’utilisation
Diagramme de classes • identification des événements
Diagramme de
packages • focus sur l’aspect chronologique Diagramme de
packages
Diagramme d’objets
• sans rendre compte explicitement du contexte Diagramme d’objets
Diagramme de
communication
Diagramme de
communication • Représentation précise des interactions
Diagramme de
séquence
• Description de scénarios types et des exceptions Diagramme de
séquence (point de vue Dynamique)
Diagramme d’activité Diagramme d’activité
Diagramme d’états Diagramme d’états • orienté « informatique »
Autres diagrammes Autres diagrammes
• identification des messages, des envois, réceptions, etc.
Démarche de Démarche de
conception OO conception OO

155 156

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de séquence Orientée Objet
Diagramme de séquence
A. Lewandowski A. Lewandowski
Représentation Catégories de messages
Principales catégories de messages
sd Titre du diagramme
• message synchrone : émetteur bloqué pendant le
Nom de
Introduction l'interaction Introduction
traitement du message par le récepteur (appel)
Concepts de base +Numero: Integer {readOnly} Attribut Concepts de base • message asynchrone : non bloquant
Diagrammes UML local Diagrammes UML
Introduction à UML Introduction à UML
• message de retour
Diagramme de cas Diagramme de cas
d’utilisation d’utilisation
Diagramme de classes
:Element1 :Element2 :AutreElement Diagramme de classes
Diagramme de
packages
Diagramme de
packages :Element1 :Element2
Diagramme d’objets Diagramme d’objets
Diagramme de
message Diagramme de
communication communication
message asynchrone
Diagramme de
séquence Ligne de vie Diagramme de
séquence
Diagramme d’activité (Lifeline) msg(Numero) Diagramme d’activité
Diagramme d’états Diagramme d’états
Autres diagrammes Autres diagrammes message synchrone

Message
Démarche de Démarche de
conception OO conception OO
message retour

157 158

17
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de séquence Orientée Objet
Diagramme de séquence
A. Lewandowski A. Lewandowski
Catégories de messages Catégories de messages

• message « trouvé » (Found message) :


• message de création • message dont on ignore la provenance
Introduction
• message (et évt) de destruction Introduction • en dehors du cadre décrit par le DS
Concepts de base Concepts de base • « bruit »
Diagrammes UML Diagrammes UML • message « perdu » (Lost message) :
Introduction à UML :Element1 :Element3 Introduction à UML
Diagramme de cas Diagramme de cas • message envoyé, mais jamais reçu
d’utilisation d’utilisation
Diagramme de classes Diagramme de classes
Diagramme de create Diagramme de
packages :Element2 packages
Diagramme d’objets Diagramme d’objets :Element
Diagramme de Diagramme de
communication communication
Diagramme de Diagramme de
séquence séquence
found message
Diagramme d’activité Diagramme d’activité
Diagramme d’états Diagramme d’états

message
Autres diagrammes Autres diagrammes

Démarche de Démarche de
conception OO conception OO lost message

159 160

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de séquence Orientée Objet
Diagramme de séquence
A. Lewandowski A. Lewandowski
Période d’activité Catégories de messages
Période d’activité
• période durant laquelle un objet effectue une action • message réflexif
Introduction • état « actif » (6= durée de vie) Introduction • l’objet s’envoie un message à lui-même
Concepts de base
• un objet peut être actif plusieurs fois Concepts de base • appel à une autre méthode de l’objet
Diagrammes UML Diagrammes UML • appel récursif
Introduction à UML Introduction à UML
Diagramme de cas Diagramme de cas
d’utilisation
Diagramme de classes
:Element1 :Element2 d’utilisation
Diagramme de classes
Diagramme de Diagramme de
packages packages :Element :Element
Diagramme d’objets
message d'activation Diagramme d’objets
Diagramme de Diagramme de
communication communication message
Diagramme de Diagramme de message
séquence séquence
Diagramme d’activité Diagramme d’activité
Diagramme d’états Diagramme d’états
Autres diagrammes Autres diagrammes

Démarche de Démarche de
conception OO Périodes DoSth conception OO
d'activité

161 162

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de séquence Orientée Objet
Diagramme de séquence
A. Lewandowski A. Lewandowski
Gates Durées et contraintes temporelles

Gates (ou Portes)


• source ou destination d’un message en dehors de la Durées et contraintes temporelles
Introduction portée du diagramme Introduction • Représentation des délais de transmission :
Concepts de base Concepts de base

Diagrammes UML Diagrammes UML


Introduction à UML
sd Diagramme Introduction à UML

:Element1 :Element2
Diagramme de cas Diagramme de cas
d’utilisation d’utilisation
Diagramme de classes Diagramme de classes
Diagramme de :Element Diagramme de
packages packages
Diagramme d’objets Diagramme d’objets
message {0 . . 11}
Diagramme de Diagramme de
communication communication
Diagramme de message Diagramme de
séquence séquence
Diagramme d’activité Diagramme d’activité
Diagramme d’états Diagramme d’états
Autres diagrammes Autres diagrammes

Démarche de Démarche de
conception OO conception OO
Gate

163 164

18
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de séquence Orientée Objet
Diagramme de séquence
A. Lewandowski A. Lewandowski
Durées et contraintes temporelles Durées et contraintes temporelles

• Observation et contraintes temporelles : • Observation et contraintes sur la durée :


Introduction Introduction

Concepts de base Concepts de base

Diagrammes UML Diagrammes UML


Introduction à UML :Element1 :Element2 Introduction à UML :Element1 :Element2
Diagramme de cas Diagramme de cas
d’utilisation d’utilisation
Diagramme de classes Diagramme de classes

message d=duration
Diagramme de Diagramme de
packages packages
Diagramme d’objets Diagramme d’objets
Diagramme de
communication message1 {0 . . 12} Diagramme de
communication
Diagramme de
séquence
Diagramme de
séquence {d . . 3*d}
Diagramme d’activité t=now Diagramme d’activité message retour {0 . . 12}
message2
Diagramme d’états Diagramme d’états
Autres diagrammes Autres diagrammes
{t . . t+3}
Démarche de Démarche de
conception OO conception OO

165 166

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de séquence Orientée Objet
Diagramme de séquence
A. Lewandowski A. Lewandowski
Durées et contraintes temporelles Références
Référence à une interaction
Exemple :
• pour : décomposer, réutiliser
• attention :
Introduction Introduction • les « gates » doivent être connectées
Concepts de base sd UserAccepted Concepts de base • arguments doivent correspondre aux paramètres de
Diagrammes UML Diagrammes UML l’interaction
Introduction à UML Introduction à UML
Diagramme de cas :User :ACSystem Diagramme de cas
• le cadre de référence doit couvrir toutes les lignes de vie
d’utilisation d’utilisation
Diagramme de classes Diagramme de classes qui participent à l’interaction
Diagramme de Diagramme de
packages Code d=duration packages
Diagramme d’objets Diagramme d’objets
sd AllerALEtage
Diagramme de Diagramme de
communication communication
Diagramme de {d . . 3*d} Diagramme de +EtageNum: Integer {readOnly}
séquence
Cardout {0 . . 13} séquence
Diagramme d’activité Diagramme d’activité
Diagramme d’états Diagramme d’états :Ascenceur :Porte
Autres diagrammes t=now Autres diagrammes

Démarche de OK Démarche de
conception OO {t . . t+3} conception OO
Unlock ref FermerPorte

167 168

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de séquence Orientée Objet
Diagramme de séquence
A. Lewandowski A. Lewandowski
Cadre d’interaction Cadre d’interaction
Cadre d’interaction (Fragment) nommé par un opérateur
• ref
• référence à une autre interaction
Introduction Introduction
• alt • Représentation
Concepts de base Concepts de base

Diagrammes UML • fragment d’alternative (équivalent du « if - else ») Diagrammes UML op


Introduction à UML Introduction à UML
Diagramme de cas • opt Diagramme de cas ...
d’utilisation d’utilisation
Diagramme de classes • fragment optionnel, avec expression conditionnelle Diagramme de classes
Diagramme de Diagramme de
packages packages
Diagramme d’objets • loop Diagramme d’objets
Diagramme de Diagramme de
communication • fragment à répéter tant que l’expression de garde est communication
Diagramme de Diagramme de
séquence vraie séquence • Attention
Diagramme d’activité Diagramme d’activité
Diagramme d’états • par Diagramme d’états • on ne représente pas les algorithmes !
Autres diagrammes Autres diagrammes

Démarche de • fragments qui s’exécutent en parallèle Démarche de


conception OO conception OO
• critical
• zone critique, considérée comme atomique et qui doit
être exécutée sans interruption
169 170

19
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de séquence Orientée Objet
Diagramme de séquence
A. Lewandowski A. Lewandowski
Cadre d’interaction Cadre d’interaction

sd ExAlternative sd ExLoop
Introduction Introduction

Concepts de base
:Element1 :Element2 :Element3
Concepts de base :Joueur :MachineASous
Diagrammes UML Diagrammes UML
Introduction à UML Introduction à UML
Diagramme de cas alt Diagramme de cas loop [pas gagné]
d’utilisation [X] d’utilisation
Diagramme de classes Diagramme de classes
Diagramme de message Diagramme de insérer(pièce)
packages packages
Diagramme d’objets Diagramme d’objets
Diagramme de Diagramme de alt gagné
communication communication
Diagramme de
séquence
[not X] Diagramme de
séquence

message
Diagramme d’activité Diagramme d’activité
Diagramme d’états Diagramme d’états perdu
Autres diagrammes Autres diagrammes

Démarche de Démarche de
conception OO conception OO

171 172

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de séquence Orientée Objet
Diagramme de séquence
A. Lewandowski A. Lewandowski
Cadre d’interaction Continuation

sd ExCriticalRegion

Introduction Introduction
:Emergency :Operator :Caller :Callee
Concepts de base Concepts de base
Les continuations
Diagrammes UML
par call(100)
Diagrammes UML • sorte d’étiquette (label)
Introduction à UML Introduction à UML
Diagramme de cas
d’utilisation call(100)
Diagramme de cas
d’utilisation
• permet de définir des branchements
Diagramme de classes Diagramme de classes
Diagramme de Diagramme de • lors de l’utilisation de fragments (alternative) :
packages call(100) packages
Diagramme d’objets Diagramme d’objets • soit tout au début du fragment
Diagramme de call(100) Diagramme de
communication communication • soit tout à la fin
Diagramme de Diagramme de
séquence séquence
Diagramme d’activité Diagramme d’activité • couvre toutes les lignes de vie du fragment
Diagramme d’états critical call(911) Diagramme d’états
Autres diagrammes Autres diagrammes

Démarche de call(911) Démarche de


conception OO conception OO

173 174

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de séquence Orientée Objet
Diagramme de séquence
A. Lewandowski A. Lewandowski
Continuation
sd ExContinuation
Retour sur l’étude de cas : le DAB
:PorteurDeCarte :DAB
... (Distributeur Automatique de Billets)
Introduction propose ticket Introduction

Concepts de base Concepts de base Le système offre les services suivants :


alt accepte
Diagrammes UML
Introduction à UML
Diagrammes UML
Introduction à UML
1 Distribution d’argent à tout porteur de carte de crédit,
Diagramme de cas
d’utilisation ticket
Diagramme de cas
d’utilisation
via un lecteur de carte et un distributeur de billet
Diagramme de classes Diagramme de classes
Diagramme de
packages
Diagramme de
packages
2 Consultation de solde de compte, dépôt d’espèces et de
refuse
Diagramme d’objets
Diagramme de
Diagramme d’objets
Diagramme de
chèques pour les clients porteurs d’une carte de crédit
communication
Diagramme de
communication
Diagramme de
de la banque associée au DAB
séquence ... séquence
Diagramme d’activité
Diagramme d’états
Diagramme d’activité
Diagramme d’états
plus...
Autres diagrammes opt Autres diagrammes
ticket • les transactions sont sécurisées
Démarche de Démarche de
éjection ticket
conception OO conception OO
• il faut parfois recharger le distributeur, etc.
récupération ticket

...
175 176

20
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de séquence Orientée Objet
Diagramme de séquence
A. Lewandowski A. Lewandowski
Retour sur l’étude de cas : le DAB
ud DAB

DAB

Retirer de «actor»
Introduction l'argent Sys. Auto. Introduction

Concepts de base
Porteur de «include» Concepts de base

Diagrammes UML carte Diagrammes UML Travail à effectuer :


Introduction à UML «include» S'authentifier Introduction à UML
Diagramme de cas Consulter Diagramme de cas
• décrire les cas d’utilisation « S’authentifier » et « Retirer
d’utilisation
solde d’utilisation
Diagramme de classes Diagramme de classes
Diagramme de Diagramme de de l’argent » à l’aide de diagrammes de séquence
packages «include» packages
Diagramme d’objets
«actor» Diagramme d’objets
Diagramme de Déposer S.I. Banque
Diagramme de
communication communication
Client
Diagramme de Diagramme de
séquence séquence
Diagramme d’activité Déposer Diagramme d’activité
Diagramme d’états chèques Diagramme d’états
Déposer
Autres diagrammes Autres diagrammes
espèces
Démarche de Recharger Démarche de
conception OO conception OO
Maintenir

Technicien

177 178

Méthode de Méthode de
Design Part
Conception Conception
Orientée Objet
Les diagrammes UML Orientée Objet
[Vue Fonctionnelle/Dynamique] [part
A. Lewandowski A. Lewandowski ID Part
found]
Use
Standard
Design Requirement Part Search Part
Engineer
Diagramme d’activité [part not
found]

[part provided]
Diagramme
Standards Provide
Engineer Required
Part [else]

Introduction Introduction
Provide Required Part Standards Design
Concepts de base Diagramme Diagramme Concepts de base Engineer Engineer
Structurel Comportemental
Diagrammes UML Diagrammes UML Clarify
Requirements
Introduction à UML Introduction à UML [part
found] [stream] [stream]
Diagramme de cas Diagramme de cas
d’utilisation d’utilisation Expert Assign Review Specify Schedule Review
Diagramme de Diagramme de Diagramme Diagramme Diagramme de Diagramme Part Standards Part Mod Part Mod Schedule
Diagramme de classes Diagramme de classes Search Engineer Requirements Workflow Workflow
classes composants d'objets d'activités cas d'utilisation d'états [part not
Diagramme de Diagramme de found] [reschedule] [cancel]
packages packages
Diagramme de [OK]
Diagramme d’objets Diagramme de Diagramme de Diagramme Diagramme d’objets
structure
Diagramme de composite packages déploiement d'Interaction Diagramme de Provide
communication communication [stream] addt’l part
[stream] mod info
Diagramme de Diagramme de
Execute
séquence séquence Part Mod
Diagramme d’activité Diagramme d’activité Workflow
Diagramme [accept]
Diagramme de
Diagramme d’états global Diagramme d’états Research
séquence d'interactions Production
Autres diagrammes Autres diagrammes Possibility
[reject]
Démarche de Diagramme de Diagramme de Démarche de
conception OO communication timing conception OO

Figure 12.36 - Workflow example

179 180

UML Superstructure Specification, v2.1.1 323


Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’activité Orientée Objet
Diagramme d’activité
A. Lewandowski A. Lewandowski
Présentation Utilisation
Utilisé pour
• Représenter un processus métier
(point de vue Fonctionnel)
Introduction Introduction

Concepts de base
Diagramme d’activité Concepts de base
• qui fait quoi, où ?
• Objectif : • enchaı̂nements d’activités (workflows)
Diagrammes UML Diagrammes UML
Introduction à UML
Diagramme de cas représenter les activités séquentielles d’un processus Introduction à UML
Diagramme de cas
• Décrire la dynamique d’un CU
d’utilisation d’utilisation
Diagramme de classes Diagramme de classes
(point de vue Fonctionnel)
Diagramme de Diagramme de
packages packages • Description de l’ensemble des actions réalisées par le
Diagramme d’objets • Activité = suite d’actions Diagramme d’objets
Diagramme de Diagramme de système (pas seulement le scénario nominal)
communication
Diagramme de
• Sous forme de graphe orienté {actions, transitions} communication
Diagramme de • Complète un diagramme de séquence
séquence séquence
Diagramme d’activité • Réseau de pétri (tokens) Diagramme d’activité (avec exceptions, branchements conditionnels, etc.)
Diagramme d’états Diagramme d’états
Autres diagrammes Autres diagrammes • Logique procédurale
Démarche de
conception OO
Démarche de
conception OO
(point de vue Dynamique)
• algorithmes, opérations des classes
• organisation séquentielle globale des activités de
plusieurs objets
181 182

21
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’activité Orientée Objet
Diagramme d’activité
A. Lewandowski A. Lewandowski
Éléments du diagramme Représentation

Introduction Introduction act Nom_act Nom de


• Action
Concepts de base Concepts de base l'activité
• nœud du graphe
Diagrammes UML Diagrammes UML
Introduction à UML • Transition Introduction à UML
action
Diagramme de cas Diagramme de cas
d’utilisation
Diagramme de classes
• contrainte d’enchaı̂nement d’utilisation
Diagramme de classes
Flux Nœud de
Diagramme de
• Raffinements Diagramme de décision
packages packages Nœud initial
Diagramme d’objets Diagramme d’objets
Diagramme de • débranchements, jointures Diagramme de
communication
Diagramme de • entrée, terminaison
communication
Diagramme de
autre action ...
séquence séquence
Diagramme d’activité • décisions, fusions Diagramme d’activité
Diagramme d’états Diagramme d’états Nœud
Autres diagrammes • etc. Autres diagrammes
d'action ...
Démarche de Démarche de
conception OO conception OO

183 184

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’activité Orientée Objet
Diagramme d’activité
A. Lewandowski A. Lewandowski
Actions Flux

Les Flux
Actions • pour « enchaı̂ner » les actions
Introduction Introduction

Concepts de base
• étape d’une activité Concepts de base • les flux de contrôle
Diagrammes UML • entité atomique Diagrammes UML • quand une action se termine, la suivante démarre
Introduction à UML Introduction à UML
Diagramme de cas (du point de vue de l’activité qui la contient) Diagramme de cas • pour modéliser une séquence
d’utilisation d’utilisation
Diagramme de classes Diagramme de classes • notation : flèche orientée
Diagramme de Diagramme de
packages packages
Diagramme d’objets • Notation : Diagramme d’objets
Diagramme de Diagramme de
action
communication
Diagramme de
communication
Diagramme de
{weight=n}
séquence
Diagramme d’activité nom de
séquence
Diagramme d’activité
action autre action
Diagramme d’états l'action Diagramme d’états
Autres diagrammes Autres diagrammes

Démarche de Démarche de autre action


conception OO conception OO

185 186

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’activité Orientée Objet
Diagramme d’activité
A. Lewandowski A. Lewandowski
Nœuds de contrôle Nœuds de contrôle

Les Nœuds de contrôle


• Nœud de décision
Introduction • Nœuds particuliers utilisés pour coordonner les flux Introduction

Concepts de base Concepts de base


• choix, alternative
entre les actions/activités
Diagrammes UML Diagrammes UML
• Plusieurs sortes :
Introduction à UML
Diagramme de cas
Introduction à UML
Diagramme de cas
[condition a]
d’utilisation • Nœud initial (début de l’activité) d’utilisation
Diagramme de classes Diagramme de classes action autre action
Diagramme de • Nœud terminal (fin de l’activité) Diagramme de
packages packages
Diagramme d’objets Diagramme d’objets
Diagramme de Diagramme de ...
[condition b]
communication communication
Diagramme de Diagramme de
séquence séquence Nœud de
Diagramme d’activité
Nœud Diagramme d’activité
décision
Diagramme d’états Diagramme d’états Garde
Autres diagrammes
Nœud initial terminal Autres diagrammes

Démarche de Démarche de
conception OO conception OO

187 188

22
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’activité Orientée Objet
Diagramme d’activité
A. Lewandowski A. Lewandowski
Nœuds de contrôle Nœuds de contrôle

Introduction • Nœud de fusion (Merge node) Introduction • Nœud de débranchement (Fork node)
Concepts de base • pas de synchronisation Concepts de base • flux entrant divisé en plusieurs flux concurrents
Diagrammes UML • accepte n’importe lequel des flux entrant Diagrammes UML • = parallélisation
Introduction à UML • les tokens qui arrivent sont « forwardés » Introduction à UML
• duplication des tokens
Diagramme de cas Diagramme de cas
d’utilisation d’utilisation
Diagramme de classes Diagramme de classes
Diagramme de Diagramme de
packages packages

... ...
Diagramme d’objets Diagramme d’objets
...
...
Diagramme de Diagramme de
communication communication
Diagramme de Diagramme de
Nœud de
séquence séquence
Diagramme d’activité Diagramme d’activité Débranchement
Diagramme d’états fusion Diagramme d’états
Autres diagrammes Autres diagrammes

Démarche de Démarche de
conception OO conception OO

189 190

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’activité Orientée Objet
Diagramme d’activité
A. Lewandowski A. Lewandowski
Nœuds de contrôle Exemple

• Nœud de jonction (Join node) Exemple :


Introduction Introduction
• synchronisation des flux entrants
Concepts de base Concepts de base
• si certains tokens transportent des objets, chaque token [commande rejetée]
Diagrammes UML Diagrammes UML
Introduction à UML
avec son objet est forwardé Introduction à UML
Diagramme de cas
d’utilisation
• sinon, un token « global » est créé et forwardé Diagramme de cas
d’utilisation Recevoir Préparer Livrer Clôturer
Diagramme de classes Diagramme de classes commande commande commande commande
Diagramme de
packages
Diagramme de
packages
[commande
Diagramme d’objets Diagramme d’objets acceptée]
Diagramme de Diagramme de
communication ... ... communication
Diagramme de Diagramme de
séquence séquence
Diagramme d’activité Diagramme d’activité
Diagramme d’états Nœud de Diagramme d’états
Envoyer Recevoir Valider
jonction
Autres diagrammes Autres diagrammes
facture paiement paiement
Démarche de Démarche de
conception OO conception OO

191 192

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’activité Orientée Objet
Diagramme d’activité
A. Lewandowski A. Lewandowski
Exercice Nœuds de contrôle

Introduction Introduction
Autre Nœud de contrôle
Concepts de base Concepts de base

Diagrammes UML
Retour sur l’étude de cas : le DAB Diagrammes UML
• Nœud de terminaison de flux (Flow final node)
Introduction à UML (Distributeur Automatique de Billets) Introduction à UML • termine un flux
Diagramme de cas Diagramme de cas
d’utilisation
Diagramme de classes
d’utilisation
Diagramme de classes
(6= termine l’activité)
Diagramme de Diagramme de
packages • Réalisez un diagramme d’activité qui décrit la packages
Diagramme d’objets Diagramme d’objets
Diagramme de
communication
dynamique du cas d’utilisation « Retirer de l’argent » Diagramme de
communication
Diagramme de Diagramme de
séquence séquence
Diagramme d’activité Diagramme d’activité
Diagramme d’états Diagramme d’états
Autres diagrammes Autres diagrammes

Démarche de Démarche de
conception OO conception OO

193 194

23
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’activité Orientée Objet
Diagramme d’activité
A. Lewandowski A. Lewandowski
Nœuds de contrôle Actions liées à des signaux

Introduction Introduction Actions liées à des signaux


Exemple :
Concepts de base Concepts de base

Diagrammes UML [no more Diagrammes UML


Réception action
Introduction à UML components to be Introduction à UML
Diagramme de cas installed] Diagramme de cas d'un signal
d’utilisation Build Install Deliver d’utilisation
Diagramme de classes Component Component Application Diagramme de classes Réception
Diagramme de Diagramme de
packages packages d'un signal
Diagramme d’objets [more components Diagramme d’objets temporel
[no more components
Diagramme de to be installed] Diagramme de
communication to be built] communication Action action
[more components
décrivant l'envoi
Diagramme de Diagramme de
séquence to be built] séquence
Diagramme d’activité Diagramme d’activité d'un signal
Diagramme d’états Diagramme d’états
Autres diagrammes Autres diagrammes

Démarche de Démarche de
conception OO conception OO

195 196

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’activité Orientée Objet
Diagramme d’activité
A. Lewandowski A. Lewandowski
Actions liées à des signaux Objets

Exemples :
Utilisation des objets
Introduction Introduction

Concepts de base Fin du Envoyer le Demande Concepts de base • en entrée ou en sortie d’une action
mois rapport mensuel d'annulation
Diagrammes UML Diagrammes UML • pour représenter des flux d’objets, des changements
Introduction à UML Introduction à UML
Diagramme de cas
d’utilisation
Diagramme de cas
d’utilisation
d’état
Diagramme de classes Diagramme de classes
Diagramme de Annuler la Diagramme de
packages commande packages
Diagramme d’objets Attendre 2 heures Diagramme d’objets • Notation :
Diagramme de Diagramme de
communication communication
Diagramme de Diagramme de
Objet
séquence séquence
Diagramme d’activité Diagramme d’activité
Objet
Diagramme d’états Traiter Demander Réception du Envoyer Diagramme d’états [état]
Autres diagrammes Autres diagrammes
commande paiement paiement commande
Démarche de Démarche de
conception OO conception OO

197 198

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’activité Orientée Objet
Diagramme d’activité
A. Lewandowski A. Lewandowski
Objets Objets

Représentation des flux d’objets :


Introduction Introduction Exemples :
Concepts de base Concepts de base

Diagrammes UML
Action Objet Action Diagrammes UML Créer {create} Demander
Facture
Introduction à UML
{output {input
Introduction à UML
facture paiement
Diagramme de cas Diagramme de cas
effect} effect}
d’utilisation d’utilisation
Diagramme de classes Diagramme de classes
Diagramme de Diagramme de
packages packages
Diagramme d’objets Connecteur Connecteur Diagramme d’objets
Diagramme de Diagramme de
Objet Objet
communication communication
Casser le Chocolat Faire fondre Chocolat
Diagramme de Diagramme de
...
séquence
Action Action
séquence chocolat [en morceaux] le chocolat [fondu]
Diagramme d’activité Diagramme d’activité
Diagramme d’états {output {input Diagramme d’états
Autres diagrammes
effect} effect} Autres diagrammes

Démarche de Démarche de
conception OO conception OO

199 200

24
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’activité Orientée Objet
Diagramme d’activité
A. Lewandowski A. Lewandowski
Datastore Datastore

Datastore
Introduction Introduction
Exemple :
• sorte de « buffer »
Concepts de base Concepts de base
• conserve tous les tokens reçus «dataStore»
Diagrammes UML Diagrammes UML Embaucher {weight=all}
Personnel
Introduction à UML
• arcs sortants : Introduction à UML employé Evaluer
Diagramme de cas Diagramme de cas Database
d’utilisation d’utilisation employé
Diagramme de classes • copie de token(s) Diagramme de classes
Diagramme de
packages • équivaut à une requête
Diagramme de
packages
«selection»
employe.affectation = null
Diagramme d’objets Diagramme d’objets
Une fois
Diagramme de Diagramme de
communication communication par an
«dataStore»
Diagramme de Diagramme de
séquence séquence Affecter employé
Diagramme d’activité
Diagramme d’états
Nom Diagramme d’activité
Diagramme d’états
à une mission
Autres diagrammes [etat] Autres diagrammes

Démarche de Démarche de
conception OO conception OO

201 202

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’activité Orientée Objet
Diagramme d’activité
A. Lewandowski A. Lewandowski
Conditions locales Régions interruptibles

Pré-conditions et post-conditions locales Régions interruptibles


• conditions autour de la réalisation d’une action • sous-ensemble d’une activité
Introduction • locales au flux, car dépendent du contexte de l’activité Introduction • susceptible de se terminer si un événement particulier se
Concepts de base Concepts de base
• Exemple : produit
Diagrammes UML Diagrammes UML
Introduction à UML Introduction à UML • tous les flux de la région sont interrompus
Diagramme de cas Diagramme de cas
d’utilisation «localPrecondition» d’utilisation
• Notation :
Diagramme de classes Diagramme de classes
Diagramme de Boisson choisie disponible Diagramme de
packages et montant suffisant packages
Diagramme d’objets Diagramme d’objets
Arc
Diagramme de Diagramme de
communication communication d'interruption
Diagramme de
séquence Distribuer Diagramme de
séquence
Diagramme d’activité boisson Diagramme d’activité
Diagramme d’états Diagramme d’états
Autres diagrammes Autres diagrammes

Démarche de «localPostcondition» Démarche de


conception OO conception OO
Boisson choisie distribuée Région
et monnaie rendue interruptible

203 204

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’activité Orientée Objet
Diagramme d’activité
A. Lewandowski A. Lewandowski
Régions interruptibles Exceptions

Exemple : Gestion des exceptions


Introduction Introduction
• pour spécifier les actions à effectuer en cas
Concepts de base Concepts de base
Demande d’erreur/exception dans un nœud « protégé » (une
Diagrammes UML d'annulation Annuler la Diagrammes UML
Introduction à UML commande Introduction à UML action ou un groupe d’actions)
Diagramme de cas Diagramme de cas
[commande rejetée]
d’utilisation
Diagramme de classes
d’utilisation
Diagramme de classes
• 6= région interruptible
Diagramme de Diagramme de
packages
Diagramme d’objets
Recevoir
commande
Préparer
commande
Livrer
commande
Clôturer
commande
packages
Diagramme d’objets
• Notation :
Diagramme de [commande Diagramme de
communication acceptée] communication
Diagramme de Diagramme de
séquence séquence Nœud de
Nœud
gestion
Diagramme d’activité Diagramme d’activité
Diagramme d’états Diagramme d’états
protégé
Autres diagrammes Autres diagrammes ExceptionType d'exception
Envoyer Recevoir Valider
Démarche de facture paiement paiement Démarche de
conception OO conception OO

205 206

25
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’activité Orientée Objet
Diagramme d’activité
A. Lewandowski A. Lewandowski
Exceptions Partitions

Exemple : Le diagramme peut être organisé en partitions


• pour montrer les responsabilités (qui fait quoi)
Introduction ... Introduction

Concepts de base Concepts de base


• découpage en « couloirs »
Diagrammes UML Diagrammes UML
Introduction à UML Open URL Introduction à UML
Diagramme de cas
Prompt for a Diagramme de cas • Notation :
d’utilisation d’utilisation
Diagramme de classes valid URL Diagramme de classes
Diagramme de MalformedURL Diagramme de
packages Open packages
Nom partition
Diagramme d’objets Display Diagramme d’objets
Diagramme de Diagramme de
communication communication
Diagramme de Diagramme de
séquence Display error séquence
Copy contents of (partition)
Diagramme d’activité message Diagramme d’activité
Diagramme d’états URL to display IOException Diagramme d’états ... Action
Autres diagrammes Autres diagrammes

Démarche de Démarche de
conception OO ... conception OO

207 208

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’activité Orientée Objet
Diagramme d’activité
A. Lewandowski A. Lewandowski
Partitions Régions d’expansion

Régions d’expansion
Exemple : • actions qui s’exécutent pour plusieurs éléments de
Introduction Introduction même type (collections)
[commande rejetée]
Concepts de base Concepts de base
• mots-clés : « parallel », « iterative », « stream »
:Dpt gestion des
commandes

Diagrammes UML Diagrammes UML


Recevoir Préparer Livrer Clôturer
Introduction à UML commande commande commande commande Introduction à UML • un ou plusieurs connecteurs en entrée, 0 ou plusieurs en
Diagramme de cas [commande Diagramme de cas
d’utilisation
Diagramme de classes
acceptée]
d’utilisation
Diagramme de classes
sortie
Diagramme de Diagramme de
packages packages • Notation :
:Service financier

Diagramme d’objets Diagramme d’objets


Diagramme de Diagramme de ...
communication Valider communication
Envoyer
Diagramme de paiement Diagramme de
séquence facture séquence
Diagramme d’activité Diagramme d’activité «concurrent»
Diagramme d’états Facture Diagramme d’états
Autres diagrammes Autres diagrammes
«external»
Client

Démarche de Effectuer Démarche de


conception OO paiement conception OO

Région ... Connecteurs


d'expansion

209 210

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’activité Orientée Objet
Diagramme d’activité
A. Lewandowski A. Lewandowski
Régions d’expansion Activité

Exemple : Activité
Introduction Introduction • Encapsulation du flux des actions qui la réalisent
...
Concepts de base Concepts de base • Paramétrée par les objets entrant
Diagrammes UML articles Diagrammes UML
Introduction à UML Introduction à UML • Notation :
Diagramme de cas Diagramme de cas
d’utilisation «iterative» d’utilisation
Diagramme de classes Diagramme de classes
Diagramme de Diagramme de Nom_Activité
packages Scanner packages
Nom_param: Type
article
Diagramme d’objets Diagramme d’objets
Diagramme de Diagramme de
communication communication
Diagramme de Diagramme de
séquence séquence
...
Diagramme d’activité Diagramme d’activité ...
Diagramme d’états
Autres diagrammes
articles Diagramme d’états
Autres diagrammes ...
Démarche de ... Démarche de
conception OO conception OO

211 212

26
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’activité Orientée Objet
Diagramme d’activité
A. Lewandowski A. Lewandowski
Activité Activité

Exemple :
Introduction Introduction • Peut servir à représenter les opérations des classes
Concepts de base Traiter une commande «precondition» Commande complète Concepts de base • une activité = une opération
Commande à Traiter: Commande «postcondition» Commande classée
Diagrammes UML Diagrammes UML
Introduction à UML Demande Introduction à UML
Diagramme de cas
d’utilisation
d'annulation Annuler la Diagramme de cas
d’utilisation
• Des actions peuvent invoquer d’autres activités
A commande
Commande
Diagramme de classes
Diagramme de à Traiter [commande
A
Diagramme de classes
Diagramme de
• tenir compte des paramètres
packages rejetée] packages
Diagramme d’objets Recevoir Préparer Livrer Diagramme d’objets
Diagramme de commande commande commande Diagramme de
communication [commande communication
Diagramme de acceptée] Diagramme de Traiter une
séquence séquence ... ...
Diagramme d’activité Clôturer Diagramme d’activité Commande
Diagramme d’états commande Diagramme d’états
Autres diagrammes Autres diagrammes

Démarche de Envoyer Recevoir Valider Démarche de


conception OO facture paiement paiement conception OO

213 214

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’activité Orientée Objet
Les diagrammes UML
A. Lewandowski A. Lewandowski
Exercice

Représenter par un diagramme d’activité la recette Diagramme

(simplifiée) de la mousse au chocolat :


Introduction Introduction
• commencer par casser le chocolat en morceaux, puis le faire
Concepts de base Concepts de base
fondre Diagramme
Structurel
Diagramme
Comportemental
Diagrammes UML Diagrammes UML
Introduction à UML • en parallèle, casser les œufs en séparant les blancs des jaunes Introduction à UML
Diagramme de cas Diagramme de cas
d’utilisation d’utilisation
Diagramme de classes • quand le chocolat est fondu, ajouter les jaunes d’œuf Diagramme de classes Diagramme de
classes
Diagramme de
composants
Diagramme
d'objets
Diagramme
d'activités
Diagramme de
cas d'utilisation
Diagramme
d'états
Diagramme de Diagramme de
packages packages
Diagramme d’objets • battre les blancs en neige jusqu’à ce qu’ils soient bien fermes Diagramme d’objets
Diagramme de
structure
Diagramme de
packages
Diagramme de
déploiement
Diagramme
d'Interaction
Diagramme de Diagramme de composite
communication communication
Diagramme de
séquence
• les incorporer délicatement à la préparation du chocolat sans Diagramme de
séquence
Diagramme d’activité les briser Diagramme d’activité
Diagramme de
Diagramme
Diagramme d’états Diagramme d’états global
séquence d'interactions
Autres diagrammes Autres diagrammes
• verser dans des ramequins individuels
Démarche de Démarche de Diagramme de Diagramme de
conception OO conception OO communication timing
• mettre au frais au moins 3 heures au réfrigérateur avant de
servir

215 216

Méthode de Méthode de
Conception Conception
[Vue Fonctionnelle/Dynamique]
Orientée Objet Orientée Objet
Diagramme d’états
A. Lewandowski A. Lewandowski
Présentation
Examples
Diagramme de machine à
Figure 15.41 is an example statemachine diagram for the state machine for simple telephone object. In addition to the
états
initial state, the state machine has an entry point called activeEntry, and in addition to the final state, it has an exit point
called aborted.
Diagramme de machine à états
Introduction Introduction
activeEntry Active
• Automate à états finis
Concepts de base Time-out Concepts de base

Diagrammes UML
do/ play message
dial digit(n) Diagrammes UML • Abstraction des comportements possibles d’une classe
after (15 sec.) [incomplete]
Introduction à UML
Diagramme de cas DialTone
after (15 sec.)
Introduction à UML
Diagramme de cas
ou d’une opération
d’utilisation dial digit(n) d’utilisation
Dialing
Diagramme de classes lift
receiver
do/ play dial tone
dial digit(n)[invalid] Diagramme de classes • Description formelle du comportement d’une instance
Diagramme de dial digit(n)[valid] Diagramme de
/get dial tone
packages Invalid /connect packages • états
Diagramme d’objets do/ play message Connecting
Diagramme d’objets
Idle
Diagramme de
communication
Diagramme de
communication
• événements
busy
Diagramme de Pinned connected Diagramme de
séquence
callee
Busy
séquence • Chaque objet / opération
do/ play busy
Diagramme d’activité callee hangs up tone Diagramme d’activité
Diagramme d’états caller
hangs up
answers Diagramme d’états • suit le comportement décrit par l’automate
Autres diagrammes /disconnect Autres diagrammes
Talking
Ringing
• se trouve à un instant donné dans un état qui
Démarche de callee answers do/ play ringing Démarche de
conception OO
/enable speech tone
conception OO caractérise ses valeurs
abort terminate

aborted

217 Figure 15.41 - State machine diagram representing a state machine


218

UML Superstructure Specification, v2.1.1 563


27
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’états Orientée Objet
Diagramme d’états
A. Lewandowski A. Lewandowski
Utilisation Représentation

Graphe orienté états-transitions


Utilisé pour • nœuds = états
Introduction Introduction
• se concentrer sur le fonctionnement d’une classe • arcs = transitions
Concepts de base Concepts de base
• décrire le comportement concret de la vie d’un objet
Diagrammes UML Diagrammes UML
Introduction à UML • lié à un ou plusieurs scénarios Introduction à UML
stm Titre
Diagramme de cas Diagramme de cas
d’utilisation
Diagramme de classes
• les classes complexes d’utilisation
Diagramme de classes
Diagramme de
packages • objets réactifs complexes Diagramme de
packages
Diagramme d’objets
• protocole et séquences (sessions, etc.) Diagramme d’objets État 1 État 2
Diagramme de Diagramme de
communication
Diagramme de
• en général 10% des classes d’une application communication
Diagramme de
séquence séquence
Diagramme d’activité • plus en télécom., moins en gestion Diagramme d’activité

État 2
Diagramme d’états Diagramme d’états
Autres diagrammes • Représenter la navigation Autres diagrammes

Démarche de • IHM, enchaı̂nements d’écrans, site web, etc. Démarche de


conception OO conception OO

219 220

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’états Orientée Objet
Diagramme d’états
A. Lewandowski A. Lewandowski
État État

Exemple :
Introduction Introduction

Concepts de base État d’un objet Concepts de base


Société Personne
Diagrammes UML • Situation stable à un moment de la vie d’un objet Diagrammes UML
0..1 1..*
Introduction à UML Introduction à UML
Diagramme de cas
d’utilisation • L’objet Diagramme de cas
d’utilisation
Diagramme de classes Diagramme de classes
Diagramme de • satisfait une condition Diagramme de
packages packages
• exécute une certaine activité
Au chomage
Diagramme d’objets Diagramme d’objets
Diagramme de Diagramme de
communication • attend un certain événement communication
Diagramme de
séquence
Diagramme de
séquence A la retraite
Diagramme d’activité
• Un objet reste dans un état pendant un temps fini Diagramme d’activité
Diagramme d’états Diagramme d’états
Autres diagrammes Autres diagrammes En activité
Démarche de Démarche de
conception OO conception OO

221 222

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’états Orientée Objet
Diagramme d’états
A. Lewandowski A. Lewandowski
État État

• l’état = image des valeurs des attributs + présence ou


États
Introduction
non de liens avec d’autres objets Introduction

Concepts de base Concepts de base • Un seul et unique état initial par niveau hiérarchique
Diagrammes UML Exemple : Diagrammes UML • Plusieurs états finaux possibles (voire aucun)
Introduction à UML Introduction à UML
Diagramme de cas Diagramme de cas
d’utilisation
pierre:Personne d’utilisation
Diagramme de classes Au chomage Diagramme de classes
Diagramme de age=35 Diagramme de
packages packages
Diagramme d’objets Diagramme d’objets État
Diagramme de
communication paul:Personne
Diagramme de
communication
intermédiaire
Diagramme de :Société En activité Diagramme de
séquence age=38 séquence
Diagramme d’activité Diagramme d’activité Etat final
Diagramme d’états Diagramme d’états Etat initial
Autres diagrammes jacques:Personne Autres diagrammes
A la retraite
Démarche de age=75 Démarche de
conception OO conception OO

223 224

28
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’états Orientée Objet
Diagramme d’états
A. Lewandowski A. Lewandowski
État État

Exemple :
Introduction Introduction

Concepts de base Concepts de base :Vendeur :Voiture


Comment identifier les différents états ?
Diagrammes UML Diagrammes UML
préparer()
Événement
Introduction à UML
Diagramme de cas
• Intuitivement Introduction à UML
Diagramme de cas
d’utilisation d’utilisation
Diagramme de classes
Diagramme de
• En analysant les attributs et les associations de la classe Diagramme de classes
Diagramme de
packages packages
Diagramme d’objets • Au travers d’un diagramme d’interaction (séquence, Diagramme d’objets
Diagramme de Diagramme de
communication
Diagramme de
communication) communication
Diagramme de
séquence séquence
Diagramme d’activité Diagramme d’activité
Diagramme d’états Diagramme d’états
Autres diagrammes Autres diagrammes
préparer
Démarche de Démarche de En attente Préparée
conception OO conception OO

225 226

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’états Orientée Objet
Diagramme d’états
A. Lewandowski A. Lewandowski
État Transition
Éléments constituant un état
• Nom
• Actions et Activités internes Transition entre états
Introduction Introduction
• entry : action effectuée lorsque l’objet entre dans l’état • Réponse de l’objet (dans un certain état) à l’occurence
Concepts de base Concepts de base
• exit : comportement (action) de l’objet lorsqu’il quitte d’un événement
Diagrammes UML Diagrammes UML
Introduction à UML
l’état Introduction à UML
• passage à un autre état
Diagramme de cas
d’utilisation
• do : comportement (continu) de l’objet lorsqu’il est Diagramme de cas
d’utilisation • action à exécuter
Diagramme de classes
Diagramme de
dans l’état (activité) Diagramme de classes
Diagramme de • Événement déclencheur
packages
• Transitions internes packages
Diagramme d’objets Diagramme d’objets • résultant de messages entre objets (signal, appel)
Diagramme de • auto-transitions sur événement extérieur Diagramme de
communication communication • internes (une condition devient vraie)
Diagramme de Diagramme de
séquence séquence • temporels (période d’attente, date de déclenchement)
Diagramme d’activité
Diagramme d’états
État 1 Diagramme d’activité
Diagramme d’états
Autres diagrammes
entry/ act. en entrée Autres diagrammes • Un événement est une information instantanée
Démarche de exit/ act. en sortie Démarche de
• Le passage d’un état à un autre est instantané
conception OO conception OO
do/ act. continue
on évt/ act. interne

227 228

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’états Orientée Objet
Diagramme d’états
A. Lewandowski A. Lewandowski
Transition Transition

Représentation d’une transition


• Tout est optionnel Exemples :
Introduction • mais l’absence d’événement est rare Introduction
Porte de garage
Concepts de base • Action classique : envoi de message Concepts de base
En cours
Diagrammes UML • send cible.message(arguments) Diagrammes UML fin ouverture
appui bouton d'ouverture
Introduction à UML
Diagramme de cas
Introduction à UML
Diagramme de cas
/stop moteur
d’utilisation d’utilisation /moteur AV
Diagramme de classes Diagramme de classes
Diagramme de Diagramme de
appui bouton
packages
Événement packages
Diagramme d’objets
Condition
Diagramme d’objets /moteur AV
Diagramme de déclencheur Diagramme de Fermée Ouverte
communication communication
Diagramme de Diagramme de
séquence événement(paramètres) [garde] séquence
Diagramme d’activité
État 1 État 2 Diagramme d’activité
fin fermeture appui bouton
Diagramme d’états
/ action Diagramme d’états En cours de
Autres diagrammes Autres diagrammes /stop moteur /moteur AR
fermeture
Démarche de Démarche de
conception OO Action à effectuer conception OO

en réponse

229 230

29
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’états Orientée Objet
Diagramme d’états
A. Lewandowski A. Lewandowski
Transition Action et Activité

Exemples :
Introduction Introduction
stm Sas
Concepts de base Concepts de base • Actions
Diagrammes UML fin alarme sortie(personne) Diagrammes UML
Introduction à UML
Sas bloqué
Introduction à UML
• opérations dont la durée d’exécution est négligeable
Diagramme de cas
d’utilisation accès(personne)[autorisé]
Diagramme de cas
d’utilisation
• non interruptibles
Sas vide et fermé
Diagramme de classes alarme générale Diagramme de classes
• Activités
Diagramme de do/vérifier badge Diagramme de
packages Basculement packages
Diagramme d’objets Diagramme d’objets • opérations qui « durent »
Diagramme de entry/bloquer porte entrée Diagramme de
communication
accès(personne)[intru]
et ouvrir porte sortie communication • représentées au travers d’un état
Diagramme de exit/bloquer porte sortie Diagramme de
séquence séquence • interruptibles (dès qu’une transition est franchie)
Diagramme d’activité after(1min) Diagramme d’activité
Diagramme d’états Alarme Diagramme d’états
Autres diagrammes
do/signal alarme after(1min) Autres diagrammes

Démarche de Démarche de
conception OO conception OO

231 232

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’états Orientée Objet
Diagramme d’états
A. Lewandowski A. Lewandowski
Action et Activité États composites

Dans un état :
États composites
Introduction Introduction
• Un état peut se décomposer en sous-états disjoints
Concepts de base Concepts de base
/ Op.1 • Transitions déclenchées par le même événement
Diagrammes UML Diagrammes UML
Introduction à UML Introduction à UML
Diagramme de cas État Diagramme de cas • Les sous-états héritent des variables d’état et des
d’utilisation d’utilisation
Diagramme de classes entry/ Op.2 Diagramme de classes transitions externes du super-état
Diagramme de Diagramme de
packages do/ Op.3 packages

on évt/ Op.4
Diagramme d’objets Diagramme d’objets
Diagramme de Diagramme de
B
communication exit/ Op.5 communication
A
Diagramme de Diagramme de B
séquence séquence
Diagramme d’activité Diagramme d’activité A B1 A B1
Diagramme d’états / Op.6 Diagramme d’états
Autres diagrammes Autres diagrammes
B
Démarche de Démarche de B2 B2
conception OO conception OO

233 234

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’états Orientée Objet
Diagramme d’états
A. Lewandowski A. Lewandowski
États composites Exercice

Exemples

Introduction Introduction

Concepts de base Concepts de base


Cas d’un réveil :
E1
Diagrammes UML A B Diagrammes UML • on peut mettre l’alarme « on » ou « off »
Introduction à UML Introduction à UML
Diagramme de cas Diagramme de cas • quand l’heure courante devient égale à l’heure de
d’utilisation
Diagramme de classes
E2 d’utilisation
Diagramme de classes
Diagramme de Diagramme de l’alarme, le réveille sonne
packages packages
Diagramme d’objets C Diagramme d’objets • le réveille sonne jusqu’à ce qu’on interrompe la sonnerie
Diagramme de Diagramme de
E1
communication communication

A B
Diagramme de Diagramme de
séquence séquence
Diagramme d’activité
Diagramme d’états
Diagramme d’activité
Diagramme d’états
Proposer le diagramme d’état correspondant
Autres diagrammes Autres diagrammes
E2 E2
Démarche de Démarche de
conception OO conception OO
C

235 236

30
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’états Orientée Objet
Diagramme d’états
A. Lewandowski A. Lewandowski
Historique Historique
Exemple
Pseudo-état historique
Introduction • Un automate n’a pas de mémoire Introduction

Concepts de base Concepts de base


• Notation spéciale pour mémoriser le dernier sous-état
Diagrammes UML Diagrammes UML
Introduction à UML visité Introduction à UML lustrage
Diagramme de cas Diagramme de cas
d’utilisation
• Le sous-état mémorisé sera alors directement actif lors d’utilisation reprise
Diagramme de classes Diagramme de classes H
Diagramme de
packages de l’entrée dans le super-état Diagramme de
packages
after(2min)
Diagramme d’objets Diagramme d’objets
Diagramme de
communication • Par défaut, le sous-état activé est l’état initial Diagramme de
communication
Diagramme de
séquence
Diagramme de
séquence attente lavage
Diagramme d’activité Diagramme d’activité arrêt
urgence
H
Diagramme d’états Diagramme d’états
Autres diagrammes Autres diagrammes after(4min)
after(2min)
Démarche de Démarche de
conception OO conception OO
séchage
after(2min)

237 238

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’états Orientée Objet
Diagramme d’états
A. Lewandowski A. Lewandowski
Régions concurrentes Pseudo-états

Régions concurrentes
• Forme de parallélisme entre automates D’autres pseudo-états :
Introduction Introduction
• Composition d’un état à partir de plusieurs états • Débranchement (Fork)
Concepts de base Concepts de base
indépendants • parallélisation
Diagrammes UML Diagrammes UML
Introduction à UML Introduction à UML • Jonction (Join)
Diagramme de cas Diagramme de cas
d’utilisation
Diagramme de classes État
d’utilisation
Diagramme de classes
• synchronisation
Diagramme de Diagramme de
packages
Y
packages
P
Diagramme d’objets Diagramme d’objets
Diagramme de E1 Diagramme de
communication communication
Diagramme de
A Diagramme de
A1 A2
séquence X E2 séquence
Diagramme d’activité Diagramme d’activité S T
Diagramme d’états Diagramme d’états
Autres diagrammes E2 Autres diagrammes
B1 B2
Démarche de B Z Démarche de
conception OO conception OO

239 240

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme d’états Orientée Objet
Diagramme d’états
A. Lewandowski A. Lewandowski
Pseudo-états Démarche

Introduction
• Décision Introduction

Concepts de base • Fusion (Merge) Concepts de base Comment construire le diagramme d’états ?
Diagrammes UML Diagrammes UML
Introduction à UML
E1 E2 Introduction à UML 1 Décrire d’abord le comportement nominal
Diagramme de cas Diagramme de cas
d’utilisation
Diagramme de classes
d’utilisation
Diagramme de classes
2 Ajouter les transitions correspondant aux
Diagramme de [a<10] ev1 ev2 Diagramme de
comportements alternatifs ou d’erreur
packages packages
Diagramme d’objets Diagramme d’objets
Diagramme de
[a<0]
Diagramme de 3 Compléter les effets sur les transitions et activités
communication
[a≥10] communication
Diagramme de [a>8] Diagramme de
séquence
Diagramme d’activité [a=5]
séquence
Diagramme d’activité
4 Structurer en sous-états si nécessaire
Diagramme d’états Diagramme d’états
Autres diagrammes E5 Autres diagrammes
E3
Démarche de E4 Démarche de
conception OO conception OO

241 242

31
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Les diagrammes UML Orientée Objet

A. Lewandowski A. Lewandowski

Autres diagrammes UML


Diagramme

Introduction Introduction

Concepts de base Diagramme Diagramme Concepts de base

Diagrammes UML
Structurel Comportemental
Diagrammes UML • Diagrammes d’interaction
Introduction à UML Introduction à UML
Diagramme de cas Diagramme de cas • diagramme de timing
d’utilisation d’utilisation
Diagramme de classes Diagramme de Diagramme de Diagramme Diagramme Diagramme de Diagramme Diagramme de classes • diagramme global d’interaction
classes composants d'objets d'activités cas d'utilisation d'états
Diagramme de Diagramme de
packages
Diagramme d’objets
Diagramme de
Diagramme de Diagramme de Diagramme
packages
Diagramme d’objets
• Diagrammes structurels
structure
packages déploiement d'Interaction
Diagramme de
communication
composite Diagramme de
communication • diagramme de structure composite
Diagramme de
séquence
Diagramme de
séquence • diagramme de composants
Diagramme d’activité
Diagramme d’états Diagramme de
Diagramme
global
Diagramme d’activité
Diagramme d’états
• diagramme de déploiement
séquence d'interactions
Autres diagrammes Autres diagrammes

Démarche de Diagramme de Diagramme de Démarche de


conception OO communication timing conception OO

244 245

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de timing Orientée Objet
Diagramme de timing
A. Lewandowski A. Lewandowski

sd Titre

Introduction Introduction États


Chagement
Concepts de base Diagramme de timing Concepts de base
d'état
Allumé
:Pompe

Diagrammes UML Diagrammes UML


Introduction à UML
• Interactions avec focus sur les changements d’états et Introduction à UML
Diagramme de cas
d’utilisation contraintes temporelles Diagramme de cas
d’utilisation
Éteint
Diagramme de classes Diagramme de classes
Diagramme de
packages
• Axe du temps horizontal Diagramme de
packages
Diagramme d’objets
• Utilisé dans les applications temps réel
Diagramme d’objets
Contrainte
Diagramme de Diagramme de Allumé
:Plaque

communication communication temporelle


Diagramme de Diagramme de
Éteint
séquence séquence
Diagramme d’activité Diagramme d’activité
Diagramme d’états Diagramme d’états
Autres diagrammes Autres diagrammes {<15min}
Objet {>10s}
Démarche de Démarche de
conception OO conception OO

246 247

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme global d’interaction Orientée Objet
Diagramme global d’interaction
A. Lewandowski A. Lewandowski
sd DAB Global

sd S'authentifier (nominal)

:PorteurDeCarte :DAB

Introduction Introduction
introduction carte
vérification
Concepts de base Diagramme global d’interaction Concepts de base carte
demande code
Diagrammes UML Diagrammes UML
Introduction à UML
• Vue d’ensemble des interactions Introduction à UML
saisie(code)
vérification
Diagramme de cas Diagramme de cas code
d’utilisation • Mélange Activité/Séquence d’utilisation code OK
Diagramme de classes Diagramme de classes
Diagramme de Diagramme de
packages • Diagramme d’activité où certaines actions sont packages
Diagramme d’objets Diagramme d’objets
Authentification [!OK]
Diagramme de
communication
remplacées par un diagramme de séquence Diagramme de
communication Echec
[OK]
Diagramme de Diagramme de
séquence séquence [retrait] [dépôt]
Diagramme d’activité Diagramme d’activité
Diagramme d’états Diagramme d’états [consultation]
Autres diagrammes Autres diagrammes
ref Retirer ref Consulter ref Déposer
Démarche de Démarche de de l'argent son solde de l'argent
conception OO conception OO

248 249

32
Université du Littoral Côte d’Opale MCOO – Diagrammes UML
L3 Info

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de structure Orientée Objet
Diagramme de structure
A. Lewandowski A. Lewandowski
composite composite

cd PlatineDVD
Diagramme de structure composite
Introduction Introduction LecteurDVD

Concepts de base
• Pour décomposer les classes (structurées) Concepts de base
AudioOut
Diagrammes UML • un conteneur Diagrammes UML Lecteur Audio
optique out
Introduction à UML • participants (parts) Introduction à UML
Tiroir de Power
Diagramme de cas Diagramme de cas
chargement Prise
d’utilisation • connecteurs (relations entre participants au sein du d’utilisation
Diagramme de classes Diagramme de classes AC
Diagramme de conteneur) Diagramme de LectureDVD Contrôleur
packages packages Commande
Diagramme d’objets • ports (interactions avec l’environnement) Diagramme d’objets Récepteur
Diagramme de Diagramme de Facade Infrarouge
communication • interfaces communication avant
Diagramme de Diagramme de
séquence séquence «component»
Diagramme d’activité • Adapté pour les composants Diagramme d’activité «interface» Order
Diagramme d’états Diagramme d’états LectureDVD
Autres diagrammes • Focus sur la structure interne Autres diagrammes + standBy() OrderHeader
Démarche de Démarche de + openClose()
OrderEntry
conception OO • Pour représenter les collaborations entre instances conception OO + read()
order 1
. . .
item * Person

LineItem

250 251
Figure 8.11 - An alternative nested representation of a complex component

If more detail is required of the role or instance level containment of a component, then an internal structure consisting of
parts and connectors can be defined for that component. This allows, for example, explicit part names or connector names
Méthode de Méthode de to be shown in situations where the same Classifier (Association) is the type of more than one Part (Connector). That is,
Conception Conception
the Classifier is instantiated more than once inside the component, playing different roles in its realization. Optionally,
Orientée Objet
Diagramme de composants Orientée Objet
Diagramme de composants
specific instances (InstanceSpecifications) can also be referred to as in this notation.
A. Lewandowski A. Lewandowski Interfaces that are exposed by a Component and notated on a diagram, either directly or though a port definition, may be
inherited from a supertype component. These interfaces are indicated on the diagram by preceding the name of the
interface by a forward slash. An example of this can be found in Figure 8.14, where “/orderedItem” is an interface that is
implemented by a supertype of the Product component.

«component»
Diagramme de composants Store
Introduction Introduction OrderEntry
• Objectifs «delegate»
Concepts de base Concepts de base «component» Person «component»
• description des composants logiciels « physiques » et de :Order :Customer
Diagrammes UML Diagrammes UML OrderEntry Person
Introduction à UML leurs relations Introduction à UML
Diagramme de cas Diagramme de cas OrderableItem
d’utilisation • représenter l’organisation et les dépendances entre d’utilisation Account
Diagramme de classes Diagramme de classes «delegate»
Diagramme de composants Diagramme de
packages packages OrderableItem
Diagramme d’objets • montre les choix d’implémentation Diagramme d’objets
Diagramme de Diagramme de Account
communication
Diagramme de
• Composant communication
Diagramme de
«component»

séquence séquence :Product


Diagramme d’activité • élément remplaçable d’un système Diagramme d’activité
Diagramme d’états
Autres diagrammes
• conforme à et réalise interfaces Diagramme d’états
Autres diagrammes

Démarche de Démarche de Figure 8.12 - An internal or white-box view of the internal structure of a component that contains other components as
conception OO conception OO parts of its internal assembly.

UML Superstructure Specification, v2.1.1 151

252 253

Méthode de Méthode de
Conception Conception
Orientée Objet
Diagramme de déploiement Orientée Objet
Diagramme de déploiement
A. Lewandowski A. Lewandowski

Diagramme de déploiement
• Objectifs «device»
:AppServer
Introduction • Représenter l’architecture matérielle et la répartition Introduction
«device»
Concepts de base logicielle (système distribué) Concepts de base :DBServer
«executionEnvironment»
Diagrammes UML • Visualiser la distribution des composants dans Diagrammes UML :J2EEServer
Introduction à UML Introduction à UML
Diagramme de cas l’entreprise Diagramme de cas
d’utilisation d’utilisation ShoppingCart.jar
Diagramme de classes • Nœuds Diagramme de classes Account.jar
Product.jar
Diagramme de Diagramme de
packages packages
Diagramme d’objets
• équipement (matériel : serveur, modem, imprimante, Diagramme d’objets
Diagramme de
communication etc.) Diagramme de
communication
Diagramme de • environnement d’exécution (logiciel : BD, mémoire, Diagramme de «deploy» «deploymentSpec»
séquence séquence
RequestHandlerDesc.xml
Diagramme d’activité
Diagramme d’états
conteneur EJB, etc.) Diagramme d’activité
Diagramme d’états
Autres diagrammes Autres diagrammes
«artifact»
• Un nœud contient des artefacts : classes, etc.
Démarche de Démarche de RequestHandler.jar
conception OO conception OO
• Relations entre nœuds : supports de communication

254 255

33

You might also like