Les bases de la Programmation Orientée Aspect
Introduction
Introduction
Aujourd'hui les logiciels répondent à de plus en plus d'exigences. Ces exigences peuvent être séparées en deux catégories :
- Les exigences fonctionnelles : elles décrivent le comportement du système et sont définies par les fonctionnalités que le système doit remplir.
- Les exigences non-fonctionnelles : elles expriment les qualités ou les contraintes imposées sur la manière de satisfaire les exigences fonctionnelles. On retrouve principalement des exigences de performance, de sécurité, d'ergonomie, de concurrence... Ces éléments ne sont pas des fonctionnalités « visibles » pour l'utilisateur, mais permettent d'assurer un bon fonctionnement des interactions possibles avec le système.
L'implémentation des exigences non-fonctionnelles peut poser des problèmes. En effet, si l'on prend l'exemple de la Programmation Orientée Object, il est difficile, voire impossible, de limiter l'implémentation de ces exigences à un seul objet. On retrouvera donc dans plusieurs classes des appels récurrents à des méthodes permettant de traiter les différentes exigences non-fonctionnelles.
C'est ce qu'on appelle le phénomène du recoupement (« crosscutting »).
Auteur
Cet exposé a été réalisé par Thomas Quantin en Mars 2014.