Ingénierie Dirigée par les Modèles . - 1 - Yousra Hlaoui Bendaly Ing Ingé énier

Ingénierie Dirigée par les Modèles . - 1 - Yousra Hlaoui Bendaly Ing Ingé énierie Dirig nierie Dirigé ée par les Mod e par les Modè èles les Cours du Mast Cours du Mastè ère de recherche en Informatique de l re de recherche en Informatique de l’ ’ESSTT ESSTT Ingénierie Dirigée par les Modèles . - 2 - Yousra Hlaoui Bendaly Références du cours • Cours de Hanen Abdallah « l’ingénierie de modèles logiciels»: • OMG, « MDA Guide Version 1.0.1 ». http://www.omg.org/mda • OCL: «Models Manipulation», Christian Hein, Fraunhofer FOKUS www.eclipse.org/gmt/omcw/resources/chapter01/downloads/OCL2ShortLe cture.Fraunhofer.ppt Ingénierie Dirigée par les Modèles . - 3 - Yousra Hlaoui Bendaly Plan I. Introduction • Langages/méthodes de programmation : une évolution • Méthodes de GL: une évolution • Crise du logiciel: Intégration et interopérabilité II. Introduction au MDSD • Définition, avantages • Extensions UML et OCL • Vision de l’OMG III. Introduction à MDA: ([1]) • Principe du MDA • Outils du MDA IV. La modélisation dans MDA • Ce qu’est un modèle ? • L’intégration, La transformation, La génération de code, Le stockage et l’accès • PIM • PSM • un exemple de PM (CCM) V. Les transformations de modèles : • Taxonomie des transformations de modèles • Types de transformations. • ATL, et Le standard QVT. • Exemples de transformation. VI. Outils de support pour MDA Ingénierie Dirigée par les Modèles . - 4 - Yousra Hlaoui Bendaly I1. Langages/méthodes de programmation • Langages Procéduraux et Fonctionnels: Fortran, Cobol, C • Langages orienté-objet: Smalltalk, C++, Java • Evolution guidée par l’amélioration de la productivité, réutilisabilité, facilité de maintenance, évolution des logiciels • Langages (architectures) orienté-composant: CCM, DCOM, EJB • Evolution des réseaux (Internet) et l’augmentation de la complexité des logiciels • Un composant: • est un ensemble d’objets, cohérent et autonome • peut être distribué sur un réseau • peut appeler d’autres composants sans savoir leur emplacement physique • Langages orienté-webservice: UDDI (annuaire), WSDL (description), SOAP (communication) • Expansion d’usage de XML (langage de description de données), besoin de standardiser la communication inter composant • Standardisation de composant par l’OMG: la norme Corba Ingénierie Dirigée par les Modèles . - 5 - Yousra Hlaoui Bendaly Méthodes de GL • Définition : Une méthode est une manière de dire, de faire, d'enseigner une chose suivant certains principes et avec un certain ordre. Petit Larousse • Merise et OMT sont des méthodes. • Méthode = Notation + Démarche + Outils. • Initialement l'OMG désirait une méthode "unifiée". • De façon réaliste il n'a été possible de se mettre d'accord dans un premier temps que sur une notation "unifiée" (UML). • L'une des raisons est qu'il n'existe pas une seule méthode, mais une infinité de méthodes. • Après avoir standardisé la notation, l'OMG s'attaque maintenant au problème de la standardisation des méthodes. • l'OMG s'appuie sur des méthodes industrielles comme le RUP (Rational Unified Process) pour définir le noyau de méthode générique UPM (Unified Process Model). Ingénierie Dirigée par les Modèles . - 6 - Yousra Hlaoui Bendaly Les grandes classes de méthodes en G.L. • Les méthodes d'organisation stratégique. • Comment élaborer le schéma directeur ? • Orientations à suivre. • Moyens à mettre en œuvre. • Les méthodes de développement. • Guider les développeurs de la phase d'analyse à la phase de maintenance. • Les méthodes de conduite de projet. • Aider le chef de projet informatique à planifier son projet, à évaluer les charges et à en suivre l'avancement. • Les méthodes d'assurance et de contrôle qualité. • Mettre en place des procédures pour améliorer la qualité des produits développés. Ingénierie Dirigée par les Modèles . - 7 - Yousra Hlaoui Bendaly Méthode de développement • Elle doit permettre de : • Construire des systèmes opérationnels • Organiser le travail • Gérer le cycle de vie complet • Gérer les risques • Obtenir de manière répétitive des produits de qualité constante • Définitions de l'IEEE : • Le cycle de développement prend en compte la partie amont (pré- étude) et s'achève lorsque le logiciel est livré. • Le cycle de vie débute avec la spécification et s'achève sur les phases d'exploitation et de maintenance. Ingénierie Dirigée par les Modèles . - 8 - Yousra Hlaoui Bendaly Définitions • Une notation permet de représenter de façon uniforme l'ensemble des artefacts logiciels produits ou utilisés pendant le cycle de développement. • Artefact = tout élément d'information utilisé ou généré pendant la totalité du cycle de développement d'un système logiciel. • Exemple: morceau de code, commentaire, spécification statique/comportementale d'une classe, jeu/programme de test, interview d'un utilisateur potentiel du système, description du contexte d'installation matériel, diagramme d'une architecture globale, prototype, rapport de réalisation, modèle de dialogue, manuel utilisateur, etc. • Une méthode c'est un processus outillé avec un ensemble cohérent de notations. Ingénierie Dirigée par les Modèles . - 9 - Yousra Hlaoui Bendaly Plan du cours : Partie théorique I I. Introduction • Langages/méthodes de programmation : une évolution • Méthodes de GL: • une évolution • Crise du logiciel: Intégration et interopérabilité II. Introduction au MDSD • Définition, avantages • Extensions UML et OCL • Vision de l’OMG III. Introduction à MDA • Principe du MDA • Outils du MDA IV. La modélisation dans MDA • Ce qu’est un modèle ? • L’intégration, La transformation, La génération de code, Le stockage et l’accès • PIM • PSM • un exemple de PM (CCM) V. Les transformations de modèles • Taxonomie des transformations de modèles • Types de transformations. • Le standard QVT. • Exemples de transformation. VI. Outils de support pour MDA Ingénierie Dirigée par les Modèles . - 10 - Yousra Hlaoui Bendaly Crise du logiciel Ingénierie Dirigée par les Modèles . - 11 - Yousra Hlaoui Bendaly Les systèmes deviennent plus complexes • Volume croissant • Des données • Du code • Évolutivité croissante • De la partie métier (mondialisation, concentrations, restructurations, …) • De la partie plate-forme d'exécution • Hétérogénéité croissante • Des langages et des paradigmes • Des supports de données et des protocoles d'accès • Des systèmes et des plates-formes • Des technologies • Le rythme d'arrivée des nouvelles technologies s'accélère sans cesse • Les vielles technologies persistent Ingénierie Dirigée par les Modèles . - 12 - Yousra Hlaoui Bendaly Deux défis pour le développement de logiciels: • Gérer la complexité: • Volume croissant de code et des données: • Windows XP > 40 million lignes de code!! • Un seul programmeur ne peut pas gérer une telle quantité de code tout seul • Evolution continue des logiques des affaires et des plate-formes • Hétérogénéité croissante: • Nouveaux langages et paradigmes • Nouvelles technologies et plate-formes • Plusieurs personnes incluses dans le processus de développement d’un logiciel (équipes distribuées, pas tous des experts en programmation, clients, …) • Gérer les changements: • Quand un nouveau middleware est produits (ex: EJB ou Corba), on ne veut pas changer complètement les logiciels des applications Ingénierie Dirigée par les Modèles . - 13 - Yousra Hlaoui Bendaly Que faire ? • (… sachant que de ne rien faire est une option de plus en plus coûteuse et dangereuse) • (… sachant que la complexité a atteint un tel niveau qu'il est hors de portée d'un seul individu d'avoir une vision globale sur un système en évolution) • Accélérer encore la course aux nouvelles technologies dans l'espoir qu'une nouvelle solution magique se présente ? Fuite en avant ? • Les technologies doivent être évaluées essentiellement pour leur capacité • d'intégration • de maîtrise de la complexité Ingénierie Dirigée par les Modèles . - 14 - Yousra Hlaoui Bendaly Des organisations de complexités croissantes Technologie procédurale Technologie des composants Technologie des objets Objets, Classes, Méthodes Procédures Beans, Components, Containers, Packages, Interfaces, Use cases, Scenarii,Services, Frameworks, Applications, Patterns, Aspects, etc. 1980 1995 Ingénierie Dirigée par les Modèles . - 15 - Yousra Hlaoui Bendaly Les limites des objets et des composants • Les patrons de conception ne sont pas des objets • Les aspects ne sont pas des objets • Les applications ne sont pas des objets • Les services ne sont pas des objets • Les objets ont échoué dans prise en compte de la concurrence • Les objets ont échoué dans la recherche de simplicité • Les objets ont échoué dans la recherche de l'extensibilité • Les objets ont échoué dans la recherche de l'intégration • Les objets ont échoué dans leur tentative d'intégration des SGBD • Les objets ont raté le rendez-vous du Web (URI, etc) • La technologie des composants n'est qu'une fuite en avant et apporte peu d'espoir pour une sortie de crise. Elle accentue la complexité des solutions. Les logiciels à composants seront le «legacy» de demain. Ingénierie Dirigée par les Modèles . - 16 - Yousra Hlaoui Bendaly La cote des paradigmes • objets • composants • processus • règles • services • événements, transactions, etc. • Par exemple : • Un modèle de services est mieux adapté à la techno Web actuelle (WebServices, SOAP, WSDL, WSFL, etc.) • uploads/Ingenierie_Lourd/ coursidm-2012.pdf

  • 23
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager