Liens externes
  • Directories
  • Faculties
  • Libraries
  • Campus maps
  • Sites A to Z
  • My UdeM
    • Mon portail UdeM
    • My email
    • StudiUM
Dessin du pavillon Roger Gaudry/Sketch of Roger Gaudry Building
University Home pageUniversity Home pageUniversity Home page
Papyrus : Institutional Repository
Papyrus
Institutional Repository
Papyrus
    • français
    • English
  • English 
    • français
    • English
  • Login
  • English 
    • français
    • English
  • Login
View Item 
  •   Home
  • Faculté des arts et des sciences
  • Faculté des arts et des sciences – Département d'informatique et de recherche opérationnelle
  • Faculté des arts et des sciences – Département d'informatique et de recherche opérationnelle - Thèses et mémoires
  • View Item
  •   Home
  • Faculté des arts et des sciences
  • Faculté des arts et des sciences – Département d'informatique et de recherche opérationnelle
  • Faculté des arts et des sciences – Département d'informatique et de recherche opérationnelle - Thèses et mémoires
  • View Item
JavaScript is disabled for your browser. Some features of this site may not work without it.

My Account

To submit an item or subscribe to email alerts.
Login
New user?

Browse

All of PapyrusCommunities and CollectionsTitlesIssue DatesAuthorsAdvisorsSubjectsDisciplinesAffiliationTitles indexThis CollectionTitlesIssue DatesAuthorsAdvisorsSubjectsDisciplinesAffiliationTitles index

Statistics

View Usage Statistics
Show metadata
Permalink: http://hdl.handle.net/1866/8432

Identification et localisation des préoccupations fonctionnelles dans un code légataire Java

Thesis or Dissertation
Thumbnail
ElKharraz_Amal_2012_these.pdf (3.655Mb)
2011-06 (degree granted: 2012-07-05)
Author(s)
El Kharraz, Amal
Advisor(s)
Valtchev, Petko
Mili, Hafedh
Level
Doctoral
Discipline
Informatique
Keywords
  • Fonctionnalités
  • Réingénierie
  • Code orienté objets légataire
  • Refactorisation
  • Treillis de Galois
  • Java
  • Features
  • Reengineering
  • Legacy object oriented code
  • Refactoring
  • Galois lattices
  • Applied Sciences - Computer Science / Sciences appliqués et technologie - Informatique (UMI : 0984)
Abstract(s)
Traditionnellement, les applications orientées objets légataires intègrent différents aspects fonctionnels. Ces aspects peuvent être dispersés partout dans le code. Il existe différents types d’aspects : • des aspects qui représentent des fonctionnalités métiers ; • des aspects qui répondent à des exigences non fonctionnelles ou à d’autres considérations de conception comme la robustesse, la distribution, la sécurité, etc. Généralement, le code qui représente ces aspects chevauche plusieurs hiérarchies de classes. Plusieurs chercheurs se sont intéressés à la problématique de la modularisation de ces aspects dans le code : programmation orientée sujets, programmation orientée aspects et programmation orientée vues. Toutes ces méthodes proposent des techniques et des outils pour concevoir des applications orientées objets sous forme de composition de fragments de code qui répondent à différents aspects. La séparation des aspects dans le code a des avantages au niveau de la réutilisation et de la maintenance. Ainsi, il est important d’identifier et de localiser ces aspects dans du code légataire orienté objets. Nous nous intéressons particulièrement aux aspects fonctionnels. En supposant que le code qui répond à un aspect fonctionnel ou fonctionnalité exhibe une certaine cohésion fonctionnelle (dépendances entre les éléments), nous proposons d’identifier de telles fonctionnalités à partir du code. L’idée est d’identifier, en l’absence des paradigmes de la programmation par aspects, les techniques qui permettent l’implémentation des différents aspects fonctionnels dans un code objet. Notre approche consiste à : • identifier les techniques utilisées par les développeurs pour intégrer une fonctionnalité en l’absence des techniques orientées aspects • caractériser l’empreinte de ces techniques sur le code • et développer des outils pour identifier ces empreintes. Ainsi, nous présentons deux approches pour l’identification des fonctionnalités existantes dans du code orienté objets. La première identifie différents patrons de conception qui permettent l’intégration de ces fonctionnalités dans le code. La deuxième utilise l’analyse formelle de concepts pour identifier les fonctionnalités récurrentes dans le code. Nous expérimentons nos deux approches sur des systèmes libres orientés objets pour identifier les différentes fonctionnalités dans le code. Les résultats obtenus montrent l’efficacité de nos approches pour identifier les différentes fonctionnalités dans du code légataire orienté objets et permettent de suggérer des cas de refactorisation.
 
Object oriented applications integrate various functional aspects. These aspects can be scattered everywhere in the code. There are various types of aspects : • aspects which represent business functionalities ; • aspects related to non functional requirements or to design concerns such as robustness, distribution, and security. The code representing such aspects can be located in different class hierarchies. Researchers have been interested in the problem of the modularisation of these aspects and many approaches were proposed : oriented programming subjects, oriented programming Aspects and oriented programming view. These approaches offer techniques and tools for designing object oriented applications based on the composition of slices of various aspects. The main benefit of the separation of aspects is supporting reuse and maintenance. Consequently, it is well worth identifying and extracting aspects of legacy object oriented applications. Our work mainly focuses on functional aspects. Assuming that the code of a functional aspect or a feature has a functional cohesion (dependencies between elements), we suggest methods for identifying such features from the code. The idea is to identify, in the absence of any aspect oriented paradigm, the techniques used for implementing a feature in the code. Our approach consists of : • identifying techniques used by developers to integrate a feature in the absence of aspect oriented techniques • characterizing the patterns of these techniques • and developing tools to identify these patterns. We present two approaches for the identification of the existing features in the object oriented code. The first one identifies various design patterns which integrates these features in the code. The second approach uses the formal concept analysis to identify the recurring features in the code. We experiment our approaches to identify functional features in different open source object oriented applications. The results show the efficiency of our approaches in identifying various functional features in the legacy object oriented, and can some times suggest refactoring.
Collections
  • Thèses et mémoires électroniques de l’Université de Montréal [16669]
  • Faculté des arts et des sciences – Département d'informatique et de recherche opérationnelle - Thèses et mémoires [692]

DSpace software [version 5.8 XMLUI], copyright © 2002-2015  DuraSpace
Contact Us | Send Feedback
Certificat SSL / SSL Certificate
les bibliothéques/UdeM
  • Emergency
  • Private life
  • Careers
  • My email
  • StudiUM
  • iTunes U
  • Contact us
  • Facebook
  • YouTube
  • Twitter
  • University RSS
 

 


DSpace software [version 5.8 XMLUI], copyright © 2002-2015  DuraSpace
Contact Us | Send Feedback
Certificat SSL / SSL Certificate
les bibliothéques/UdeM
  • Emergency
  • Private life
  • Careers
  • My email
  • StudiUM
  • iTunes U
  • Contact us
  • Facebook
  • YouTube
  • Twitter
  • University RSS