Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
(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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 :
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
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
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
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
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
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
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
+
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
«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
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
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
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
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
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
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
opti
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.
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
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
: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
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
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
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
...
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
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
179 180
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
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
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
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
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
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
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
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
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
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
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
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
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
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
État 2
Diagramme d’états Diagramme d’états
Autres diagrammes • Représenter la navigation Autres diagrammes
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
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
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
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
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
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
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
Introduction Introduction
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
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
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»
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.
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