Spelling suggestions: "subject:"catron dde conception"" "subject:"catron dee conception""
1 |
Génération de patrons de conception et restructuration de code vers un patron de conception pour JavaTousignant, 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 aspectsDenier, 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 activesFront, 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 DEVSMessouci, 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 industrielleRobitaille, 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 systemsYin, 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 composantsCourbis, 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 systemsGoudalo, 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 engineeringMokaddem, 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.
|
10 |
Vers un paradigme transformationnel dans le développement orienté objetKhriss, Ismail 05 1900 (has links)
Thèse numérisée par la Direction des bibliothèques de l'Université de Montréal. / 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.
|
Page generated in 0.0894 seconds