Avant-propos 03
Sommaire 05
Chapitre 1 : Introduction au Génie Logiciel 09
1. Introduction 10
2. Crise du Logiciel 10
3. Définition du Génie Logiciel 4. Qualités des logiciels 16
5. Modèles linéaires de cycles de vie des logiciels 15
Exercices 31
corrigés 31
Chapitre 2 : Analyse & définition des besoins
1. Introduction 48
2. Définition du cahier des charges 49
3. Structure du cahier des charges 50
4. Modèles conceptuels des systèmes logiciels 51
5. Besoins fonctionnels 53
6. Besoins non-fonctionnels 56
7. Validation des besoins 57
Exercices 60
corrigés 64
Chapitre 3 : Introduction au langage UML 73
1. Introduction 74
2. A quoi sert le langage de modélisation UML ?
3. Qu'est-ce qu'un modèle ?
4. Modélisation dans le Génie Logiciel 5. Eléments constitutifs de UML.
6. Comment modéliser en UML ?
7. La vue "4+1" de Kruchten 76
8. Phases de modélisation 90
Exercices 94
corrigés 95
Chapitre 4 : Vue fonctionnelle des logiciels : Diagramme des cas d’utilisation
1. Introduction 98
2. Le modèle des cas d’utilisation 99
3. Identification des cas d’utilisation (use cases) 101
4. Les relations dans le diagramme de cas d’utilisation 102
5. Règles de mise en œuvre des cas d’utilisation 105
6. Comment spécifier le comportement d’un cas d’utilisation 107
7. Exemple TraiterCommande 109
Exercices 110
corrigés 117
Chapitre 5 : La conception des logiciels :
Introduction au paradigme orienté objets
1. Introduction à la conception des logiciels
2. Principes de Conception (Abstraction, Modularité)
3. Inconvénients de l’approche procédurale structurée 142
4. Paradigmes de la conception orientée Objet (encapsulation, héritage, polymorphisme…)
Exercices 162
corrigés 163
Chapitre 6 : Vue statique des logiciels : Diagrammes des classes et des objets 165
1. Principes de la modélisation orientée objet 166
2. Les relations entre les classes 169
3. Les hiérarchies de classes 179
4. Le polymorphisme 185
Exercices 190
corrigés 196
Chapitre 7 : Vue dynamique des logiciels Diagrammes d’interaction (séquences et communication)
1. Introduction aux interactions entre objets 210
2. Diagramme de Communication 210
3. Diagramme de séquences
4. Fragments et opérateurs d’interactions (Introduit dans UML 2.x) 222
Exercices 227
Corrigés 229
Chapitre 8 : Vue dynamique des logiciels : Diagrammes d’états-transitions et d’activités
1. Diagrammes d’états - transitions 240
2. Notions d’état, de transition, d’événement et d’action. 241
3. Transitions composites 246
4. Etats composites 247
5. Diagramme d’activité 250
Exercices 255
Bibliographie