THÈSE. Manipulation de Lignes de Produits en UML

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

Download "THÈSE. Manipulation de Lignes de Produits en UML"

Transcription

1 N o d ordre : 3083 THÈSE présentée devant l université de Rennes 1 pour obtenir le grade de : Docteur de l université de Rennes 1 Mention Informatique par Tewfik ZIADI Équipes d accueil : IRISA-TRISKELL École doctorale : MATISSE Composante Universitaire : IFSIC, Université de Rennes 1 Titre de la thèse : Manipulation de Lignes de Produits en UML Soutenue le 13 Décembre 2004 Composition du jury M. Albert Benveniste Président MM. Christophe Dony Rapporteurs Ferhat Khendek MM. Charles Consel Examinateurs Loïc Hélouët Jean-Marc Jézéquel

2

3 Table des matières Introduction 17 I État de l art 23 1 Les Lignes de Produits Logiciels Introduction Des familles de programmes aux Lignes de produits Une approche adoptée dans l industrie L ingénierie de Domaine et d Application Ingénierie du domaine Ingénierie d application La variabilité logicielle Les dimensions de la variabilité Les points de variation La variabilité au niveau de l implantation Les contraintes Conclusion UML pour la modélisation de Ligne de Produit Introduction Unified Modeling Language (UML) Une sémantique à base de méta-modélisation Les contraintes OCL Les diagrammes Extensibilité Ingénierie des modèles État de l art sur la modélisation de LdP en UML Modélisation de la variabilité dans les modèles UML Gestion des contraintes Le support de la dérivation des modèles de produits Synthèse

4 4 Table des matières 2.4 Une approche dirigée par les modèles Spécification de comportement dynamique des systèmes Introduction Les scénarios : la vue inter-objets Les diagrammes de séquence d UML1.x Les diagrammes de séquence d UML Les interactions Les mécanismes de composition Message Sequence Charts Les machines à états : la vue intra-objet Des scénarios aux machines à états Motivations État de l art sur les travaux existant Comparaison de comportement Conclusion La Modélisation de la Variabilité Introduction La ligne de produit banque Modélisation de l aspect statique des LdP La variabilité Définition des extensions Exemple Modélisation de l aspect dynamique des LdP La variabilité Définition des extensions Exemple Vers un profil UML pour les LdP Spécification algébrique des diagrammes de séquence des LdP Expressions de Référence Expressions de Référence des LdP Exemple Conclusion La Modélisation des Contraintes de LdP Introduction Les contraintes OCL au niveau méta-modèle Les contraintes génériques des LdP La contrainte de dépendance La contrainte d héritage Les contraintes spécifiques des LdP

5 Table des matières La contrainte de présence La contrainte d exclusion mutuelle Conclusion II Dérivation de produits Dérivation de modèles statiques des produits Introduction La LdP Mercure Dérivation de produits De modèle de LdP aux modèles de Produits Dérivation Implantation en MTL Prise en compte des contraintes dans la dérivation Conclusion Dérivation de comportements Une Approche Algébrique Dérivation des expressions de produits Modèles de décision Dérivation Des expressions de produits aux machines à états Un cadre algébrique pour les machines à états Opérateurs de composition Expressions de référence des machines à états Génération des machines à états Diagrammes de séquence de base Diagrammes de séquence combinés Évaluation de l approche Avantages Limites Discussion autour de la synthèse Vues Inter-objet et intra objet Le rôle de la synthèse Conclusion Application et validation Les projets CAFE et FAMILIES L outil prototype PLiBS Études de cas

6 6 Liste des figures III Conclusion et perspectives 157 Annexes 163 A Les contraintes de LdP en MTL 165 B Le code de la dérivation de la LdP Mercure en MTL 169 C L exemple de Guichetier automatique 179 Bibliographie 189

7 Table des figures 1.1 L ingénierie de lignes de produits Exemple d un diagramme de caractéristiques FODA La dimension espace et temps dans la variabilité L architecture à quatre niveaux de l OMG Le diagramme de cas d utilisation d une application bancaire Extrait d un diagramme de classes d une application bancaire Exemple de spécification d un profil UML2.0 et son utilisation Les transformations de modèles Exemple d un diagramme de séquence d UML1.x et ses concepts Le branchement conditionnel dans les diagrammes de séquence d UML1.x Une partie de méta-modèle des interactions dans UML Une partie du méta-modèle des diagrammes de séquence d UML Exemple d un DS dans UML2.0 et ses concepts Exemple des références vers les DS dans UML Exemple d un diagramme de séquence combiné Exemple d un diagramme de vue d ensemble d interaction dans UML Exemples de basic MSC Exemple d une inline-expression Exemple d un HMSC Exemple de machine à états Variation dans un diagramme de classes Extrait du méta-modèle d UML des classes Exemple d une variation où une classe variante est associée à deux points de variation Le diagramme de classes de la LdP banque Exemple d une interaction combinée référençant une interaction optionnelle Exemple d une interaction variation Exemple d une interaction combinée référençant une interaction virtuelle Les interactions de base dans la LdP banque L interaction combinée de la LdP banque avec la variabilité

8 8 Table des figures 4.10 Les extensions d UML pour la modélisation des LdP Les contraintes génériques dans les LdP Exemple de dépendance d utilisation dans un modèle de LdP Les dépendances dans le méta-modèle d UML Exemples d héritages dans des diagrammes de classes de LdP La généralisation dans le méta-modèle d UML Les contraintes spécifiques dans les LdP La méta-classe Model dans le méta-modèle d UML Exemple d un diagramme de classes d une LdP Exemple d un diagramme de classes d un produit dérivé Le diagramme de caractéristiques de la LdP FODA Le diagramme de classes UML de la LdP Mercure La structure du patron de conception Fabrique Abstraite La fabrique abstraite dans la LdP Mercure La fabrique abstraite étendue avec des stéréotypes pour la LdP Mercure Le modèle obtenu pour le produit CustomMercure Le diagramme de séquence combiné du produit BS Exemple de machines à états à plats Exemple d application de l opérateur seq s Exemple d application de l opérateur loop s Exemple d application de l opérateur alt s Le DS de base Deposit dans la LdP banque Exemple de la synthèse d une machine à états à partir d un DS de base Les machines à états de base de l objet Bank De seq à seq s De alt à alt s De loop à loop s La machine à états pour l objet Bank dans le contexte de produit BS La machine à états pour l objet Bank dans le contexte de produit BS Exemple d une machine à états non-déterministe Exemple d un diagramme de séquence engendrant de blocage pour la diffusion Exemple d un DS avec un choix non-local Les machines à états générées à partir de DS de la Figure Les relations entre le comportement des scénarios et celui de machines à états Exemple de spécification de RESD-PL dans PLiBS L instantiation du modèle de décision dans PLiBS La synthèse des machines à états dans PLiBS

9 Table des figures Exemple d une machine à états synthétisée dans PLiBS Intégration dans les deux niveaux des LdP C.1 Les diagrammes de séquence de base pour l exemple de guichetier automatique

10

11 Liste des tableaux 2.1 Exemple d un modèle de décision de KobrA Table récapitulative des travaux existant autour de la manipulation des LdP avec UML Les membres de la LdP banque Les règles de base pour la représentation des DS en RESD Les instances du modèle de décision de la LdP banque Statistiques sur le nombre d états et de transitions générés pour la machine à états de l objet Bank dans la LdP banque

12

13 Introduction La discipline «Génie Logiciel» a été inventée dans la fin des années 1960 pour répondre à la croissance de la complexité des logiciels. Elle avait comme but principal de définir et de proposer des solutions et des méthodologies pour le développement des logiciels. Son champ a évolué pour couvrir les nouvelles problématiques introduites par l extension de la pénétration de l informatique dans l industrie. On arrive ainsi à une situation où la problématique n est plus de développer un seul logiciel à la fois mais plutôt concevoir et développer une ligne (ou une famille) de logiciels qui prend en compte des facteurs de variation et permet de minimiser les coûts et les temps de réalisation. Les facteurs de variation peuvent être techniques (utilisation d une variété de matériels associés aux logiciels), commerciaux (création de plusieurs versions allant d une version limitée à une version complète), ou culturels (logiciels destinés à plusieurs pays). Pour illustration, on peut citer les logiciels intégrés aux téléphones mobiles qui doivent supporter plusieurs standards de communication et une variété de langues (dans [74], Maccari et al. affirment par exemple que les téléphones Nokia doivent supporter plus de 60 langues). Cette notion de lignes de produits n est pas totalement nouvelle car David Parnas dans [95] a déjà étudié les familles de programmes dès Cependant ce paradigme n a émergé comme une approche à part du génie logiciel seulement ces dernières années, lorsqu il a commencé à regrouper une communauté à travers les différent projets européens tels que ESAPS [1], CAFE [2], FAMILIES [3]. Aux États Unis, Le Software Engineering Institue a également crée une action spéciale qui s intéresse à l ingénierie des lignes de produits [85]. Dans la littérature, il y a un consensus sur la définition d une ligne de produits logiciel (LdP). Elle est définie comme un ensemble de systèmes partageant un ensemble de propriétés communes et satisfaisant des besoins spécifiques pour un domaine particulier [27, 21]. La notion de variabilité est utilisée pour regrouper les caractéristiques qui différencient les produits de la même famille. Les langues supportées sont un exemple de variabilité dans une LdP du domaine des téléphones mobiles. La gestion de cette variabilité est la première activité pour le développement de lignes de produits. La deuxième activité concerne la construction d un produit particulier (on parle aussi de dérivation de produit) qui consiste en particulier à figer certains choix vis-à-vis de la variabilité définie dans la LdP. Une 13

14 14 Introduction particularité des LdP est que certains choix sont incompatibles entre eux, d autres sont liés. Un choix particulier lors de la dérivation d un produit peut exclure ou exiger d autres choix. Une ligne de produits doit donc aussi gérer des contraintes permettant de faciliter les choix lors de la dérivation. Trouver des solutions pour répondre aux problématiques des LdP a attiré beaucoup d attention ces dernières années. Plusieurs travaux se sont intéressés à la manipulation des LdP au niveau du code en utilisant diverses technologies comme la technologie des objets [7, 59, 105, 63] et la programmation générative [26, 11, 82, 81]. Même si ces travaux se basent sur des technologies et des techniques qui ont connu une réussite remarquable dans le domaine du génie logiciel, la maîtrise du code devient de plus en plus difficile avec la croissance exponentielle de la complexité des logiciels (il n est pas surprenant de trouver maintenant des systèmes avec des millions de lignes de code). Indépendamment du code, la modélisation semble une solution permettant de mieux maîtriser cette complexité. Il ne s agit plus de manipuler le code du système lui même mais plutôt de manipuler un ensemble de modèles le décrivant d une manière plus abstraite. La modélisation est le fondement de plusieurs méthodes d analyse et de conception telles que OMT [100], Booch [16] et OOSE [52] qui ont donné naissance à UML (Unified Modeling Language ) [93, 86, 94], «le» standard industriel de modélisation, et par la suite à l ingénierie des modèles [25], ou Model Driven Engineering (MDE), le champ du génie logiciel basé sur la modélisation. Cette thèse se situe dans le contexte de la modélisation de lignes de produits en UML, et propose de nouvelles approches pour leur manipulation. Comme nous le verrons par la suite, il existe dans la littérature de très nombreux travaux autour de la manipulation des LdP en UML [39, 14, 110, 57, 33, 34, 9, 8, 61, 113, 30, 29, 20, 19, 99]. La principale hypothèse de la plupart de ces travaux concerne l utilisation des mécanismes standards d extension d UML pour permettre la modélisation des LdP et prendre en compte les nouvelles dimensions de la modélisation de la variabilité, de la dérivation de produits et de la gestion de contraintes. Mais en étudiant de plus près ces travaux, des constats d insuffisances se dégagent et indiquent que la manipulation de LdP en UML manque de maturité : Le premier constat est que la majorité des travaux existant utilisent seulement deux vues d UML pour modéliser les LdP : les cas d utilisation [39, 14, 110, 57, 34] et les modèles statiques [113, 61, 20, 19]. Cependant, peu de travaux font référence à l aspect dynamique des LdP. En effet, en plus des cas d utilisation et des modèles statiques, UML propose aussi des modèles tel que les diagrammes de séquence et les machines à états permettant de spécifier le comportement dynamique de systèmes. Comme nous le verrons par la suite, le peu existant ne propose pas de mécanismes puissants pour exprimer de la variabilité.

15 Introduction 15 Le deuxième constat concerne le support de la dérivation qui est une activité importante dans une approche supportant les LdP. Certains travaux se contentent seulement de modéliser la variabilité et ne font pas référence à la dérivation de produits [61, 33, 99]. Ceci, à notre avis, restreint l utilité de ces travaux à un but descriptif et les limite à des objectifs de documentation d architectures à l aide de modèles UML. Les travaux de [9, 8, 29] font référence à la dérivation de produits mais ne la formalisent pas et ne proposent pas de solution pour sa mise en oeuvre. Le troisième constat concerne la gestion des contraintes dans les LdP. Comme mentionné ci-dessus, les LdP sont caractérisées par un ensemble de contraintes qui guident la dérivation de produits. Là aussi, seuls deux travaux [30, 20] utilisant UML font référence aux contraintes des LdP. Cependant aucun parmi ceux-là n utilise OCL (Object Constraint Language) [112] pour spécifier les contraintes des LdP bien que OCL soit un standard faisant partie d UML. Contributions La thèse que nous défendons s articule autour de trois contributions associées aux trois dimensions principales des LdP à savoir : la modélisation de la variabilité, la gestion des contraintes et la dérivation de produits. La première contribution de cette thèse concerne la modélisation de la variabilité dans les modèles UML. Nous étendons UML pour permettre la spécification de la variabilité dans deux types de modèles d UML : les diagrammes de classes et les diagrammes de séquence. Contrairement aux travaux existant, la modélisation de la variabilité dans les diagrammes dynamiques d UML est le coeur du travail présenté dans cette thèse. Nous proposons trois mécanismes pour spécifier la variabilité dans les diagrammes de séquence d UML. Comme nous le verrons par la suite, UML2.0 (la nouvelle version d UML) améliore considérablement les diagrammes de séquence d UML1.x en particulier par l introduction d opérateurs de composition. Nous utilisons ces opérateurs de composition pour spécifier algébriquement les diagrammes de séquence d UML2.0 sous forme de ce que nous appelons par la suite les expressions de référence. Nous étendons ces expressions par trois constructions algébriques de variabilité pour spécifier les diagrammes de séquence des LdP. La deuxième contribution concerne la gestion des contraintes de LdP dans les architectures modélisées en UML. Nous identifions deux types de contraintes dans les LdP : les contraintes génériques et les contraintes spécifiques et nous proposons d utiliser le langage OCL pour les formaliser.

16 16 Introduction La troisième contribution concerne la dérivation de produits. Nous défendons le principe qu une approche de manipulation de LdP en UML doit aller au delà des buts descriptifs et doit proposer un support pour instantier la variabilité introduite pour dériver les modèles UML de produits membres de la LdP. Nous formalisons cette dérivation en utilisant la transformation de modèles. Nous considérons la dérivation de modèles statiques de produits ainsi que leur comportements. La dérivation des modèles statiques est formalisée comme une transformation de modèle qui permet d obtenir le diagramme de classes d un produit particulier à partir de celui de la LdP. Pour réaliser la dérivation de comportements, nous avons étudié une problématique qui a attiré beaucoup d attentions ces dernières années. Il s agit de la génération (appelée aussi synthèse) automatique de machines à états à partir de diagrammes de séquence. Comme mentionné ci-dessus les diagrammes de séquence d UML2.0 améliorent la première génération par leur spécification algébrique. Nous proposons donc de revisiter le problème de la synthèse dans le contexte d UML2.0 en proposant une nouvelle approche algébrique. Nous étendons par la suite cette approche pour supporter la variabilité introduite dans les lignes de produits, aspect qui n est pas traité jusqu à maintenant dans les travaux existant autour de la synthèse. La dérivation de comportements sera donc définie comme une génération automatique de machines à états spécifiques aux produits à partir de diagrammes de séquence de la LdP. Les travaux présentés dans cette thèse ont fait l objet de diverses publications [83, 118, 120, 121, 123, 122, 119]. Plan du document Ce document est organisé en quatre parties : La première partie présente un état de l art; elle est divisée en trois chapitres : le chapitre 1 présente les lignes de produits logiciels et leurs concepts fondamentaux. Le chapitre 2 rappelle les principes d UML et ses concepts qui seront abordés dans le reste de ce document. Il présente aussi un état de l art des travaux existant autour de la manipulation de LdP en UML. Comme l aspect comportemental des LdP est le coeur du travail présenté dans cette thèse, le but du chapitre 3 est de présenter les scénarios et les machines à états comme des moyens pour la spécification de comportements. Nous discutons aussi les travaux existant sur la synthèse de machines à états à partir de scénarios. Les contributions de cette thèse sont détaillées dans la deuxième et troisième partie de ce document. La deuxième partie présente en deux chapitres notre contribution à la modélisation des LdP en UML. Le chapitre 4 détaille les extensions que nous proposons

17 Introduction 17 pour la modélisation de la variabilité dans les diagrammes de classes ainsi que dans les diagrammes de séquence. Ce chapitre présente aussi la spécification algébrique que nous proposons pour les diagrammes de séquence d UML2.0. Le chapitre 5 présente les deux types de contraintes de LdP que nous avons identifiées ainsi que leur formalisation en OCL. La troisième partie de ce document traite la dérivation de produits. Le chapitre 6 décrit la dérivation de modèles statiques. Le chapitre 7 détaille notre approche pour la génération de machines à états de produits à partir de diagrammes de séquence d une LdP. Le chapitre 8 discute le prototype que nous avons développé pour la dérivation de comportements ainsi que sa validation sur des études de cas. Il présente aussi les contributions aux projets européens CAFE [2] et FAMILIES [3] dans lesquels s inscrivent les travaux présentés dans cette thèse. La quatrième partie conclut ce document et présente des perspectives possibles des travaux présentés dans cette thèse.

18 18 Introduction

19 Première partie État de l art 19

20

21 Chapitre 1 Les Lignes de Produits Logiciels 1.1 Introduction L approche Lignes de produits (LdP) logiciels appelée aussi Famille de Produits 1 est une transposition des chaînes de production au monde du logiciel. Le principe est de minimiser les coûts de construction de logiciels dans un domaine d application particulier en ne développant plus chaque logiciel séparément, mais plutôt en le concevant à partir d éléments réutilisables. La première difficulté liée à cette approche réside dans la conception d une architecture permettant de définir plusieurs produits. Les membres d une ligne de produits sont caractérisés par leurs points communs, mais aussi par leurs différences (aussi appelées variabilité). La gestion de cette variabilité est l une des activités clé des lignes de produits. Dans une chaîne de production de véhicules, des voitures sont fabriquées à partir d un ensemble d éléments communs (roues, volant, vitres,..etc) mais peuvent comporter certaines caractéristiques qui les différencient (nombre de chevaux du moteur, présence ou non de la climatisation,..etc). Dans le monde logiciel, les différences peuvent apparaître de manière analogue, en fonction de choix techniques (utilisation d un type particulier de matériel), commerciaux (création d une version limitée), régionaux (produits destinés à plusieurs pays). Une autre difficulté de l utilisation d une ligne de produits concerne la construction d un produit logiciel (on parle aussi de dérivation de produit) qui consiste en partie à figer certains choix vis-à-vis de la variabilité définie dans la ligne de produits. De toute évidence, certains choix sont incompatibles entre eux. Si l on reprend l analogie ci-dessus, une voiture comporte généralement un seul moteur, et il faut alors choisir entre une motorisation essence ou diesel. De la même manière, un choix particulier lors de la dérivation d un logiciel peut exclure certaines variantes. Par exemple le choix d un cabriolet à toit amovible exclura 1 Dans [109], Frank van der Linden justifie l origine de deux appellations par l emplacement géographique : l appellation «ligne de produits» est utilisée aux États Unis d Amérique et «famille de produits» est utilisée en Europe. Nous utiliserons les deux appellations indifféremment dans ce document. 21

22 Des familles de programmes aux Lignes de produits la possibilité de choisir un toit ouvrant. Une ligne de produits doit donc aussi intégrer des contraintes de cohérence permettant de faciliter les choix lors de la dérivation. Le but de ce chapitre est de présenter l approche LdP en terme de concepts et de fondations. 1.2 Des familles de programmes aux Lignes de produits Bien que les Lignes de Produits Logiciel soient un nouveau paradigme du génie logiciel, la construction des familles de programmes a été déjà étudiée par David Parnas en 1976 [95]. Mais ce paradigme n a émergé que ces dernières années, lorsqu il a commencé à regrouper une communauté à travers les différent projets européens tels que ESAPS [1], CAFE [2], FAMILIES [3], aussi que les conférences SPLC (Software Product Line Conference) et PFE (Product Family Enginnering) entièrement consacrées à cette approche (troisième édition de SPLC en 2004 et cinquième édition de PFE en 2003). Il y a un consensus dans la littérature sur la définition d une ligne de produits logiciels. Une ligne de produits logiciel est un un ensemble de systèmes partageant un ensemble de propriétés communes et satisfaisant des besoins spécifiques pour un domaine particulier [27, 21]. Un domaine est un secteur de métier ou de technologies ou des connaissances caractérisées par un ensemble de concepts et de terminologies compréhensibles par les utilisateurs de ce secteur [27]. La définition ci-dessus de la ligne de produits caractérise les produits, membres de la ligne de produits, par un ensemble de propriétés communes (commonalité), mais aussi par leurs différences (variabilité). Nous présentons ici leur définitions, une discussion plus détaillée est présentée dans la section 1.5. La variabilité regroupe l ensemble des hypothèses montrant comment les produits, membres de la ligne de produits, diffèrent [115]. La commonalité regroupe l ensemble des hypothèses qui sont vraies pour tous les produits, membres de la ligne de produits [115]. 1.3 Une approche adoptée dans l industrie Motivée par la diversité des facteurs de variation des logiciels dans certains domaines, l approche ligne de produits a été adoptée depuis sa naissance dans l industrie. Le SEI (Software Engineering Insttiute) a publié plusieurs expériences industrielles prouvant

23 Les Lignes de Produits Logiciels 23 sa réussite [10]. Dans [75, 74], il est montré comment Nokia a opté pour l approche ligne de produits pour gérer la diversité des logiciels des téléphones mobiles. Dans [74], Maccari et al. estime que pour maintenir le marché, Nokia doit introduire sur le marché entre 30 et 40 nouveaux produits par an; ceci rend leur production à partir de zéro très difficile. En plus de cette donnée, Nokia doit aussi répondre à plusieurs facteurs de variation entre ses produits tel que la langue de l interface utilisateur. En effet, les produits de Nokia supportent approximativement 60 langues [74], chaque langue a ses propres particularités : les langues Occidentales sont basées sur les caractères latins et s affichent de gauche à droite, la longue arabe doit être affichée de droite à gauche avec le besoin de connecter les caractères pour apparaître comme une seul signe, et le chinois qui a aussi ses propres caractéristiques. Les produits de Nokia doivent aussi être compatibles avec les différent standards de communication numériques tel que GSM 900, GSM 1900, TDMA,..etc [75]. 1.4 L ingénierie de Domaine et d Application L ingénierie des lignes de produits logiciels, telle qu elle est définie dans la littérature [26, 1, 2], distingue deux niveaux, illustrés par la Figure 1.1 : Ingénierie du domaine et Ingénierie d application. Fig. 1.1: L ingénierie de lignes de produits

24 L ingénierie de Domaine et d Application Ingénierie du domaine L ingénierie du domaine consiste à développer et construire les assets (un asset est un élément qui permet de développer un logiciel, par exemple un document de spécification, modèle, code,..etc.) qui seront réutilisés pour la construction de produits ; il s agit d un développement pour la réutilisation. Dans ce premier niveau, nous distinguons trois activités [26, 1, 2] : l analyse, la conception et l implantation du domaine. Le but de l analyse du domaine est d étudier le domaine de la ligne de produits et d identifier les commonalités et les variabilitiés entre les produits. Il existe plusieurs méthodes pour l analyse de domaine, la plus connue est FODA [62]. Le domaine dans FODA est décrit dans un modèle de caractéristiques (une caractéristique est appelée feature), spécifié sous forme d arbre dont les noeuds représentent les caractéristiques de domaine et les arcs spécifient des liens de composition entre les caractéristiques. FODA distingue trois catégories de caractéristiques : les caractéristiques obligatoires pour tous les produits membre de la LdP, les caractéristiques optionnelles qui sont présentes seulement dans certains produits et les caractéristiques alternatives. La Figure 1.2 montre un exemple de modèle de caractéristique FODA d une ligne de produits de voitures [26]. Chaque caractéristique dans le diagramme correspond à un concept du domaine. Les caractéristiques obligatoires sont représentées par des rectangles avec des cercles pleins, tandis que les caractéristiques optionnelles sont représentées par des rectangles avec des cercles vides. La caractéristique Climatisation dans le modèle FODA de la Figure 1.2 est optionnelle. Il existe trois types de moteurs dans une LdP de voitures : électrique, essence ou diesel; ceci est spécifié par une caractéristique alternative Moteur avec trois caractéristiques variantes Électrique, Essence, et Diesel. Une caractéristique alternative est représentée par un arc de cercle à travers les arcs des caractéristiques variantes. Le but de la conception de domaine est d établir une architecture logicielle générique de la ligne de produits. Il n y a pas de consensus sur la définition d une architecture logicielle et par conséquent pour l architecture de ligne de produits. Bass et al. [10] définissent une architecture logicielle de ligne de produits comme une architecture standard qui comporte un ensemble de composants, des connecteurs et des contraintes. Pour les lignes de produits, l architecture devrait être comme une architecture de référence à partir de laquelle l architecture de chaque produit est dérivée. La variabilité identifiée pendant l analyse de domaine doit être spécifiée explicitement dans l architecture de ligne de produits. L implantation de domaine consiste à implanter l architecture générique définie dans la conception de domaine sous forme de composants qui vont être réutilisés dans l ingénierie d application pour la construction de chaque produit.

25 Les Lignes de Produits Logiciels 25 Fig. 1.2: Exemple d un diagramme de caractéristiques FODA Ingénierie d application L ingénierie d application consiste à utiliser les résultats de l ingénierie de domaine pour la construction, appelée aussi dérivation, d un produit particulier. Il s agit d un développement par la réutilisation (voir la Figure 1.1). Comme mentionné ci-dessus, les résultats de l ingénierie de domaine (les modèles de caractéristiques, l architecture générique, et les composants) contiennent de la variabilité, la dérivation d un produit particulier a donc besoin de décisions (ou des choix) associées à ces points de variation. La notion de modèle de décision [8] est utilisée pour capturer et enregistrer les décisions nécessaires à la dérivation de produits. 1.5 La variabilité logicielle La commonalité et la variabilité sont les concepts centraux dans les lignes de produits logiciels. Dans cette section, nous discutons plus en détail le concept de variabilité que celui de commonalité. Ceci est justifié par le fait que la gestion de la variabilité demande plus d efforts que celui des commonalité. En effet, les propriétés communes dans la LdP sont identifiées et utilisées telle qu elles pour la construction de tous les produits. Cependant la variabilité demande, en plus de son identification, des mécanismes pour sa gestion (on parle aussi de résolution de la variabilité). Même si l approche ligne de produits est un nouveau paradigme, la gestion de la variabilité logicielle n est pas un nouveau problème et plusieurs techniques de conception et de programmation permettent de la gérer [7, 105] (voir aussi section 1.5.3). Cependant en dehors du contexte de lignes de produits, la variabilité concerne un seul produit, c.à.d. la variabilité fait partie du produit et elle est résolue après que le produit est délivré et installé dans son environnement d exécution. Dans le contexte des lignes de produits, la variabilité doit être explicitement spécifiée et elle fait partie de la ligne de produits et au contraire de la

26 La variabilité logicielle variabilité d un seul produit, la variabilité dans les lignes de produits est résolue avant que le produit ne soit délivré et installé dans son environnement d exécution. Dans [8], Atkinson et al. appellent la variabilité contenue dans un seul produit la variabilité de temps d exécution et la variabilité contenue dans la ligne de produits la variabilité de temps de développement. Nous considérons en premier lieu dans ce document la variabilité de LdP, c.à.d. la variabilité résolue avant la délivrance et l installation des produits Les dimensions de la variabilité La variabilité logicielle apparaît en deux dimensions [17, 60] : le temps et l espace (voir la Figure 1.3) : La dimension du temps concerne la variation dans le temps d un seul produit logiciel. La Figure 1.3 montre l évolution dans le temps des produits d une version à une autre. La dimension de l espace concerne la variation entre plusieurs produits de la même famille. Les même éléments logiciels sont utilisés dans plusieurs produits et la variation concerne principalement des variations de fonctionnalités, c.à.d. les produits diffèrent dans les fonctionnalité qu ils supportent. Dans ce document nous considérons seulement la dimension de l espace, c.à.d. la variation dans les fonctionnalités. Fig. 1.3: La dimension espace et temps dans la variabilité

27 Les Lignes de Produits Logiciels Les points de variation Dans les lignes de produits, la variabilité est identifiée durant l ingénierie de domaine et elle est introduite par ce qui est appelé les points de variations. Jacobson et al. [53] définissent un point de variation comme suit : Un point de variation identifie un ou plusieurs emplacements auxquels la variation peut se produire [53]. Un point de variation peut être vu comme un point de décision [39] avec plusieurs choix possibles appelés variants. Le noeud Moteur dans le diagramme FODA dans la Figure 1.2 est un exemple de point de variation avec trois caractéristiques variantes : Essence, Électrique et Diesel. L optionnalité est un cas particulier d un point de variation où le seul choix possible est la présence ou non de la caractéristique. Le noeud Climatisation représente un autre exemple de point de variation. En plus, au niveau du modèle de caractéristiques, les points de variation doivent apparaître à tous les niveaux d abstraction (exigences, architectures, implantation, tests,..etc.). Au niveau d architectures, les travaux [111, 24] ont étudié l extension des langages de description d architecture pour la spécification de la variabilité dans les architectures de lignes de produits. Nous présentons une étude détaillée dans le chapitre 2 sur les travaux existants autour de la modélisation des architectures de LdP en UML. Dans la suite, nous discutons la variabilité au niveau de l implantation La variabilité au niveau de l implantation Plusieurs techniques au niveau de l implantation permettent la gestion de la variabilité. Les deux travaux [7, 105] citent quelques techniques pour le gestion de la variabilité au niveau de l implantation. Parmi les techniques et approches utiles pour la gestion de la variabilité au niveau de l implantation on peut retenir : Les techniques de compilation Elles permettent la dérivation d un produit pendant la phase de compilation. La compilation conditionnelle et le chargement de bibliothèques sont des exemples de ces techniques. Elles sont utiles si la variabilité concerne les parties de code à inclure ou à exclure et dans les bibliothèques qu ils utilisent. Les techniques liées aux langages de programmation Les langages à objets (LAO) ont apporté quelques techniques utiles pour implanter la variabilité. Citons l abstraction à travers la notion d héritage, la surcharge et la liaison dynamique. Les points de variation peuvent être définis comme abstraits et redéfinis par chaque variant d une manière spécifique. Certains LAO permettent de définir des classes paramétrées, appelées classes templates. La variabilité peut être implantée en utilisant les classes templates lorsque les variantes ne diffèrent que sur un ensemble de types de paramètres.

28 Les contraintes Les patrons de conception Les patrons de conception [31] fournissent des solutions réutilisables pour certains type de problèmes. Dans [59], le patron de conception fabrique abstraite (Abstract Factory) est utilisé pour la réification des variants. La fabrique abstraite permet de définir une interface pour la création des produits concrets. [63] propose un ensemble de patrons pour modéliser la variabilité. Des approches de programmation Des approches récentes de génie logiciel peuvent être utilisées pour implanter et gérer la variabilité dans les systèmes. La séparation des aspects [65] est une approche permettant de réduire la complexité des systèmes. Le principe est de décomposer le problème en un ensemble de composants fonctionnels et d aspects transversaux. Quelques travaux [7, 13, 12, 36] proposent d utiliser cette approche pour la gestion de la variabilité dans les LdP. L idée est que pour implanter la variabilité les aspects peuvent être vus comme des points de variation et chaque produit, membre de la LdP, est différencié par l ensemble des aspects qu il utilise. Le travail de Lopez-Herrejon et al. [73] présente une étude de cas sur l implantation d une ligne de produit en AspectJ. La programmation générative [26] est une approche qui s intéresse au développement des familles de systèmes, elle est basée sur la notion de «générateur». La variabilité dans les LdP peut être implantée en développant des générateurs comme des artefacts génériques, leur instantiation permet de générer l implantation d un produit. Dans [11], Batory et al. propose une autre approche générative pour la gestion des variants. Dans [82, 81], une approche pour gérer la variabilité basée sur l évaluation partielle des programmes C. Même si ces travaux au niveau d implantation se basent sur des technologies et des techniques qui ont connu une réussite remarquable dans le domaine du génie logiciel, la maîtrise du code devient de plus en plus difficile à gérer avec la croissance exponentielle de la complexité des logiciels. 1.6 Les contraintes En plus de la variabilité, les lignes de produits logiciels sont caractérisées par des contraintes de dépendance entre les points de variations. En effet, la résolution d un point de variation peut influencer la résolution d autres points de variation. FODA, la méthode de l analyse de domaine présentée ci-dessus, introduit les règles de composition comme un moyen pour décrire les contraintes de dépendances dans un modèle de caractéristiques. FODA [62] permet de décrire deux types de règles de composition : de présence et d exclusion. La règle de présence spécifie que le choix d une caractéristique optionnelle ou variante exige la présence d une autre caractéristique optionnelle ou variante. La règle d exclusion entre deux caractéristiques spécifie qu elles ne peuvent pas être présentes dans le même produit. Les contraintes des lignes de produits appa-

29 Les Lignes de Produits Logiciels 29 raissent aussi au niveau de l architecture. Bass et al. [10], considèrent d ailleurs que les contraintes font partie de l architecture des LdP. Le travail de Jaring et al. [54] présente une classification des contraintes de LdP. Nous verrons dans le chapitre suivant que peu de travaux utilisant UML pour la modélisation des architectures de lignes de produits modélisent les contraintes de LdP. L une des contributions de cette thèse est de proposer l utilisation d OCL (Object Constraint Langage) pour la spécification de ces contraintes ; ceci est présenté dans le chapitre Conclusion Dans ce chapitre nous avons présenté les concepts et les principes fondamentaux de l approche ligne de produits logiciels. Cette approche introduit trois nouvelles activités dans les activités classiques de développement des systèmes : La modélisation de la variabilité. La variabilité est la caractéristique principale dans une LdP. Donc la première activité est la modélisation et la spécification explicite de la variabilité à travers l introduction des points de variation. La gestion des contraintes. Une LdP est caractérisée aussi par un ensemble de contraintes spécifiant des propriétés de dépendances entre les points de variation. Donc, la deuxième activité est la gestion de ces contraintes. La dérivation des produits. La dérivation d un produit, membre de la LdP, consiste en partie à instantier les différent points de variation définis dans la ligne de produits et générer les produits. Nous nous sommes intéressés dans ce document à la manipulation des architectures de lignes de produits en UML. Nous considérons donc la variabilité au niveau des architectures des LdP modélisées en UML. Le travail présenté dans cette aborde les trois activités ci-dessus. La deuxième partie de ce document présente notre approche autour des deux premières activités, la troisième partie décrit notre approche pour la dérivation des produits.

30 Conclusion

31 Chapitre 2 UML pour la modélisation de Ligne de Produit 2.1 Introduction UML (Unified Modeling Language) est le standard de l OMG (Object Groupe Management) pour la modélisation orientée objet des systèmes logiciels. Il propose un ensemble de notations, sous forme de diagrammes, pour la documentation et la spécification des systèmes. Les diagrammes d UML modélisent le logiciel selon différent points de vues : vue fonctionnelle, vue statique, vue dynamique et vue d implantation et de déploiement. UML est essentiellement destiné à modéliser un seul produit logiciel à la fois. Cependant comme nous allons voir dans ce chapitre, plusieurs travaux se sont intéressés à l utilisation d UML pour la modélisation des LdP. Ceci s explique par deux raisons principales : UML est un standard largement adopté dans l industrie et il existe plusieurs outils qui le supportent. UML définit des mécanismes standards d extensions permettant d étendre et d adapter sa notation et sa sémantique à un domaine particulier. Les stéréotypes et les tagged values sont des exemples de ces mécanismes. L objectif principal de ce chapitre est de faire un état de l art sur les travaux existants dans la littérature autour de la manipulation des lignes de produits en UML. Nous commençons par un bref rappel d UML et des concepts qui seront abordés dans ce document. 2.2 Unified Modeling Language (UML) La notation UML (Unified Modeling Language) [93, 86, 94] constitue une étape importante dans la convergence des notations utilisées dans le domaine de l analyse et la conception objet puisqu elle représente une synthèse des méthodes les plus utili- 31

32 Unified Modeling Language (UML) sées : OMT (Object Modeling Technique) [100], Booch [16] et OOSE(Object-Oriented Software Engineering) [52]. Depuis la première version d UML, le standard de l OMG (Object Management Groupe) n a pas cessé d évoluer. Cependant la refonte majeure d UML est le standard UML2.0 [94, 86] adopté en Août 2OO3. UML2.0 représente un pas réel pour supporter la croissance des logiciels actuels, d une part par le support de la nouvelle vision de l OMG à savoir MDA (Model Driven Architecture) [102], et d autre part par le support des nouvelles technologies en particulier l approche par composants logiciels Une sémantique à base de méta-modélisation Depuis ses premières versions, le standard UML est caractérisé par sa sémantique définie par une approche de méta-modélisation. Un méta-modèle est la définition des constructions et des règles de création des modèles [80]. Le méta-modèle d UML définit donc la structure que doit respecter tout modèle UML. Le méta-modèle d UML1.x est défini dans un seul document, cependant le standard UML2.0 est maintenant divisé en deux documents : UML2.0 Infrastructure [86] et UML2.0 Superstructure [94]. UML Infrastructure décrit les constructions fondamentales utilisées pour la définition d UML2.0 sous forme d une librairie d infrastructure (InfrastructureLibrary). UML Superstructure réutilise et raffine la librairie d infrastructure et définit le méta-modèle proprement dit, vu par les utilisateurs. L approche de méta-modélisation adoptée par l OMG est connue comme une hiérarchie à quatre niveaux [86] (voir la Figure 2.1) : Niveau méta-méta-modèle (M3). M3 est le niveau méta-méta-modèle, il définit le langage de spécification du méta-modèle. Le MOF (Meta Object Facility) [87] est un exemple d un méta-méta-modèle. Niveau méta-modèle (M2). M2 est le niveau méta-modèle. Le méta-modèle d UML se situe à ce niveau et il est spécifié en utilisant le MOF, c.à.d. les concepts du méta-modèle d UML sont des instances des concepts de MOF. La Figure 2.1 montre deux méta-classes du méta-modèle UML : Class et Association. Niveau modèle (M1). M1 correspond au niveau des modèles UML des utilisateurs. Les concepts d un modèle UML sont des instances des concepts du méta-modèle UML. La Figure 2.1 montre un extrait de diagramme de classes pour une application bancaire contenant deux classes Account et Customer liées par une association UML. Les deux classes sont des instances du méta-classe Class et le lien est une instance du méta-classe Association du méta-modèle UML. Niveau objets (M0). M0 correspond au niveau des objets à l exécution. Il s agit ici de deux objets must et acc des instances des deux classes Customer et Account respectivement.

33 UML pour la modélisation de Ligne de Produit 33 Le méta-modèle d UML [94] est décrit en utilisant une partie de la notation d UML lui même. Les concepts suivants sont utilisés : Les classes d UML, pour décrire les méta-classes. Les attributs, pour décrire les propriétés attachées à une méta-classe. Les associations, pour décrire des liens entre les méta-classes. Les paquetages (packages), pour regrouper les méta-classses par domaine. Fig. 2.1: L architecture à quatre niveaux de l OMG Les contraintes OCL Le méta-modèle UML spécifie la structure que doit respecter tout modèle UML. En d autre terme, il spécifie des contraintes structurelles sur ces modèles. UML inclut le langage OCL (Object Constraints Language) [112] comme un moyen supplémentaire pour renforcer les contraintes structurelles des modèles UML en ajoutant des invariants sur les classes du méta-modèle d UML. Les contraintes OCL au niveau méta-modèle représentent donc des règles de conformité des modèles UML, elles sont exprimées au niveau méta-modèle et elles sont évaluées sur tous les éléments de modèles UML, instances des éléments du méta-modèle d UML. Les contraintes OCL sont étendues pour être utilisées aussi pour exprimer des propriétés sur un modèle UML (niveau M1). Elles sont utilisées pour spécifier des invariants, des pré et des post conditions sur les opérations et des gardes sur les transitions dans

Modélisation de Lignes de Produits en UML *

Modélisation de Lignes de Produits en UML * Modélisation de Lignes de Produits en UML * Tewfik ZIADI, Loïc HELOUET, Jean-Marc JEZEQUEL 2 IRISA, Campus de Beaulieu 35042 RennesCedex, France Tewfik.Ziadi@irisa.fr Loic.Helouet@irisa.fr, Jezequel@irisa.fr

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Cours STIM P8 TD 1 Génie Logiciel

Cours STIM P8 TD 1 Génie Logiciel Cours STIM P8 TD 1 Génie Logiciel Compléments sur UML Intervenant : Anil CASSAM CHENAI Date : 02/02/2012 Objectifs du complément Ce complément sera approfondi en parallèle de plusieurs TD/Cours. Rappels

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

UML est-il soluble dans les méthodes agiles?

UML est-il soluble dans les méthodes agiles? Pascal ROQUES Valtech Training UML est-il soluble dans les méthodes agiles? octobre 07 Résumé On entend beaucoup parler actuellement de deux approches ayant l'air fondamentalement opposées : l'approche

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

Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.)

Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.) Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.) Bernard ESPINASSE Professeur à l'université d'aix-marseille Plan Introduction Les modèles d'omt Le Modèle Objet (MO) Le Modèle

Plus en détail

Rational Unified Process

Rational Unified Process Rational Unified Process For Christiane DAVOINE-GUHUR Société GICAB - Vannes Christiane.Davoine@CA-GICAB.fr Table des Matières 1 INTRODUCTION... 1 2 LES COMPOSANTS ET LES GRANDS PRINCIPES DU PROCESSUS...

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

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

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

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

Diagrammes de Package, de déploiement et de composants UML

Diagrammes de Package, de déploiement et de composants UML labsticc.univ-brest.fr/pages_perso/babau/ Diagrammes de Package, de déploiement et de composants UML Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC 2 1 Plan Description

Plus en détail

Une architecture pour les transformations de modèles et la restructuration de modèles uml

Une architecture pour les transformations de modèles et la restructuration de modèles uml N d ordre : 3088 THÈSE présentée devant l Université de Rennes 1 pour obtenir le grade de Docteur de l Université de Rennes 1 Mention Informatique par Damien Pollet Équipe d accueil : Triskell Irisa École

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

CC30 Certificat de compétence Conception, développement et animation de sites Web

CC30 Certificat de compétence Conception, développement et animation de sites Web CC30 Certificat de compétence Conception, développement et animation de sites Web UE RSX050 Bases de l informatique Séance 2 UERSX050 Bases de l informatique séance 2-30/10/2009 1 Table des matières Séance

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

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

Introduction aux concepts d ez Publish

Introduction aux concepts d ez Publish Introduction aux concepts d ez Publish Tutoriel rédigé par Bergfrid Skaara. Traduit de l Anglais par Benjamin Lemoine Mercredi 30 Janvier 2008 Sommaire Concepts d ez Publish... 3 Système de Gestion de

Plus en détail

Le Guide Pratique des Processus Métiers

Le Guide Pratique des Processus Métiers Guides Pratiques Objecteering Le Guide Pratique des Processus Métiers Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam 21 avenue Victor Hugo 75016

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

Master MIDO 2ème année. Spécification et Conception en UML Maude Manouvrier

Master MIDO 2ème année. Spécification et Conception en UML Maude Manouvrier Master MIDO 2ème année Spécification et Conception en UML Maude Manouvrier Spécifications initiales Analyse Conception du système Conception des classes Bibliographie Modélisation et conception orientées

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

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

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

LECTURE CRITIQUE. Accompagner les enseignants et formateurs dans la conception d une formation en ligne

LECTURE CRITIQUE. Accompagner les enseignants et formateurs dans la conception d une formation en ligne LECTURE CRITIQUE Accompagner les enseignants et formateurs dans la conception d une formation en ligne Christian Ernst E-learning. Conception et mise en œuvre d un enseignement en ligne Guide pratique

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

É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

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml OCL Object Constraint Language Le langage de contraintes d'uml Plan 1. Introduction 2. Les principaux concepts d'ocl Object Constraint Language 1 Object Constraint Language 2 Exemple: une application bancaire

Plus en détail

Introduction au Génie Logiciel

Introduction au Génie Logiciel Introduction au Génie Logiciel Lydie du Bousquet Lydie.du-bousquet@imag.fr En collaboration avec J.-M. Favre, I. Parissis, Ph. Lalanda Qu est-ce que le logiciel? programme, ensemble d instructions Caractéristiques

Plus en détail

Environnement logiciel basé sur les modèles pour la conception collaborative de produit

Environnement logiciel basé sur les modèles pour la conception collaborative de produit Environnement logiciel basé sur les modèles pour la conception collaborative de produit Mehdi Iraqi-Houssaini Laboratoire LSIS-INSM 2 cours des Arts et Métiers 13100 Aix-en-Provence, France RÉSUMÉ. Le

Plus en détail

Retour d expériences avec UML

Retour d expériences avec UML Retour d expériences avec UML UML pour les systèmes biologiques Marie-Hélène Moirez-Charron, UMR AGIR, équipe MAGE INRA Toulouse mailto:marie-helene.charron@toulouse.inra.fr PLAN Contexte de travail UML,

Plus en détail

M1 : Ingénierie du Logiciel

M1 : Ingénierie du Logiciel M1 : Ingénierie du Logiciel UNIVERSITE PIERRE & MARIE CURIE (PARIS VI) Examen Réparti 2eme partie 16 Mai 2013 (2 heures avec documents : tous SAUF ANNALES CORRIGEES). Barème indicatif sur 20,5 points (max

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

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

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

Etat de l art sur le développement logiciel dirigé par les modèles.

Etat de l art sur le développement logiciel dirigé par les modèles. Etat de l art sur le développement logiciel dirigé par les modèles. Samba Diaw* Rédouane Lbath* Bernard Coulette* * Université de Toulouse Laboratoire IRIT Université de Toulouse 2-Le Mirail 5, allées

Plus en détail

Table des matières Sources

Table des matières Sources Table des matières Modélisation objet avec UML... 2 Introduction... 2 Modèle de système informatique :... 2 Pourquoi UML pour la modélisation Objet?... 3 Représentation dynamique du système... 5 Le diagramme

Plus en détail

MDA (Model Driven Architecture) principes et états de l art.

MDA (Model Driven Architecture) principes et états de l art. CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE D ENSEIGNEMENT DE LYON Examen probatoire du diplôme d ingénieur C.N.A.M. en INFORMATIQUE option ingénierie et intégration informatique : système de conduite

Plus en détail

Description de la formation

Description de la formation Description de la formation Modalités Ce parcours de formation est un parcours en alternance, d une durée de 2ans, à raison d une semaine de formation par mois, soit 770 heures et de trois semaines de

Plus en détail

Retour d expérience. Le rôle du Business Analyst chez Orange. Nadia Magarino & Christophe Dufour 29 avril 2015

Retour d expérience. Le rôle du Business Analyst chez Orange. Nadia Magarino & Christophe Dufour 29 avril 2015 Retour d expérience Le rôle du Business Analyst chez Orange Nadia Magarino & Christophe Dufour 29 avril 2015 Plus de 161 000 salariés à votre service mobile entreprises internet et fixe Plus de 161 000

Plus en détail

Formation des enseignants. Le tensiomètre. Objet technique modélisable issu de l environnement des élèves

Formation des enseignants. Le tensiomètre. Objet technique modélisable issu de l environnement des élèves Le tensiomètre Objet technique modélisable issu de l environnement des élèves Un peu d'histoire C'est en 1628 que W. Harvey découvrit la circulation du sang. C'est pourtant seulement en 1730 que la pression

Plus en détail

Extensions à la formation. Laurent Pérochon, 28-30 avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan

Extensions à la formation. Laurent Pérochon, 28-30 avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan Extensions à la formation Diagramme de timing FinEpreuve SautBarrière CourseAvantBarrière SautMur {>2 et 10 et 2 et 10 et

Plus en détail

Méthodes de Conception Orientés Objet (MCOO) SOMMAIRE

Méthodes de Conception Orientés Objet (MCOO) SOMMAIRE SOMMAIRE Sommaire... 1 INTRODUCTION... 3 I. Particularités d UML... 4 I.1 UML est une norme... 5 I.2 UML est un langage de modélisation objet... 5 I.3 UML est un support de communication... 6 I.4 UML est

Plus en détail

Analyse et Conception objet du logiciel Analyse et conception objet du logiciel : Méthode de conception objet et notation UML.

Analyse et Conception objet du logiciel Analyse et conception objet du logiciel : Méthode de conception objet et notation UML. Analyse et conception objet du logiciel : Méthode de conception objet et notation UML Rémy Courdier Email : Remy.Courdier@univ-reunion.fr Rémy Courdier V2.1 1 Plan du cours Introduction au Génie Logiciel

Plus en détail

1. Plan. 1. Plan...1 2. Information essentielles...2

1. Plan. 1. Plan...1 2. Information essentielles...2 Frédéric Fondement Curriculum Vitæ détaillé 1. Plan 1. Plan...1 2. Information essentielles...2 2.1. Résumé...2 2.2. Informations essentielles...2 2.3. Titres universitaires...4 2.4. Parcours professionnel...6

Plus en détail

Les Lignes de Produits Logiciels (Software Product Lines) Tewfik Ziadi UPMC/LIP6 tewfik.ziadi@lip6.fr

Les Lignes de Produits Logiciels (Software Product Lines) Tewfik Ziadi UPMC/LIP6 tewfik.ziadi@lip6.fr Les Lignes de Produits Logiciels (Software Product Lines) Tewfik Ziadi UPMC/LIP6 tewfik.ziadi@lip6.fr L exemple de Notepad Nous avons le code source d une application implémentant l éditeur «Notepad».

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

Conception fonctionnelle de services d entreprise fondée sur l alignement entre cœur de métier et système d information

Conception fonctionnelle de services d entreprise fondée sur l alignement entre cœur de métier et système d information Conception fonctionnelle de services d entreprise fondée sur l alignement entre cœur de métier et système d information Jacques Simonin* Philippe Picouet* Jean-Marc Jézéquel** * Telecom Bretagne/Institut

Plus en détail

Sommaire. Conduite de projet Méthode d analyse et de conception. Processus unifié. Objectifs d un processus de développement

Sommaire. Conduite de projet Méthode d analyse et de conception. Processus unifié. Objectifs d un processus de développement Conduite de projet Méthode d analyse et de conception Processus unifié G. Picard SMA/G2I/ENS Mines Saint-Etienne gauthier.picard@emse.fr Octobre 2009 Sommaire!!Objectifs d un processus d ingénierie logicielle!

Plus en détail

Besoins utilisateurs. Quelle démarche pour passer des besoins au code? Code. chapitre1 UNIFIED MODELING LANGUAGE. package LogiqueMetier.

Besoins utilisateurs. Quelle démarche pour passer des besoins au code? Code. chapitre1 UNIFIED MODELING LANGUAGE. package LogiqueMetier. chapitre1 Besoins utilisateurs Quelle démarche pour passer des besoins au code?? UNIFIED MODELING LANGUAGE package LogiqueMetier.Gestion; import LogiqueMetier.Catalogue.Livre; import java.util.*;public

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

Conception. Génie Logiciel. Renaud Marlet. LaBRI / INRIA http://www.labri.fr/~marlet. (d'après A.-M. Hugues) màj 17/04/2007

Conception. Génie Logiciel. Renaud Marlet. LaBRI / INRIA http://www.labri.fr/~marlet. (d'après A.-M. Hugues) màj 17/04/2007 1 Génie Logiciel (d'après A.-M. Hugues) Conception Renaud Marlet LaBRI / INRIA http://www.labri.fr/~marlet màj 17/04/2007 2 Position dans le cycle de vie Contexte : étant donnée une spécification (ce que

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

Management des processus opérationnels

Management des processus opérationnels Ecole Nationale Supérieure de Management Master Management des organisations Management des processus opérationnels Dr TOUMI Djamila Cours n 2: la modélisation des processus opérationnels INTRODUCTION

Plus en détail

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) Modularité Extensions Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) généricité modules de première classe : peuvent être

Plus en détail

Sujet de thèse CIFRE RESULIS / LGI2P

Sujet de thèse CIFRE RESULIS / LGI2P Ecole des Mines d Alès Laboratoire de Génie Informatique et d Ingénierie de Production LGI2P Nîmes Sujet de thèse CIFRE RESULIS / LGI2P Titre Domaine De l ingénierie des besoins à l ingénierie des exigences

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

Chapitre 9. Assistance à l évolution du logiciel dirigée par la qualité

Chapitre 9. Assistance à l évolution du logiciel dirigée par la qualité Chapitre 9 Assistance à l évolution du logiciel dirigée par la qualité L évolution de l architecture d un logiciel à base de composants peut avoir des conséquences nuisibles sur ses attributs qualité.

Plus en détail

Introduction au génie logiciel

Introduction au génie logiciel Introduction au génie logiciel Guillaume Laurent ENSMM 2007 G. Laurent (ENSMM) Introduction au génie logiciel 2007 1 / 36 Plan du cours 1 Problématique du génie logiciel 2 Méthodes de développement logiciel

Plus en détail

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée

Plus en détail

UML. Diagrammes de classes (suite) Delphine Longuet. delphine.longuet@lri.fr

UML. Diagrammes de classes (suite) Delphine Longuet. delphine.longuet@lri.fr Polytech Paris-Sud Formation initiale 3 e année Spécialité Informatique Année 2014-2015 UML Diagrammes de classes (suite) Delphine Longuet delphine.longuet@lri.fr Opérations Opérations Service qui peut

Plus en détail

Synergies entre Artisan Studio et outils PLM

Synergies entre Artisan Studio et outils PLM SysML France 13 Novembre 2012 William Boyer-Vidal Regional Sales Manager Southern Europe Synergies entre Artisan Studio et outils PLM 2012 2012 Atego. Atego. 1 Challenges & Tendances Complexité des produits

Plus en détail

Introduction du test dans la modélisation par aspects

Introduction du test dans la modélisation par aspects Introduction du test dans la modélisation par aspects Jacques Klein 1 Benoit Baudry 1 Olivier Barais 1 Andrew Jackson 2 1 IRISA/INRIA Rennes Université de Rennes 1 Campus Universitaire de Beaulieu F-35042

Plus en détail

Génie logiciel (Un aperçu)

Génie logiciel (Un aperçu) (Un aperçu) (sommerville 2010) Laurent Pérochon INRA URH 63122 St Genès Champanelle Laurent.perochon@clermont.inra.fr Ensemble d activités conduisant à la production d un logiciel Sur un échantillon de

Plus en détail

Catalogue de Pattern pour le CSCW

Catalogue de Pattern pour le CSCW Catalogue de Pattern pour le CSCW La création d application dans le cadre du CSCW (Computer Supported Cooperative Work), ou TCAO en français (Travail collaboratif assisté par ordinateur) a donné lieu à

Plus en détail

PG208, Projet n 3 : Serveur HTTP évolué

PG208, Projet n 3 : Serveur HTTP évolué PG208, Projet n 3 : Serveur HTTP évolué Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L objectif

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

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

Solutions industrielles pour l ingénierie des systèmes complexes

Solutions industrielles pour l ingénierie des systèmes complexes Solutions industrielles pour l ingénierie des systèmes complexes Atego Seminar Paris, 03.04.2014 Copyright Copyright 2014 2014 Atego. Atego. 1 Solutions industrielles pour l ingénierie des systèmes complexes

Plus en détail

La plate-forme DIMA. Master 1 IMA COLI23 - Université de La Rochelle

La plate-forme DIMA. Master 1 IMA COLI23 - Université de La Rochelle La plate-forme DIMA Master 1 IMA COLI23 - Université de La Rochelle DIMA Bref aperçu Qu'est-ce? Acronyme de «Développement et Implémentation de Systèmes Multi-Agents» Initié par Zahia Guessoum et Jean-Pierre

Plus en détail

Architecture Orientée Objet Pour l Ingénierie des SIP application à l Entreprise SAFCER

Architecture Orientée Objet Pour l Ingénierie des SIP application à l Entreprise SAFCER Architecture Orientée Objet Pour l Ingénierie des SIP application à l Entreprise SAFCER Dounia Mansouri, Mohammed Mostefai, Yasmina Bella Laboratoire d Automatique de Sétif E-mail: mostefai@univ-setif.dz

Plus en détail

Université Paris XI Faculté des sciences d Orsay THÈSE. présentée pour l obtention du grade de Docteur en Sciences de l Université Paris-Sud XI Orsay

Université Paris XI Faculté des sciences d Orsay THÈSE. présentée pour l obtention du grade de Docteur en Sciences de l Université Paris-Sud XI Orsay N d ordre : 8563 Université Paris XI Faculté des sciences d Orsay THÈSE présentée pour l obtention du grade de Docteur en Sciences de l Université Paris-Sud XI Orsay Par Cédric JACQUIOT Spécialité : INFORMATIQUE

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

MEMOIRE. Présenté à. L École Nationale d Ingénieurs de Sfax. en vue de l obtention du MASTERE

MEMOIRE. Présenté à. L École Nationale d Ingénieurs de Sfax. en vue de l obtention du MASTERE République Tunisienne Ministère de l Enseignement Supérieur, De la Recherche Scientifique et de la Technologie Université de Sfax École Nationale d Ingénieurs de Sfax Ecole Doctorale Sciences et Technologies

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

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

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

ÉCOLE DE TECHNOLOGIE SUPÉRIEURE UNIVERSITÉ DU QUÉBEC THÈSE PRÉSENTÉE À L ÉCOLE DE TECHNOLOGIE SUPÉRIEURE

ÉCOLE DE TECHNOLOGIE SUPÉRIEURE UNIVERSITÉ DU QUÉBEC THÈSE PRÉSENTÉE À L ÉCOLE DE TECHNOLOGIE SUPÉRIEURE ÉCOLE DE TECHNOLOGIE SUPÉRIEURE UNIVERSITÉ DU QUÉBEC THÈSE PRÉSENTÉE À L ÉCOLE DE TECHNOLOGIE SUPÉRIEURE COMME EXIGENCE PARTIELLE À L OBTENTION DU DOCTORAT EN GÉNIE Ph.D. PAR Samir KHERRAF MÉTHODOLOGIE

Plus en détail