sdlc phases
Qu'est-ce que le cycle de vie du développement logiciel (SDLC)? Apprenez les phases, méthodologies, processus et modèles SDLC
Le cycle de vie du développement logiciel (SDLC) est un cadre qui définit les étapes impliquées dans le développement d'un logiciel à chaque phase. Il couvre le plan détaillé de construction, de déploiement et de maintenance du logiciel.
SDLC définit le cycle complet de développement, c'est-à-dire toutes les tâches impliquées dans la planification, la création, le test et le déploiement d'un produit logiciel.
Ce que vous apprendrez:
- Processus du cycle de vie du développement logiciel
- Cycle SDLC
- Phases SDLC
- Modèles de cycle de vie de développement logiciel
- Conclusion
Processus du cycle de vie du développement logiciel
SDLC est un processus qui définit les différentes étapes impliquées dans le développement d'un logiciel pour fournir un produit de haute qualité. Les étapes SDLC couvrent le cycle de vie complet d'un logiciel, c'est-à-dire de la création à la mise hors service du produit.
L'adhésion au processus SDLC conduit au développement du logiciel de manière systématique et disciplinée.
But:
Le but de SDLC est de fournir un produit de haute qualité conforme aux exigences du client.
SDLC a défini ses phases comme suit: collecte des exigences, conception, codage, test et maintenance. Il est important de respecter les phases pour fournir le Produit de manière systématique.
Par exemple, Un logiciel doit être développé et une équipe est divisée pour travailler sur une fonctionnalité du produit et est autorisée à travailler comme elle le souhaite. L'un des développeurs décide de concevoir en premier tandis que l'autre décide de coder en premier et l'autre sur la partie documentation.
Cela conduira à l'échec du projet en raison duquel il est nécessaire d'avoir une bonne connaissance et une bonne compréhension parmi les membres de l'équipe pour livrer un produit attendu.
Cycle SDLC
SDLC Cycle représente le processus de développement de logiciels.
Voici la représentation schématique du cycle SDLC:
Phases SDLC
Voici les différentes phases:
- Collecte et analyse des besoins
- Conception
- Implémentation ou codage
- Essai
- Déploiement
- Maintenance
# 1) Collecte et analyse des exigences
Au cours de cette phase, toutes les informations pertinentes sont collectées auprès du client pour développer un produit selon ses attentes. Toute ambiguïté doit être résolue dans cette phase uniquement.
L'analyste d'affaires et le chef de projet ont organisé une réunion avec le client pour rassembler toutes les informations telles que ce que le client veut construire, qui sera l'utilisateur final, quel est le but du produit. Avant de créer un produit, une compréhension ou une connaissance de base du produit est très importante.
Par exemple, Un client souhaite avoir une application qui implique des transactions monétaires. Dans ce cas, l'exigence doit être claire, comme le type de transactions qui seront effectuées, comment elles seront effectuées, dans quelle devise elles seront effectuées, etc.
Une fois le recueil des exigences effectué, une analyse est effectuée pour vérifier la faisabilité du développement d'un produit. En cas d'ambiguïté, un appel est établi pour une discussion ultérieure.
Une fois l'exigence clairement comprise, le document SRS (Software Requirement Specification) est créé. Ce document doit être bien compris par les développeurs et doit également être examiné par le client pour référence future.
# 2) Conception
Dans cette phase, les exigences rassemblées dans le document SRS sont utilisées comme entrée et l'architecture logicielle utilisée pour la mise en œuvre du développement du système est dérivée.
# 3) Mise en œuvre ou codage
La mise en œuvre / le codage commence une fois que le développeur obtient le document de conception. La conception du logiciel est traduite en code source. Tous les composants du logiciel sont mis en œuvre dans cette phase.
html5 questions et réponses d'entretien pour pdf expérimenté
# 4) Test
Le test commence une fois le codage terminé et les modules sont libérés pour les tests. Dans cette phase, le logiciel développé est testé de manière approfondie et tous les défauts détectés sont attribués aux développeurs pour qu'ils soient corrigés.
Un nouveau test, un test de régression est effectué jusqu’à ce que le logiciel soit conforme aux attentes du client. Les testeurs se réfèrent au document SRS pour s’assurer que le logiciel est conforme à la norme du client.
# 5) Déploiement
Une fois le produit testé, il est déployé dans l'environnement de production ou UAT (test d'acceptation utilisateur) se fait en fonction des attentes du client.
Dans le cas d'UAT, une réplique de l'environnement de production est créée et le client et les développeurs effectuent les tests. Si le client trouve l'application comme prévu, la signature est fournie par le client pour la mise en ligne.
# 6) Entretien
Après le déploiement d'un produit sur l'environnement de production, la maintenance du produit, c'est-à-dire si un problème survient et doit être corrigé ou si une amélioration doit être apportée, est prise en charge par les développeurs.
Modèles de cycle de vie de développement logiciel
Un modèle de cycle de vie logiciel est une représentation descriptive du cycle de développement logiciel. Les modèles SDLC peuvent avoir une approche différente, mais les phases de base et l'activité restent les mêmes pour tous les modèles.
# 1) Modèle de cascade
Modèle de cascade est le tout premier modèle utilisé en SDLC. Il est également connu sous le nom de modèle séquentiel linéaire.
Dans ce modèle, le résultat d'une phase est l'entrée pour la phase suivante. Le développement de la phase suivante ne commence que lorsque la phase précédente est terminée.
- Tout d'abord, la collecte et l'analyse des exigences sont effectuées. Une fois l'exigence gelée, seule la conception du système peut démarrer. Ici, le document SRS créé est la sortie de la phase d'exigence et agit comme une entrée pour la conception du système.
- Dans l'architecture et la conception du logiciel de conception de système, les documents qui agissent comme une entrée pour la phase suivante sont créés, c'est-à-dire la mise en œuvre et le codage.
- Dans la phase de mise en œuvre, le codage est effectué et le logiciel développé est l'entrée pour la phase suivante, c'est-à-dire les tests.
- Dans la phase de test, le code développé est testé de manière approfondie pour détecter les défauts du logiciel. Les défauts sont enregistrés dans l'outil de suivi des défauts et sont retestés une fois corrigés. La journalisation des bogues, le nouveau test, les tests de régression se poursuivent jusqu'au moment où le logiciel est en état de mise en service.
- Dans la phase de déploiement, le code développé est mis en production après l'approbation par le client.
- Tous les problèmes dans l'environnement de production sont résolus par les développeurs qui relèvent de la maintenance.
Avantages du modèle de cascade:
- Le modèle de cascade est le modèle simple qui peut être facilement compris et est celui dans lequel toutes les phases sont effectuées étape par étape.
- Les livrables de chaque phase sont bien définis, ce qui n'entraîne aucune complexité et rend le projet facilement gérable.
Inconvénients du modèle Waterfall:
- Le modèle en cascade prend du temps et ne peut pas être utilisé dans les projets de courte durée car dans ce modèle, une nouvelle phase ne peut pas être démarrée tant que la phase en cours n'est pas terminée.
- Le modèle en cascade ne peut pas être utilisé pour les projets qui ont des exigences incertaines ou dans lesquels l'exigence continue de changer car ce modèle s'attend à ce que l'exigence soit claire dans la phase de collecte et d'analyse des exigences elle-même et tout changement dans les étapes ultérieures entraînerait des coûts plus élevés car le des changements seraient nécessaires dans toutes les phases.
# 2) Modèle en forme de V
Modèle en V est également connu sous le nom de modèle de vérification et de validation. Dans ce modèle, la vérification et la validation vont de pair, c'est-à-dire que le développement et les tests sont parallèles. Le modèle V et le modèle en cascade sont les mêmes, sauf que la planification et les tests des tests commencent à un stade précoce dans V-Model.
a) Phase de vérification:
(i) Analyse des besoins:
Dans cette phase, toutes les informations requises sont rassemblées et analysées. Les activités de vérification comprennent l'examen des exigences.
(ii) Conception du système:
Une fois l'exigence claire, un système est conçu, c'est-à-dire l'architecture, les composants du produit sont créés et documentés dans un document de conception.
(iii) Conception de haut niveau:
La conception de haut niveau définit l'architecture / la conception des modules. Il définit la fonctionnalité entre les deux modules.
(iv) Conception de bas niveau:
La conception de bas niveau définit l'architecture / la conception des composants individuels.
(v) Codage:
Le développement du code est effectué dans cette phase.
b) Phase de validation:
(i) Tests unitaires:
Test unitaire est effectué à l'aide des cas de test unitaires qui sont conçus et est effectué dans la phase de conception de bas niveau. Les tests unitaires sont effectués par le développeur lui-même. Elle est effectuée sur des composants individuels qui conduisent à une détection précoce des défauts.
(ii) Test d'intégration:
Test d'intégration est effectuée à l'aide de cas de test d'intégration dans la phase de conception de haut niveau. Les tests d'intégration sont les tests effectués sur les modules intégrés. Il est réalisé par des testeurs.
(iii) Test du système:
Test du système est effectuée dans la phase de conception du système. Dans cette phase, le système complet est testé, c'est-à-dire que toute la fonctionnalité du système est testée.
(iv) Test d'acceptation:
Les tests d'acceptation sont associés à la phase d'analyse des exigences et sont effectués dans l'environnement du client.
Avantages de V - Model:
- C'est un modèle simple et facilement compréhensible.
- L'approche modèle en V est bonne pour les petits projets dans lesquels l'exigence est définie et se fige au début.
- C'est un modèle systématique et discipliné qui aboutit à un produit de haute qualité.
Inconvénients du modèle en V:
- Le modèle en forme de V n'est pas bon pour les projets en cours.
- Une modification des exigences à un stade ultérieur coûterait trop cher.
# 3) Modèle prototype
Le modèle prototype est un modèle dans lequel le prototype est développé avant le logiciel proprement dit.
Les modèles prototypes ont des capacités fonctionnelles limitées et des performances inefficaces par rapport au logiciel réel. Des fonctions factices sont utilisées pour créer des prototypes. C’est un mécanisme précieux pour comprendre les besoins des clients.
Les prototypes de logiciels sont construits avant le logiciel réel pour obtenir des commentaires précieux du client. Les retours sont mis en œuvre et le prototype est à nouveau revu par le client pour tout changement. Ce processus se poursuit jusqu'à ce que le modèle soit accepté par le client.
Une fois la collecte des exigences terminée, la conception rapide est créée et le prototype qui est présenté au client pour évaluation est construit.
Les commentaires des clients et l'exigence affinée sont utilisés pour modifier le prototype et sont à nouveau présentés au client pour évaluation. Une fois que le client a approuvé le prototype, il est utilisé comme une exigence pour la construction du logiciel réel. Le logiciel actuel est construit en utilisant l'approche du modèle Waterfall.
Avantages du modèle prototype:
- Le modèle prototype réduit le coût et le temps de développement car les défauts sont détectés beaucoup plus tôt.
- Une caractéristique ou une fonctionnalité manquante ou un changement d'exigence peut être identifié dans la phase d'évaluation et peut être mis en œuvre dans le prototype affiné.
- L'implication d'un client dès la phase initiale réduit toute confusion dans l'exigence ou la compréhension de toute fonctionnalité.
Inconvénients du modèle prototype:
- Étant donné que le client est impliqué dans chaque phase, le client peut modifier l'exigence du produit final, ce qui augmente la complexité de la portée et peut augmenter le délai de livraison du produit.
# 4) Modèle en spirale
Le modèle en spirale comprend une approche itérative et prototype.
Les phases du modèle en spirale sont suivies dans les itérations. Les boucles du modèle représentent la phase du processus SDLC, c'est-à-dire que la boucle la plus interne est celle de la collecte et de l'analyse des exigences qui suit la planification, l'analyse des risques, le développement et l'évaluation. La prochaine boucle est la conception suivie de l'implémentation puis des tests.
Le modèle en spirale comporte quatre phases:
- Planification
- Analyse de risque
- Ingénierie
- Évaluation
(i) Planification:
La phase de planification comprend la collecte des exigences dans laquelle toutes les informations requises sont recueillies auprès du client et sont documentées. Le document de spécification des exigences logicielles est créé pour la phase suivante.
(ii) Analyse des risques:
Dans cette phase, la meilleure solution est sélectionnée pour les risques encourus et l'analyse se fait en construisant le prototype.
Par exemple , le risque lié à l'accès aux données à partir d'une base de données distante peut être que le taux d'accès aux données soit trop lent. Le risque peut être résolu en construisant un prototype du sous-système d'accès aux données.
(iii) Ingénierie:
Une fois l'analyse des risques effectuée, le codage et les tests sont effectués.
(iv) Évaluation:
Le client évalue le système développé et planifie la prochaine itération.
Avantages du modèle en spirale:
- L'analyse des risques est effectuée de manière approfondie à l'aide des modèles prototypes.
- Toute amélioration ou modification de la fonctionnalité peut être effectuée lors de la prochaine itération.
Inconvénients du modèle en spirale:
- Le modèle en spirale est le mieux adapté pour les grands projets uniquement.
- Le coût peut être élevé car cela peut prendre un grand nombre d'itérations, ce qui peut conduire à un temps long pour atteindre le produit final.
# 5) Modèle incrémental itératif
Le modèle incrémental itératif divise le produit en petits morceaux.
Par exemple , La fonctionnalité à développer dans l'itération est décidée et implémentée. Chaque itération passe par les phases à savoir l'analyse des exigences, la conception, le codage et les tests. Une planification détaillée n'est pas requise dans les itérations.
Une fois l'itération terminée, un produit est vérifié et livré au client pour son évaluation et ses commentaires. Les commentaires des clients sont mis en œuvre dans la prochaine itération avec la fonctionnalité nouvellement ajoutée.
Par conséquent, le produit augmente en termes de fonctionnalités et une fois les itérations terminées, la version finale contient toutes les fonctionnalités du produit.
Phases du modèle de développement itératif et incrémental:
- Phase de lancement
- Phase d'élaboration
- Phase de construction
- Phase de transition
(i) Phase de lancement:
La phase de démarrage comprend les exigences et la portée du projet.
(ii) Phase d'élaboration:
Dans la phase d'élaboration, l'architecture de travail d'un produit est livrée qui couvre le risque identifié dans la phase de démarrage et remplit également les exigences non fonctionnelles.
(iii) Phase de construction:
Dans la phase de construction, l'architecture est remplie avec le code qui est prêt à être déployé et est créé par l'analyse, la conception, la mise en œuvre et le test de l'exigence fonctionnelle.
(iv) Phase de transition:
Dans la phase de transition, le produit est déployé dans l'environnement de production.
Avantages du modèle itératif et incrémental:
- Toute modification de l'exigence peut être facilement effectuée et ne coûterait rien, car il est possible d'incorporer la nouvelle exigence dans la prochaine itération.
- Le risque est analysé et identifié dans les itérations.
- Les défauts sont détectés à un stade précoce.
- Comme le produit est divisé en plus petits morceaux, il est facile de gérer le produit.
Désavantages du modèle itératif et incrémental:
- Une exigence et une compréhension complètes d'un produit sont nécessaires pour se décomposer et se construire progressivement.
# 6) Modèle Big Bang
Big Bang Model n'a pas de processus défini. L'argent et les efforts sont rassemblés car les intrants et les extrants constituent un produit développé qui peut être ou non le même que ce dont le client a besoin.
Le modèle Big Bang ne nécessite pas beaucoup de planification et d'ordonnancement. Le développeur effectue l'analyse et le codage des exigences et développe le produit selon sa compréhension. Ce modèle est utilisé uniquement pour les petits projets. Il n'y a pas d'équipe de test et aucun test formel n'est effectué, ce qui pourrait être une cause d'échec du projet.
Avantages du modèle Big Bang:
- C’est un modèle très simple.
- Moins de planification et d'ordonnancement sont nécessaires.
- Le développeur a la possibilité de créer son propre logiciel.
Inconvénients du modèle Big Bang:
- Les modèles Big Bang ne peuvent pas être utilisés pour les grands projets en cours et complexes.
- Risque élevé et incertitude.
# 7) Modèle Agile
Le modèle Agile est une combinaison du modèle itératif et incrémental. Ce modèle met davantage l'accent sur la flexibilité lors du développement d'un produit que sur l'exigence.
Dans Agile, un produit est divisé en petites versions incrémentielles. Il n'est pas développé comme un produit complet en une seule fois. Chaque build augmente en termes de fonctionnalités. La prochaine version est basée sur les fonctionnalités précédentes.
Dans les itérations agiles, on parle de sprints. Chaque sprint dure 2 à 4 semaines. A la fin de chaque sprint, le product owner vérifie le produit et après son approbation, il est livré au client.
Les commentaires des clients sont pris pour amélioration et ses suggestions et améliorations sont travaillées au prochain sprint. Des tests sont effectués à chaque sprint pour minimiser le risque d'échec.
Avantages du modèle agile:
- Cela permet plus de flexibilité pour s'adapter aux changements.
- La nouvelle fonctionnalité peut être ajoutée facilement.
- Satisfaction du client car les commentaires et suggestions sont pris en compte à chaque étape.
Désavantages:
- Manque de documentation.
- Agile a besoin de ressources expérimentées et hautement qualifiées.
- Si un client ne sait pas exactement comment il souhaite que le produit soit, le projet échouera.
Conclusion
L'adhésion à un cycle de vie approprié est très importante pour la réussite du projet. Ceci, à son tour, facilite la gestion.
Différents modèles de cycle de vie de développement logiciel ont leurs propres avantages et inconvénients. Le meilleur modèle pour tout projet peut être déterminé par des facteurs tels que l'exigence (qu'elle soit claire ou non), la complexité du système, la taille du projet, le coût, la limitation des compétences, etc.
Exemple, en cas d'exigence peu claire, il est préférable d'utiliser les modèles Spiral et Agile car le changement requis peut être facilement adapté à tout moment.
Le modèle en cascade est un modèle de base et tous les autres modèles SDLC sont basés uniquement sur cela.
J'espère que vous auriez acquis une immense connaissance de SDLC.
lecture recommandée
- Modèle en spirale - Qu'est-ce que le modèle en spirale SDLC?
- Qu'est-ce que le modèle de cascade SDLC?
- Qu'est-ce que le cycle de vie des tests logiciels (STLC)?
- Emploi d'assistant QA en test logiciel
- 10 MEILLEURES sociétés et services de développement de logiciels personnalisés en 2021
- Test de logiciel pratique - Nouvel eBook GRATUIT [Télécharger]
- Sur site - Modèle offshore de projets de test de logiciels (et comment le faire fonctionner pour vous)
- Pourquoi les logiciels ont-ils des bogues?