Institut Francophone International MÉMOIRE DE FIN D’ÉTUDES MASTER D’INFORMATIQUE Option : Réseaux et Systèmes Communicants Année académique : 2013 - 2014 Sujet : Études de l’approche d’ingénierie dirigée par les modèles pour le développement des applications mobiles Auteur : Encadrant : SIRISANG Jariya HO Tuong Vinh, Ph. Étudiant de l’Institut L’Institut Francophone Francophone International International (IFI) (IFI) 21 janvier 2015 z REMERCIEMENTS Je voudrais tout d’abord remercier Monsieur Victor Moraru qui m’a conseillé ce stage pour la fin de mes études. Je tiens à remercier Monsieur HO Tuong Vinh qui m’a proposé ce sujet intéressant et encadré pendant six mois de mon stage. Je le remercie de son contact chaleureux, ses conseils, ses soutiens et ses encouragements.
Merci également toutes les réponses de mes amis qui m’aident beaucoup de finir ce travail. Merci enfin à mes parents pour leur soutien et leur encouragement à tout l’instant. i z RESUME Ce sujet du stage situe dans le domaine du génie logiciel. Il vise à étudier l’approche d’ingénierie dirigée par les modèles pour le développement des applications mobiles.
Puisque la consommation des appareils mobiles augmente rapidement, les sociétés des applications mobiles ont envie de profiter cette situation. Mais il n’est pas facile de développer une application qui peut fonctionner sur les plateformes différentes telque iOS, Android, WindowsPhone, BlackBerry etc. Il est nécessaire de développer l’applica- tion séparément pour chaque plateforme. En général, pour développer une application, on suit l’étape d’interroger des exigences, de faire l’analyse, ensuite on conçoit la concep- tion et commence à coder.
Ce processus prend beaucoup de temps et de coûts. Et il aurait un grand problème lorsque le produit ne correspond pas aux exigences. Dans le cadre de ce stage, on propose une solution qui applique le principe de l’approche d’ingénierie dirigée par les modèles pour le développement des applications mobiles. Celle-ci aiderait au développeur de réduire le temps et le coût de développement grâce aux avantages des modèles.
L’idée de l’approche d’ingénierie dirigée par les modèles est que le développement de l’application est guidé par les modèles. Elle est très bien adaptée avec l’approche Cross-platform afin de réaliser les applications mobiles pour des différences systèmes d’exploitation. Cela réduit le temps et des ressources pour le développement. Le code est automatiquement généré à partir des modèles qui sont définis par le développeur.
Mot-clé : Ingénierie dirigée par les modèles, Application mobile, Multi-plateforme, DSL, Modélisation. ii z ABSTRACT This subject of the internship is in the field of software engineering. It aims to study the mobile application development approach particularly in the engineering model driven approach. Since the consumption of mobile devices augumente quickly, the manufacturer of mobiles applications would like to take benefit of this situation.
But it is not easy to develop an application that could execute on different platforms such as IOS, Android, WindowsPhone, Blackberry etc. It is necessary to develop separately for each platform. In general, to develop an application, we follow the step of getting the require- ments, analyze the requirements and then designing and coding. This process takes many time and costs.
And it would be a big problem when the product does not correspond to user requirements. We propose a solution that applies Model driven engineering approach for the development of mobiles applications, which will help to reduce the development’s time and costs through the advantages of models. The idea for the approach of model driven engineering that is the application development is guided by the models. It is very well suited to the ”Cross-platform” approach to realize the mobile application for the differences in operating systems.
It reduces development’s time and resources. The source code is automatically generated from the models that are defined by the developer. The generated application is truly native and causes less of the problems of non-response requiments. Keyword : Model Driven Engineering, Mobile Application, Cross- platform, DSL, Mo- delling.
iii z Table des matières REMERCIEMENTS i RESUME ii ABSTRACT iii Contents iv List of Figures v List of Tables vi 1 Introduction 1 1.2 Motivation et objectif .3 Plan du document .1 Quelques Frameworks pour le développement des applications mobiles .2 jQuery Mobile Framwork .2 IDM :Ingénierie Dirigée par les Modèles pour le développement des logiciels 7 2.1 La définition de l’IDM .2 L’idée et l’objectif de l’IDM .3 Les approches de l’IDM .1 Modèle-Integrated Computing (MIC) .2 Les usines logicielles (Software Factories) .3 L’approche MDA : Model-Driven Architecture .4 La transformation de modèle .5 Les outils de l’IDM .3 Intérêt de l’approche d’ingénierie dirigée par les modèles pour le développement des applications mobiles. 13 iv z Contents v 3 Solution proposée 15 3.1 Méthodologie et technique de l’approche MDA .1 Méthodologie de l’approche MDA .2 Techniques disponibles de l’approche MDA .1 Méta-modélisation .1 Conception de la méta-modélisation .2 Générateur de code .1 Conception pour le développement du générateur de code 21 3. 22 4 Implémentation et Expérimentation 24 4.1 Implémentation de la solution .1 Implémentation de langage dédié : DSL .2 Implémentation de générateur de code .1 Le module generateManifest .2 Le module generateView .3 Le module generateResource .4 Le module generateActivity .2 Application de la méthode proposée .1 Processus de développement .2 Application 1 : Une application simple .1 Description de l’application .3 Application 2 : Une application de jeu Sudoku .1 Description de l’application. 40 5 Conclusion et perspective 42 5.
43 A Modèle PIM de l’application simple avec DSL 44 B Modèle PIM de l’application de jeu Sudoku avec DSL 45 Bibliographie 47 z Table des figures 2.2 Le jQuery Mobile Framwork .4 L’architecture de MDA .1 Le principe de processus de MDA .2 L’hiérarchie de modèles de MDA .3 Le plan du flux de MDA .4 La vue l’ensemble de solution .5 L’étape de réalisation de PIM .6 L’étape de réalisation de générateur .7 Les répertoires et fichiers nécessaires de l’application Android .1 Le concept de DSL .2 L’architecture de l’Acceleo .3 Le concept de la transformation pour la plateforme Android .4 La configuration de l’exécution d’Acceleo .5 La location du code généré. 35 vi z Liste des tableaux 4.1 La comparaison d’interface de Main .2 La comparaison d’interface de Second .3 La comparaison d’interface de Main .4 La comparaison d’interface de Help .5 La comparaison d’interface de level .6 La comparaison d’interface de Game. 39 vii z Chapitre 1 Introduction Le premier chapitre concerne la présentation de la problématique du sujet Étude de l’approche d’ingénierie dirigée par les modèles pour le développement des applications mobiles. On présente la motivation et l’objectif du travail.1 Problématique Actuellement, la tendance de l’utilisation des appareils mobiles (par exemple.
Smartphone, Tablet, Phablet etc. Grâce à cela, le marché des applications mobiles est de plus en plus élargi. Chaque jour, les sociétés lancent des nouvelles applications pour répondre à l’augmentation de consommation des appareils mobiles et aux besoins des utilisateurs. Cependant, des applications mobiles sont souvent fournis pour plusieurs systèmes d’exploitation (Android, iOS, WindowsPhone).
Il est essentiel de développer séparément pour chaque plateforme en raison de détails différents dans la programmation des inter- faces, des bibliothèques, et des langages de programmation. Dans l’industrie de développement du logiciel, on trouve un grand besoin du développement. C’est un effort de réaliser un logiciel complexe avec la courte durée et moins de budget. Cette situation existe aussi dans le développement des applica- tions pour les appareils mobiles.
Puisque l’utilisation des appareils mobiles est de plus en plus populaire, la compétition entre des sociétés d’application mobile est plus forte. Sûrement, la société qui peut recevoir le plus de bénéfits est celle qui peut produire plus rapidement et dépenser moins de ressource du développement des applications pour la sortie des nouveaux appareils mobiles et pour les différences plateformes. Introduction 2 Les applications sont séparément fournis pour les différents plateformes, néanmoins les fonctionnalités pour chaque plates-formes sont de mêmes. Donc il existe la répétition de code.
Si l’on peut éviter la répétition dans le développement, on peut aussi diminuer le temps et le budget. Les chercheurs tentaient d’étudier des approches qui peuvent résoudre des problé- matiques sur : – L’évitement de répétition de code avec une structure généralisée pour la réduc- tion du temps de développement. – La probabilité de baisser d’erreur ou faciliter de la correction. – Le changement dans le code.
Il est moins compliqué de modifier si des fonction- nalités sont changées. – La capacité de rédiger des fonctionnalités pour les différents langages, en les appelants une fois et de réduire le temps de développement. Par exemple, la définition d’une entité en Java, Objectif c ,c# peut être faite par écrivant une seule fois dans la langue spécifique à un domaine et de générer les différentes versions. – Généralement, la méthode de développement d’un logiciel commence par l’étape de réunir des requêtes et puis on analyse ces requêtes afin d’avoir la concep- tion du produit.
En suite, la conception est prise à l’implémentation du logi- ciel. Pareillement pour celle de l’application mobile, à l’étape d’implémentation, les développeurs devraient réaliser l’implémentation qui supporte les différences plates-formes pour la raison mentionné ci-dessus. En plus, cette méthode pour- rait aussi agrandir l’intervalle entre des requêtes et l’implémentation si la concep- tion n’est pas bien conçue. Cela provoque un grand problème d’économique.2 Motivation et objectif L’approche d’ingénierie dirigée par les modèles est une nouvelle approche intéres- sante pour le développement des applications mobiles.
Revoir sur la méthode de dévelop- pement originale, on mettra à la place de la conception par les modèles de l’applica- tion. Cela peut simplifier le développement et réduire l’intervalle entre des requêtes et l’implémentation. Le modèle représente clairement l’idée de l’application grâce à l’aide des outils pour modéliser un modèle comme UML (Unified Modeling Language) et s’il y a des erreurs, il est facile et rapide de corriger en revoyant et modifiant des modèles. L’idée de l’approche d’ingénierie dirigée par les modèles est que le développement de l’application est guidé par les modèles.
Elle est très bien adaptée avec l’approche z Chapter 1. Introduction 3 Cross-platform afin de réaliser l’application mobile pour des différentes systèmes d’exploitation, cela réduit le temps et des ressources de développement. Le code est automatiquement généré à partir des modèles qui sont définis par le développeur. Le code de l’application générée est de même avec le code réalisé manuellement et amène moins de problème d’insatisfaction des requêtes.
Ce stage a l’objectif d’étudier l’approche d’ingénierie dirigée et découvrir ses avan- tages pour le développement des applications mobiles. Pour ce stage, je dois avoir la compréhension sur cet approche en étudiant des travaux qui ont été fait et faire la comparaison, donner des point fort et des points faibles de l’approche.3 Plan du document Ce rapport se compose 5 chapitres qui sont le produit de l’étude de l’approche d’ingénierie dirigée par les modèles pour le développement des applications mobiles. Dans le premier chapitre, on a présenté la problématique, la motivation et l’objectif de ce sujet du stage. On va présenter dans le deuxième chapitre sur la recherche de biblio- graphies qui concernent notre travail, et les travaux qui ont déjà existants.
D’ailleurs on représente aussi les descriptions de l’approche d’ingénierie dirigée par les modèles. Dans le troisième chapitre, on propose une solution pour l’implémentation de l’approche d’ingénierie dirigée par les modèles pour le développement des applications mobiles. Le chapitre suivant est l’implémentation de la solution proposé et l’expérimentation. En fin, le cinquième chapitre, on donne l’analyse sur le travail, la conclusion et les perspectives.
z Chapitre 2 Recherche bibliographique Ce chapitre est une présentation de la recherche de bibliographie sur les tra- vaux existants pour faciliter le développement des applications mobiles et sur l’ap- proche d’ingénierie dirigée par les Modèles(IDM) pour le développement des logiciels. Commençant par la discussion sur les techniques qui nous permettent de développer plus rapide et facilement une application mobile. En suite, on va présenter l’approche d’ingénierie dirigée par les Modèles(IDM) qui est un autre choix pour le développement des logiciels et à la fin, on vous parle des outils de cette approche.