Il s'agit d'un travail de fin d'étude en Ingénierie des systèmes de l'information présentée le 17 Juillet 2017 en République Démocratique du Congo.
Le travail en gros arbore la thématique de la métrologie logicielle tout en se remettant à l'estimation du cout et de l'éffort de développement en passant par COCOMO II
conception d'un batiment r+4 comparative de defferente ariante de plancher
Optimisation d’une application client-serveur par analyse statique et estimation du cout (COCOMO II)
1. INTRODUCTION
Il ne fait plus aucun doute que l’informatique soit la révolution la plus importante
et la plus innovante ayant marqué la vie de l’humanité moderne. En effet, cette science de
traitement de l’information a pris une ascendance considérable sur toutes les activités
humaines. Plusieurs systèmes d’information ont vu le jour dans l’optique de rendre plus
simple et clair les différentes tâches assignées à l’homme. Certains systèmes
d’information sont utilisés au bénéfice du social et d’autres à des fins militaires.
Cependant, ces dits systèmes d’information se sont révélés très utiles dans la
compréhension des divers compartiments de la vie.
En effet, les entreprises commerciales de nos jours suscitent un grand engouement
dans le monde des affaires dans la mesure où chacune d’entre elles soient prêtes à se
démarquer de l’autre en usant de toutes les techniques de commercialisation possible afin
de rendre leurs revenus plus fructueux. D’autres sont prêtes à user des technologies
informatiques afin de faire valoir leurs produits ; d’où l’apparition des sites de commerces
en ligne (E-Commerce) communément connu sous l’appellation des boutiques en lignes.
Les boutiques en ligne sont depuis des années largement conseillés pour les sociétés qui
se basent sur la vente des produits. Ces types de site web représentent un dispositif global
fournissant aux clients un pont de passage à l’ensemble des informations, des produits, et
des services à partir d’un portail unique en rapport avec son activité.
Les sites de vente en ligne permettent aux clients de profiter d’une foire virtuelle
disponible et régulièrement mise à jours sans la moindre contrainte ; ce qui leur
permettrai de ne jamais rater les coups de cœur. Cependant, le développement d’une telle
foire virtuelle ainsi que sa gestion requiert l’intervention quotidienne des
administrateurs ; car, en effet, ce sont eux qui procèdent, sur demande, à la mise à jour
des produits et services sur la dite foire virtuelle. Il serait profitable d’attribuer cette tache
de mise à jour aux gestionnaires des entreprises commerciales partenaires, afin de les
rendre maitre de leurs propres ventes tout en déchargeant l’administrateur système de
cette tâche. En effet, la nécessité de rendre indépendant la publication des produits sur
une boutique en ligne sans passer par un administrateur web quelconque se fait de plus
en plus ressentir, dû notamment à l’évolutivité des systèmes d’informations ayant
rendues diverses tâches de gestion automatisées.
E-STOCK est un système renfermant en son sein deux autres systèmes ; une de gestion de
stock et une autre de vente en ligne (boutique en ligne), permettant la gestion de stock de
la firme commerciale dont il représente et la mise en ligne des produits émanant du stock,
et ce directement par le gestionnaire de la firme commerciale. En effet, il est vrai qu’en
responsabilisant le gestionnaire sur la publication des produits sur la boutique en ligne
indépendamment de l’administrateur web, le système allège donc ce dernier lui laissant
ainsi le droit de se considérer comme l’organe de censure sur le système dédié à la vente
en ligne ; il est clair qu’il ne saurait tolérer des images obscènes ou portant attente à
l’ergonomie de la boutique virtuelle.
2. Pour sa réalisation, nous avons usé des technologies web efficaces et optimales afin de
faire valoir notre système tout en mettant un accent plus particulier sur les notions
d’intégrité et de confidentialité des données ; données reçues de la firme commerciale et
traitées par le système pour le grand public. D’où la nécessité de se pencher sur la sécurité
des données en s’inspirant des notions sur la cryptographie telles que le hachage des
données.
Cependant, plus le souci de produire une application répondant aux besoins spécifiques
des utilisateurs et se conformant aux normes de sécurité usuelles ayant trait à l’intégrité
et la confidentialité des données se fait criant, plus le nombre de ligne de code de la dite
application accroit ; offrant donc la possibilité à des bogues de petites, moyennes et
grandes envergures. De ce fait, la mesure de la qualité du code se révèle être d’une
importance capitale quand on se met à développer des applications professionnelles. On
pourrait dire qu’un logiciel est de qualité s’il a un nombre faible de bogues. La qualité du
code est donc la manière avec laquelle ces fonctionnalités sont implémentées et inclut
entre autres la robustesse, la maintenabilité, la lisibilité ou encore l’évolutivité.
Pour les entreprises enclins à exploiter des logiciels développés dans le cadre de projets
de recherche, il est dès lors important pour elles qui prennent le relais du développement
de ces logiciels de bien estimer le temps qui leurs sera nécessaire pour s’approprier et
maitriser le code. Et cette analyse nécessite, entre autres, une évaluation de la qualité du
code source. Dans ce contexte, le présent mémoire vise à introduire les métriques et les
critères fréquemment utilisés pour caractériser et évaluer la qualité d’un code source.
Le problème cependant se situe au niveau de l’évaluation du code source d’E-STOCK. En
effet, E-STOCK est une application web composée de deux parties ; une de gestion de
stock et une autre de vente des produits ou articles en lignes (boutiques en ligne) conçu
en 2016 par un groupe de trois jeunes gens (alors étudiants en premier grade de
l’université liberté), et les applications web sont très différentes des applications
traditionnelles en ce sens que certaines méthodes d’évaluations retrouvées dans
différentes métriques, telles que ; les points de fonction et les Line Of Code, ne s’appliquent
pas aisément aux projets web. Il faudrait donc recourir à un modèle d’évaluation prenant
en charge les contraintes des applications web. Pour ce, il nous faudra recourir aux
techniques arborant le paradigme orienté objet qui, en quelques décennies, a fait ses
preuves en matière de développement de logiciels de qualité et qui tend à devenir
l’approche standard dans la programmation. Possédant plusieurs spécificités, les
composantes des systèmes orientés objet présentent en effet des multiples dépendances.
A cet effet, Chidamber et Kemmerer ont été les premiers à introduire des métriques
orientés objet au début des années 90. Leurs travaux ont en effet permis de mettre en
place les premiers éléments d'un cadre structuré définissant les attributs de qualité des
systèmes orientés objet et comment aborder leur évaluation.
Les métriques de Chidamber et Kemmerer nous permettrons de capturer des attributs de
qualité internes tels que le couplage, la cohésion, la profondeur d’arbre d’héritage, etc. Ce
qui nous conduira à aborder l’estimation de l’effort, du développement et du coût du
système E-STOCK.
3. Pour se faire, le Dr. Barry Boehm a initié en 1981 COCOMO ; une méthode d’estimation du
cout, de l’effort et du temps de développement d’un logiciel, qui connut au fil du temps
une ré-calibration afin de tenir compte des nouveaux environnements orientés objets, des
pratiques de réutilisation des composantes logiciel (COST) et l’introduction des langages
de quatrième et cinquième génération sous le concours de l’Université de Californie du
Sud (UCS), d’IRUS-UC et des organismes partenaires au point de donner naissance à
COCOMO II.
Dans le présent mémoire, nous sommes donc partis des métriques de Chidamber et
Kemmerer afin de concilier notre logiciel aux normes requis dans la production des
logiciels. A l’arrivée, nous avons, selon le modèle initié par le Docteur Barry Boehm
COCOMO dans sa version révisée COCOMO II, estimé l’effort, le temps et le coût de
développement du logiciel. Comme logiciel de référence, nous avons porté notre choix sur
E-STOCK qui est un système regroupant en son sein deux autres systèmes ; l’un de gestion
de stock et l’autre de vente en ligne, développé par trois ingénieurs en systèmes
d’information de l’Université Liberté. Pour ce, nous avons intitulé notre mémoire comme
suit ; « Optimisation d’une application client-serveur par analyse statique et
estimation du cout (COCOMO II) ».
Il est évident que dans le domaine des sciences de l’information, plusieurs méthodes et
techniques peuvent être utilisées pour arriver à ses fins. De ce fait, nous avons
humblement été inspirés d’une méthode dédiée aux sciences informatiques, à savoir ; la
méthode d’ingénierie des performances logicielles qui incarne une démarche
pragmatique ayant pour but de fournir la qualité de service requise par un quelconque
utilisateur (client) à un moindre coût, sans pour autant chercher à atteindre les limites du
système. Cette méthode assure d’atteindre le degré de performance requis en jouant sur
les leviers de gain les plus efficaces, tout en évitant de tomber dans l’optimisation à
outrance. Il faut noter que l’objectif de la méthode d’ingénierie des logicielles consiste
donc à contrôler que les performances des composants de l’application ou du système
cible répondent bien aux enjeux, dans les conditions de volumétrie attendues. Pour ce,
nous nous sommes servis de COCOMO II et des métriques de Chidamber et Kemmerer
comme chevaux de bataille, qui nous permettrons d’identifier le niveau de performance
de l’application (temps de traitements, consommation de ressources systèmes, etc.), de
mettre au point des méthodes et outils permettant au projet de s’assurer que ses
développements respectent les objectifs de performance cibles, et notamment de définir
un contrat de service pour les transactions sensibles et types, de vérifier la stabilité de
l’application et de fournir les éléments nécessaires au dimensionnement des plates-
formes qui pourraient être nécessaires dans le cadre d’une évolution des métriques
clients.
Dans un premier temps, il sera question de présenter l’architecture d’E-STOCK. Bien sûr
nous parlerons de l’ingénierie du Web ; ingénierie logiciel initiée par Roger Pressman en
1998 pour les applications web, nous clarifierons sur la différence qu’il peut y avoir entre
les applications web et les applications traditionnelles et enfin nous ferons la présentation
fonctionnelle d’E-STOCK dévoilant ainsi le système sous toutes ses fonctionnalités.
4. Dans un deuxième temps, nous procèderons à l’examen d’E-STOCK sans l’exécuter
(analyse statique). Pour ce, nous utiliserons les métriques de Chidamber et Kemmerer
afin de ressortir le poids des méthodes par classe, la profondeur d’arbre d’héritage, le
nombre d’enfants, le couplage entre objets d’une classe, le nombre de réponse pour
chaque classe, le manque de cohésion de méthode et le degré d’encapsulation. De surcroit,
il nous faudra procéder à l’évaluation des performances du système dans sa partie e-
commerce particulièrement en ce qui concerne le taux de rebond, le taux de refus, le taux
d’abandon, le taux de conversion, le pourcentage de conversion « one shot », le load time,
le speed index, le DOM interactive, le response start (temps de réponse) ainsi que le taux
de disponibilité dans l’optique de nous renseigner sur l’efficacité effective de cette partie
du système, et ce par rapport aux autres systèmes qui lui sont en quelques points
similaires. Dans sa partie gestion de stock, il sera important de soumettre notre système
au calcul du poids des méthodes par classe, la profondeur d’héritage, le nombre d’enfants,
le couplage entre objets d’une même classe, le nombre de réponse pour chaque classe et
le manque de cohésion de la méthode, en nous servant des métriques de Chidamber et
Kemmerer. Pour mener à bien ses multiples évaluations, nous nous servirons des outils
comme Sonar-php et GTMetrix pour l’analyse des différentes métriques.
Dans un troisième temps, nous nous consacrerons à l’application du modèle COCOMO II
sur E-STOCK. Les résultats obtenus seront ainsi interprétés et une analyse de fiabilité sera
entreprise en comparant les données réelles sur l’effort de développement avec les
données estimées de l’effort du modèle COCOMO II.
Nous terminerons le présent mémoire par une conclusion globale dans laquelle, entre
autres, nous lancerons des débats ouverts qu’il serait intéressant de s’y pencher dans le
cadre de travaux futurs.
Nous rappelons que l’analyse et l’estimation du système E-STOCK est propre à la période
allant du mois de septembre 2016 au mois de juin 2017. Le système lui-même ayant été
conçu durant la période allant du mois de décembre 2015 au mois de juillet 2016. Pour
ce, nous laissons libre court aux idées innovantes que proposerons les générations à venir
du domaine des génies logiciels afin de, par des critiques objectives et constructives,
contribuer à l’évolution du système.