Les principes fondamentaux du Génie Logiciel

1- Limitez les risques
Une bonne connaissance des problèmes organisationnels et techniques ainsi que leur prise en compte au plus tôt dans le processus d'informatisation permet de limiter les risques d'échec.
2- Jouez gagnant-gagnant avec les utilisateurs
Une bonne conduite du changement passe par l'information et la participation de tous les acteurs du processus d'informatisation.
3- Approfondissez les besoins
Les besoins (voire les exigences) des utilisateurs doivent être connus dans leur détail et bien compris des informaticiens afin de limiter les ajustements répétitifs du logiciel, source fréquente de dépassement des délais.
4- Modélisez tous les aspects du logiciel à programmer
Un logiciel est un produit complexe qui présente plusieurs aspects (données, traitements, comportement dynamique, interface avec l'utilisateur, interaction avec d'autres logiciels...) qui doivent faire l'objet d'une modélisation spécifique. La notation UML propose toute une panoplie de modèles et diagrammes permettant de couvrir la quasi totalité de ces aspects. Un manque de modélisation entraînera des difficultés de programmation débouchant très souvent sur des dysfonctionnements graves car liés à une mauvaise conception.
5- Prenez en compte les besoins concernant l'IHM
La partie IHM (Interface Homme-Machine d'un logiciel interactif joue un rôle majeur car c'est ce que voit l'utilisateur (partie émergée de l'iceberg) et c'est ce qu'il manipule (ce avec quoi il interagit) . Sa conception ne peut se faire qu'en collaboration avec les utilisateurs. Elle ne doit pas être réservée au seul informaticien.
6- Concevez le logiciel en appliquant le principe d'ouverture/fermeture
En conception orientée objet, le principe d'ouverture/fermeture précise qu'une classe (ou un package) doit être à la fois ouverte aux évolutions (ou extensions) et fermée aux modifications. L'idée est que, lorsqu'une classe a été recettée par le maître d'ouvrage via des bêta-tests, il est dangereux de la modifier autrement que par extension (dérivation par héritage) car toute modification intempestive peut entraîner l'apparition de nouveaux bugs. En pratique, le principe d'ouverture/fermeture fait bon usage de l'abstraction et du polymorphisme avec l'emploi de design patterns appropriés.
7- Faites du développement durable

Les opérations de maintenance d'un logiciel se poursuivent pendant toute sa durée de vie et coûtent souvent plus cher que son développement. Une bonne documentation s'appuyant sur les modèles construits lors de l'étape de conception liée à l'application du principe d'ouver-ture/fermeture sont les principaux facteurs de diminution des coûts de maintenance.


TOUS DROITS RÉSERVÉS © 2008 JBCC