Académique Documents
Professionnel Documents
Culture Documents
COURS 3 ANALYSE
Cours 3 :
Analyse
1
Cours 5 – Analyse OBJECTIFS DU COURS
Objectifs du cours
2
Section 1 : Section 2 : UML Section 3 :
Introduction Modélisation
Cours 3
Section 6 : Analyse
Section 4 : Les Section 5 : Les
réalisation des
classes classes d’analyse
cas
4
SECTION 1 -
Cours 3 – 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
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
SECTION 1 -
Cours 3 – Analyse INTRODUCTION
L’activité d’analyse
Modèle d’analyse
Classes(Vocabulair
e, aspect statique)
L’analyse Produit
Interactions
(aspect
dynamique)
6
SECTION 1 -
Cours 3 – Analyse INTRODUCTION
L’activité d’analyse
7
SECTION 1 -
Cours 3 – Analyse INTRODUCTION
8
SECTION 1 -
Cours 3 – Analyse INTRODUCTION
9
SECTION 1 -
Cours 3 – Analyse INTRODUCTION
10
SECTION 1 -
Cours 3 – Analyse INTRODUCTION
11
INTRODUCTI
ON AU
GÉNIE
LOGICIEL
Cours N° 3
Section 2 : UML: Unified Analyse
Modeling language
12
Cours 3 – Analyse SECTION 2 - UML
13
Cours 3 – Analyse SECTION 2 - UML
14
Cours 3 – Analyse SECTION 2 - UML
Langages de modélisation
Un langage de modélisation doit définir :
La sémantique des concepts ;
Une notation pour la représentation de concepts ;
Des règles de construction et d’utilisation des concepts.
15
Cours 3 – Analyse SECTION 2 - UML
16
Cours 3 – Analyse SECTION 2 - UML
Historique
1991 : première édition de Modélisation et conception
orientées objet basée sur OMT, Object Modeling Technique,
issue de la R&D de General Electric.
1994 : James Rumbaugh rejoint Rational et travaille avec Grady
Booch à la fusion des notations OMT et Booch.
1995 : Ivar Jacobson rejoint Rational et intègre Objectory au
travail d’unification.
1997 : l’OMG (Object Management Group) accepte UML,
proposé par Rational, comme standard de modélisation objet.
2001 : révision par l’OMG d’UML 1.
2004 : adoption d’UML 2.0
17
Cours 3 – Analyse SECTION 2 - UML
18
Cours 3 – Analyse SECTION 2 - UML
19
Cours N° 3
Analyse
Section 3 : Modélisation
20
SECTION 3 -
Cours 3 – Analyse M O D É L I S AT I O N
Modélisation
21
SECTION 3 -
Cours 3 – Analyse M O D É L I S AT I O N
Modélisation
Exemple :
1. Rouler En Voiture :
1. Mettre moteur en marche :
1. Mettre Contact
2. Démarrer Moteur
2. Démarrer Voiture :
1. Mettre Point Mort
2. Passer La Première
3. Embrayer En Accélérant
3. Rouler :
1. Accélérer
2. Freiner
3. Passer Vitesse
22
SECTION 3 -
Cours 3 – Analyse M O D É L I S AT I O N
Modélisation
23
SECTION 3 -
Cours 3 – Analyse M O D É L I S AT I O N
Modélisation
24
SECTION 3 -
Cours 3 – Analyse M O D É L I S AT I O N
Modélisation
Dispersion données/fonctions :
25
SECTION 3 -
Cours 3 – Analyse M O D É L I S AT I O N
Modélisation
Rappelez vous !
Pour qu’un logiciel soit extensible et réutilisable, il faut
qu’il soit découpé en modules
faiblement couplés, ainsi chaque entité peut être
modifiée en limitant l’impact du changement au reste de
l’application. Et
à forte cohésion. Il faut réunir ce qui est impacté par une
même modification (« qui se ressemble s’assemble »)
26
SECTION 3 -
Cours 3 – Analyse M O D É L I S AT I O N
Modélisation
27
SECTION 3 -
Cours 3 – Analyse M O D É L I S AT I O N
Modélisation
28
SECTION 3 -
Cours 3 – Analyse M O D É L I S AT I O N
Modélisation
29
Cours N° 3
Analyse
Section 4 : Objets et classes
30
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
L’objet
31
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
L’objet
32
SECTION42 – OBJETS
Cours 3 – Analyse ET CLASSES
L’objet
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
33
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Notation UML
34
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
35
SECTION 4– OBJETS
Cours 3 – Analyse ET CLASSES
36
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
37
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Objets
compteTest :Compte
Cle = 80
Numero = 11256
Proprietaire = [Mokhtar]
Solde = 150000
Possède
amine :Personne
Lien
38
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
azouaou :Enseignant
mostefai :Enseignant
Nom = Mostefai
Prenom = Mohammed Amine
39
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
40
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
EXEMPLE
EstGradé
Employe
Emploie
*
Departement
1
EstConstituéeDe
Ecole 1
41
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
mca :Grade
Lien Unidirectionnel
esi :Ecole
43
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Les classes
44
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Les classes
45
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
47
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Classes et objets
48
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Classes et objets
Module
- Annee: string
- AssurePar: Enseignant
- Nom: string
49
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Stéréotype
«entity»
Nom de la classe Compte
- cle: string
- numero: string
Attributs - proprietaire: Personne
- solde: double = 0
50
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
51
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
52
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
53
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
54
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
55
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
56
SECTION 4 – OBJETS
Cours 3 – 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é
57
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
EXEMPLE
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..*]
58
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
59
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
60
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
61
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
EXEMPLE
Compte
62
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
63
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
64
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
«control»
«entity» «actor»
«boundary» GestionnaireCommandes
InterfaceWeb Commande Utilisateur
65
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
GestionnaireCommandes
InterfaceWeb
Utilisateur 66
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
67
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
EXEMPLE
Enseignant Enseigne Module
* *
«instantiate» «instantiate»
68
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Employe Module
Enseigne
* *
Multiplicité
69
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
1 *
Rôle
70
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
71
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
MULTIPLICITÉ
Multiplicité Signification
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
72
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
MULTIPLICITÉ
La multiplicité détermine le nombre d ’objets impliqué
dans une association à un instant T
73
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
MULTIPLICITÉ – EXEMPLE 1
Voiture Pneu
1 4
74
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
MULTIPLICITÉ – EXEMPLE 2
Société Employe
1 *
75
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
MULTIPLICITÉ – EXEMPLE 3
Société Employe
0..1 1..*
76
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
MULTIPLICITÉ – EXEMPLE 4
Société Employe
1..* *
77
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
MULTIPLICITÉ – EXEMPLE 5
Université Enseignant
Emploie
1 *
1 1
AssurerCours AssurerTD
0..3 0..4
Module
78
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
MULTIPLICITÉ – EXEMPLE 6
Un employé a un ou 0 supérieur
Employe
+Subordonnes 0..*
+Superieur 0..1
79
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
MULTIPLICITÉ – EXEMPLE 6
Un employé a un ou 0 supérieur
Employe
+Subordonnes 0..*
+Superieur 0..1
80
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
MULTIPLICITÉ – EXEMPLE 6
koudil :Employe
balla :Employe
81
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Navigation – Exemple 1
Société vers Employé est navigable
Societe Employe
1 *
82
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Navigation – Exemple 2
Employé vers Grade est navigable
Employe Grade
* 1
83
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Navigation – Exemple 3
Employé vers Grade est navigable
Employe Grade
*
X 1
84
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Navigation – Exemple 4
Société vers Employé est navigable
Societe Employe
1 *
85
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Associations et attributs
Les attributs peuvent être un autre moyen de représenter
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
86
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Employe Grade
* 1
Grade
87
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
+employes *
Grade
+societe 1
Societe
Societe
+ employes: Employe [0..*]
88
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
89
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
90
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
91
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Classes d’association
Parfois, quand il y a une association entre deux classes,
l’attribut ne peut être dans aucune des classes.
Exemple ci-dessous : où mettre la note ?
Etudiant Module
* *
92
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Classes d’association
Les classes d’association sont de vraies classes qui
peuvent avoir des attributs, opérations et même d ’autres
opérations
Etudiant Module
* *
Note
+ valeur: double
93
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Etudiant Module
* *
Note Enseignant
+ valeur: double
* *
94
Cours 3 – Analyse SECTION 4 – OBJETS
ET CLASSES
Associations n-aires
Associations Qualifiée
97
Cours 3 – Analyse SECTION 4 – OBJETS
ET CLASSES
98
Cours 3 – Analyse SECTION 4 – OBJETS
ET CLASSES
Composition et agrégation
100
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
101
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
102
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
103
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
EXEMPLE 1
Engin
+ marque: string
+ modele: string
Généralisation
+ getPoids() : double
VoitureTouristique VoitureUtilitaire
+ chargeUtile: double
104
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
105
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
LE POLYMORPHISME
Une opération polymorphique est une opération qui
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.
106
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
EXEMPLE – Polymorphisme
Compte
+ Verser() : void
+ Retirer() : void
CompteParticulier CompteEntreprise
107
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
108
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Méthodes abstraites
EXEMPLE – Classes abstraites
Photo
+ points: Point [1..*]
Méthodes concrètes
+ getNombrePoints() : int
+ Dessiner() : void
+ getTaille() : int
109
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Héritage multiple
110
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Interface
111
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Interface
112
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Exemple d’Interface
113
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Eléments dérivés
114
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Paquets
115
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Paquet
116
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
117
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
118
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Paquets – Dépendance
119
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Paquets – Dépendance
Commun::Personne
Employe
120
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Paquets – Dépendance
121
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Attributs de classe
122
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Opérations de classe
123
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
Classe paramétrée
• Pour définir une classe générique et paramétrable en
fonction de valeurs et/ou de types :
• Définition d'une classe paramétrée par des éléments
spécifiés dans un rectangle en pointillés ;
• Utilisation d'une dépendance stéréotypée « bind» pour
définir des classes en fonction de la classe paramétrée.
Java5 :
généricité
C++ :
templates
124
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
125
SECTION 4 – OBJETS
Cours 3 – Analyse ET CLASSES
126
Cours N° 3
Analyse
Section 5 : Classes d’analyse
127
SECTION 5 –CLASSES
Cours 3 – Analyse D ’A N A LY S E
128
SECTION 5 – CLASSES
Cours 3 – Analyse D ’A N A LY S E
Sources de recensement
129
SECTION 5 –CLASSES
Cours 3 – Analyse D ’A N A LY S E
131
SECTION 5 –CLASSES
Cours 3 – Analyse D ’A N A LY S E
EXEMPLE
Compte
numero
proprietaire
solde
verser()
retirer()
132
SECTION 5 – CLASSES
Cours 3 – Analyse D ’A N A LY S E
133
SECTION 5 – CLASSES
Cours 3 – Analyse D ’A N A LY S E
Techniques de recensement
Technique Technique
des noms / des
verbes stéréotypes
134
SECTION 5 – CLASSES
Cours 3 – Analyse D ’A N A LY S E
135
SECTION 5 – CLASSES
Cours 3 – Analyse D ’A N A LY S E
136
SECTION 5 – CLASSES
Cours 3 – Analyse D ’A N A LY S E
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
137
SECTION 5 – CLASSES
Cours 3 – Analyse D ’A N A LY S E
Compte
+ solde: double
+ verser(double) : void
+ retirer(double) : void
+ consulter() : double
«Actor»
Utilisateur
138
SECTION 5 – CLASSES
Cours 3 – Analyse D ’A N A LY S E
139
SECTION 5 – CLASSES
Cours 3 – Analyse D ’A N A LY S E
Trouver les
Trouver les Trouver les
limites
contrôleurs entités
(boundary)
140
SECTION 5 – CLASSES
Cours 3 – Analyse D ’A N A LY S E
141
SECTION 5 – CLASSES
Cours 3 – Analyse D ’A N A LY S E
142
SECTION 5 – CLASSES
Cours 3 – Analyse D ’A N A LY S E
143
SECTION 5 – CLASSES
Cours 3 – Analyse D ’A N A LY S E
144
SECTION 5 – CLASSES
Cours 3 – Analyse D ’A N A LY S E
InscriptionManager
Formation
Utilisateur
InterfaceInscription
NotificationManager
Formateur
145
SECTION 5 – CLASSES
Cours 3 – Analyse D ’A N A LY S E
Paquets d’analyse
146
SECTION 5 – CLASSES
Cours 3 – Analyse D ’A N A LY S E
147
Cours N° 3
Analyse
Section 6 : Interactions
148
SECTION 6 –
Cours 3 – Analyse INTERACTIONS
Introduction
149
SECTION 6 –
Cours 3 – Analyse INTERACTIONS
150
SECTION 6 –
Cours 3 – 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
151
COURS IGL
Cours N° 3
Section 7 : Diagrammes de Analyse
séquence
152
SECTION 7 –
Cours 3 – Analyse DIAGRAMMES DE
SÉQUENCE
Présentation
153
SECTION 7 –
Cours 3 – Analyse DIAGRAMMES DE
SÉQUENCE
Lignes de vie
154
SECTION 7 –
Cours 3 – Analyse DIAGRAMMES DE
SÉQUENCE
Objet :Employe
Utilisateur
155
SECTION 7 –
Cours 3 – Analyse DIAGRAMMES DE
SÉQUENCE
Messages
Messages
Messages
158
SECTION 7 –
Cours 3 – Analyse DIAGRAMMES DE
SÉQUENCE
Messages
LV1 LV2
Message
Synchrone
MessageSynchrone(P1, P2, P3)
Message de
retour
MessageRetour()
Message
Asynchrone MessageAsynchrone(P4, P5)
Activation
159
SECTION 7 –
Cours 3 – Analyse DIAGRAMMES DE
SÉQUENCE
Messages
LV
Message De
Création
object:Classe
AppelOperation()
Message De
Destruction
Suppression()
160
SECTION 7 –
Cours 3 – Analyse DIAGRAMMES DE
SÉQUENCE
Messages
LV1 LV2
Message Found
AppelExterne()
Appel()
Message Lost
AppelPerdu()
161
SECTION 7 –
Cours 3 – Analyse DIAGRAMMES DE
SÉQUENCE
DSQ - Exemple
AppliquerUnEffet
Utilisateur AjouterUnAlbum
ConsulterUnAlbum
DupliquerAlbum
162
SECTION 7 –
Cours 3 – Analyse DIAGRAMMES DE
SÉQUENCE
DSQ - Exemple
MiseAjourStatistiqueAlbums
Temps
163
SECTION 7 –
Cours 3 – Analyse DIAGRAMMES DE
SÉQUENCE
DSQ - Exemple
«actor»
Utilisateur
Album
1 *
Photo
AlbumManager
InterfaceAlbums
StatManager
164
SECTION 7 –
Cours 3 – Analyse DIAGRAMMES DE
SÉQUENCE
CU: AppliquerUnEffet
ID: 1
Description brève : Appliquer un effet spécial à une photo d’un album. Chaque effet est identifié
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 :
165
SECTION 7 –
Cours 3 – Analyse DIAGRAMMES DE
SÉQUENCE
:Album :Photo
Utilisateur
AlbumManager
getAlbum(id:int)
:Album Activation
:Photo
appliquerEffet(idEffet :int)
Messages
166
SECTION 7 –
Cours 3 – Analyse DIAGRAMMES DE
SÉQUENCE
:Album :Photo
Utilisateur
AlbumManager
getAlbum(id:int)
:Album
:Photo
appliquerEffet(idEffet :int)
167
SECTION 7 –
Cours 3 – Analyse DIAGRAMMES DE
SÉQUENCE
CU: AjouterUnAlbum
ID: 2
Description brève : Création d’un nouvel album par l’utilisateur
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 :
168
SECTION 7 –
Cours 3 – Analyse DIAGRAMMES DE
SÉQUENCE
Utilisateur
AlbumManager
ajouterAlbum() :Album
:Album
:Album
renommer(String)
enregistrerAlbum(Album)
169
SECTION 7 –
Cours 3 – Analyse DIAGRAMMES DE
SÉQUENCE
Postconditions :
Enchaînement s alternatifs :
170
SECTION 7 –
Cours 3 – Analyse DIAGRAMMES DE
SÉQUENCE
:Album
Utilisateur
InterfaceAlbums AlbumManager
clic(album :Album)
getResolution() :int
afficher(resolution :int)
adapter(resolution :int)
171
SECTION 7 –
Cours 3 – Analyse DIAGRAMMES DE
SÉQUENCE
:Album
Utilisateur
InterfaceAlbums AlbumManager
clic(album :Album)
:Album
getResolution() :int
afficher(resolution :int)
adapter(resolution :int)
172
SECTION 7 –
Cours 3 – Analyse DIAGRAMMES DE
SÉQUENCE
Fragments
173
SECTION 7 –
Cours 3 – Analyse DIAGRAMMES DE
SÉQUENCE
Fragments – Opérateurs
174
SECTION 7 –
Cours 3 – Analyse DIAGRAMMES DE
SÉQUENCE
CU: DupliquerUnAlbum
ID: 4
Description brève : L’utilisateur crée un nouvel album portant le même nom et contenant les
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 :
175
SECTION 7 –
Cours 3 – Analyse DIAGRAMMES DE
SÉQUENCE
original :Album
Nom
Utilisateur
AlbumManager
dupliquerAlbum(int)
getAlbum(int) :
Opérateur Album Fragment
getPhotos() :Photo[*]
liste= :Photo[*]
Copie :Album
Condition
renommer(String)
opt Copier
Opérande [Si liste n'est pas vide est si l'album n'est pas verrouillé]
copierPhotos(liste)
176
SECTION 7 –
Cours 3 – Analyse DIAGRAMMES DE
SÉQUENCE
original :Album
Utilisateur
AlbumManager
dupliquerAlbum(int)
getAlbum(int) :
Album
getPhotos() :Photo[*]
liste= :Photo[*]
Copie :Album
renommer(String)
opt Copier
[Si liste n'est pas vide est si l'album n'est pas verrouillé]
copierPhotos(liste)
177
SECTION 7 –
Cours 3 – Analyse DIAGRAMMES DE
SÉQUENCE
:Album
StatManager AlbumManager
getAllAlbums() :Album[*]
:Album[*]
loop iterationAlbums
[pour chaque album]
alt albumCond
[Album public]
getNombreVisites() :int
getMiniatures() :Photo[*]
[Album privé]
getNombreVisites() :int
179
SECTION 7 –
Cours 3 – Analyse DIAGRAMMES DE
SÉQUENCE
DSQ – Exemple
«actor»
Utilisateur
Album
+ getPhoto(int) : Photo
+ renommer(String) : void
+ afficher(int) : void
+ adapter(int) : void
+ getPhotos() : Photo[*]
+ copierPhotos(Photo[*]) : void
+ getNombreVisites() : int *
1
+ getMiniatures() : Photo[*]
Photo
InterfaceAlbums
StatManager
180
SECTION 7 –
Cours 3 – Analyse DIAGRAMMES DE
SÉQUENCE
Messages
SECTION 7 –
Cours 3 – Analyse DIAGRAMMES DE
SÉQUENCE
Messages
class C {
class B { op2 (p: Type ){
C c; ...
op1 (p: Type ){ }
c. op2 (p); op3 (){
c. op3 (); ...
} }
} }
SECTION 7 –
Cours 3 – Analyse DIAGRAMMES DE
SÉQUENCE
Messages
SECTION 7 –
Cours 3 – Analyse DIAGRAMMES DE
SÉQUENCE
Messages
COURS IGL
Cours N° 3
Section 8 : Diagrammes Analyse
d’activité
185
SECTION 8 –
Cours 3 – Analyse DIAGRAMME
D ’A C T I V I T É
Présentation
186
SECTION 8 –
Cours 3 – Analyse DIAGRAMME
D ’A C T I V I T É
Présentation
187
SECTION 8 –
Cours 3 – Analyse DIAGRAMME
D ’A C T I V I T É
Activités
188
SECTION 8 –
Cours 3 – Analyse DIAGRAMME
D ’A C T I V I T É
Activités
189
SECTION 8 –
Cours 3 – Analyse DIAGRAMME
D ’A C T I V I T É
Activités
EffectuerUneCommande
Acheteur
ValiderUneCommande
Vendeur
190
SECTION 8 –
Cours 3 – Analyse DIAGRAMME
D ’A C T I V I T É
Diagramme d ’activité
Nœud initial
Enregistrer La Commande
Nœud final
191
SECTION 8 –
Cours 3 – Analyse DIAGRAMME
D ’A C T I V I T É
Diagramme d ’activité
Enregistrer La Commande
192
SECTION 8 –
Cours 3 – Analyse DIAGRAMME
D ’A C T I V I T É
Fonctionnement
193
SECTION 8 –
Cours 3 – Analyse DIAGRAMME
D ’A C T I V I T É
Partitions
194
SECTION 8 –
Cours 3 – Analyse DIAGRAMME
D ’A C T I V I T É
Partitions
Partitions
Lancer la validation
Préparer le stock
Vérifier le virement
195
SECTION 8 –
Cours 3 – Analyse DIAGRAMME
D ’A C T I V I T É
Partitions
Lancer la validation
Préparer le stock
Vérifier le virement
196
SECTION 8 –
Cours 3 – Analyse DIAGRAMME
D ’A C T I V I T É
Décisions et fusions
197
SECTION 8 –
Cours 3 – Analyse DIAGRAMME
D ’A C T I V I T É
Décisions et fusions
Recevoir Commande
Nœud de
décision Stock disponible
[Non]
[Oui]
Mettre à jour
inventaire
Approvisionner
Nœud de fusion
Notifier
198
SECTION 8 –
Cours 3 – Analyse DIAGRAMME
D ’A C T I V I T É
Décisions et fusions
Recevoir Commande
Stock disponible
[Non]
[Oui]
Mettre à jour
inventaire
Approvisionner
Notifier
199
SECTION 8 –
Cours 3 – Analyse DIAGRAMME
D ’A C T I V I T É
Activités parallèles
200
SECTION 8 –
Cours 3 – Analyse DIAGRAMME
D ’A C T I V I T É
Activités parallèles
Nœud fork
Recevoir Commande
Nœud join
201
SECTION 8 –
Cours 3 – Analyse DIAGRAMME
D ’A C T I V I T É
Activités parallèles
Recevoir Commande
202
SECTION 8 –
Cours 3 – Analyse DIAGRAMME
D ’A C T I V I T É
Nœuds d’objet
203
SECTION 8 –
Cours 3 – Analyse DIAGRAMME
D ’A C T I V I T É
Nœuds d’objet
Spécification
Développement
prototype
204
SECTION 8 –
Cours 3 – Analyse DIAGRAMME
D ’A C T I V I T É
Nœuds d’objet
205
SECTION 8 –
Cours 3 – Analyse DIAGRAMME
D ’A C T I V I T É
Nœuds d’objet
Authentifier
Entrer
Utilisateur
Utilisateur
Vérifier
Utilisateur
Entrer Mot De
Mot De Passe
Passe
Vérifier Mot DePasse
206
SECTION 8 –
Cours 3 – Analyse DIAGRAMME
D ’A C T I V I T É
Nœuds d’objet
Entrer Authentifier
Utilisateur
Utilisateur
Vérifier
Utilisateur
Entrer Mot De
Passe
Mot de Vérifier Mot DePasse
passe
207
SECTION 8 –
Cours 3 – Analyse DIAGRAMME
D ’A C T I V I T É
208
COURS IGL
Cours N° 3
Section 9 : Diagrammes Analyse
d’états-transitions
209
SECTION 9 –
Cours 3 – Analyse D I A G R A M M E D ’ É TAT S
TRANSITIONS
Introduction
210
SECTION 9 –
Cours 4 – Analyse D I A G R A M M E D ’ É TAT S
TRANSITIONS
Introduction
211
SECTION 9 –
Cours 3 – Analyse D I A G R A M M E D ’ É TAT S
TRANSITIONS
Exemple
212
SECTION 9 –
Cours 3 – Analyse D I A G R A M M E D ’ É TAT S
TRANSITIONS
Exemple
[Allumer]
Eteinte Allumée
[Eteindre]
[Sauter]
213
SECTION 9 –
Cours 3 – Analyse D I A G R A M M E D ’ É TAT S
TRANSITIONS
Etats
214
SECTION 9 –
Cours 3 – Analyse D I A G R A M M E D ’ É TAT S
TRANSITIONS
Etats
Pseudo-état de
jonction
[rendu] [prêté]
En prêt
Pseudo-état de
choix
Perdu
215
SECTION 9 –
Cours 3 – Analyse D I A G R A M M E D ’ É TAT S
TRANSITIONS
Etats
[rendu] [prêté]
En prêt
Perdu
216
SECTION 9 –
Cours 3 – Analyse D I A G R A M M E D ’ É TAT S
TRANSITIONS
217