Phases et modèles du cycle de vie du développement logiciel (SDLC)

Qu'est-ce que SDLC ?

SDLC est un processus systématique de création de logiciels qui garantit la qualité et l'exactitude du logiciel créé. Le processus SDLC vise à produire des logiciels de haute qualité qui répondent aux attentes des clients. Le développement du système doit être terminé dans le délai et le coût prédéfinis. SDLC consiste en un plan détaillé qui explique comment planifier, créer et maintenir un logiciel spécifique. Chaque phase du cycle de vie du SDLC a son propre processus et ses propres livrables qui alimentent la phase suivante. SDLC signifie Cycle de vie du développement logiciel et est également appelé cycle de vie du développement d’applications.

Pourquoi SDCL ?

Voici les principales raisons pour lesquelles SDLC est important pour le développement d'un système logiciel.

  • Il offre une base pour la planification, l'ordonnancement et l'estimation des projets
  • Fournit un cadre pour un ensemble standard d'activités et de livrables
  • C'est un mécanisme de suivi et de contrôle des projets
  • Augmente la visibilité de la planification du projet pour toutes les parties prenantes impliquées dans le processus de développement
  • Augmentation et amélioration de la vitesse de développement
  • Amélioration de la relation client
  • Vous aide à réduire les risques du projet et les frais généraux du plan de gestion de projet

 

Phases SDLC

L'ensemble du processus SDLC est divisé en les étapes SDLC suivantes :

Phases SDLC
Phases SDLC
  • Phase 1 : Collecte et analyse des exigences
  • Phase 2 : Étude de faisabilité
  • Phase 3 : Conception
  • Phase 4 : Codage
  • Phase 5 : Tests
  • Phase 6 : Installation/Déploiement
  • Phase 7 : Entretien

Dans ce tutoriel, j'ai expliqué toutes ces phases du cycle de vie du développement logiciel

Phase 1 : Collecte et analyse des exigences

Cette exigence constitue la première étape du processus SDLC. Il est mené par les membres supérieurs de l’équipe avec la contribution de toutes les parties prenantes et experts du domaine de l’industrie. Planification du assurance de la qualité les exigences et la reconnaissance des risques encourus se font également à ce stade.

Cette étape donne une image plus claire de la portée de l'ensemble du projet et des problèmes, opportunités et directives anticipés qui ont déclenché le projet.

L'étape de collecte des exigences nécessite des équipes pour obtenir des exigences détaillées et précises. Cela aide les entreprises à finaliser le calendrier nécessaire pour terminer le travail de ce système.

Phase 2 : Étude de faisabilité

Une fois la phase d'analyse des besoins terminée, l'étape suivante du SDLC consiste à définir et à documenter les besoins en logiciels. Ce processus a été mené à l'aide du document « Software Requirement Specification » également connu sous le nom de document « SRS ». Il comprend tout ce qui doit être conçu et développé pendant le cycle de vie du projet.

Il existe principalement cinq types de vérifications de faisabilité :

  • Économique: Pouvons-nous terminer le projet dans les limites du budget ou non ?
  • Juridique : Pouvons-nous gérer ce projet en tant que cyberloi et autres cadres réglementaires/conformités ?
  • Operafaisabilité : Peut-on créer des opérations attendues par le client ?
  • Technique: Besoin de vérifier si le système informatique actuel peut prendre en charge le logiciel
  • Horaire : Décidez si le projet peut être achevé dans les délais impartis ou non.

Phase 3 : Conception

Dans cette troisième phase, les documents de conception du système et du logiciel sont préparés conformément au document de spécification des exigences. Cela permet de définir l'architecture globale du système.

Cette phase de conception sert d'input pour la phase suivante du modèle.

Il existe deux types de documents de conception élaborés au cours de cette phase :

Conception de haut niveau (HLD)

  • Brève description et nom de chaque module
  • Un aperçu des fonctionnalités de chaque module
  • Relation d'interface et dépendances entre les modules
  • Tables de base de données identifiées avec leurs éléments clés
  • Schémas d'architecture complets avec détails technologiques

Conception de bas niveau (LLD)

  • Logique fonctionnelle des modules
  • Tables de base de données, qui incluent le type et la taille
  • Détail complet de l'interface
  • Résout tous les types de problèmes de dépendance
  • Liste des messages d'erreur
  • Entrées et sorties complètes pour chaque module

Phase 4 : Codage

Une fois la phase de conception du système terminée, la phase suivante est le codage. Dans cette phase, les développeurs commencent à construire l'ensemble du système en écrivant du code à l'aide du langage de programmation choisi. Dans la phase de codage, les tâches sont divisées en unités ou modules et attribuées aux différents développeurs. Il s'agit de la phase la plus longue du processus du cycle de vie du développement logiciel.

Dans cette phase, le développeur doit suivre certaines directives de codage prédéfinies. Ils doivent également utiliser outils de programmation comme le compilateur, les interprètes, le débogueur pour générer et implémenter le code.

Phase 5 : Tests

Une fois le logiciel terminé, il est déployé dans l'environnement de test. L'équipe de test commence à tester la fonctionnalité de l'ensemble du système. Ceci est fait pour vérifier que l'ensemble de l'application fonctionne conformément aux exigences du client.

Au cours de cette phase, l'équipe d'assurance qualité et de test peut trouver des bogues/défauts qu'ils communiquent aux développeurs. L'équipe de développement corrige le bogue et le renvoie au QA pour un nouveau test. Ce processus se poursuit jusqu'à ce que le logiciel soit sans bogue, stable et fonctionne selon les besoins commerciaux de ce système.

Phase 6 : Installation/Déploiement

Une fois la phase de test du logiciel terminée et qu'il ne reste aucun bogue ou erreur dans le système, le processus de déploiement final commence. Sur la base des commentaires donnés par le chef de projet, le logiciel final est publié et vérifié pour les problèmes de déploiement, le cas échéant.

Phase 7 : Entretien

Une fois que le système est déployé et que les clients commencent à utiliser le système développé, les 3 activités suivantes se produisent

  • Correction de bogues - des bogues sont signalés en raison de certains scénarios qui ne sont pas du tout testés
  • Upgrade – Mise à niveau de l’application vers les versions les plus récentes du Logiciel
  • Amélioration - Ajout de nouvelles fonctionnalités au logiciel existant

L'objectif principal de cette phase SDLC est de s'assurer que les besoins continuent d'être satisfaits et que le système continue de fonctionner conformément aux spécifications mentionnées dans la première phase.

Modèles SDLC populaires

Voici quelques-uns des modèles les plus importants du cycle de vie du développement logiciel (SDLC) :

Modèle de cascade dans SDLC

La cascade est un modèle SDLC largement accepté. Dans cette approche, l'ensemble du processus de développement logiciel est divisé en différentes phases de SDLC. Dans ce modèle SDLC, le résultat d’une phase sert d’entrée pour la phase suivante.

Ce modèle SDLC est très documenté, les phases précédentes documentant ce qui doit être effectué dans les phases suivantes.

Modèle incrémental dans SDLC

Le modèle incrémental n’est pas un modèle distinct. Il s’agit essentiellement d’une série de cycles en cascade. Les exigences sont réparties en groupes au début du projet. Pour chaque groupe, le modèle SDLC est suivi pour développer des logiciels. Le processus du cycle de vie du SDLC est répété, chaque version ajoutant davantage de fonctionnalités jusqu'à ce que toutes les exigences soient remplies. Dans cette méthode, chaque cycle fait office de phase de maintenance pour la version précédente du logiciel. La modification du modèle incrémentiel permet aux cycles de développement de se chevaucher. Après ce cycle suivant, il peut commencer avant que le cycle précédent ne soit terminé.

Modèle V dans SDLC

Dans ce type de test de modèle SDLC et de développement, la phase est planifiée en parallèle. Il y a donc les phases de vérification du SDLC d’un côté et la phase de validation de l’autre. Le modèle V rejoint par phase de codage.

Modèle Agile en SDLC

La méthodologie agile est une pratique qui favorise l'interaction continue du développement et des tests pendant le processus SDLC de tout projet. Dans la méthode Agile, l'ensemble du projet est divisé en petits builds incrémentiels. Toutes ces versions sont fournies par itérations, et chaque itération dure d'une à trois semaines.

Modèle en spirale

Le modèle en spirale est un modèle de processus axé sur les risques. Ce modèle de test SDLC aide l'équipe à adopter des éléments d'un ou plusieurs modèles de processus comme une cascade, un incrémentiel, une cascade, etc.

Ce modèle adopte les meilleures caractéristiques du modèle de prototypage et du modèle en cascade. La méthodologie en spirale est une combinaison de prototypage rapide et de simultanéité dans les activités de conception et de développement.

Modèle Big Bang

Le modèle Big Bang se concentre sur tous les types de ressources dans le développement et le codage de logiciels, avec peu ou pas de planification. Les exigences sont comprises et mises en œuvre lorsqu'elles surviennent.

Ce modèle fonctionne mieux pour les petits projets avec une équipe de développement de petite taille qui travaille ensemble. Il est également utile pour les projets de développement de logiciels académiques. C'est un modèle idéal où les exigences sont inconnues ou la date de sortie finale n'est pas donnée.

Résumé

  • Le cycle de vie du développement logiciel (SDLC) est un processus systématique de création de logiciels qui garantit la qualité et l'exactitude du logiciel construit.
  • La forme complète SDLC est le cycle de vie du développement logiciel ou le cycle de vie du développement des systèmes.
  • SDLC en génie logiciel fournit un cadre pour un ensemble standard d'activités et de livrables
  • Sept étapes SDLC différentes sont 1) Collecte et analyse des exigences 2) Étude de faisabilité : 3) Conception 4) Codage 5) Tests : 6) Installation/Déploiement et 7) Maintenance
  • Les membres seniors de l'équipe mènent les analyse des besoins phase
  • L'étape d'étude de faisabilité comprend tout ce qui doit être conçu et développé pendant le cycle de vie du projet.
  • Dans la phase de conception, les documents de conception du système et du logiciel sont préparés conformément au document de spécification des exigences
  • Dans la phase de codage, les développeurs commencent à construire l'ensemble du système en écrivant du code à l'aide du langage de programmation choisi
  • Les tests sont la phase suivante qui est menée pour vérifier que l'ensemble de l'application fonctionne conformément aux exigences du client.
  • L'installation et le déploiement commencent lorsque le test logiciel la phase est terminée et aucun bug ou erreur ne reste dans le système
  • Actions de correction de bogues, de mise à niveau et d'engagement couvertes par la maintenance
  • Waterfall, Incremental, Agile, V model, Spiral, Big Bang sont quelques-uns des modèles SDLC populaires en génie logiciel.
  • Le SDLC dans les tests logiciels consiste en un plan détaillé qui explique comment planifier, créer et maintenir un logiciel spécifique.