• Aucun résultat trouvé

Bilan et Perspectives

6.1 Bilan et Contributions

Dans un premier temps, nous avons abordé dans cette thèse, une étude générale de la modélisation. Le processus de modélisation d’un système passe obligatoirement par l’utili-sation de méthodes. Les méthodes utilisées d’une manière conjointe avec les outils qui les supportent, ainsi qu’avec un processus qui guide leur utilisation, incluent le concept de cycle de vie du Génie Logiciel.

Des ateliers de génie logiciel ont été créés, d’une part pour assurer l’utilisation correcte des méthodes selon un cycle de vie et, d’autre part pour faciliter cette utilisation ; nous avons décrit quelques exemples de tels ateliers de génie logiciel. Cette description partielle d’ateliers a été faite en respectant une double classification : commerciale/domaine public, méta-modélisation/modélisation.

Les méthodes intégrées aux ateliers de génie logiciel nécessitent un langage pour la production d’une modélisation. Nous avons introduit une classification des langages selon

l’approche utilisée et nous avons résumé leur processus d’utilisation.

Notre étude de modélisations informelles a mis en évidence l’intérêt de spécifications informelles standardisées. Nous avons concrètement expérimenté de telles spécifications par l’utilisation d’un éditeur hyper-texte intégré dans notre plate-forme de modélisation de systèmes.

En ce qui concerne les modélisations semi-formelles, nous pouvons dire que leur large utilisation dans les ateliers de génie logiciel actuels, alliée aux résultats significatifs obtenus au fil des ans en matière d’augmentation de la qualité des systèmes, prouvent leur utilité. Nous les avons étudiées attentivement pour les intégrer d’une manière homogène dans notre prototype d’atelier.

Dans le cadre de la modélisation formelle, nous avons évalué plusieurs méthodes. Après cette étude, nous avons opté par la méthode Z car elle nous semble la plus appropriée pour la spécification des systèmes d’information. Ce choix est dû essentiellement à l’accessibilité du langage Z aux lecteurs non spécialistes de spécifications formelles mais qui sont néan-moins familiers avec la théorie des ensembles et l’approche base de données. Cette étude sur les méthodes formelles nous permet de dire aussi que leur utilisation, qui se fait chaque jour plus présente et nécessaire, peut encore améliorer la qualité des spécifications de sys-tèmes lorsqu’elle se fait d’une manière conjuguée avec d’autres approches semi-formelles ou informelles.

Aujourd’hui, le mot phare de l’informatique est bien sûr l’“objet”. Nous nous sommes alors intéressés particulièrement à ce type de modélisation semi-formelle. Les plus grands bénéfices de son utilisation reposent d’une part sur l’adéquation des objets à modéliser le monde réel à travers des abstractions et, d’autre part sur les facilités offertes au niveau de la réutilisation d’objets de travaux antérieurs.

Après une étude sur des méthodes orientées objets et des méthodes formelles, nous pou-vons corroborer l’affirmation de K. Lano [Lan95] selon laquelle les méthodes formelles et les méthodes orientées objets sont complémentaires, car si l’un (l’objet) encourage la créa-tion d’abstraccréa-tions, l’autre (formelle) introduit les moyens pour les décrire, si l’un (l’objet) offre des mécanismes de structuration et des disciplines de développement, l’autre (for-melle) peut s’en servir dans la modélisation de grands systèmes et, en plus, les méthodes formelles fournissent une manière précise pour représenter des concepts des méthodes ob-jets. De nos jours, cette utilisation conjointe commence à être une réalité à travers l’extension des langages formels afin d’incorporer des concepts du paradigme objet (Objet-Z, VDM++, PLUSS, etc).

6.1 Bilan et Contributions 169

l’atelier de génie logiciel qui intègre aussi l’approche informelle, nous avons proposé l’utili-sation d’un méta-modèle. Ce méta-modèle rend possible la modélil’utili-sation de systèmes selon deux axes : l’un qui intègre les trois formalismes, informel, semi-formel et formel et l’autre, qui permet une visualisation d’un système par rapport à ses caractéristiques statiques ou dynamiques. Ce méta-modèle est au cœur du générateur expérimental d’ateliers de modéli-sation que nous avons développé.

L’architecture et les fonctionnalités de ce générateur d’ateliers permettent un double usage : méta-modélisation de modèles de méthodes et multi-modélisation de systèmes d’in-formation selon des méthodes particulières. Le méta-modèle permet l’interaction de diffé-rentes approches de modélisation. Nous avons proposé une étude de cette interaction en décrivant des relations qui peuvent exister entre les différents types de modélisations lors-qu’elles sont utilisées conjointement dans la modélisation de systèmes d’information.

Nous pouvons dire que les principales caractéristiques de notre atelier (générateur d’ate-liers) portent surtout sur les points suivants :

– une description de chaque modèle selon un même méta-modèle qui prend en compte trois dimensions, informelles, semi-formelles et formelles ;

– l’extensibilité, la portabilité et l’autonomie des trois composants (méta-outils) de l’ar-chitecture choisie ;

– une combinaison des approches objets et formelles avec une organisation en schémas ;

– une généralisation de la multi-modélisation de systèmes d’information ;

– une aide à la documentation des systèmes organisée par un éditeur hyper-texte ;

– une possibilité de vérifier formellement une spécification semi-formelle.

Nous avons expérimenté notre atelier dans des situations variées : méta-modélisation de méthodes orientées objets (OMT et OOA), comparaison de méthodes orientées objets, multi-modélisation d’un système d’information et production d’un exemple de document de spécification d’un système en utilisant la totalité des fonctions de notre plate-forme de modélisation.

Ces résultats font ressortir, nous semble-t-il, un travail original dans le cadre de la mo-délisation de systèmes d’information et plus particulièrement, notre contribution est signifi-cative sur deux points :

– notre générateur d’ateliers permet, contrairement aux ateliers commercialisés, de com-biner et de coordonner pour un même système d’information des modélisations selon des approches différentes : informelles, semi-formelles et formelles ;

– notre étude préliminaire sur les relations à gérer entre les différents types de modéli-sation et les différents fragments de modèles est certainement le point de départ d’une nouvelle démarche de modélisation non proposée, à notre connaissance, dans les ate-liers du marché.

De plus, notre atelier facilite la gestion de “fragments” de modèles utilisables dans un éditeur hyper-texte dédié à la documentation de spécifications de systèmes d’information. Si cette caractéristique est présente dans l’atelier Rose à travers l’outil SODA, il s’agit dans ce cas d’importation de modèles semi-formels complets. Avec la structure hyper-texte et le concept de vues présents dans notre atelier, nous permettons l’intégration de parties spéci-fiques d’une modélisation, qu’elles soient semi-formelles, formelles ou informelles.

6.2 Perspectives

Une utilisation effective des propositions de notre travail passe sûrement d’une part par des améliorations et des expérimentations du prototype développé et d’autre part par des approfondissements d’aspects trop brièvement décrits et évalués.

L’amélioration du prototype doit se faire en particulier par rapport aux points suivants :

– définition d’un canevas de modélisation réel complet qui prendrait en compte une norme de documents de spécification de systèmes d’information, comme par exemple la norme AFNOR NF67-100-3 [AFN94] ;

– intégration plus souple des modélisations produites par le module gestionnaire de mo-dèles et le module gestionnaire de documents ;

– dans notre travail la phrase “traduction automatique du semi- formel vers le formel” cache un travail important de développent (environ 12000 lignes de code C). Nous pensons que grâce à la généralité du code développé nous pouvons constituer une bibliothèque d’applicatifs, pour rendre réutilisable une partie du code C développé pour construire des ateliers pour d’autres méthodes.

D’une manière pratique, nous souhaitons poursuivre la validation de notre travail dans le cadre du projet STORM. Une première expérimentation de notre atelier a été réalisée pour

6.2 Perspectives 171

la construction de présentations multimédias qui ont été modélisées selon des approches semi-formelles et formelles. Dans cette expérimentation, nous avons généré un atelier à partir de notre plate-forme. Cet atelier dédié permet de représenter graphiquement une pré-sentation multimédia, qui peut être composée d’objets monomédias stockés dans un SGBD objet et de parties formelles qui sont des requêtes exprimées selon le langage OQL. Cette première expérimentation nous permet, aujourd’hui, d’envisager l’utilisation de cet atelier dans un contexte de spécifications exécutables. Une étude plus approfondie à propos de diverses relations existantes entre les représentations utilisées pour modéliser une présenta-tion multimédia est aussi envisagée. Cette étude doit sûrement faire ressortir de nouvelles caractéristiques envisageables dans de tels ateliers.

Nous voulons aussi poursuivre l’étude sur la méta-modélisation complète de méthodes orientées objets (et non de sous-ensembles de ces méthodes comme nous l’avons fait) afin de mieux valider notre méta-modèle et de construire un méta-méta-modèle général qui rende possible des transformations entre les modèles semi-formels de méthodes différentes. Ainsi, par exemple, une modélisation exprimée selon le formalisme OOA pourrait être transfor-mée, d’une manière semi-automatique, vers une autre modélisation exprimée selon OMT ou UML.

Des approfondissements de notre travail sont nécessaires sur des aspects importants et liés mais encore peu étudiés. En particulier, nous souhaitons :

– compléter et valider notre étude initiale sur les relations (expliquer, compléter, mo-déliser, etc.) inter-fragments de modèles afin de prendre en compte par exemple les relations entre les modélisations informelles et formelles, ou informelles et semi-formelles ;

– étudier les problèmes fondamentaux et les problèmes de cohérence entre les représen-tations selon les langages différents (formels et semi-formels par exemple).

De tels approfondissements permettraient de mettre en évidence par exemple la réver-sibilité ou les pertes d’informations possibles dans une opération de transformation de mo-dèles.

Nous avons présenté dans ce travail des propositions permettant une intégration de trois types de spécifications. Nous pensons que notre travail peut être utile dans le cadre d’une étude plus approfondie sur le couplage entre des spécifications semi-formelles moins proches de la modélisation de données et des spécifications formelles. L’approfondissement de cette étude sur le couplage entre des diagrammes traitant la dynamique d’un système et des méthodes formelles a déjà donné lieu à un travail de DEA [Dup97]. Ce travail se

poursuit et se concrétise dans le cadre d’un travail de magistère où nos propositions et notre atelier seront utilisées.

Il faut noter aussi que notre recherche a porté essentiellement sur l’ingénierie des mo-dèles, sans traiter de l’ingénierie des méthodes. Ce nouveau domaine de recherche est de-venu très actif [Rol94] dans les équipes systèmes d’information et génie logiciel ; il aborde en particulier la description des démarches de modélisation. Ce type de description n’est pas explicitement intégré aujourd’hui dans notre méta-modèle.

Malgré ces limites de notre travail, les premières expérimentations réalisées nous per-mettent d’envisager la prise en compte des différentes prolongations de cette recherche en nous appuyant directement sur le cadre de méta-modélisation que nous avons défini ainsi que sur le générateur expérimental d’ateliers de modélisation que nous avons développé.

Annexe A