WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Demain, tous développeurs?

( Télécharger le fichier original )
par Romain GODARD
Ecole Sciences-U Lyon - Master 2012
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

Exemple d'un projet avec DSML (Domain Specific Modeling Language)

Dans le projet DSML nous allons ici traiter le cas d'une application dans le domaine de la téléphonie mobile. Le projet est de faire une application pour s'enregistrer à une conférence depuis son téléphone portable.
Nous sommes ici dans un domaine métier propre. Il est délimité, ce qui sous entend qu'on a un grand besoin de productivité, d'où l'utilisation du DSML. Si on doit faire une similitude avec UML, on peut dire que le DSML s'apparente à un diagramme d'activité enrichi. Tout projet DSML commence par un noeud initial, chaque étape est modélisée sous une forme graphique compréhensible. Pour chacune d'elle il y a aussi la possibilité de donner l'étape suivante en fonction du choix de l'utilisateur. Pour mettre un terme à une suite d'instructions on met un noeud final qui va marquer la fin de l'activité en cours.

Figure 28 : Exemple d'un projet avec un DSML

Dans un projet avec DSML les modèles sont accessibles et sont faits par des experts métier et pas forcément des développeurs/analystes. En effet, c'est un langage avec peu de concepts, tout est graphique et donc beaucoup plus compréhensible. Le niveau d'abstraction est meilleur, donc il y a une utilisation de concepts propres au domaine de modélisation.

Les générateurs de code intègrent directement les librairies du Framework/plateforme d'exécution. Ainsi on a 100% du code généré avec peu de maintenance à faire car tout le savoir-faire est dans les générateurs.

L'utilisation de DSML a conduit à beaucoup de "success stories" telles que :

· Nokia qui est de 300% à 1000% plus productif. David Narraway, chef de projet chez Nokia "UML and other methods and technologies say nothing about mobile phones. We are looking for more".

· US Air Force 300% plus productif

· Alcatel Lucent plus de 300% plus productif, et a développé plusieurs DSMLs pour leurs clients.

Figure 29 : Retombées économique, Source MetaCase 2009

Nous avons avec les DSML un time-to-market plus court, un feedback plus rapide avec les clients, une réduction des coûts (si répétition + plusieurs variantes). Le nombre de participants au projet devient potentiellement plus grand donc une réduction des coûts de formation. David Narraway "Nokia case showed that the domain knowledge contained in the modeling language produced faster learning curve for new employees or transferred personnel. Before, a new developer becomes productive after 6 months. 2 weeks with the DSML".

B. La génération d'interfaces graphiques

Comme nous l'avons vu dans l'état de l'art il existe de nombreux éditeurs graphiques se basant sur le drag and drop (glisser et déposer). Le principe est très simple : nous avons à disposition une palette qui liste l'ensemble des représentations graphiques, on choisit l'élément que l'on veut mettre dans la fenêtre de conception. Pour cela il suffit de sélectionner l'élément, maintenir enfoncer la souris et le glisser dans la partie conception. Ainsi nous avons un rendu visuel, et le code associé généré automatiquement.

Figure 30 : La palette

Pour montrer la simplicité de la manipulation, nous allons créer une fenêtre de Test. Cette fenêtre demandera notre âge, proposera un champ pour entrer notre réponse et un bouton pour la valider.

Nous avons donc trois champs à mettre en place : la question, le champ de réponse et le bouton de validation. La question est matérialisée par un Label, le champ de réponse par un TextFiel et le bouton de validation par un Button. Il suffit simplement de choisir ces trois éléments et de les glisser sur la fenêtre de conception.

Il est donc très accessible et très simple de pouvoir créer une IHM pour un logiciel, sans avoir aucune connaissance en programmation.

Figure 31 : Un exemple de conception en drag and drop

Figure 32 : Résultat lorsque l'on exécute le programme

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Là où il n'y a pas d'espoir, nous devons l'inventer"   Albert Camus