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",
}