Du bon usage de l’abstraction (1 Les enjeux)


Laissez un commentaire

Adulée par les uns, suspecte pour les autres, l’abstraction se niche au cœur de notre métier de concepteur de systèmes d’information. Selon moi, elle a partie liée avec les succès et les échecs de bien des projets informatiques. Cet article est le premier d’une série de quatre, consacrés à ce sujet. Les réflexions qu’ils contiennent sont pour la plupart issues de mon expérience d’analyste UML acquises ces deux dernières années chez SQLI.

Peut on définir le niveau d’abstraction d’un modèle ? Quels sont les écueils à éviter dans la modélisation UML ? Comment susciter l’adhésion d’une entreprise à une démarche basée sur UML ? Comment combler les lacunes d’UML ? L’initiative MDA versus l’approche par DSL. Tels sont quelques-uns des thèmes abordés. Nombre de questions demeurent ouvertes et attendent vos commentaires avisés.

Un sujet de stage est proposé ainsi que quelques suggestions d’articles à écrire.

Adulée par les uns, suspecte pour les autres, l’abstraction se niche au cœur de notre métier de concepteur de systèmes d’information. Selon moi, elle a partie liée avec les succès et les échecs de bien des projets informatiques. Cet article est le premier d’une série de quatre, consacrés à ce sujet. Les réflexions qu’ils contiennent sont pour la plupart issues de mon expérience d’analyste UML acquises ces deux dernières années chez SQLI.

Peut on définir le niveau d’abstraction d’un modèle ? Quels sont les écueils à éviter dans la modélisation UML ? Comment susciter l’adhésion d’une entreprise à une démarche basée sur UML ? Comment combler les lacunes d’UML ? L’initiative MDA versus l’approche par DSL. Tels sont quelques-uns des thèmes abordés. Nombre de questions demeurent ouvertes et attendent vos commentaires avisés.

Un sujet de stage est proposé ainsi que quelques suggestions d’articles à écrire.

Partie 1: les enjeux.

L’abstraction c’est quoi ?

Chez PSA, ma mission actuelle consiste à recueillir et à formaliser, au moyen du langage UML, le besoin d’un ensemble d’applications de gestion classiques : facturation, suivi logistique, approvisionnement etc… Mon rôle est d’assurer le trait d’union entre, d’un côté les équipes techniques d’architectes Java / J2EE en charge de la conception et du développement de ces nouvelles applications et de l’autre, les équipes d’experts fonctionnels qui détiennent, souvent sous forme orale, les connaissances fonctionnelles détaillées.

L’objectif que je me fixe est de faire en sorte que les équipes de conception aient, dès le premier jour, accès à des spécifications fonctionnelles rigoureuses et centralisée sous forme d’un seul modèle UML d’analyse publié sous Rational Software Modeler. Parfois intense durant les ateliers de modélisation lorsqu’il s’agit de formaliser à la volée cette connaissance, cette mission m’amène à vous faire part de quelques réflexions, personnelles et subjectives, sur le rôle de l’abstraction dans notre métier de concepteurs de SI.

Si l’on me demandait de citer les deux principaux facteurs de succès ou d’échec des projets informatiques, je choisirais sans hésiter :

  1. La qualité de la communication au sein l’équipe projet (=MOE). Celle-ci implique des enjeux de relations humaines difficilement quantifiables. En font partie : le degré de solidarité professionnelle, la motivation des individus à combler leurs propres lacunes techniques, le sentiment de réaliser un travail qui a un sens. Sens nourri par l’espoir de voir

    Articles qui devraient vous intéresser

    Alcyonix Publié par Alcyonix
    Le cabinet de conseil du groupe SQLI
    le 26 février 2008

    Retour aux actualités

  1. ropib a écrit :

    En effet l’abstraction est un terme particulièrement vaste. La définition trouvée sur le site de l’académie française est assez bonne. Mais je pense en fait que nous devrions parler de réification, d’autant plus que nous avons un point de vue utilitariste (un point de vue finaliste ferait sans doute privilégier la tâche théorique) sur les choses manipulées. En fait il me semble que tout ceci vient des biologistes et nous trouvons dans nos modélisations les mêmes problèmes qu’eux à la différence que nous obtenons au final (généralement) des comportements déterministes ; ce que nous voulons. "J’y vois surtout le fruit d’une pensée unique de l’objet dont il conviendrait de tourner la page": faut-il passer à des rassemblements de choses minimales et probabilistes (j’avais pensé au "quanta sauvage", ou Q-vage, il y a longtemps) ?

  2. plem a écrit :

    Je ne sais au juste ce qu’est un "quanta sauvage" même si j’ai quelques notions de mécanique quantique… Pour ce qui est de tourner la page, la formule est peut-être un peu brutale. Mais dans certaines parties de l’architecture logicielle je pense qu’il faudrait le faire. Dans le 4ème article je formulerai quelques points de comparaison entre MDA et des DSL et je reviendrai plus largement sur cette question. Patience donc ! Le danger avec un tel sujet c’est de parler de trop de chose à la fois. Raison pour laquelle j’ai préféré faire 4 petits articles plutôt qu’un "méga-post".

  3. celine a écrit :

    je te conseille de lire la littérature anglo-saxonne car le problème que tu soulèves sur le niveau d’abstraction et donc de la qualité de la modélisation est un sujet particulièrement étudié, appelé communément "systems methodology and modelling". Regarde par exemple les sujets de type soft systems methodology, stakeholder modellisation, information filtering. Tu peux aussi te rapprocher de la littérature sociologique, particulièrement efficace pour réfléchir hors cadre. Dans tous les cas, un modèle est une projection de la réalité selon des axes prédéfinis. Toute la difficulté est de savoir choisir correctement les axes. Et c’est vers là que personnellement j’orienterais (et que j’oriente en général) ma réflexion.
    La première règle dont il faut toujours se souvenir même si elle est très bateau, c’est qu’un système d’information est un système social, et donc que toute abstraction/modèle doit être défini par des lois sociales. Bonne chance dans tes lectures…

  4. ropib a écrit :

    @Celine Parler de "système social" est-il vraiment vendeur aujourd’hui en France ?
    J’ai regardé la section étymologie de la gouvernance d’entreprise sur wikipedia, c’est intéressant.

  5. jb a écrit :

    Une définition de l’abstraction, par Joël Spolsky :
    http://www.joelonsoftware.com/artic

    "A simplification of something much more complicated that is going on under the covers." Définition très simple, dans le même ordre d’idées que la tienne …

  6. jb a écrit :

    A la lumière du commentaire de ropib, je me dis que l’article
    http://www.joelonsoftware.com/artic
    décrit effectivement une série de métaphores employées en informatique pour décrire des caractères, des Strings (etc) : tous ces concepts sont faciles à appréhender pour les humains, mais n’existent pourtant pas au niveau où les manipule l’ordinateur.
    L’auteur parle alors d’abstraction, mais je suis d’accord pour trouver qu’il vaudrait mieux parler de réification.
    Il est juste de dire que ces concepts sont abstraits au niveau de l’ordinateur (ils n’ont pas de réalité concrète). Ils sont, en revanche, très concrets pour un humain.

Laissez un commentaire


haut

© 2012 SQLI GROUP – Tous droits réservés | Mentions légales | Plan du site

css.php Haut