Un autre modèle de relation d association pour améliorer la réutilisation de composants de

Dimension: px
Commencer à balayer dès la page:

Download "Un autre modèle de relation d association pour améliorer la réutilisation de composants de"

Transcription

1 Eric Mendizabal Université de Montpellier II DEA d Informatique Année 2002 / Mémoire de DEA Un autre modèle de relation d association pour améliorer la réutilisation de composants de modèles UML Sujet proposé par S. Vauttier et C. Urtado

2 TABLE DES MATIÈRES Table des matières 1 Introduction 3 2 Relation d association et composants conceptuels en UML La relation d association La propriété de réciprocité La propriété de dépendance Les composants conceptuels Production de composants pour la réutilisation Production de composants par réutilisation Vers une modification du méta-modèle Les concepts d association unidirectionnelle et de rôle Une approche par composition Une approche par héritage Le modèle proposé Mise en oeuvre du modèle Implémentation dans NSUML Le modèle de relation d association dans NSUML Implémentation du modèle Intégration dans ArgoUML Conclusion 23 1

3 TABLE DES FIGURES Table des figures 1 Les quatre niveaux de modélisation standard de l OMG (source [Bez01]) Une relation d association unidirectionnelle Une relation d association bidirectionnelle Décomposition de composants : distribeur automatique de billets Assemblage de composants : pilote automatique sur avion de ligne L approche avec composition L approche avec héritage Le modèle retenu Modèle de l implémentation des relations d association dans NSUML

4 1 INTRODUCTION 1 Introduction Le monde de l industrie porte un intérêt tout particulier à l ingénierie des logiciels et des systèmes d information basés sur les composants. En effet, ces derniers permettent un développement rapide et à moindre coût de logiciels de qualité. Après avoir consisté à intégrer des composants logiciels lors de la phase d implémentation, notamment par l intermédiaire d infrastructures telles que CORBA [OMG02a], J2EE [Sun03a] ou encore.net, une nouvelle tendance se dessine : celle des approches dirigées par les modèles. Ces nouvelles approches se fondent sur un constat simple. Devant l évolution rapide des architectures, les composants logiciels doivent fréquemment et rapidement migrer vers de nouvelles plates-formes. Les composants logiciels ne tiennent donc pas toutes leurs promesses en matière de réutilisation. Il apparaît alors que seuls les modèles conceptuels produits lors des étapes de spécification ou de conception peuvent être pérennisés et capitalisables au cours du cycle de développement d un logiciel ou d un système d information. Il est alors légitime de penser que les vrais composants ne sont pas les composants logiciels mais ceux de modèle. En se basant sur ces constats, les approches dirigées par les modèles proposent de réaliser l intégration des logiciels non plus lors de la phase d implémentation mais lors de la phase de conception. L intégration consiste alors à assembler des composants de modèles décrits de manière conceptuelle dans un langage de modélisation standard et technologiquement neutre. Le passage des composants conceptuels aux composants logiciels s effectue ensuite par l intermédiaire de générateurs de code fournis par la plate-forme cible. Cela a pour effet de permettre la migration des composants vers de nouvelles plates-formes à moindre coût. L OMG a lancé une initiative afin de bâtir une approche dirigée par les modèles appelée MDA (Model Driven Architecture). Cette démarche s appuie sur le standard de modélisation orientée objet à quatre niveaux défini par l OMG [OMG02b, Bez01] (figure 1): le niveau méta-méta (niveau M3), qui définit le MOF en tant que méta-méta-modèle standard permettant de décrire un méta-modèle standard. le niveau méta (niveau M2), dans lequel tout méta-modèle est une instance du MOF afin de permettre l échange et l interopérabilité des méta-modèles. On trouve à ce niveau le méta-modèle du langage standard de modélisation objet, UML (Unified Modeling Language) [OMG03]. le niveau classe (niveau M1), où les modèles sont des instances du niveau méta (M2). Nous trouvons par exemple à ce niveau les modèles UML, instances du méta-modèle d UML. le niveau instance (niveau M0), niveau des données du monde réel, où des instances particulières des modèles du niveau M1 sont créées. Au sein de MDA, deux types de relations interviennent entre modèles [Bez01]. Il existe d une part des relations de transformation permettant de décrire la transformation d un modèle en un autre modèle. Ces transformations s effectuent par l intermédiaire de règles formelles. Ces règles de transformations entre modèles sont en cours de standardisation et permettront à terme la description de la génération automatique du code d implantation d un composant conceptuel pour une plate-forme technique donnée. D autre part, il existe également des relations d intégration décrivant l assemblage de modèles dans le but de produire de nouveaux modèles. Les travaux exposés dans ce document portent sur ce type de 3

5 1 INTRODUCTION Fig. 1 Les quatre niveaux de modélisation standard de l OMG (source [Bez01]) relations entre modèles. Nous nous intéressons aux mécanismes de réutilisation et d assemblage de composants conceptuels élémentaires afin de produire de nouveaux modèles. Le langage UML ne dispose pas, dans sa version actuelle, d un concept de relation d association supportant les mécanismes de décomposition / recomposition. Nous souhaitons donc introduire un concept de relation permettant de disposer de composants conceptuels construits par et pour la réutilisation. Pour cela, il convient de s intéresser au métamodèle d UML afin de chercher à combler les différents défauts déjà recensés par des méthodologistes. Après avoir évoqué la relation d association et les composants conceptuels en UML, nous présenterons les faiblesses du méta-modèle d UML au niveau de la gestion des composants conceptuels conçus par et pour la réutilisation. Nous introduirons ensuite une solution pratique à ce problème en proposant un méta-modèle de relations d associations s inscrivant dans la démarche MDA. Nous présenterons alors la mise en oeuvre de ce modèle dans une implémentation en langage Java ainsi que son intégration dans le méta-modèle NSUML, base de l atelier de génie logiciel ArgoUML. Enfin, nous conclurons en évoquant les perspectives de ces recherches. 4

6 2 RELATION D ASSOCIATION ET COMPOSANTS CONCEPTUELS EN UML 2 Relation d association et composants conceptuels en UML Nous présentons tout d abord la relation d association dans le langage UML. Nous précisons ensuite le lien existant entre la relation d association et les composants conceptuels, que nous introduisons. 2.1 La relation d association Nous nous intéressons ici aux travaux ayant été menés sur la relation d association en UML, ainsi que sur l utilisation de composants conceptuels dans ce langage. De manière générale [OMG03, Ste01], une relation d association est une relation n-aire liant un ensemble de classes d objets et définissant les rôles relatifs joués par les instances de ces classes, lorsqu elles sont mises en relation par des instances de cette relation d association. Une instance d une relation d association est appelée un lien d association. Un lien d association lie n objets, instances des n classes liées par la relation d association dont il est une instance. La relation d association a été au centre de nombreuses recherches. Ces dernières se poursuivent toujours notamment grâce à l intérêt actuel porté par la communauté à l approche MDA. Cette dernière place les modèles au premier plan dans le cadre du développement logiciel. Par sa position centrale au niveau des modèles pour permettre l association de classes, la relation d association est au coeur de la problématique. La sémantique de la relation d association et sa modélisation reste un domaine scientifiquement actif. De nombreux travaux sont menés sur cette problématique [Civ98, Bez01, Ste01, GBHS97]. Nous pouvons identifier deux propriétés sémantiques importantes de la relation d association dans le cadre de notre problématique : la réciprocité et la dépendance La propriété de réciprocité Une première propriété sémantique de la relation d association est la propriété de réciprocité. Nous distinguons alors deux types de relations d association [HS98] : les relations d association unidirectionnelles (figure 2) sont des relations d associations ne possédant qu un seul sens de lecture. Ainsi, un seul rôle est défini dans cette association. Lors de la mise en relation par une association unidirectionnelle de deux objets O1 et O2, seul O1 joue un rôle pour l objet O2. L objet O2 ne joue pas de rôle pour l objet O1 : nous avons dans ce cas une unidirectionnalité de la relation d association. les relations d association bidirectionnelles (figure 3), par opposition, définissent les rôles réciproques des deux classes liées. L association de deux objets O1 et O2 par un lien bidirectionnel permet de spécifier le rôle joué par l objet O1 pour l objet O2, et réciproquement le rôle joué par l objet O2 pour l objet O1. Le langage UML propose ce type de relation d association bidirectionnelle de manière native. Divers points de vue s affrontent pour la détermination des avantages et inconvénients de chacune de ces approches. Certains méthodologistes [GBHS97, HS98] considèrent que seules les relation d association unidirectionnelles doivent être utilisées pour la modélisation de systèmes à objets. 5

7 2 RELATION D ASSOCIATION ET COMPOSANTS CONCEPTUELS EN UML Fig. 2 Une relation d association unidirectionnelle Fig. 3 Une relation d association bidirectionnelle Cette approche présente une économie de concepts au niveau d UML : seules des relations unidirectionnelles sont utilisées. Une relation bidirectionnelle se modélise dans ce cas par un couple de relations d associations unidirectionnelles et un ensemble de contraintes sur ces associations afin de gérer la réciprocité. Nous pouvons voir ici un inconvénient : si une économie de concepts est effectuée au niveau du modèle d UML, la modélisation de la relation d association bidirectionnelle s en trouve complexifiée. De plus, cette approche va à l encontre du principe objet d encapsulation dans la représentation des relations d association. Il n est ainsi pas possible de déterminer à quelles entités doivent être associées les règles ou contraintes gérant la réciprocité des relations.plusieurs solutions de stockage s offrent lors de la mise en relation de classes A et B : l information est stockée dans la classe A (resp. B), ce qui pose un problème dans la mesure où B (resp. A) ne dispose plus de cette information. l information est stockée dans la classe A et la classe B, nous avons alors un problème de maintenance de deux copies identiques de l information. l information est stockée ailleurs que dans A ou B, ce qui n est pas une solution satisfaisante puisqu elle pourrait alors se perdre, la sémantique de la relation d association disparaîssant. La gestion de la relation d association bidirectionnelle par l intermédiaire uniquement d associations unidirectionnelles présente donc certains inconvénients. Inversement, certains spécialistes proposent de n utiliser que des relations d association bidirectionnelles. La définition d une association bidirectionnelle entraîne alors la définition de deux rôles. C est le cas du modèle de relations d association tel que défini dans la spécification d UML [OMG03]. Ce dernier associe à toute extrémité d association un rôle. Si, en théorie, ce modèle interdit de définir des relations d associations unidirectionnelles, cette difficulté se trouve contournée en pratique par un artifice. Il s agit alors de définir un rôle factice pour l extrémité d association ne jouant pas de rôle. Ces rôles sont alors vides de sens mais permettent néanmoins de respecter la contrainte d utilisation de relations bidirectionnelles uniquement. Nous obtenons ainsi des relations unidirectionnelles par utilisation de relations bidirectionnelles. Cette approche permet de conserver la simplicité du méta-modèle et assure de plus le respect des principes objet. Il apparaît donc que la solution consistant à ne considérer que des associations bidirectionnelles permette d obtenir un compromis intéressant entre l expressivité des relations 6

8 2 RELATION D ASSOCIATION ET COMPOSANTS CONCEPTUELS EN UML et l efficacité du méta-modèle. Cependant, une troisième vision intervient. Elle consiste à considérer au sein d un même méta-modèle les relations unidirectionnelles et les relations bidirectionnelles [Civ98]. Cette approche offre l avantage d éviter les compromis effectués dans les deux autres approches et permet d effectuer une gestion satisfaisante des composants conceptuels. Nous nous intéressons à présent à la propriété de dépendance La propriété de dépendance La seconde propriété à laquelle il convient de s intéresser est la propriété de dépendance. Nous distinguons les relations d association intrinsèques des relations extrinsèques, selon qu elles expriment ou non un rôle qui affecte la définition d une classe. Les relations d association intrinsèques participent directement à la description ou au fonctionnement d une classe. Elles permettent de traduire les besoins existentiels ou fonctionnels. On appelle besoin existentiel la description d une partie d un objet par un autre objet. Un besoin fonctionnel se traduit par des appels aux méthodes des autres objets pour réaliser ses méthodes. Un besoin existentiel conduit à la définition d une relation de composition (au sens d UML, soit une relation de composition, soit une relation d agrégation) [OMG03, BPLB02] tandis qu un besoin fonctionnel entraîne la définition d une association exprimant la collaboration entre les deux classes. Une relation intrinsèque est définie au moment de la définition des classes. Cette forme d association se caractérise par la présence d attributs au sein des classes qui l utilisent [BPLB02, Ste01]. Une relation intrinsèque est donc définie a priori et ne peut être modifiée ou supprimée indépendamment de la classe d objets qui en dépend. Il apparaît un lien entre le cycle de vie de la relation intrinsèque et ceux des objets qui en dépendent. Les relations d association extrinsèques sont des relations permettant de décrire le contexte environnant des objets dans le modèle. Elles ne traduisent donc pas les besoins des objets. Les classes liées par des relations extrinsèques n ont pas connaissance de ces relations. On ne trouve donc pas de dépendance au niveau de leur cycle de vie, contrairement aux relations intrinsèques : de telles associations peuvent donc être ajoutées ou retirées du modèle sans effet sur la définition des classes mises en jeu. La gestion de cette relation est donc mise au niveau de la relation elle-même, ce qui la place alors comme concept de première classe. Nous appelons dès lors cela une classe d objets relationnels. Un concept comparable est proposé au niveau du langage UML [OMG03] sous le nom de classe-association. Cependant, ce concept ne dispose ni d une définition ni d un usage défini précisément au niveau de la spécification du langage. Ce concept est important dans le contexte de l assemblage de composants conceptuels. En effet, il permet de définir des relations d associations indépendamment des classes associées. Après avoir exposé les différents types de relations d association pouvant exister entre classes d objets, nous nous intéressons à présent aux composants conceptuels en UML. 2.2 Les composants conceptuels Selon la définition générale d un composant [Szy99], il s agit d une entité indépendante en interaction avec les autres entités du système dans lequel il est impliqué. Dans le cadre 7

9 2 RELATION D ASSOCIATION ET COMPOSANTS CONCEPTUELS EN UML de composants conceptuels, nous avons donc des entités de modèles indépendantes en interaction avec d autres entités de modèles (d autres composants conceptuels). Un composant conceptuel peut donc être vu comme un fragment de modèle autonome, pouvant exprimer des besoins et offrant des services. Ainsi, un composant conceptuel C peut offrir les services S1 et S2, tout en nécessitant la compétence B d un autre composant conceptuel. La base de cette interaction et de ces relations entre composants conceptuels est la relation d association qui permet de définir les liens existants entre entités. Cette dernière a été présentée en section 2.1. Elle est également à la base du développement orienté composants. Ce mode de développement repose sur deux principes : la production de composants pour la réutilisation et par la réutilisation. Nous abordons à présent ces deux aspects Production de composants pour la réutilisation Il s agit ici de produire des composants dans le but de les réutiliser dans d autres modèles. La principale qualité d un composant (logiciel ou conceptuel) est sa capacité à être réutilisé. Par conséquent, il se doit d être défini indépendamment de son contexte. En effet, toute liaison contextuelle limiterait alors sa réutilisation pour d autres utilisations. La définition d un composant contextuel doit fournir un ensemble de définitions afin de pouvoir offrir un bon niveau de réutilisabilité. Tout d abord, les classes constituant le composant doivent être définies. Ce sont les structures de données interne au composant permettant son fonctionnement. Les relations structurelles 1 entre les classes d objet du composant sont également explicitées. Enfin, les collaborations, exprimées par des relations d association, entre les classes d objets au coeur du composant conceptuel sont définies. Ces différents points constituent une définition interne du composant conceptuel. Cependant, un composant est créé dans le but d offrir un service à d autres composants. Il propose donc ses services aux autres composants par l intermédiaire d une interface fournie par le composant [CR03]. Enfin, le composant nécessite également les services d autres composants. Il déclare alors une interface requise pour exprimer ses besoins pour son fonctionnement [CR03]. Cet ensemble de définitions mène à la création de composants disposant d un haut degré de réutilisabilité. Afin d isoler la définition d un composant de tout contexte d utilisation, le langage de modélisation (plus exactement le méta-modèle de celui-ci) se doit de posséder deux concepts que nous indiquons ici. D une part, le langage de modélisation doit proposer le concept d interface au sens de la définition abstraite d une classe d objets. Lors de la spécification des besoins et services d un composant, il convient d indiquer quels sont les objets qui pourront être associés au composant. Cette spécification se fait par l intermédiaire d un rôle sur la relation d association représentant le lien entre objets. Afin de disposer d une généricité nécessaire dans le cadre de la réutilisation, le type de ce rôle ne doit pas être une classe d objets mais plutôt une interface. La limitation consistant à représenter le type du rôle par une classe d objets n autorise qu à associer des objets instances des classes ou des sous-classes du type. La spécification du type du rôle par une interface permet d associer à ce rôle tous objets instances de classes implémentant le type de l interface indiquée. Cette solution conduit alors à éviter la limitation des possibilités d associations entre ce composant et d autres composants du système. 1. liées à la propriété de dépendance 8

10 2 RELATION D ASSOCIATION ET COMPOSANTS CONCEPTUELS EN UML Fig. 4 Décomposition de composants : distribeur automatique de billets D autre part, le méta-modèle du langage de modélisation doits fournir le concept d association unidirectionnelle. Une relation unidirectionnelle permet de spécifier les besoins d un composant conceptuel. Ce concept est nécessaire car l utilisation d une relation d association bidirectionnelle implique la définition d un rôle réciproque. Or la définition de ce dernier va à l encontre de la définition du composant indépendamment de son contexte si la définition de ce rôle n est pas nécessaire pour le composant. Par conséquent, l utilisation de relations unidirectionnelles pour la spécification des besoins d un composant est primordiale. Ainsi, afin d assurer la meilleure généricité au composant conceptuel, la définition de ce dernier ne spécifie que des relations unidirectionnelles en indiquant le rôle attendu des classes partenaires. Les concepts de rôle et d associations unidirectionnelles sont abordés d une manière plus approfondie en section 3.1. Nous voyons dès lors ici une faiblesse du langage UML. Malgré le fait qu il dispose du concept d interface, il ne propose pas ce type de relations dans son méta-modèle. La définition de composants conceptuels disposant d un haut degré de réutilisabilitédevient alors plus complexe. De plus, il faut noter que la production de composants conceptuels doit également pouvoir être effectuée par désassemblage de modèles (figure 4). Il faut alors éclater les relations bidirectionnelles du modèle en relations unidirectionnelles. Ce mécanisme ne peut non plus être réalisé au sein du langage UML puisque le concept de relation d association unidirectionnelle n est pas présent. Afin de supporter ces mécanismes, le méta-modèle d UML se doit donc de subir des modifications Production de composants par réutilisation Il s agit ici de produire des composants conceptuels par réutilisation de composants conceptuels déjà existants (figure 5). Les composants conceptuels sont sélectionnés selon leurs fonctions, adaptés à leurs nouveaux contextes puis assemblés. On peut distinguer deux approches pour l assemblage de composants contextuels. D une part, il existe un assemblage par connecteurs. Ces connecteurs sont alors des relations d association entre les 9

11 2 RELATION D ASSOCIATION ET COMPOSANTS CONCEPTUELS EN UML Fig. 5 Assemblage de composants : pilote automatique sur avion de ligne différentes classes d objets. Ce type d assemblage de composants aboutit à la construction de modèles par juxtaposition de classes. D autre part, la seconde méthode d assemblage consiste à construire des objets composites. L assemblage s effectue alors par création de nouvelles classes d objets composites à partir des différents composants. Cela offre l avantage de disposer d une vision abstraite et hiérarchisée des objets composites. Le composant créé est dans ce cas manipulable comme une classe d objets. Cette approche par objet composite place l objet composite comme entité centrale, notion d objet racine que l on retrouve notamment dans [Civ98]. Il faut noter que ces deux approches nécessitent une fonctionnalité du langage de modélisation. En effet, le méta-modèle du langage de modélisation doit supporter la production de relations d association lors de l assemblage. Le langage de modélisation doit donc permettre de créer des relations d association au moment de l assemblage des composants conceptuels à partir des relations d association définies dans le contexte de ces composants. Ces mécanismes de gestion ici présentés ne sont pas disponibles au niveau du méta-modèle d UML. Ainsi, il n est pas possible d effectuer ces manipulations sur des composants conceptuels. Une amélioration du méta-modèle est donc nécessaire afin de disposer de tels mécanismes. Les relations d association jouent un rôle clef au niveau de la modélisation à l aide du langage UML. Elles sont ainsi au coeur du problème des composants conceptuels que nous posons ici. Cependant, nous avons souligné certaines faiblesses du méta-modèle d UML pour la gestion de ces composants conceptuels. Nous proposons donc un nouveau méta-modèle afin d améliorer la gestion, la production et l assemblage des composants conceptuels dans ce langage. 10

12 3 VERS UNE MODIFICATION DU MÉTA-MODÈLE 3 Vers une modification du méta-modèle Le modèle de relation d association proposé dans le langage de modélisation UML ne permet pas de gérer convenablement les mécanismes liés aux composants contextuels (décomposition, recomposition, assemblage). Nous souhaitons définir un nouveau modèle de relation d association. Après avoir présenté les concepts de relation d association et de rôle, nous exposons deux premières approches pour la modélisation de la relation d association en UML. Ces approches n étant pas entièrement satisfaisantes, nous nous orientons alors vers une troisième solution présentant les qualités souhaitées dans notre problématique. 3.1 Les concepts d association unidirectionnelle et de rôle Afin de disposer de la capacité à décomposer et à assembler des composants de modèle, nous devons introduire la notion d association unidirectionnelle. Dans la version actuelle d UML, une association se présente comme une relation bidirectionnelle disposant de deux rôles. Par conséquent, afin de modéliser une relation ne disposant que d un seul rôle, un artifice est utilisé : l extrémité ne portant pas de rôle significatif se voit attribuer un rôle factice. Nous souhaitons pouvoir utiliser des associations ne disposant que d un seul rôle, pour pouvoir exprimer, par exemple, les besoins d un composant. Or nous souhaitons éviter l utilisation de rôles dépourvus de sens. Nous introduisons pour cela le concept d association unidirectionnelle. Une association unidirectionnelle est définie comme une relation d association ne portant un rôle qu à une de ses extrémités. Nous pouvons alors modéliser uniquement les rôles présentant un intérêt et éviter ainsi l introduction de rôles factices. Ce type d association permet également de découpler des parties de modèles et de créer ainsi des composants de modèles. En effet, lors de la mise en relation de deux parties de modèles par une relation d association, la décomposition est rendue difficile par la présence de la relation d association bidirectionnelle, le lien entre les deux objets étant trop fort. Supposons maintenant que l on utilise des associations unidirectionnelles pour modéliser ce lien. Chaque classe présente alors une demie-association vers l autre classe. Le même lien 2 est donc modélisé par ces deux associations unidirectionnelles. La décomposition du modèle pour créer deux composants est alors simplifiée, chaque composant conservant une association unidirectionnelle spécifiant son besoin d être lié à un autre composant remplissant une fonction donnée 3. La définition d un second concept fait également partie de notre approche : celui de rôle. Ce dernier est induit par l apparition du concept d association unidirectionnelle. Dans la version actuelle d UML, un rôle est placé au niveau d un objet AssociationEnd qui représente une extrémité d association. Nous souhaitons disposer de la sémantique de la relation d association au sein d un concept indépendant, le rôle. Nous définissons donc au niveau d un Role l ensemble des propriétés séman-tiques d une relation d association. L ensemble des propriétés sémantiques d une association (navigabilité, multiplicité, etc.) migre alors vers le Role, ne laissant aux AssociationEnds que leur fonction de liaison entre une classe et une association. L introduction de ce nouveau concept nous permet de modéliser clairement l aspect sémantique d une relation d association en 2. d un point de vue sémantique 3. celle spécifiée par le rôle présent sur la demie-association 11

13 3 VERS UNE MODIFICATION DU MÉTA-MODÈLE tant qu élément de modèle. De plus, nous souhaitons conserver la sémantique de la relation d association proche des classes mises en jeu dans celle-ci. Le placement de cette sémantique dans les objets Role facilite alors la mise en oeuvre de ce point. Enfin, par l introduction de ce concept, la modélisation des relations d association unidirectionnelles peut être réalisée en n attachant qu un seul objet Role à une association unidirectionnelle. Ces deux nouveaux concepts ayant été posés, nous présentons à présent une première proposition de modèle pour la relation d association basée sur la composition. 3.2 Une approche par composition Une première approche consiste à considérer une relation bidirectionnelle comme la composition de deux relations unidirectionnelles. Ce concept de relation unidirectionnelle (UnidirectionnalAssociation), présenté en section 3.1, est introduit dans notre proposition de modèle. Cette nouvelle classe hérite de la classe Relationship, une relation unidirectionnelle étant une relation au même titre qu une relation bidirectionnelle. Grâce à ce concept, les aspects de décomposition et de recomposition de composants de modèle sont simplifiés. En effet, à partir de composants liés par une relation d association bidirectionnelle, on peut alors découper cette relation en deux parties, chaque composant gardant avec lui une relation unidirectionnelle, exprimant ses besoins. Inversement, à partir de deux composants de modèle indépendants et remplissant chacun les besoins de l autre, l assemblage s effectue par liaison des composants au travers des associations unidirectionnelles. Le concept de rôle présenté précédemment est ici utilisé afin de modéliser les associations unidirectionnelles. Nous pouvons cependant noter que le Role est rattaché à une association unidirectionnelle. Dans le modèle d UML actuellement en vigueur, cette notion est présente dans un objet AssociationEnd. Il existe donc une divergence entre ces deux points de vue. Nous avons déjà noté la nécessité, dans le cadre de notre approche, de définir un concept indépendant Role. Nous souhaitons de plus pouvoir effectuer des compositions de relations unidirectionnelles pour obtenir des relations bidirectionnelles. En supposant que le Role soit attaché à un objet AssociationEnd, nous devons spécifier, via des contraintes formelles 4, qu une association unidirectionnelle ne doit posséder qu un seul et unique Role. Cela signifie alors qu une seule de ses deux AssociationEnds ne doit être liée à un objet Role. Par l apparition de contraintes textuelles, la composition de relations d association unidirectionnelles devient alors plus difficile à mettre en oeuvre. Ainsi, le choix de l attachement du Role aux objets UnidirectionnalAssociation se trouve justifié : à tout objet instance de cette classe, on associe un unique objet instance de la classe Role. La composition a lieu de la manière suivante : chaque association unidirectionnelle apportant son Role, la composition produit une association bidirectionnelle disposant d exactement deux rôles. Ces différents aspects se trouvent résumés dans la proposition de modèle de relation d association de la figure 6. L approche présentée dispose d un ensemble d atouts que nous énumérons ici. Tout d abord, dans l optique d une décomposition / recomposition de modèles UML, cette approche présente un grand intérêt. En effet, une relation bidirectionnelle se définissant comme deux relations unidirectionnelles, la création de la première se conçoit comme la 4. en OCL par exemple 12

14 3 VERS UNE MODIFICATION DU MÉTA-MODÈLE Association 0 2 UnidirectionnalAssociation 2..* AssociationEnd 1..* on met l ensemble desattributs de l AE dans le role!! Role Fig. 6 L approche avec composition réunion au sein d une même entité de ces deux relations unidirectionnelles. Au niveau d UML, cela se traduit par une composition. De la même manière, disposant d une relation bidirectionnelle, nous pouvons la découper en deux relations unidirectionnelles, puisque ces dernières la composent. De plus, nous souhaitons, au cours des différentes phases d assemblage et de décomposition de composants conceptuels, conserver la traçabilité des actions entreprises. Ce type de modèle autorise ceci puisqu il est possible de déterminer, pour toute association bidirectionnelle, de quel assemblage d associations unidirectionnelles elle provient. En effet, au niveau de l objet composite, nous pouvons déterminer ses composants. Nous pouvons également noter que cette approche peut se généraliser. Elle fonctionne pour les relations binaires 5, mais son principe de fonctionnement pourra être éventuellement étendu aux relations n-aires. Cette généralisation peut s envisager en tant que composition de n relations unidirectionnelles pour former une relation n-aire. Un autre avantage de cette approche basée sur la composition est le fait que le modèle composite dispose d une bonne dynamique. En effet, lors de la création d une relation bidirectionnelle par composition de relations unidirectionnelles, on peut observer au niveau des instances des classes la présence des deux objets UnidirectionnalAssociation. Il est alors possible de travailler sur le modèle en remplaçant le lien unidirectionnel existant entre les deux classes par un autre lien avec une autre classe. Nous retrouvons alors une relation bidirectionnelle entre deux autres classes, sans avoir dû affecter la totalité du modèle. Cette approche permet donc la recomposition des modèles créés. Enfin, le dernier argument est pour sa part davantage informel. En ne s attachant qu à la représentation graphique de ce modèle, nous pouvons lire qu une relation bidirectionnelle 5. composition de deux relations unidrectionnelles 13

15 3 VERS UNE MODIFICATION DU MÉTA-MODÈLE Role 1..* UnidirectionnalAssociation AssociationEnd 2..* on met l ensemble desattributs de l AE dans le role!! Association Fig. 7 L approche avec héritage est composée d au moins deux relations unidirectionnelles. L idée sous-jacente du modèle s en retrouve donc résumée graphiquement. Ce modèle présente cependant des inconvénients. Tout d abord, il est rendu plus complexe par cette relation de composition. En effet, afin de créer une relation bidirectionnelle, nous devons spécifier que deux relations unidirectionnelles sont utilisées. Par conséquent, les relations bidirectionnelles ne peuvent exister de manière autonome et leur existence est liée à celle des relations unidirectionnelles. L inconvénient le plus notable réside cependant dans le fait qu il est impossible de déterminer à quelle extrémité un rôle est attaché. En effet, le rôle est ici attaché aux objets UnidirectionnalAssociation, et non à l extrémité à laquelle il est lié. Cela pose un problème de sémantique, puisqu il n est plus possible d identifier l extrémité d association jouant un rôle donné. Cet aspect ne permet donc pas de valider complètement le modèle proposé. 3.3 Une approche par héritage Nous présentons alors une seconde approche. Il s agit à présent de considérer une relation bidirectionnelle comme résultat de l héritage de deux relations unidirectionnelles. Cette approche place donc la relation bidirectionnelle comme une sous-classe de la relation unidirectionnelle. Notons dès à présent que, afin de mettre en place la propriété d unidirectionnalité, nous utilisons comme précédemment le concept de rôle. Ce dernier est lié de la même manière à la classe représentant une association unidirectionnelle, à savoir UnidirectionnalAssociation. Nous exposons cette solution dans la proposition de modèle représentée dans le diagramme de classe de la figure 7. Ce modèle présente l avantage de disposer d une notation épurée. En effet, lors de sa comparaison avec le modèle précédent, nous constatons ici qu une association bidirectionnelle devient une entité autonome. Elle existe donc indépendamment de relations unidirectionnelles. Nous nous plaçons ainsi à un niveau d abstraction élevé à partir duquel le mode de 14

16 3 VERS UNE MODIFICATION DU MÉTA-MODÈLE création d une association bidirectionnelle est transparent au lecteur du diagramme. Nous pouvons cependant souligner quelques difficultés inhérentes à cette approche. Tout d abord, nous remarquons qu une relation d héritage multiple est utilisée. Ceci peut s avérer difficile à mettre en oeuvre au moment de l implémentation du modèle, certains langages ne proposant pas cette structure. Il ne s agit pas réllement d un obstacle, mais cela peut tout de même pénaliser cette proposition. Nous pouvons également remarquer qu il est nécessaire de pouvoir spécifier qu une relation bidirectionnelle hérite de deux relations unidirectionnelles. Or une relation d héritage ne permet a priori pas cette spécification. De plus, l approche utilisant l héritage est de nature statique, contrairement à l approche par composition. En effet, lors de la mise en relation de deux objets, nous avons un objet de type Association qui réalise le lien. Ce lien est donc figé : il lie deux objets et ne peut être utilisé dans un autre cadre. On n a ici qu une seule association, l association bidirectionnelle, qui ne peut lier que les objets présents. Il n est ensuite pas possible de réutiliser une partie de l association pour mettre en relation un des objets avec un autre. Nous perdons donc la dynamique existante dans l approche par composition. Nous pouvons également noter, comme dans la proposition présentée en section 3.2, que l attachement du rôle à l association unidirectionnelle ne permet pas de déterminer à quelle extrémité un rôle appartient. Cela pose le même problème de sémantique que dans la première approche. Enfin, nous pouvons dès à présent noter que la modélisation utilisant la notion d héritage peut manquer de clarté par le fait que deux aspects distincts ( à savoir les deux associations unidirectionnelles appartenant chacune à une entité) vont se trouver modélisés par une seule relation d héritage. Cette approche ne propose donc pas un modèle facilement manipulable dans une optique de décomposition / recomposition de modèles, ni de conserver toute la sémantique emportée par une relation d association. Devant les inconvénients de ces deux modèles, nous aboutissons alors à une nouvelle approche, basée sur la composition, intégrant de nouveaux concepts et permettant de conserver la sémantique de la relation tout en supportant les mécanismes de décomposition / recomposition. Cette nouvelle approche est présentée en section Le modèle proposé Devant les inconvénients des propositions précédentes, nous sommes amenés à considérer une nouvelle proposition de modèle. Nous avons vu que l approche utilisant la composition présente de nombreux avantages. Cependant, certains manques se font sentir, notamment l impossibilité de déterminer l appartenance d un rôle à une extrémité d association. Nous reprenons les idées de cette approche, tout en la complétant pour aboutir à une proposition de modèle complète et pouvant s insérer dans la version actuelle du modèle du langage UML. Nous cherchons à déterminer comment spécifier le rattachement d un Role à une extrémité d association dans le modèle à base de composition. Nous pouvons constater que, pour une association donnée, il existe deux sortes d extrémités (AssociationEnd) : des extrémités portant un rôle, d autres n en portant pas. Ce constat nous pousse alors à considérer deux 15

17 3 VERS UNE MODIFICATION DU MÉTA-MODÈLE types d AssociationEnds distincts, à savoir les RoledAssociationEnds et les UnroledAssociationEnds. Les premières portent un rôle tandis que les secondes n en portent pas. Nous considérons la classe AssociationEnd comme une classe abstraite définissant le concept général d extrémité d association, les deux classes précédemment introduites étant des sousclasses de celle-ci. La classe RoledAssociationEnd (respectivement, UnroledAssociationEnd) présente alors la spécificité de posséder (respectivement, ne pas posséder) de rôle lié. Il nous faut ensuite spécifier une association unidirectionnelle à partir de ces nouvelles classes. Nous rappelons pour cela qu une association unidirectionnelle est une relation d association ne portant qu un seul rôle à une de ses extrémités. Nous pouvons alors en déduire une spécification des relations unidirectionnelles : une relation unidirectionnelle possède donc une UnroledAssociationEnd et une RoledAssociationEnd. Ceci lui garantit la présence d un seul rôle sur une de ses extrémités. Nous définissons également une relation d association bidirectionnelle présentant un rôle à chacune de ses extrémités. Comme posé précédemment, une relation bidirectionnelle se définit comme la composition de deux relations unidirectionnelles. Nous conservons cette approche dans le cadre de cette proposition. En effet, le modèle proposé garantit que, pour une relation unidirectionnelle, un seul rôle puisse apparaître sur une des deux extrémités de la relation. Par composition de deux relations unidirectionnelles, nous obtenons une relation bidirectionnelle possédant exactement deux rôles. De même, dans le cas d une relation n-aire, cette dernière se définit comme la composition de n relations unidirectionnelles. Nous pouvons cependant noter qu un ensemble de règles doit être défini pour assurer la composition des relations unidirectionnelles de manière correcte. En effet, lors de la composition de deux relations unidirectionnelles pour former une relation bidirectionnelle, ces dernières ne peuvent pas présenter un rôle sur une même extrémité. Ces règles de composition doivent encore être définies, afin de garantir la cohérence des modèles obtenus par assemblage de composants de modèle. Enfin, il convient de placer les classes associatives dans notre proposition de modèle. Nous rappelons qu une classe associative est une association à laquelle un comportement est ajouté par l intermédiaire des méthodes d une classe. Dans le cadre de nos objectifs, nous pouvons souligner une utilisation possible des classes associatives. Disposant de deux composants distincts, nous pouvons les assembler à l aide d une classe associative. Cette dernière permet alors de gérer les échanges et les interactions entre les deux classes afin de mettre en oeuvre leur collaboration dans le système. Une classe associative est une classe disposant de méthodes afin de gérer le comportement des objets mis en relation. Elle agit sur une relation d association tout en étant une classe au même titre que toute autre classe d un système. De plus, cette dernière manipule l association et la contrôle de manière bidirectionnelle. Elle doit donc avoir un lien direct avec la classe Association pour pouvoir accéder aux objets mis en jeu. Une classe associative est donc à la fois une association et une classe. Par conséquent, nous la spécifions comme étant une sous-classe d Association et de Class afin de marquer son double rôle. Cela permet à cet objet d accéder à l association bidirectionnelle dont il hérite pour effectuer un contrôle sur les interactions entre les objets mis en relation. L ensemble des propositions présentées ci-dessus nous permet d aboutir à la proposition de modèle de relation d association en figure 8. 16

18 3 VERS UNE MODIFICATION DU MÉTA-MODÈLE ModelElement Relationship GeneralizableElement UnroledAssociationEnd Classifier 0..* AssociationEnd UnidirectionnalAssociation Association 0..* 0..* 2..* RoledAssociationEnd Class 1..* Role AssociationClass Fig. 8 Le modèle retenu 17

19 3 VERS UNE MODIFICATION DU MÉTA-MODÈLE Nous pouvons noter que ce nouveau modèle de relation d association est proche du modèle actuel défini par l OMG. Cela nous permet en effet de nous fondre parfaitement dans le modèle actuel tout en proposant des améliorations à ce dernier. 18

20 4 MISE EN OEUVRE DU MODÈLE 4 Mise en oeuvre du modèle Suite au modèle proposé dans ce document, nous le mettons en oeuvre en l implémentant. Nous utilisons une implémentation libre du méta-modèle UML, NSUML. Cette dernière subit ainsi des modifications pour l adapter au nouveau méta-modèle de la relation d association exposé en section 3.4. Nous présentons l implémentation du modèle au sein de NSUML, puis nous évoquons la possibilité d intégrer ce modèle dans l atelier de génie logiciel ArgoUML. 4.1 Implémentation dans NSUML Afin de démontrer la faisabilité d une implémentation du modèle de relations d association, nous utilisons l implémentation réalisée dans NSUML, que nous adaptons à notre modèle. Cette implémentation est libre et open-source 6, ce qui nous permet alors d en disposer pour effectuer des tests sur notre modèle. Elle est réalisée en langage Java [Sun03b]. Nous présentons à présent la version officielle de NSUML puis les modifications que nous lui apportons Le modèle de relation d association dans NSUML Nous nous intéressons à la version de NSUML et plus particulièrement à sa représentation de la relation d association. Afin de présenter le modèle de relation, nous utilisons le modèle UML fourni en figure 9. Nous constatons qu une relation d association se compose d au moins deux entités nommées AssociationEnd. Ces objets représentent les extrémités de la relation d association. Ils portent la sémantique de la relation par l intermédiaire des attributs dont ils disposent. Une Association, ainsi qu une AssociationEnd, sont des éléments de modèle UML (ModelElement) et peuvent donc à ce titre apparaître dans des diagrammes UML. Nous nous fondons sur ce modèle pour implémenter notre proposition. Nous remarquons que son implémentation s effectue par l intermédiaire d une hiérarchie de types à base d interfaces. Ces dernières sont ensuite implémentées par des classes d objets. Soit X un type intervenant dans la hiérarchie de types du modèle représenté par une interface Java. Ce type est réalisé par une classe XImpl, implémentant 7 l interface X. Nous souhaitons nous insérer de manière fluide dans ce modèle, sans pour autant effectuer de concessions sémantiques. Nous présentons maintenant l implé-mentation du modèle proposé Implémentation du modèle Nous présentons ici l implémentation du modèle fourni en figure 8. Afin de s insérer dans l architecture globale de NSUML, nous conservons les types et classes existants en ne s attachant qu à : remplacer ceux ne présentant pas les fonctionnalités suffisantes pour notre modèle, ajouter de nouveaux types et classes pour créer de nouveaux concepts. 6. elle est disponible à l adresse : 7. au sens de Java, par l intermédiaire du mot-clé implements 19

21 4 MISE EN OEUVRE DU MODÈLE Fig. 9 Modèle de l implémentation des relations d association dans NSUML 20

22 4 MISE EN OEUVRE DU MODÈLE Nous créons tout d abord le concept de Role à la base de l utilisation de composants conceptuels dans notre modèle. Comme présenté précédemment (cf. section 3.1), ce dernier dispose de toute la sémantique de la relation d association, qui est donc déplacée du concept d AssociationEnd vers celui-ci. Nous souhaitons également disposer de deux types distincts d Association-Ends. Nous modifions le type et la classe représentant l AssociationEnd, pour les remplacer par une classe abstraite, disposant de deux sous-types : une extrémité d association disposant d un Role (RoledAssociationEnd), et une extrémité en étant dépourvue (UnroledAssociationEnd). Nous lions ensuite les objets de type Role aux objets RoledAssociationEnd par l intermédiaire d attributs et de références internes à ces objets. La création de ces nouveaux concepts de Role, de RoledAssociationEnd et d UnroledAssociationEnd au niveau de l implémentation nous mène alors à la définition de la relation d association unidirectionnelle (UnidirectionnalAssociation). Cette dernière est liée à une extrémité d association disposant d un rôle (RoledAssociationEnd) et à une extrémité n en proposant pas (UnroledAssociationEnd). Ces liens s effectuent par utilisation de références à l intérieur des classes implémentant ces concepts. Nous précisons que le concept de relation d association unidirectionnelle s intègre dans la hiérarchie de types au même niveau qu une relation d association. A ce titre, il s agit donc d un sous-type de Relationship représentant les relations dans le langage UML. Enfin, la définition au niveau du code du type UnidirectionnalAssociation nous mène également à la redéfinition du type d association bidirectionnelle en langage UML (Association). Nous conservons cette dénomination pour faciliter l intégration de notre proposition dans l existant. Une relation d association bidirectionnelle se compose donc d au moins deux relations d association unidirectionnelles. Une relation d association est également un sous-type de Relation, au même titre qu une relation d association unidirectionnelle. Nous disposons ici d une dépendance sur le cycle de vie des objets de type Association et UnidirectionnalAssociation. En effet, la destruction d une Association implique la destruction des UnidirectionnalAssociation la composant. Cette notion de durée de vie se verra mise en oeuvre au cours de l utilisation de ce modèle de relation au sein d un AGL lors de l instanciation et de la suppression des objets figurant dans le modèle en cours de réalisation. Il est à noter que l ensemble des modifications effectuées sur les différentes classes et interfaces entraînent des modifications sur le type AssociationClass. Celui-ci dispose toujours de fonctionnalités analogues à celles définies dans le modèle UML, mais une adaptation est produite pour permettre son intégration dans le modèle ici réalisé. L implémentation de notre modèle se réalise en s intégrant idéalement dans l existant. Aucune concession au niveau de notre proposition de modèle n est réalisée. L implémentation fournie représente donc le modèle de relation d association proposé. Cette implémentation au sein de NSUML montre également la faisabilité d un tel modèle au niveau de son implémentation. De plus, cette implémentation au sein d une librairie mettant en oeuvre le modèle d UML montre que le modèle de relation d association proposé se place dans la ligne donnée au langage UML par l OMG [OMG03]. 4.2 Intégration dans ArgoUML La librairie NSUML étant à la base de l atelier de génie logiciel ArgoUML, l intégration de la librairie modifiée peut être réalisée dans cet AGL. Il s agit alors de réaliser l interface 21

UML (Diagramme de classes) Unified Modeling Language

UML (Diagramme de classes) Unified Modeling Language UML (Diagramme de classes) Unified Modeling Language Sommaire Introduction Objectifs Diagramme de classes Classe (Nom, attribut, opération) Visibilité et portée des constituants d une classe Association

Plus en détail

Université de Bangui. Modélisons en UML

Université de Bangui. Modélisons en UML Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et

Plus en détail

IFT2255 : Génie logiciel

IFT2255 : Génie logiciel IFT2255 : Génie logiciel Chapitre 6 - Analyse orientée objets Section 1. Introduction à UML Julie Vachon et Houari Sahraoui 6.1. Introduction à UML 1. Vers une approche orientée objet 2. Introduction ti

Plus en détail

Chapitre VI- La validation de la composition.

Chapitre VI- La validation de la composition. Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions

Plus en détail

Méthodes d évolution de modèle produit dans les systèmes du type PLM

Méthodes d évolution de modèle produit dans les systèmes du type PLM Résumé de thèse étendu Méthodes d évolution de modèle produit dans les systèmes du type PLM Seyed Hamedreza IZADPANAH Table des matières 1. Introduction...2 2. Approche «Ingénierie Dirigée par les Modèles»

Plus en détail

Conception des bases de données : Modèle Entité-Association

Conception des bases de données : Modèle Entité-Association Conception des bases de données : Modèle Entité-Association La modélisation d un problème, c est-à-dire le passage du monde réel à sa représentation informatique, se définit en plusieurs étapes pour parvenir

Plus en détail

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)*

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)* La démarche MDA Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)* Référence : Livrable 1.1-5 Date : Mai 2002 * : Les partenaires du projet ACCORD sont CNAM,

Plus en détail

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» Du cours Modélisation Semi -Formelle de Système d Information Du Professeur Jean-Pierre GIRAUDIN Décembre. 2002 1 Table de matière Partie 1...2 1.1

Plus en détail

Cours en ligne Développement Java pour le web

Cours en ligne Développement Java pour le web Cours en ligne Développement Java pour le web We TrainFrance info@wetrainfrance Programme général du cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation Java Unité

Plus en détail

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/ Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : cinzia.digiusto@gmail.com webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/

Plus en détail

UML et les Bases de Données

UML et les Bases de Données CNAM UML et les Bases de Données UML et les Bases de Données. Diagramme de classes / diagramme d objets (UML)...2.. Premier niveau de modélisation des données d une application...2.2. Les éléments de modélisation...2.2..

Plus en détail

Christian Soutou UML 2. pour les. bases de données. Avec 20 exercices corrigés. Groupe Eyrolles, 2007, ISBN : 978-2-212-12091-2

Christian Soutou UML 2. pour les. bases de données. Avec 20 exercices corrigés. Groupe Eyrolles, 2007, ISBN : 978-2-212-12091-2 Christian Soutou UML 2 pour les bases de données Avec 20 exercices corrigés Groupe Eyrolles, 2007, ISBN : 978-2-212-12091-2 Chapitre 4 Outils du marché : de la théorie à la pratique Non mais t as déjà

Plus en détail

Nom de l application

Nom de l application Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique

Plus en détail

Conception, architecture et urbanisation des systèmes d information

Conception, architecture et urbanisation des systèmes d information Conception, architecture et urbanisation des systèmes d information S. Servigne Maître de Conférences, LIRIS, INSA-Lyon, F-69621 Villeurbanne Cedex e-mail: sylvie.servigne@insa-lyon.fr 1. Introduction

Plus en détail

Chapitre I : le langage UML et le processus unifié

Chapitre I : le langage UML et le processus unifié I. Introduction Les méthodes d analyse orientées objet sont initialement issues des milieux industriels. La préoccupation dominante de leurs auteurs est le génie logiciel, c est-àdire les principes et

Plus en détail

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

Chapitre VIII. Les bases de données. Orientées Objet. Motivation Chapitre VIII Motivation Le modèle relationnel connaît un très grand succès et s avère très adéquat pour les applications traditionnelles des bases de données (gestion) Les bases de données Orientées Objet

Plus en détail

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2 Langage et Concepts de Programmation Objet Travaux Dirigés no2 Pôle Informatique École Nationale Supérieure des Mines de St-Etienne Vous trouverez plus de détails sur les concepts abordés lors de ce TD

Plus en détail

RTDS G3. Emmanuel Gaudin emmanuel.gaudin@pragmadev.com

RTDS G3. Emmanuel Gaudin emmanuel.gaudin@pragmadev.com RTDS G3 Emmanuel Gaudin emmanuel.gaudin@pragmadev.com PragmaDev Dédiée au développement d un AGL pour le développement des applications temps réel et embarquées. Réseau de partenaires: Formations, Service,

Plus en détail

INTRODUCTION AUX METHODES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

INTRODUCTION AUX METHODES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES INTRODUCTION AUX METHODES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES Les contenus de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et

Plus en détail

SECTION 5 BANQUE DE PROJETS

SECTION 5 BANQUE DE PROJETS SECTION 5 BANQUE DE PROJETS INF 4018 BANQUE DE PROJETS - 1 - Banque de projets PROJET 2.1 : APPLICATION LOGICIELLE... 3 PROJET 2.2 : SITE WEB SÉMANTIQUE AVEC XML... 5 PROJET 2.3 : E-LEARNING ET FORMATION

Plus en détail

GOL502 Industries de services

GOL502 Industries de services GOL502 Industries de services Conception d un service Partie IIb Version 2013 Introduction Conception d un service partie IIb Nous verrons dans ce chapitre Modélisation d un service; Langage de modélisation

Plus en détail

Merise. Introduction

Merise. Introduction Merise Introduction MERISE:= Méthode d Etude et de Réalisation Informatique pour les Systèmes d Entreprise Méthode d Analyse et de Conception : Analyse: Etude du problème Etudier le système existant Comprendre

Plus en détail

Patrons de Conception (Design Patterns)

Patrons de Conception (Design Patterns) Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques

Plus en détail

Ingénierie des Modèles. Méta-modélisation

Ingénierie des Modèles. Méta-modélisation Ingénierie des Modèles Méta-modélisation Eric Cariou Master Technologies de l'internet 2 ème année Université de Pau et des Pays de l'adour UFR Sciences Pau Département Informatique Eric.Cariou@univ-pau.fr

Plus en détail

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh NOTATION UML AVEC RATIONAL ROSE G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh Sommaire 1 GÉNÉRALITES...2 1.1 ENVIRONNEMENT LOGICIEL...2 1.2 LES VUES DU LOGICIEL ROSE...3 1.3 ORGANISATION RECOMMANDÉE...3

Plus en détail

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information. PACBASE «Interrogez le passé, il répondra présent.». Le Module e-business Les entreprises doivent aujourd hui relever un triple défi. D une part, elles ne peuvent faire table rase de la richesse contenue

Plus en détail

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude

Plus en détail

Programmation Orientée Objet

Programmation Orientée Objet Université de Pau et des Pays de l Adour Institut Universitaire de Technologie des Pays de l Adour Département Réseaux et Télécommunications 371, rue du Ruisseau BP 201 40004 Mont-de-Marsan Cedex tél :

Plus en détail

Analyse,, Conception des Systèmes Informatiques

Analyse,, Conception des Systèmes Informatiques Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance

Plus en détail

Pascal Brunot Hadrien Cambazard UML FOR BUSINESS INTELLIGENCE PROJECT

Pascal Brunot Hadrien Cambazard UML FOR BUSINESS INTELLIGENCE PROJECT UML FOR BUSINESS INTELLIGENCE PROJECT Abstract : this document deals with the role of UML into business intelligence projects (like data warehousing). After a quick overview of what UML offers, it focuses

Plus en détail

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language Unified Modeling Language UML Salima Hassas Version Cycle de vie du logiciel Client Besoins Déploiement Analyse Test Conception Cours sur la base des transparents de : Gioavanna Di Marzo Serugendo et Frédéric

Plus en détail

CORBA. (Common Request Broker Architecture)

CORBA. (Common Request Broker Architecture) CORBA (Common Request Broker Architecture) Projet MIAGe Toulouse Groupe 2 1 CORBA, introduction (1/4) Les systèmes répartis permettent de créer des applications basées sur des composants auto-gérables,

Plus en détail

RAPPORT DE CONCEPTION UML :

RAPPORT DE CONCEPTION UML : Carlo Abi Chahine Sylvain Archenault Yves Houpert Martine Wang RAPPORT DE CONCEPTION UML : Bamboo Ch@t Projet GM4 Juin 2006 Table des matières 1 Introduction 2 2 Présentation du logiciel 3 2.1 Précisions

Plus en détail

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P EUROCOPTER SAS Groupe EADS Marignane Ecole des Mines d Alès Laboratoire de Génie Informatique et d Ingénierie de Production LGI2P Nîmes Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P Titre Domaine

Plus en détail

Développement d un interpréteur OCL pour une machine virtuelle UML.

Développement d un interpréteur OCL pour une machine virtuelle UML. ObjeXion Software Prototyping made easy SA au capital de 500 000 F Siret 421 565 565 00015 APE 722Z Téléphone : 03 89 35 70 75 Télécopie : 03 89 35 70 76 L embarcadère 5, rue Gutemberg 68 800 Vieux-Thann,

Plus en détail

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools. 1- RAD Quelle sont les avantages que apporte la méthode RAD à l entreprise? Une méthode RAD devrait, d après son auteur, apporter trois avantages compétitifs à l entreprise : Une rapidité de développement

Plus en détail

UML (Paquetage) Unified Modeling Language

UML (Paquetage) Unified Modeling Language UML (Paquetage) Unified Modeling Language Sommaire Introduction Objectifs Paquetage Espace de nommage d un paquetage Dépendances entre paquetages 2 Notion introduite véritablement par UML car superficiellement

Plus en détail

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Chapitre 5 LE MODELE ENTITE - ASSOCIATION Chapitre 5 LE MODELE ENTITE - ASSOCIATION 1 Introduction Conception d une base de données Domaine d application complexe : description abstraite des concepts indépendamment de leur implémentation sous

Plus en détail

Démarches d urbanisation : réorganiser le Système d Information en structurant ses fonctions dans des blocs fonctionnels communicants.

Démarches d urbanisation : réorganiser le Système d Information en structurant ses fonctions dans des blocs fonctionnels communicants. Plan du chapitre Master Informatique et Systèmes Urbanisation des Systèmes d Information Architecture d Entreprise 04 Architecture du SI : identifier et décrire les services, structurer le SI 1 2 3 4 5

Plus en détail

Générer du code à partir d une description de haut niveau

Générer du code à partir d une description de haut niveau Cedric Dumoulin Générer du code à partir d une description de haut niveau Ce projet vise à fournir un environnement de développement permettant de modéliser des UI Android à un haut niveau d abstraction,

Plus en détail

et les Systèmes Multidimensionnels

et les Systèmes Multidimensionnels Le Data Warehouse et les Systèmes Multidimensionnels 1 1. Définition d un Datawarehouse (DW) Le Datawarehouse est une collection de données orientées sujet, intégrées, non volatiles et historisées, organisées

Plus en détail

Est-il possible de réduire les coûts des logiciels pour mainframe en limitant les risques?

Est-il possible de réduire les coûts des logiciels pour mainframe en limitant les risques? DOSSIER SOLUTION Programme de rationalisation des logiciels pour mainframe (MSRP) Est-il possible de réduire les coûts des logiciels pour mainframe en limitant les risques? agility made possible Le programme

Plus en détail

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de itemis France 2009 All rights reserved 1 Itemis en quelques mots Spécialisé dans l

Plus en détail

3. UML - Unified Modeling Language Diagrammes statiques

3. UML - Unified Modeling Language Diagrammes statiques 3. UML - Unified Modeling Language Diagrammes statiques Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon

Plus en détail

Urbanisation de système d'information. PLM 3 (Product Lifecycle Management) Élaborations, versions, variantes, configurations

Urbanisation de système d'information. PLM 3 (Product Lifecycle Management) Élaborations, versions, variantes, configurations Urbanisation de système d'information PLM 3 (Product Lifecycle Management) Élaborations, versions, variantes, configurations 1 Mise en gestes L'existence de tout produit, et de tout service commence par

Plus en détail

Gestion des Identités et des Autorisations: Modèle générique

Gestion des Identités et des Autorisations: Modèle générique Département : Concerne : Exploitation Projet CERBERE, Analyse fonctionnelle Nos ref. : Vos ref. : CERBERE Version: Description Ecrit par Revu par Date 00.92G Version draft Albert Bruffaerts Comité de travail

Plus en détail

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,

Plus en détail

Introduction aux SGBDR

Introduction aux SGBDR 1 Introduction aux SGBDR Pour optimiser une base Oracle, il est important d avoir une idée de la manière dont elle fonctionne. La connaissance des éléments sous-jacents à son fonctionnement permet de mieux

Plus en détail

Les diagrammes de modélisation

Les diagrammes de modélisation L approche Orientée Objet et UML 1 Plan du cours Introduction au Génie Logiciel L approche Orientée Objet et Notation UML Les diagrammes de modélisation Relations entre les différents diagrammes De l analyse

Plus en détail

C++ Programmer. en langage. 8 e édition. Avec une intro aux design patterns et une annexe sur la norme C++11. Claude Delannoy

C++ Programmer. en langage. 8 e édition. Avec une intro aux design patterns et une annexe sur la norme C++11. Claude Delannoy Claude Delannoy Programmer en langage C++ 8 e édition Avec une intro aux design patterns et une annexe sur la norme C++11 Groupe Eyrolles, 1993-2011. Groupe Eyrolles, 2014, pour la nouvelle présentation,

Plus en détail

1.2 Genèse. 1.3 Version de Designer utilisée

1.2 Genèse. 1.3 Version de Designer utilisée Designer et l ingénierie du logiciel Notions élémentaires P.-A. Sunier, ISNet Neuchâtel avec le concours de C. Kohler et P. Ferrara 1 Propos liminaires... 1 1.1 Objectifs de publication... 1 1.2 Genèse...

Plus en détail

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e : CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i

Plus en détail

Projet Active Object

Projet Active Object Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques

Plus en détail

Méthodologies de développement de logiciels de gestion

Méthodologies de développement de logiciels de gestion Méthodologies de développement de logiciels de gestion Chapitre 5 Traits caractéristiques des deux approches de méthodologie Présentation réalisée par P.-A. Sunier Professeur à la HE-Arc de Neuchâtel http://lgl.isnetne.ch

Plus en détail

WINDOWS SHAREPOINT SERVICES 2007

WINDOWS SHAREPOINT SERVICES 2007 WINDOWS SHAREPOINT SERVICES 2007 I. TABLE DES MATIÈRES II. Présentation des «content types» (Type de contenu)... 2 III. La pratique... 4 A. Description du cas... 4 B. Création des colonnes... 6 C. Création

Plus en détail

ARIS : Des Processus de gestion au Système Intégré d Applications

ARIS : Des Processus de gestion au Système Intégré d Applications ARIS : Des Processus de gestion au Système Intégré d Applications Présentation de IDS Scheer IDS Scheer propose des solutions dédiées au management de l'entreprise par les processus. Avec la solution ARIS,

Plus en détail

Urbanisation des Systèmes d Information Architecture d Entreprise. 04 Architecture du SI : identifier et décrire les services, structurer le SI

Urbanisation des Systèmes d Information Architecture d Entreprise. 04 Architecture du SI : identifier et décrire les services, structurer le SI Plan du chapitre Master Informatique et Systèmes Urbanisation des Systèmes d Information Architecture d Entreprise 04 Architecture du SI : identifier et décrire les services, structurer le SI 1 2 3 1.1

Plus en détail

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013 UML Diagramme de communication (communication diagram) 2013 Diagramme de communication (communication diagram) Utilisation / objectifs Sens Ce diagramme présente des objets, des acteurs, des liens et des

Plus en détail

Génie Logiciel Orienté Objet UML

Génie Logiciel Orienté Objet UML Licence Professionnelle en Informatique Génie Logiciel Orienté Objet UML E. Grislin-Le Strugeon E. Adam UVHC ISTV Plan Concepts orientés objet Principes des méthodes OO Qu est-ce que UML? Caractéristiques

Plus en détail

Intégration de produits mécatroniques au sein d un système PLM

Intégration de produits mécatroniques au sein d un système PLM Intégration de produits mécatroniques au sein d un système PLM HOUSSEM ABID 1, MADY GUILLEMOT 1, DIDIER NOTERMAN 1, PHILIPPE PERNELLE 2 1 Laboratoire DISP, INSA Lyon 69100, France {houssem.abid,mady.guillmot,didier.noterman}@insa-lyon.fr

Plus en détail

Traduction des Langages : Le Compilateur Micro Java

Traduction des Langages : Le Compilateur Micro Java BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant

Plus en détail

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions Exemple accessible via une interface Web Une base de données consultable en ligne : Bases de données et systèmes de gestion de bases de données The Trans-atlantic slave trade database: http://www.slavevoyages.org/tast/index.faces

Plus en détail

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE I N T E RS Y S T E M S INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE David Kaaret InterSystems Corporation INTERSySTEMS CAChé CoMME ALTERNATIvE AUx BASES de données RéSIdENTES

Plus en détail

Diagramme de classes

Diagramme de classes Diagramme de classes Un diagramme de classes décrit les classes et leurs relations (associations, généralisation/spécialisation, ). classe association méthodes attributs héritage Diagramme de classes :

Plus en détail

Chapitre 2 - Architecture logicielle et construction d applications client-serveur

Chapitre 2 - Architecture logicielle et construction d applications client-serveur Chapitre 2 - Architecture logicielle et construction d applications client-serveur «Toute technologie suffisamment avancée est indiscernable de la magie» (Arthur Clarke) Résumé La méthodologie MEDEVER

Plus en détail

OCL - Object Constraint Language

OCL - Object Constraint Language OCL - Object Constraint Language Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object

Plus en détail

Semarchy Convergence for MDM La Plate-Forme MDM Évolutionnaire

Semarchy Convergence for MDM La Plate-Forme MDM Évolutionnaire FICHE PRODUIT Semarchy Convergence for MDM La Plate-Forme MDM Évolutionnaire BENEFICES POUR LES DSI Réussir les projets de gouvernance dans les délais et les budgets Démarrer de manière tactique tout en

Plus en détail

Les indices à surplus constant

Les indices à surplus constant Les indices à surplus constant Une tentative de généralisation des indices à utilité constante On cherche ici en s inspirant des indices à utilité constante à définir un indice de prix de référence adapté

Plus en détail

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION DES NOMBRES par Jean-Luc BREGEON professeur formateur à l IUFM d Auvergne LE PROBLÈME DE LA REPRÉSENTATION DES NOMBRES On ne conçoit pas un premier enseignement

Plus en détail

En vue de l obtention du. Discipline : Informatique. Présentée et soutenue par Mohamed HADJ KACEM. Le Jeudi 13 Novembre 2008

En vue de l obtention du. Discipline : Informatique. Présentée et soutenue par Mohamed HADJ KACEM. Le Jeudi 13 Novembre 2008 THÈSE En vue de l obtention du DOCTORAT DE L UNIVERSITÉ DE TOULOUSE ET DE L UNIVERSITÉ DE SFAX Délivré par l Université Toulouse III - Paul Sabatier et la Faculté des Sciences Économiques et de Gestion

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

Modélisation des données

Modélisation des données Modélisation des données Le modèle Entité/Association Le MCD ou modèle Entité/Association est un modèle chargé de représenter sous forme graphique les informations manipulées par le système (l entreprise)

Plus en détail

CNAM cours NFE107 : Urbanisation et architecture des SI Xavier Godefroy, Rapport sur le BPM, mai 2009. Le BPM

CNAM cours NFE107 : Urbanisation et architecture des SI Xavier Godefroy, Rapport sur le BPM, mai 2009. Le BPM Le BPM 1 Introduction... 2 1.1 Dissiper l ambiguïté... 2 1.2 Quelques définitions... 2 1.3 Définition du BPM... 3 1.4 Modélisation BPMN... 4 1.4.1 Les briques de la modélisation... 4 1.4.2 Des patterns

Plus en détail

Stratégies gagnantes pour les prestataires de services : le cloud computing vu par les dirigeants Dossier à l attention des dirigeants

Stratégies gagnantes pour les prestataires de services : le cloud computing vu par les dirigeants Dossier à l attention des dirigeants Dossier à l attention des dirigeants Centres d évaluation de la technologie inc. Le cloud computing : vue d ensemble Les sociétés de services du monde entier travaillent dans un environnement en pleine

Plus en détail

Rappel sur les bases de données

Rappel sur les bases de données Rappel sur les bases de données 1) Généralités 1.1 Base de données et système de gestion de base de donnés: définitions Une base de données est un ensemble de données stockées de manière structurée permettant

Plus en détail

Le génie logiciel. maintenance de logiciels.

Le génie logiciel. maintenance de logiciels. Le génie logiciel Définition de l IEEE (IEEE 1990): L application d une approche systématique, disciplinée et quantifiable pour le développement, l opération et la maintenance de logiciels. Introduction

Plus en détail

Identification du module

Identification du module Identification du module Numéro de module 475 Titre Développer une analyse pour une application Compétence Développer à partir des exigences fonctionnelles et non fonctionnelles pour une application, les

Plus en détail

Comparaison de trois techniques de modélisation de processus: ADONIS, OSSAD et UML

Comparaison de trois techniques de modélisation de processus: ADONIS, OSSAD et UML Olivier Glassey Jean-Loup Chappelet Comparaison de trois techniques de modélisation de processus: ADONIS, OSSAD et UML Working paper de l'idheap 14/2002 UER: Management public / Systèmes d'information

Plus en détail

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer Le Processus RUP Database Administrator Project Leader H. Kadima Performance Engineer Release Engineer Analyst Designer / Developer Tester Table des matières 1. De l artisanat à l industrialisation de

Plus en détail

Modèle Entité/Association

Modèle Entité/Association Base de données Modèle Entité/Association L3 Informatique Antoine Spicher antoine.spicher@u-pec.fr Contexte du cours Organisation du cours 1 ère partie (C. D.) Modèle et algèbre relationnel Langage SQL

Plus en détail

Systèmes d information et bases de données (niveau 1)

Systèmes d information et bases de données (niveau 1) Systèmes d information et bases de données (niveau 1) Cours N 1 Violaine Prince Plan du cours 1. Bibliographie 2. Introduction aux bases de données 3. Les modèles 1. Hiérarchique 2. Réseau 3. Relationnel

Plus en détail

Chapitre 1 Qu est-ce qu une expression régulière?

Chapitre 1 Qu est-ce qu une expression régulière? Chapitre 1 Qu est-ce qu une expression régulière? Les ordinateurs n ont pas du tout la même conception des textes que nous : pour nous, un texte est un ensemble d idées couchées sur papier. Nous nous en

Plus en détail

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Cours Base de données relationnelles. M. Boughanem, IUP STRI Cours Base de données relationnelles 1 Plan 1. Notions de base 2. Modèle relationnel 3. SQL 2 Notions de base (1) Définition intuitive : une base de données est un ensemble d informations, (fichiers),

Plus en détail

Bases de données. Chapitre 1. Introduction

Bases de données. Chapitre 1. Introduction Références : Bases de données Pierre Wolper Email : pw@montefiore.ulg.ac.be URL : http : //www.montefiore.ulg.ac.be/~pw/ http : //www.montefiore.ulg.ac.be/ ~pw/cours/bd.html Henry F. Korth, Abraham Silberschatz,

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 34 NFP111 Systèmes et Applications Réparties Cours 7 - CORBA/Partie 1 Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon

Plus en détail

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

CONCEPTION Support de cours n 3 DE BASES DE DONNEES CONCEPTION Support de cours n 3 DE BASES DE DONNEES Auteur: Raymonde RICHARD PRCE UBO PARTIE III. - LA DESCRIPTION LOGIQUE ET PHYSIQUE DES DONNEES... 2 A. Les concepts du modèle relationnel de données...

Plus en détail

Concevoir et déployer un data warehouse

Concevoir et déployer un data warehouse Concevoir et déployer un data warehouse Ralph Kimball Éditions Eyrolles ISBN : 2-212-09165-6 2000 2 Le cycle de vie dimensionnel Avant d étudier de plus près les spécificités de la conception, du développement

Plus en détail

Les Architectures Orientées Services (SOA)

Les Architectures Orientées Services (SOA) Les Architectures Orientées Services (SOA) Ulrich Duvent Guillaume Ansel Université du Littoral Côte d Opale 50, Rue Ferdinand Buisson BP 699 62228 Calais Cedex Téléphone (33) 03.21.46.36.92 Télécopie

Plus en détail

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications Université Paris-Dauphine DUMI2E 1ère année, 2009-2010 Applications 1 Introduction Une fonction f (plus précisément, une fonction réelle d une variable réelle) est une règle qui associe à tout réel x au

Plus en détail

DOSSIER SOLUTION CA ERwin Modeling. Comment gérer la complexité des données et améliorer l agilité métier?

DOSSIER SOLUTION CA ERwin Modeling. Comment gérer la complexité des données et améliorer l agilité métier? DOSSIER SOLUTION CA ERwin Modeling Comment gérer la complexité des données et améliorer l agilité métier? CA ERwin Modeling fournit une vue centralisée des définitions de données clés afin de mieux comprendre

Plus en détail

Démarches d urbanisation : réorganiser le Système d Information en structurant ses fonctions dans des blocs fonctionnels communicants.

Démarches d urbanisation : réorganiser le Système d Information en structurant ses fonctions dans des blocs fonctionnels communicants. Plan du chapitre Master Informatique et Systèmes Urbanisation des Systèmes d Information Architecture d Entreprise 04 Architecture du SI : identifier et décrire les services, structurer le SI 1 2 3 4 5

Plus en détail

MÉTHODOLOGIE PROJET SYSTÈME D INFORMATION DÉCISIONNEL BI - BUSINESS INTELLIGENCE. En résumé :

MÉTHODOLOGIE PROJET SYSTÈME D INFORMATION DÉCISIONNEL BI - BUSINESS INTELLIGENCE. En résumé : En résumé : Phase I : collecte des besoins I - Expression des besoins II - Étude de faisabilité III - Définition des priorités IV - Rédaction puis validation du cahier des charges Phase II : implémentation

Plus en détail

Réussir la modélisation UML des phases amont Techniques de «pré-modélisation» : un pont vers le modèle

Réussir la modélisation UML des phases amont Techniques de «pré-modélisation» : un pont vers le modèle Réussir la modélisation UML des phases amont Techniques de «pré-modélisation» : un pont vers le modèle Softeam 2004 Philippe Desfray (voir A propos de l auteur) Présentation Réussir le développement d

Plus en détail

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Architecture d'entreprise : Guide Pratique de l'architecture Logique Guides Pratiques Objecteering Architecture d'entreprise : Guide Pratique de l'architecture Logique Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam

Plus en détail

Représentation des Nombres

Représentation des Nombres Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...

Plus en détail

Refonte front-office / back-office - Architecture & Conception -

Refonte front-office / back-office - Architecture & Conception - Refonte front-office / back-office - Architecture & Conception - GLG204 - Architectures Logicielles Java 2008/2009 Nom : Cédric Poisson Matricule : 06-49012 Version : 1.0 Jeudi 28 mai 2009 1 / 23 Table

Plus en détail

Le produit semi-direct

Le produit semi-direct Le produit semi-direct Préparation à l agrégation de mathématiques Université de Nice - Sophia Antipolis Antoine Ducros Octobre 2007 Ce texte est consacré, comme son titre l indique, au produit semi-direct.

Plus en détail

DEVELOPPEMENT ET MAINTENANCE DE LOGICIEL: OUTIL DE PILOTAGE

DEVELOPPEMENT ET MAINTENANCE DE LOGICIEL: OUTIL DE PILOTAGE DEVELOPPEMENT ET MAINTENANCE DE LOGICIEL: OUTIL DE PILOTAGE Développement et maintenance de logiciel Automne 2006 François-Xavier RIU Thomas POUPART Seng LAO Zhe WU SOMMAIRE Introduction Introduction INTRODUCTION

Plus en détail