Contractualisation de l'évolution architecturale de logiciels à base de composants : Une approche pour la préservation de la qualité - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2006

Contractualisation de l'évolution architecturale de logiciels à base de composants : Une approche pour la préservation de la qualité

Résumé

Among all activities in the maintenance process, application understanding before evolution, and checking its progression and non-regression after evolution are by far the most expensive. In this thesis, I present an approach which aims at reducing costs associated to these two activities for component-based applications. In this approach, links unifying quality attributes of the application to architectural decisions are formally documented. The definition of these links is made at every phase in the life cycle. I developed an environment for evolution assistance, which uses this documentation. It ensures on the one hand that this documentation is updated, and on the other it notifies application evolvers the possible effects of her/his changes on quality requirements. This documentation forms thus a contract, said an evolution contract. It represents an agreement between the application architect and its evolver. The first should make explicit her/his design decisions, in the form of a set of constraints that should be respected during development and evolution. The second should respect this contract in order to gain the guaranty of preserving initial quality requirements. This allows mainly to reduce costs associated to regression testing at the non-functional aspect. This documentation is used for tracing all architecture decisions throughout a software development process. It is possible thus to check in a given phase of this process, the nonalteration of decisions made in upstream phases. I proposed a tool which allows to transform to a unique representation, and then evaluate, architecture constraints defined during different phases. This traceability of decisions has as a goal to make persistent quality attributes, which are origins of these decisions, throughout the phases of a software life cycle.
De toutes les étapes qui constituent le processus de maintenance, l'étape de compréhension d'une application avant son évolution, et l'étape de vérification de sa progression et de sa non régression aprés évolution sont de loin les plus coûteuses. Dans cette these, je présente une approche qui diminue les coûts associés a ces deux étapes, pour des applications conçues à l'aide de composants. Dans cette approche, les liens unissant les attributs qualité d'une application et les décisions architecturales sont documentés formellement. La définition de ces liens se fait a chaque étape du cycle de vie de l'application. J'ai développé un environnement d'assistance à l'évolution, qui exploite cette documentation, pour d'une part, garantir sa mise a jour et d'autre part, notifier au développeur les effets possibles sur les exigences qualité des changements architecturaux proposés. Cette documentation forme ainsi un contrat dit d'évolution. Il s'agit d'un accord entre l'architecte de l'application et le responsable de son évolution. Le premier doit expliciter ses décisions de conception, sous la forme d'un ensemble de contraintes, afin qu'elles puissent être respectées lors du développement et de l'évolution. Le second doit respecter ce contrat afin de bénéficier d'une garantie de préservation de la qualité initialement requise. Ceci permet, principalement, de réduire les coûts associés aux tests de non-régression sur l'aspect non-fonctionnel. Cette même documentation est utilisée pour tracer toutes les décisions architecturales tout au long du processus de développement d'un logiciel. Il est possible, ainsi, de vérifier, à une étape donnée du processus, la non-altération de toutes les décisions prises dans les étapes en amont. J'ai proposé un outil permettant de transformer vers une représentation unique, puis évaluer, les contraintes définies lors des différentes étapes. Cette traçabilité des décisions a pour objectif de rendre persistants les attributs qualité qui sont à l'origine de ces décisions, à travers toutes les étapes du cycle de vie d'un logiciel.
Fichier principal
Vignette du fichier
these-tibermacine-06.pdf (1.81 Mo) Télécharger le fichier
Loading...

Dates et versions

tel-00512361 , version 1 (30-08-2010)

Identifiants

  • HAL Id : tel-00512361 , version 1

Citer

Chouki Tibermacine. Contractualisation de l'évolution architecturale de logiciels à base de composants : Une approche pour la préservation de la qualité. Génie logiciel [cs.SE]. Université de Bretagne Sud, 2006. Français. ⟨NNT : ⟩. ⟨tel-00512361⟩
302 Consultations
768 Téléchargements

Partager

Gmail Facebook X LinkedIn More