Rapport Projet Ahmed
Total Page:16
File Type:pdf, Size:1020Kb
ÉCOLE DE TECHNOLOGIE SUPÉRIEURE UNIVERSITÉ DU QUÉBEC RAPPORT DE PROJET PRÉSENTÉ À L’ÉCOLE DE TECHNOLOGIE SUPÉRIEURE COMME EXIGENCE PARTIELLE À L’OBTENTION DE LA MAÎTRISE EN GÉNIE LOGICIEL M.Ing. PAR Ahmed SEDJAI ÉTUDES D’OUTILS DE CONTRÔLE DE LA QUALITE LOGICIEL (LOGICIEL LIBRE) POUR SUPPORTER LES NORMES DE GÉNIE LOGICIEL MONTRÉAL, LE 31 AOÛT 2013 Ahmed Sedjai, 2013 ©Tous droits réservés Cette licence signifie qu’il est interdit de reproduire, d’enregistrer ou de diffuser en tout ou en partie, le présent document. Le lecteur qui désire imprimer ou conserver sur un autre media une partie importante de ce document, doit obligatoirement en demander l’autorisation à l’auteur. Cette licence Creative Commons signifie qu’il est permis de diffuser, d’imprimer ou de sauvegarder sur un autre support une partie ou la totalité de cette œuvre à condition de mentionner l’auteur, que ces utilisations soient faites à des fins non commerciales et que le contenu de l’œuvre n’ait pas été modifié. REMERCIEMENTS Je tiens à remercier particulièrement mon directeur de projet, Monsieur Alain APRIL, pour ses recommandations et ses conseils, sans lesquelles je ne pourrai arriver à un tel résultat. Aussi, d’avoir dirigé et consciencieusement relu mon rapport, de m’avoir permis de participer à un tel projet et tout le soutien accordé. À mes parents, partis trop tôt pour me lire. Je remercie toute ma famille, pour leurs encouragements et leur soutient tout au long de mes études. À ma femme, à mes enfants. Aussi, sans oublier tous mes amis. Merci. ÉTUDES D’OUTILS DE CONTRÔLE DE LA QUALITE LOGICIEL (LOGICIEL LIBRE) POUR SUPPORTER LES NORMES DE GÉNIE LOGICIEL Ahmed SEDJAI RÉSUMÉ Notre projet vise à identifier des logiciels libres qui supportent certaines activités de génie logiciel. Par exemple lors de la définition d'exigences il serait intéressant d'utiliser un outil pour décrire les exigences des clients d'une manière graphique. Il s'agit d'établir des critères de comparaison, comparer les logiciels disponibles, en identifier un candidat et ensuite configurer une machine virtuelle avec le logiciel en question à des fins d’utilisation gratuite. On itère sur quelques logiciels clés de manière à aider les utilisateurs car ils auraient une machine virtuelle pré-configurée avec de bons outils gratuits. Il y a eu quelques tentatives de travaux et études faites auparavant ayant partiellement traité la problématique telle que soulevée par notre projet qui relève du domaine d’identification et d’évaluation de logiciels libres. La première tentative présentée par (Sauvé et al ., 2005, p. 48), consiste à une étude qui vise à identifier en premier lieu les meilleurs logiciels d’affaires libres sélectionnés parmi un très grand nombre de logiciels d’affaires libres. La problématique énoncée dans cette étude est que l’utilisation des logiciels d’affaires propriétaires en PME Canadienne entraine souvent des coûts de licences d’utilisation et des contrats d’entretien importants, ce qui les rend inaccessibles aux PME. Vu le faible coût de logiciels libres aux PME, il semble logique de penser à acquérir le meilleur logiciel d’affaire libre qui remplit les besoins stratégiques et professionnels de l’entreprise. La solution proposée dans cette étude, en premier lieu, il s’agit d’établir des critères de comparaison pour comparer les logiciels d’affaires disponibles, en identifier des candidats, les évaluer selon les besoins réels des utilisateurs et en sélectionner le meilleur. Les auteurs se sont inspirés des méthodologies d’évaluation et de sélection de Wheeler, Capgemini et de Golden pour construire la liste des logiciels les plus prometteurs. Par la suite, parmi la liste de sélection finale, les auteurs ont identifié trois logiciels d’affaires pour effectuer une évaluation plus détaillée, À la fin du processus d’évaluation, le meilleur logiciel d’affaire stable, approchant la maturité est sélectionné. Pour ce qui est de la deuxième tentative présentée par (Perez Berro, 2008, p. 114), cette étude, consiste à générer une nouvelle méthodologie d'évaluation d'utilisabilité de logiciel. La problématique énoncée dans cette étude c’est qu’il n’y a pas de modèle générique pour pouvoir évaluer l’utilisabilité des interfaces. En résultat, les utilisateurs n’utilisent pas de manière efficace toutes les fonctionnalités du logiciel faute des erreurs de conception qu’ont commis les développeurs. Pour pallier à cela, les auteurs ont proposé une méthodologie simple et légère pour évaluer l’utilisabilité des logiciels en question. VI La solution proposée dans cette deuxième étude est de développer une nouvelle méthodologie d’évaluation. Cette approche permet d’identifier les problèmes liés à l’utilisabilité chez les utilisateurs en prenant en considération les tâches de leur utilisation. Les auteurs se sont basés sur l’analyse des données du terrain pour pouvoir mettre en œuvre cette méthodologie. La méthodologie d’évaluation d’utilisabilité proposée est supporté par les normes de qualité ISO/IEC 9126 (ISO/IEC 9126-1 to 4, 2001) et le guide de l’utilisabilité de l’ISO 9241 (ISO/IEC 9241-11, 1998). Quant à notre projet, la problématique traitée relève à identifier et à évaluer des logiciels libres qui supportent certaines activités de génie logiciel (ISO 12207) (ISO/CEI 12207, 1995). Le but de notre étude consiste à identifier les principaux logiciels libres et évaluer la pertinence des fonctionnalités techniques. Pour ce faire, il s'agit d'établir des critères de comparaison, comparer les logiciels disponibles, éliminer ceux qui ne sont pas pertinents et par suite sélectionner le meilleur projet libre. À la fin, il s’agit de configurer une machine virtuelle avec le candidat le plus pertinent en question à des fins d’utilisation gratuite. Pour remédier à la problématique énoncée dans notre projet, c'est-à-dire identifier et évaluer des logiciels libres de cycle de vie de génie logiciel les plus populaires, il faut: • développer une méthodologie de recherche et d’identification qui permet d’identifier les principaux candidats de logiciels libres de génie logiciel; • développer une méthodologie d’évaluation qui permet d’étudier, analyser, comparer et qualifier la pertinence des fonctionnalités techniques de ces logiciels; • développer une méthodologie d’élimination de candidats non pertinents; • après avoir sélectionné deux ou trois logiciels libres stables, approchant la maturité, on les installe pour les évaluer au moyen de la grille d’évaluation de Wheeler; • les candidats sélectionnés font l’objet d’un projet pilote d’implantation et d’installation dans une machine virtuelle. Les meilleurs projets seront ajoutés à la liste des logiciels libres gratuits du portail de l’université. Mots-clés : Génie logiciel, machine virtuelle, maturité, ISO/IEC 9126 (ISO/IEC 9126-1 to 4, 2001) et ISO 12207 (ISO/CEI 12207, 1995), PME, méthode d’évaluation et de sélection, critères de comparaison, logiciels libres, pertinents, activités de génie logiciel , méthodologie de recherche et d’identification, méthodologie de qualification, inventaire globale de projets de logiciels libres les plus populaires, support des activités de génie logiciel, Linux, listes GRAM (Wheeler, 2003) de Wheeler, phase d’identification de Wheeler, sites spécialisés, PLUME (PLUME, 2013), FSF/UNESCO (Stallman, 1985), Apache (ApacheSF, 2013), TI, ÉTS (ÉTS, 2013), modèle de maturité et d’évaluation de Capgemini, modèle de maturité et d’évaluation de Golden, grille d’évaluation de Wheeler, modèle de maturité OSMM ( Voir Sous-section 2.10), hits, Teoma (Teoma, 2013), Alltheweb (Alltheweb, 2013), AltaVista (AltaVista, 2013), sélection finale, méthodologie de sélection. TABLE DES MATIÈRES Page INTRODUCTION .....................................................................................................................1 CHAPITRE 1 INTRODUCTION AUX LOGICIELS LIBRES ..............................................7 1.1 Introduction ....................................................................................................................7 1.2 Définition .......................................................................................................................7 1.2.1 Liberté et logiciel ........................................................................................ 7 1.2.2 Carte conceptuelle du logiciel libre ............................................................ 9 1.2.3 Principales licences des logiciels libres ...................................................... 9 1.2.4 Licences de logiciels libres compatibles avec la GNU GPL .................... 10 1.2.5 Logiciel du domaine public ...................................................................... 11 1.2.6 Logiciel copylefté ..................................................................................... 11 1.2.7 Logiciel libre non-copylefté ...................................................................... 11 1.2.8 Logiciel semi-libre .................................................................................... 11 1.2.9 Logiciel propriétaire.................................................................................. 12 1.2.10 Freeware .................................................................................................... 12 1.2.11 Shareware (partagiciel) ............................................................................. 12 1.2.12 Logiciel commercial ................................................................................. 12 1.2.13 État de la situation ....................................................................................