D.OM GI
Dans le cadre de l'utilisation de D.OM en génération de code sur des projets en architecture multi-tiers, Objet Direct a bâti une infrastructure complète de génération pour une cible applicative J2EE. Cet environnement est regroupé au sein de la plate-forme D.OM GI. Les concepts utilisés sont conformes au MDA et s'appuient sur une forte agilité, induite par des cycles de développement très courts.
Au contraire des techniques habituelles, le code n'est pas généré pour un framework cible donné, mais le framework est lui-même généré. Cela permet une évolution du fonctionnel complètement indépendante de celle du framework technique et un véritable développement en parallèle des aspects techniques et fonctionnels. La complexité d'un framework générique disparaît, tout le code technique étant en fait spécifique mais entièrement généré automatiquement. On simplifie grandement l'architecture cible : dans le cadre d'un framework, on retrouve facilement jusqu'à 10 instances d'objets techniques pour un objet métier ou applicatif. On peut, ici, regrouper toutes ces fonctions dans un nombre restreints d'instances de classes générées spécifiquement pour prendre en charge les aspects techniques liés à un objet métier.
La version actuelle de D.OM GI permet la génération sur une architecture J2EE : JSP + Objet Métier + persistance Oracle ou MySQL comme le montre le schéma ci-dessous :
Le cycle de développement
On dissocie deux cycles en développement : le cycle d'analyse et le cycle de production du logiciel, comme le montre le schéma ci-dessous :
Le cycle d'analyse (orange) :
Il représente l'activité d'analyse des besoins utilisateur, par prototypage : l'analyste concepteur exprime le besoin en UML. Il génère ensuite un prototype qui est une vue exécutable du modèle UML. Il peut à cet instant échanger avec la maîtrise d'ouvrage pour valider sa compréhension du besoin fonctionnel, en déroulant les cas d'utilisation du logiciel directement sur le prototype. La maîtrise d'ouvrage émet alors ses observations qui sont prises en compte dans un nouveau cycle de modélisation/validation.
Ces cycles peuvent être très courts (inférieurs à la journée) ; cependant ils nécessitent - coté maîtrise d'ouvrage, un type d'interlocuteur qui a une vue fonctionnelle de ses besoins, et non ergonomique, comme c'est souvent le cas avec un utilisateur final de l'application.
Le cycle de génération (mauve) :
Il représente l'activité de production de l'application. Les phases essentielles sont :
Caractéristiques de l'application générée
Maintenabilité
Le code généré est conforme au standard J2EE (Java, Beans, MVC notamment). Il est donc maintenable sans dépendance vis à vis des outils de génération MDA, D.OM GI en l'occurrence.
Pour traiter les évolutions ou corrections de l'application, deux possibilités sont couramment pratiquées :
Qualité de code