Cours de Génie Logiciel

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

Download "Cours de Génie Logiciel"

Transcription

1 Cours de Génie Logiciel Sciences-U Lyon MDE Model Driven Engineering Pierre PARREND 1 Mai 2005

2 Sommaire MDE : principe MDE et le génie logiciel MDE et UML MDE et les Design Patterns Processus MDE Pierre PARREND 2 Mai 2005

3 MDE : principe Conception Orientée Modèles Spécifications MDA (Model Driven Architecture) OMG Object Management Group Technologies associées UML Unified Modeling Language MOF Meta Objet Facilty XMI XML Metadata Interchange CWM - Common Warehouse Metamodel Pierre PARREND 3 Mai 2005

4 MDE : principe Principe Séparation Description de l'application Description du contexte technique Architecture Plate-forme Réunion des modèles et/ou transformation Génération de code Pierre PARREND 4 Mai 2005

5 MDE : principe Principe Pierre PARREND 5 Mai 2005

6 Sommaire MDE : principe MDE et le génie logiciel MDE et UML MDE et les Design Patterns Processus MDE Pierre PARREND 6 Mai 2005

7 MDE et le génie logiciel Contrôle de la conception Niveau code difficile Modèles Facile Visibilité Validation formelle Possible sur les modèles Ex : langage OCL (Object constraint language) Pierre PARREND 7 Mai 2005

8 MDE et le génie logiciel Evolution Visibilité de l'application Visibilité des modifications Modèles génériques réutilisables Pierre PARREND 8 Mai 2005

9 MDE et le génie logiciel Cycle de vie Prototypage rapide Concentration sur Conception globale Conception unitaire Développement minimal Evolution Pierre PARREND 9 Mai 2005

10 MDE et le génie logiciel Cycle de vie Analyse Recette Conception globale Tests d'intégration Conception unitaire Tests unitaires Développement Pierre PARREND 10 Mai 2005

11 MDE et le génie logiciel Modélisation Diagrammes de classes Abstraits Fonctionnalités, systèmes, etc. Puis concrets classes du programme final Intégration des design patterns MDE : modèles spécifiques DP : modèles génériques complémentarité Pierre PARREND 11 Mai 2005

12 MDE et le génie logiciel Mort des logiciels Lors de l'évolution Ajouts de fonctionnalités Correction de bugs Trop de rustines Application Peu cohérente Peu compréhensibles Evolution difficile Pierre PARREND 12 Mai 2005

13 MDE et le génie logiciel Mort des logiciels Modèles Visibilité bonne Donc compréhension aisée MDE moyen d'éviter la mort des logiciels? Pierre PARREND 13 Mai 2005

14 MDE et le génie logiciel Approches du génie logiciel Approche Fonctionnelle Approche Objet Approche Modèles Pierre PARREND 14 Mai 2005

15 Sommaire MDE : principe MDE et le génie logiciel MDE et UML MDE et les Design Patterns Processus MDE Pierre PARREND 15 Mai 2005

16 MDE et UML Classes et Modèles Pierre PARREND 16 Mai 2005

17 MDE et UML UML Modélisation Représentation des classes Et autres Possibilité de génération de code Statique Pierre PARREND 17 Mai 2005

18 MDE et UML MDE Méta-modélisation Représentation de l'application A différents niveaux d'abstraction : système, fonction, classe Dissociation des aspects indépendants Interaction utilisateur-système, architecture, plate-forme, etc Possibilité de Manipulation de modèles Transformation de modèles Fusion de modèles Et géneration de code Pierre PARREND 18 Mai 2005

19 MDE et UML Le niveau Méta Méta = sur, à propos de, autour Méta-modèle : autour des modèles Méta-modélisation = modélisation + manipulation des modèles Pierre PARREND 19 Mai 2005

20 MDE et UML La méta-programmation Manipulation du programme Au niveau code Interface de manipulation Ajout de méthodes, d'attributs Première étape avant la méta-modélisation Pierre PARREND 20 Mai 2005

21 Sommaire MDE : principe MDE et le génie logiciel MDE et UML MDE et les Design Patterns Processus MDE Pierre PARREND 21 Mai 2005

22 MDE et les designs Patterns Intégration des Design Patterns dans MDE Modèles pré-existants Déjà validés Facilitent la modélisation Manipulation simple des modèles Réutilisation modifications Pierre PARREND 22 Mai 2005

23 Sommaire MDE : principe MDE et le génie logiciel MDE et UML MDE et les Design Patterns Processus MDE Pierre PARREND 23 Mai 2005

24 Processus MDE Principe Pierre PARREND 24 Mai 2005

25 Processus MDE Modification des modèles Grâce à leur description précise Langage de domaine Formalisé Transformation Pierre PARREND 25 Mai 2005

26 Processus MDE Langages de modèles Architecture en trois niveaux Pierre PARREND 26 Mai 2005

27 Processus MDE Chaine de transformations Pierre PARREND 27 Mai 2005

28 Processus MDE Chaine de transformation Les outils Pierre PARREND 28 Mai 2005

29 Processus MDE Support L'usine logicielle = IDE (Environnement de développement intégré)+ Patron logiciel = Outils de manipulations + Schéma logiciel = Langage de descriptions de modèles Domaine, Services, Technologies, Données Niveaux Concepts, logiques, implémentation + Transformations entre ces langages Pierre PARREND 29 Mai 2005

30 Processus MDE Support Pierre PARREND 30 Mai 2005

31 Processus MDE Processus complet Pierre PARREND 31 Mai 2005

32 MDE Bilan Extension des outils de modélisation Approche différente de conception Pierre PARREND 32 Mai 2005