Historique des modèles en spirale, caractéristiques, étapes, exemple
- 2357
- 341
- Eva Henry
Il modèle en spirale C'est un archétype du processus de développement d'applications. Il est basé sur l'hypothèse que le développement logiciel est un cycle itératif qui est répété jusqu'à atteindre les objectifs établis. A la capacité de gérer la grande quantité de risques qui pourraient se produire lors du développement d'un logiciel.
C'est l'un des modèles les plus importants pour soutenir la gestion des risques. Comme son nom l'indique, ce modèle est représenté comme une forme en spirale, où les différentes étapes du modèle sont distribuées en différents cycles. Le nombre de cycles dans le modèle n'est pas fixe et peut varier d'un projet à un autre.
Analyse, évaluation, planification et développement. Logiciel de développement Sippiral Source: Beao [Domaine public] Commons.Wikimedia.Org [toc]
Histoire
Création
Le modèle en spirale a été défini par le mathématicien et professeur d'ingénierie logicielle américaine Barry Boehm. Après avoir présenté son concept en 1986 pour le développement d'applications complexes, il a publié son modèle en 1988 dans un cadre plus complet de son article "Un modèle en spirale de développement et d'amélioration des logiciels".
Une partie de cette publication de 1988 représentait graphiquement le modèle en spirale, montrant en entier comment le processus de développement logiciel est observé sous la forme d'une spirale et soutenue par des cycles.
Boehm est connu pour ses nombreuses contributions à l'ingénierie logicielle, comme le modèle de coût constructif (COCOMO), le modèle en spirale du processus logiciel, l'approche de la théorie G (gagnant-gagnant) pour la détermination des exigences et la gestion du logiciel.
Alternative au modèle de cascade
Dans sa publication, Boehm a décrit le modèle en spirale comme une alternative possible au modèle de cascade précédemment établi, qui a également servi de base à sa pratique.
Le modèle en spirale n'a pas été le premier à augmenter le développement cyclique, mais c'était le premier modèle à expliquer pourquoi l'itération est importante. Comme prévu à l'origine, il a été alloué à des projets importants et complexes dont les itérations sont généralement de 6 mois à 2 ans.
Ce modèle ne suppose pas que les tâches de développement logiciel sont conçues linéairement, contrairement au modèle de cascade, mais qu'il les considère comme des tâches itératives.
Ce modèle cyclique a influencé l'architecture d'ingénierie logicielle basée sur les modèles (MBASE) et la programmation extrême.
Caractéristiques du modèle en spirale
Contrôle des risques
Ce qui différencie considérablement ce modèle des autres modèles de processus logiciels, c'est qu'il reconnaît explicitement les risques. Par conséquent, il réduit considérablement que les grands projets logiciels échouent, car il évalue à plusieurs reprises les risques et vérifie le produit de développement à chaque fois.
Ce modèle informatique contient des composants de presque tous les autres modèles de cycle de vie logiciel, tels que le modèle de cascade, le modèle de création de prototypes, le modèle itératif, le modèle évolutif, etc.
Il peut vous servir: TIC (technologies d'information et de communication)Pour cette raison, il est capable de gérer presque tous les types de risques que les autres modèles ne gèrent généralement pas. Cependant, en raison d'avoir autant de composants, ce modèle est beaucoup plus complexe que les autres modèles de développement de logiciels.
Description de la spirale
Chaque virage en spirale représente un cycle complet, où les quatre quadrants passent toujours, qui représentent les quatre étapes du modèle.
À mesure que la taille de la spirale augmente, les progrès sont ainsi exécutés. Par conséquent, les étapes ne sont pas exécutées une seule fois, mais plusieurs fois, en spirale.
Bien que cette répétition cyclique provoque une approche lentement du projet, le risque du processus de développement échoue est fortement minimisé.
Générique
Les quatre étapes implantent uniquement les objectifs de base d'un cycle, mais ils n'ont pas à se manifester dans chaque cycle.
L'ordre de chaque cycle n'est pas non plus strictement déterminé. Par conséquent, le modèle peut être combiné à tout moment avec d'autres modèles.
Flexible
Il est assez flexible, lorsqu'il fonctionne séparément pour chaque phase du projet, les processus de définition des objectifs, l'analyse des risques, le développement et la planification.
Métamodel
Le métamodèle est considéré comme incluant d'autres modèles. Par exemple, si la spirale en dehors d'un seul cycle représenterait le modèle de cascade, car il incorpore l'approche progressive de ce modèle classique.
Il utilise également l'approche du modèle de création de prototypes, car au début de chaque cycle, un prototype pour gérer les risques.
De plus, il est compatible avec le modèle évolutif, car les itérations en spirale peuvent être considérées comme des niveaux évolutifs, à travers lesquels le système final est construit.
Étapes
Déterminer les objectifs, les alternatives et les restrictions
Les exigences du système sont définies avec les plus grands détails possibles, y compris les performances, les interfaces matérielles / logiciels, les indicateurs de réussite clés, etc. et ils sont considérés comme quels objectifs doivent être associés au cycle de développement actuel.
De plus, différentes alternatives sont examinées pour sa mise en œuvre, telles que la construction vs. Achetez, réutilisez les composants ou sous-traitants existants, etc.
De même, des restrictions telles que le coût, le calendrier et les interfaces, la consommation de temps, etc.
l'évaluation des risques
Toutes les alternatives proposées sont évaluées. Les objectifs et les restrictions servent de références déterminantes pour sélectionner la meilleure solution.
De plus, les risques qui peuvent entraver le succès du projet, tels que le manque d'expérience, les nouvelles technologies, les horaires serrés, les processus déficients, etc., Mettre en œuvre les stratégies de risque les plus rentables et les plus faibles.
Peut vous servir: quel est le périscope et à quoi sert-il?Enfin, des méthodes telles que la création de prototypes, de simulations, de modèles analytiques et d'enquêtes utilisateur sont utilisées.
Développement et test
Tout le développement nécessaire est effectué, en utilisant la technologie et la solution sélectionnées. À chaque itération, une meilleure version de l'application est créée.
Le code réel est écrit et testé plusieurs fois jusqu'à ce que le résultat souhaité soit atteint, ce qui servira ensuite de base aux étapes de développement futures.
Planification du cycle suivant
Lorsque vous terminez un cycle, la planification suivante commence. Cette planification pourrait être normalement avec le projet si l'objectif du cycle était atteint, ce qui augmente la définition de l'objectif suivant.
Il pourrait également s'agir de trouver d'autres solutions, si la phase de développement précédente était défectueuse. La stratégie existante pourrait être remplacée par l'une des alternatives précédemment définies ou par un nouveau. Avec cela, une nouvelle tentative commencerait à atteindre l'objectif.
Exemple
L'armée américaine a adopté le modèle en spirale pour le développement et la mise à jour du programme de modernisation pour les futurs systèmes de combat (SCF).
Officialement libéré en 2003, il était prévu que le SCF assimile les troupes à des véhicules connectés à temps réel à un réseau de champs de bataille extraordinairement rapides et flexibles.
Le projet a été divisé en quatre spirales de développement d'environ deux ans chacune. La spirale 1 devait commencer pour 2008 et livrer des prototypes pour une utilisation et une évaluation.
Après avoir terminé Spiral 1, il devait démarrer Spiral 2 pour 2010. Le développement final du produit devait livrer pour 2015.
En août 2005, Boeing a annoncé l'achèvement de la première étape importante du projet, qui était l'examen fonctionnel des systèmes. Boeing and Science Applications International Corporation était les collèges de projet.
Cependant, d'ici octobre 2005, le Pentagone a recommandé de retarder le projet en raison de l'impact élevé sur les coûts de la guerre en Irak et de l'ouragan Katrina Aid.
Le projet a été annulé en 2009 après que les coupes budgétaires se soient produites, sans pouvoir prouver les avantages du modèle en spirale dans cette mission
avantage
Structure cyclique
En raison de ce type de structure, les problèmes entre la conception et les exigences techniques du logiciel sont tacitement éliminés, grâce aux contrôles périodiques.
Gestion des risques
Les risques sont analysés à chacune des étapes du produit avant d'aller de l'avant. Cela aide à surmonter ou à atténuer les risques possibles.
Tous les collaborateurs bénéficient de la très grande importance de l'analyse des risques dans ce modèle, représentant peut-être leur plus grand avantage sur les autres modèles de processus.
Peut vous servir: port parallèle: caractéristiques, types et fonctionsL'évaluation périodique des risques devient une valeur lorsque des environnements techniques innovants, qui sont généralement associés à un potentiel de risque particulier en raison de l'absence de valeurs empiriques.
Participation et commentaires du client
À chaque étape du projet, les clients sont impliqués jusqu'à ce que le projet soit terminé. Par conséquent, différents commentaires peuvent être rassemblés pour améliorer la prochaine version du projet.
De plus, la rétroaction peut être obtenue à tout moment en raison de la forme en spirale. Ainsi, les clients et les utilisateurs peuvent être intégrés dès le début du processus de développement.
Idéal pour les grands projets
Il est particulièrement populaire et proéminent pour les projets importants et complexes, où le contrôle du budget est une priorité pour les clients et les développeurs. Il y a un contrôle maximal sur les coûts, les ressources et la qualité du projet logiciel.
Désavantages
Cher
Cela peut être assez cher, car il nécessite un niveau d'expérience élevé pour l'analyse des risques. De plus, les projets ont besoin de beaucoup de temps pour se développer, ce qui peut augmenter les dépenses générales.
Assez complexe
Une gestion antérieure très active et complexe du projet est requise, où chaque cycle est contrôlé et soigneusement.
Il est comparativement plus complexe que d'autres modèles, car il existe de nombreux cycles, passant par les différentes étapes, augmentant ainsi l'effort du processus de documentation.
Il est essentiel d'avoir des connaissances dans l'analyse et la gestion des risques, qui ne sont souvent pas disponibles.
Gestion du temps
Il est difficile de gérer le temps, car le nombre de cycles est inconnu. De plus, à tout moment, le processus de développement peut être retardé si dans un cycle, des décisions importantes ou des actions supplémentaires doivent être prises lors de la planification du cycle suivant.
Plusieurs étapes
Il n'est pas toujours favorable de prendre de nombreuses mesures dans le développement du logiciel du fait que, malgré la polyvalence des tests, ils peuvent atteindre le système sans fin sans terminer le programme.
En conséquence, il y a toujours un danger qu'un concept ou une incohérence conceptuelle affecte le produit final.
Les références
- Victor Font Jr (2019). Le modèle en spirale. Le guide ultime du SDLC. Tiré de: ultimatesdlc.com.
- Ionos (2019). Modèle en spirale: le modèle de processus de développement de logiciels axé sur les risques. Pris de: ionos.com.
- Techuz (2018). Qu'est-ce que le modèle en spirale? À une explication simple du cycle de vie de développement des logiciels en spirale (SDLC). Tiré de: Techuz.com.
- Tester un arrêt (2020). Modèle en spirale. Pris de: oonetoptestting.com.
- Geeks pour geeks (2020). Logiciel d'ingénierie - modèle en spirale. Tiré de: geeksforgeeks.org.
- Chandu (2019). Modèle en spirale en génie logiciel. Tiré de: moyen.com.