Visualisation des métriques de cohésion et de couplage

De nos jours, les logiciels sont de plus en plus complexes. La complexité des logiciels augmente avec leur taille et de ce fait, parfois la bonne structure originale est perdue. En conséquence, la vérification continue de la qualité du développement de ces logiciels est devenue indispensable. Elle n...

Full description

Bibliographic Details
Main Author: Bensmaia, Réda
Other Authors: Gonzalez-Rubio, Ruben
Language:French
Published: Université de Sherbrooke 2015
Subjects:
Online Access:http://hdl.handle.net/11143/7554
Description
Summary:De nos jours, les logiciels sont de plus en plus complexes. La complexité des logiciels augmente avec leur taille et de ce fait, parfois la bonne structure originale est perdue. En conséquence, la vérification continue de la qualité du développement de ces logiciels est devenue indispensable. Elle nécessite un contrôle continu de la qualité du code tout au long du processus de développement. Plusieurs métriques ont été proposées afin de quantifier cette qualité, dans beaucoup de cas, ces métriques interviennent une fois le logiciel fini, or le contrôle de qualité serait plus efficace s'il intervenait tout au long de la phase de codage. Les métriques logicielles renseignent sur la qualité du code. Elles sont généralement présentées sous forme de tableau de données et sont donc difficilement exploitables. L'objectif général en développement de logiciels est de maintenir un produit de bonne qualité, qui soit extensible, d'une maintenance facile et réutilisable. Un grand problème en logiciel est constitué par les dépendances entre classes et paquets: c'est le couplage. On parlera d'architecture à couplage faible, lorsqu'elle est flexible, les changements sont simples et leurs coûts ne sont pas très élevés. Par contre, l'architecture devient rigide lorsque le ``couplage fort'' rend l'ajout de nouvelles fonctionnalités et la maintenance d'un logiciel très difficile. Les coûts de cette maintenance deviennent donc très élevés. Un autre problème connu est le manque de cohésion d'une classe, une classe est dite de bonne cohésion, si tous ses attributs sont utilisés par toutes ses méthodes. Dans le cas contraire, les méthodes et attributs ne communiquent pas suffisamment pour se retrouver dans une seule classe, et devrait être subdivisés en plusieurs classes. L'objectif de notre projet est de visualiser des indicateurs capables de distinguer une architecture flexible d'une architecture rigide. Pour mener à bien notre projet, une étude des différentes métriques déjà proposées est nécessaire, en considérant les métriques ayant un impact sur l'architecture, telle que les métriques de couplage entre classes et paquets. Pour ensuite proposer une visualisation, afin de faciliter l'interprétation des résultats obtenus par les métriques facilitant ainsi le travail du développeur. Au final, cette visualisation devrait permettre d'identifier les problèmes d'architecture. Ces zones critiques seront donc affichées à l'écran. Ainsi cette visualisation permettra de mieux guider le développeur dans sa maintenance.