Vers un paradigme transformationnel dans le développement orienté objet
Thèse ou mémoire
2000-05 (octroi du grade: 2000-07-06)
Auteur·e·s
Directeur·trice·s de recherche
Cycle d'études
DoctoratProgramme
InformatiqueMots-clés
Résumé·s
Plusieurs modèles de maintenance exigent que les changements soient faits et documentés dans les spécifications des besoins et soient par la suite propagés vers le code source à travers les modèles d'analyse et de conception. Ces modèles supposent donc un haut niveau de traçabilité comme facteur clé de maintenabilité. Cette traçabilité ne peut être obtenue sans une approche transformationnelle au développement des logiciels.
Cette thèse a pour objectif de fournir une approche transformationnelle pour supporter l' ingénierie des besoins à l'aide des scénarios et pour appliquer les patrons de conception au moyen d'algorithmes et de processus. Le langage unifié de modélisation (Unified Modeling Language, UML) a été adopté comme notation de modélisation.
Dans le support de l'ingénierie des besoins, nous proposons, premièrement, un algorithme incrémental pour la synthèse des spécifications dynamiques à partir des scénarios. Cet algorithme prend comme entrée un ensemble de diagrammes de collaboration d'UML et produit en sortie les diagrammes d'états-transitions d'UML de tous les objets collaborant dans les scénarios d'entrée. En outre cet algorithme permet la vérification de la cohérence et de la complétude des scénarios.
Deuxièmement, un autre algorithme est conçu pour la génération d'un prototype de l'interface usager (IU) à partir de la spécification des scénarios. Les scénarios sont acquis sous forme de diagrammes de collaboration enrichis par des informations de l'IU. Ce prototype de l'IU peut être exécuté par un constructeur d'IU ce qui permet non seulement la validation des scénarios avec les utilisateurs mais aussi sa personnalisation et son raffinement éventuel.
L'application automatique des patrons de conception est réalisée par une nouvelle approche pour le raffinement successif des modèles (en format UML) statiques et dynamiques de conception. Ces raffinements successifs sont basés sur des schémas de raffinement. Un schéma de raffinement est composé de deux compartiments. Le premier compartiment décrit le modèle abstrait de conception, et le deuxième compartiment montre le modèle détaillé correspondant après l'application d'un patron de conception. Nous proposons aussi un catalogue de schémas de micro-raffinement qui permettent non seulement de décrire un schéma de raffinement mais aussi de prouver sa validité. Several maintenance models suggest that changes be done and docurnented in the requirernents specification and subsequently propagated through the analysis and design models to the source code. These models require all a high level of traceability. Such traceability can only be obtained by a transformational approach to software development. The objective of this thesis is to provide a transformational approach for supporting requirernents engineering based on scenarios and for applying design patterns by rneans of algorithms and processes. The Unified Modeling Language (UML) was adopted as the notational framework. For supporting requirements engineering, we propose first an incrernental algorithm for synthesizing behavioral specifications frorn scenarios. This algorithrn generates from a given set of UML collaboration diagrams the UML statechart diagrams of all the abjects involved. Moreover, this algorithm allows for the verification of consistency and cornpleteness of the input scenarios. Secondly, another algorithm is designed to generate a user interface (UI) prototype from scenarios. Scenarios are acquired in the form of UML collaboration diagrams, which are enriched with UI information. This UI prototype can be executed in a UI builder environment for the validation of the scenarios by the users, for customization, and for further refinernent. The automatic application of design patterns is achieved by a new approach to the stepwise refinement of static and dynamic design models represented as UML diagrams. Refinement is based on refinement schemas which are cornposed of two compartments. The first compartrnent describes the abstract design model, whereas the second compartment shows the corresponding detailed rnodel after application of one design pattern. We also propose a catalogue of smaller transformations called micro-refinement schernas. These micro-refinernent schernas are proven to be correct and can be used to compose correct refinernent schemas.
Note·s
Thèse numérisée par la Direction des bibliothèques de l'Université de Montréal.Ce document diffusé sur Papyrus est la propriété exclusive des titulaires des droits d'auteur et est protégé par la Loi sur le droit d'auteur (L.R.C. (1985), ch. C-42). Il peut être utilisé dans le cadre d'une utilisation équitable et non commerciale, à des fins d'étude privée ou de recherche, de critique ou de compte-rendu comme le prévoit la Loi. Pour toute autre utilisation, une autorisation écrite des titulaires des droits d'auteur sera nécessaire.