Mais conteúdo relacionado
Semelhante a Génie Logiciel - Cours 5 - analyse (8)
Mais de Mohammed Amine Mostefai (20)
Génie Logiciel - Cours 5 - analyse
- 1. COURS IGL
COURS 5
ANALYSE Cours 5 :
Analyse
Mostefai Mohammed Amine – m_mostefai@esi.dz
Batata Sofiane – s_batata@esi.dz 1
- 2. Cours 5 – Analyse OBJECTIFS DU COURS
Objectifs du cours
Appréhender l’activité d’analyse
Se familiariser avec les pratiques et les livrables de
Cours IGL, Copyright © 2011, ESI
l’analyse
Utiliser UML pour exprimer les résultats de l’analyse
Découverte des diagrammes de classe, d’activité, de
séquence et d’état
2
- 3. INTRODUCTION
Section 1 : Section 2 : Les Section 3 : Les AU GÉNIE
Introduction classes classes d’analyse LOGICIEL
Cours 5
Analyse
Section 4 : Section 5 : Section 6 :
réalisation des Diagrammes de Diagrammes
cas séquence d’activité
Section 7 :
Diagramme
d’états-
transitions
3
Cours IGL, Copyright © 2011, ESI
- 4. COURS IGL
Cours N° 5
Analyse
Section 1 : Introduction
4
Cours IGL, Copyright © 2011, ESI
- 5. SECTION 1 -
Cours 5 – Analyse INTRODUCTION
L’activité d’analyse
L’analyse et l’expression de besoins sont très dépendants
Il y a une ambiguïté entre l’analyse et l’expression de
besoins
Cours IGL, Copyright © 2011, ESI
L’analyse permet de clarifier les besoins d’une manière
détaillée
Il y a une ambiguïté entre l’analyse et la conception
L’analyse et la conception répondent à la question
«comment »
L’analyse se focalise sur l’aspect métier des
fonctionnalités tandis que la conception se focalise sur
l’aspect technique
Dans UP, le gros de l’analyse se fait durant la phase
d’analyse de besoins et d’élaboration
5
- 6. SECTION 1 -
Cours 5 – Analyse INTRODUCTION
L’activité d’analyse
Modèle d’analyse
Classes(Vocabulair
Cours IGL, Copyright © 2011, ESI
e, aspect statique)
L’analyse Produit
Interactions
(aspect
dynamique)
6
- 7. SECTION 1 -
Cours 5 – Analyse INTRODUCTION
L’activité d’analyse
L’analyse produit un modèle appelé modèle d’analyse
Le modèle est composé de deux sous -modèles : le
Cours IGL, Copyright © 2011, ESI
vocabulaire et les interactions
Le vocabulaire désigne les concepts du domaine. Il
concerne tous les acteurs et entités manipulées par ou
dans le systèmes
Le vocabulaire ne concerne pas uniquement les concepts
mais aussi les relations entre concepts
Les interactions représentent les activités impliquant
plusieurs entités ou acteurs (du vocabulaire) afin de
réaliser un objectif métier précis. Généralement, les
interactions détaillent les cas d’utilisation.
7
- 8. SECTION 1 -
Cours 5 – Analyse INTRODUCTION
L’activité d’analyse - Exemple
« à l’ESI, pour effectuer un stage, l’étudiant doit
chercher un encadreur interne ou dans une entreprise
Cours IGL, Copyright © 2011, ESI
externe et un sujet à réaliser. Une fois le sujet trouvé,
l’étudiant le dépose au niveau du service des stages. Ce
dernier s’occupe de la validation du sujet en faisant
appel à un enseignant de l’ESI ».
8
- 9. SECTION 1 -
Cours 5 – Analyse INTRODUCTION
L’activité d’analyse - Exemple
Le vocabulaire devra contenir les concepts suivants :
enseignant, étudiant, encadreur, entreprise, sujet, service
Cours IGL, Copyright © 2011, ESI
de stage et stage
Il y a plusieurs interactions à souligner : l’interaction de
recherche de sujet qui implique l’étudiant, l’entreprise, le
sujet et l’encadreur. L’interaction de validation qui
implique l’étudiant, le service de stages et l’enseignant.
9
- 10. SECTION 1 -
Cours 5 – Analyse INTRODUCTION
Construire le modèle d’analyse - Règles
Se limiter aux concepts métier, s’éloigner des
considérations techniques
Cours IGL, Copyright © 2011, ESI
Le langage du modèle d’analyse utilise le même langage
que le métier
Le modèle capture une vision globale sur un concept ou
un processus, ne pas aller trop dans le détail
Le modèle doit toujours être compréhensible et utile au
client
Plus le modèle est simple, plus il est meilleur
10
- 11. SECTION 1 -
Cours 5 – Analyse INTRODUCTION
Formalisation du modèle d’analyse
Le vocabulaire et les interactions peuvent être formalisés
de plusieurs manière (par exemple, en langage naturel)
Cours IGL, Copyright © 2011, ESI
UML est un excellent moyen de formaliser le modèle
d’analyse
Le diagramme de classes et le diagramme d’objets
permettent de formaliser le vocabulaire
Les diagrammes d’interaction peuvent formaliser les
interactions
11
- 12. COURS IGL
Cours N° 5
Analyse
Débat (05 Mns)
12
Cours IGL, Copyright © 2011, ESI
- 13. COURS IGL
Cours N° 5
Analyse
Section 2 : Objets et classes
13
Cours IGL, Copyright © 2011, ESI
- 14. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
L’objet
Cours IGL, Copyright © 2011, ESI
Etat Comportement Objet
14
- 15. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
L’objet
Rumbaugh définit l’objet comme étant une entité discrète
ayant une limite bien définie qui possède un état et un
Cours IGL, Copyright © 2011, ESI
comportement
Un objet représente une entité du monde réel
L’état de l’objet est l’ensemble des valeurs de ses
attributs
Le comportement d’un objet est représenté par les
opérations qu’il peut effectuer. Souvent les opérations
conduisent à un changement de l’état d’un objet
L’objet a un identifiant unique qui permet de le
distinguer des autres objets.
15
- 16. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
L’objet
Cours IGL, Copyright © 2011, ESI
Etat Comportement
• Numéro de série (Identifiant) • Allumer()
• Marque • Eteindre()
• Modèle • Connecter()
• Allumée • Filmer()
• Mode (Photo / Vidéo) • PrendreUnePhoto()
• Connectée à un ordinateur
• Liste des photos en mémoire
• Capacité
• Photo en cours
16
- 17. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Notation UML
Le diagramme qui est utilisé pour la représentation des
objets est le diagramme d’objets
Cours IGL, Copyright © 2011, ESI
17
- 18. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Notation UML des objets
Cours IGL, Copyright © 2011, ESI
Nom de l’instance compteTest :Compte
Cle = 80
Numero = 11256
Attributs Proprietaire = [Mokhtar]
Solde = 150000
18
- 19. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Notation UML des objets
Les noms sont écrits en souligné
Les noms des objets commencent par une minuscule. Si
Cours IGL, Copyright © 2011, ESI
c’est un nom composé, le début de chaque mot suivant
commence par une majuscule. Par exemple :
compte11256:Compte ou clientFavori:Client. Le symbole
« : » sépare le nom de l’instance du nom de sa classe.
Le nom de l’objet peut être anonyme (ne comporte que le
nom de la classe. Par exemple : :Compte ou :Client.
L’objet peut ne pas avoir de classe : par exemple amine ou
compteTest.
19
- 20. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Notation UML des objets - Liens
Un lien lie deux instances entre objets
L’objet est une instance d’une classe et le lien est une
Cours IGL, Copyright © 2011, ESI
instance d’une association
20
- 21. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Notation UML des objets - Liens
Objets
compteTest :Compte
Cours IGL, Copyright © 2011, ESI
Cle = 80
Numero = 11256
Proprietaire = [Mokhtar]
Solde = 150000
Possède
amine :Personne
Lien
21
- 22. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Notation UML des objets - Exemple
Cours IGL, Copyright © 2011, ESI
azouaou :Enseignant
mostefai :Enseignant
Nom = Mostefai
Prenom = Mohammed Amine
igl :Module conduiteDeProj et : mcsi :Module
Annee = 3csc Module
22
- 23. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Objets – Notation UML - Diagrammes
Un diagramme d’objets présente des objets et leurs
relations à un instant T
Cours IGL, Copyright © 2011, ESI
Le diagramme d’objets est idéal pour donner des
exemples sur des situations particulières
Les liens bidirectionnels entre A B quand A et B
s’envoient des messages
Un lien unidirectionnel entre A vers B indique que A
peut envoyer un message vers B mais pas l’inverse
23
- 24. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Objets – Notation UML - Diagrammes
Grade
EXEMPLE
Cours IGL, Copyright © 2011, ESI
EstGradé
Employe
Emploie
*
Departement
1
*
EstConstituéeDe
Ecole 1
24
- 25. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Objets – Notation UML - Diagrammes Diagramme
object Pédagogie Nom du diagramme
mca :Grade
Lien Unidirectionnel
Cours IGL, Copyright © 2011, ESI
cherid :Employe balla :Employe mostefai :Employe
+Directrice Etudes +Responsable CPI +Enseignant
pg :Departement directionDesEtudes :Departement
esi :Ecole
Lien Bidiectionnel Rôle
25
- 26. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Diagramme d’objet – Quand l’utiliser ?
Les diagrammes d’objets sont utilisés pour donner des
exemples sur des situations complexes mettant en
Cours IGL, Copyright © 2011, ESI
relation plusieurs concepts
Les diagrammes d’objet sont facultatifs et souvent les
diagrammes de classes sont suffisants pour décrire le
domaine.
26
- 27. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Les classes
Rumbaugh définit la classe comme étant un descripteur
d’un ensemble d’objets qui partagent les mêmes
Cours IGL, Copyright © 2011, ESI
attributs, méthodes, relations et comportement
La classe est le modèle d’un ensemble d’objets similaires
Dans l’exemple précédent : Mostefai et Azouaou sont
deux instances de la classe « Enseignant »
Un objet appartient à une seule classe
La classe définit la structure d’un objet (aspect statique)
, son comportement (aspect dynamique) et ses relations
27
- 28. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Les classes
Rumbaugh définit la classe comme étant un descripteur
d’un ensemble d’objets qui partagent les mêmes
Cours IGL, Copyright © 2011, ESI
attributs, méthodes, relations et comportement
La classe est le modèle d’un ensemble d’objets similaires
Dans l’exemple précédent : Mostefai et Azouaou sont
deux instances de la classe « Enseignant »
Un objet appartient à une seule classe
La classe définit la structure d’un objet (aspect statique)
, son comportement (aspect dynamique) et ses relations
28
- 29. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Modélisation orientée objet
Cours IGL, Copyright © 2011, ESI
Comment classifier ces animaux ? 29
- 30. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Modélisation orientée objet
Ce n’est pas facile d’avoir une conception objet du monde
réel
Cours IGL, Copyright © 2011, ESI
Les classes résultantes proviennent du point de vue de
travail
Les classes de l’exemples précédent peuvent être :
(Animal) ou (AnimalTerrestre / AnimalMarin) ou
(AnimalDomestique / AnimalSauvage) ou
(AnimalComestible / AnimalNonComestible) ou (Poisson
/ Mammifière / Crustacé …)
30
- 31. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes et objets
L’objet instancie la classe
UML définit l’instanciation comme une relation de
Cours IGL, Copyright © 2011, ESI
dépendance avec le stéréotype « instantiate »
31
- 32. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes et objets
Module
Cours IGL, Copyright © 2011, ESI
- Annee: string
- AssurePar: Enseignant
- Nom: string
«instantiate» «instantiate» «instantiate»
mcsi :Module igl :Module conduiteDeProj et :
Module
Annee = 3csc
32
- 33. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML
Stéréotype
«entity»
Nom de la classe Compte
Cours IGL, Copyright © 2011, ESI
- cle: string
- numero: string
Attributs - proprietaire: Personne
- solde: double = 0
Opérations + retirer(double) : boolean
+ verser(double) : boolean
tags
Métadonnées Auteur = Amine
Date = Octobre 2011
33
- 34. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Nom
De préférence, utiliser la convention UpperCamelCase. Le
nom de classe est en minuscules et la première lettre en
Cours IGL, Copyright © 2011, ESI
majuscules. Si le nom de la classe est composite, le nom
de chaque mot composant est en minuscule et la
première lettre en majuscule. Par exemple : Agent,
Compte, LigneFacture, MandatPostalValide.
Eviter les abbrévitiations : par exemple utiliser
FactureValideDetaillee au lieu de FactureVD.
Ne pas utiliser des noms verbaux car les classes
représentent des « choses ».
34
- 35. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Visibilité
La visibilité s’applique aussi bien aux attributs qu’aux
opérations
Cours IGL, Copyright © 2011, ESI
Durant la phase d’analyse, la visibilité n’est pas
importante
Les langages de programmation peuvent avoir une
interprétation différente de la visibilité
35
- 36. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Visibilité
Le tableau suivant liste les visibilités utilisées dans UML
Visibilité Nom Description
Cours IGL, Copyright © 2011, ESI
+ Visibilité Accès depuis la même classe et à l’extérieur de
publique la classe
- Visibilité privée Accès depuis la même classe uniquement
# Visibilité Accès depuis la même classe et les classes
protégée descendantes
~ Visibilité paquet Accès depuis la même classe et toutes les
classes appartenant au même paquet
36
- 37. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Types
Le type peut être un type défini par UML ou l’un des
types suivants : boolean, byte, char, double, float, int,
Cours IGL, Copyright © 2011, ESI
long, short
37
- 38. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Attributs
Les attributs sont formulés en utilisant la syntaxe
suivante :
Cours IGL, Copyright © 2011, ESI
Visibilité Nom_Attribut : type [multiplicité] = valeur_initiale
38
- 39. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Attributs
Le type peut être un type défini par UML ou l’un des
types suivants : boolean, byte, char, double, float, int,
Cours IGL, Copyright © 2011, ESI
long, short
La valeur initiale indique la valeur de l’attribut quand
une instance de la classe est créée
Un attribut est dit statique s’il appartient à la classe, pas
à une instance en particulier. Les attributs statiques sont
noté en souligné.
39
- 40. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
C l a s s e s – N o t a t i o n U M L – At t r i b u t s , m u l t i p l i c i té
La multiplicité indique les attributs multiples.
Les multiplicités sont équivalentes aux tableaux mais ont
Cours IGL, Copyright © 2011, ESI
plus de sémantique.
Exemple 1 : int valeurs[7]. La classe contient exactement
7 valeurs.
Exemple 2 : int valeurs[2..*] : la classe contient au moins
2 valeurs.
Exemple 3 : int valeurs[2..7] la classe contient au
minimum 2 valeurs et au maximum 7 valeurs.
Exemple 4 : int valeurs [0..1] la classe contient une
valeur ou null.
40
- 41. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Attributs
EXEMPLE
Cours IGL, Copyright © 2011, ESI
Etudiant
+ matricule : int
# nom : string
# prenom : string
~modules : int [2..9]
- age :int = 18
- chambreAffectee : Chambre [0..1]
+ tuteursDeSuivi : Tuteur [2]
+ nombreEtudiants : int
+ inscriptions : Inscription [1..*]
41
- 42. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Opérations
Les opérations sont formulés en utilisant la syntaxe
suivante :
Cours IGL, Copyright © 2011, ESI
Visibilité Nom_Operation (direction nom_paramètre:
type = valeur_défaut,….) : type_retour
42
- 43. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Opérations
Les opérations sont nommées en utilisant une formulation
lowerCamelCase
Cours IGL, Copyright © 2011, ESI
De préférence, utiliser des expressions verbales pour les
opérations
Les paramètres sont nommés en utilisant lowerCamelCase
Ne pas utiliser des expressions verbales pour les paramètres
Des valeurs par défaut peuvent être renseignées pour une
opération.
Les opérations statiques sont soulignées
43
- 44. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Opérations
DIRECTION DES PARAMÈTRES
Direction Description
Cours IGL, Copyright © 2011, ESI
in p Le paramètre p est un paramètre d’entrée. p est utilisé par
l’opération mais n’est pas modifié par l’opération.
inout p Le paramètre p est un paramètre d’entrée / sortie. p est utilisé
par l’opération et sa valeur peut être changée par l’opération.
out p Le paramètre p est un paramètre de sortie. La valeur de p
pourrait être modifiée par l’opération.
return p Le paramètre p est un paramètre de retour. L’opération doit
retourner la valeur de p.
44
- 45. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Opérations
EXEMPLE
Cours IGL, Copyright © 2011, ESI
Compte
+ verser(montant :double, soldeApres :double*) : void
+ retirer(montantOperation :double, soldeApres :double*) : void
~ caclulerCharges(tauxCalcul :double) : double
45
- 46. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Stéréotypes
Les stéréotypes représentent un mécanisme pouvant
étendre UML
Cours IGL, Copyright © 2011, ESI
Un stéréotype peut cibler une classe, un attribut ou une
opération
Plusieurs dizaines de stéréotypes sont utilisés mais les
plus connus sont : actor, boundary, entity et control.
Le stéréotype « acteur » représente un acteur
Le stéréotype « entity » représente une entité. Une entité
est un concept métier, par exemple
« Compte », « Client », « Fournisseur »,…
46
- 47. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Stéréotypes
Le stéréotype « control » représente un contrôleur. Un
contrôleur est un intermédiaire entre les limites et les
Cours IGL, Copyright © 2011, ESI
entités. Le contrôleur se charge de l’exécution des
commandes provenant de la limite.
Le stéréotype « boundary » représente une limite du
système qui s’interface avec l’acteur. Par exemple,
interface utilisateur.
47
- 48. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Stéréotypes
Cours IGL, Copyright © 2011, ESI
InterfaceWeb GestionnaireCommandes Commande Utilisateur
«control»
«entity» «actor»
«boundary» GestionnaireCommandes
InterfaceWeb Commande Utilisateur
48
- 49. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Stéréotypes
Commande LigneCommande Produit Client
Cours IGL, Copyright © 2011, ESI
GestionnaireCommandes
InterfaceWeb
Utilisateur 49
- 50. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Associations
Une association est une relation entre deux classes
Une association entre deux classes se traduit par un lien
Cours IGL, Copyright © 2011, ESI
entre deux instances de ces classes
Une association décrit une relation qui a une
sémantique entre les deux classes
Une association peut être entre une classe et elle -même.
L’association est dite réflexive.
La direction détermine la navigation d’un objet vers un
autre.
50
- 51. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Associations
EXEMPLE
Enseigne
Cours IGL, Copyright © 2011, ESI
Enseignant Module
* *
«instantiate» «instantiate»
Mostefai :Enseignant IGL :Module
51
- 52. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Associations
Direction
Nom de l’association
Cours IGL, Copyright © 2011, ESI
Employe Module
Enseigne
* *
Multiplicité
52
- 53. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Associations
Cours IGL, Copyright © 2011, ESI
Societe +Employeur +Employé Personne
1 *
Rôle
53
- 54. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Associations
NOMS DES ASSOCIATIONS
Utiliser des phrases verbales
Cours IGL, Copyright © 2011, ESI
Il n’est pas recommandé d’utiliser les noms et les rôles.
Utiliser soit le nom soit le rôle.
Donner des noms explicites et lisibles.
54
- 55. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Associations
MULTIPLICITÉ
Multiplicité Signification
Cours IGL, Copyright © 2011, ESI
0..1 Zéro ou 1
1 Exactement 1
0..* Zéro ou plusieurs
* Zéro ou plusieurs
1..* 1 ou plusieurs
1..9 1à9
9 Exactement 9
1.5, 8, 20..* 1 à 5, exactement 8 ou plus de 20
55
- 56. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Associations
MULTIPLICITÉ
La multiplicité détermine le nombre d’objets impliqué
Cours IGL, Copyright © 2011, ESI
dans une association à un instant T
56
- 57. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Associations
MULTIPLICITÉ – EXEMPLE 1
Cours IGL, Copyright © 2011, ESI
Une voiture possède exactement 4 pneus
Voiture Pneu
1 4
Un pneu appartient à exactement une voiture
57
- 58. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Associations
MULTIPLICITÉ – EXEMPLE 2
Cours IGL, Copyright © 2011, ESI
Une société peut avoir 0, 1 ou plusieurs employés
Société Employe
1 *
Un employé est employé par exactement 1 société
58
- 59. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Associations
MULTIPLICITÉ – EXEMPLE 3
Cours IGL, Copyright © 2011, ESI
Une société doit avoir au moins un employé
Société Employe
0..1 1..*
Un employé peut être employé dans une seule société ou aucune
59
- 60. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Associations
MULTIPLICITÉ – EXEMPLE 4
Cours IGL, Copyright © 2011, ESI
Une société peut avoir plusieurs employés (ou zéro)
Société Employe
1..* *
Un employé peut être employé dans au moins une société
60
- 61. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Associations
MULTIPLICITÉ – EXEMPLE 5
Université Enseignant
Cours IGL, Copyright © 2011, ESI
Emploie
1 *
1 1
AssurerCours AssurerTD
0..3 0..4
Module
61
- 62. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Associations
MULTIPLICITÉ – EXEMPLE 6
Un employé a un ou 0 supérieur
Cours IGL, Copyright © 2011, ESI
Employe
+Subordonnes 0..*
+Superieur 0..1
Un employé peut avoir 0 ou plusieurs subordonnés
62
- 63. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Associations
MULTIPLICITÉ – EXEMPLE 6
Un employé a un ou 0 supérieur
Cours IGL, Copyright © 2011, ESI
Employe
+Subordonnes 0..*
+Superieur 0..1
Un employé peut avoir 0 ou plusieurs subordonnés
63
- 64. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Associations
MULTIPLICITÉ – EXEMPLE 6
koudil :Employe
Cours IGL, Copyright © 2011, ESI
balla :Employe
mostefai :Employe batata :Employe azouaou :Employe
64
- 65. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Associations
Navigation – Exemple 1
Société vers Employé est navigable
Cours IGL, Copyright © 2011, ESI
Societe Employe
1 *
Employé vers Société est navigable
65
- 66. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Associations
Navigation – Exemple 2
Employé vers Grade est navigable
Cours IGL, Copyright © 2011, ESI
Employe Grade
* 1
Grade vers Employé n’est pas navigable
66
- 67. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Associations
Navigation – Exemple 3
Employé vers Grade est navigable
Cours IGL, Copyright © 2011, ESI
Employe Grade
*
X 1
Grade vers Employé n’est pas navigable
67
- 68. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Associations
Navigation – Exemple 4
Société vers Employé est navigable
Cours IGL, Copyright © 2011, ESI
Societe Employe
1 *
Employé vers Société est navigable
68
- 69. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Associations
Associations et attributs
Les attributs peuvent être un autre moyen de représenter
Cours IGL, Copyright © 2011, ESI
une association
Les associations à multiplicité multiple peuvent être
représentées par des tableaux ou des collections
Lors de la génération de code, les associations sont
générées en tant qu’attributs
69
- 70. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Associations
Associations et attributs – Exemple 1
Employe
Cours IGL, Copyright © 2011, ESI
+ grade: Grade
Employe Grade
* 1
Grade
70
- 71. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Associations
Associations et attributs – Exemple Employe
+ grade: Grade
Cours IGL, Copyright © 2011, ESI
Employe +grade Grade + societe: Societe
* 1
+employes *
Grade
+societe 1
Societe
Societe
+ employes: Employe [0..*]
71
- 72. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Associations
Classes d’association
Parfois, quand il y a une association entre deux classes,
Cours IGL, Copyright © 2011, ESI
l’attribut ne peut être dans aucune des classes.
Exemple ci-dessous : où mettre la note ?
Etudiant Module
* *
72
- 73. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Associations
Classes d’association
Les classes d’association sont de vraies classes qui
Cours IGL, Copyright © 2011, ESI
peuvent avoir des attributs, opérations et même d’autres
opérations
Etudiant Module
* *
Note
+ valeur: double
73
- 74. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Associations
Classes d’association - Exemple
Cours IGL, Copyright © 2011, ESI
Etudiant Module
* *
Note Enseignant
+ valeur: double
* *
74
- 75. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Dépendance
En plus des associations, les classes peuvent être liées
par des relation de dépendance
Cours IGL, Copyright © 2011, ESI
Plusieurs cas peuvent induire à une dépendance entre
une classe A et une classe B : A manipule B dans une
opération, B est un paramètre dans une opération de A, B
est le type de retour d’une opération, A appelle une
méthode B, …etc.
La dépendance n’est pas réservée aux classes, elle peut
être utilisée avec les paquets et les cas d’utilisation
75
- 76. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Dépendance
Cours IGL, Copyright © 2011, ESI
A
B
76
- 77. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Héritage
L’héritage est une relation entre une classe générale et
une classe plus spécifique
Cours IGL, Copyright © 2011, ESI
Entre les deux, une relation de substitution : on peut
substituer toute utilisation de l’élément général par
l’élément plus spécifique
L’héritage est symbolisé par le lien de généralisation
La classe spécialisée hérite de tous les attributs et les
opérations de la classe parente
77
- 78. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Héritage
EXEMPLE 1
Engin
+ marque: string
Cours IGL, Copyright © 2011, ESI
+ modele: string
Généralisation
+ getPoids() : double
Voiture Camion Bus
+ nombrePlaces: int
VoitureTouristique VoitureUtilitaire
+ chargeUtile: double
78
- 79. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Héritage
Parfois une classe ne peut exister que par l’existence des
classes descendantes
Cours IGL, Copyright © 2011, ESI
Une classe peut aussi déférer l’implémentation d’une
opération à ses classes descendantes
Une opération qui est sans implémentation dans la classe
actuelle est une opération abstraite
Une classe qui contient une ou plusieurs opérations
abstraites est dite classe abstraite
79
- 80. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Héritage
Méthodes abstraites
EXEMPLE – Classes abstraites
Cours IGL, Copyright © 2011, ESI
Photo
+ points: Point [1..*]
Méthodes concrètes
+ getNombrePoints() : int
+ Dessiner() : void
+ getTaille() : int
PhotoJPEG PhotoPNG PhotoTIFF
+ Dessiner() : void + Dessiner() : void + Dessiner() : void
+ getTaille() : int + getTaille() : int + getTaille() : int
80
- 81. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Héritage
LE POLYMORPHISME
Une opération polymorphique est une opération qui
Cours IGL, Copyright © 2011, ESI
possède plusieurs implémentations
Par exemple, n’importe quel compte accepte les retraits
et les versements. Par contre, les comptes entreprises ont
un comportement différent des comptes particuliers. Les
comptes entreprises acceptent les soldes négatifs.
81
- 82. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Classes – Notation UML - Héritage
EXEMPLE – Polymorphisme
Cours IGL, Copyright © 2011, ESI
Compte
+ Verser() : void
+ Retirer() : void
CompteParticulier CompteEntreprise
+ Verser() : void + Verser() : void
+ Retirer() : void + Retirer() : void
82
- 83. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Paquets
QU’EST-CE QU’UN PAQUET ?
Un paquet UML est un élément de groupage qui contient
Cours IGL, Copyright © 2011, ESI
plusieurs éléments UML dont éventuellement d’autres
paquets
Les paquets servent à organiser les éléments UML
Les paquets définissent des « frontières sémantiques »
du modèle
Chaque élément UML appartient à exactement un paquet.
Les éléments de haut niveau appartiennent à un paquet
implicite appelé « root » ou « topLevel »
83
- 84. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Paquets – Notation UML
Paquet
Cours IGL, Copyright © 2011, ESI
84
- 85. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Paquets – Notation UML
Cours IGL, Copyright © 2011, ESI
85
- 86. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Paquets – Espaces de noms
Le paquet définit une frontière où les noms des éléments
doivent être uniques
Cours IGL, Copyright © 2011, ESI
Si un élément doit référer à un autre élément se trouvant
dans un autre paquet, il doit utiliser un « nom qualifié ».
Le nom qualifié se fait en préfixant le nom de l’élément
par les noms des paquets qui le contiennent
Par exemple, si un paquet P1 contient un sous -paquet P2
contenant une classe C1, le nom qualifié de C1 est
P1:P2:C1.
86
- 87. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Paquets – Dépendance
Un paquet P1 dépend de P2 si un élément de P1 utilise
d’une manière ou d’une autre un élément de P2
Cours IGL, Copyright © 2011, ESI
87
- 88. SECTION 2 – OBJETS
Cours 5 – Analyse ET CLASSES
Paquets – Dépendance
Commun::Personne
Cours IGL, Copyright © 2011, ESI
Employe
88
- 89. COURS IGL
Cours N° 5
Section 2, Classes et Objets, Analyse
Débat (05 mns)
89
Cours IGL, Copyright © 2011, ESI
- 90. COURS IGL
Cours N° 5
Analyse
Section 3 : Classes d’analyse
90
Cours IGL, Copyright © 2011, ESI
- 91. SECTION 3 –CLASSES
Cours 5 – Analyse D ’A N A LY S E
Les classes d’analyse
Les classes d’analyse sont les classes découvertes durant
l’activité d’analyse
Cours IGL, Copyright © 2011, ESI
Les classes d’analyse correspondent à des concepts
« réels »
L’analyse fait ressortir les éléments suivants d’une classe
: Nom, Attributs les plus importants, Opérations les plus
importantes, stéréotypes (non techniques)
Les éléments suivants ne sont pas importants dans
l’analyse : métadonnées, paramètres des opérations,
visibilité
91
- 92. SECTION 3 – CLASSES
Cours 5 – Analyse D ’A N A LY S E
Sources de recensement
Modèle de Modèle des cas
Cours IGL, Copyright © 2011, ESI
spécifications d’utilisation
Toute autre source
d’information
relative au
domaine
92
- 93. SECTION 3 –CLASSES
Cours 5 – Analyse D ’A N A LY S E
Représentation d’une classe d’analyse
Les classes d’analyse sont représentés en utilisant le
diagramme des classes
Cours IGL, Copyright © 2011, ESI
L’ensemble des classes sont appelés « vocabulaire »,
« glossaire métier » ou « taxonomie du domaine »
Les classes d’analyse sont une représentation de haut
niveau : elles sont caractérisées par un nom, des attributs
et éventuellement des opérations.
Le nom de la classe est obligatoire.
Les noms des attributs sont obligatoires. Leurs types
facultatifs.
Les paramètres et les types de retour des opérations ne
sont montrés que s’ils apportent une compréhension au
système
93
- 94. SECTION 3 – CLASSES
Cours 5 – Analyse D ’A N A LY S E
Représentation d’une classe d’analyse
La visibilité est généralement omise
Les stéréotypes ne sont montrés que s’ils augmentent la
Cours IGL, Copyright © 2011, ESI
représentativité
Les métadonnées ne sont montrés que s’ils augmentent
la représentativité
94
- 95. SECTION 3 –CLASSES
Cours 5 – Analyse D ’A N A LY S E
Représentation d’une classe d’analyse
EXEMPLE
Cours IGL, Copyright © 2011, ESI
Compte
numero
proprietaire
solde
verser()
retirer()
95
- 96. SECTION 3 – CLASSES
Cours 5 – Analyse D ’A N A LY S E
Représentation d’une classe d’analyse
CARACTÉRISTIQUES D’UNE BONNE CLASSE D’ANALYSE
Son nom reflète son objectif
Cours IGL, Copyright © 2011, ESI
C’est une abstraction d’un élément clairement
identifiable dans le domaine
A un ensemble limité et clair de responsabilités
A une grosse cohésion
A un faible couplage
96
- 97. SECTION 3 – CLASSES
Cours 5 – Analyse D ’A N A LY S E
Techniques de recensement
Cours IGL, Copyright © 2011, ESI
Technique Technique
des noms / des
verbes stéréotypes
97
- 98. SECTION 3 – CLASSES
Cours 5 – Analyse D ’A N A LY S E
Technique des noms / verbes
Technique simple qui analyse du texte pour trouver des
classes, des attributs et des opérations
Cours IGL, Copyright © 2011, ESI
Les noms et les phrases nominales représentent les
classes et les attributs
Les verbes et les phrases verbales représentent les
opérations
Difficultés avec les termes difficiles, les synonymes et les
homonymes
Difficulté à trouver les classes « cachées »
S’il y a des termes qui ne sont pas compris, voir avec les
experts du domaine
98
- 99. SECTION 3 – CLASSES
Cours 5 – Analyse D ’A N A LY S E
Technique des noms / verbes
Cours IGL, Copyright © 2011, ESI
Collecte d’information Analyse des
• Spécifications formelles informations
• Cas d’utilisation • Noms et phrases
• … nominales
• Verbes et phrases verbales
99
- 100. SECTION 3 – CLASSES
Cours 5 – Analyse D ’A N A LY S E
Technique des noms / verbes - Exemple
Cours IGL, Copyright © 2011, ESI
Spécifications
Le système doit permettre à
Noms
l’utilisateur de consulter le
solde de son compte Système
Verbes
Le système doit permettre à Compte
Verser
l’utilisateur de verser de Utilisateur
l’argent dans son compte Retirer
Argent
Le système doit permettre à Consulter
l’utilisateur de retirer
l’argent de son compte
100
- 101. SECTION 3 – CLASSES
Cours 5 – Analyse D ’A N A LY S E
Technique des noms / verbes - Exemple
Compte
Cours IGL, Copyright © 2011, ESI
+ solde: double
+ verser(double) : void
+ retirer(double) : void
+ consulter() : double
«Actor»
Utilisateur
101
- 102. SECTION 3 – CLASSES
Cours 5 – Analyse D ’A N A LY S E
Technique des stéréotypes
Cette technique se concentre sur trois stéréotypes :
« boundary », « entity » et « control »
Cours IGL, Copyright © 2011, ESI
Cette technique est complémentaire avec la technique
des verbes / noms
102
- 103. SECTION 3 – CLASSES
Cours 5 – Analyse D ’A N A LY S E
Technique des stéréotypes
Cours IGL, Copyright © 2011, ESI
Trouver les
Trouver les Trouver les
limites
contrôleurs entités
(boundary)
103
- 104. SECTION 3 – CLASSES
Cours 5 – Analyse D ’A N A LY S E
Technique des stéréotypes - Limites
Les classes « boundary » représentent les limites du
système
Cours IGL, Copyright © 2011, ESI
Ces classes communiquent avec les acteurs
Trois types de classes « boundary » : classes d’interface
utilisateur, classes qui s’interfacent avec d’autres
systèmes et des classes qui s’interfacent avec un
matériel externe (périphérique,…)
Ces classes doivent rester de haut niveau (ne pas
s’occuper des détails)
104
- 105. SECTION 3 – CLASSES
Cours 5 – Analyse D ’A N A LY S E
Technique des stéréotypes - Contrôleurs
Les contrôleurs sont responsable de la coordination des
action permettant d’accomplir un cas d’utilisation
Cours IGL, Copyright © 2011, ESI
Si un contrôleur est trop compliqué, il est suggéré de le
diviser en plusieurs contrôleurs
105
- 106. SECTION 3 – CLASSES
Cours 5 – Analyse D ’A N A LY S E
Technique des stéréotypes - Entités
Représentent les concepts manipulés par le système
Utilisés par plusieurs cas d’utilisation et plusieurs
Cours IGL, Copyright © 2011, ESI
contrôleurs
Ces classes sont souvent persistantes (enregistrées dans
des fichiers ou des BDD)
106
- 107. SECTION 3 – CLASSES
Cours 5 – Analyse D ’A N A LY S E
Technique des stéréotypes - Exemple
1. Le système doit permettre à l’utilisateur de s’inscrire
2. Le système doit permettre à l’utilisateur connecté de
Cours IGL, Copyright © 2011, ESI
consulter les formations assurés, leurs dates et les
formateurs associés
3. Le système doit envoyer un message mensuellement qui
avertit les utilisateurs inscrits des nouvelles formations
107
- 108. SECTION 3 – CLASSES
Cours 5 – Analyse D ’A N A LY S E
Technique des stéréotypes - Exemple
Acteurs Entités Contrôleurs Limites
Cours IGL, Copyright © 2011, ESI
InscriptionManager
Formation
Utilisateur
InterfaceInscription
NotificationManager
Formateur
108
- 109. SECTION 3 – CLASSES
Cours 5 – Analyse D ’A N A LY S E
Paquets d’analyse
Les classes d’analyse sont regroupées dans des « paquets
d’analyse »
Cours IGL, Copyright © 2011, ESI
Les classes se trouvant dans le même paquet sont des
classes ayant un certain lien sémantique
Un bon regroupement des paquets produit une haute
« cohésion » à l’intérieur d’un paquet et un faible
« couplage » entre paquets
109
- 110. SECTION 3 – CLASSES
Cours 5 – Analyse D ’A N A LY S E
Paquets d’analyse - Exemple
Cours IGL, Copyright © 2011, ESI
110
- 111. COURS IGL
Cours N° 5
Section 3 : Classes d’analyse Analyse
– Débat (05 Mns)
111
Cours IGL, Copyright © 2011, ESI
- 112. COURS IGL
Cours N° 5
Analyse
Section 4 : Interactions
112
Cours IGL, Copyright © 2011, ESI
- 113. SECTION 4 –
Cours 5 – Analyse INTERACTIONS
Introduction
Les classes d’analyse représentent la structure statique
du système
Cours IGL, Copyright © 2011, ESI
Les interactions expriment comment les instances de ces
classes interagissent pour réaliser une fonction du
système
Les interactions expriment l’aspect dynamique du
système
113
- 114. SECTION 4 –
Cours 5 – Analyse INTERACTIONS
Objectifs des interactions
Trouver quelles classes qui interagissent pour un cas
d’utilisation donné
Cours IGL, Copyright © 2011, ESI
Trouver les messages envoyés entre les classes pour
réaliser un certain comportement (attributs, opérations,
relations)
Eventuellement, mettre à jour les modèles de besoins et
d’analyse
Ne pas créer d’interactions pour tous les cas d’utilisation,
Uniquement pour les CUs les plus importants et les plus
complexes
114
- 115. SECTION 4 –
Cours 5 – Analyse R É A L I S AT I O N D E S C A S
D ’ U T I L I S AT I O N
Diagrammes comportementaux
Les diagrammes comportementaux est la meilleure
façon de représenter les interactions
Cours IGL, Copyright © 2011, ESI
Les diagrammes de séquence illustrent une séquence de
messages ordonnée dans le temps
Le diagramme de communication décrit les relations
entre objets dans un contexte donné
Le diagramme d’activité décrit le flux d’actions menant
à la réalisation d’une fonction métier
Le diagramme d’état démontre le changement d’état
d’une entité dans le temps
115
- 116. COURS IGL
Cours N° 5
Section 4 : Interactions, Analyse
débat (05 mns)
116
Cours IGL, Copyright © 2011, ESI
- 117. COURS IGL
Cours N° 5
Section 5 : Diagrammes de Analyse
séquence
117
Cours IGL, Copyright © 2011, ESI
- 118. SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE
SÉQUENCE
Présentation
Les diagrammes de séquence (DSQ) décrivent une action
ordonnée dans le temps
Cours IGL, Copyright © 2011, ESI
Les DSQ document les CU et font partie du modèle
d’analyse
Les DSQ sont composés de trois concepts principaux : les
lignes de vie, les messages et les fragments
118
- 119. SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE
SÉQUENCE
Lignes de vie
Une ligne de vie représente un seul participant dans une
interaction
Cours IGL, Copyright © 2011, ESI
Une ligne de vie peut représenter un objet, une instance
d’une classe ou un acteur
Pour représenter une interaction, des messages lient les
lignes de vie
119
- 120. SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE
SÉQUENCE
Lignes de vie – Représentation UML
Objet :Employe
Utilisateur
Cours IGL, Copyright © 2011, ESI
120
- 121. SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE
SÉQUENCE
Messages
Un message représente une communication entre deux
lignes de vie durant une interaction
Cours IGL, Copyright © 2011, ESI
Un message peut s’agir de l’appel d’une opération
Un message peut s’agir de la création ou de la
destruction d’instance
Un message peut s’agir d’envoi d’un signal
Quand une ligne de vie reçoit un message, ça correspond
généralement à l’appel d’une opération ayant la même
signature
Quand une ligne de vie reçoit un message, elle obtient
sont activation. L’activation change de ligne de vie à
travers le temps.
121
- 122. SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE
SÉQUENCE
Messages
Type de message Description
Message synchrone L’émetteur attend que le récepteur termine l’opération
Cours IGL, Copyright © 2011, ESI
pour passer à l’étape suivante
Message asynchrone L’émetteur envoie le message puis continue son
exécution sans attendre la fin chez le récepteur
Message de retour L’émetteur récupère l’activation suite à l’avoir perdu en
envoyant un message au destinataire
Message de création Le message provoque la création du destinataire
Message de destruction Le message provoque la destruction du destinataire
Message found L’émetteur de ce message ne fait pas partie de
l’interaction.
Message lost Le destinataire ne reçoit jamais ce message. Peut
indiquer des situation d’erreur. 122
- 123. SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE
SÉQUENCE
Messages
LV1 LV2
Message
Synchrone
Cours IGL, Copyright © 2011, ESI
MessageSynchrone(P1, P2, P3)
Message de
retour
MessageRetour()
Message
Asynchrone MessageAsynchrone(P4, P5)
Activation
123
- 124. SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE
SÉQUENCE
Messages
LV
Message De
Création
Cours IGL, Copyright © 2011, ESI
object:Classe
AppelOperation()
Message De
Destruction
Suppression()
124
- 125. SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE
SÉQUENCE
Messages
LV1 LV2
Message Found
Cours IGL, Copyright © 2011, ESI
AppelExterne()
Appel()
Message Lost
AppelPerdu()
125
- 126. SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE
SÉQUENCE
DSQ - Exemple
AppliquerUnEffet
Cours IGL, Copyright © 2011, ESI
Utilisateur AjouterUnAlbum
ConsulterUnAlbum
DupliquerAlbum
126
- 127. SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE
SÉQUENCE
DSQ - Exemple
Cours IGL, Copyright © 2011, ESI
MiseAjourStatistiqueAlbums
Temps
127
- 128. SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE
SÉQUENCE
DSQ - Exemple
«actor»
Utilisateur
Cours IGL, Copyright © 2011, ESI
Album
1 *
Photo
AlbumManager
InterfaceAlbums
StatManager
128
- 129. SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE
SÉQUENCE
Diagrammes de séquences - Exemple
CU: AppliquerUnEffet
ID: 1
Description brève : Appliquer un effet spécial à une photo d’un album. Chaque effet est identifié
Cours IGL, Copyright © 2011, ESI
par un numéro.
Acteurs primaires : Utilisateurs
Acteurs secondaires : Aucun
Préconditions : le client doit être authentifié
Enchaînement principal
1. L’utilisateur sélectionne un album
2. L’utilisateur sélectionne la photo désirée de l’album
3. L’utilisateur applique l’effet désiré en indiquant son numéro.
Postconditions :
Enchaînement s alternatifs :
129
- 130. SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE
SÉQUENCE
DSQ – Appliquer un effet
Lignes de vie
:Album :Photo
Cours IGL, Copyright © 2011, ESI
Utilisateur
AlbumManager
getAlbum(id:int)
:Album Activation
getPhoto(idPhoto :int) :Photo
:Photo
appliquerEffet(idEffet :int)
Messages
130
- 131. SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE
SÉQUENCE
DSQ – Appliquer un effet
:Album :Photo
Cours IGL, Copyright © 2011, ESI
Utilisateur
AlbumManager
getAlbum(id:int)
:Album
getPhoto(idPhoto :int) :Photo
:Photo
appliquerEffet(idEffet :int)
131
- 132. SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE
SÉQUENCE
DSQ – Ajouter un album
CU: AjouterUnAlbum
ID: 2
Description brève : Création d’un nouvel album par l’utilisateur
Cours IGL, Copyright © 2011, ESI
Acteurs primaires : Utilisateurs
Acteurs secondaires : Aucun
Préconditions : le client doit être authentifié
Enchaînement principal
1. Le CU démarre quand l’utilisateur clique sur le bouton « nouveau »
2. L’utilisateur donne un nom à l’album
3. L’utilisateur enregistre l’album
Postconditions :
Enchaînement s alternatifs :
132
- 133. SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE
SÉQUENCE
DSQ – Ajouter un album
Cours IGL, Copyright © 2011, ESI
Utilisateur
AlbumManager
ajouterAlbum() :Album
:Album
:Album
renommer(String)
enregistrerAlbum(Album)
133
- 134. SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE
SÉQUENCE
DSQ – Consulter un album
CU: Consulter un album
ID: 3
Description brève : L’utilisateur consulte un album et les photos qui le composent
Cours IGL, Copyright © 2011, ESI
Acteurs primaires : Utilisateurs
Acteurs secondaires : Aucun
Préconditions : le client doit être authentifié
Enchaînement principal
1. Le CU démarre quand l’utilisateur clique sur l’album sélectionné
2. L’album adapte son affichage selon la résolution
3. L’album affiche les photos le composant selon la résolution
Postconditions :
Enchaînement s alternatifs :
134
- 135. SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE
SÉQUENCE
DSQ – Consulter un album
:Album
Cours IGL, Copyright © 2011, ESI
Utilisateur
InterfaceAlbums AlbumManager
clic(album :Album)
getAlbum(id :int) :Album
Activations
:Album réflexives
getResolution() :int
afficher(resolution :int)
adapter(resolution :int)
135
- 136. SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE
SÉQUENCE
DSQ – Consulter un album
:Album
Cours IGL, Copyright © 2011, ESI
Utilisateur
InterfaceAlbums AlbumManager
clic(album :Album)
getAlbum(id :int) :Album
:Album
getResolution() :int
afficher(resolution :int)
adapter(resolution :int)
136
- 137. SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE
SÉQUENCE
Fragments
Un DSQ peut être composé de plusieurs fragments
Un fragment est caractérisé par un nom
Cours IGL, Copyright © 2011, ESI
Un fragment peut contenir un ou plusieurs messages
Un fragment est composé d’un opérateur et de un ou
plusieurs opérandes
L’opérateur décide comment les opérandes sont
exécutées
Un fragment peut être caractérisé par une ou plusieurs
conditions
Les fragments peuvent être imbriqués
137
- 138. SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE
SÉQUENCE
Fragments – Opérateurs
Opérateurs Nom Description
Cours IGL, Copyright © 2011, ESI
opt optionnel L’opérande n’est exécutée que si la
condition est vérifiée
alt Alternatives Plusieurs alternatives. Uniquement
l’opérande dont la condition est vérifiée
s’exécute
loop Itération Itère l’ exécution tant que la condition est
vérifiée
ref Référence Réfère à une autre interaction
138
- 139. SECTION 5 –
Cours 5 – Analyse DIAGRAMMES DE
SÉQUENCE
DSQ – Dupliquer un album
CU: DupliquerUnAlbum
ID: 4
Description brève : L’utilisateur crée un nouvel album portant le même nom et contenant les
Cours IGL, Copyright © 2011, ESI
mêmes photos
Acteurs primaires : Utilisateurs
Acteurs secondaires : Aucun
Préconditions : le client doit être authentifié
Enchaînement principal
1. Le CU démarre quand l’utilisateur clique sur le bouton dupliquer
2. Le système crée un nouvel album
3. Le système donne le même nom au nouvel album
4. Si l’album original contient des photos et s’il n’est pas verrouillé
4.1 Copier les photos de l’album original vers la copie
Postconditions :
Enchaînement s alternatifs :
139