II.2. DEFINITION DES ALGORITHMES
Il ne s'agit pas ici de programmer avec un langage ou un
autre, mais bien de raisonner sur le problème afin de concevoir une
solution abstraite. Ce travail de réflexion et de conception
prépare le stade ultime de l'implémentation et du cycle
de vie du programme concret. Un algorithme, dans sa définition simple,
est une suite d'instructions qui, quand elles sont exécutées
correctement aboutissent au résultat attendu.
C'est un énoncé dans un langage clair, bien
défini et ordonné qui permet de résoudre un
problème, le plus souvent par calcul. Cette définition est
à rapprocher du fonctionnement de la machine de Turing qui avant
l'apparition de l'ordinateur utilisait cette démarche pour
résoudre de nombreux problèmes. L'algorithme est donc une recette
pour qu'un ordinateur puisse donner un résultat donné.
Il décrit formellement ce que doit faire l'ordinateur
pour arriver à un but bien précis. Ce sont les instructions qu'on
doit lui donner. Ces instructions sont souvent décrites dans un langage
clair et compréhensible par l'être humain : faire ceci, faire cela
si le résultat a telle valeur, et ainsi de suite.
Figure 4 : De la Réflexion à la Programmation
~ 16 ~
traitement ou des opérations en utilisant le Langage
de Description Formelle des Algorithmes (LDFA), la traduction des algorithmes
dans un langage de programmation et enfin la programmation et le jeu de test
des algorithmes que nous avons exécuté dans une Machine de
Turing.
II.3. PROTOTYPAGE
Une fois la modélisation et la définition des
algorithmes finies, nous avons retracé une maquette du nouveau
système : un prototype, dans le but de projeter ce à quoi va
correspondre le système à la fin de notre recherche. C'est
à niveau que nous essayerons de résoudre les problèmes que
les utilisateurs du système auront ciblé.
Ce processus pourra nous aider à véhiculer
l'expérimentation, et sa construction fournira un nouvel aperçu
sur le modèle prototypé. Voilà pourquoi il nous faudra
avoir un style qui traitera de la manière dont les solutions aux
problèmes ou les algorithmes seront formulées. Cette phase est
beaucoup plus utile étant donné que c'est la partie qui
intéresse les bénéficiaires finaux du système
à mettre en place.
II.4. EXPERIMENTATION
Bernard MORAND a écrit : « Un bon logiciel n'est
ni celui dont on peut exhiber la preuve, ni celui qui fait ce qui est
demandé, mais celui dont les utilisateurs se servent encore trois ans
après sa création ».
L'expérimentation nous a permis de tester notre
modèle et d'observer les effets afin de soumettre le système
réalisé à un ensemble d'expériences et
d'opérations destinées à l'étude et au test qui,
dans ce travail de recherche, seront conduits dans un laboratoire informatique.
Il est à signaler que l'expérimentation s'est fait selon la
complexité des algorithmes écrits pour dégager les
résultats attendus sous la contrainte du temps d'exécution et de
ressources mémoires exigées (espace).
Hormis le test de la complexité algorithmique, il
faudra expérimenter la nouvelle application dans un environnement
réseau, ce qui revient à dire qu'il faudra tester la
réplication entre base des données installées sur deux ou
trois sites distants afin d'être sûr que les questions de la
recherche avaient été partiellement ou totalement satisfaites.
~ 17 ~
|