3. Tous développeurs
de logiciels?
Nous avons pu voir que si nous voulons être tous
développeurs d'applications, il faut passer par de la
génération de code et de la modélisation. Qui dit
modélisation dit ingénierie dirigée par les modèles
(IDM). Nous avons quasiment notre réponse dans le nom de ce concept. Il
fait intervenir le mot ingénierie, qui est, on le rappelle, l'art de
l'ingénieur. Etre ingénieur ce n'est pas innée, cela
s'apprend, donc de part ce premier point nous ne serons pas tous
développeurs de logiciels.
Si l'on souhaite quand même s'approprier l'IDM, nous
avons deux approches (comme déjà vu) : le MDA et le DSML.
Concernant le MDA il présente plusieurs
problèmes, notamment le changement de plates-formes, comment fera un non
initié s'il doit changer de plate-forme ? De plus, nous avons vu que le
MDA utilisait l'UML pour le langage de modélisation. Or, UML
nécessite un processus très strict si l'on veut
générer du code utile et fonctionnel. L'UML est un langage
à part entière et comme tout langage (que ce soit écrit ou
parlé) il faut un apprentissage pour l'utiliser et le comprendre. Une
approche par les modèles ne permet qu'à peu de personnes d'avoir
les compétences pour modéliser complètement les
systèmes. Il nécessite forcément l'implication de
professionnels.
Le DSML quant à lui implique une forte connaissance du
domaine auquel il appartient mais surtout une expertise dans le
développement de langage. Comme pour l'IDM, qui dit expert dit une
petite partie des gens concernés.
Pour faire un logiciel, il y a aussi toute la partie interface
utilisateur à créer. Comme nous l'avons vu, il est bien sûr
très simple de les créer, cela peut donner un rendu satisfaisant
au premier regard. En revanche, sans connaissance en programmation, il est
impossible de le rendre fonctionnel. Malgré certains outils, comme
Windev, qui vont proposer des options selon les modèles graphiques que
nous mettons en place, mais il est impossible d'avoir toutes les
possibilités.
Bien que l'on tende justement vers des outils de ce calibre
à l'avenir, il est encore prématuré de dire si un outil
pourra exister de façon simple, et qui proposera en plus de
l'éditeur graphique, de pouvoir faire un logiciel pouvant
répondre à différentes attentes (de l'utilisateur final).
En revanche, avec l'apparition SaaS (Software as a Service) et du
Cloud-Computing qui voient désormais le logiciel comme un service en
ligne et non plus comme une application de bureau, on peut très bien
imaginer un développement collaboratif et participatif, comme ce que
l'on a vu pour les sites web. Chacun pourrait apporter sa pierre à
l'édifice et participer ainsi au développement de ces nouveaux
logiciels qui risquent très fortement de se développer d'ici
quelques années. Il ne faudrait surtout pas non plus oublié que
l'on soit dans un monde hyper connecté si l'on veut être tous
développeurs. Avoir les outils qu'il faut pour l'être c'est bien
mais il faut également avoir les moyens.
|