CONCEPTION

La conception regroupe les activités d'étude qui suivent la spécification, et ce jusqu'au codage. Le codage n'est que la matérialisation de la conception.

La conception englobe:

  • la modélisation: facultative, assistée ou non d'un outil, elle permet de définir et de visualiser le système ou une partie de celui-ci, aussi bien de manière statique que dynamique. La modélisation n'est pas une étape en soi, elle peut être utilisée à tout endroit du projet (pourquoi ne pas modéliser les tests, par exemple?). Outre ses qualités techniques, l'aspect visuel de cette pratique provoque un fort impact chez le client, qui peut plus facilement imaginer son produit fini.
  • l'architecture, ou conception préliminaire: indispensable à partir d'une certaine taille de projet, elle définit l'ensemble des briques constitutives de l'application et leurs interfaces. C'est souvent le point faible d'un logiciel, car un défaut à ce niveau, donc probablement détecté en phase d'intégration, sera toujours pénible à corriger de par ses conséquences: débogage long, reprise d'intégration dans un outil de gestion de configuration, régénération de l'exécutable, traitement de la demande de correction, etc. C'est au niveau des API que le bât blesse. A soigner, donc.
  • la conception détaillée: aïe, la pierre d'achoppement du développement:"On la met où, la conception détaillée, dans le code? dans un document à part? pourquoi?". On a tous entendu ça. Tout d'abord, la conception détaillée consiste, souvent, à écrire du pseudo-code pour définir chaque fonction logicielle, or, où placer cette conception détaillée, si proche du code final? En toute rigueur, on pourrait penser à la placer dans un document dédié, au même titre que la conception préliminaire ou l'architecture; c'est peut-être le terme 'conception' qui oriente vers cette démarche. Cependant, pour des raisons de maintenance, il semblerait plus efficace de la placer dans le code, en commentaire dans l'en-tête de la fonction. Quoi que, dans un fichier séparé, ça éviterait de fournir en même temps le code et la conception détaillée au client. Bien que quand on y pense, tout compte fait, après tout...Bref, le mieux est tout d'abord de se conformer aux standards du client, ce qui n'est pas forcément un mal, et puis....je ne sais pas, faites comme vous voulez...mais j'ai mon idée que je ... STOP! Bon, d'accord.

La conception est donc une étape à ne pas négliger, elle n'est pas plus importante qu'une autre au niveau contractuel, mais techniquement une conception bâclée plantera un projet de manière sûre et certaine.