Accéder au contenu principal

Guide pour élaborer un Projet Logiciel

 Introduction

Les étudiants dans les filières IT et spécialement ceux qui suivent un cursus Génie Logiciel (GL) sont toujours appelés à réaliser des projets logiciels que se soit sous la forme de projets tutorés ou dans le cadre des projets logiciels de fin d'année ou de fin d'études. Ces étudiants souvent sont mal accompagnés pour bien dérouler leur projet. C'est dans ce contexte que j'ai essayé de réaliser ce guide qui va permettre aux étudiants des filières IT de savoir mener un projet GL. Ce guide présente les étapes nécessaires ainsi que les outils indispensables pour ce faire. L'ensemble des étapes est présenté de manière linéaire.

Présentation du Projet

Avant de commencer, l'étudiant doit absolument présenter le contexte et la raison d'être de son projet. Il doit insister à bien clarifier la problématique, la vision, le scope du projet ainsi que le modèle de cycle de vie approprié qu'il souhaite adopter. Si il souhaite adopter un processus agile, alors il doit présenter ce que l'on peut appeler le MVP (Minimum Viable Product) et puis s'inscrire dans le cadre d'un processus itératif et incrémental. Il est par ailleurs indispensable d'utiliser des outils de gestion de projets collaboratifs tels que Trello ou autre.

Analyse de l'existant

Dans cette partie, l'étudiant est censé identifier les processus métiers les plus importants relevant du Système d'Information sur lequel il travaille. Ici, je recommande d'adopter la notation BPMN qui permet de bien modéliser les processus métiers. Cette étape va nous permettre de bien comprendre le fonctionnement du système et servira aussi pour la définition de l'architecture de l'application ou du logiciel à développer. En plus de la création des modèles BPMN il est judicieux de créer d'autres modèles notamment les diagrammes d'interactions UML. Le choix d'un outil est indispensable, je vous recommande l'outil ModelioSoft qui pourrait servir aussi bien pour l'élaboration des modèles BPMN et des diagrammes UML.

Conception de l'application

La phase de conception constitue le début de création de votre logiciel. Vous êtes invités à décrire la nature de votre projet, est ce qu'il s'agit d'une application web, mobile, desktop, cloud ou autre. Vous devez aussi spécifier si c'est une application Full Stack, Front end ou Back end uniquement. C'est à ce niveau là aussi que vous allez définir l'architecture du projet et par ailleurs vous pouvez toujours penser à produire les diagrammes logiques notamment à base des diagrammes de packetage et de déploiement. Le digramme de classe métier est bien sûr indispensable.

Mise en oeuvre

Pour cette étape, il est opportun de présenter les outils de travail. Sachez que réaliser un logiciel est une affaire d'équipe, du coup vous devez au préalable définir la constitution de l'équipe avec l'attribution des différents rôles. Il est important de signaler que la documentation est une activité principale, je vous suggère alors de créer un espace dédié à votre projet sur la plateforme Github où vous allez mentionner et créer tous les documents nécessaires à la bonne conduite du projet, notamment les documents : cahier des charges, vision du projet, modèles UML, modèle BPMN, Plan du projet sous Ganttproject ou autre, la répartition des tâches (pensez à Trello).

Outil de Build

Il serait important pour la bonne réussite d'un projet logiciel d'opter pour un outil de build tel que Maven ou Gradle.

Qualité du code

Un code de qualité est toujours le bienvenu, donc faites de votre mieux pour écrire un code de qualité et d'évaluer ce code en utilisant des outils appropriés tels que SonarQube ou autre.

Gestion des Bugs

Même si votre projet est personnel et n'est pas effectué au sein d'une Entreprise, il est de votre responsabilité de penser à intégrer un outil de gestion de bugs tel que Bugzilla ou Mantis.

Test Unitaire

En fonction du langage de développement utilisé pour développer le code de votre application, vous devez choisir l'outil de test unitaire approprié. Si vous êtes sous Java, vous allez adopter JUnit comme outil de test et vous devez par conséquent élaborer le plan de test adhoc.

Test fonctionnel

La plupart des applications développées nécessitent une phase de tests fonctionnels pour pouvoir éventuellement relever toutes les erreurs potentielles. L'outil que je vous recommande dans ce sens est bien Selenium.

Conclusion

En guise de conclusion, sachez que réaliser un Logiciel est un art en soi. Vous devez être à l'écoute en permanence pour être à jour par rapport aux processus, démarches, méthodes et outils à adopter en vue de pouvoir créer rapidement de la valeur pour vos Clients. Le Génie Logiciel ça d'apprend et ça motive. Bon courage à vous tous et restez branchés.

Commentaires

Posts les plus consultés de ce blog

Rédaction d'un document Cahier des Charges

Comment rédiger un Cahier des Charges Pour rédiger un document cahier des charges d'un projet logiciel ou autre, nous proposons cette template qui pourrait servir éventuellement comme guide. Il s'agit de définir successivement les points suivants : Contexte et définition du projet, Objectifs, Scope, Parties Prenantes, Description des besoins à répartir entre les besoins fonctionnels et non fonctionnels. Contexte et définition du problème Dans cette rubrique, vous allez définir le problème pour bien clarifier la finalité du travail.  Il est important de souligner aussi les besoins ainsi que les contraintes et ce de manière  très sommaire. Par exemple, vous pouvez exposer la situation actuelle ou futur de votre système tout en mettant l’accent sur les problèmes auxquels vous voulez faire face. Objectifs Après avoir exposé le problème dans la première partie, ici vous allez exprimer quelles sont les attentes et les résultats escomptés. Normalement ces att

Scope d'un projet

Comment définir le Scope d'un projet Le Scope ou Périmètre d'un projet est un point clé pour la réussite du dit projet. Il doit figurer parmi les éléments d'un document cahier des charges et partagé avec le Manager du projet, le Client ainsi que les parties prenantes. Pour bien définir le Scope d’un projet, il est opportun de définir les points suivants : Les objectifs du projet Les buts ou finalités (goals) à atteindre Les sous-phases ou étapes Les tâches Les ressources Le budget La planning Bien sûr pour pouvoir ce faire, il est nécessaire d'élaborer une étude approfondie de la finalité du projet en concertation avec d’une part le client et d’autre part avec les parties-prenantes. Une fois ces points sont détaillés, il y a lieu après de clarifier les limitations du projet à savoir les points à inclure dans le projet et ceux à ne pas inclure. Il est à rappeler également que les objectifs du projet doivent respecter les critères SMART .

Ateliers de Génie Logiciel 2019-2020

Ateliers de Génie Logiciel Sommaire de gestion Objectif Les ateliers de génie logiciel constituent un atout majeur pour les élèves ingénieurs ou étudiants inscrits dans des filières IT et qui suivent le cours de Génie Logiciel. Ils correspondent à diverses technologies dans le domaine de l’industrie du logiciel et permettent de compléter la formation par rapport surtout aux aspects pratiques. Cela pourrait représenter la boîte à outils indispensable pour n’importe quel ingénieur de logiciel. Nous tenons à travers ces ateliers à consolider les savoirs en matière de technologie logicielle d’une part et doter chaque élève ou étudiant des outils nécessaires pour bien accomplir ses tâches et savoir choisir la technologie appropriée et adaptée au contexte d’autre part.  Buts Nous visons à cerner toutes les facettes technologiques liées au développement du logiciel selon les normes requises et en respectant les bonnes pratiques en la matière. Ces ateliers sont basés sur un