12 Déc 2016 |
article de recherche |
Les systèmes logiciels, le multimédia et la cybersécurité
SwiceTrip : un site de voyage collaboratif conçu avec la nouvelle norme ISO/CEI 29110




Image d’entête et [Img2] courtoisie du site Web SwiceTrip.com : la licence CC du site Substance s’applique à elles;
SwiceTrip : le projet
Le projet de démarrage d’une entreprise associée au site SwiceTrip.com a été réalisé par une équipe de deux personnes à temps partiel, sur une période d’un an requérant près de 1000 heures de travail et ce, à l’aide de la norme ISO/CEI 29110.
Ce site propose d’aider un voyageur durant tout le cycle de vie d’un voyage, soit la planification initiale, le suivi en cours de voyage et le partage de son expérience. Le site offre une interface attrayante et simple d’utilisation afin de permettre aux usagers de créer des itinéraires de voyages et de partager des informations pratiques avec d’autres voyageurs (figure 1).

Figure 1. Deux interfaces principales du site SwiceTrip
Ce site collaboratif est conçu pour partager des informations de voyage (figure 2). Il permet aux voyageurs de se souvenir de détails de leurs voyages comme les dates, les noms d’hôtel et autres informations et de partager leurs expériences vécues. Tous les services offerts sont gratuits : il suffit simplement de créer un compte. Les revenus de l’entreprise proviennent de la publicité affichée sur le site.

Figure 2. Partage des informations de voyage de ce site collaboratif
Gestion du projet
Le profil de base de la norme ISO/CEI 29110 est divisé, tel qu’illustré dans la figure 3, en deux processus : un processus de gestion de projet et un processus de mise en œuvre [1]. Un projet débute lors de la réception d’un énoncé des travaux et se termine par la livraison des documents et du logiciel au client.

Figure 3. Profil de base de la norme ISO/CEI 29110
La figure 4 présente le cheminement de l’information entre les quatre activités du processus de gestion de projet de la norme ISO 29110, y compris les produits de travail les plus pertinents et la relation entre ceux-ci.

Figure 4. Cheminement de l’information entre les quatre activités du processus de gestion de projet de la norme ISO 29110
Puisque SwiceTrip.com est un nouveau produit d’une entreprise en démarrage, nous avons joué le rôle d’un client pour rédiger un énoncé des travaux comportant les spécifications de haut niveau. Les principales exigences du projet ont été extraites des caractéristiques définies dans le document d’énoncé des travaux afin d’établir la portée du projet et la description globale du produit. L’attribution des différents rôles, décrits dans l’ISO 29110, pour chacun des membres de l’équipe a été documentée sous forme d’un tableau du plan de projet (tableau 1).
Tableau 1. Répartition des tâches
Afin d’effectuer l’estimation du calendrier requis pour chacune des activités, nous avons déterminé le temps consacré à ce projet à environ 10 heures par semaine pour chacun des deux équipiers. Il n’était pas possible de consacrer plus d’effort, car les deux équipiers occupaient déjà un emploi à plein temps. La planification du projet a été réalisée avec un outil de gestion de projet simple et libre d’utilisation, le logiciel GanttProject.
Assurance Qualité
Un gabarit d’enregistrement des anomalies applicable à tous les livrables a été développé au début du projet (figure 5).

Figure 5. Gabarit d’enregistrement des anomalies applicable à tous les livrables
Processus de mise en œuvre
La figure 6 représente le cheminement de l’information entre les activités associées au processus de mise en œuvre du logiciel, comprenant les produits de travail les plus pertinents et leurs relations.

Figure 6. Cheminement de l’information entre les activités associées au processus de mise en œuvre du logiciel
Analyse des exigences du logiciel
Cette activité consiste à analyser les exigences établies en accord avec le client et à établir les exigences validées du projet [1]. Lors de la rédaction du document de spécification des exigences, beaucoup de questions ont été soulevées concernant la manière de répondre aux besoins initiaux. Cette analyse a été très utile lors des activités de suivi de projet mensuel puisque certaines fonctionnalités ont été retirées du projet en raison de leur complexité et d’autres ont été ajoutées. La vérification et la validation de la spécification des exigences ont été réalisées à plusieurs reprises afin de vérifier l’exactitude et la testabilité de la spécification des exigences ainsi que sa cohérence avec la description du produit. Ces vérifications ont permis de trouver des anomalies majeures et de réduire les efforts de reprise en aval.
Architecture et conception détaillée du logiciel
Cette activité transforme les exigences logicielles à l’architecture du logiciel et à la conception détaillée du logiciel [1]. Elle a débuté après la vérification et la validation du document de la spécification des exigences.
Construction du logiciel
Cette activité vise à développer le code et les données du logiciel à partir de la conception du logiciel [1]. Elle a débuté après la vérification et la validation du document d’architecture et de conception. L’assignation des composantes à développer aux membres de l’équipe de travail a été effectuée conformément au plan de projet.
Intégration et tests du logiciel
Cette activité vise à faire en sorte que les composantes logicielles intégrées [1] répondent aux exigences logicielles (tableau 2). Pour chacun des cas de test, nous avons défini sa relation avec le cas d’utilisation, la description du test, les étapes à suivre ainsi que le résultat attendu.
Tableau 2. Exigences logicielles
Résultats
Le tableau 3 présente les efforts en heures, de l’équipe pour chacune des tâches qui ont été comptabilisées à partir des feuilles de temps. L’effort total consacré à ce projet a été de 987 heures. L’effort consacré à l’exécution a été de 803 heures. Les efforts de révision ont été de 59 heures et ceux consacrés aux corrections (reprises) de 125 heures. Nous pouvons constater que les efforts de correction (reprise) qui ont été plus importants, sont principalement reliés à la définition des exigences du client (énoncé des travaux) et aux spécifications détaillées. Nous savions que plus les défauts sont trouvés tôt dans le cycle de développement, moins les efforts de correction seront importants.
Tableau 3. Efforts en heures, de l’équipe pour chacune des tâches comptabilisées
L’effort de reprise a été de 12,7% (125 heures/987 heures) pour l’ensemble du projet, ce qui s’apparente à une performance d’une organisation de niveau 3 de maturité selon le modèle «Capability Maturity Model» (CMM) (tableau 4).
Tableau 4. Niveau de maturité et % d’effort de reprise correspondant
Information additionnelle
Pour obtenir de plus amples informations sur la réalisation de ce projet, nous vous invitons à consulter l’article suivant :
Charles Hébert, Christian Mineau et Claude Y. Laporte (2013). Développement d’un logiciel de réseau social orienté voyages avec la nouvelle norme ISO/CEI 29110. Génie logiciel, N ° 1 0 7 Décembre 2 0 1 3. pp. 53-62. (PDF)

Charles Hébert
Charles Hébert possède un baccalauréat en informatique ainsi qu’une maîtrise en génie logiciel. Il occupe présentement un poste d’analyse en informatique dans le secteur parapublic au Québec. Il est cofondateur du site SwiceTrip.com.
Programme : Génie logiciel

Christian Mineau
Christian Mineau a complété une maîtrise en ingénierie logiciel à l’ÉTS en 2013. Il est un analyste-programmeur Java EE senior qui possède plus de dix années d’expérience en industrie. Il est cofondateur du site SwiceTrip.com.
Programme : Software Engineering

Claude Laporte
Claude Y. Laporte était professeur de génie logiciel à l’ÉTS avant de prendre sa retraite. Il est l’éditeur du groupe de travail pour l’élaboration des normes ISO/IEC 29110 qui porte sur l’ingénierie de systèmes et l’ingénierie de logiciels.
Programme : Génie logiciel Génie des technologies de l'information
