0% ont trouvé ce document utile (0 vote)
21 vues72 pages

Introduction à la modélisation UML2

Transféré par

Oussama Louhichi
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
21 vues72 pages

Introduction à la modélisation UML2

Transféré par

Oussama Louhichi
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

9/18/2024

Chapitre 1
Modélisation objet UML2
 Positionnement deet méthode
l’unité
d’enseignement dans le Language
cursus
MODÉLISATION OBJET
Unified Modeling
Modèle de
2 Introduction
Introduction Approche Orientée Objet
d’enseignement de la deuxième année DSI:
•Vues d’un système
conception
•Diagrammes UML

 Base de données

UML2

Classes: 2ème année DSI


 Conception et Programmation Objet
 Développement Web (Semestre 3 et 4)
 Communication et langues
 Architecture Logicielle
Niveau : 2ème année
 Programmation Objet Avancée
Développement des Systèmes d’Information
SGBD

Enseignante : S. Mnif

 Cultures et Langues
Enseignante : Salima MNIF  Positionnement de la matière dans l’unité d’enseignement
Contact : [Link]@[Link]
concernée:
 Modélisation Objet (UML2)
 Programmation Objet
 Atelier de Programmation Objet
Semestre 1 Institut Supérieur des Etudes Technologiques de Nabeul
Chapitre 1

Chapitre 1
Modélisation objet UML2 Modélisation objet UML2
q Fiche Matière Modèle et méthode de
Unified Modeling Language q Fiche Matière Modèle et méthode de
Unified Modeling Language
3 Introduction
Introduction
conception
Approche Orientée Objet •Vues d’un système 4 Introduction
Introduction
conception
Approche Orientée Objet •Vues d’un système
•Diagrammes UML •Diagrammes UML

Sciences et Technologies Introduction à la modélisation Objet et à UML


Classes: 2ème année DSI

Classes: 2ème année DSI


Technologies de l’Informatique (TI) Vue d’ensemble des diagrammes UML et axes de UML 2.x (Comportement,
Développement des Systèmes d’Information Interaction, Structure)
Diagrammes de comportement (Cas d’utilisation)
Conception et Programmation Objet Diagrammes statiques (Classes et d’objets)
S3 Diagrammes dynamiques (Séquence, états de transition des états dynamiques,
d’activité)
Diagrammes architecturaux (Déploiement et de Composants
Enseignante : S. Mnif

Modélisation Objet (UML2) 42 3 3 Contrôle continu Enseignante : S. Mnif

O
Maîtriser la lecture, la conception et la compréhension des modèles d’un système d’information en Condensé du cours Forme de base
utilisant le langage UML2.
Cours interactif Optionnel
Travaux dirigés
Travaux personnalisés Optionnel, pas forcément avec correction (home work)
Mini projet Avancement au fur et à mesure du cours, est évalué
Conception, UML2, Modélisation objet, OMG

1
9/18/2024
Chapitre 1 Plan de la matière

Chapitre 1
Modélisation objet UML2
Modélisation objet UML2
q Fiche Matière Modèle et méthode de
Unified Modeling Language
q Chapitre 1 : Intorduction
Modèle et méthode de àApproche
la mmodélisation objet et
Unified Modeling Language
5 Introduction
Introduction Approche Orientée Objet •Vues d’un système 6 Introduction
Introduction Orientée Objet •Vues d’un système

Benchmark et références similaires


conception
•Diagrammes UML
UML conception
•Diagrammes UML

 -Fiche Matière q Chapitre 2: Diagramme de cas d’utilisation


Classes: 2ème année DSI

Classes: 2ème année DSI


Pascal Roques, UML2 par la pratique, études de cas et exercices corrigés,
Eyrolles 2008.
- Martin Fowler, UML Distilled: A Brief Guide to the Standard Object Modeling
Language, - Addison-Wesley Professional, 2003.
q Chapitre 3 : Diagramme de classes
q Chapitre 4 : Diagramme d’objets
Pascal Roques, Les cahiers du programmeur UML2, Modéliser une application
Web, Eyrolles 2007.
[Link], [Link] et [Link], Intégrer UML dans vos projets, Eyrolle
Site de référence : [Link]/spec/uml q Chapitre 5 : Diagramme de séquences
q Chapitre 6 : Diagramme de communication
Enseignante : S. Mnif

Enseignante : S. Mnif
q Chapitre 7:Diagramme d’états-transitions
q Chapitre 8 : Diagramme d’activités
q Chapitre 9 : Diagramme de composants
q Chapitre 10 : Diagramme de déploiement

Introduction à la modélisation objet

Chapitre 1
MODÉLISATION OBJET
et UML
UML2 Modèle et méthode de
Unified Modeling Language
8 Introduction
Introduction
conception
Approche Orientée Objet •Vues d’un système
•Diagrammes UML

Chapitre 1: Introduction à la modélisation

Classes: 2ème année DSI


objet et UML

Niveau : 2ème année


Développement des Systèmes d’Information
Enseignante : S. Mnif

Enseignante : Salima MNIF


Contact : [Link]@[Link]

Semestre 1 Institut Supérieur des Etudes Technologiques de Nabeul

2
9/18/2024
Chapitre 1 Introduction à la modélisation objet Introduction à la modélisation objet

Chapitre 1
et UML et UML
Unified Modeling Language Unified Modeling Language
Modèle et méthode de Modèle et méthode de
9 Introduction
Introduction
conception
Approche Orientée Objet •Vues d’un système 10 Introduction
Introduction
conception
Approche Orientée Objet •Vues d’un système
•Diagrammes UML •Diagrammes UML

 Lorsqu’un développeur passe directement à l’étape  En 1995, une étude du Standish Group sur les
Classes: 2ème année DSI

Classes: 2ème année DSI


programmation, il est rare d’aboutir à un résultat projets informatiques utilisant un échantillon
qui répond aux besoins dans les délais requis. de 365 entreprises, étudiant 8 380 applications :
 Réussite: 16,2% des projets conformes aux prévisions
Enseignante : S. Mnif

Enseignante : S. Mnif
initiales,
 Problématique: 52,7% avaient subi des dépassements en
coût et délai,
 Echec: 31,1% ont été purement abandonnés durant leur
développement.

Introduction à la modélisation objet Introduction à la modélisation objet


Chapitre 1

Chapitre 1
et UML et UML
Unified Modeling Language Unified Modeling Language
Modèle et méthode de Modèle etetméthode
Modèle méthode de
11 Introduction
Introduction
conception
Approche Orientée Objet •Vues d’un système 12 Introduction
de conception
conception
Approche Orientée Objet •Vues d’un système
•Diagrammes UML •Diagrammes UML

 Modélisation
Classes: 2ème année DSI

Classes: 2ème année DSI


Enseignante : S. Mnif

Enseignante : S. Mnif

Implémentation

3
9/18/2024
Chapitre 1 Introduction à la modélisation objet Introduction à la modélisation objet

Chapitre 1
et UML et UML
Unified Modeling Language Unified Modeling Language
Modèle etetméthode
Modèle méthode de Modèle etetméthode
Modèle méthode de
13 Introduction Approche Orientée Objet •Vues d’un système 14 Introduction Approche Orientée Objet •Vues d’un système
de conception
conception
•Diagrammes UML
de conception
conception
•Diagrammes UML

 Alors c’est quoi un modèle?


Classes: 2ème année DSI

Classes: 2ème année DSI


 C’est une représentation abstraite et simplifiée d'une entité
(phénomène, processus, système, etc.) du monde réel en vue de
Abstraire la réalité pour mieux comprendre le système à
le décrire, de l'expliquer ou de le prévoir.
réaliser.
 Il permet de réduire la complexité et assure la cohérence d'un
 En général, un modèle :
Enseignante : S. Mnif

Enseignante : S. Mnif
phénomène en éliminant les détails qui n'influencent pas son
 permet de mieux répartir les tâches comportement.
 réduit les coûts et les délais.  Il reflète ce que le concepteur croit important pour la
 assure un bon niveau de qualité et une maintenance compréhension et la prédiction du phénomène modélisé.
efficace.
 Le choix du modèle a une influence sur les solutions
obtenues.

Introduction à la modélisation objet Introduction à la modélisation objet


Chapitre 1

Chapitre 1
et UML et UML
Unified Modeling Language Unified Modeling Language
Modèle etetméthode
Modèle méthode de Modèle etetméthode
Modèle méthode de
15 Introduction Approche Orientée Objet •Vues d’un système 16 Introduction Approche Orientée Objet •Vues d’un système
de conception
conception
•Diagrammes UML
de conception
conception
•Diagrammes UML

La modélisation des systèmes d’information est Une méthode propose :


Classes: 2ème année DSI

Classes: 2ème année DSI


 
fondamentale pour les entreprises.  Une démarche qui distingue les étapes du
développement dans le cycle de vie du logiciel et
 Il faut disposer d’une méthode pour : exploite au mieux les principes fondamentaux :
Garantir un développement performant. modularité, réutilisation, abstraction, réduction de la
Enseignante : S. Mnif

Enseignante : S. Mnif

 Assurer une maintenance efficace du SI. complexité, etc.
 Un formalisme (langage) et des types de documents
(modèles), qui facilitent la communication,
l’organisation et la vérification,

4
9/18/2024
Chapitre 1 Introduction à la modélisation objet Introduction à la modélisation objet

Chapitre 1
et UML et UML
Unified Modeling Language Unified Modeling Language
Modèle etetméthode
Modèle méthode de Modèle etetméthode
Modèle méthode de
17 Introduction Approche Orientée Objet •Vues d’un système 18 Introduction Approche Orientée Objet •Vues d’un système
de conception
conception
•Diagrammes UML
conception
de conception •Diagrammes UML

Il existe de nombreuses méthodes : Parmi les principaux objectifs des méthodes


Classes: 2ème année DSI

Classes: 2ème année DSI


q 
 Méthodes fonctionnelles de décomposition objets:
hiérarchique (dites de première génération) comme SADT,  Rapprocher explicitement les concepts du monde réel
SA-SD, ... : se base sur le principe diviser pour régner et les composants exécutables
(problème en sous problèmes).
 Regrouper l’analyse des données et des traitements,
Enseignante : S. Mnif

Enseignante : S. Mnif
 Méthodes systémiques (dites de deuxième génération)
comme MERISE, SSADM, ... : séparation  Faciliter la réutilisation,
données/traitements, niveaux conceptuels, organisationnels,  Simpli fier les t ran sformati ons entre l e niveau
physiques. conceptuel et l’implantation.
 Méthodes objets (dites de troisième génération) comme
OMT, OOA, OOD, Hood, OOSE, OOM, Fusion, ..

Introduction à la modélisation objet Introduction à la modélisation objet


Chapitre 1

Chapitre 1
et UML et UML
Unified Modeling Language Unified Modeling Language
Modèle et méthode de Approche Orientée Modèle et méthode de Approche Orientée
19 Introduction Approche Orientée Objet •Vues d’un système 20 Introduction Approche Orientée Objet •Vues d’un système
conception Objet conception Objet
•Diagrammes UML •Diagrammes UML

 L’approche objet possède des concepts importants


Classes: 2ème année DSI

Classes: 2ème année DSI


c. Encapsulation : c’ est le principe
qui participent à la qualité du logiciel: interdisant l’accès direct aux
a. Notion d’objet : Un objet est caractérisé par trois notions de base: attributs. On ne dialoguera avec
l’identité , les attributs et les méthodes.
l’objet qu’à travers une interface
b. Notion de classe : Une classe est un type de données abstrait qui définissant les services accessibles à
Enseignante : S. Mnif

Enseignante : S. Mnif
précise des caractéristiques (attributs et méthodes) communes à toute ses utilisateurs. Ce sera le rôle des
une famille d'objets et qui permet de créer (instancier) des objets méthodes.
possédant ces caractéristiques
Classe ou “moule” d. Agrégation: c’est une relation entre deux classes, spécifiant
que les objets d'une classe sont des composants de l'autre classe.
objet3
Une relation d'agrégation permet donc de définir des objets
4..4
composés d'autres objets. Voiture Roue
objet1 objet2

5
9/18/2024
Chapitre 1 Introduction à la modélisation objet Introduction à la modélisation objet

Chapitre 1
et UML et UML
Unified Modeling Language Unified Modeling Language
Modèle et méthode de Approche Orientée Modèle et méthode de Approche Orientée
21 Introduction Approche Orientée Objet •Vues d’un système 22 Introduction Approche Orientée Objet •Vues d’un système
conception Objet conception Objet
•Diagrammes UML •Diagrammes UML
Classes: 2ème année DSI

Classes: 2ème année DSI


e. Héritage : c’est un mécanisme de transmission des caractéristiques d'une f. Spécialisation: Une classe peut être spécialisée en d'autres classes, afin d'y
classe (ses attributs et méthodes) vers une sous-classe. Il permet d’éviter la ajouter des caractéristiques spécifiques ou d'en adapter certaines.
duplication et d’encourager la réutilisation. L'héritage est une relation Spécialisation
de spécialisation/généralisation entre deux classes. Elle indique qu’une Relation d’héritage
classe dite classe fille spécialise une autre classe dite classe mère, i.e. qu’elle
possède les attributs et les méthodes de la classe mère plus d’autres qui lui
Enseignante : S. Mnif

Enseignante : S. Mnif
sont propres. On parle aussi de super classe et de sous classe

Relations d’héritage Généralisation


g. Généralisation: Plusieurs classes peuvent être généralisées en une classe qui les
factorise, afin de regrouper les caractéristiques communes d'un ensemble de classes.
Son but est la factorisation des caractéristiques de plusieurs classes appelées classes
enfants dans une classe appelée classe parente.

Introduction à la modélisation objet Introduction à la modélisation objet


Chapitre 1

Chapitre 1
et UML et UML
Unified Modeling Language Unified Modeling Language
Modèle et méthode de Approche Orientée Modèle et méthode de Approche Orientée
23 Introduction Approche Orientée Objet •Vues d’un système 24 Introduction Approche Orientée Objet •Vues d’un système
conception Objet conception Objet
•Diagrammes UML •Diagrammes UML
Classes: 2ème année DSI

Classes: 2ème année DSI


h. Polymorphisme : représente la faculté d'une méthode à pouvoir s'appliquer q La Conception Orientée Objet (COO)
à des objets de classes différentes. Un objet d’une classe enfant peut prendre C’est la méthode qui aboutit à des architectures logicielles
plusieurs formes. Le polymorphisme augmente la généricité, et donc la qualité,
du code.
fondées sur les objets du système, plutôt que sur la fonction
qu'il est censé réaliser.
Enseignante : S. Mnif

Enseignante : S. Mnif

6
9/18/2024
Chapitre 1 Introduction à la modélisation objet Introduction à la modélisation objet

Chapitre 1
et UML et UML
Unified ModelingLangage
Unified Modeling Language Unified Modeling Language
Modèle et méthode de Modèle et méthode de
25 Introduction Approche Orientée Objet § Vues
•Vues d’un
d’un système
système 26 Introduction Approche Orientée Objet •Vues d’un système
conception § Diagrammes
conception
•Diagrammes UMLD’UML •Diagrammes UML
Classes: 2ème année DSI

Classes: 2ème année DSI


 UML est un LANGAGE standardisé pour modéliser tous les
phénomènes de l'activité de l'entreprise.
 UML est une notation visuelle mais aussi un ensemble de concepts,
une sémantique et une syntaxe pour articuler cela.
Enseignante : S. Mnif

Enseignante : S. Mnif
 UML n'est pas une méthode, il a été proposé afin de standardiser
les produits du développement (modèles, notations, diagrammes)
sans standardiser le processus de développement.
 L’OMG (Object Management Group) a proposé le premier standard
en 1997, basée principalement sur les méthodes OOD (de Booch),
OMT (de Rumbaugh) et OOSE (de Jacobson).

Introduction à la modélisation objet Introduction à la modélisation objet


Chapitre 1

Chapitre 1
et UML et UML
Unified ModelingLangage
Unified Modeling Language Unified ModelingLangage
Unified Modeling Language
Modèle et méthode de Modèle et méthode de
27 Introduction Approche Orientée Objet § Vues
•Vues d’un
d’un système
système 28 Introduction Approche Orientée Objet § Vues
•Vues d’un
d’un système
système
conception § Diagrammes
conception § Diagrammes
•Diagrammes UMLD’UML •Diagrammes UMLD’UML

 Le modèle 4+1 vues de Philippe Kruchten


Classes: 2ème année DSI

Classes: 2ème année DSI


q Historique des versions officielles d’UML
Les grandes étapes de la diffusion d’UML peuvent se résumer comme suit :
• 1994-1996 : rapprochement des méthodes OMT, BOOCH et OOSE et naissance
de la première version d’UML.
• Décembre 1997 : version 1.1 d’UML adoptée par l’OMG.
• 1999-2000 : versions 1.2 à 1.3 d’UML.
Enseignante : S. Mnif

Enseignante : S. Mnif
• Septembre 2001 : Version d’UML 1.4.
• Mars 2003 : UML version 1.5.
• Juillet 2005 : UML 2.0
• Octobre 2007 : UML 2.1.2
• Janvier 2009 : UML 2.2
• Mai 2010 : UML 2.3
• Juillet 2011 : UML 2.4.1
• Décembre 2015 : UML 2.5.1

Source : [Link]

7
9/18/2024
Chapitre 1 Introduction à la modélisation objet Introduction à la modélisation objet

Chapitre 1
et UML et UML
Unified ModelingLangage
Unified Modeling Language Unified ModelingLangage
Unified Modeling Language
Modèle et méthode de Modèle et méthode de
29 Introduction Approche Orientée Objet § Vues
•Vues d’un
d’un système
système 30 Introduction Approche Orientée Objet § Vues
•Vues d’un
d’un système
système
conception § Diagrammes
conception § Diagrammes
•Diagrammes UMLD’UML •Diagrammes UMLD’UML

Vue Logique Vue de déploiement


Classes: 2ème année DSI

Classes: 2ème année DSI


 
 Cette vue de haut niveau se concentre sur l'abstraction, elle  Cette vue décrit les ressources matérielles et la répartition
modélise les éléments et mécanismes principaux du système. du logiciel dans ces ressources
 Elle identifie les éléments du domaine, ainsi que les relations et  Exprime la solution en termes de réseau de calculateurs et
interactions entre ces éléments. en nœuds logiques de traitement
Enseignante : S. Mnif

Enseignante : S. Mnif
 Vue des Processus  Vue de cas d’utilisation
 Exprime la solution en termes d'activités concurrentes et  Cette vue définit les besoins des clients du système et
parallèles, centre la définition de l'architecture du système sur la
 C'est l'expression des problèmes de
satisfaction (la réalisation) de ces besoins
communication/synchronisation des activités.  Exprime les scénarios d'utilisation, explique le système

Introduction à la modélisation objet Introduction à la modélisation objet


Chapitre 1

Chapitre 1
et UML et UML
Unified ModelingLangage
Unified Modeling Language Unified Modeling Language
Modèle et méthode de Modèle et méthode de
31 Introduction Approche Orientée Objet § Vues
•Vues d’un
d’un système
système 32 Introduction Approche Orientée Objet •Vues d’un système
conception § Diagrammes
conception
•Diagrammes UMLD’UML •Diagrammes UML

UML permet de définir et de visualiser un modèle,


Classes: 2ème année DSI

Classes: 2ème année DSI



à l'aide de diagrammes.
 Un diagramme UML est une représentation
graphique, qui s'intéresse à un aspect précis du
modèle.
Enseignante : S. Mnif

Enseignante : S. Mnif
 Combinés, les différents types de diagrammes
UML offrent une vue complète des aspects
statiques et dynamiques d'un système.
 UML dans sa version 2, définit 13 diagrammes
pour ces vues
Figure : Les diagrammes UML

8
9/18/2024
Chapitre 1 Introduction à la modélisation objet Introduction à la modélisation objet

Chapitre 1
et UML et UML
Unified ModelingLangage
Unified Modeling Language Unified ModelingLangage
Unified Modeling Language
Modèle et méthode de Modèle et méthode de
33 Introduction Approche Orientée Objet § Vues
•Vues d’un
d’un système
système 34 Introduction Approche Orientée Objet § Vues
•Vues d’un
d’un système
système
conception § Diagrammes
conception § Diagrammes
•Diagrammes UMLD’UML •Diagrammes UMLD’UML

Aspect statique/structurel du système : Aspect dynamique/comportemental du système :


Classes: 2ème année DSI

Classes: 2ème année DSI


q 
§ Diag. d'objets: représentation des objets et leurs relations, § Diag. de cas d'utilisation : représentation des fonctions du
§ Diag. de classes: représentation de sa structure statique en système du point de vue de l'utilisateur,
termes de classes et relations, § Diag. d'états-transition : comportement d'une classe d'objet
en termes d'états,
§ Diag. de composants: représentation des composants
physiques d'une application, § Diag. d'activités: représentation d'une opération en termes
Enseignante : S. Mnif

Enseignante : S. Mnif
d'actions
§ Diag. de déploiement : déploiement des composants sur § Diag. de communication : représentation spatiale des objets, des
les dispositifs matériels, liens et des interactions,
§ Diag. de package : représente la vue d’ensemble du § Diag. de séquence : représentation temporelle des objets et leurs
système structuré en paquetages, interactions,
§ Diag. de structure composite : représente la structure § Diag. de timing
interne d’un ensemble complexe composé du système. § Diag. Vue globale d’interaction

Introduction à la modélisation objet


Chapitre 1

MODÉLISATION OBJET
et UML
Modèle et méthode de
Unified Modeling Language
UML2
35 Introduction Approche Orientée Objet •Vues d’un système
conception
•Diagrammes UML
Chapitre 2 : Diagramme de cas
Bibliographie
Classes: 2ème année DSI

d’utilisation
 Livres (Use Cases Diagram)
 Audi bert, L. (2009) . UML 2: D e l' ap p re nt i s s a g e à l a
pratique (Vol. 298). Ellipses. Niveau : 2ème année
 Roques, P. (2008). les Cahiers du Programmeur UML2 , 4ème Développement des Systèmes d’Information
Enseignante : S. Mnif

Edition, ÉDITIONS. EYROLLES


 Cours Enseignante : Salima MNIF
Contact : [Link]@[Link]
 Gérard, P. Introduction à UML 2 : Modélisation Orientée Objet
de Systèmes Logiciels.
 Solnon, C. Modélisation UML.

Semestre 1 Institut Supérieur des Etudes Technologiques de Nabeul

9
9/18/2024
Chapitre 2

Chapitre 2
Diagramme de cas d’utilisation Diagramme de cas d’utilisation
Principes et Description Principes et Description
37 Introduction
Introduction Application 38 Introduction
Introduction Application
éléments de base textuelle éléments de base textuelle

Un diagramme de cas d'utilisation sert à exprimer le


Classes: 2ème années DSI

Classes: 2ème années DSI



comportement du système en termes d’actions et de
réactions, selon le point de vue de chaque utilisateur.
 Il est réalisé en se basant sur des réunions avec les
utilisateurs (clients).
Enseignante : S. Mnif

Enseignante : S. Mnif
 Il a pour objectifs de :
 délimiter les frontières du système
 identifier les acteurs/utilisateurs du système
 exprimer les besoins d’un système
 préparer une base pour les tests fonctionnels.
Chapitre 2

Chapitre 2
Diagramme de cas d’utilisation Diagramme de cas d’utilisation
Principes et Description Principeset et
Principes Description
39 Introduction
Introduction Application 40 Introduction éléments dedebase
Application
éléments de base textuelle éléments base textuelle

Le digramme de cas d’utilisation utilise une notation Le digramme se base sur 3 concepts :
Classes: 2ème années DSI

Classes: 2ème années DSI


 
simple et compréhensible. 1. L'acteur,
2. Le cas d'utilisation,
3. L'interaction (association) entre acteur et cas
Enseignante : S. Mnif

Enseignante : S. Mnif
d'utilisation.

Interaction cas
d'utilication

acteur

10
9/18/2024
Chapitre 2

Chapitre 2
Diagramme de cas d’utilisation Diagramme de cas d’utilisation
Principeset et
Principes Description Principeset et
Principes Description
41 Introduction éléments dedebase
Application 42 Introduction éléments dedebase
Application
éléments base textuelle éléments base textuelle

1. Acteur 1. Acteur
Classes: 2ème années DSI

Classes: 2ème années DSI


 Un acteur est une entité externe qui interagit avec le  Un acteur ≠ Utilisateur
système étudié, en échangeant de l’information.  Un acteur décrit un rôle
 Un utilisateur = personne qui manipule le système
 utilisateurhumain,
Un même utilisateur peut avoir plus qu’un rôle (décrits par des
Enseignante : S. Mnif

Enseignante : S. Mnif

 dispositif matériel
acteurs différents)
 ou autre système
 Samir, client de la banque et guichetier
 C’est un Rôle qu’un utilisateur joue par rapport au  Plusieurs personnes peuvent avoir le même rôle
système.  Souha et Mohamed sont 2 clients de la banque
 Une même personne peut jouer plusieurs rôles.
Chapitre 2

Chapitre 2
Diagramme de cas d’utilisation Diagramme de cas d’utilisation
Principeset et
Principes Description Principeset et
Principes Description
43 Introduction éléments dedebase
Application 44 Introduction éléments dedebase
Application
éléments base textuelle éléments base textuelle

1. Acteur 1. Acteur
Classes: 2ème années DSI

Classes: 2ème années DSI


 Un acteur principal  Un acteur secondaire

 Le cas d'utilisation lui rend service.  Il est sollicité par le système pour des informations
 Le titre du cas d’utilisation doit correspondre à l’objectif complémentaires lors du cas d’utilisation.
Enseignante : S. Mnif

Enseignante : S. Mnif
de l’acteur principal.  Il p eut retirer un résultat s econdaire lors du cas

 C’est lui qui initie le cas d'utilisation par ses sollicitations. d’utilisation
 Il obtient un résultat observable du système.  Le stéréotype << secondary >> est utilisé pour les acteurs

 Le stéréotype << primary >> peut être indiqué au dessus


secondaires.
de l'association qui le relie au cas d'utilisation

11
9/18/2024
Chapitre 2

Chapitre 2
Diagramme de cas d’utilisation Diagramme de cas d’utilisation
Principeset et
Principes Description Principeset et
Principes Description
45 Introduction éléments dedebase
Application 46 Introduction éléments dedebase
Application
éléments base textuelle éléments base textuelle

Exemple 1.1. Comment identifier les acteurs?


Classes: 2ème années DSI

Classes: 2ème années DSI


§ Identifier les utilisateurs humains directs : déterminer


Logiciel de partage P2P de fichiers les profils des différents utilisateurs possibles y
<<primary>> <<secondary>> compris l’administrateur, l’opérateur de maintenance
Enseignante : S. Mnif

Enseignante : S. Mnif
Télécharger un
<<actor>> (s’il y en a), etc.
Ordinateur peer
fichier connecté § Identifier les autres systèmes externes connexes qui

internaute interagissent aussi avec le système étudié.


Exemples :
Client, Vendeur, Système d’information de la banque, Porteur de
carte, Internaute, etc.
Chapitre 2

Chapitre 2
Diagramme de cas d’utilisation Diagramme de cas d’utilisation
Principeset et
Principes Description Principeset et
Principes Description
47 Introduction éléments dedebase
Application 48 Introduction éléments dedebase
Application
éléments base textuelle éléments base textuelle

1.2. Comment représenter les acteurs? 1.2. Généralisation entre acteurs


Classes: 2ème années DSI

Classes: 2ème années DSI


§ La représentation graphique standard de  La seule relation possible entre
l’acteur humain en UML est l’icône appelée deux acteurs est la généralisation.
stick man, avec le nom de l’acteur en  Un acteur A est une généralisation
Enseignante : S. Mnif

Enseignante : S. Mnif
dessous. d'un acteur B si l'acteur A peut
§ La représentation d’un acteur système sous être substitué par l'acteur B.
la forme rectangulaire avec le mot-clé  Dans ce cas, tous les cas
<<Actor>> (facultative). d'utilisation accessibles à A le
sont aussi à B, mais l'inverse n'est
pas vrai.

12
9/18/2024
Chapitre 2

Chapitre 2
Diagramme de cas d’utilisation Diagramme de cas d’utilisation
Principeset et
Principes Description Principeset et
Principes Description
49 Introduction éléments dedebase
Application 50 Introduction éléments dedebase
Application
éléments base textuelle éléments base textuelle

2. Cas d’utilisation 2.1. Comment identifier les cas d’utilisation?


Classes: 2ème années DSI

Classes: 2ème années DSI


 l’ensemble des cas d’utilisation doit décrire
 Il représente une fonctionnalité réalisée par le exhaustivement les exigences fonctionnelles du système.
système étudié pour un acteur particulier.  Chaque cas d’utilisation correspond à une fonction métier
du système, selon le point de vue d’un de ses acteurs.
 Il spécifie un besoin que le futur système offrira.
 Pour chaque acteur :
Enseignante : S. Mnif

Enseignante : S. Mnif
 Ne s’intéresse pas à la manière avec laquelle le § rechercher les besoins (intentions métier) pour lesquels il
système fera le comportement attendu. utilise le système,
§ déterminer dans le cahier des charges les services fonctionnels
 Exemples : attendus du système.
retirer de l’argent, ajouter un client, supprimer client, etc. q Nommez les cas d’utilisation par un verbe à l’infinitif
suivi d’un complément, du point de vue de l’acteur (et
non pas du point de vue du système).
Chapitre 2

Chapitre 2
Diagramme de cas d’utilisation Diagramme de cas d’utilisation
Principeset et
Principes Description Principeset et
Principes Description
51 Introduction éléments dedebase
Application 52 Introduction éléments dedebase
Application
éléments base textuelle éléments base textuelle

2.2. Comment représenter les cas d’utilisation?(1) 2.3. Types de relations entre cas d’utilisation
Classes: 2ème années DSI

Classes: 2ème années DSI


 Un cas d'utilisation est représenté par une ellipse. Avec UML, il est possible de
détailler et d’organiser les cas
 Le nom du cas d'utilisation peut être: d’utilisation en indiquant des
 Placé à l’intérieur de l’ellipse relations de :
Enseignante : S. Mnif

Enseignante : S. Mnif

ou § généralisation entre les cas


 Placé sous l’ellipse. d’utilisation.
§ dépendances : inclusion et
 Il est facultatif de placer un mot clé stéréotype
extension
facultatif au-dessus du nom.
(1) spécification UML 2.5.1

13
9/18/2024
Chapitre 2

Chapitre 2
Diagramme de cas d’utilisation Diagramme de cas d’utilisation
Principeset et
Principes Description Principeset et
Principes Description
53 Introduction éléments dedebase
Application 54 Introduction éléments dedebase
Application
éléments base textuelle éléments base textuelle

2.3.1. Généralisation entre cas d’utilisation 2.3.2. Inclusion entre cas d’utilisation
Classes: 2ème années DSI

Classes: 2ème années DSI


Cette relation permet de représenter les variantes q La relation d’inclusion signifie que le cas d’utilisation de
b as e in co r p o re e x pl ic i tem ent u n a ut re, d e faç on
spécifiques d’un cas d’utilisation général, de façon obligatoire.
conforme au principe de l’héritage. q A inclut B signifie qu'une instance de A contient le
Enseignante : S. Mnif

Enseignante : S. Mnif
Exemple : comportement de B. B ne peut être exécuté seul !
q On utilise cette relation pour éviter de décrire plusieurs
fois le même enchaînement, en regroupant le
comportement commun dans un cas d’utilisation à part.
Mise en commun de comportements communs à plusieurs
cas d’utilisation.
Chapitre 2

Chapitre 2
Diagramme de cas d’utilisation Diagramme de cas d’utilisation
Principeset et
Principes Description Principeset et
Principes Description
55 Introduction éléments dedebase
Application 56 Introduction éléments dedebase
Application
éléments base textuelle éléments base textuelle

2.3.2. Inclusion entre cas d’utilisation 2.3.3. Extension entre cas d’utilisation
Classes: 2ème années DSI

Classes: 2ème années DSI


Exemple1 q L a relatio n d ’extensio n sig nifie l’ajout d’un
comportement supplémentaire à un cas d’utilisation.
B est une extension de A signifie qu'une instance de A
peut être étendue par le comportement dans B.
Enseignante : S. Mnif

Enseignante : S. Mnif

 L'extension possède un caractère optionnel

Exemple 2  Il est possible de préciser un point d'extension

14
9/18/2024
Chapitre 2

Chapitre 2
Diagramme de cas d’utilisation Diagramme de cas d’utilisation
Principeset et
Principes Description Principeset et
Principes Description
57 Introduction éléments dedebase
Application 58 Introduction éléments dedebase
Application
éléments base textuelle éléments base textuelle

2.3.3. Extension entre cas d’utilisation 3. Le système (ou sujet) :


Classes: 2ème années DSI

Classes: 2ème années DSI


q Un c as d’ ut i li s at i o n e s t é t en d u vi a un p o i n t  Modélisé comme une boîte noire
d’extension.  Est un ensemble de cas d’utilisation tels que chaque

cas est relié au moins à un acteur ou un autre cas


Enseignante : S. Mnif

Enseignante : S. Mnif
d’utilisation.
 Contient:

 Lescas d’utilisation
 Mais PAS les acteurs
Chapitre 2

Chapitre 2
Diagramme de cas d’utilisation Diagramme de cas d’utilisation
Principes et Description
Description Principes et Description
Description
59 Introduction Application 60 Introduction Application
éléments de base textuelle
textuelle éléments de base textuelle
textuelle

5- Description textuelle
Classes: 2ème années DSI

Classes: 2ème années DSI


 Un cas d’utilisation peut être décrit par des scénarios qui
définissent la suite logique des interactions qui constituent ce
cas.
 Un scénario décrit textuellement toutes les interactions entre
les acteurs et le système : Cette description en langage
Enseignante : S. Mnif

Enseignante : S. Mnif
humain précise ce que fait l’acteur et comment réagit le
système.
 On peut définir un scénario simple ou des scénarios
alternatifs plus détaillés faisant intervenir différentes
variantes et les scénarios d’erreurs.
 La fiche de description textuelle d’un cas d’utilisation n’est
pas normalisée par UML.

15
9/18/2024
Chapitre 2

Chapitre 2
Diagramme de cas d’utilisation Diagramme de cas d’utilisation
Principes et Description
Description Principes et Description
Description
61 Introduction Application 62 Introduction Application
éléments de base textuelle
textuelle éléments de base textuelle
textuelle

5.1. Un scénario 5.2. Description textuelle simplifiée


Classes: 2ème années DSI

Classes: 2ème années DSI


 Il représente une succession particulière d’actions
enchaînées pour réaliser un cas d’utilisation
 Il s’exécute du début à la fin du cas d’utilisation.
Enseignante : S. Mnif

Enseignante : S. Mnif
 Un cas d’utilisation contient en général
 un scénario nominal
 plusieurs scénarios alternatifs (qui se terminent de façon
normale)
 plusieurs scénarios d’erreur (qui se terminent en échec).
Chapitre 2

Chapitre 2
Diagramme de cas d’utilisation Diagramme de cas d’utilisation
Principes et Description
Description Principes et Description
Description
63 Introduction Application 64 Introduction Application
éléments de base textuelle
textuelle éléments de base textuelle
textuelle

5.3. Description textuelle détaillée 5.3. Description textuelle détaillée


Classes: 2ème années DSI

Classes: 2ème années DSI


Cas d’utilisation :
Acteur(s) :
Objectif :
Enseignante : S. Mnif

Enseignante : S. Mnif

Pré-condition :

Post-condition

Scénario principal

Scénario alternatif

16
9/18/2024
Chapitre 2

Chapitre 2
Diagramme de cas d’utilisation Diagramme de cas d’utilisation
Principes et Description
Description Principes et Description
65 Introduction
éléments de base textuelle
textuelle
Application 66 Introduction
éléments de base textuelle
Application
Application

6. Application directe
Description textuelle détaillée
Classes: 2ème années DSI

Classes: 2ème années DSI


Exercice 1 : Cette étude de cas concerne un système simplifié de Distributeur
Automatique de Billets (DAB). Le DAB offre les services suivants :
 Distribution d’argent à tout Porteur de carte de crédit, via un lecteur de carte et un
distributeur de billets.
Consultation de solde de compte, dépôt en numéraire et dépôt de chèques pour les
Enseignante : S. Mnif

Enseignante : S. Mnif

clients porteurs d’une carte de crédit de la banque adossée au DAB.


 Toutes les transactions sont sécurisées.
 Il est parfois nécessaire de recharger le distributeur, de récupérer les cartes avalées, etc.
Travail demandé:
 identifier les acteurs ;
 identifier les cas d’utilisation ;
 construire un diagramme de cas d’utilisation ;
Chapitre 2

Chapitre 2
Diagramme de cas d’utilisation Diagramme de cas d’utilisation
Principes et Description Principes et Description
67 Introduction
éléments de base textuelle
Application
Application 68 Introduction
éléments de base textuelle
Application

6. Application directe
Bibliographie
Classes: 2ème années DSI

Classes: 2ème années DSI



Exercice 2
 Une bibliothèque est gérée par un gestionnaire chargé des inscriptions et des relances  La spécification UML 2.5.1
des lecteurs quand ceux-ci n'ont pas rendu leurs ouvrages au-delà du délai autorisé.
[Link]
 Les bibliothécaires sont chargées de gérer les emprunts et la restitution des ouvrages,
ainsi que l'acquisition de nouveaux ouvrages.  Livre
Enseignante : S. Mnif

Enseignante : S. Mnif
 Il existe 3 catégories d'abonné: les étudiants qui s'acquittent d'une somme forfaitaire  Roques, P. (2018). UML 2.5 par la pratique: Etudes de cas
pour un an. Les enseignants ont un accès libre. Les étudiants d'une autre université et exercices corrigés. Editions Eyrolles.
peuvent s'abonner moyennant une cotisation (nombre d'externes limité à 10% des
étudiants).  [Link]
 Chaque abonné ne peut emprunter que 3 ouvrages pendant 3 semaines. Un délai de 5
semaines est exceptionnellement possible.
 Un nouveau service de consultation catalogue doit être mis en place.
Travail demandé : identifier les acteurs, identifier les cas d’utilisation et construire un
diagramme de cas d’utilisation ;

17
9/18/2024

Chapitre 3
MODÉLISATION OBJET Diagramme de classes
UML2
Principes et éléments de base
70
Introduction
Introduction • Les classes
Application
Modélisation statique • Les relations entre les classes

Chapitre 3: Diagramme de classes

Classes: 2ème années DSI


q Les diagrammes de cas d’utilisation modélisent
(Class Diagram) à QUOI sert le système.
q Le système est composé d’objets qui interagissent
entre eux et avec les acteurs pour réaliser ces cas

Enseignante : S. Mnif
Niveau : 2ème année
Développement des Systèmes d’Information d’utilisation.
Enseignante : Salima MNIF q L e s d i a g r a m m e s d e c l a s s e s pe r m e t t e n t d e
Contact : [Link]@[Link]
spécifier QUI intervient à l’intérieur du système
q Le diagramme de classes spécifie également quels
Version en ligne disponible sur le site de l’uvt
liens peuvent entretenir les objets du système.
Semestre1 Institut Supérieur des Etudes Technologiques de Nabeul
Chapitre 3

Chapitre 3
Diagramme de classes Diagramme de classes
Principes et éléments de base Principes et éléments
Principes de base
et éléments de base
71 Introduction
Introduction • Les classes
• Les relations entre les classes
Application 72 Introduction § Les• classes
Les classes
§ Les• relations
Les relationsentre
entre lesles classes
classes
Application
1. Généralement considéré comme le plus important
Classes: 2ème années DSI

Classes: 2ème années DSI


de la modélisation orientée objet. q Les principaux éléments de ce diagramme:
2. Permet la modélisation du système du point d’un 1. les classes (des attributs + des opérations)
vue statique. 2. leurs relations
3. Montre la structure interne du système. § association,
Enseignante : S. Mnif

Enseignante : S. Mnif

4. Est utilisé par la plupart des Ateliers de Génie § généralisation


Logiciels (AGLs) pour la génération automatique
du code.
5. Permet de modéliser les classes du système et leurs
relations indépendamment du langage de
programmation.
18
9/18/2024
Chapitre 3

Chapitre 3
Diagramme de classes Diagramme de classes
Principes et éléments
Principes de base
et éléments de base Principes et éléments
Principes de base
et éléments de base
73
Introduction § Les• classes
Les classes
§ Les• relations
Les relationsentre les
entre les classes
classes
Application 74
Introduction § Les• classes
Les classes
§ Les• relations
Les relationsentre
entre lesles classes
classes
Application
1. Les classes 1. Les classes Commande Personne
Classes: 2ème années DSI

Classes: 2ème années DSI


Date Prenom
a. Notion de classe et d’objet a. N o t i o n d e c l a s s e e t Montant Nom
…. adresse
 Une classe est un concept abstrait représentant des éléments d’objet ….
variés. Exemple 1 :
Enseignante : S. Mnif

Enseignante : S. Mnif
 Tout système orienté objet est organisé autour des classes.  Soit les deux classes suivantes :
 Une classe est la description formelle d'un ensemble Personne et Commandes
d'objets ayant une sémantique et des caractéristiques  c1, c2 et c3 sont des instances
communes. de la classe commande.
 Une instance est une concrétisation d'un concept abstrait.  a et b sont des instances de la
classe personne
 Un objet est une instance ou une occurrence d'une classe.
Syntaxe du nom des objets
nom:Type
Chapitre 3

Chapitre 3
Diagramme de classes Diagramme de classes
Principes et éléments
Principes de base
et éléments de base Principes et éléments
Principes de base
et éléments de base
75 Introduction § Les• classes
Les classes
§ Les• relations
Les relationsentre les
entre les classes
classes
Application 76 Introduction § Les• classes
Les classes
§ Les• relations
Les relationsentre
entre lesles classes
classes
Application
1. Les classes 1. Les classes
Classes: 2ème années DSI

Classes: 2ème années DSI


b. Caractéristiques d’une classe
 Une classe définit un ensemble d'objets
possédant des caractéristiques communes.
 Un objet est une entité. Un objet possède
Enseignante : S. Mnif

Enseignante : S. Mnif

 une identité (adresse mémoire)


 encapsule un état (attributs)
 Encapsule un comportement (opérations).

19
9/18/2024
Chapitre 3

Chapitre 3
Diagramme de classes Diagramme de classes
Principes et éléments
Principes de base
et éléments de base Principes et éléments
Principes de base
et éléments de base
77
Introduction § Les• classes
Les classes
§ Les• relations
Les relationsentre les
entre les classes
classes
Application 78
Introduction § Les• classes
Les classes
§ Les• relations
Les relationsentre
entre lesles classes
classes
Application
1. Les classes 1. Les classes
Classes: 2ème années DSI

Classes: 2ème années DSI


Exemples : c. Attribut et opération
L’objet……..….est instance de la classe …………..  Un attribut représente un type d’information contenu
L’objet……..….est instance de la classe ………….. dans une classe.
Enseignante : S. Mnif

Enseignante : S. Mnif
L’objet……..….est instance de la classe …………..  Une opération représente un élément de comportement
L’objet……..….est instance de la classe ………….. (un service) contenu dans une classe.
L’objet……..….est instance de la classe …………..  Exemples d’attributs d’une classe Voiture: vitesse, nombre
de chevaux, numéro d’immatriculation, etc.
L’objet……..….est instance de la classe …………..
 Exemples d’opérations d’une classe voiture : Avancer(),
reculer(), tournerDroite(), tournerGauche(), etc.
Chapitre 3

Chapitre 3
Diagramme de classes Diagramme de classes
Principes et éléments
Principes de base
et éléments de base Principes et éléments
Principes de base
et éléments de base
79 Introduction § Les• classes
Les classes
§ Les• relations
Les relationsentre les
entre les classes
classes
Application 80 Introduction § Les• classes
Les classes
§ Les• relations
Les relationsentre
entre lesles classes
classes
Application
1. Les classes 1. Les classes
Classes: 2ème années DSI

Classes: 2ème années DSI


d. Représentation graphique d’une classe La classe est représentée avec ses attributs et ses
 Une classe est représentée par un rectangle divisé opérations :
 L’attribut est qualifié par son nom, son type, sa valeur
généralement en trois compartiments: initiale, son caractère multivalué ([ ]) et calculé (/).
 le
nom de la classe  L’opération est qualifiée par son nom, sa liste de
Enseignante : S. Mnif

Enseignante : S. Mnif

 Les attributs de la classe paramètres et son type de résultat.


 Les opérations de la classe
 Remarque : Le nom de la classe doit évoquer le concept décrit Nom de la classe
par la classe. Il commence par une majuscule. On peut ajouter Nom attribut: type = [valeur initiale]
d’autres informations comme le nom de l'auteur, la date, etc.
Pour indiquer qu'une classe est abstraite, il faut ajouter le mot- Nom opération(paramètres)[: typ résultat]
clef abstract.
20
9/18/2024
Chapitre 3

Chapitre 3
Diagramme de classes Diagramme de classes
Principes et éléments
Principes de base
et éléments de base Principes et éléments
Principes de base
et éléments de base
81
Introduction § Les• classes
Les classes
§ Les• relations
Les relationsentre les
entre les classes
classes
Application 82
Introduction § Les• classes
Les classes
§ Les• relations
Les relationsentre
entre lesles classes
classes
Application
1. Les classes 1. Les classes
Classes: 2ème années DSI

Classes: 2ème années DSI


Enseignante : S. Mnif

Enseignante : S. Mnif
Exemple d’Objet (Longuet, 2017)

Un objet est instance d’une classe (Longuet, 2017)


Chapitre 3

Chapitre 3
Diagramme de classes Diagramme de classes
Principes et éléments
Principes de base
et éléments de base Principes et éléments
Principes de base
et éléments de base
83 Introduction § Les• classes
Les classes
§ Les• relations
Les relationsentre les
entre les classes
classes
Application 84 Introduction § Les• classes
Les classes
§ Les• relations
Les relationsentre
entre lesles classes
classes
Application
1. Les classes 1. Les classes
Classes: 2ème années DSI

Classes: 2ème années DSI


Visibilité des attributs et opérations:
 Public (+)
 Protégé (#)

 Privé (-)
Enseignante : S. Mnif

Enseignante : S. Mnif

La classe Compte avec la spécification des types


des attributs (Longuet, 2017)

21
9/18/2024
Chapitre 3

Chapitre 3
Diagramme de classes Diagramme de classes
Principes et éléments
Principes de base
et éléments de base Principes et éléments
Principes de base
et éléments de base
85
Introduction § Les• classes
Les classes
§ Les• relations entre
Les relations entre les les classes
classes
Application 86
Introduction § Les• classes
Les classes
§ Les• relations entre
Les relations entre les les classes
classes
Application
2. Les relations entre les classes 2. Les relations entre les classes
Classes: 2ème années DSI

Classes: 2ème années DSI


a. Association a. Association:
 Une association représente une relation sémantique - Une terminaison d’une association est une propriété.
durable entre deux classes. - Une propriété est une caractéristique structurelle.
 Même si le verbe nommant une association semble
Enseignante : S. Mnif

Enseignante : S. Mnif
- Une propriété peut être paramétrée par les éléments
privilégier un sens de lecture, mais une association suivants:
est par défaut bidirectionnelle. - Nom d’une terminaison d’association
 Exemple : une personne peut posséder des voitures. - Rôle
- Visibilité
L a r e l a t i o n … … … …… e s t u n e a s s o c i a t i o n e n t r e l e s
- Multiplicité
classes ……….........… et ……………
- Sens de navigabilité
=> ………………………………………………………………
Chapitre 3

Chapitre 3
Diagramme de classes Diagramme de classes
Principes et éléments
Principes de base
et éléments de base Principes et éléments
Principes de base
et éléments de base
87 Introduction § Les• classes
Les classes
§ Les• relations entre
Les relations entre les les classes
classes
Application 88 Introduction § Les• classes
Les classes
§ Les• relations entre
Les relations entre les les classes
classes
Application
2. Les relations entre les classes 2. Les relations entre les classes
Classes: 2ème années DSI

Classes: 2ème années DSI


a. Association: a. Association:
- Nom d’une terminaison d’association : le nom est facultatif, il
est situé à proximité de la terminaison. Le nom d'une
terminaison d'association est appelé nom du rôle.
Enseignante : S. Mnif

Enseignante : S. Mnif
- Une association peut donc posséder autant de noms de rôle
que de terminaisons (deux pour une association binaire
et n pour une association n-aire) ;
- Visibilité: une terminaison d'association possède une visibilité
(public, privé, protégée). La visibilité est mentionnée à
proximité de la terminaison, devant le nom de la terminaison.

22
9/18/2024
Chapitre 3

Chapitre 3
Diagramme de classes Diagramme de classes
Principes et éléments
Principes de base
et éléments de base Principes et éléments
Principes de base
et éléments de base
89
Introduction § Les• classes
Les classes
§ Les• relations entre
Les relations entre les les classes
classes
Application 90
Introduction § Les• classes
Les classes
§ Les• relations entre
Les relations entre les les classes
classes
Application
2. Les relations entre les classes 2. Les relations entre les classes
Classes: 2ème années DSI

Classes: 2ème années DSI


a. Association: a. Association:
Exemples de multiplicité :
- navigabilité: Il est possible de préciser la navigabilité de la
terminaison d’une association. ü Obligatoire : exactement ü au moins un : 1..*
un : 1 ou 1..1
Enseignante : S. Mnif

Enseignante : S. Mnif
- Multiplicité: Elle est mentionnée à proximité de la terminaison
ü Optionnel : 0..1 ü de un à six : 1..6
d’une association. Il n'est pas impératif de la préciser, par défaut ü plusieurs : * ou 0..*
la terminaison d'une terminaison d'association est non spécifiée.
La multiplicité associée à une terminaison d'association, Exemples d’association orientée (la navigabilité est dans un seul sens) :
d'agrégation ou de composition déclare le nombre d'objets
susceptibles d'occuper la position définie par la terminaison
d'association.
Chapitre 3

Chapitre 3
Diagramme de classes Diagramme de classes
Principes et éléments
Principes de base
et éléments de base Principes et éléments
Principes de base
et éléments de base
91 Introduction § Les• classes
Les classes
§ Les• relations entre
Les relations entre les les classes
classes
Application 92 Introduction § Les• classes
Les classes
§ Les• relations entre
Les relations entre les les classes
classes
Application
2. Les relations entre les classes 2. Les relations entre les classes
Classes: 2ème années DSI

Classes: 2ème années DSI


a. Association a. Association
Association binaire: Cas particulier d’une association binaire:
- Une association binaire est matérialisée par un trait plein entre les classes - Quand les deux extrémités de l'association pointent
vers la même classe, l'association est dite réflexive.
Enseignante : S. Mnif

associées. Elle peut avoir un nom, avec éventuellement une précision du sens Enseignante : S. Mnif

de lecture ou navigabilité (▸ ou ◂ ). ⁃ Exemple d’une association réflexive:


- Exemple d’une association binaire :

23
9/18/2024
Chapitre 3

Chapitre 3
Diagramme de classes Diagramme de classes
Principes et éléments
Principes de base
et éléments de base Principes et éléments
Principes de base
et éléments de base
93
Introduction § Les• classes
Les classes
§ Les• relations entre
Les relations entre les les classes
classes
Application 94
Introduction § Les• classes
Les classes
§ Les• relations entre
Les relations entre les les classes
classes
Application
2. Les relations entre les classes 2. Les relations entre les classes
Classes: 2ème années DSI

Classes: 2ème années DSI


a. Association a. Association:
- Exemple d’association binaire: - Attribut d’association :
Noms de la terminaison d’une
association ou rôles
Enseignante : S. Mnif

Enseignante : S. Mnif
Sens de
Multiplicité d’une Visibilité d’une
navigabilité ou
terminaison d’une terminaison
de lecture
association d’une association
94
Chapitre 3

Chapitre 3
Diagramme de classes Diagramme de classes
Principes et éléments
Principes de base
et éléments de base Principes et éléments
Principes de base
et éléments de base
95 Introduction § Les• classes
Les classes
§ Les• relations entre
Les relations entre les les classes
classes
Application 96 Introduction § Les• classes
Les classes
§ Les• relations entre
Les relations entre les les classes
classes
Application
2. Les relations entre les classes 2. Les relations entre les classes
Classes: 2ème années DSI

Classes: 2ème années DSI


a. Association a. Association
- Classe-association dite encore classe d’association: - Classe-association dite encore classe d’association:
Une classe qui fait partie d'une relation d'association
entre deux autres classes.
Enseignante : S. Mnif

Enseignante : S. Mnif

Elément ayant à la fois les propriétés d’une classe et


d’une association.

95 96

24
9/18/2024
Chapitre 3

Chapitre 3
Diagramme de classes Diagramme de classes
Principes et éléments
Principes de base
et éléments de base Principes et éléments
Principes de base
et éléments de base
97
Introduction § Les• classes
Les classes
§ Les• relations entre
Les relations entre les les classes
classes
Application 98
Introduction § Les• classes
Les classes
§ Les• relations entre
Les relations entre les les classes
classes
Application
2. Les relations entre les classes 2. Les relations entre les classes
Classes: 2ème années DSI

Classes: 2ème années DSI


a. Association a. Association
- Association n-aire: Une association n-aire lie plus de deux classes.
On représente une association n-aire par un grand losange avec un chemin
partant vers chaque classe participante.
Enseignante : S. Mnif

Enseignante : S. Mnif
- Remarque : De telles associations sont difficiles à déchiffrer et peuvent
induire en erreur. Il vaut mieux limiter leur utilisation, en définissant de
nouvelles catégories d'associations.
-
Chapitre 3

Chapitre 3
Diagramme de classes Diagramme de classes
Principes et éléments
Principes de base
et éléments de base Principes et éléments
Principes de base
et éléments de base
99 Introduction § Les• classes
Les classes
§ Les• relations entre
Les relations entre les les classes
classes
Application 100 Introduction § Les• classes
Les classes
§ Les• relations entre
Les relations entre les les classes
classes
Application
2. Les relations entre les classes 2. Les relations entre les classes
Classes: 2ème années DSI

Classes: 2ème années DSI


b. Agrégation et composition b. Agrégation et composition
 Une composition est une agrégation plus forte
 Une agrégation est un cas particulier d’association
n o n s y m é t ri q u e e xp ri m a n t un e r e l at i o n d e impliquant que :
 unélément ne peut appartenir qu’à un seul agrégat
contenance.
Enseignante : S. Mnif

Enseignante : S. Mnif

composite (agrégation non partagée) ;


 Les agrégations n’ont pas besoin d’être nommées.
 La destruction de l’agrégat composite entraîne
 Une agrégation signifie implicitement « contient »,
la destruction de tous ses éléments (le composite
« est composé de ».
est responsable du cycle de vie des parties).

25
9/18/2024
Chapitre 3

Chapitre 3
Diagramme de classes Diagramme de classes
Principes et éléments
Principes de base
et éléments de base Principes et éléments
Principes de base
et éléments de base
101
Introduction § Les• classes
Les classes
§ Les• relations entre
Les relations entre les les classes
classes
Application 102
Introduction § Les• classes
Les classes
§ Les• relations entre
Les relations entre les les classes
classes
Application
2. Les relations entre les classes 2. Les relations entre les classes
Classes: 2ème années DSI

Classes: 2ème années DSI


b. Agrégation et composition b. Agrégation et composition
 Exemples  Exemples
Enseignante : S. Mnif

Enseignante : S. Mnif
L’entreprise contient un ou plusieurs camion.
Un camion est composé d’un moteur.
Chapitre 3

Chapitre 3
Diagramme de classes Diagramme de classes
Principes et éléments
Principes de base
et éléments de base Principes et éléments
Principes de base
et éléments de base
103 Introduction § Les• classes
Les classes
§ Les• relations entre
Les relations entre les les classes
classes
Application 104 Introduction § Les• classes
Les classes
§ Les• relations entre
Les relations entre les les classes
classes
Application
2. Les relations entre les classes 2. Les relations entre les classes
Classes: 2ème années DSI

Classes: 2ème années DSI


c. Généralisation, super-classe, sous-classe c. Généralisation, super-classe, sous-classe
§ Une super-classe ou classe mère est une § Une clas se abs tr aite es t u ne cl as se qui ne
classe plus générale reliée à une ou plusieurs s’instancie pas directement mais qui représente
Généralisation

Spécialisation

autres classes plus spécialisées (sous-classes) une pure abstraction afin de factoriser des
Enseignante : S. Mnif

Enseignante : S. Mnif

par une relation de généralisation. propriétés communes.


§ Les sous-classes ou classe filles « héritent »
des propriétés de leur super-classe et peuvent
c ompor ter des p ropri étés s p éci fi q ues
supplémentaires.

26
9/18/2024
Chapitre 3

Chapitre 3
Diagramme de classes Diagramme de classes
Principes et éléments
Principes de base
et éléments de base Principes et éléments
Principes de base
et éléments de base
105
Introduction § Les• classes
Les classes
§ Les• relations entre
Les relations entre les les classes
classes
Application 106
Introduction § Les• classes
Les classes
§ Les• relations entre
Les relations entre les les classes
classes
Application
2. Les relations entre les classes 2. Les relations entre les classes
Classes: 2ème années DSI

Classes: 2ème années DSI


c. Généralisation, super-classe, sous-classe c. Généralisation, super-classe, sous-classe
Enseignante : S. Mnif

Enseignante : S. Mnif
Chapitre 3

Chapitre 3
Diagramme de classes Diagramme de classes
Principes et éléments de base Principes et éléments de base
107 Introduction • Les classes
• Les relations entre les classes
Application
Application 108 Introduction • Les classes
• Les relations entre les classes
Application
Application

Application directe:
Classes: 2ème années DSI

Classes: 2ème années DSI


Solution Application Directe
Elaborez les diagrammes de classes correspondants en
choisissant le type de relation appropriée pour chacun des
cas suivants :
Un répertoire contient des fichiers
Enseignante : S. Mnif

1. Enseignante : S. Mnif

2. Une pièce (une chambre) contient des murs


3. Les modems et claviers sont des périphériques d’entrée /
sortie
4. Une transaction boursière est un achat ou une vente
5. Un compte bancaire peut appartenir à une personne
physique ou morale
107 108

27
9/18/2024
Chapitre 3

Chapitre 3
Diagramme de classes Diagramme de classes
Principes et éléments de base Principes et éléments de base
109
Introduction • Les classes
• Les relations entre les classes
Application
Application 110
Introduction • Les classes
• Les relations entre les classes
Application
Application

Solution Exercice 1
Exercice 1:
Classes: 2ème années DSI

Classes: 2ème années DSI


Tous les jours, le facteur distribue des recommandés dans une
zone géographique qui lui est affectée. Un facteur est identifié
par son nom, prénom, adresse, téléphone et salaire. Les habitants
sont aussi associés à une zone géographique, ils possèdent chacun
Enseignante : S. Mnif

Enseignante : S. Mnif
u n nom, un pré nom et un e adres se . Les reco mm an d és,
caractérisés par l’expéditeur et le destinataire sont de deux sortes :
lettres ou colis, pour le colis, on désire stocker son poids. Comme
plusieurs facteurs peuvent intervenir sur la même zone, on
souhaite, connaître pour chaque recommandé, le facteur qui l'a
distribué.
109 110
Chapitre 3

Chapitre 3
Diagramme de classes
Principes et éléments de base Principes et éléments de base
111 Introduction • Les classes
• Les relations entre les classes
Application
Application 112 Introduction • Les classes
• Les relations entre les classes
Application
Exercice 2:
Classes: 2ème années DSI

Classes: 2ème années DSI


Cette étude de cas concerne un système de réservation de vols pour une agence de
voyages. Les interviews des experts nous donne les faits suivants :
1. Des compagnies aériennes proposent différents vols.
 Bibliographie
2. Un vol est ouvert à la réservation et refermé sur ordre de la compagnie.  Longuet, D. (2017). Notes de cours : Diagramme de
3. Un client peut réserver un ou plusieurs vols, pour des passagers différents.
classes , Polytech Paris-Sud, 32p.
4. Une réservation concerne un seul vol et un seul passager.
Enseignante : S. Mnif

Enseignante : S. Mnif
5. Une réservation peut être annulée ou confirmée.  Roques, P. (2018). UML 2.5 par la pratique. Eyrolles.
6. Un vol a un aéroport de départ et un aéroport d’arrivée.
 Debrauwer, L., & VAN DER HEYDE, F. (2016). UML
7. Un vol a un jour et une heure de départ, et un jour et une heure d’arrivée.
8. Un vol peut comporter des escales dans des aéroports. 2.5.
9. Une escale a une heure d’arrivée et une heure de départ.
10. Chaque aéroport dessert une ou plusieurs villes.
Nous allons entreprendre progressivement la réalisation d’un diagramme de classes.

28
9/18/2024

Chapitre 4
MODÉLISATION OBEJET-UML2 Diagramme d’objets
Rôle dudu
Rôle diagramme
diagramme Représentation
Modélisation statique 114
d’objets
d’objets graphique
Application

Chapitre 4: Diagramme d’objets

Classes: 2ème années DSI


q Un diagramme d’objets décrit le système du point
de vue structurel.
q C’est un diagramme statique qui a pour rôle de :
Enseignante : Salima MNIF
Ø représenter les objets du système (c.-à-d. les instances
des classes) et leurs liens (c.-à-d. les instances des

Enseignante : S. Mnif
Contact : [Link]@[Link]
associations) à un instant donné.
Ø donner une vue figée ou statique du système à un
moment précis.
Ø A chaque diagramme de classes correspond une infinité
de diagrammes d’objets.
Semestre2 Institut Supérieur des Etudes Technologiques de Nabeul
Chapitre 4

Chapitre 4
Diagramme d’objets Diagramme d’objets
Rôle dudu
Rôle diagramme
diagramme Représentation Rôle du diagramme Représentation
Représentation
115 Application 116 Application
d’objets
d’objets graphique d’objets graphique
graphique
q Graphiquement, chaque objet est représenté par un
Classes: 2ème années DSI

Classes: 2ème années DSI


q Un diagramme d’objets permet:
Ø d’affiner, de mieux comprendre, rectangle divisé généralement en deux
Ø Éventuellement de corriger, compartiments:
un diagramme de classes , en utilisant des exemples, Ø Le nom de l’objet (souligné) suivi de deux points
et puis le nom du type,
Enseignante : S. Mnif

Enseignante : S. Mnif
des contre-exemples et des cas de figure.
=> Syntaxe du nom des objets nom:Type
q Avec un diagramme d’objets on définit une instance
particulière d’un diagramme de classes. Ø La valeur de un ou plusieurs attributs de l’objet.
q Comme pour la représentation d’une classe, la
représentation d’un objet pourra être plus ou moins
détaillée.

29
9/18/2024
Chapitre 4

Chapitre 4
Diagramme d’objets Diagramme d’objets
Rôle du diagramme Représentation
Représentation Rôle du diagramme Représentation
Représentation
117 Application 118 Application
d’objets graphique
graphique d’objets graphique
graphique
Classes: 2ème années DSI

Classes: 2ème années DSI


q Notations: q Exemple 1:
Enseignante : S. Mnif

Enseignante : S. Mnif
Chapitre 4

Chapitre 4
Diagramme d’objets Diagramme d’objets
Rôle du diagramme Représentation
Représentation Rôle du diagramme Représentation
Représentation
119 Application 120 Application
d’objets graphique
graphique d’objets graphique
graphique
Classes: 2ème années DSI

Classes: 2ème années DSI


q Exemple 2: q Exemple 3:
Enseignante : S. Mnif

Enseignante : S. Mnif

30
9/18/2024
Chapitre 4

Chapitre 4
Diagramme d’objets Diagramme d’objets
Rôle du diagramme Représentation Rôle du diagramme Représentation
121 Application
Application 122 Application
d’objets graphique d’objets graphique
q Application:
Classes: 2ème années DSI

Classes: 2ème années DSI


Proposer le diagramme
Soit le diagramme de classes suivant:
d’objets correspondant
Enseignante : S. Mnif

Enseignante : S. Mnif
Chapitre 4

Diagramme d’objets MODÉLISATION ORIENTÉE OBJET


Rôle du diagramme Représentation Modélisation Dynamique
123 Application
Application
d’objets graphique
Chapitre 5: Diagramme de séquence
Classes: 2ème années DSI

q Correction (Sequence Diagram)


Avec le diagramme objet ci-dessous on définit une instance
particulière du diagramme de classes (qui est le combat entre
Mohamed Ali et George Foreman qui a eu lieu le 24 septembre
1974 à Kinshasa).
Enseignante : S. Mnif

Enseignante : Salima MNIF


Contact : [Link]@[Link]

Version en ligne disponible dans l’espace de cours dédié de l’UVT

Semestre2 Institut Supérieur des Etudes Technologiques de Nabeul

31
9/18/2024
Chapitre 5

Chapitre 5
Diagramme de séquence Diagramme de séquence
Diagramme de Diagramme de
Diagramme
Principes et Principes et
125 Introduction
Introduction Séquence
concepts de base
Application 126 Introduction deSéquence
séquence
concepts de base
Application
Système Système
Système

q Un diagramme de séquence est un diagramme qui q On utilise généralement plusieurs diagrammes de


décrit à la fois les fonctionnalités et la dynamique séquence pour modéliser la dynamique du système.
du système. q Généralement, un diagramme de séquence sert à
q C’est un diagramme qui fait partie des diagramme illustrer un cas d’utilisation.
comportementaux (dynamique) et plus q Dans la conception on utilise souvent un diagramme
Enseignante : S. Mnif

Enseignante : S. Mnif
précisément les diagrammes d’interactions. nommé diagramme de séquence système qui
q Il permet de représenter des échanges entre les permet de représenter les interactions entre le
différents objets et acteurs du système en fonction système et les différents acteurs.
du temps.
Chapitre 5

Chapitre 5
Diagramme de séquence Diagramme de séquence
Diagramme de
Diagramme Diagramme de
Diagramme
Principes et Principes et
127 Introduction deSéquence
séquence Application 128 Introduction deSéquence
séquence Application
concepts de base concepts de base
Système
Système Système
Système
q Exemple 1: DAB
q Pour représenter le diagramme de séquence
système, il est recommandé de faire :
ü l’acteur principal à gauche,
ü un objet unique représentant le système en boîte
Enseignante : S. Mnif

Enseignante : S. Mnif
noire,
ü les éventuels acteurs secondaires sollicités durant le
scénario à droite du système.

32
9/18/2024
Chapitre 5

Chapitre 5
Diagramme de séquence Diagramme de séquence
Diagramme de Diagramme de Principes et
Principes et Principes et
129 Introduction Séquence Application 130 Introduction Séquence concepts de Application
concepts de base concepts de base
Système Système base

 Exemple : q Avec UML 2, le diagramme de séquence a subi des


changements importants en particulier l’ajout des
fragments avec opérateurs et des références entre
interactions:
Enseignante : S. Mnif

Enseignante : S. Mnif
ü Les cadres d’interactions ou fragments avec opérateurs en
utilisant les opérateurs : loop, opt et alt, etc.
ü Les références entre les interactions pour référencer une
interaction décrite ailleurs en utlisant ref.

129
Chapitre 5

Chapitre 5
Diagramme de séquence Diagramme de séquence
Diagramme de Principes et Diagramme de Principes et
Principes et Principes et
131 Introduction Séquence concepts de Application 132 Introduction Séquence concepts de Application
concepts de base concepts de base
Système base Système base
1. Représentation du diagramme de séquence : 1. Représentation du diagramme de séquence :
a. La ligne de vie
§ Un diagramme de séquence met en relation les instances des
classe (les objets) pour décrire la dynamique du système.
§ A chaque objet est associé une ligne de vie (en trait pointillés
Enseignante : S. Mnif

Enseignante : S. Mnif
à la verticale de l’objet) qui peut être considéré comme un
axe temporel (le temps s’écoule du haut vers le bas).
§ La ligne de vie indique les périodes d’activité de l’objet
Dans un diagramme de séquence: (généralement, les moments ou l’objet exécute une de ces
ü l’objet à la même représentation que dans le diagramme des méthodes).
objets : un rectangle dans lequel figure le nom de l’objet. § Lorsque l’objet est détruit, la ligne de vie s’achève par une
ü on représente les échanges entre les objets mais aussi les croix.
échanges avec les acteurs.
33
9/18/2024
Chapitre 5

Chapitre 5
Diagramme de séquence Diagramme de séquence
Diagramme de Principes et Diagramme de Principes et
Principes et Principes et
133 Introduction Séquence concepts de Application 134 Introduction Séquence concepts de Application
concepts de base concepts de base
Système base Système base
1. Représentation du diagramme de séquence :
1. Représentation du diagramme de séquence :
a. La ligne de vie
b. Les messages:
§ Exemple
§ Un message :
ü définit une communication particulière entre des lignes de vie.
ü une communication d’un objet vers un autre objet.
Enseignante : S. Mnif

Enseignante : S. Mnif
§ La réception d’un message est considérée par l’objet récepteur
comme un événement qu’il faut traiter et parfois non.
§ Plusieurs types de messages existent, les plus communs sont :
ü L’invocation d’une opération : message synchrone (appel
d’une méthode de l’objet cible).
ü L’envoi d’un signal : message asynchrone
ü La création ou la destruction d’une instance de classe.
Chapitre 5

Chapitre 5
Diagramme de séquence Diagramme de séquence
Diagramme de Principes et Diagramme de Principes et
Principes et Principes et
135 Introduction Séquence concepts de Application 136 Introduction Séquence concepts de Application
concepts de base concepts de base
Système base Système base
1. Représentation du diagramme de séquence : 1. Représentation du diagramme
b. Les messages: de séquence :
i. Les messages synchrones : b. Les messages:
ü La réception d’un message synchrone doit provoquer chez le i. Les messages synchrones :
destinataire le lancement d’une de ses méthodes. Attention
ü L’expéditeur du message reste bloqué pendant toute l’exécution
Enseignante : S. Mnif

Enseignante : S. Mnif

de la méthode et attend la fin de celle-ci avant de pouvoir lancer L es mé t h o d e s c o rr es po n d an t a ux me s s a ge s


un nouveau message. synchrones doivent être définies dans un diagramme
ii. Les messages asynchrones:
de classes, précisément dans la classe du récepteur,
ü Dans le cas d’un message asynchrone, l’expéditeur n’attend pas
la fin de l’activation de la méthode invoquée chez le destinataire. et pas de l’émetteur du message.
ü Un message asynchrone peut être : - un appel de méthode
- un signal

34
9/18/2024
Chapitre 5

Chapitre 5
Diagramme de séquence Diagramme de séquence
Diagramme de Principes et Diagramme de Principes et
Principes et Principes et
137 Introduction Séquence concepts de Application 138 Introduction Séquence concepts de Application
concepts de base concepts de base
Système base Système base
1. Représentation du diagramme 1. Représentation du diagramme de séquence :
de séquence : b. Les messages:
b. Les messages: ii. Les messages asynchrones:
i. Les messages synchrones : - Un appel de méthode : fréquent dans un système multi-threads
(multi-tâches). Ainsi, l’objet expéditeur (émetteur) n’étant pas
bloqué pendant l’exécution de la méthode, il peut continuer ainsi
Enseignante : S. Mnif

Enseignante : S. Mnif
à envoyer d’autres messages.
- Un signal : l’objet expéditeur transmet juste une information à
l’objet destinataire. Souvent, ce sont les acteurs ou les
périphériques qui envoient des signaux, typiquement utilisé dans
la gestion événementielle d’une IHM graphique.
Chapitre 5

Chapitre 5
Diagramme de séquence Diagramme de séquence
Diagramme de Principes et Diagramme de Principes et
Principes et Principes et
139 Introduction Séquence concepts de Application 140 Introduction Séquence concepts de Application
concepts de base concepts de base
Système base Système base
1. Représentation du diagramme de séquence : 1. Représentation du diagramme de séquence :
b. Les messages: b. Les messages:
iii. Les message récursifs: iv. Représentation schématique ou graphique:
§ Un objet peut s’envoyer un message à lui-même (utilisation Dans le diagramme de séquence, les envois de messages sont
d’une méthode du même objet). représentés par des flèches horizontales qui vont de la ligne de vie
§ Le diagramme présente alors un dédoublement de la bande de l’objet émetteur vers la ligne de vie de l’objet récepteur du
Enseignante : S. Mnif

Enseignante : S. Mnif

d’activation. message.
§ Les messages synchrones : (flèche avec un triangle plein à son
extrémité).
§ Les messages asynchrones : (simple flèche)
§ Les messages de retour (réponses) : (simple flèche en
pointillés).

35
9/18/2024
Chapitre 5

Chapitre 5
Diagramme de séquence Diagramme de séquence
Diagramme de Principes et Diagramme de Principes et
Principes et Principes et
141 Introduction Séquence concepts de Application 142 Introduction Séquence concepts de Application
concepts de base concepts de base
Système base Système base
1. Représentation du diagramme de séquence : 1. Représentation du diagramme de séquence :
b. Les messages: b. Les messages:
iv. Représentation schématique ou graphique: iii. Représentation schématique ou graphique:
Exemple1: Exemple2 :
Enseignante : S. Mnif

Enseignante : S. Mnif
Message de retour:
§ Si une méthode qui a été activée (par un message) doit retourner des
valeurs à la fin de son activation, cela se fait par un message retour.
§ Le message de retour n’est donc pas un appel de méthode (il ne provoque
donc pas l’activation d’un objet)
§ Le message retour porte souvent le nom de l’élément retourné.
Chapitre 5

Chapitre 5
Diagramme de séquence Diagramme de séquence
Diagramme de Principes et Diagramme de Principes et
Principes et Principes et
143 Introduction Séquence concepts de Application 144 Introduction Séquence concepts de Application
concepts de base concepts de base
Système base Système base

1. Représentation du diagramme de séquence : 1. Représentation du diagramme de séquence :


b. Les messages: b. Les messages:
v. Création et destruction d’objets: v. Création et destruction d’objets:
§ La création d’un objet est matérialisée par un message § Exemple:
spécifique, appel d’un constructeur, généralement accompagné
Enseignante : S. Mnif

Enseignante : S. Mnif
du stéréotype « create » qui pointe sur le début (le sommet) de
la ligne de vie de l’objet créé (le rectangle de l’instance de la
classe réceptrice est alors surbaissée).
§ La destruction d’un objet est représentée par une croix à la fin
de sa ligne de vie. Souvent l’objet est détruit suite à la
réception d’un message mais ce n’est pas obligatoire. Dans ce
cas, il porte le stéréotype « destroy ».

36
9/18/2024
Chapitre 5

Chapitre 5
Diagramme de séquence Diagramme de séquence
Diagramme de Principes et Diagramme de Principes et
Principes et Principes et
145 Introduction Séquence concepts de Application 146 Introduction Séquence concepts de Application
concepts de base concepts de base
Système base Système base
1. Représentation du diagramme de séquence :  Exercice :
b. Les messages: Ascenseur
Personne
v. Création et destruction d’objets: transporte
§ Exemple: bouton d'appel s'allume( )
appel de l'ascenceur étage( ) 0..* 0..* ouverture des portes étage( )
choix de l'étage( )
bouton d'étage s'allume( )
Enseignante : S. Mnif

Enseignante : S. Mnif
 Scénarios
◦ Deux usagers situés à des étages différents
empruntent le même ascenseur pour se rendre au
3ème étage.
◦ Trois usagers situés au même étage empruntent le
même ascenseur pour se rendre aux 3 ème et 5 ème
étages. 146
Chapitre 5

Chapitre 5
Diagramme de séquence Diagramme de séquence
Diagramme de Principes et Diagramme de Principes et
Principes et Principes et
Introduction Séquence concepts de Application 148 Introduction Séquence concepts de Application
147 concepts de base concepts de base
Système base Système base
 Correction : 1. Représentation du diagramme de séquence :
Meriam :
Personne : Ascenseur
Mohamed: b. Les messages:
Personne
1: appel de l'ascenceur étage (RdC) v. Syntaxe des messages synchrones et asynchrones:
2: buton d'appel s'allume ( ) Il est possible de définir un message par :
3: ouverture des portes étage (RdC)
§ Son nom (qui est le nom de la méthode appelée ou du signal
envoyé).
Enseignante : S. Mnif

4: choix de l'étage (3)


< 2 secondes Enseignante : S. Mnif

5: bouton d'étage s'allume (3) Nous pouvons lui adjoindre facultativement :


6: appel de l'ascenseur étage (2) § Une numérotation devant le nom message (séparé du nom du
7: bouton d'appel s'allume ( ) message par deux points " : "). La numérotation s’effectue
8: ouverture des portes étage (2)
séquentiellement à partir de 1.
§ Les paramètres passés a la méthode ou au signal (entre
10: ouverture des portes étage (3)
9: ouverture des portes étage (3) parenthèses après le nom du message).

147

37
9/18/2024
Chapitre 5

Chapitre 5
Diagramme de séquence Diagramme de séquence
Diagramme de Principes et Diagramme de Principes et
Principes et Principes et
149 Introduction Séquence concepts de Application 150 Introduction Séquence concepts de Application
concepts de base concepts de base
Système base Système base
1. Représentation du diagramme de séquence :
1. Représentation du diagramme de séquence :
b. Les messages:
b. Les messages:
v. Syntaxe des messages synchrones et asynchrones:
vi. Syntaxe des réponses (messages retour) :
§ Exemple :
Pour représenter un message de retour, il est possible de:
§ Donner au message retour un simple nom,
SouleverCombiné()
Enseignante : S. Mnif

Enseignante : S. Mnif
§ Utiliser cette première syntaxe:
attribut = nomMessage (paramètres)
§ Utiliser cette deuxième syntaxe:
attribut = nomMessage (paramètres) :valeurDeRetour
§ Utiliser cette syntaxe 4, la plus précise :
numéro : attribut = nomMessage (paramètres) : valeurDeRetour
Chapitre 5

Chapitre 5
Diagramme de séquence Diagramme de séquence
Diagramme de Principes et Diagramme de Principes et
Principes et Principes et
151 Introduction Séquence concepts de Application 152 Introduction Séquence concepts de Application
concepts de base concepts de base
Système base Système base
1. Représentation du diagramme de séquence : 1. Représentation du diagramme de séquence :
b. Les messages: c. Les contraintes temporelles:
vi. Syntaxe des réponses (messages retour) : § Des repères temporels avec des contraintes peuvent être placés
Exemple : le long de la ligne de vie.
§ Un message avec un temps de propagation non négligeable
Enseignante : S. Mnif

Enseignante : S. Mnif
peut être représenté par une flèche oblique ou en l'écrivant
explicitement.

38
9/18/2024
Chapitre 5

Chapitre 5
Diagramme de séquence Diagramme de séquence
Diagramme de Principes et Diagramme de Principes et
Principes et Principes et
153 Introduction Séquence concepts de Application 154 Introduction Séquence concepts de Application
concepts de base concepts de base
Système base Système base
2. Fragments d’interactions combinés: 2. Fragments d’interactions combinés:
a. Fragment d’interaction avec opérateur « opt » : b. Fragment d’interaction avec opérateur « alt » :
L’opérateur option (opt) comporte un opérande et une condition
§ L’opérateur alternatives (alt) est un opérateur conditionnel
de garde associée. Le sous fragment s’exécute si la condition de
garde est vraie et ne s’exécute pas dans le cas contraire. possédant plusieurs opérandes séparés par des pointillés.
Enseignante : S. Mnif

Enseignante : S. Mnif
§ C’est l’équivalent d’une exécution à choix multiples.
§ Chaque opérande détient une condition de garde.
§ Seul le sous-fragment dont la condition est vraie est exécuté.
§ La condition else est exécutée que si aucune autre condition
n’est valide.
Chapitre 5

Chapitre 5
Diagramme de séquence Diagramme de séquence
Diagramme de Principes et Diagramme de Principes et
Principes et Principes et
155 Introduction Séquence concepts de Application 156 Introduction Séquence concepts de Application
concepts de base concepts de base
Système base Système base
2. Fragments d’interactions combinés: 2. Fragments d’interactions combinés:
b. Fragment d’interaction avec opérateur « alt » : c. Fragment d’interaction avec opérateur « loop » :
§ Exemple § L’opérateur de boucle (loop) exécute une itérative dont la
séquence qu’elle contient est exécutée tant que la garde qui lui
est associée est vraie.
Enseignante : S. Mnif

Enseignante : S. Mnif
§ La garde s’écrit de la façon suivante : loop [min, max, condition]
ü Chaque paramètre (min, max et condition) est optionnel.
ü Le contenu du cadre est exécuté min fois, puis continue à
s’exécuter tant que la condition et que le nombre d’exécution
de la boucle ne dépasse pas max fois.

39
9/18/2024
Chapitre 5

Chapitre 5
Diagramme de séquence Diagramme de séquence
Diagramme de Principes et Diagramme de Principes et
Principes et Principes et
157 Introduction Séquence concepts de Application 158 Introduction Séquence concepts de Application
concepts de base concepts de base
Système base Système base
2. Fragments d’interactions combinés
2. Fragments d’interactions combinés
c. Fragment d’interaction avec opérateur « loop » :
c. Fragment d’interaction avec opérateur « loop » :
§ Exemple:
Exemple (ALT et LOOP)
Enseignante : S. Mnif

Enseignante : S. Mnif
Par exemple:
loop[3]→ signifie La séquence s’exécute 3 fois.
Loop[1, 3, code=faux] La séquence s’exécute 1 fois puis un
maximum de 2 autres fois si code=faux.
Chapitre 5

Chapitre 5
Diagramme de séquence Diagramme de séquence
Diagramme de Principes et Diagramme de Principes et
Principes et Principes et
159 Introduction Séquence concepts de Application 160 Introduction Séquence concepts de Application
concepts de base concepts de base
Système base Système base
2. Fragments d’interactions combinés: 2. Fragments d’interactions combinés:
d. Fragment d’interaction avec opérateur « par » : e. Autres fragments d’interactions:
Un fragment d’interaction avec l’opérateur de traitements § ref : permet de faire appel à un autre diagramme de séquence.
parallèles (par) contient au moins deux sous fragments § ignore et considere : pour les fragments facultatifs ou obligatoires.
( opé ran de s) sé parés p ar d es poi nt i l lé s q u i s ’e x éc ut en t
§ critical : pour les fragments qui doivent se dérouler sans être interrompus.
simultanément (traitements concurrents).
Enseignante : S. Mnif

Enseignante : S. Mnif

§ break : pour les fragments représentants des scenarii exceptionnels ou de


ruptures (ex appui sur la touche « Esc »). Le scénario de rupture est exécuté
si une condition de garde est satisfaite.
§ assert : Pour les fragments dont on connaît à l’avance les paramètres du
message (exemple : après la saisie des 4 chiffres d’un code, la saisie suivante
sera obligatoirement la touche « Entrée »).

40
9/18/2024
Chapitre 5

Chapitre 5
Diagramme de séquence Diagramme de séquence
Diagramme de Principes et Diagramme de Principes et
Principes et Principes et
161 Introduction Séquence concepts de Application 162 Introduction Séquence concepts de Application
concepts de base concepts de base
Système base Système base
2. Fragments d’interactions combinés:
e. Autres fragments d’interactions:
§ seq : indique que le fragment est composé de plusieurs sous fragments qui
peuvent s’exécuter dans n’importe quel ordre (mais pas en même temps).
Enseignante : S. Mnif

Enseignante : S. Mnif
§ strict : pour les fragments dont les messages doivent se dérouler dans un
ordre bien précis.
§ neg : pour indiquer que la séquence à l’intérieur du fragment n’est pas
valide.
Chapitre 5

Chapitre 5
Diagramme de séquence Diagramme de séquence
Diagramme de Principes et Diagramme de Principes et
Principes et Principes et
163 Introduction Séquence concepts de Application 164 Introduction Séquence concepts de Application
concepts de base concepts de base
Système base Système base
 Stéréotypes de Jacobson
 A l’intérieur d’un système, il existe souvent des classes
qui possèdent un rôle particulier qu’on aimerait
préciser dans le diagramme de séquence.
 « boundary » : classes qui servent à modéliser les
interactions entre le système et ses acteurs.
Enseignante : S. Mnif

Enseignante : S. Mnif

 « contr ol » : cl as ses util isé es pour représenter l a


coordination, l’enchaînement et le contrôle
d’autres objets.
 « entity » : classes qui servent à modéliser des informations
durables et souvent persistantes

41
9/18/2024
Chapitre 5

Chapitre 5
Stéréotypes de Jacobson Diagramme de séquence
Diagramme de Principes et Diagramme de
Principes et Principes et
165 Introduction Séquence concepts de Application 166 Introduction Séquence Application
Applications
concepts de base concepts de base
Système base Système

 Exemple : Exercice1 :
Le diagramme de classes suivant décrit des robots composés de
bras articulés, eux-mêmes composés de pinces.
Enseignante : S. Mnif

Enseignante : S. Mnif
L'implémentation des classes en question est la suivante :
Chapitre 5

Chapitre 5
Diagramme de séquence Diagramme de séquence
Diagramme de Diagramme de
Principes et Principes et
167 Introduction Séquence Application
Applications 168 Introduction Séquence Application
Applications
concepts de base concepts de base
Système Système
class Robot{
class Pince { Exercice2 :
private BrasArticulé brasArticulé ;
... Soit la description textuelle du scénario nominal du cas
public void chercherPièce() {
public void fermer() { ... }
brasArticulé.déplier() ;
public void ouvrir() { ... } d’utilisation retirer de l’argent du guichet de la banque:
brasArticulé.replier() ;
} 1. Le guichetier saisit le numéro de compte du client ;
}
} 2. L'application valide le compte auprès du système d’information du guichet;
Début programme principal
Enseignante : S. Mnif

Enseignante : S. Mnif 3. Le guichetier demande un retrait de 400 dinars ;


class BrasArticulé {
Robot robot ;
private Pince pince ; 4. Le système d’information du guichet interroge le système d’autorisation de
[Link]èce() ;
public void déplier() {
Fin programme principal la banque pour s'assurer que le compte contient suffisamment d’argent pour
... effectuer le retrait;
[Link]() ; Travail à faire : 5. Le système d’autorisation effectue le débit du compte ;
} Donnez un diagramme de séquence représentant 6. En retour, le système d’information du guichet notifie le guichetier qu'il peut
public void replier() { l'échange de messages résultant de l'exécution délivrer le montant demandé.
... du programme principal.
[Link]() ; Travail à faire :
}} Donner le diagramme de séquences associé à cette description textuelle

42
9/18/2024
Chapitre 5

Chapitre 5
Diagramme de séquence
Diagramme de Diagramme de
Principes et Principes et
169 Introduction Séquence Application
Applications 170 Introduction Séquence Application
concepts de base concepts de base
Système Système
Exercice3 : q Bibliographie
Réaliser le diagramme de séquence correspondant au cas § Roques, P., & Renault, G. (2018). UML 2.5 par la
d’utilisation « Retirer de l’argent par une carte bancaire par un pratique: Etudes de cas et exercices corrigés. Editions
utilisateur non client de la banque » réalisé dans le chapitre 2. Eyrolles.
§ Remy Manu, Diagramme de séquences, consulté le
17/02/2019
Enseignante : S. Mnif

Enseignante : S. Mnif
[Link]/UML/Cours/[Link]

Chapitre
Chapitre 56
MODÉLISATION OBJET-UML2 Diagramme de communication
Diagramme de
Modélisation Dynamique 172 Introduction
Introduction Séquence
Principes et
Application
concepts de base
Chapitre 6: Diagramme de Système
q Dans les versions 1.x, il était appelé diagramme de
communication
collaboration,
(Communication Diagram)
q Depuis la version 2.0, il est appelé diagramme de
communication.
Enseignante : S. Mnif q Un diagramme dynamique qui constitue une
représentation de l'interaction entre objets en
Enseignante : Salima MNIF
Contact : [Link]@[Link] soulignant les relations entre eux et les messages
échangés en vue de réaliser une opération.
q Affiche des informations similaires à un diagramme
de séquence (une alternative au diagramme de
Semestre2 Institut Supérieur des Etudes Technologiques de Nabeul
séquence)
43
9/18/2024
Chapitre

Chapitre
Chapitre 56

Chapitre 56
Diagramme de communication Diagramme de communication
Diagramme de Diagramme de
Principes et Principes et
173 Introduction
Introduction Séquence
concepts de base
Application 174 Introduction
Introduction Séquence
concepts de base
Application
Système Système
q Diagramme de séquence Vs diagramme de communication q Du Diagramme de séquence vers diagramme de
Diagramme de séquence Diagramme de communication communication
Points communs - Modélisation dynamique du système.
- L’échange de messages entre les entités (la communication entre
deux entités : objet, acteur , sous-système).
- Les mêmes types de messages : synchrone, asynchrone, retour
Enseignante : S. Mnif

Enseignante : S. Mnif
- Deux faces pour la même monnaie.
Points de - Les messages peuvent être - L e t e m p s e s t r e p r é s e n t é
différence numérotés pour représenter implicitement par la
l’évolution dans le temps. numérotation des messages.
- L’écoulement du temps est - Les messages doivent être
du haut vers le bas. nécessairement n umérotés
pour représenter l’évolution
dans le temps vue que la
représentation est spatiale.
Chapitre

Chapitre
Chapitre 56

Chapitre 56
Diagramme de communication Diagramme de communication
Diagramme de Diagramme de
Principes et Principes et Principes et Principes et
175 Introduction Séquence
concepts de base
Application 176 Introduction Séquence
concepts de base
Application
concepts de base concepts de base
Système Système
q Un diagrammes de communication est composé: Exemple 1
q des objets
q des connecteurs d'association entre les objets.
q des messages qui sont ajoutés à des associations
et des flèches montrent aussi courts pointant
Enseignante : S. Mnif

Enseignante : S. Mnif
dans la direction du flux de messages.
q La séquence des messages est présentée à travers un
système de numérotation.

44
9/18/2024
Chapitre

Chapitre
Chapitre 56

Chapitre 56
Diagramme de communication Diagramme de communication
Diagramme de Diagramme de
Principes et Principes et Principes et Principes et
177 Introduction Séquence
concepts de base
Application 178 Introduction Séquence
concepts de base
Application
concepts de base concepts de base
Système Système
Exemple 2 q Les objets: sont représentés par des rectangles contenant
une étiquette suivant la syntaxe :
[<nom_du_rôle>] : [<Nom_du_type>]
Remarques:
1. Au moins un des deux noms doit être spécifié.
2. Les deux points (:) sont obligatoires.
q Les connecteurs d’associations: indique un chemin de
Enseignante : S. Mnif

Enseignante : S. Mnif
communication entre deux objets (deux lignes de vie), sur
lequel passent les messages.
q Les messages : sont généralement ordonnés selon un
numéro de séquence croissant. Un message peut être
synchrone ou asynchrone ou de retour. Il est, habituellement,
Proposer le diagramme de séquence correspondant au diagramme de communication ci- spécifié sous la forme suivante :
dessus. ['['<sync>']' '['<cond>']' [<séq>] [ *[||] ['['<iter>']'] ] :] [<var> :=] <msg>([<par>])
Chapitre

Chapitre
Chapitre 56

Chapitre 56
Diagramme de communication Diagramme de communication
Diagramme de Diagramme de
Principes et Principes et Principes et Principes et
179 Introduction Séquence
concepts de base
Application 180 Introduction Séquence
concepts de base
Application
concepts de base concepts de base
Système Système
q Un message a généralement la forme suivante : q Un message a généralement la forme suivante :
['['<sync>']' '['<cond>']' [<séq>] [ *[||] ['['<iter>']'] ] :] [<var> :=] <msg>([<par>]) ['['<sync>']' '['<cond>']' [<séq>] [ *[||] ['['<iter>']'] ] :] [<var> :=] <msg>([<par>])

<sync> synchronisation de message. envoi d’un message ssi d’autres <iter> spécifie l'envoi séquentiel (ou en parallèle, avec ||) de plusieurs
messages ont déjà été envoyés. Par exemple message1/ message2. Le message mess ag es. On peut omettre cette spécification et ne garder que l e
2 ne sera envoyé ssi le message 1 est envoyé. caractère * (ou *||) pour désigner un message récurrent, envoyé un certain
Enseignante : S. Mnif

Enseignante : S. Mnif
<cond> est une condition sous forme d'expression booléenne entre crochets. nombre de fois.
<séq> est le numéro de séquence du message. On numérote les messages par <var> est la valeur de retour du message, qui sera par exemple transmise en
envoi et sous-envoi désignés par des chiffres séparés par des points : ainsi paramètre à un autre message.
l'envoi du message 1.4.4 est postérieur à celui du message 1.4.3, tous deux <msg> est le nom du message.
étant des conséquences (i.e. des sous-envois) de la réception d'un message 1.4. <par> désigne les paramètres (optionnels) du message.
La simultanéité d'un envoi est désignée par une lettre : les messages 1.6a et C e t t e s y nt a x e un pe u c o m p l e xe p e rm et de pr é c i s e r p a r fa it e m e nt
1.6b sont envoyés en même temps. l'ordonnancement et la synchronisation des messages entre les objets du
diagramme de communication.

45
9/18/2024
Chapitre

Chapitre
Chapitre 56

Chapitre 56
Diagramme de communication Diagramme de communication
Diagramme de Diagramme de
Principes et
Représentation Principes et
Représentation
181 Introduction Séquence Application 182 Introduction Séquence Application
concepts de base
graphique concepts de base
graphique
Système Système

q Le cadre ou le frame: q Un objet est représenté par un rectangle


q Règles de nommage:
Interaction CommunicationDiagram
q Nom de l’objet instancié
q Nom de l’objet et nom de la classe
q Nom de la classe
Enseignante : S. Mnif

Enseignante : S. Mnif
q Depuis UML 2.X l’objet n’est plus souligné.
:Objet DellInspiron153000:

DellInspiron153000:OrdinateurPortable

:OrdinateurPortable
Chapitre

Chapitre
Chapitre 56

Chapitre 56
Diagramme de communication Diagramme de communication
Diagramme de Diagramme de
Principes et
Représentation Principes et
Représentation
183 Introduction Séquence Application 184 Introduction Séquence Application
concepts de base
graphique concepts de base
graphique
Système Système
q Les connecteurs d’association: se représentent par q Les messages : Il existe 3 types de messages :
un trait plein reliant deux lignes de vie (ou deux Message synchrone Message asynchrone

objets) et dont les extrémités peuvent être munis de Message de retour


multiplicités.
q Représentation des messages:
Enseignante : S. Mnif

RoleObjet1: RoleObjet2: Enseignante : S. Mnif


q Messages envoyés en même temps : Utilisation de la notation Chiffre-
Lettre
Connecteur d’association q Messages invoqués plusieurs fois : Contrainte de boucle * [i=0..9]
ou lien d’interaction q Messages envoyés à une condition : Ajout d’une expression logique
[condition = Vrai]
q Messages envoyés à lui-même : :Objet
Rappel : Message envoyé à lui-même
dans un diagramme de séquence

46
9/18/2024
Chapitre

Chapitre
Chapitre 56

Chapitre 56
Diagramme de communication Diagramme de communication
Diagramme de Diagramme de
Principes et
Représentation Principes et
Représentation
185 Introduction Séquence Application 186 Introduction Séquence Application
concepts de base
graphique concepts de base
graphique
Système Système
q Numérotation des messages : dans les diagrammes q Numérotation des messages : dans les diagrammes
de séquences et de communication. de séquences et de communication.
Rappel : Exemple de numérotation de message dans un diagramme de séquence
Rappel : Exemple d’envoi de message dans un diagramme de séquence

() ü Les messages sont


Enseignante : S. Mnif

Enseignante : S. Mnif
numérotés
séquentiellement, à
partir de un.

ü L'objet de gauche envoie un message à l'objet de droite.


ü Ce message donne lieu à l'exécution de la méthode message ü Si un message est envoyé alors que le traitement du précédent n'est
de l'objet de droite, ce qui provoque son activation. pas terminé, il est possible d'utiliser une numération composée où
l'envoi du message 2 intervient pendant l'exécution du message 1.
Chapitre

Chapitre
Chapitre 56

Chapitre 56
Diagramme de communication Diagramme de communication
Diagramme de Diagramme de
Principes et
Représentation Principes et
Représentation
187 Introduction Séquence Application 188 Introduction Séquence Application
concepts de base
graphique concepts de base
graphique
Système Système
q Numérotation des messages : dans les diagrammes q Numérotation des messages :
de séquences et de communication.
q L'envoi du message 1.4.4 est postérieur à celui du message Exemple
1.4.3, tous deux étant des conséquences (i.e. des sous-
envois) de la réception d'un message 1.4.
Enseignante : S. Mnif

Enseignante : S. Mnif
q Numerotation englobante (cas d’appels de procédure) : 2
(appel initial) puis 2.1 (premier appel imbriqué) puis 2.2
(second sous-appel) puis 3 (appel du même niveau que le q La direction d’un message dans le diagramme de
numéro 2). communication est spécifiée par une petite flèche
q La simultanéité d'un envoi est désignée par une lettre : les a j o ut é e à c ô t é du n o m d u m e s s a ge e t de l a
messages 1.6a et 1.6b sont envoyés en même temps. numérotation pointant vers l'un ou l'autre des objets
de l'interaction relié par le connecteur.

47
9/18/2024
Chapitre

Chapitre
Chapitre 56

Chapitre 56
Diagramme de communication Diagramme de communication
Diagramme de Diagramme de
Principes et Principes et
189 Introduction Séquence Application
Application 190 Introduction Séquence Application
Application
concepts de base concepts de base
Système Système
q Exemple 1: signification des messages q Exemple 1: signification des messages
Rappel : un message s’écrit avec la syntaxe suivante : Rappel : un message s’écrit avec la syntaxe suivante:
['['<sync>']' '['<cond>']' [<séq>] [ *[||] ['['<iter>']'] ] :] [<var> :=] <msg>([<par>]) ['['<sync>']' '['<cond>']' [<séq>] [ *[||] ['['<iter>']'] ] :] [<var> :=] <msg>([<par>])

§ 1.3,2.1 / [t < 10s] 2.5 : age := demanderAge(nom,prenom)


Expliquez ce que ces messages font : Ce message n’est envoyé qu’une fois les messages 1.3 et 2.1 sont finis, et
Enseignante : S. Mnif

Enseignante : S. Mnif
§ [heure = midi] 1 : manger() uniquement si t est inferieur à 10s. De plus, la fonction demanderAge
Ce message « manger() » n'est envoyé que s'il est midi. prend deux paramètres (nom,prenom)et revoie une valeur dans la variable
§ 1 / *|| 2.1 : fermer() age.
Ce message « fermer() » n’est envoyé qu’une fois le message 1 fini, et il Expliquez ce que ces deux messages font :
est envoyé en parallèle (en même temps) sur tous les récepteurs (||) un § 1.3 / [disk full] 1.7.a : deleteTempFiles()
nombre inconnu de fois (*). § 1.3 / [disk full] 1.7.b : reduceSwapFile(20%)
Les deux messages sont envoyés en même temps (c’est le .a et le .b qui
permet de le voir) après que le message 1.3 soit envoyé et que la condition
disk full soit vrai.
Chapitre

Chapitre
Chapitre 56

Chapitre 56
Diagramme de communication Diagramme de communication
Diagramme de Diagramme de
Principes et Principes et
191 Introduction Séquence Application
Application 192 Introduction Séquence Application
Application
concepts de base concepts de base
Système Système
q Exemple 2: Elaboration d’un diagramme de q Application
communication à partir d’une description On souhaite gérer l’activité d’un magasin de vente de fleurs.
– Le client demande au vendeur des renseignements sur les compositions
florales.
Décrire par un diagramme de communication le fonctionnement – Le vendeur lui fournit toutes les informations nécessaires.
d'un ascenseur (une personne appuie sur un bouton de la porte, – Le client commande alors la composition de son choix et le vendeur émet le
Enseignante : S. Mnif

Enseignante : S. Mnif
l'ascenseur arrive, les portes s'ouvrent, la personne entre et bon de fabrication qu’il transmet à son ouvrier fleuriste.
choisit l’étage, etc.). – Le vendeur édite ensuite la facture correspondante.
– L’ouvrier fleuriste crée la composition puis archive le bon de fabrication et
remet alors la composition au vendeur.
– La facture est remise au client pour règlement lorsque le bouquet est réalisé.
– Une fois la facture réglée, le client récupère sa composition et quitte le
magasin.
Modéliser cette situation à l’aide d’un diagramme de communication.

48
9/18/2024
Chapitre
Chapitre 56
Diagramme de communication CONCEPTION ORIENTÉE OBJET
Diagramme de
193 Introduction Séquence
Principes et
Application
Application Modélisation Dynamique
concepts de base
Système Chapitre 7: Diagramme d’états-transitions
q Correction (State-Machine Diagram)

Enseignante : Salima MNIF


Contact : [Link]@[Link]
Enseignante : S. Mnif

Version disponible en ligne sur l’espace de cours dédié sur la plateforme de l’UVT

Semestre2 Institut Supérieur des Etudes Technologiques de Nabeul


Chapitre 7

Chapitre 7
Diagramme d’états-transitions Diagramme d’états-transitions
Principes et Représentation Principes et Représentation
195 Introduction
Introduction
concepts de base graphique
Application 196 Introduction
Introduction
concepts de base graphique
Application

q Parmi les diagrammes dynamiques d’UML. q Un diagramme d’états-transitions permet de décrire


Classes: 2ème années DSI

Classes: 2ème années DSI


q Offre une vision complète de l’ensemble des l e s c h a n g e m en t s d ' é t a t s d 'un ob j e t o u d'u n
comportements de l’élément auquel il est attaché. composant. Ses principaux composants sont:
q représente le cycle de vie des instances d’une classe q Un état : se caractérise par sa durée et sa stabilité.
(ou une partie de ce cycle). q Une transition : représente le passage instantané
Enseignante : S. Mnif

Enseignante : S. Mnif

q Un diagramme d’états-transitions est toujours d'un état vers un autre.


associé à une et une seule classe. q Une transition est déclenchée :
q Est utile pour les objets qui ont un cycle de vie. q soit par un événement.
q Il est inutile de faire le diagramme d’états-transitions q soit automatiquement lorsque aucun événement
pour les objets porteurs d’information, ne changent déclencheur n’est spécifié.
pas d’état au cours de leur vie.
49
9/18/2024
Chapitre 7

Chapitre 7
Diagramme d’états-transitions Diagramme d’états-transitions
Principes et
Principes et Représentation Principes et Représentation
197 Introduction
Introduction
concepts de base graphique
Application 198 Introduction concepts de
concepts de base graphique
Application
base

1. Principaux Composants:
Classes: 2ème années DSI

Classes: 2ème années DSI


Exemple:
Un interrupteur est un appareil qui permet de Un diagramme d'états-transitions est composé des
commander des points d'éclairage via un bouton éléments suivants :
poussoir (Un appui sur l’un des boutons poussoirs q état : représente la valeur des attributs d'un objet à
provoque le changement d’état du contact qui
un instant donné.
Enseignante : S. Mnif

Enseignante : S. Mnif
allument les lampes).
ü état initial : représente l'état au démarrage du
système.
ü état final : représente l'état dans lequel se trouve
le système à la fin d u fonctionnement (un
système peut avoir 0 ou plusieurs états finaux)
q transition : représente le passage d'un état à un autre.
Chapitre 7

Chapitre 7
Diagramme d’états-transitions Diagramme d’états-transitions
Principes et Principes et
Principes et Représentation Principes et Représentation
199 Introduction concepts de Application 200 Introduction concepts de Application
concepts
base
de base graphique concepts
base
de base graphique

1. Principaux Composants du diagramme: 2. Les états


Classes: 2ème années DSI

Classes: 2ème années DSI


q historique : représente le dernier état actif d'un super-état. 2.1. Types d’états: (spécification UML2.5)
q souche : permet de symboliser les états contenus dans q État simple: un état qui ne possède ni des sous-états internes, ni
des transitions internes.
un super-état. Il est ainsi possible de relier ces états à
q État composite: Il contient des sous-états. Un état peut être
d'autres états n'appartenant pas au super-état.
Enseignante : S. Mnif

Enseignante : S. Mnif
partitionné en plusieurs compartiments séparés par une ligne
q paquetage : divise et organise la représentation du horizontale. Le premier compartiment contient le nom de l’état et
diagramme (de la même manière que les répertoires les autres peuvent recevoir des transitions internes, ou des sous-
organisent les fichiers. états, quand il s’agit d’un état composite.
q Dans le cas d’un état simple, on peut omettre la barre de
séparation.
q Super-état : est un élément de structuration des diagrammes d'états-
transitions (c’est un état qui englobe d'autres états et transitions).

50
9/18/2024
Chapitre 7

Chapitre 7
Diagramme d’états-transitions Diagramme d’états-transitions
Principes et Principes et
Principes et Représentation Principes et Représentation
201 Introduction concepts de Application 202 Introduction concepts de Application
concepts
base
de base graphique concepts
base
de base graphique

3. Les évènements
Classes: 2ème années DSI

Classes: 2ème années DSI


2. Les états - Une chose qui se produit pendant l’exécution d’un
2.2. Exemple d’états:
système et qui mérite d’être modélisé.
- Un objet téléphone peut être dans l’état «en train de sonner»,
pendant la durée de cet état, l’action «faire sonner le - Un événement se produit à un instant précis et est
téléphone» s ‘exécute. dépourvu de durée.
Enseignante : S. Mnif

Enseignante : S. Mnif
- Il est possible de considérer un objet avion dans l’état «en vol» - Quand un événement est reçu, une transition peut être
et de considérer l’action "vol Paris-Londres", en train de déclenchée et faire basculer l’objet dans un nouvel
s’exécuter. état.
- Un événement n’est pas local à une classe particulière.
Il peut être partagé par deux objets.
- Un événement est, en général porteur d’information.
Chapitre 7

Chapitre 7
Diagramme d’états-transitions Diagramme d’états-transitions
Principes et Principes et
Principes et Représentation Principes et Représentation
203 Introduction concepts de Application 204 Introduction concepts de Application
concepts
base
de base graphique concepts
base
de base graphique

3. Les évènements Les événements ont principalement trois types : appel,


Classes: 2ème années DSI

Classes: 2ème années DSI


Exemples d’évènements: temporel et changement.
ü La rupture de stock, se produit suite à une condition 3.1. Evènement d’appel (call) :
particulière qui est la quantité indisponible en stock d’un - Représente la réception de l’appel d’une opération
produit (qte <seuil).
par un objet.
Enseignante : S. Mnif

Enseignante : S. Mnif
ü la sonnerie du téléphone, car il sera pris en charge lorsque le
receveur sera disponible. - L e s p a ra m è t r e s d e l ’ o p é r a t i o n s o n t ce u x d e
Exemples d’événements porteurs d’information: l’événement d’appel.
ü l’événement « appuyer-bouton-souris » porte les informations - La syntaxe d’un événement d’appel est la même que
suivantes : bouton, coordonnées. celle d’un signal.
ü L’événement «départ-vol» d’un avion porte les informations - Les événements d’appel sont des méthodes déclarées
suivantes : compagnie, numéro-vol, ville-destination) au niveau du diagramme de classes.
51
9/18/2024
Chapitre 7

Chapitre 7
Diagramme d’états-transitions Diagramme d’états-transitions
Principes et Principes et
Principes et Représentation Principes et Représentation
205 Introduction concepts de Application 206 Introduction concepts de Application
concepts
base
de base graphique concepts
base
de base graphique

3.2. Événement temporel (after ou when) 3.3. Événement de changement (change)


Classes: 2ème années DSI

Classes: 2ème années DSI


- Les événements temporels sont générés par le - est généré par la satisfaction (passage de faux à vrai)

passage du temps. d ’ un e e xp r e s s i o n bo ol é en n e s u r de s v a l e u rs
- Par défaut, le temps commence à s’écouler dès d’attributs.
l’entrée dans l’état courant. - C’est une manière déclarative d’attendre qu’une
Enseignante : S. Mnif

Enseignante : S. Mnif
- Ils sont spécifiés soit : condition soit satisfaite.
a. de manière absolue (date précise): - Syntaxe : when ( condition_booléenne)
Syntaxe : after ( <durée> ) 3.4. Événement paramétré
a. de manière relative (temps écoulé): - UML permet d’écrire des évènements avec des
Syntaxe : when ( date = <date> ) paramètres
- Syntaxe : Nom_évènement (paramètres)
Chapitre 7

Chapitre 7
Diagramme d’états-transitions Diagramme d’états-transitions
Principes et Principes et
Principes et Représentation Principes et Représentation
207 Introduction concepts de Application 208 Introduction concepts de Application
concepts
base
de base graphique concepts
base
de base graphique

4. Transition
Classes: 2ème années DSI

Classes: 2ème années DSI


4. Transition
q Une transition lie, généralement, deux états Etat1 et Etat2 q Le même événement peut déclencher plusieurs transitions
q Définit la réponse d’un objet à l’occurrence d’un événement. quittant un même état.
q Indique qu’un objet dans un état Etat1 peut entrer dans l’état q Chaque transition avec le même événement doit avoir
Etat2 et exécuter certaines activités si un événement une condition de garde différente.
Enseignante : S. Mnif

Enseignante : S. Mnif
déclencheur se produit et que la condition de garde est vérifiée. q Une seule transition peut se déclencher dans un même flot
q Peut-être interne ou externe. d’exécution.
q Syntaxe adoptée depuis la spécification UML 2.4: q Si deux transitions sont activées en même temps par un même
événement, une seule se déclenche.
[ <événement> ][ '[' <garde> ']' ] [ '/' <activité> ] q Exemple:
<événement>: évènement expliqué dans le paragraphe 3.
<garde> : condition de garde expliquée dans le paragraphe 4.1.
<activité> : effet d’une transition expliquée dans le paragraphe 4.2.

52
9/18/2024
Chapitre 7

Chapitre 7
Diagramme d’états-transitions Diagramme d’états-transitions
Principes et Principes et
Principes et Représentation Principes et Représentation
209 Introduction concepts de Application 210 Introduction concepts de Application
concepts
base
de base graphique concepts
base
de base graphique

4.1. Condition de garde 4.2. Effet d’une transition


Classes: 2ème années DSI

Classes: 2ème années DSI


q La condition de garde dans une transition n’est pas obligatoire. q Spécifie une activité à effectuer lors du déclenchement (nom
q C’est une expression logique sur les attributs de l’objet, de l’activité précédés de /).
associé au diagramme d’états-transitions, ainsi que sur les q Une activité est une série d'actions. Une action consiste à
paramètres de l’événement déclencheur. affecter une valeur à un attribut, créer ou détruire un objet,
Enseignante : S. Mnif

Enseignante : S. Mnif
q La condition de garde est évaluée uniquement lorsque effectuer une opération (lancer une méthode), envoyer un
l’événement déclencheur se produit: signal à un autre objet ou à soi-même.
ü Si l’expression est fausse, alors la transition ne se q Lorsqu’une transition se déclenche, son effet s’exécute.
déclenche pas, q Lorsque l'exécution de l'effet est terminé, l'état cible de la
ü Si elle est vraie, alors la transition se déclenche et ses transition devient actif.
effets se produisent.
Chapitre 7

Chapitre 7
Diagramme d’états-transitions Diagramme d’états-transitions
Principes et Principes et
Principes et Représentation Principes et Représentation
211 Introduction concepts de Application 212 Introduction concepts de Application
concepts
base
de base graphique concepts
base
de base graphique
Classes: 2ème années DSI

Classes: 2ème années DSI


4.3. Types d’une transition 4.3. Types d’une transition
a. Transition externe : c’est une transition qui modifie l’état a. Transition externe :
actif. b. Transition interne:
c. Transition d’achèvement :
b. Transition interne: C’est une transition dépourvue d’événement déclencheur
Enseignante : S. Mnif

Enseignante : S. Mnif -
- Il existe des états qui effectuent plusieurs activités explicite.
successivement ou en parallèle. - Elle se déclenche à la fin de l’activité contenue dans l’état
- L’enchaînement de ces activités à l’intérieur d’un même état peut source.
être spécifié grâce à des transitions internes. - Elle peut contenir une condition de garde qui est évaluée au
- Les transitions internes s’écrivent à l’intérieur de l’état, séparé du moment où l’activité contenue dans l’état s’achève, et non pas
nom de l’état par un trait. ensuite.

53
9/18/2024
Chapitre 7

Chapitre 7
Diagramme d’états-transitions Diagramme d’états-transitions
Principes et Principes et
Principes et Représentation Principes et Représentation
213 Introduction concepts de Application 214 Introduction concepts de Application
concepts
base
de base graphique concepts
base
de base graphique

5. Point choix 5. Point de choix:


Classes: 2ème années DSI

Classes: 2ème années DSI


a. Point de jonction a. Point de jonction
- Un point de jonction peut avoir plusieurs segments de
transition entrants et plusieurs segments de transition sortants. Diagramme1 sans
- peut être utilisé pour diviser une transition entrante en plusieurs point de jonction
Enseignante : S. Mnif

Enseignante : S. Mnif
segments de transition sortants avec différentes conditions de
garde. Ceci réalise une branche conditionnelle statique.
Représentation graphique : un petit cercle noir plein.
Diagramme équivalent à
diagramme 1 en utilisant
un point de jonction
Jonction
Chapitre 7

Chapitre 7
Diagramme d’états-transitions Diagramme d’états-transitions
Principes et Principes et
Principes et Représentation Principes et Représentation
215 Introduction concepts de Application 216 Introduction concepts de Application
concepts
base
de base graphique concepts
base
de base graphique

5. Point de choix: 5. Point de choix


Classes: 2ème années DSI

Classes: 2ème années DSI


a. Point de jonction b. Point de décision
- Possède une entrée et au moins deux sorties.
Diagramme1 sans - Les gardes situées après le point de décision sont évaluées au
point de jonction moment où il est atteint.
Enseignante : S. Mnif

Enseignante : S. Mnif
- Cela permet de baser le choix sur des résultats obtenus en
franchissant le segment avant le point de choix.
- Il est possible d’utiliser une garde particulière, notée [else], sur
Diagramme équivalent à un des segments en aval d’un point de choix. Ce segment n’est
diagramme 1 en utilisant franchissable que si les gardes des autres segments sont toutes
un point de jonction fausses.
- Représentation graphique : un symbole en forme de losange.

54
9/18/2024
Chapitre 7

Chapitre 7
Diagramme d’états-transitions Diagramme d’états-transitions
Principes et
Principes et Représentation Principes et Représentation
Représentation
217 Introduction concepts de Application 218 Introduction Application
concepts
base
de base graphique concepts de base graphique
graphique

6. Point choix 1. Représentation graphique d’un état :


Classes: 2ème années DSI

Classes: 2ème années DSI


Un état sera représenté graphiquement par un rectangle avec
b. Point de décision des coins arrondis. Ce rectangle comprendra généralement
trois compartiments :
1. Compartiment 1 : Nom: Cette zone indique le nom de l’état. Ce nom
est facultatif (souvent le nom de l’action suffit).
Enseignante : S. Mnif

Enseignante : S. Mnif
2. Compartiment 2 : Action ou Activité Interne: Cette zone permet de
décrire des actions internes ou activités exécutées associés à un état
pendant que l’objet est dans l’état. Chaque entrée a le format suivant :
<label-type-comportement> ['/' <expression-comportement>]

Où <label-type-comportement > identifie les circonstances dans lesquelles le


comportement spécifié par <expression-comportement>] sera invoqué et peut être
l’un des suivants: entry, exit, do, on
Chapitre 7

Chapitre 7
Diagramme d’états-transitions Diagramme d’états-transitions
Principes et
Principes et Représentation Principes et Représentation
Représentation
219 Introduction concepts de Application 220 Introduction Application
concepts
base
de base graphique concepts de base graphique
graphique

UML définit des mots clé correspondant à des événements 1. Représentation graphique d’un état :
Classes: 2ème années DSI

Classes: 2ème années DSI


3. Compartiment 3 : Transitions internes : Cette zone indique les
particuliers : transitions internes à cet état. Les transitions internes ont la même
- entry : définit l’activité à exécuter lors de l’entrée dans l’état. syntaxe expliquée au début de ce chapitre:
- exit : définit l’activité à exécuter lors de la sortie de l’état. [ <événement> ][ '[' <garde> ']' ] [ '/' <activité> ]
- do : définit l’activité à exécuter dès que celle définie par entry
4. Compartiment 4 (dans le cas d’un état composite):
Enseignante : S. Mnif

Enseignante : S. Mnif
est terminée.
Cette zone contient la décomposition de l’état composite
- on évènement / activité: (optionnel) définit l’activité à en d’autres sous-états.
exécuter à chaque fois que l’événement cité survient.

55
9/18/2024
Chapitre 7

Chapitre 7
Diagramme d’états-transitions Diagramme d’états-transitions
Principes et Représentation
Représentation Principes et Représentation
Représentation
221 Introduction Application 222 Introduction Application
concepts de base graphique
graphique concepts de base graphique
graphique

q Un état composite :
Classes: 2ème années DSI

Classes: 2ème années DSI


1. Représentation graphique d’un état : Etat initial
q Un état initial : Un état est dit complexe s’il correspond à la réalisation de
L’état initial est représenté par un point noir (état plusieurs activités (séquentielles ou simultanées) qui ne pourront
dans lequel il se trouve lors de sa création). pas être définis par des transitions internes.
q Un état final: Un état composite est décomposé en sous-états.
L’activation d’un état composite provoque l’activation de son
Enseignante : S. Mnif

Enseignante : S. Mnif
Un état final correspond à une étape où l'objet n'est
plus nécessaire dans le système et où il est sous état initial.
détruit. Il est représenté par un rectangle à coin arrondi
Etat final
L’état final se représente par un point entouré d’un contenant d’autres sous-états, un état initial,
cercle. un ou plusieurs états finaux.
Chapitre 7

Chapitre 7
Diagramme d’états-transitions Diagramme d’états-transitions
Principes et Représentation
Représentation Principes et Représentation
Représentation
223 Introduction Application 224 Introduction Application
concepts de base graphique
graphique concepts de base graphique
graphique

Remarque :
Classes: 2ème années DSI

Classes: 2ème années DSI


Parfois pour des raison de meilleur lisibilité du diagramme, il
est utile de masquer la décomposition d'un état composite.
Par exemple, il peut y avoir un grand nombre d'Etats imbriqués
dans un Etat composite et ils peuvent tout simplement ne pas
Enseignante : S. Mnif

Enseignante : S. Mnif
correspondre à l'es pace graphique disponible pour le
diagramme.
Dans ce cas, l’État composite peut être représenté par un simple
graphique d’État avec un «composite» spécial. Au lieu de cela,
le contenu de l'état composite est présenté dans un diagramme
distinct.

56
9/18/2024
Chapitre 7

Chapitre 7
Diagramme d’états-transitions Diagramme d’états-transitions
Principes et Représentation
Représentation Principes et Représentation
Représentation
225 Introduction Application 226 Introduction Application
concepts de base graphique
graphique concepts de base graphique
graphique

2. Transition
Classes: 2ème années DSI

Classes: 2ème années DSI


Exemple 1:
Une transition peut être interne ou externe
q Syntaxe d’une transition interne ou externe:
[ <événement> ][ '[' <garde> ']' ] [ '/' <activité> ]
q Représentation graphique d’une transition externe
Enseignante : S. Mnif

Enseignante : S. Mnif
Transition
externe

q Représentation graphique d’une transition interne


Transition
interne
Chapitre 7

Chapitre 7
Diagramme d’états-transitions Diagramme d’états-transitions
Principes et Représentation Principes et Représentation
227 Introduction
concepts de base graphique
Application
Application 228 Introduction
concepts de base graphique
Application
Application

Exemple2: Exercice 1:
Classes: 2ème années DSI

Classes: 2ème années DSI


le tourniquet (pour compter le nombre de personnes qui
montent dans un jeu ) Considérons un réveille-matin simplifié :
§ on peut mettre l’alarme « on » ou « off » ;
§ quand l’heure courante devient égale à l’heure d’alarme, le
réveil sonne sans s’arrêter ;
§ on peut interrompre la sonnerie.
Enseignante : S. Mnif

Enseignante : S. Mnif

57
9/18/2024
Chapitre 7

Chapitre 7
Diagramme d’états-transitions Diagramme d’états-transitions
Principes et Représentation Principes et Représentation
229 Introduction
concepts de base graphique
Application
Application 230 Introduction
concepts de base graphique
Application
Application

§ quand l’heure courante devient égale à l’heure d’alarme, le Exercice 2:


Classes: 2ème années DSI

Classes: 2ème années DSI


réveil sonne sans s’arrêter ; Considérons une montre à cadran numérique simplifiée :
§ on peut interrompre la sonnerie. 1. Le mode courant est le mode « Affichage ».
2. Quand on appuie une fois sur le bouton mode, la montre
passe en « modification heure ». Chaque pression sur le
bouton avance incrémente l’heure d’une unité.
Enseignante : S. Mnif

Enseignante : S. Mnif
3. Quand on appuie une nouvelle fois sur le bouton mode,
la montre passe en « modification minute ». Chaque
pression sur le bouton avance incrémente les minutes
d’une unité.
4. Quand on appuie une nouvelle fois sur le bouton mode,
la montre repasse en mode « Affichage ».
Chapitre 7

Chapitre 7
Diagramme d’états-transitions Diagramme d’états-transitions
Principes et Représentation Principes et Représentation
231 Introduction
concepts de base graphique
Application
Application 232 Introduction
concepts de base graphique
Application

Exercice 2:
Classes: 2ème années DSI

Classes: 2ème années DSI


 Fonctionnement d’une montre digitale
Evénement
Appui bouton avance / avancer minute
Etat initial
Enseignante : S. Mnif

Enseignante : S. Mnif Affichage heure Mofication minute


Appui bouton mode entry: clignoter minute

Appui bouton mode


Appui bouton mode

Appui bouton avance / avancer heure


Activité

Modification heure
entry: clignoter heure
Action
58
9/18/2024
Chapitre 7

Chapitre 7
Diagramme d’états-transitions Diagramme d’états-transitions
Principes et Représentation Principes et Représentation
233 Introduction
concepts de base graphique
Application 234 Introduction
concepts de base graphique
Application
Application

Dans une navette spatiale, le sas est sécurisé par un


Classes: 2ème années DSI

Classes: 2ème années DSI



système de contrôle d’accès via badge.
 Par défaut, le sas est vide et fermé mais lorsqu’une Pour s’approfondir dans ce chapitre du cours :
personne autorisée s’identifie, il bascule : la porte
d’entrée est bloquée et celle de sortie s’ouvre puis se 1. Quelle est la différence entre un point de jonction et un
bloque. Si personne ne sort au bout d’une minute
Enseignante : S. Mnif

Enseignante : S. Mnif
l’alarme se déclenche pendant une minute sinon le sas point de décision?
redevient vide et fermé. 2. A quoi servent le Join et le Fork et quelle est la
 Lorsqu’un intrus essaie d’accéder au sas l’alarme se
différence?
déclenche durant une minute
 Donner le diagramme d'état-transition

correspondant. Le sas, ici encore ouvert côté


station, permet d'accueillir
deux astronautes équipés.
Chapitre 7

Diagramme d’états-transitions MODÉLISATION OBJET-UML2


Principes et Représentation Modélisation Dynamique
235 Introduction Application
Application
concepts de base graphique
Chapitre 8: Diagramme d’activités
(Activity Diagram)
Classes: 2ème années DSI

q Bibliographie
§ OMG, 2017, Unified Modeling Langage specification
version 2.5.1, 2017.
[Link]
Enseignante : Salima MNIF
§ Roques, P. , 2005, UML 2 par la pratique, Études de cas
Enseignante : S. Mnif

Contact : [Link]@[Link]
et exercices corrigés, Edition Eyrolles.
[Link]
§ Remy Manu, Diagramme d’états-transitions consulté le
20/02/2019.
[Link] Version en ligne disponible au lien [Link]

Semestre2 Institut Supérieur des Etudes Technologiques de Nabeul

59
9/18/2024
Chapitre 8

Chapitre 8
Diagramme d’activités Diagramme d’activités
Principes et concepts de Principes et concepts de
237 Introduction
Introduction
base
Application 238 Introduction
Introduction
base
Application
Classes: 2ème années DSI

Classes: 2ème années DSI


Diagramme d’activités Diagramme d’états-transitions
q Principalement, il fait partie des diagrammes
dynamiques mais aussi fonctionnels d’UML. Points communs - Modélisation dynamique du système.
q Permet de décrire la dynamique globale d’un cas - Notions semblables :
Ø transition,
d’utilisation. Ø nœud initial (état initial),
Ø nœud final (état final),
q C’est un graphe orienté d’actions et de transitions.
Enseignante : S. Mnif

Enseignante : S. Mnif
Ø ⊗ nœud de fin flot (état de sortie),
Les transitions sont franchies lors de la fin des Ø ◊ nœud de décision (choix).
actions ; des étapes peuvent être réalisées en Points de - s ’ a p p l i q u e a u x f l o t s d e - est relatif à une seule classe
différence c o n t r ôl e e t a u x f l o t s d e pour décrire son évolution.
parallèle ou en séquence. données propres à un
q Il doit représenter l’ensemble des actions réalisées ensemble d’activités.

p a r l e s y s t èm e , a ve c t o u s l es b ra n c he m e n t s
conditionnels et toutes les boucles possibles.
Chapitre 8

Chapitre 8
Diagramme d’activités Diagramme d’activités
Principes
Principes et
et concepts de Principes
Principes et
et concepts de
239 Introduction Application 240 Introduction Application
conceptsbase
de base conceptsbase
de base
Classes: 2ème années DSI

Classes: 2ème années DSI


q Concepts de base : 1. Activité
q Une activité est une série d’actions.
ü activités
q Une action est l'unité fondamentale de la
ü transitions spécification de comportement en UML
Enseignante : S. Mnif

Enseignante : S. Mnif
q Une action correspond à un traitement qui modifie
l’état du système.
q Cette action consiste à affecter une valeur à un attribut, créer
ou détruire un objet, effectuer une opération, envoyer un
signal à un autre objet ou à soi-même.
q Une activité peut recevoir des paramètres en entrée et en
produire en sortie.

60
9/18/2024
Chapitre 8

Chapitre 8
Diagramme d’activités Diagramme d’activités
Principes
Principes et
et concepts de Principes
Principes et
et concepts de
241 Introduction Application 242 Introduction Application
conceptsbase
de base conceptsbase
de base
1. 1. Action
Classes: 2ème années DSI

Classes: 2ème années DSI


2. Transition ou enchaînement d’activité
q Représentation graphique :
q C’est un lien orienté entre deux activités.
ü est représentée par un rectangle dont les coins
q Il est franchi dès que l’activité d’origine est terminée.
sont arrondis comme pour les états du
q Son franchissement conduit à l’enclenchement de
diagramme d’état-transition
Enseignante : S. Mnif

Enseignante : S. Mnif
l’activité de destination.
q Il n’y a pas d’événement associé à la transition.
q L’enchaînement des actions constitue le flot de contrôle.
q Représentation graphique :
Chapitre 8

Chapitre 8
Diagramme d’activités Diagramme d’activités
Principes
Principes et
et concepts de Principes
Principes et
et concepts de
243 Introduction Application 244 Introduction Application
conceptsbase
de base conceptsbase
de base
1. 1. Nœud initial: Exemple de représentation d’une activité :
Classes: 2ème années DSI

Classes: 2ème années DSI


q Un nœud initial est le premier qui est exécuté.
q Représentation graphique :
ü Elle est représentée par un point noir
1. 2. Nœud final:
Enseignante : S. Mnif

Enseignante : S. Mnif

q L’activité finale représente la fin de l’exécution de


l’ensemble des activités d’un diagramme. Elle n’est
pas forcément unique et n’est pas obligatoire.
q Représentation graphique :
ü Elle est représentée par un point noir entouré
d’un cercle.
61
9/18/2024
Chapitre 8

Chapitre 8
Diagramme d’activités Diagramme d’activités
Principes
Principes et
et concepts de Principes
Principes et
et concepts de
245 Introduction Application 246 Introduction Application
conceptsbase
de base conceptsbase
de base

1.3. Nœud de bifurcation (fourche) FORK: Exemples de représentation d’un nœud de bifurcation:
Classes: 2ème années DSI

Classes: 2ème années DSI


q Un nœud de bifurcation permet à partir d’un flot
unique entrant de créer plusieurs flots concurrents en
sortie de la barre de synchronisation.
q Un enchaînement d’activités de type fourche possède
Enseignante : S. Mnif

Enseignante : S. Mnif
également plusieurs activités de destination. Dès
qu’il est franchi, toutes les activités de destination
sont enclenchées en parallèle. Nœud de bifurcation
q Représentation graphique :
Chapitre 8

Chapitre 8
Diagramme d’activités Diagramme d’activités
Principes
Principes et
et concepts de Principes
Principes et
et concepts de
247 Introduction Application 248 Introduction Application
conceptsbase
de base conceptsbase
de base
1.4. Nœud de jonction (synchronisation) JOIN: 1.4. Nœud de jonction (synchronisation) JOIN:
Classes: 2ème années DSI

Classes: 2ème années DSI


q Un nœud de jonction permet, à partir de plusieurs q Représentation graphique :
flots concurrents en entrée de la synchronisation, de
produire un flot unique sortant. Nœud de
q Le nœud de jonction est le symétrique du nœud de synchronisation
Enseignante : S. Mnif

Enseignante : S. Mnif
Exemples de représentation
bifurcation. d’un nœud de jonction:
q Un enchaînement d’activités de type synchronisation
possède plusieurs activités d’origine et une seule
activité de destination. Il faut que toutes les activités
d’origine soient terminées pour qu’il soit franchi et
que l’activité de destination soit enclenchée.
62
9/18/2024
Chapitre 8

Chapitre 8
Diagramme d’activités Diagramme d’activités
Principes
Principes et
et concepts de Principes
Principes et
et concepts de
249 Introduction Application 250 Introduction Application
conceptsbase
de base conceptsbase
de base
1.5. Nœud de Test-Décision: Exemple de représentation d’un nœud de Test-Décision:
Classes: 2ème années DSI

Classes: 2ème années DSI


q Un nœud de test-décision permet de faire un choix
entre plusieurs flots sortants en fonction des La condition de garde
conditions de garde de chaque flot. condition1 exclusive de
l’autre condition de garde
q Un nœud de test-décision n’a qu’un seul flot en
Enseignante : S. Mnif

Enseignante : S. Mnif
condition2.
entrée.
q On peut aussi utiliser seulement deux flots de sortie:
le premier correspondant à la condition vérifiée et
l’autre traitant le cas sinon. Quelle est la différence entre un nœud de
q Représentation graphique : bifurcation et un nœud de Test-Décision?
Chapitre 8

Chapitre 8
Diagramme d’activités Diagramme d’activités
Principes
Principes et
et concepts de Principes
Principes et
et concepts de
251 Introduction Application 252 Introduction Application
conceptsbase
de base conceptsbase
de base

Exemples de représentation d’un nœud de Test-Décision: Exemple de représentation d’un nœud de Test-Décision:
Classes: 2ème années DSI

Classes: 2ème années DSI


Enseignante : S. Mnif

Enseignante : S. Mnif

63
9/18/2024
Chapitre 8

Chapitre 8
Diagramme d’activités Diagramme d’activités
Principes
Principes et
et concepts de Principes
Principes et
et concepts de
253 Introduction Application 254 Introduction Application
conceptsbase
de base conceptsbase
de base

Exemple :
Classes: 2ème années DSI

Classes: 2ème années DSI


examen
candidature

rejetée retenue
Enseignante : S. Mnif

Enseignante : S. Mnif
Lettre de
refus Convocation

Préparation Préparation
entretien d'entretien
technique DRH
Chapitre 8

Chapitre 8
Diagramme d’activités Diagramme d’activités
Principes
Principes et
et concepts de Principes
Principes et
et concepts de
255 Introduction Application 256 Introduction Application
conceptsbase
de base conceptsbase
de base
1.6. Couloirs d’activités Exemple
Classes: 2ème années DSI

Classes: 2ème années DSI


q UML permet aussi d’organiser la présentation du d ’ u n
diagramme d’activité en couloir d’activités. diagramme
q Chaque couloir correspond à un domaine de d’activité
responsabilité d’un certain nombre d’actions. a v e c
Enseignante : S. Mnif

Enseignante : S. Mnif

q Les flots d’objets sont aussi représentés dans le couloirs


d’activités :
diagramme.
q L’ordre relatif des couloirs de responsabilité n’est pas
significatif.

64
9/18/2024
Chapitre 8

Chapitre 8
Diagramme d’activités Diagramme d’activités
Principes
Principes et
et concepts de Principes
Principes et
et concepts de
257 Introduction Application 258 Introduction Application
conceptsbase
de base conceptsbase
de base
 Les couloirs d’activités servent à identifier les objets 1.7. Actions de communication
Classes: 2ème années DSI

Classes: 2ème années DSI


responsables des actions. q Dans un diagramme d’activité, comme dans un
diagramme de temps, des interactions de
communication liées à certains types d’événement
peuvent se représenter.
Enseignante : S. Mnif

Enseignante : S. Mnif
q Les types d’événement concernés sont :
ü signal,
ü écoulement du temps.
q Représentation graphique :
Chapitre 8

Chapitre 8
Diagramme d’activités Diagramme d’activités
Principes et concepts de Principes et concepts de
259 Introduction
base
Application
Application 260 Introduction
base
Application
Application
Classes: 2ème années DSI

Classes: 2ème années DSI


Exercice 1: Exercice 2:
 Quand une agence a un projet, elle doit obtenir l’accord du siège,  Décrire la connexion d'un client à un serveur telnet. On considère
qui se traduit par sa participation au financement de l’opération. trois intervenants : le client, le démon telnet et la machine serveur.
 Une fois établi, le dossier de projet est donc soumis simultanément  Une fois la connexion établie entre le client et le serveur, le démon
à la banque et au siège, qui répond rapidement. demande un mot de passe au client, ce dernier dispose de trois
tentatives avant que la connexion ne soit rompue. Les tentatives
Enseignante : S. Mnif

Enseignante : S. Mnif
 Si le siège est défavorable, le projet est abandonné et la banque est
prévenue. Si le siège accepte de cofinancer le projet, on attend la infructueuses sont enregistrées dans un fichier sur le serveur.
réponse de la banque pour décider de poursuivre ou de réétudier le  Une fois l'identification faite, un terminal est ouvert et l'utilisateur
dossier. peut alors saisir des commandes qui sont interprétées par le démon
 Quand les deux réponses sont positives, un dossier de financement
et exécutées sur le serveur.
définitif est établi puis le projet est lancé.  La commande exit déconnecte le client du serveur.

65
9/18/2024
Chapitre 8

Chapitre 8
Diagramme d’activités Diagramme d’activités
Principes et concepts de Principes et concepts de
261 Introduction
base
Application
Application 262 Introduction
base
Application
Classes: 2ème années DSI

Classes: 2ème années DSI


q Bibliographie
q Exercice 3: § OMG, 2017, Unified Modeling Langage specification
Soit la description globale d’une recette simplifiée de réalisation d’une mousse version 2.5.1, 2017.
au chocolat : Commencer par casser le chocolat en morceaux, puis le faire [Link]
fondre. En parallèle, casser les œufs en séparant les blancs des jaunes. Quand § Roques, P. , 2005, UML 2 par la pratique, Études de cas et
le chocolat est fondu, ajouter les jaunes d’œuf. Battre les blancs en neige
Enseignante : S. Mnif

Enseignante : S. Mnif
exercices corrigés, Edition Eyrolles.
jusqu’à ce qu’ils soient bien fermes. Les incorporer délicatement à la
préparation chocolat sans les briser. Verser dans des ramequins individuels.
Mettre au frais au moins 3 heures au réfrigérateur avant de servir.
1. Représentez une version 1 du diagramme d’activité en supposant que vous
avez des ressources illimitées.
2. Représentez une version 2 du diagramme d’activité en supposant que vous
avez deux personnes pour réaliser la recette.

Qu'est-ce qu'un diagramme de

Chapitre 9
composant UML?
MODÉLISATION OBJET
UML2 264 Introduction
Introduction
Principes et concepts de
Conclusion
base

Classes: 2ème années DSI


Modélisation statique q Un type de diagramme de structure utilisé pour représenter les composants
Chapitre 9: Diagramme de
composants physiques d'un système logiciel.
(Component Diagram) q met en évidence l'organisation des composants.

Niveau : 2ème année


q montre comment les composants interagissent pour former des sous-
Développement des Systèmes d’Information Enseignante : S. Mnif
systèmes et des packages.
Enseignante : Salima MNIF
Contact : [Link]@[Link]
q permet de visualiser les différentes parties d'un système et les relations
Version en ligne disponible sur le site de l’uvt entre elles.
q montre comment les composants s'assemblent pour former une
architecture globale.
Semestre1 Institut Supérieur des Etudes Technologiques de Nabeul

66
9/18/2024
Chapitre 9 Qu'est-ce qu'un diagramme de Les éléments d'un diagramme de

Chapitre 9
composant UML? composant UML
Principes et concepts de Principes
Principes et
et concepts de
265 Introduction
Introduction Conclusion 266 Introduction Conclusion
base conceptsbase
de base
Classes: 2ème années DSI

Classes: 2ème années DSI


qLes composants peuvent représenter des éléments tels que des classes, Composants Interfaces Ports
des modules, des bibliothèques ou des fichiers. Les éléments de base
Le s i n t er f a ce s Les ports définissent les
qIls sont reliés entre eux par des relations de dépendance, d'héritage ou d'un diagramme de
représentent les points d'interaction des
composant UML
d'association. contrats offerts composants, indiquant où
sont les composants
Enseignante : S. Mnif

Enseignante : S. Mnif
p a r l e s les connexions peuvent
qGrâce à un diagramme de composant UML, il est possible de mieux logiciels eux-mêmes,
composants ou être établies.
comprendre la structure d'un système logiciel et de faciliter la tels que les
les exigences
communication entre les différents acteurs impliqués dans son exécutables, les
imposées à ceux-
fichiers sources, les
développement. ci.
librairies, etc.
Chapitre 9

Chapitre 9
Les interfaces et les ports Un composant

Principes
Principes et
et concepts de Principes
Principes et
et concepts de
267 Introduction Conclusion 268 Introduction Conclusion
conceptsbase
de base conceptsbase
de base
Classes: 2ème années DSI

Classes: 2ème années DSI


qReprésente une partie modulaire d'un système qui

1 Interfaces 2 Ports encapsule son contenu et dont la manifestation est

Les interfaces spécifient Les ports sont des points de remplaçable dans son environnement.
des contrats que les connexion à travers qEst une unité autonome qui encapsule l'état et le
Enseignante : S. Mnif

Enseignante : S. Mnif
classes ou les composants lesquels les composants comportement d'un certain nombre de classificateurs.
doivent remplir. peuvent communiquer. qPrécise un contrat formel des services qu'il fournit à
ses cl ients et de ceux qu'i l exige des autres
composants ou des services dans le système en
Source : [Link]
termes de ses interfaces fournies et requises.

67
9/18/2024
Chapitre 9 Les éléments d'un diagramme de

Chapitre 9
composant UML Notations possibles

Principes
Principes et
et concepts de Principes
Principes et
et concepts de
269 Introduction Conclusion 270 Introduction Conclusion
conceptsbase
de base conceptsbase
de base
Classes: 2ème années DSI

Classes: 2ème années DSI


Un composant avec 2 interfaces fournies et 3 requises
Enseignante : S. Mnif

Enseignante : S. Mnif
Source : [Link]

Source : [Link]

Les relations entre les


Chapitre 9

Chapitre 9
Un composant composite composants
Principes
Principes et
et concepts de Principes
Principes et
et concepts de
271 Introduction Conclusion 272 Introduction Conclusion
conceptsbase
de base conceptsbase
de base
Classes: 2ème années DSI

Classes: 2ème années DSI


Composition
La composition indique qu'un composant
peut être constitué de plusieurs autres
composants.

Dépendance
Enseignante : S. Mnif

Enseignante : S. Mnif
La dépendance représente une
connexion entre deux composants, où un
changement dans un composant peut
affecter un autre.
Utilisation
L'utilisation indique qu'un composant
peut utiliser un service ou une interface
fournie par un autre composant.
Source : [Link]

68
9/18/2024
Chapitre 9

Chapitre 9
Exemples de Composants Conclusion
Principes
Principes et
et concepts de Principes et concepts de
273 Introduction Conclusion 274 Introduction Conclusion
Conclusion
conceptsbase
de base base
Classes: 2ème années DSI

Classes: 2ème années DSI


Utilisations et avantages des
Classes Modules Bibliothèques diagrammes de composant UML
Les classes sont Les modules Les bibliothèques de
représentées sous logiciels sont mis en fonctions sont 1 Modélisation
forme de composants évidence, montrant représentées pour Les diagrammes de composant UML aident à modéliser la structure physique
et montrent les comment ils mettre en évidence des systèmes logiciels, ce qui facilite la compréhension et la communication
Enseignante : S. Mnif

Enseignante : S. Mnif
entre les parties prenantes.
relations d'héritage et interagissent pour leur rôle dans
de dépendance. former des sous- l'architecture 2 Visualisation
Ces diagrammes fournissent une vue claire des composants et de leurs
systèmes. logicielle. interrelations, aidant ainsi à identifier les opportunités d'optimisation et
d'amélioration du système.
3 Déploiement
Ils peuvent également être utilisés pour planifier le déploiement et la
configuration physique des systèmes logiciels.

4 Conception modulaire
Facilite la conception modulaire du système en mettant en lumière les sous-
systèmes et leurs composants.
Chapitre 9

Chapitre 9
Conclusion Bibliographie
Principes et concepts de Principes et concepts de
275 Introduction Conclusion
Conclusion 276 Introduction Conclusion
Conclusion
base base

q Bibliographie
Classes: 2ème années DSI

Classes: 2ème années DSI


§ OMG, 2017, Unified Modeling Langage specification
1 2 3 version 2.5.1, 2017.
[Link]
Compréhension Communication Optimisation § Roques, P. , 2005, UML 2 par la pratique, Études de cas et
Enseignante : S. Mnif

Enseignante : S. Mnif
Facilite la compréhension de la
structure et du fonctionnement
Améliore la communication
entre les membres de l'équipe de
Permet d'optimiser l'architecture
logicielle en identifiant les
exercices corrigés, Edition Eyrolles.
d'un système logiciel. développement et les parties dépendances et les interactions [Link]
prenantes. entre composants.

69
9/18/2024
Rôle du diagramme de

Chapitre 9
déploiement
MODÉLISATION OBJET
UML2 278 Introduction
Introduction
Principes et concepts de
Conclusion
base

Modélisation statique

Classes: 2ème années DSI


Chapitre 10: Diagramme de qLe diagramme de déploiement fait partie des diagrammes
Déploiement
structuraux (statique)
(Deployment Diagram)
qLe diagramme de déploiement dans UML est utilisé pour
Niveau : 2ème année

Enseignante : S. Mnif
Développement des Systèmes d’Information

Enseignante : Salima MNIF


modéliser l'architecture physique d'un système, en mettant
Contact : [Link]@[Link]
l'accent sur la disposition matérielle des composants logiciels.
Version en ligne disponible sur le site de l’uvt
qIl illustre la manière dont les composants logiciels sont
déployés sur les nœuds matériels.
Semestre1 Institut Supérieur des Etudes Technologiques de Nabeul

Les éléments d'un diagramme de


Chapitre 9

Chapitre 9
déploiement UML Noeud

Principes
Principes et
et concepts de Principes
Principes et
et concepts de
279 Introduction Conclusion 280 Introduction Conclusion
conceptsbase
de base conceptsbase
de base

Nœuds Composants Artefacts


Classes: 2ème années DSI

Classes: 2ème années DSI


qEn général, cette entité matérielle possède au minimum
Les nœuds Les composants L e s a r t e f a c t s Un nœud
de la mémoire et parfois aussi des capacités de calcul représenté
représentent les graphiquement par
sont les entités représentent les fichiers un parallélépipède
e n t i t é s (des ressources humaines ou des périphériques sont des
matérielles, telles modulaires ou les physiques qui sont ressources modélisées par des nœuds).
Enseignante : S. Mnif

que les serveurs Enseignante : S. Mnif


unités logicielles, utilisés pour stocker et qLes ressources matérielles sont quelquefois représentées
ou les postes de
travail, sur telles que les déployer le logiciel, avec le stéréotype <<device>> (généralement plutôt les
lesquels les périphériques mais également tout système informatique
fichiers JAR, DLL comme les documents,
composants
comme par exemple les ordinateurs de bureau).
logiciels sont ou exécutables, qui les bases de données ou
déployés.
sont déployés sur les fichiers de
les nœuds. configuration.

70
9/18/2024
Chapitre 9

Chapitre 9
Les chemins de communications Les chemins de communications

Principes
Principes et
et concepts de Principes
Principes et
et concepts de
281 Introduction Conclusion 282 Introduction Conclusion
conceptsbase
de base conceptsbase
de base
Classes: 2ème années DSI

Classes: 2ème années DSI


Un chemin de communication
qLe chemin de communication est donc un lien qui
permet de modéliser de façon simpliste la
communication entre 2 nœuds (liaison Ethernet, USB,
série…).
Enseignante : S. Mnif

Enseignante : S. Mnif
qIl est possible de faire figurer sur ce lien :
§ les cardinalités ; Source : Spécification UML 2.5

§ des contraintes entre accolades (pour indiquer par


exemple qu’un accès est sécurisé) ; le type de réseau
et/ou son débit en l’indiquant comme un
stéréotype…
Chapitre 9

Chapitre 9
Un artefact Un artefact

Principes
Principes et
et concepts de Principes
Principes et
et concepts de
283 Introduction Conclusion 284 Introduction Conclusion
conceptsbase
de base conceptsbase
de base
Classes: 2ème années DSI

Classes: 2ème années DSI


qc’est un élément concret et existant dans le monde réel
(document, exécutable, fichier, base de données…).
qL’implémentation des modèles se fait sous forme
Enseignante : S. Mnif

Enseignante : S. Mnif
d’artefacts.
qOn dit que l’artefact est la manifestation du modèle qu’il Source : Spécification UML 2.5

implémente.
q Ce sont les artefacts qui sont déployés sur les nœuds et
non pas les composants.

71
9/18/2024
Chapitre 9 Les avantages du diagramme de

Chapitre 9
Bibliographie
déploiement
Principes et concepts de Principes et concepts de
285 Introduction
base Conclusion
Conclusion 286 Introduction
base
Conclusion
Classes: 2ème années DSI

Classes: 2ème années DSI


Identification des
goulets q Bibliographie
Visualisation claire d'étranglement
§ OMG, 2017, Unified Modeling Langage specification version 2.5.1, 2017.
Offre une représentation [Link]
visuelle claire de la Permet d'identifier les
disposition des zones de congestion § Roques, P. , 2005, UML 2 par la pratique, Études de cas et exercices corrigés,
composants logiciels à du réseau ou les Edition Eyrolles.
des fins de déploiement. points de défaillance
Enseignante : S. Mnif

Enseignante : S. Mnif
[Link]
potentiels.

Planification efficace
Facilite la planification et l'organisation des
déploiements logiciels dans un environnement
matériel.

72

Vous aimerez peut-être aussi