Object-oriented software frameworks are a prominent way of software reuse, since they allow for increased developer productivity. However, frameworks often present the user with a steep learning curve before they can be leveraged efficiently. This issue is caused by the fact that frameworks offer rich feature sets, yet their documentation is often incomplete and informal. In the following thesis we propose a method that relies on feature diagrams in order to describe the features offered by a given framework and the relationships between them. The Reusable Aspect Models method is used in order to formally describe the individual features' interfaces. The interfaces' structural and behavioral properties are described using UML class diagrams and UML sequence diagrams, respectively. A complete model of the subset of a given framework's interface that is relevant to a particular client application can be created by composing the models of the framework features used by that application. The individual feature models serve as a basis for generating tutorials showcasing the framework's capabilities, or even portions of the client application code necessary to interface with the framework. In order to test this method, a case study focusing on the Spring framework was conducted. / Les frameworks orientés objet sont un moyen important de la réutilisation de code, car ils permettent d'améliorer la productivité des développeurs. Cependant, les frameworks présentent souvent à l'utilisateur une courbe d'apprentissage abrupte avant qu'ils ne puissent être exploitées efficacement. La cause de ce problème est le fait que les frameworks offrent de nombreuses fonctionnalités, mais leur documentation est souvent incomplète et informelle. Dans la thèse suivante, nous proposons une méthode qui s'appuie sur les feature models afin de décrire les caractéristiques(ou features) offertes par un framework et les relations qu'ils existent entre eux. La méthode Reusable Aspect Models est utilisé pour décrire formellement les interfaces des caractéristiques individuelles. Les propriétés structurelles des interfaces sont définies à l'aide des diagrammes de classes tandis que les propriétés comportementales des interfaces sont définies à l'aide des diagrammes de séquence. La méthode Reusable Aspect Models permette aussi de composer les modèles individuels afin de créer un modèle de la partie de l'interface du framework qui s'applique à l'application cliente. Les modèles permettent de générer des exemples pour l'utilisation du framework. Afin de tester nôtre méthode, une étude de cas basée sur le framework Spring a été réalisée.
Identifer | oai:union.ndltd.org:LACETR/oai:collectionscanada.gc.ca:QMM.121274 |
Date | January 2014 |
Creators | Dafinov, Emil |
Contributors | Jorg Andreas Kienzle (Internal/Supervisor) |
Publisher | McGill University |
Source Sets | Library and Archives Canada ETDs Repository / Centre d'archives des thèses électroniques de Bibliothèque et Archives Canada |
Language | English |
Detected Language | English |
Type | Electronic Thesis or Dissertation |
Format | application/pdf |
Coverage | Master of Science (School of Computer Science) |
Rights | All items in eScholarship@McGill are protected by copyright with all rights reserved unless otherwise indicated. |
Relation | Electronically-submitted theses |
Page generated in 0.0013 seconds