Cycle de vie du développement logiciel
Le cycle de vie du développement logiciel, en abrégé SDLC, est une séquence bien définie et structurée d'étapes du génie logiciel pour développer le produit logiciel prévu.
Activités SDLC
SDLC fournit une série d'étapes à suivre pour concevoir et développer efficacement un produit logiciel. Le cadre SDLC comprend les étapes suivantes:
la communication
Il s'agit de la première étape au cours de laquelle l'utilisateur lance la demande d'un produit logiciel souhaité. Il contacte le fournisseur de services et essaie de négocier les conditions. Il soumet sa demande par écrit à l'organisme prestataire de services.
Rassemblement des exigences
Cette étape, l'équipe de développement logiciel travaille pour poursuivre le projet. L'équipe discute avec divers intervenants du domaine problématique et essaie de faire ressortir le plus d'informations possible sur leurs besoins. Les exigences sont envisagées et séparées en exigences utilisateur, exigences système et exigences fonctionnelles. Les exigences sont collectées en utilisant un certain nombre de pratiques telles que données -
- étudier le système et les logiciels existants ou obsolètes,
- mener des interviews d'utilisateurs et de développeurs,
- se référant à la base de données ou
- recueillir les réponses des questionnaires.
Étude de faisabilité
Après la collecte des exigences, l'équipe propose un plan approximatif du processus logiciel. À cette étape, l'équipe analyse si un logiciel peut être conçu pour répondre à toutes les exigences de l'utilisateur et s'il existe une possibilité que le logiciel ne soit plus utile. Il est découvert si le projet est financièrement, pratiquement et technologiquement réalisable pour l'organisation. Il existe de nombreux algorithmes disponibles, qui aident les développeurs à conclure la faisabilité d'un projet logiciel.
L'analyse du système
À cette étape, les développeurs décident d'une feuille de route de leur plan et essaient de proposer le meilleur modèle de logiciel adapté au projet. L'analyse du système comprend la compréhension des limites du produit logiciel, l'apprentissage des problèmes liés au système ou des changements à effectuer dans les systèmes existants à l'avance, l'identification et le traitement de l'impact du projet sur l'organisation et le personnel, etc. L'équipe de projet analyse la portée du projet et planifie le calendrier et ressources en conséquence.
Conception de logiciels
L'étape suivante consiste à apporter une connaissance approfondie des exigences et des analyses sur le bureau et à concevoir le produit logiciel. Les contributions des utilisateurs et les informations recueillies lors de la phase de collecte des exigences sont les entrées de cette étape. Le résultat de cette étape se présente sous la forme de deux modèles; conception logique et conception physique. Les ingénieurs produisent des métadonnées et des dictionnaires de données, des diagrammes logiques, des diagrammes de flux de données et, dans certains cas, des pseudo codes.
Codage
Cette étape est également appelée phase de programmation. La mise en œuvre de la conception logicielle commence par l'écriture de code de programme dans le langage de programmation approprié et le développement efficace de programmes exécutables sans erreur.
Essai
Une estimation indique que 50% de l'ensemble du processus de développement logiciel devrait être testé. Des erreurs peuvent ruiner le logiciel du niveau critique à sa propre suppression. Les tests logiciels sont effectués pendant le codage par les développeurs et des tests approfondis sont effectués par des experts en test à différents niveaux de code tels que les tests de modules, les tests de programmes, les tests de produits, les tests en interne et les tests du produit du côté de l'utilisateur. La découverte précoce des erreurs et de leur remède est la clé d'un logiciel fiable.
L'intégration
Il se peut que le logiciel doive être intégré aux bibliothèques, bases de données et autres programmes. Cette étape du SDLC est impliquée dans l'intégration du logiciel avec les entités du monde extérieur.
la mise en oeuvre
Cela signifie installer le logiciel sur les machines des utilisateurs. Parfois, le logiciel a besoin de configurations post-installation du côté de l'utilisateur. Le logiciel est testé pour la portabilité et l'adaptabilité et les problèmes liés à l'intégration sont résolus pendant la mise en œuvre.
Opération et maintenance
Cette phase confirme le fonctionnement du logiciel en termes de plus d'efficacité et moins d'erreurs. Si nécessaire, les utilisateurs sont formés ou aidés avec la documentation sur la façon d'utiliser le logiciel et comment maintenir le logiciel opérationnel. Le logiciel est maintenu en temps opportun en mettant à jour le code en fonction des changements intervenus dans l'environnement ou la technologie de l'utilisateur final. Cette phase peut être confrontée à des défis liés à des bogues cachés et à des problèmes non identifiés du monde réel.
Disposition
Au fil du temps, le logiciel peut décliner sur le plan des performances. Il peut devenir complètement obsolète ou nécessiter une mise à niveau intense. D'où un besoin pressant d'éliminer une grande partie du système. Cette phase comprend l'archivage des données et des composants logiciels requis, la fermeture du système, la planification des activités d'élimination et l'arrêt du système à l'heure de fin de système appropriée.
Paradigme de développement logiciel
Le paradigme du développement logiciel aide le développeur à sélectionner une stratégie pour développer le logiciel. Un paradigme de développement logiciel a son propre ensemble d'outils, de méthodes et de procédures, qui sont exprimés clairement et définissent le cycle de vie du développement logiciel. Quelques paradigmes de développement logiciel ou modèles de processus sont définis comme suit:
Modèle de cascade
Le modèle en cascade est le modèle le plus simple de paradigme de développement logiciel. Il dit que toutes les phases du SDLC fonctionneront les unes après les autres de manière linéaire. Autrement dit, lorsque la première phase est terminée, seule la deuxième phase commencera et ainsi de suite.
Ce modèle suppose que tout est exécuté et s'est déroulé parfaitement comme prévu à l'étape précédente et qu'il n'est pas nécessaire de penser aux problèmes du passé qui pourraient survenir dans la phase suivante. Ce modèle ne fonctionne pas correctement s'il reste des problèmes à l'étape précédente. La nature séquentielle du modèle ne nous permet pas de revenir en arrière et d'annuler ou de refaire nos actions.
Ce modèle est le mieux adapté lorsque les développeurs ont déjà conçu et développé des logiciels similaires dans le passé et connaissent tous ses domaines.
Modèle itératif
Ce modèle conduit le processus de développement logiciel par itérations. Il projette le processus de développement de manière cyclique en répétant chaque étape après chaque cycle du processus SDLC.
Le logiciel est d'abord développé à très petite échelle et toutes les étapes sont suivies qui sont prises en considération. Ensuite, à chaque itération suivante, davantage de fonctionnalités et de modules sont conçus, codés, testés et ajoutés au logiciel. Chaque cycle produit un logiciel, qui est complet en lui-même et possède plus de fonctionnalités et de capacités que celui du précédent.
Après chaque itération, l'équipe de direction peut travailler sur la gestion des risques et se préparer à la prochaine itération. Étant donné qu'un cycle comprend une petite partie du processus logiciel entier, il est plus facile de gérer le processus de développement mais il consomme plus de ressources.
Modèle en spirale
Le modèle en spirale est une combinaison du modèle itératif et de l'un des modèles SDLC. Cela peut être vu comme si vous choisissez un modèle SDLC et le combinez avec un processus cyclique (modèle itératif).
Ce modèle considère le risque, qui passe souvent inaperçu par la plupart des autres modèles. Le modèle commence par déterminer les objectifs et les contraintes du logiciel au début d'une itération. La phase suivante est le prototypage du logiciel. Cela comprend l'analyse des risques. Ensuite, un modèle SDLC standard est utilisé pour créer le logiciel. Dans la quatrième phase du plan de la prochaine itération est préparé.
V - modèle
L'inconvénient majeur du modèle en cascade est que nous ne passons à l'étape suivante que lorsque la précédente est terminée et qu'il n'y avait aucune chance de revenir en arrière si quelque chose ne va pas dans les étapes ultérieures. V-Model fournit des moyens de tester le logiciel à chaque étape de manière inverse.
À chaque étape, des plans de test et des cas de test sont créés pour vérifier et valider le produit conformément aux exigences de cette étape. Par exemple, lors de l'étape de collecte des exigences, l'équipe de test prépare tous les cas de test en correspondance avec les exigences. Plus tard, lorsque le produit est développé et est prêt pour les tests, les cas de test de cette étape vérifient le logiciel par rapport à sa validité par rapport aux exigences à ce stade.
Cela rend la vérification et la validation en parallèle. Ce modèle est également appelé modèle de vérification et de validation.
Modèle Big Bang
Ce modèle est le modèle le plus simple dans sa forme. Cela nécessite peu de planification, beaucoup de programmation et beaucoup de fonds. Ce modèle est conceptualisé autour du big bang de l'univers. Comme le disent les scientifiques, après le big bang, de nombreuses galaxies, planètes et étoiles ont évolué comme un événement. De même, si nous réunissons beaucoup de programmes et de fonds, vous pouvez obtenir le meilleur logiciel.
Pour ce modèle, très peu de planification est nécessaire. Il ne suit aucun processus, ou parfois le client n'est pas sûr des exigences et des besoins futurs. Les exigences d'entrée sont donc arbitraires.
Ce modèle n'est pas adapté aux grands projets logiciels mais bon pour l'apprentissage et l'expérimentation.
Pour une lecture approfondie sur SDLC et ses différents modèles, cliquez ici.