Professional Documents
Culture Documents
-1-
Rfrences du cours
Cours de Hanen Abdallah lingnierie de modles 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
-2-
Plan
V. Les transformations de modles : I. Introduction ([4][13]) Langages/mthodes de Taxonomie des transformations de programmation : une volution modles Mthodes de GL: une volution Types de transformations. [5] ATL, et Le standard QVT. Crise du logiciel: Intgration et interoprabilit Exemples de transformation. II. Introduction au MDSD VI. Outils de support pour MDA Dfinition, avantages Extensions UML et OCL Vision de lOMG III. Introduction MDA: ([1]) Principe du MDA Outils du MDA [7] IV. La modlisation dans MDA [8]: Ce quest un modle ? Lintgration, La transformation, La gnration de code, Le stockage et laccs PIM PSM . un exemple de PM (CCM) -3Yousra Hlaoui Bendaly
Langages Procduraux et Fonctionnels: Fortran, Cobol, C Langages orient-objet: Smalltalk, C++, Java Evolution guide par lamlioration de la productivit, rutilisabilit, facilit de maintenance, volution des logiciels Langages (architectures) orient-composant: CCM, DCOM, EJB Evolution des rseaux (Internet) et laugmentation de la complexit des logiciels Un composant: est un ensemble dobjets, cohrent et autonome peut tre distribu sur un rseau peut appeler dautres composants sans savoir leur emplacement physique Langages orient-webservice: UDDI (annuaire), WSDL (description), SOAP (communication) Expansion dusage de XML (langage de description de donnes), besoin de standardiser la communication inter composant Standardisation de composant par lOMG: la norme Corba
.
-4-
Mthodes de GL
Dfinition :
Une mthode est une manire de dire, de faire, d'enseigner une chose suivant certains principes et avec un certain ordre.
Petit Larousse
Merise et OMT sont des mthodes. Mthode = Notation + Dmarche + Outils. Initialement l'OMG dsirait une mthode "unifie". De faon raliste il n'a t possible de se mettre d'accord dans
un premier temps que sur une notation "unifie" (UML).
L'une des raisons est qu'il n'existe pas une seule mthode, mais une infinit de mthodes.
-5-
Comment laborer le schma directeur ? Orientations suivre. Moyens mettre en uvre. Guider les dveloppeurs de la phase d'analyse la phase de maintenance. Aider le chef de projet informatique planifier son projet, valuer les charges et en suivre l'avancement. Mettre en place des procdures pour amliorer la qualit des produits dvelopps.
-6-
Mthode de dveloppement
Construire des systmes oprationnels Organiser le travail Grer le cycle de vie complet Grer les risques Obtenir de manire rptitive des produits de qualit constante Le cycle de dveloppement prend en compte la partie amont (pr
tude) et s'achve lorsque le logiciel est livr. Le cycle de vie dbute avec la spcification et s'achve sur les phases d'exploitation et de maintenance.
Dfinitions de l'IEEE :
-7-
Dfinitions
statique/comportementale d'une classe, jeu/programme de test, interview d'un utilisateur potentiel du systme, description du contexte d'installation matriel, diagramme d'une architecture globale, prototype, rapport de ralisation, modle de dialogue, manuel utilisateur, etc.
-8-
une volution
Crise du logiciel: Intgration et interoprabilit Dfinition, avantages Extensions UML et OCL Vision de lOMG Principe du MDA Outils du MDA Ce quest un modle ? Lintgration, La transformation, La gnration de code, Le stockage et laccs PIM PSM un exemple de PM (CCM)
.
Taxonomie des transformations de modles Types de transformations. Le standard QVT. Exemples de transformation.
-9-
Crise du logiciel
Yousra Hlaoui Bendaly
.
- 10 -
Volume croissant
Des donnes Du code De la partie mtier (mondialisation, concentrations, restructurations, ) De la partie plate-forme d'excution Des langages et des paradigmes Des supports de donnes et des protocoles d'accs Des systmes et des plates-formes Des technologies
volutivit croissante
Htrognit croissante
Le rythme d'arrive des nouvelles technologies s'acclre sans cesse Les vielles technologies persistent
- 11 -
Grer la complexit:
Windows XP > 40 million lignes de code!! Un seul programmeur ne peut pas grer une telle quantit de code tout
seul
Evolution continue des logiques des affaires et des plate-formes Htrognit croissante:
Nouveaux langages et paradigmes Nouvelles technologies et plate-formes Plusieurs personnes incluses dans le processus de dveloppement dun
logiciel (quipes distribues, pas tous des experts en programmation, clients, )
Quand un nouveau middleware est produits (ex: EJB ou Corba), on ne veut pas changer compltement les logiciels des applications
- 12 -
Que faire ?
dans l'espoir qu'une nouvelle solution magique se prsente ? Fuite en avant ? Les technologies doivent tre values essentiellement pour leur capacit
- 13 -
1980
Technologie procdurale Technologie des objets
1995
Technologie des composants
Beans, Components, Containers, Packages, Interfaces, Use cases, Scenarii,Services, Frameworks, Applications, Patterns, Aspects, etc.
Procdures
- 14 -
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'intgration Les objets ont chou dans leur tentative d'intgration 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.
- 15 -
Par exemple :
Un modle de services est mieux adapt la techno Web actuelle (WebServices, SOAP, WSDL, WSFL, etc.) Un modle de services s'accommode beaucoup mieux qu'un modle d'objets ou de composants aux extensions nonfonctionnelles Un modle de services s'interface beaucoup plus facilement avec un modle de workflow qu'un modle d'objets
La technologie des modles permet de subsumer la plupart de ces paradigmes et bien d'autres.
- 16 -
La proportion de code automatiquement gnr par rapport au code directement produit la main tend crotre trs rapidement. certains gards Java tient dj la place du langage d'assemblage et UML du langage de haut niveau.
Interpretative approaches
MDA
Dist. OS + Middleware
compiler compiler's
OS
Transformational approaches
1950
.
1975
2000
2025
- 17 -
Les use cases; Les racines applicatives fonctionnelles; Les fonctions selon JSD;
Modle de mtier
Le contexte; Le modle neutre et stable de l'entreprise; Les objets mtier, les rgles mtier, les processus mtier;
Modle de service
fusion
Modle de conception
Modle de code
Le code excutable;
Modle de ressources
Yousra Hlaoui Bendaly
.
- 18 -
Conclusion
Use cases
Patterns
La Technologie des Objets a eu rpondre de nombreux dfis depuis sa diffusion industrielle dans les annes 1980 De faon gnrale, elle n'a pas russi trouver en son sein, les moyens de rpondre ces dfis En consquence les solutions trouves sont souvent baroques, informelles, non gnralisables difficilement combinables.
Aspects
etc.
- 19 -
Conclusion
L'IdM (Ingnierie des Modles) semble tre en mesure de rpondre certains de ces dfis pour lesquels la TdO n'a pas su trouver des rponses internes. Parmi ceux-ci on pourrait citer :
IdM
Services
Patterns
Use cases
TdO
QoS Rgles Aspects Processus Applications
Gestion spare des aspects Prise en compte homogne des lments fonctionnels et nonfonctionnels Intgration homogne de points de vue diffrents (rgles, services, processus, architecture, etc.) etc.
etc.
L'IdM semble pouvoir subsumer la TdO et offrir une voie d'volution progressive aux solutions actuelles base d'objets et de composants.
- 20 -
Dfinition, avantages Extensions UML et OCL Vision de lOMG Principe du MDA Outils du MDA [7] Ce quest un modle ? Lintgration, La transformation, La gnration de code, Le stockage et laccs PIM PSM un exemple de PM (CCM)
Dfinitions Mta-modles et niveaux de mtamodles Les transformations de modles et CWM La gnration de code. Persistance des modles et XML. Echange de modles et XMI.
- 21 -
- 22 -
Modlisation et modle
ralit pour atteindre un but bien dtermin de manire de manire simple en vitant la complexit et lirrversibilit de la ralit Un modle est une abstraction de la ralit
il ne peut pas reprsenter la totalit de la ralit Il reprsente une perception ou une vue de la ralit
Interprtation mentale
Ralit: perception
Modle
- 23 -
Un systme
Modle respiratoire
Modle de Squelette
- 24 -
dont les artefacts de base sont les modles et non pas les programmes
- 25 -
MDSD est
le dveloppement de logiciels reli au domaine (domain-related) et non pas reli reli au traitement (computing related) MSMD rend le dveloppement de logiciels spcifique un domaine bien dtermin Markus Voelter: Focus on business not code
- 26 -
Phases du MDSD
- 27 -
qui sera excut sur diffrentes plaleformes (Java, Corba, .Net) Se librer du dtail de limplmentation et se focaliser sur la spcification des fonctionnalits du systme Simplifier et abstraire les systmes complexes Produit un bon moyen de communication entre clientdveloppeur et entre dveloppeur-dveloppeur tout en rduisant le cot d une fausse interprtation Documentation amliore Met en vidence diffrents niveaux dabstraction
- 28 -
lextension Permettre une meilleur gestion de la complexit par la modlisation travers des digrammes spars Augmente la visibilit dans les projets Renforce la rutilisation au moment de la conception
- 29 -
Dfinition, avantages Extensions UML et OCL Vision de lOMG Principe du MDA Outils du MDA Ce quest un modle ? Lintgration, La transformation, La gnration de code, Le stockage et laccs PIM PSM un exemple de PM (CCM)
Taxonomie des transformations de modles Types de transformations. Le standard QVT. Exemples de transformation.
- 30 -
Le Mtamodle UML
Le mtamodle UML
Dcrit les lments dun modle UML Est spcifi en utilisant un sous-ensemble dUML Est organis sous forme de packages
- 31 -
- 32 -