Résumé | Il semblerait de plus en plus, d'après la littérature publiée, qu'il y a une taille optimale pour les composantes logicielles. Les composantes de taille trop petite ou trop grande comporteraient un plus grand nombre de défauts. Il existe une courbe en forme de U donnant le nombre de défauts en fonction de la taille; cette courbe décrit une hypothèse connue sous le nom de conjecture d'optimisation. Une théorie cognitive a récemment été proposée pour expliquer ce phénomène et elle a été élargie afin de caractériser les logiciels orientés objets. Cette conjecture a de larges implications en génie logiciel. Elle porte à penser 1) que les concepteurs devraient chercher à optimiser la taille des classes; 2) que la décomposition des programmes est nuisible et 3) qu'il existe une taille de classe maximale (un seuil) qui ne devrait pas être dépassée pour maintenir le nombre des défauts au minimum dans le logiciel. L'objet de cet article est d'évaluer cette conjecture en ce qui concerne les systèmes orientés objets. Nous démontrons d'abord que les affirmations selon lesquelles il existe une taille de composante ou de classe optimale (1 ci-dessus) et que les composantes et les classes de petite taille contiennent plus de défauts (2 ci-dessus) sont dues à un artéfact mathématique dans les analyses effectuées antérieurement. Nous procédons ensuite à un test empirique sur l'affirmation de l'existence d'un seuil selon cette conjecture (3 ci-dessus). Ë notre connaissance, ce test n'a jamais été effectué jusqu'ici sur les systèmes orientés objets. Nous effectuons une étude initiale avec un système C++ industriel, puis nous la dupliquons deux fois, une fois sur un autre système C++, et l'autre, sur une application Java commerciale. D'après nos résultats, il ne fait pas de doute qu'il n'y a aucun effet de seuil en rapport avec la taille des classes. Nous avons obtenu le même résultat sur trois systèmes en utilisant quatre tailles différentes. Ces résultats portent à croire qu'il y a une relation continue simple entre la taille des classes et le nombre des défauts, que les classes de petite taille sont préférables et que les conjectures d'effets de seuil n'ont aucune base théorique ou empirique solide. |
---|