Conception Partie1
Conception Partie1
Conception Partie1
L2GLSI-ISIMM-23/24-M.GZARA 1
Chapitre : Diagramme de
cas d’utilisation
Système - cas d’utilisation-acteur-
association-description textuelle-
diagramme de séquence analyse
L2GLSI-ISIMM-23/24-M.GZARA 2
2
21/09/2024
L2GLSI-ISIMM-23/24-M.GZARA 3
L2GLSI-ISIMM-23/24-M.GZARA 4
4
21/09/2024
Acteurs
› Un acteur est un utilisateur externe au système :
– Une personne.
– Du matériel (capteurs, moteurs, relais…).
– Un autre système
› Notation:
– Petit bonhomme avec son nom (i.e son rôle) inscrit dessous
– Un classeur stéréotype <<actor>>
Acteurs
› Type acteurs :
– Acteur primaire (principal) « primary » : acteur déclenchant le
cas
– Acteur secondaire « secondary » : acteur sollicité par le cas
› Les matériels extérieurs sauf la machine où se trouve l’application (tels
que distributeur de billets).
› Les autres systèmes tels que par exemple le réseau des cartes bancaires
– Notation :
› Le stéréotype << primary >> vient orner l'association reliant un cas
d'utilisation à son acteur principal
› Le stéréotype << secondary >> est utilisé pour les acteurs secondaires
L2GLSI-ISIMM-23/24-M.GZARA 6
6
21/09/2024
L2GLSI-ISIMM-23/24-M.GZARA 8
8
21/09/2024
› Réponse 4:
L2GLSI-ISIMM-23/24-M.GZARA 9
Cas d’utilisation
› Le cas d’utilisation représente une fonctionnalité du système
(visible de l’extérieur du système).
› Notation UML:
– Une ellipse contenant le nom du cas d’utilisation (phrase commençant
par un verbe à l’infinitif)
– Optionnellement, un stéréotype au dessus du nom.
L2GLSI-ISIMM-23/24-M.GZARA 10
10
21/09/2024
11
Associations
› Association :
– Relation entre acteurs et cas d'utilisation (relation de communication)
– Représente la possibilité pour l'acteur de déclencher le cas
– Multiplicité:
› Lorsqu’un acteur peut interagir plusieurs fois avec un cas d’utilisation, il est
possible d’ajouter une multiplicité sur l’association du côté du cas
d’utilisation.
› Préciser une multiplicité sur une relation n’implique pas nécessairement que
les cas sont utilisés en même temps.
– Notation UML:
› un trait reliant l’acteur et le cas d’utilisation.
› Eventuellement, sur ce trait un stéréotype qui précise la relation de
communication («communicate »).
› Multiplicité: le symbole * du côté du cas d’utilisation signifie plusieurs.
Exactement n s’écrit tout simplement n, n..m signifie entre n et m, etc.
L2GLSI-ISIMM-23/24-M.GZARA 12
12
21/09/2024
Associations
› Relations entre cas d'utilisation (sous-fonction)
› Cas d'utilisation interne: un cas n'est pas directement relié à
un acteur
– Inclusion : X « includes » Y X implique Y
↳Y est nécessaire pour X
– L’inclusion permet de :
› Partager une fonctionnalité commune entre plusieurs cas d’utilisation.
› Décomposer un cas d’utilisation complexe en décrivant ses sous-fonctions.
– Notation UML:
› Une flèche pointillée reliant les 2 cas d’utilisation et munie du stéréotype
«include ».
› Si le cas X inclut le cas Y, la flèche est dirigée de X vers Y.
L2GLSI-ISIMM-23/24-M.GZARA 13
13
Associations
› Relations entre cas d'utilisation (sous-fonction)
– Extension : X «extends» Y X peut être provoqué par Y
↳ X est optionnel pour Y
– Point d’extension :
› L’extension peut intervenir à un point précis du cas étendu
› Une extension est souvent soumise à condition Notation UML:
– Notation:
› La condition est exprimée sous la forme d’une note
L2GLSI-ISIMM-23/24-M.GZARA 14
14
21/09/2024
Associations
› Relations entre cas d'utilisation (sous-fonction)
– Généralisation ou spécialisation:
› X est un cas particulier de Y
› spécialiser un cas d’utilisation en un autre cas d’utilisation (sous-cas
d’utilisation)
› le sous-cas d’utilisation hérite du comportement du sur-cas d’utilisation.
› Le sous-cas d’utilisation hérite aussi de toutes les associations du sur-cas
(relations d’association avec les acteurs, relations d’inclusions, et relations
d’extensions).
– Notation:
› La relation de généralisation est représentée par une flèche avec une
extrémité triangulaire.
› Le nom d’un cas d’utilisation abstrait est écrit en italique (ou accompagné
du stéréotype « abstract »).
L2GLSI-ISIMM-23/24-M.GZARA 15
15
L2GLSI-ISIMM-23/24-M.GZARA 16
16
21/09/2024
L2GLSI-ISIMM-23/24-M.GZARA 17
17
L2GLSI-ISIMM-23/24-M.GZARA 18
18
21/09/2024
19
L2GLSI-ISIMM-23/24-M.GZARA 20
20
21/09/2024
Chapitre : Diagramme de
classe
Classe, responsabilité, association, multiplicité, agrégation,
composition, attribut, attribut dérivé, attribut de classe, classe
d’association, qualificatif, opération, opération de classe,
classification, généralisation, spécialisation, classe abstraite,
principe de substitution, généralisation multiple, contrainte
L2GLSI-ISIMM-23/24-M.GZARA 21
21
Notion de l’objet
› Un objet est une entité aux frontières bien définies
– Un objet est un concept, une abstraction ou une chose qui a un
sens dans le contexte du système à modéliser:
› La chaise de mon bureau, ma voiture, commande n°12, client Mourad
L2GLSI-ISIMM-23/24-M.GZARA 22
22
21/09/2024
Notion de classe
› Une classe représente la description abstraite d’un
ensemble d’objets (abstraction de l’objet):
– Mêmes propriétés (attributs)
– Même comportement (opérations)
– Une sémantique (domaine de définition)
– Classe Voiture, classe Elève, classe Personne
› Un objet est une instance de classe
› Les objets d’une même classe possèdent les même
caractéristiques (attributs).
› Notation UML:
L2GLSI-ISIMM-23/24-M.GZARA 23
23
Attribut
› Un attribut est un type d’information contenu dans une
classe
– Attributs élémentaires ou atomiques : nom, âge
– Attributs structurés: adresse
– Attributs multivalués : une personne peut avoir plusieurs
numéros de téléphonnes
– Exemple :
› Classe Voiture
› Attributs: vitesse courante, numéro de l’immatriculation, nombre de
cylindre, …
› Notation UML:
L2GLSI-ISIMM-23/24-M.GZARA 24
24
21/09/2024
Attribut
› Visibilité/Nom Attribut : type [=valeur initiale {propriété}]
– Visibilité (-, +, #)
– Nom d’attribut: nom unique dans sa classe
– Type : type primitif
– Valeur initiale facultative
– Attribut dérivé : calculé à partir d’autres attributs de la classe
(/nom attribut dérivé)
– {proporiétés}: valeurs marquées facultatives (ex: <<interdit>>
pour mise à jour interdite)
– Attribut peut avoir des valeurs multiples (diplômes[5])
L2GLSI-ISIMM-23/24-M.GZARA 25
25
Opération
› Décrit le comportement d’un objet :
– Un élément de comportement (un service) contenu dans une
classe
› Fonction applicable aux objets d’une classe
› Une méthode est l’implémentation d’une opération
› Formalisme:
– Uniquement le nom de l’opération
(ou)
– Nom de l’opération, liste de paramètres, type de résultat
L2GLSI-ISIMM-23/24-M.GZARA 26
26
21/09/2024
Opération
› Visibilité Nom opération(paramètres) [:[type résultat] {propriétés}]:
– Visibilité (-, +, #)
– Nom opération: verbe représentant l’action à réaliser
– Paramètres : nom du paramètre, type, valeur par défaut
– Type résultat: type (s) de valeurs retournées
– {propriétés} : valeurs facultatives applicables
L2GLSI-ISIMM-23/24-M.GZARA 27
27
L2GLSI-ISIMM-23/24-M.GZARA 28
28
21/09/2024
L2GLSI-ISIMM-23/24-M.GZARA 29
29
L2GLSI-ISIMM-23/24-M.GZARA 30
30
21/09/2024
Association
› Une association représente une relation sémantique
durable entre deux classes
– Exemple:
› Une personne peut posséder plusieurs voitures
› Une voiture est possédée par une seule personne
– Une association est bidirectionnelle
› Notation UML:
L2GLSI-ISIMM-23/24-M.GZARA 31
31
L2GLSI-ISIMM-23/24-M.GZARA 32
32
21/09/2024
L2GLSI-ISIMM-23/24-M.GZARA 33
33
Rôle
› Possibilité de nommer les extrémités d’association
› Indispensable pour les associations entre objets de
même classe
L2GLSI-ISIMM-23/24-M.GZARA 34
34
21/09/2024
• L'extrémité d'une
association est
appelée rôle.
• Le rôle décrit
comment une
classe voit l'autre
classe au travers
d'une association
L2GLSI-ISIMM-23/24-M.GZARA 35
35
L2GLSI-ISIMM-23/24-M.GZARA 36
36
21/09/2024
L2GLSI-ISIMM-23/24-M.GZARA 37
37
L2GLSI-ISIMM-23/24-M.GZARA 38
38
21/09/2024
L2GLSI-ISIMM-23/24-M.GZARA 39
39
Classe d’association
› Une association ne peut posséder d’attributs, à
l’exception du cas très particulier des associations
qualifiées.
› On peut définir une classe association, c‟est-à-dire une
association qui est également une classe.
› C’est une classe qui réalise la navigation entre les
instances dautres classes.
› Elle sert à connecter les classes entre elles
L2GLSI-ISIMM-23/24-M.GZARA 40
40
21/09/2024
Classe d’association
L2GLSI-ISIMM-23/24-M.GZARA 41
41
Classe d’association
L2GLSI-ISIMM-23/24-M.GZARA 42
42
21/09/2024
Classe d’association
L2GLSI-ISIMM-23/24-M.GZARA 43
43
Classe d’association
› Ne pas confondre classe-association et association
promue au rang de classe
L2GLSI-ISIMM-23/24-M.GZARA 44
44
21/09/2024
Association qualifiée
› Qualificateur :
– Attribut permettant de distinguer les objets situés à l’extrémité
de multiplicité « plusieurs » d’une association
– Attribut réduisant la multiplicité « plusieurs » à « un »
› Association qualifiée : association contenant un ou
plusieurs attributs qualificateurs
L2GLSI-ISIMM-23/24-M.GZARA 45
45
Association qualifiée
L2GLSI-ISIMM-23/24-M.GZARA 46
46
21/09/2024
L2GLSI-ISIMM-23/24-M.GZARA 47
47
L2GLSI-ISIMM-23/24-M.GZARA 48
48
21/09/2024
L2GLSI-ISIMM-23/24-M.GZARA
49
49
L2GLSI-ISIMM-23/24-M.GZARA 50
50
21/09/2024
L2GLSI-ISIMM-23/24-M.GZARA 51
51
Agrégation et composition
› Une agrégation exprime une relation de contenance
› Association non symétrique
› Une agrégation n’a pas besoin d’être nommée
– Implicitement : <<contient>>, <<est composé de>>
– Classe agrégat (composé), classes agrégée (composant)
L2GLSI-ISIMM-23/24-M.GZARA 52
52
21/09/2024
L2GLSI-ISIMM-23/24-M.GZARA 53
53
L2GLSI-ISIMM-23/24-M.GZARA 54
54
21/09/2024
Agrégation et composition
› Une composition est une agrégation plus forte:
– Un élément ne peut appartenir qu’à un seul agrégat composite
› Agrégation non partagée
– La destruction de l’agrégat composite entrâine la destruction de
tous ses éléments
› Le composite est responsable du cycle de vie des parties,
55
L2GLSI-ISIMM-23/24-M.GZARA 56
56
21/09/2024
L2GLSI-ISIMM-23/24-M.GZARA 57
57
L2GLSI-ISIMM-23/24-M.GZARA 58
58
21/09/2024
L2GLSI-ISIMM-23/24-M.GZARA 59
59
Encapsulation
› L'encapsulation est un principe de conception consistant
à protéger le coeur d'un système des accès intempestifs
venant de l'extérieur.
› En UML, utilisation de modicateurs d'accès sur les
attributs ou les classes :
– Public ou << + >> : propriété ou classe visible partout
– Protected ou <<#>> . propriété ou classe visible dans la classe
et par tous ses descendants.
– Private ou <<- >> : propriété ou classe visible uniquement dans
la classe Package, ou <<~>> : propriété ou classe visible
uniquement dans le paquetage
– Il n'y a pas de visibilité par défaut .
L2GLSI-ISIMM-23/24-M.GZARA 60
60
21/09/2024
Classe abstraite
› Une méthode est dite abstraite lorsqu'on connaît son entête mais pas la manière
dont elle peut être réalisée.
› Il appartient aux classes enfant de définir les methodes abstraites.
› Une classe est dite abstraite lorsqu'elle définit au moins une méthode abstraite
ou lorsqu'une classe parent contient une méthode abstraite non encore réalisée.
L2GLSI-ISIMM-23/24-M.GZARA 61
61
Classe abstraite
L2GLSI-ISIMM-23/24-M.GZARA 62
62
21/09/2024
Package
› Mécanisme général de regroupement d’éléments en UML
– Regrouper des classes et des associations
– Les package sont des espaces de nommage:
› Deux éléments ne peuvent pas porter le même nom au sein du même
package
› Deux éléments appartenant à des packages différents peuvent porter le
même nom
› Structuration d’un modèle en packages:
– Cohérence :
› Regrouper les classes proches de point de vue sémantique
– Independence :
› Minimiser les relations entre packages, soit, les relations entre classes de
packages différents
Critère intéressant: Évaluer les durées de vie des
instances de concepts et rechercher l’homogénéité L2GLSI-ISIMM-23/24-M.GZARA 63
63
Interface
› Le rôle d'une interface est de regrouper un ensemble
d'opérations assurant un service cohérent offert par un
classeur et une classe en particulier.
› Une interface est définie comme une classe, avec les mêmes
compartiments.
› On ajoute le stéréotype <<interface>> avant le nom de
l'interface.
› On utilise une relation de type réalisation entre une interface
et une classe qui l'implémente.
› Les classes implémentant une interface doivent implémenter
toutes les opérations décrites dans l'interface
L2GLSI-ISIMM-23/24-M.GZARA 64
64
21/09/2024
Interface
› Classe cliente d'une interface:
– Quand une classe dépend d'une interface (interface requise)
pour réaliser ses opérations, elle est dite classe cliente de
l'interface
– On utilise une relation de dépendance entre la classe cliente et
l'interface requise.
– Toute classe implémentant l'interface pourra être utilisée
L2GLSI-ISIMM-23/24-M.GZARA 65
65
Interface
L2GLSI-ISIMM-23/24-M.GZARA 66
66
21/09/2024
Eléments dérivés
› Les attributs dérivés peuvent être calculés à partir
d'autres attributs et des formules de calcul.
› Les attributs dérivés sont symbolisés par l'ajout d’un
<</>> devant leur nom.
› Lors de la conception, un attribut dérivé peut être utilisé
comme marqueur jusqu'à ce que vous puissiez
déterminer les règles à lui appliquer.
› Une association dérivée est conditionnée ou peut être
déduite à partir d'autres autres associations. On utilise
également le symbole <</>>.
L2GLSI-ISIMM-23/24-M.GZARA 67
67
Attributs de classe
› Par défaut, les valeurs des attributs définis dans une
classe diffèrent d'un objet à un autre.
› Parfois, il est nécessaire de dénir un attribut de classe qui
garde une valeur unique et partagée par toutes les
instances.
› Graphiquement, un attribut de classe est souligné
L2GLSI-ISIMM-23/24-M.GZARA 68
68
21/09/2024
Opérations de classe
› Semblable aux attributs de classe
› Une opération de classe est une propriété de la classe, et
non de ses instances.
› Elle n'a pas accès aux attributs des objets de la classe.
L2GLSI-ISIMM-23/24-M.GZARA 69
69
Classe paramétrée
› Pour dénir une classe générique et paramétrable en fonction
de valeurs et/ou de types :
– Dénition d'une classe paramétrée par des éléments spéciés dans un
rectangle en pointillés ;
– Utilisation d'une dépendance stéréotypée <<bind>> pour dénir des
classes en fonction de la classe paramétrée.
Java5 : généricité
C++ : templates
L2GLSI-ISIMM-23/24-M.GZARA 70
70
21/09/2024
Le diagramme de classe
› Le diagramme de classe exprime de manière générale la
structure statique d’un système
› Le modèle des classes et des objets décrit les objets
persistants du système d’information
› Le diagramme de classes est le diagramme le plus important
dans toutes les méthodes orientés objets.
› Le développement du modèle statique constitue la deuxième
activité dans l’étape d’analyse
› Une classe ne doit pas avoir trop de responsabilités
› Ne pas confondre objet logique et objet physique (une entité
et sa description)
L2GLSI-ISIMM-23/24-M.GZARA 71
71
L2GLSI-ISIMM-23/24-M.GZARA 72
72
Cours conception des
systèmes d’information
Analyse et Conception de Systèmes Informatiques Orientés objets en UML
Le diagramme de séquence
Enseignant du cours: Mariem Gzara
Filière : Licence en Génie Logiciel et Système d’Information
Niveau : 2ème année
Année universitaire : 2023-2024
L2GLSI-ISIMM-23/24-M.GZARA 1
Diagrammes de séquence
› Les diagrammes de séquences permettent de décrire
COMMENT les éléments du système interagissent entre
eux et avec les acteurs.
– Montrent les interactions entre objets selon un point de vue
temporel
– Description de scénarios types et des exceptions
› Deux utilisations principales :
1. Documentation des CU (point de vue Fonctionnel)
2. Représentation précise des interactions (point de vue
Dynamique)
› identification des messages, des envois, réceptions, etc
L2GLSI-ISIMM-23/24-M.GZARA 2
Diagramme de séquence
› Principes de base :
– Représentation graphique de la chronologie des échanges de
messages avec le système ou au sein du système
› « Vie » de chaque entité représentée verticalement
› Échanges de messages représentés horizontalement
L2GLSI-ISIMM-23/24-M.GZARA 3
Diagrammes de séquence
› Concepts principaux :
› 1. Les participants (le plus souvent des objets)
– Une ligne de vie : représente un participant à une interaction (objet ou acteur).
– Des zones d’activation
› 2. Les messages :
– L’opération et éventuellement ses paramètres
– Éventuellement son résultat
– Envoi d’un signal
– Destruction ou création d’objets
› 3. Des Fragments combinés
– Alt : conditionnelle
– Loop : boucle
– Ref : référence à un autre diagramme de séquence (=appel de fonction)
– Etc.
L2GLSI-ISIMM-23/24-M.GZARA 4
Diagramme de séquence: éléments de base
Fares: Acteur
L2GLSI-ISIMM-23/24-M.GZARA 5
Période d’activité
L2GLSI-ISIMM-23/24-M.GZARA 7
Types de messages
› Message asynchrone : Émetteur non bloqué, continue son
exécution
– Le message envoyé peut être pris en compte par le récepteur à
tout moment ou ignoré.
L2GLSI-ISIMM-23/24-M.GZARA 8
Type de message
› Message de retour : On peut associer aux messages
d’appel de méthode un message de retour (en pointillés)
marquant la reprise du contrôle par l’objet émetteur du
message synchrone.
L2GLSI-ISIMM-23/24-M.GZARA 9
Correspondance message/opérations
› Les messages synchrones correspondent à des opérations dans le
diagramme de classes.
› Envoyer un message et attendre la réponse pour poursuivre son
activité revient à invoquer une méthode et attendre le retour pour
poursuivre ses traitements.
L2GLSI-ISIMM-23/24-M.GZARA 10
Message de retour
› Le récepteur d’un message synchrone rend la main à l’émetteur du
message en lui envoyant un message de retour
› Les messages de retour sont optionnels : la fin de la période
d’activité marque également la fin de l’exécution d’une méthode.
› Ils sont utilisés pour spécifier le résultat de la méthode invoquée.
L2GLSI-ISIMM-23/24-M.GZARA 11
Création d’objets
› Un message peut entraîner la création ou la destruction d’objets
– La création d’un objet est matérialisée par une flèche qui pointe sur le
sommet d’une ligne de vie (On peut aussi utiliser un message asynchrone
ordinaire portant le nom «create»).
› La destruction d’un objet est matérialisée par une croix qui
marque la fin de la ligne de vie de l’objet.
L2GLSI-ISIMM-23/24-M.GZARA 12
Création et destruction d'objet
L2GLSI-ISIMM-23/24-M.GZARA 13
Catégories de messages
› message trouvé (Found message) :
– message dont on ignore la provenance
– en dehors du cadre décrit par le Diagramme de Séquence
› message perdu (Lost message) :
– message envoyé, mais jamais reçu
L2GLSI-ISIMM-23/24-M.GZARA 14
Message réflexif
Un objet peut s’envoyer des messages:
• appel à une autre méthode de l’objet
• appel récursif
L2GLSI-ISIMM-23/24-M.GZARA 15
Durées et contraintes temporelles
› Représentation des délais de transmission :
L2GLSI-ISIMM-23/24-M.GZARA 16
L2GLSI-ISIMM-23/24-M.GZARA 17
Fragments combinés
› Un fragment combiné permet de décomposer une
interaction complexe en fragments suffisamment simples
pour être compris
› Types
– 1. Opt
– 2. Loop
– 3. Alt
– 4. Break
– 5. Critique
– 6. Ref
– 7. ...
L2GLSI-ISIMM-23/24-M.GZARA 18
Opt : Fragment parcouru si une condition est vérifiée
L2GLSI-ISIMM-23/24-M.GZARA 19
Loop : Répétition du fragment tant que la condition est vérifiée
L2GLSI-ISIMM-23/24-M.GZARA 20
Décomposition : mot clef "ref"
L2GLSI-ISIMM-23/24-M.GZARA 21
Fragments
combinés :
exemples
L2GLSI-ISIMM-23/24-M.GZARA 22
Alternative
› Principe : Condition à l'envoi d'un message
› Notation :
– Deux diagrammes
– Bloc d'alternative alt
L2GLSI-ISIMM-23/24-M.GZARA 23
Alternative
L2GLSI-ISIMM-23/24-M.GZARA 24
Boucle
L2GLSI-ISIMM-23/24-M.GZARA 25
Référence à un autre diagramme
L2GLSI-ISIMM-23/24-M.GZARA 26
L2GLSI-ISIMM-23/24-M.GZARA 27
L2GLSI-ISIMM-23/24-M.GZARA 28
L2GLSI-ISIMM-23/24-M.GZARA 29
Quelques règles
› Messages entre acteurs et interface
– « Fausses » opérations liées au cas d'utilisation (même nom)
– Arguments (saisis) et valeurs de retour (affichées) simples : texte,
nombre
› Messages au sein du système
– Opérations du diagramme de classes
– Si message de objA : ClasseA vers objB : ClasseB,
alors opération du message dans ClasseB
L2GLSI-ISIMM-23/24-M.GZARA 30
Utilisation d’un diagramme de séquence pour
modéliser un cas d’utilisation
› Chaque cas d'utilisation donne lieu à un diagramme de
séquences
L2GLSI-ISIMM-23/24-M.GZARA 31
Utilisation d’un diagramme de séquence pour
modéliser un cas d’utilisation
Diagramme de séquences correspondant :
L2GLSI-ISIMM-23/24-M.GZARA 32
21/09/2024
L2GLSI-ISIMM-23/24-M.GZARA 1
Le diagramme d’objets
› Le diagramme d’objets fait parties des diagrammes structurels
(statique).
› Il représente les objets d’un système (c.à.d. les instances des
classes) et leurs liens (c.à.d. les instances des associations) à
un instant donné.
› Il donne une image instantanée des instances d'un système et
des relations entre ces instances.
› A un diagramme de classe correspond une infinité de
diagrammes d’objets.
› Les diagrammes d’objet donnent des exemples, des cas de
figure:
– permettent d’affiner le diagramme de classe
– de mieux comprendre le diagramme de classe
L2GLSI-ISIMM-23/24-M.GZARA 2
2
21/09/2024
Le diagramme d’objets
› Pendant phase analyse, créer jeux d'essai pour vérifier si
le diagramme de classes est complet et exact.
› Avant de créer un diagramme de classes, illustrer avec
des exemples précis
L2GLSI-ISIMM-23/24-M.GZARA 3
Représentation graphique
› Chaque objet est
représenté dans un
rectangle:
– le nom de l’objet
(souligné)
– éventuellement la
valeur de un ou
plusieurs de ses
attributs.
L2GLSI-ISIMM-23/24-M.GZARA 4
4
21/09/2024
Représentation graphique
L2GLSI-ISIMM-23/24-M.GZARA 5
Diagramme d’objets
une instance
particulière du
diagramme de
classe
L2GLSI-ISIMM-23/24-M.GZARA 6
6
21/09/2024
Diagramme d’objets
L2GLSI-ISIMM-23/24-M.GZARA 7
Diagramme d’objets
L2GLSI-ISIMM-23/24-M.GZARA 8
8
21/09/2024
Diagramme d’objets
L2GLSI-ISIMM-23/24-M.GZARA 9
Diagramme d’objets
L2GLSI-ISIMM-23/24-M.GZARA 10
10
21/09/2024
L2GLSI-ISIMM-23/24-M.GZARA 11
11
21/09/2024
Diagramme d’états-transitions
Diagramme d’activité
Enseignant du cours: Mariem Gzara
Filière : Licence en Génie Logiciel et Système d’Information
Niveau : 2ème année
Année universitaire : 2023-2024
L2GLSI-ISIMM-23/24-M.GZARA 12
12
Diagrammes d’états-
transitions
L2GLSI-ISIMM-23/24-M.GZARA 13
13
21/09/2024
Diagramme états-transitions
› Objectif :
– Décrire le comportement dynamique d'une entité (logiciel,
composant, objet...)
– Décrire le fonctionnement d’une machine (ou d’un objet) ayant
un comportement séquentiel.
› Comportement décrit par états + transitions entre les
états
– État : abstraction d'un moment de la vie d'une entité pendant
lequel elle satisfait un ensemble de conditions
– Transition : changement d'état
L2GLSI-ISIMM-23/24-M.GZARA 14
14
Diagramme états-transitions
› Intérêt :
– Vue synthétique de la dynamique de l'entité
– Regroupe un ensemble de scénarios
15
21/09/2024
L2GLSI-ISIMM-23/24-M.GZARA 16
16
L2GLSI-ISIMM-23/24-M.GZARA 17
17
21/09/2024
Etat
› Types d'états :
– État initial :
› Initialisation du système, exécution du constructeur de l'objet
› est représenté par un point noir
– État final :
› Fin de vie du système, destruction de l'objet
› se représente par un point entouré d’un cercle
– États intermédiaires :
› étapes de la vie du système, de l'objet
› un rectangle arrondi contenant son nom
L2GLSI-ISIMM-23/24-M.GZARA 18
18
État
› Caractéristiques d'un état :
– Conditions vérifiées
– Événements attendus
L2GLSI-ISIMM-23/24-M.GZARA 19
19
21/09/2024
Diagramme états-transitions
› Un diagramme d’états-transition est toujours associé à une et
une seule classe:
– Un objet peut passer par une série d'états pendant sa durée de vie.
– Un état représente une période dans la vie d'un objet pendant laquelle
ce dernier
› attend un événement (signal provenant d'autres objets) (Objet inactif)
› ou accomplit une activité (objet actif):
– Exécution d’une série de méthodes
– Interactions avec d’autres objets
L2GLSI-ISIMM-23/24-M.GZARA 20
20
Evénement
› Un événement est un fait qui déclenche le changement
d'état
› Un événement se produit à un instant précis et est
dépourvu de durée
› Il existe quatre types d’événements :
1. Événement de type signal (signal event)
2. Événement appel d'opération (call event)
3. Événement de changement (change event)
4. Événement temporel (time event)
L2GLSI-ISIMM-23/24-M.GZARA 21
21
21/09/2024
Evénement
1. Événement de type signal (signal event)
– réception d’un signal asynchrone émit par un autre objet ou par
un acteur
L2GLSI-ISIMM-23/24-M.GZARA 22
22
Evénement
2. Événement appel d'opération (call event) :
– Appel d’une méthode de l’objet courant par un autre objet ou par un
acteur.
3. Evénement de changement d'état:
– La satisfaction (vrai ou faux) d'une expression booléenne sur des
valeurs d'attributs.
– L’expression est testée en permanence.
L2GLSI-ISIMM-23/24-M.GZARA 23
23
21/09/2024
Une transition est une relation entre 2 états. Elle est orientée ce qui signifie que l'état
2 est possible si certains événements sont vérifiés.
Exemple : Une commande passera dans l'état "En attente" dès lors qu'elle aura été
expédiée
L2GLSI-ISIMM-23/24-M.GZARA 24
24
L2GLSI-ISIMM-23/24-M.GZARA 25
25
21/09/2024
L2GLSI-ISIMM-23/24-M.GZARA 26
26
L2GLSI-ISIMM-23/24-M.GZARA 27
27
21/09/2024
L2GLSI-ISIMM-23/24-M.GZARA 28
28
Diagramme d’activité
L2GLSI-ISIMM-23/24-M.GZARA 29
29
21/09/2024
DIAGRAMME D’ACTIVITES
› Variante des diagrammes d’états-transitions•
› Diagramme d’activité représente graphiquement le
comportement d'une méthode ou le déroulement d'un cas
d'utilisation.
› Le passage d'une activité vers une autre est matérialisé par
une transition.
› Les transitions sont déclenchées par la fin d'une activité et
provoquent le début immédiat d'une autre (elles sont
automatiques).
› En théorie, tous les mécanismes dynamiques pourraient être
décrits par un diagramme d'activités, mais seuls les
mécanismes complexes ou intéressants méritent d'être
représentés
L2GLSI-ISIMM-23/24-M.GZARA 30
30
DIAGRAMME D’ACTIVITES
› Pour montrer le flux des opérations qui s'enchaînent dans
un processus interne du système.
› Ce diagramme est le comment de la description d’un
système que nous avons évité dans les diagrammes de
cas d’utilisation.
› Ce n’est pas un diagramme d’états-transitions :
– Le diagramme d’états-transitions met l’accent sur l’évolution
d’un objet au cours du temps.
– Le diagramme d’activités se focalisent sur le flux d’activités
concourant à la réalisation d’un processu
L2GLSI-ISIMM-23/24-M.GZARA 31
31
21/09/2024
L2GLSI-ISIMM-23/24-M.GZARA 32
32
L2GLSI-ISIMM-23/24-M.GZARA 33
33
21/09/2024
L2GLSI-ISIMM-23/24-M.GZARA 34
34
L2GLSI-ISIMM-23/24-M.GZARA 35
35
21/09/2024
L2GLSI-ISIMM-23/24-M.GZARA 36
36
L2GLSI-ISIMM-23/24-M.GZARA 37
37
21/09/2024
L2GLSI-ISIMM-23/24-M.GZARA 38
38
Distributeur de billets
L2GLSI-ISIMM-23/24-M.GZARA 39
39
21/09/2024
L2GLSI-ISIMM-23/24-M.GZARA 40
40
L2GLSI-ISIMM-23/24-M.GZARA 41
41
21/09/2024
L2GLSI-ISIMM-23/24-M.GZARA 42
42
L2GLSI-ISIMM-23/24-M.GZARA 43
43
21/09/2024
L2GLSI-ISIMM-23/24-M.GZARA 44
44
L2GLSI-ISIMM-23/24-M.GZARA 45
45
21/09/2024
L2GLSI-ISIMM-23/24-M.GZARA 46
46
L2GLSI-ISIMM-23/24-M.GZARA 47
47
21/09/2024
DIAGRAMME
D’ACTIVITES
L2GLSI-ISIMM-23/24-M.GZARA 48
48
DIAGRAMME D’ACTIVITES
› Flux d'objet :
– Un flux d'objet représente la participation d'un objet dans un flux
de contrôle.
– Les flux d'objets sont représentés par des relations de
dépendance entre objets et états d'action ou d'activités.
– Les flux d'objets sont représentés par des flèches :
› Le diagramme ainsi obtenu est très intéressant, puisqu’il
fait le pont entre les trois axes de modélisation :
fonctionnel (actions), dynamique (flots) et statique
(entités et partitions)
L2GLSI-ISIMM-23/24-M.GZARA 49
49
21/09/2024
L2GLSI-ISIMM-23/24-M.GZARA 50
50
Diagramme de paquetage
L2GLSI-ISIMM-23/24-M.GZARA 51
51
21/09/2024
Diagramme de
composant
L2GLSI-ISIMM-23/24-M.GZARA 52
52