Programmation orientée aspect
1
7.4/10
Programmation Orientée Aspect
GÉNIE LOGICIEL / 28 mai 2017

On oppose généralement la programmation orientée objet et la programmation orientée aspect. Les techniques de conception logicielles actuelles tentent d’architecturer les applications en modules a priori indépendants les uns des autres. En effet, ces modules gèrent des aspects différents du système conçu. C’est le principe même de la programmation orientée objet qui découpe le logiciel en unités de sens (les objets). Mais dans la pratique, on s’aperçoit que ces couches logicielles sont intimement liées : c’est l’entrecroisement des aspects techniques. Ainsi, une couche logicielle initialement dédiée à gérer la logique métier applicative, va se retrouver dépendante de modules gérant les aspects transactionnels, journalisation, etc. Se limiter aux méthodes de programmation ‘classiques’ conduit ainsi à une complexification du code, de son développement et de sa maintenance. Il a donc été introduit un nouveau concept permettant de gérer les aspects transversaux d’une application : la programmation orientée aspect. L’inversion de contrôle mise en œuvre par la programmation par aspect permet d’extraire les dépendances entre objets/modules (aspects techniques entrecroisés). C’est depuis l’extérieur de ces modules que se gèrent les dépendances. Elles sont spécifiées dans des composants du logiciel nommés aspects. AspectJ et la programmation orientée aspect AspectJ, une extension à Java, permet d’ajouter…

Unified Modeling Language (UML) et design patterns
1
7.6/10
UML & Design patterns
ARCHITECTURE LOGICIELLE / 26 mai 2017

UML pour Unified Modeling Language, est né en octobre 1994 au sein de la société Rational Software Corporation sur une idée de Grady Booch et de James Rumbaugh. La version 1.1 d’UML a été standardisée par l’OMG (Object Management Group) le 17 novembre 1997 suite à une demande de collaboration de plusieurs grande entreprises américaines. Parmi celles-ci, nous pouvons notamment citer Hewlett-Packard, IBM,vMicrosoft et Oracle. L’ Unified Modeling Language a été conçu pour modéliser différents types de systèmes, de taille quelconque et ceci pour tous les domaines d’application (gestion, science, temps réel, système embarqué). Ainsi, UML permet de diviser le système d’information (d’une organisation) entre un système métier et le système informatique. Le système métier doit modéliser les aspects statiques et dynamiques de l’activité selon une vision externe et une vision interne. De cette manière, le système métier ignore l’implémentation technique. De son côté, le système informatique recouvre la partie automatisée du système métier concrétisant les choix effectués parmi les différentes technologies disponibles. Les concepts manipulés sont les mêmes, pour chacun de ces deux niveaux d’abstraction. UML est fortement inspiré de l’approche 4+1 vues indépendantes (logique, composants, processus, déploiement et cas d’utilisation) définie par P. Kruchten. Il s’agissait alors d’exprimer les…