4. Principe et différentes phases du cycle de vie d'un projet IT

Le cycle de vie est constitué de huit (08) étapes qui ont toutes leur importance :

  • Analyse (Expression) des besoins : le client (MOA) exprime son besoin par un cahier de charge, en décrivant les usages correspondant au produit fini tel qu'il peut l'imaginer. Cela doit répondre aux questions « Que veut-on ? » et « A quel coût ? ».

  • Spécifications fonctionnelles (MOE): c'est le cahier des charges exact du produit final, tel que le désire le client (MOA). Il doit couvrir l'intégralité des cas d'utilisation du produit, en expliquant ce qu'il doit faire et non pas comment il va le faire. Le cahier des charges décrit, en langage naturel, les fonctionnalités attendues du produit ainsi que les contraintes non fonctionnelles (temps de réponse, contraintes mémoire...). Dans le cas de la refonte d'un système complet on peut avoir un cahier des charges par sous domaine.

  • Spécifications techniques : c'est une traduction des spécifications fonctionnelles (MOE) en termes techniques. C'est durant l'élaboration des spécifications techniques que sont choisies les technologies à mettre en œuvre pour développer le produit, et qu'est conçue l'architecture logicielle du produit.

  • Codage : c'est la phase de réalisation à proprement parler, pendant laquelle sont développées des briques qui sont ensuite assemblées pour créer le produit fini. A l'issue de cette phase les produits intermédiaires sont : les modules codés, la documentation de chaque module et le planning mis à jour.

  • Documentation : Une documentation doit nécessairement accompagner l'ouvrage lors de la livraison. Les acteurs de la documentation sont les MOA/MOE/MOE déléguée. Il y a trois (3) types de documents sont identifiés:

    a. Manuel utilisateur : manuel expliquant le fonctionnement du logiciel aux utilisateurs ;

    b. Manuel d'exploitation : détaille les procédures pour le maintient opérationnel de la solution (modalité d'arrêt des bases, backup, emplacement des fichiers log, procédure de crash recovery, détail des chaînes de nuit, etc. ) ;

    c. Manuel d'administration : détaille toutes les options de paramétrage, de configuration et d'administration du logiciel. Lors de cette étape qui intervient après la réalisation du projet, on établit généralement le plan de test pour la recette (MOE + MOA). Ce dossier test contient également le plan des tests unitaires.

  • Tests unitaires : ces tests interviennent à un niveau « atomique ». chaque brique logicielle a été modélisée puis codée durant les étapes précédentes. Les tests unitaires assurent que ces briques respectent de manière individuelle leur cahier des charges. l'issue de cette phase les produits intermédiaires sont : les modules testés, les résultats des tests unitaires et le planning mis à jour.

  • Tests d'intégration : ce sont là les premiers tests grandeur nature du produit fini. On s'assure qu'il suit les indications des spécifications techniques. l'issue de cette phase, les produits intermédiaires sont : le logiciel testé, les tests de régression, le manuel d'installation et la version finale du manuel utilisateur.

  • Validation : le produit est à ce moment testé en regard de la spécification fonctionnelle. Tous les utilisateurs qui y ont été définies doivent pouvoir se vérifier dans les faits. l'issue de cette phase, le logiciel est prêt à la mise en exploitation.

  • Mise en production et recette : le produit est vérifié une dernière fois pré-production, avant d'être mis en production. Le client (MOA) procède à la recette, pour vérifier que son expression (analyse) de besoin est respectée. Lorsque le produit a été accepté, il passe en phase de maintenance jusqu'à son retrait. C'est pendant cette phase que tous les efforts de documentation faits pendant le développement seront particulièrement appréciés de même que la transparence de l'architecture et du code.

    Enfin, le principe du cycle en vie d'un logiciel est de limiter les retours aux étapes précédentes et ainsi d'éviter par exemple de devoir revenir sur les spécifications et sur le développement une fois.

    Exemple :

    1. Présenter la méthodologie de conduite de projet Web ?

    2. Mettre en place un projet ERP ?

    1. Solution : pendant le cours en présentiel