• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 6
  • 2
  • Tagged with
  • 9
  • 9
  • 4
  • 4
  • 4
  • 4
  • 4
  • 3
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Génération de patrons de conception et restructuration de code vers un patron de conception pour Java

Tousignant, Jonathan January 2016 (has links)
(POO) est l’utilisation de patrons de conception (PC). Un PC est un arrangement caractéristique de classes permettant d’offrir une solution éprouvée, tout en obtenant un code réutilisable et compréhensible. Plusieurs PC sont définis, dont 24 par la GoF [12] et plusieurs autres sont apparus par la suite. Le concept de PC est abstrait ce qui peut amener différentes interprétations. Ces différences peuvent aussi causer une mauvaise implémentation qui peut réduire les avantages d’utiliser ce patron. Ce projet consiste à concevoir un outil facilitant l’utilisation des PC. L’outil Génération et Restructuration de Patrons de Conception(GRPC) permet la génération automatique du squelette d’un patron de conception ainsi que la restructuration d’un code en le transformant structure respectant un PC. La génération et la restructuration automatique permettent d’obtenir un code uniforme et de qualité tout en respectant le patron de conception. La compréhension et la maintenance du code sont ainsi améliorées. GRPC est module d’extension pour l’environnement de développement Eclipse écrit en Java. Le code est conçu pour être facilement compréhensible et extensible. Les deux principaux objectifs de GRPC sont de restructurer (refactoring) une section de code vers l’architecture d’un patron de conception et de générer des squelettes de patrons de conception. Une interface graphique permet de guider l’utilisateur et d’aller chercher toutes les informations importantes pour le fonctionnement du logiciel. Elle permet aussi de configurer les éléments du patron de conception. Pour s’assurer de la possibilité d’effectuer une restructuration, chaque patron est associé avec une ou plusieurs règles qui analysent le code pour détecter la présence d’une structure particulière. Des procédures aident les développeurs à ajouter de nouveaux PC dans GRPC. GRPC fournit des fonctionnalités permettant d’implémenter quelques patrons de conception de la POO définis dans le livre Design Patterns : Elements of Reusable Object-Oriented Software.
2

Expression et composition des motifs de conception avec les aspects

Denier, Simon 09 July 2007 (has links) (PDF)
Les patrons de conception répertorient les bonnes pratiques de la programmation par ob- jets. Les solutions des patrons, appelées motifs, apparaissent avec une densité croissante dans les bibliothèques et cadriciels. Les effets de cette densité sur la modularité, l'adaptation et la réutilisation des programmes sont mal connus. Or la dispersion et le mélange du code lié à l'im- plémentation des motifs rendent difficile l'étude de ces effets. La programmation par aspects est une technique nouvelle dédiée au traitement de ces deux symptômes. En modularisant les motifs dans des aspects, nous pouvons analyser de manière plus fine les problèmes d'implémentation et de composition des motifs liés à leur densité. Cette thèse aborde les problèmes de la densité, de l'implémentation et de la composition des motifs avec AspectJ, une extension de Java pour les aspects. À partir du cas concret du cadri- ciel JHotDraw, nous montrons qu'une forte densité est un facteur de risque sur la modularité et l'adaptation d'un programme objet. Nous présentons la transformation des motifs à l'aide des aspects et nous décrivons les idiomes d'AspectJ supportant leur modularisation. Nous exami- nons la modularité et la réutilisation des compositions de motifs définies avec les aspects. Nous proposons la résolution des interactions entre motifs à l'aide du langage de coupe des aspects. Enfin nous développons une méthode de programmation avec AspectJ basée sur l'usage conjoint des classes et des aspects. Ces travaux nous permettent de conclure sur l'intérêt des aspects comme moyen d'étude et de traitement de la densité des motifs. Ils ouvrent également des pistes pour l'amélioration des langages d'aspects.
3

Développement de systèmes d'information à l'aide de patrons. Application aux bases de données actives

Front, Agnès 13 December 1997 (has links) (PDF)
La définition d'un système d'information nécessite la prise en compte de nombreuses questions relatives à des aspects dynamiques du type ``comment une unité de soins réagit-elle face à une demande d'acte de la part d'un prescripteur ?'', ``quelles sont les contraintes à vérifier lors de l'élaboration du planning du personnel d'une compagnie de trains ?'' ou encore ``que faut-il faire lors de l'absence d'un agent ?''. Ces questions doivent être traitées tout au long de l'activité de modélisation des applications. L'objectif de cette thèse est d'intégrer et de développer des patrons afin d'apporter des éléments pour faciliter l'analyse, la conception et l'implantation de tels besoins appelés ``situations comportementales'' exprimant des réactions à des situations significatives des applications. Concrètement, le modèle et le langage de patrons SCalP permettent de représenter des situations comportementales depuis leur expression au niveau de l'analyse jusqu'à leur implantation dans un système cible ; ils sont expérimentés dans un cadre de bases de données actives avec le système de gestion de bases de données actif NAOS. Les patrons que nous proposons représentent des solutions à des problèmes récurrents dans divers domaines et à différents niveaux d'abstraction. Notre approche présente deux avantages principaux. D'une part, elle permet une expression assez naturelle des situations comportementales. D'autre part, elle facilite la réutilisation de composants (patrons) plus conséquents que de simples classes d'objets. Ces patrons représentent de véritables mini-systèmes basés sur la prise en compte en amont (production) et en aval (consommation) d'événements pertinents quant à la dynamique du système d'information concerné.
4

Conception par patrons des modèles à événements discrets : de la machine à états finis au DEVS / Design pattern of discrete event system : from FSM to DEVS

Messouci, Rabah 12 May 2017 (has links)
Les modèles à événements discrets sont, souvent, réalisés afin d’être simulés et par conséquent exécutés sur ordinateur.Certains codeurs de simulation optent pour une programmation impérative pour implémenter les comportements décrits par leurs machines à états.D’autres codeurs optent plutôt pour une programmation orientée objet.Ce paradigme de programmation, basé sur la notion d’objet, décline une nouvelle façon de voir un programme et son architectureToutes les solutions proposées manquent de clarté.Elles sont extrêmement coûteuses en terme de maintenabilité du code implémenté.L’utilisation exclusive des instructions conditionnelles rend toute correction au niveau du code difficile à réaliser, voire impossible dans certains cas. Aussi, elles souffrent au niveau de la réutilisabilité d’une partie du code. En effet, l’utilisation de telles instructions produit un code compacte, avec une forte cohésion entre les variables et fonctions du modèle implémenté. Par conséquent, le concepteur pourra réutiliser ce code qu’en un seul bloc.Toute dislocation du code est impossiblePour toutes ces raisons, nous proposons une nouvelle conception des modèles à événements discrets afin d’améliorer les qualités du code produit. Cette solution est basée sur le paradigme objet pour exploiter pleinement ses avantages tout en contournant ses limites. A cet effet, la solution proposée et détaillée dans cette thèse est un nouveau patron. Dans ce patron, les états et les événements sont réifiés pour avoir plus d’abstraction et de clarté. La réification permettra aux événements d’encapsuler des données et des comportements. Ainsi, nous pouvons déléguer aux événements de nouvelles responsabilités / Discrete event systems (State machine or Discrete Event system Specification) are often modeled in order to be simulated and therefore executed on a computer. Some simulation designers choose for imperative programming to implement the behaviors described by their state machines and others. Whereas, few of them choose for object-oriented programming: this paradigm of computer programming, based on the notion of object, declines a new way of seeing a program and its architecture.All of the proposed solutions found in the litterature lack clarity. They are extremely expensive in terms of debugging, reusing and changing the implemented model. The exclusive use of conditional statements if-else or switch case makes any code correction difficult to perform, even impossible in some cases. They also suffer from the reusability of some parts of the code. Indeed, the use of such instructions produces a compact code, with a strong cohesion (coupling) between the variables and functions of the implemented model. Therefore, the designer can reuse the corresponding code only in one block. Any extraction of a a piece of code which corresponds to a piece of behavior is impossible.For all these reasons, we propose a new design of discrete event systems, from the state machine to the DEVS, in order to improve the producted code qualities. This solution is based on the object paradigm to fully exploit its advantages while circumventing its limits. To this end, the solution proposed and detailed in this thesis is a new State-Event Design Pattern and its variants. Thus, the designer of simulation models will have a library of patterns to choose in order to satisfy his design requirements.
5

Support informatique à la compréhension des logiciels orientés objet de taille industrielle

Robitaille, Sébastien January 2000 (has links)
Mémoire numérisé par la Direction des bibliothèques de l'Université de Montréal.
6

Tool support for context-based comprehension of large-scale software systems

Yin, Rui January 2002 (has links)
Mémoire numérisé par la Direction des bibliothèques de l'Université de Montréal.
7

Contribution à la programmation générative. Application dans le générateur SmartTools : technologies XML, programmation par aspects et composants

Courbis, Carine 10 December 2002 (has links) (PDF)
Avec l'émergence d'Internet et la prolifération de nouvelles technologies, la conception et le développement d'applications complexes doivent impérativement prendre en compte les standards et les aspects de répartition, déploiement et réutilisation de code. C'est la source d'une nouvelle problématique liée à la programmation. Un changement radical des méthodologies est nécessaire pour aisément prendre en compte ces différentes facettes. Cette thèse jette les bases d'une nouvelle manière de programmer où ces facettes ou intentions sont automatiquement intégrées aux spécifications ou modèles abstraits de l'application lors de phases de génération de code source. Cette nouvelle programmation est dit générative. Cette idée a été appliquée, à différents niveaux, lors de la réalisation d'une application, aussi bien pour la représentation de données ou d'environnements interactifs que pour les traitements sémantiques ou l'architecture. Ainsi le code final obtenu après génération s'appuie sur les technologies XML pour la représentation des données, les technologies objets et beans pour les vues et l'interface utilisateur, la programmation par aspect et le patron de conception visiteur pour les traitements sémantiques et la programmation par composants pour une architecture ouverte et une application répartie et déployable. Les principaux gains d'une telle programmation sont une meilleure qualité du logiciel due à la séparation de la logique métier et des spécificités technologiques, une simplification du code métier à écrire, l'ajout rapide de nouvelles facettes et un portage vers d'autres plates-formes ou technologies facilité.
8

Vers une ingénierie avancée de la sécurité des systèmes d'information d'entreprise : une approche conjointe de la sécurité, de l'utilisabilité et de la résilience dans les systèmes sociotechniques / Towards advanced enterprise information system security engineering : a joint methodology to security, usability and resilience in sociotechnical systems

Goudalo, Wilson 18 July 2017 (has links)
A notre ère de l'industrie des services, des systèmes d'information jouent une place prépondérante. Ils tiennent même parfois une position vitale pour les entreprises, les organisations et les individus. Les systèmes d'information sont confrontés à de nouvelles menaces de sécurité continuellement ; celles-ci sont de plus en plus sophistiquées et de natures différentes. Dans ce contexte, il est important d'empêcher les attaquants d'atteindre leurs résultats, de gérer les failles inévitables et de minimiser leurs impacts. Les pratiques de sécurité doivent être menées dans un cadre d'ingénierie ; l'ingénierie de la sécurité doit être améliorée. Pour cela, il est proposé de développer des approches systémiques, innovantes sur de larges spectres et qui fonctionnent sur plusieurs axes ensemble, en améliorant l'expérience utilisateur. Notre objectif est de traquer et résoudre de façon conjointe les problèmes de la sécurité, de l'utilisabilité et de la résilience dans les systèmes d'information d'entreprise. Dans cette thèse, nous positionnons les systèmes sociotechniques au regard des systèmes d'information des entreprises et des organisations. Nous traitons les paradigmes de systèmes sociotechniques et nous nous recentrons sur les corrélations entre la sécurité, l’utilisabilité et la résilience. Une étude de cas illustre l'approche proposée. Elle présente l'élaboration de design patterns (modèles de conception) pour améliorer l'expérience utilisateur. La thèse se termine par une discussion globale de l’approche, ainsi que par des perspectives de recherche. / In our era of the service industry, information systems play a prominent role. They even hold a vital position for businesses, organizations and individuals. Information systems are confronted with new security threats on an ongoing basis; these threats become more and more sophisticated and of different natures. In this context, it is important to prevent attackers from achieving their results, to manage the inevitable flaws, and to minimize their impacts. Security practices must be carried out within an engineering framework; Security engineering needs to be improved. To do this, it is proposed to develop systemic approaches, innovative on wide spectra and that work on several axes together, improving the user experience. Our goal is to jointly track down and resolve issues of security, usability and resiliency in enterprise information systems. In this doctoral thesis, we position sociotechnical systems in relation to the information systems of companies and organizations. We address paradigms of sociotechnical systems and refocus on the correlations between security, usability and resilience. A case study illustrates the proposed approach. It presents the development of design patterns to improve the user experience. The thesis concludes with an overall discussion of the approach, as well as research perspectives.
9

Pattern-based refactoring in model-driven engineering

Mokaddem, Chihab eddine Mohamed Omar 05 1900 (has links)
L’ingénierie dirigée par les modèles (IDM) est un paradigme du génie logiciel qui utilise les modèles comme concepts de premier ordre à partir desquels la validation, le code, les tests et la documentation sont dérivés. Ce paradigme met en jeu divers artefacts tels que les modèles, les méta-modèles ou les programmes de transformation des modèles. Dans un contexte industriel, ces artefacts sont de plus en plus complexes. En particulier, leur maintenance demande beaucoup de temps et de ressources. Afin de réduire la complexité des artefacts et le coût de leur maintenance, de nombreux chercheurs se sont intéressés au refactoring de ces artefacts pour améliorer leur qualité. Dans cette thèse, nous proposons d’étudier le refactoring dans l’IDM dans sa globalité, par son application à ces différents artefacts. Dans un premier temps, nous utilisons des patrons de conception spécifiques, comme une connaissance a priori, appliqués aux transformations de modèles comme un véhicule pour le refactoring. Nous procédons d’abord par une phase de détection des patrons de conception avec différentes formes et différents niveaux de complétude. Les occurrences détectées forment ainsi des opportunités de refactoring qui seront exploitées pour aboutir à des formes plus souhaitables et/ou plus complètes de ces patrons de conceptions. Dans le cas d’absence de connaissance a priori, comme les patrons de conception, nous proposons une approche basée sur la programmation génétique, pour apprendre des règles de transformations, capables de détecter des opportunités de refactoring et de les corriger. Comme alternative à la connaissance disponible a priori, l’approche utilise des exemples de paires d’artefacts d’avant et d’après le refactoring, pour ainsi apprendre les règles de refactoring. Nous illustrons cette approche sur le refactoring de modèles. / Model-Driven Engineering (MDE) is a software engineering paradigm that uses models as first-class concepts from which validation, code, testing, and documentation are derived. This paradigm involves various artifacts such as models, meta-models, or model transformation programs. In an industrial context, these artifacts are increasingly complex. In particular, their maintenance is time and resources consuming. In order to reduce the complexity of artifacts and the cost of their maintenance, many researchers have been interested in refactoring these artifacts to improve their quality. In this thesis, we propose to study refactoring in MDE holistically, by its application to these different artifacts. First, we use specific design patterns, as an example of prior knowledge, applied to model transformations to enable refactoring. We first proceed with a detecting phase of design patterns, with different forms and levels of completeness. The detected occurrences thus form refactoring opportunities that will be exploited to implement more desirable and/or more complete forms of these design patterns. In the absence of prior knowledge, such as design patterns, we propose an approach based on genetic programming, to learn transformation rules, capable of detecting refactoring opportunities and correcting them. As an alternative to prior knowledge, our approach uses examples of pairs of artifacts before and after refactoring, in order to learn refactoring rules. We illustrate this approach on model refactoring.

Page generated in 0.103 seconds