Vous êtes sur la page 1sur 18

DEUXIEME PARTIE

1
DEUXIEME PARTIE

Plan
 Cycle de vie de logiciel
 Étapes du cycle de développement
 Cycle de vie en cascade
 Cycle de vie en V

2
Pour maîtriser la complexité de développement du logiciel et
pour rendre les choses simples, tout logiciel passe par
plusieurs étapes (activités) pour être développé. Cela permet
de:

maîtriser les gros projets


découper le projet (séparer les problèmes qui
peuvent l’être afin de les résoudre de manière
presque indépendante).
découper le projet et affecter correctement
les tâches
anticiper et gérer les risques

3
 Un cycle de vie d’un logiciel définit un ensemble d’activités
conduisant à la production d’un logiciel ainsi que leur
enchaînement.

 Un processus de développement d’un logiciel définit


l’ordre et la manière d’enchaîner les étapes d’un
développement

4
 Les différentes activités d’un cycle de vie « Processus de
développement » d’un logiciel peuvent être résumées selon
les phases suivantes :

Définition développement support

Transformation des Correction : réparation des fonctions qui


Définir les besoins : données collectées ne marchent pas ou qui ne marchent
Que doit faire le logiciel pendant l’étape de pas comme souhaité.
De quelle façon définition en plusieurs Adaptation : adaptation de fonctions aux
produits : évolutions technologiques actuelles.
Et sous quelles conditions
Logiciel fonctionnel Amélioration : en terme de performance,
Code source ergonomie, …
Produits connexes Prévention : Rendre le logiciel plus facile à
la maintenance
5
Les activités d’un processus sont souvent décrites en termes de :
 Entrées de l’activité (matière première)
 Sorties de l’activité (résultat, livrables)
Les livrables sont des produits ou des documents produits par une
activités et utilisé par les activités qui en dépendent.
Par exemple : document, planning, code source sont tous des livrables
 Intervenants et rôles (qui ?)
Chaque activité est conduite et réalisée par plusieurs acteurs
 Description de l’activité (quoi - quel est le problème à traiter ?)
 Standards, guides, à appliquer (comment ?)

Les principales activités du Cycle de vie de logiciel sont: Étude préalable,


Spécification, Conception, Implantation et test, Validation, Maintenance…
6
Étude préalable « Faisabilité » (pourquoi ?)
• Pourquoi développer le logiciel ?
• Y a-t-il de meilleures alternatives ?
• Comment procéder pour faire ce développement ?
• Y a-t-il un marché pour le logiciel ?
• Quels moyens faut-il mettre en œuvre? A-t-on le budget, le
personnel, le matériel nécessaires ?

7
Spécification
 Dans cette activité, on pose la question quoi?

 Une spécification peut suivre de nombreux formalismes : cas


d’utilisation, modèles UML, exigences, ...
 Les procédures de validation peuvent être des procédures manuelles
ou des tests. 8
Spécification

9
Spécification

Une bonne définition des


exigences est capitale et
contribue à la réussite du
projet en :

 permettant d’obtenir un accord explicite entre les développeurs, les


clients et les utilisateurs sur le travail à réaliser et les critères
d’acceptation du système final,
 fournissant une base solide pour l’estimation des ressources
nécessaires (temps, coût, équipement, qualifications des
développeurs,. . . ),
 évitant les incompréhensions et les omissions. 10
Conception
 Dans cette activité, on pose la question comment?

 Deux types de conception:


 Conception architecturale
 Conception détaillée 11
Conception architecturale

 Une description de l’architecture du logiciel.


 Décomposer le système en sous-systèmes
 Définir les interfaces, les liens entre les composants

12
Conception détaillée
 Détailler le fonctionnement des composants
 Définir quelques algorithmes, la représentation des données, ...
 des tests unitaires sont définis pour s’assurer que les
composants réalisés sont bien conformes à leurs descriptions.
 Résultat : pour chaque composant, le résultat consiste en:
 Un dossier de conception détaillée.
 Un dossier de tests unitaires.
 Un dossier de définition d’intégration logiciel.

13
Conception
 La composante la plus importante de la qualité d’une
conception est la maintenabilité.
 maximiser la cohésion à l’intérieur des composants
 minimiser le couplage entre ces composants

 Les dégradations de la conception sont liées aux modifications


des spécifications,

14
Implantation

 Chaque module du logiciel est testé


séparément par rapport à ses
spécifications (Tests unitaires).
Exemple: En programmation C++, on fera
des test unitaires au niveau des méthodes,
puis au niveau de la classe.
15
Intégration et test d’intégration

Tests d'intégration
Les modules validés par les test unitaires sont
rassemblés dans un composant logiciel.

Le test d'intégration vérifie que l'intégration


des modules n'a pas altéré leur comportement.
16
Validation

 Qualification (ou recette), c’est-à-dire la vérification


de la conformité du logiciel aux spécifications initiales.

17
Maintenance
 Maintenance corrective : Corriger les erreurs : défauts
d’utilité, d’utilisation, de fiabilité...
 La plupart des corrections introduisent de nouvelles erreurs
 Les coûts de correction augmentent exponentiellement avec le
délai de détection

 Maintenance adaptative : Ajuster le logiciel pour qu’il


continue à remplir son rôle compte tenu du l’évolution des
 Environnements d’exécution, Fonctions à satisfaire, Conditions
d’utilisation
 Maintenance perfective, d’extension :
augmenter/améliorer les possibilités du logiciel
 Ex : les services offerts, l’interface utilisateur, les performances...
18

Vous aimerez peut-être aussi