Cycle de vie du développement logiciel
Le cycle de vie du développement logiciel (CVDL) est la séquence de phases de bout en bout par laquelle un système logiciel progresse, de la conception initiale et des exigences à la conception, la construction, les tests, le déploiement et le retrait éventuel.
Definition
Le cycle de vie du développement logiciel est un cadre structuré qui divise le développement logiciel en phases définies, chacune avec des critères d'entrée et de sortie, des livrables et des activités, utilisé pour planifier, contrôler et raisonner sur la production et l'évolution des logiciels.
Scope
Ce sujet couvre les phases canoniques du CVDL : planification, analyse des exigences, conception, implémentation, tests, déploiement et maintenance ; les modèles standards qui organisent ces phases (en cascade, modèle en V, incrémental, itératif, en spirale) ; les artefacts produits à chaque phase ; et les normes de processus de cycle de vie telles que l'ISO/IEC/IEEE 12207.
Core questions
- Quelles phases composent le cycle de vie et quels artefacts chacune produit-elle ?
- Comment les différents modèles de cycle de vie organisent-ils et itèrent-ils ces phases ?
- Quels critères d'entrée et de sortie régissent la transition entre les phases ?
- Comment le cycle de vie s'étend-il au-delà de la livraison, vers l'exploitation, la maintenance et le retrait ?
Key theories
- Structure du cycle de vie par phases
- Le développement est décomposé en phases discrètes (exigences, conception, implémentation, tests, déploiement, maintenance), chacune avec des livrables définis et des points de revue, servant de base à la planification, à l'estimation et au contrôle.
- Cartographie de vérification du modèle en V
- Le modèle en V associe chaque phase constructive à une phase de test correspondante (unité, intégration, système, acceptation), faisant de la vérification et de la validation des contreparties explicites de la spécification et de la conception.
Clinical relevance
Un cycle de vie bien défini améliore la prévisibilité, la traçabilité et le contrôle qualité, soutient l'estimation des coûts et des délais, et est souvent exigé par les régimes d'approvisionnement et réglementaires qui requièrent des processus de développement auditables.
Evidence & guidelines
L'ISO/IEC/IEEE 12207:2017 est la principale norme internationale définissant les processus du cycle de vie du logiciel et est largement référencée dans les contrats et les systèmes qualité.
History
La notion d'un ensemble ordonné de phases de développement a été formalisée à la fin des années 1960 et dans les années 1970, à mesure que les projets devenaient trop importants pour une construction ad hoc ; les modèles ultérieurs ont ajouté l'itération et la gestion des risques, tandis que les efforts de normalisation ont produit l'ISO/IEC 12207 dans les années 1990 et ses révisions ultérieures.
Key figures
- Winston W. Royce
- Barry Boehm
Related topics
Seminal works
- royce1970
- iso12207
- sommerville2015
Frequently asked questions
- Le CVDL est-il identique au modèle en cascade ?
- Non. Le CVDL est l'ensemble général des phases par lesquelles un logiciel passe ; le modèle en cascade est une manière particulière d'ordonner ces phases séquentiellement. Les modèles agiles, itératifs et en spirale parcourent les mêmes phases fondamentales selon des ordres et des cadences différents.
- Le cycle de vie se termine-t-il au déploiement ?
- Non. L'exploitation, la maintenance et le retrait éventuel sont des phases intégrales du cycle de vie ; dans la plupart des systèmes, la maintenance et l'évolution dominent le coût total et s'étendent sur la plus longue période du cycle de vie.