SDLC - Présentation

Le cycle de vie du développement logiciel (SDLC) est un processus utilisé par l'industrie du logiciel pour concevoir, développer et tester des logiciels de haute qualité. Le SDLC vise à produire un logiciel de haute qualité qui répond ou dépasse les attentes des clients, arrive à terme dans les délais et les estimations de coûts.

  • SDLC est l'acronyme de Software Development Life Cycle.

  • Il est également appelé processus de développement logiciel.

  • SDLC est un cadre définissant les tâches exécutées à chaque étape du processus de développement logiciel.

  • ISO / CEI 12207 est une norme internationale pour les processus du cycle de vie des logiciels. Il vise à être la norme qui définit toutes les tâches requises pour le développement et la maintenance des logiciels.

Qu'est-ce que le SDLC?

SDLC est un processus suivi pour un projet logiciel, au sein d'une organisation logicielle. Il consiste en un plan détaillé décrivant comment développer, maintenir, remplacer et modifier ou améliorer un logiciel spécifique. Le cycle de vie définit une méthodologie pour améliorer la qualité des logiciels et le processus de développement global.

La figure suivante est une représentation graphique des différentes étapes d'un SDLC typique.

Un cycle de vie de développement logiciel typique comprend les étapes suivantes:

Étape 1: Planification et analyse des besoins

L'analyse des exigences est l'étape la plus importante et la plus fondamentale du SDLC. Il est réalisé par les membres seniors de l'équipe avec les contributions du client, du service commercial, des études de marché et des experts du domaine de l'industrie. Ces informations sont ensuite utilisées pour planifier l'approche de base du projet et pour mener une étude de faisabilité du produit dans les domaines économique, opérationnel et technique.

La planification des exigences d'assurance qualité et l'identification des risques associés au projet sont également effectuées au stade de la planification. Le résultat de l'étude de faisabilité technique est de définir les différentes approches techniques qui peuvent être suivies pour mettre en œuvre le projet avec succès avec un minimum de risques.

Étape 2: Définition des exigences

Une fois l'analyse des exigences effectuée, l'étape suivante consiste à définir et à documenter clairement les exigences du produit et à les faire approuver par le client ou les analystes du marché. Cela se fait par unSRS (Software Requirement Specification) document qui comprend toutes les exigences du produit à concevoir et à développer pendant le cycle de vie du projet.

Étape 3: Conception de l'architecture du produit

SRS est la référence des architectes de produits pour proposer la meilleure architecture pour le produit à développer. Sur la base des exigences spécifiées dans le SRS, plus d'une approche de conception pour l'architecture du produit est généralement proposée et documentée dans un DDS - Design Document Specification.

Cette DDS est revue par toutes les parties prenantes importantes et basée sur divers paramètres tels que l'évaluation des risques, la robustesse du produit, la modularité de la conception, les contraintes de budget et de temps, la meilleure approche de conception est sélectionnée pour le produit.

Une approche de conception définit clairement tous les modules architecturaux du produit ainsi que sa communication et sa représentation des flux de données avec les modules externes et tiers (le cas échéant). La conception interne de tous les modules de l'architecture proposée doit être clairement définie avec les moindres détails dans DDS.

Étape 4: Construction ou développement du produit

À cette étape du SDLC, le développement proprement dit commence et le produit est construit. Le code de programmation est généré selon DDS au cours de cette étape. Si la conception est effectuée de manière détaillée et organisée, la génération de code peut être effectuée sans trop de tracas.

Les développeurs doivent suivre les directives de codage définies par leur organisation et des outils de programmation tels que des compilateurs, des interprètes, des débogueurs, etc. sont utilisés pour générer le code. Différents langages de programmation de haut niveau tels que C, C ++, Pascal, Java et PHP sont utilisés pour le codage. Le langage de programmation est choisi en fonction du type de logiciel en cours de développement.

Étape 5: Test du produit

Cette étape est généralement un sous-ensemble de toutes les étapes car dans les modèles SDLC modernes, les activités de test sont principalement impliquées dans toutes les étapes de SDLC. Cependant, cette étape fait référence à l'étape de test uniquement du produit où les défauts du produit sont signalés, suivis, corrigés et retestés, jusqu'à ce que le produit atteigne les normes de qualité définies dans le SRS.

Étape 6: Déploiement sur le marché et maintenance

Une fois que le produit est testé et prêt à être déployé, il est officiellement commercialisé sur le marché approprié. Parfois, le déploiement du produit se fait par étapes, conformément à la stratégie commerciale de cette organisation. Le produit peut d'abord être commercialisé dans un segment limité et testé dans l'environnement commercial réel (test d'acceptation UAT-User).

Ensuite, en fonction des commentaires, le produit peut être publié tel quel ou avec des améliorations suggérées dans le segment de marché du ciblage. Une fois le produit mis sur le marché, sa maintenance est effectuée pour la clientèle existante.

Modèles SDLC

Il existe différents modèles de cycle de vie de développement logiciel définis et conçus qui sont suivis pendant le processus de développement logiciel. Ces modèles sont également appelés modèles de processus de développement logiciel ". Chaque modèle de processus suit une série d'étapes uniques à son type pour assurer le succès du processus de développement logiciel.

Voici les modèles SDLC les plus importants et les plus populaires suivis dans l'industrie -

  • Modèle de cascade
  • Modèle itératif
  • Modèle en spirale
  • V-Model
  • Modèle Big Bang

D'autres méthodologies associées sont le modèle agile, le modèle RAD, le développement rapide d'applications et les modèles de prototypage.