Définition - Que signifie le modèle de cascade?
Le modèle en cascade est un modèle de processus de développement logiciel séquentiel qui suit les phases définies suivantes:
- créative
- Initiation
- Une analyse
- Design
- Construction
- Dépistage
- Production / mise en œuvre
- Entretien
En utilisant les étapes communes du cycle de vie du développement logiciel (SDLC), le modèle en cascade impose le passage à la phase suivante uniquement après l'achèvement de la phase précédente. Revenir à une phase précédente est mal vu à moins qu'il ne soit clairement nécessaire de le faire.
Definir Tech explique le modèle de cascade
Comme son nom l'indique, les phases du modèle de cascade progressent constamment vers le bas. Ces phases doivent être suivies en séquence pour être efficaces, et dans certaines industries - comme la construction et la fabrication - le processus doit être suivi.
En théorie, le modèle en cascade semble être une bonne pratique, mais il a été critiqué par de nombreux acteurs de l'industrie du développement de logiciels. Premièrement, une phase SDLC ne peut pas être perfectionnée avant de passer à la phase suivante. De plus, dans sa forme littérale, ce modèle manque de flexibilité pour les ajustements des exigences et de la conception, ce qui rend très difficile pour les programmeurs et les développeurs d'intégrer les ajustements de conception.
Cependant, certains principes solides du modèle en cascade peuvent être appliqués à un développement logiciel réussi. Voici une liste partielle de ces principes:
- Les problèmes peuvent être résolus plus facilement s'ils sont plus clairement définis.
- De grandes quantités de code sont plus traçables si elles sont structurées.
- Le travail humain doit toujours être vérifié.
- Un bon plan de cycle de vie du projet améliore le processus de développement.
- La documentation système est un sous-produit du processus de développement et ne se fait pas plus tard, après coup.
Le modèle en cascade était une première tentative de fournir une structure, des mesures et un contrôle au développement de systèmes d'application vastes et complexes, généralement des systèmes mainframe.