Page principale | Projets | Publications | Thèses | Présentations | Membres | Cours | Gallerie | Intérêt local
Home | Projects | Publications | Theses | Presentations | People | Courses | Gallery | Local interest
 

  Visualisation de la qualité des logiciels de grandes tailles

Sommaire

Les logiciels sont de plus en plus complexes et les équipes oeuvrant sur ces logiciels peuvent être fort imposantes. On a donc besoin de logiciels de qualité pour que la maintenance se fasse facilement. Cependant, la qualité du logiciel dépend d'un ensemble de facteurs encore mal compris. Pour améliorer cette compréhension il faut être en mesure d'analyser plusieurs logiciels dans le but de maîtriser la qualité. Dans ce mémoire, nous proposons une approche d'analyse de logiciels basée sur la visualisation. Notre approche comporte deux parties pour analyser rapidement un grand nombre de codes sources orientés objets. La première partie consiste à représenter des versions de logiciels uniques. Les classes sont affichées comme des boîtes en trois dimensions où les caractéristiques graphiques (couleur, hauteur et rotation) représentent des métriques. Ces classes sont disposées sur un plan selon l'architecture en paquetages en utilisant des algorithmes de placement. Notre étude comparative montre que ces placements sont plus performants qu'un placement naïf et que notre approche est plus efficace que l'inspection manuelle du code. La deuxième partie de notre approche présente l'évolution du logiciel. Nous utilisons l'animation pour représenter la cohérence entre les versions d'un logiciel. Les transitions entre les versions se font à l'aide d'images intermédiaires. Notre approche permet de visualiser plusieurs milliers de classes simultanément à travers plusieurs versions. Elle est basée sur les forces et les faiblesses du système visuel humain. Elle permet aussi la recherche de plusieurs phénomènes associés à la qualité.

Abstract

Software applications are becomingmore andmore complex and teams working on those applications are growing too. We need good quality software in order to facilitate the maintenance process for developers. However, software quality depends on several factors that are still misunderstood. In order to better understand software quality, it is important to analyse several applications quickly. In this M.Sc. thesis, we propose a software analysis approach based on visualization. Our approach consists of two parts to quickly analyse numerous object oriented source codes. The first part explains how we represent software for single versions. Classes are associated to 3D boxes where graphical characteristics (color, height, rotation) represent metrics. Classes are distributed on a plane according to their architectural hierarchies with the use of space-filling algorithms. Our comparative study shows that these algorithms give better results than a naïve layout and that our approach is faster than manual inspection of the code. The second part of our approach studies the representation of software evolution. We are using animation to represent coherence between software versions. The transitions between versions are shown with the help of in-between frames. Our approach allows the visualization of several thousands of classes simultaneously over many versions. It is based on the strengths and weaknesses of the human visual system. It also allows the identification of many quality related phenomena.

Mots-clés

visualisation de logiciels, qualité, métrique, détection de phénomènes, évolution du logiciel, animation, expérience.

Online version

Available here in french (en français) in Adobe PDF format (3.6 MB).

BibTeX

@MastersThesis{Langelier:2006:MSC,
  author =       "Guillaume Langelier",
  title =        "Visualisation de la qualit\'e des logiciels de grandes tailles",
  month =        dec,
  year =         2006,
  type =         "M.Sc. Thesis",
  school =       "D{\'e}partement d'Informatique et Recherche 
                  Op{\'e}rationnelle, Universit{\'e} de Montr{\'e}al",
}