Analyse des besoins pour le développement logiciel
Recueil et spécification, démarches itératives et agiles
Jacques Lonchamp
Dunod
Avant-proposVIII
Chapitre 1 ¤ Introduction
1.1 Le logiciel1
1.2 Le développement logiciel3
1.3 La qualité du logiciel4
1.4 La « crise du logiciel »5
1.5 La maturité des organisations8
Partie 1
Le développement logiciel
Chapitre 2 ¤ Les activités du développement
2.1 Le recueil des besoins18
2.2 L'analyse et la spécification des besoins22
2.3 La conception architecturale et détaillée26
2.4 L'implantation28
2.5 Le déploiement28
2.6 La maintenance29
2.7 La vérification et la validation (VetV)30
2.8 La documentation33
2.9 Les activités de gestion33
2.10 La distribution efforts/erreurs/coûts41
Chapitre 3 ¤ La modélisation - UML
3.1 La notion de modèle45
3.2 La modélisation visuelle47
3.3 Fonctions et objets47
3.4 Le langage UML49
3.5 Les principaux diagrammes UML51
Chapitre 4 ¤ Les modèles de développement
4.1 Les modèles linéaires57
4.2 Les modèles centrés sur des prototypes60
4.3 Les modèles itératifs et incrémentaux61
4.4 Les modèles agiles63
4.5 Les autres modèles de développement67
Chapitre 5 ¤ (R)UP, XP et SCRUM
5.1 (Rational) Unified Process - (R) UP73
5.2 EXtreme Programming (XP)79
5.3 Scrum84
5.4 Le développement dirigé par les tests92
5.5 Les outils du développement agile97
Partie 2
La modélisation métier
Chapitre 6 ¤ Introduction à la modélisation métier
6.1 Définition105
6.2 La modélisation métier avec UML106
6.3 Une ébauche de démarche109
Chapitre 7 ¤ La modélisation des processus métier113
7.1 Les acteurs et intervenants métier113
7.2 Les processus métier114
7.3 Un exemple de processus métier114
7.4 Les diagrammes UML associés116
7.5 Vers les spécifications logicielles121
Chapitre 8 ¤ La modélisation du domaine
8.1 Définition125
8.2 Éléments du modèle du domaine125
8.3 L'identification des classes du domaine127
8.4 L'identification des associations du domaine130
8.5 Un exemple131
Chapitre 9 ¤ Les spécifications formelles avec OCL
9.1 Présentation du langage OCL137
9.2 Caractéristiques du langage OCL139
9.3 Syntaxe de base des contraintes OCL140
9.4 Écriture d'expressions OCL complexes142
9.5 Des conseils d'utilisation146
Partie
La modélisation des besoins
Chapitre 10 ¤ Les user stories
10.1 Définition151
10.2 Des éléments de méthodologie152
10.3 Un exemple154
Chapitre 11 ¤ Les cas d'utilisation
11.1 Définition159
11.2 La description textuelle du cas160
11.3 Le diagramme de cas d'utilisation161
11.4 Des éléments de méthodologie163
11.5 User stories vs cas d'utilisation164
11.6 Un exemple165
Chapitre 12 ¤ Les autres modèles UML
12.1 Les diagrammes de séquences « système »169
12.2 Les diagrammes d'activités des cas170
Partie 4
La modélisation de l'application
Chapitre 13 ¤ Le modèle des classes d'analyse
13.1 Définition177
13.2 Des éléments de méthodologie178
13.3 Un exemple179
Chapitre 14 ¤ Les modèles UML complémentaires
14.1 Les diagrammes de séquences183
14.2 Les diagrammes d'états183
Chapitre 15 ¤ Le modèle de navigation
15.1 Définition187
15.2 Les composants du modèle de navigation188
15.3 Un exemple188
Partie 5
Les études de cas
Chapitre 16 ¤ Étude de cas 1 - La Phase d'initialisation
16.1 Les acteurs195
16.2 Les cas d'utilisation196
16.3 Les exigences non fonctionnelles198
16.4 Une ébauche d'architecture fonctionnelle198
16.5 La prioritisation des cas200
16.6 Une première ébauche du modèle de classes201
16.7 Les maquettes des principaux écrans203
Chapitre 17 ¤ Étude de cas 1 - La phase d'élaboration
17.1 La spécification détaillée des cas209
17.2 Les diagrammes de séquences système212
17.3 Les diagrammes d'activités des cas213
17.4 La structuration du diagramme des cas213
17.5 Les modèles des classes d'analyse214
17.6 La dynamique des classes d'analyse215
17.7 Le prototypage215
Chapitre 18 ¤ Étude de cas 2 - Les user stories
18.1 Le rappel des règles du jeu217
18.2 L'analyse du jeu220
18.3 Le développement du jeu224
Chapitre 19 ¤ Étude de cas 2 - Les cas d'utilisation
19.1 Les cas d'utilisation du jeu233
19.2 Le diagramme des cas d'utilisation243
Chapitre 20 ¤ Étude de cas 2 - Les classes du domaine
20.1 L'analyse textuelle247
20.2 Le modèle des classes du domaine248
20.3 L'analyse des entités complexes du domaine251
Conclusion253
Corrigés des exercices255
Bibliographie301
Index305