SDLC - Modèle itératif

Dans le modèle itératif, le processus itératif commence par une implémentation simple d'un petit ensemble d'exigences logicielles et améliore de manière itérative les versions en évolution jusqu'à ce que le système complet soit implémenté et prêt à être déployé.

Un modèle de cycle de vie itératif ne tente pas de commencer par une spécification complète des exigences. Au lieu de cela, le développement commence par la spécification et la mise en œuvre d'une partie seulement du logiciel, qui est ensuite revue pour identifier d'autres exigences. Ce processus est ensuite répété, produisant une nouvelle version du logiciel à la fin de chaque itération du modèle.

Modèle itératif - Conception

Le processus itératif commence par une implémentation simple d'un sous-ensemble des exigences logicielles et améliore de manière itérative les versions en évolution jusqu'à ce que le système complet soit implémenté. À chaque itération, des modifications de conception sont apportées et de nouvelles capacités fonctionnelles sont ajoutées. L'idée de base derrière cette méthode est de développer un système à travers des cycles répétés (itératifs) et par petites portions à la fois (incrémentales).

L'illustration suivante est une représentation du modèle itératif et incrémental -

Le développement itératif et incrémental est une combinaison de conception itérative ou de méthode itérative et de modèle de construction incrémentielle pour le développement. "Pendant le développement logiciel, plusieurs itérations du cycle de développement logiciel peuvent être en cours en même temps." Ce processus peut être décrit comme une «approche d'acquisition évolutive» ou de «construction incrémentielle» ».

Dans ce modèle incrémentiel, l'ensemble des exigences est divisé en différentes versions. Au cours de chaque itération, le module de développement passe par les phases d'exigences, de conception, de mise en œuvre et de test. Chaque version ultérieure du module ajoute une fonction à la version précédente. Le processus se poursuit jusqu'à ce que le système complet soit prêt selon l'exigence.

La clé d'une utilisation réussie d'un cycle de vie de développement logiciel itératif est une validation rigoureuse des exigences, ainsi que la vérification et le test de chaque version du logiciel par rapport à ces exigences dans chaque cycle du modèle. Au fur et à mesure que le logiciel évolue au fil des cycles successifs, les tests doivent être répétés et étendus pour vérifier chaque version du logiciel.

Modèle itératif - Application

Comme d'autres modèles SDLC, le développement itératif et incrémental a des applications spécifiques dans l'industrie du logiciel. Ce modèle est le plus souvent utilisé dans les scénarios suivants -

  • Les exigences du système complet sont clairement définies et comprises.

  • Les exigences majeures doivent être définies; cependant, certaines fonctionnalités ou améliorations demandées peuvent évoluer avec le temps.

  • Il y a un temps à la contrainte du marché.

  • Une nouvelle technologie est utilisée et apprise par l'équipe de développement tout en travaillant sur le projet.

  • Les ressources avec les compétences nécessaires ne sont pas disponibles et sont prévues pour être utilisées sous contrat pour des itérations spécifiques.

  • Certaines caractéristiques et objectifs à haut risque peuvent changer à l'avenir.

Modèle itératif - Avantages et inconvénients

L'avantage de ce modèle est qu'il existe un modèle fonctionnel du système à un stade très précoce de développement, ce qui facilite la recherche de défauts fonctionnels ou de conception. La détection des problèmes à un stade précoce du développement permet de prendre des mesures correctives dans un budget limité.

L'inconvénient de ce modèle SDLC est qu'il ne s'applique qu'aux projets de développement logiciel volumineux et volumineux. En effet, il est difficile de diviser un petit système logiciel en de petits incréments / modules réparables supplémentaires.

Les avantages du modèle SDLC itératif et incrémental sont les suivants:

  • Certaines fonctionnalités de travail peuvent être développées rapidement et tôt dans le cycle de vie.

  • Les résultats sont obtenus tôt et périodiquement.

  • Un développement parallèle peut être planifié.

  • Les progrès peuvent être mesurés.

  • Moins coûteux pour modifier la portée / les exigences.

  • Les tests et le débogage au cours d'une itération plus petite sont faciles.

  • Les risques sont identifiés et résolus lors de l'itération; et chaque itération est un jalon facile à gérer.

  • Gestion des risques plus facile - La partie à haut risque est effectuée en premier.

  • À chaque incrément, le produit opérationnel est livré.

  • Les problèmes, défis et risques identifiés à partir de chaque incrément peuvent être utilisés / appliqués à l'incrément suivant.

  • L'analyse des risques est meilleure.

  • Il prend en charge l'évolution des exigences.

  • Le temps de fonctionnement initial est inférieur.

  • Mieux adapté aux projets de grande envergure et critiques.

  • Au cours du cycle de vie, le logiciel est produit tôt, ce qui facilite l'évaluation et la rétroaction des clients.

Les inconvénients du modèle SDLC itératif et incrémental sont les suivants:

  • Plus de ressources peuvent être nécessaires.

  • Bien que le coût du changement soit moindre, mais il n'est pas très adapté à l'évolution des besoins.

  • Une plus grande attention de la direction est requise.

  • Des problèmes d'architecture ou de conception du système peuvent survenir car toutes les exigences ne sont pas rassemblées au début de tout le cycle de vie.

  • La définition des incréments peut nécessiter la définition du système complet.

  • Ne convient pas aux petits projets.

  • La complexité de gestion est plus.

  • La fin du projet peut ne pas être connue, ce qui constitue un risque.

  • Des ressources hautement qualifiées sont nécessaires pour l'analyse des risques.

  • L'avancement des projets dépend fortement de la phase d'analyse des risques.