Principes et positionnement
L'approche MDA repose sur la construction de modèles qui représentent l'application à développer. Les modèles PIM représentent les aspects fonctionnels de l'application. Dans une approche par transformation, où les PSM sont générés automatiquement, la qualité des PIM est primordiale.
En effet, dans ce cadre, les PIM ne sont pas simplement des vues sur le fonctionnel de l'application, ils sont le coeur fonctionnel de l'application.
La publication et la validation des modèles d'analyse fonctionnelle détaillée en particulier, sont donc cruciales.
Notre expérience nous a fait identifier quelques bonnes pratiques :
Face à ces besoins le réflexe maquettage/prototypage semble la bonne réponse. Néanmoins plusieurs problèmes se posent :
La génération automatique de prototypes fonctionnels résout les problèmes précédents. Elle s'affranchit de l'interprétation humaine des modèles UML (donc des erreurs corollaires), et permet de travailler sur l'ensemble du modèle afin de l'appréhender de manière globale.
Elle nécessite l'utilisation d'outils puissants dans les concepts afin de produire des prototypes pertinents vis à vis des modèles, et efficaces dans leur mise en oeuvre, afin de permettre des cycles courts sur un mode fortement itératif.
Le prototypage et D.OM
D.OM est le premier outil permettant de valider des modèles UML par génération de prototype (simulation de modèles).
Les prototypes générés par D.OM sont de véritables applications dotées d'une interface homme machine et permettant de gérer des données et des jeux d'essais. Les utilisateurs peuvent ainsi, durant la phase d'analyse, tester directement les fonctionnalités de leur application.
Les prototypes sont produits de manière entièrement automatisée, ce qui permet de répéter à volonté les expérimentations en limitant les coûts de développement.
Les retours utilisateurs suite à l'expérimentation peuvent ainsi être intégrés dans les spécifications au fur et à mesure.
Les spécifications elles-mêmes peuvent être réalisées à l'aide de D.OM ou d'un autre outil utilisant le formalisme UML (par exemple Rational Rose)
Plusieurs modules de D.OM sont commercialisés, chacun étant dédié à un type de modèles UML
Le cycle de modélisation avec D.OM
La production des PIM et en particulier du modèle d'analyse détaillée se fait donc sur un mode itératif en quatre étapes :
La première étape de modélisation est classique et s'attache donc à définir le PIM avec un niveau de détail élevé (processus, données, règles de gestion).
La deuxième étape consiste en la génération automatique et intégrale d'un prototype fonctionnel : le prototype produit instantanément propose une vision fonctionnelle complète indépendante d'une plate-forme technique ou d'un développeur.
La troisième étape de présentation des prototypes nécessite de s'appuyer sur les cas d'utilisation du modèle à travers les scénarios identifiés dans la phase d'expression de besoins. Cela permet de poser les bonnes questions :
Cette phase est très interactive :
La quatrième étape consiste à intégrer les remarques faites dans l'étape précédente à mettre à jour les modèles et... à recommencer jusqu'à obtention d'une validation formelle.
L'expérience montre que, sur un sous-ensemble fonctionnel pertinent de taille courante (de vingt à trente classes maximum) trois cycles suffisent à obtenir un modèle complet et valide.
Remarque
Les prototypes peuvent être livrés directement aux « validateurs fonctionnels » moyennant :
Les fonctionnalités associées
Les prototypes générés s'appuient sur une IHM graphique de haut niveau dont les possibilités d'interactions sont déduites de patterns identifiés sur le modèle. En particulier, les cardinalités, droits d'accès, rôles inverses, types de données sont exploités.
Les méthodes sont écrites à l'aide d'un langage de script permettant d'exprimer très naturellement les règles de gestion.
Une gestion des données persistantes complète et la possibilité de sauvegarder les jeux d'essai complètent les possibilités offertes nativement par les prototypes.
Par ailleurs les fonctionnalités suivantes sont également intégrées à D.OM :