Intégration de la visualisation à multiples vues
pour le développement du logiciel
Sommaire
Le développement du logiciel actuel doit faire face de plus en plus
à la complexité de programmes gigantesques,
élaborés et maintenus par de grandes équipes,
réparties dans divers lieux. Dans ses tâches
régulières, chaque intervenant peut avoir à
répondre à des questions variées en tirant des
informations de sources diverses. Pour améliorer le rendement global du
développement, nous proposons d'intégrer dans un IDE populaire
(Eclipse) notre nouvel outil de visualisation (VERSO) qui calcule, organise,
affiche et permet de naviguer dans les informations de façon
cohérente, efficace et intuitive, afin de bénéficier du
système visuel humain dans l'exploration de données
variées. Nous proposons une structuration des informations selon trois
axes : (1) le contexte (qualité, contrôle de version, bogues,
etc.) détermine le type des informations ; (2) le niveau de
granularité (ligne de code, méthode, classe, paquetage)
dérive les informations au niveau de détails adéquat ; et
(3) l'évolution extrait les informations de la version du logiciel
désirée. Chaque vue du logiciel correspond à une
coordonnée discrète selon ces trois axes, et nous portons une
attention toute particulière à la cohérence en naviguant
entre des vues adjacentes seulement, et ce, afin de diminuer la charge
cognitive de recherches pour répondre aux questions des utilisateurs.
Deux expériences valident l'intérêt de notre approche
intégrée dans des tâches représentatives. Elles
permettent de croire qu'un accès à diverses informations
présentées de façon graphique et cohérente devrait
grandement aider le développement du logiciel contemporain.
Abstract
Nowadays, software development has to deal more and more with complex huge
programs, constructed and maintained by large teams working in different
locations. During his daily tasks, each developer may have to answer varied
questions using information coming from different sources. In order to improve
global performance during software development, we propose to integrate to a
popular IDE (Eclipse) our new visualization tool (VERSO), which computes,
organizes, displays and allows navigation through information in a coherent,
effective, and intuitive way in order to benefit from the human visual system
when exploring complex data. We propose to structure information along three
axes: (1) context (quality, version control, etc.) determines the type of
information; (2) granularity level (code line, method, class, and package)
determines the appropriate level of details; and (3) evolution extracts
information from the desired software version. Each software view corresponds
to a discrete coordinate according to these three axes. Coherence is maintained
by navigating only between adjacent views, which reduces cognitive effort as
users are searching information to answer their questions. Two experiments
involving representative tasks have validated the interest for our integrated
approach. Results lead us to believe that an access to varied information
represented graphically and coherently should be highly beneficial to the
development of modern software.
Mots-clés
Visualisation, développement de logiciel, environnement de développement,
intégration, évolution du logiciel, animation.
Visualization, software development, development environment, integration,
software evolution, animation.
Online version
Available here in French (en français)
in Adobe PDF format (3.3 MB).
Slides of the defense
here in PowerPoint in French (en français).
Short video used during the defense
here in wmv.
BibTeX
@PhdThesis{Langelier:2010:PHD,
author = "Guillaume Langelier",
title = "Int{\'e}gration de la visualisation {\`a} multiples vues pour le d{\'}eveloppement du logiciel",
month = dec,
year = 2010,
type = "Ph.D. Thesis",
school = "D{\'e}partement d'Informatique et Recherche
Op{\'e}rationnelle, Universit{\'e} de Montr{\'e}al",
}