TUTORIEL ALGO/METHODES 
5 conseils pour bien gérer la phase de conception logicielle
Si elle est réputée pour être fastidieuse, voire ennuyeuse, la période de conception d'une application n'en est pas moins nécessaire, et doit être approchée avec attention. Les bons réflexes. (06/06/2005)

Si elle est réputée pour être fastidieuse, voire ennuyeuse, la période de conception d'une application n'en est pas moins nécessaire, et doit être approchée avec attention. En effet, cette phase d'un projet de développement consiste non seulement à visualiser la prochaine réalisation, mais également (surtout ?) la faisabilité même d'une partie du projet, si ce n'est du projet entier. Il n'est pas rare qu'une étude préparatoire soit lancée et conclue finalement que l'objectif est inatteignable avec les ressources disponibles : sans cette étude, l'équipe de développement allait dans le mur.

A l'inverse, tous les projets n' ont pas besoin d'une phase de conception : tout dépend de l'ampleur des développements. Une règle ? Dès que l'équipe dépasse les trois personnes, disposer d'un document central, étudié et validé, reste la meilleure manière d'éviter l'échec.

En matière de conception, il n'existe pas vraiment de recette-miracle, chaque projet nécessitant le plus souvent une approche neuve. Mais il faut construire sur l'expérience passée, ce qui attire l'attention sur un ensemble de points-clés :

1) Concevoir du plus général au plus précis
L'objectif de la conception : savoir où l'on met les pieds ! En ce sens, il est nécessaire de définir l'application à la fois pièce par pièce et dans son ensemble. On commencera par établir ce que l'on veut accomplir avec l'application, puis comment dans les grandes lignes, puis comment dans le détail... Pour un projet Objet, cela signifie concevoir d'abord l'aspect global du logiciel, puis les packages, les classes de chaque package, les données et routines relatives à chaque classe, etc.

2) Concevoir de manière linéaire
Au lancement d'un projet, il est facile de vouloir penser à tout, et d'essayer d'anticiper tous les désirs du client/de l'utilisateur... En définitive, la conception devient alors inutilement longue, compliquée, et donc difficile à modifier.
L'équipe doit à l'inverse ne garder en tête que ce qui est primordial. Le superflu ou le "ça serait bien si" ne devraient être décidés qu'après mûre réfléxion, et une fois que l'essentiel a correctement été défini.
Et il faut respecter les niveaux de précision : si une partie de l'application est définie jusqu'au niveau des classes, il serait absurde qu'une autre soit définie au niveau des packages par exemple.

3) Ouvrir d'un côté, fermer de l'autre
La conception, en validant le champ des possibles, permet d'ouvrir des portes. Les fondations solides qu'elle fournit aux développeurs les autorisent à construire plus rapidement et de manière plus assurée, et à étendre l'application sans lui faire perdre sa logique d'ensemble.
Mais en définissant le travail à accomplir, la phase de conception sert également à compartimenter les issues, et plus généralement à réduire le champ des possibles, c'est à dire s'assurer clairement que la solution envisagée est la meilleure pour le projet.

4) Ne pas hésiter à recommencer
Concevoir est la première phase du projet logiciel : se tromper est attendu, pourvu que les décisions finales de l'étape ne soient pas remises en cause lors d'une phase ultérieure. Cer une erreur découverte en pleine phase de programmation remettrait potentiellement en cause une partie, voire l'ensemble de la phase de conception, au risque de la rendre rapidement caduque. Il est donc important de travailler cette première phase avec serénité, afin de saisir d'entrée de jeu toutes les facettes possibles offertes par le projet.

  Forum

Réagissez dans les forums de JDN Développeurs

5) Savoir mettre fin à sa conception
Vient un moment où il faut passer à l'action. Le travail du concepteur ne consiste pas seulement à réaliser une planification utile des phases suivantes (développement, test...), mais aussi à trouver le juste équilibre entre conception et temps de développement. Le concepteur ne doit donc pas laisser cette première phase prendre le pas sur l'ensemble du projet : même si cela peut sembler contradictoire avec le point précédent, il faut donc accepter qu'une conception ne soit pas totalement exhaustive, et s'en remettre à la pratique pour trouver les solutions définitives.
 
Xavier Borderie, JDN Développeurs
 
Accueil | Haut de page
 
 





Quand achetez-vous le plus en ligne ?
Du lundi au vendredi
Le samedi
Le dimanche

Tous les sondages