MODULE No 01

Titre : Analyse du titre du cours : « Exigences et spécifications de systèmes logiciels ».

But : Avoir une idée claire de la signification des termes qui composent le titre du cours et qui en sont à la base.

Antécédents : Bonne connaissance du français.

Corps : Commençons par voir la signification de chaque mot.

a.       Exigences. Selon le Trésor de la langue française (TLF) :

                                                                                     I.      Ce que l'on veut impérativement.

                                                                                  II.      Ce que l'on attend impérativement de quelqu'un.

                                                                               III.      Ce qui est impérativement nécessaire.

Les trois définitions ne laissent pas de doutes sur l’importance du terme « impérativement » pour les exigences. Et « impérativement », toujours selon le TLF, veut dire « de manière autoritaire, nécessaire, logique… »

Mais, dans notre domaine, le génie logiciel, y a-t-il une définition plus précise ? Allons la chercher dans la terminologie d’IEEE (IEEE Std 610.12) :

                                                                                     I.      Une condition ou une capacité dont un utilisateur a besoin pour résoudre un problème ou atteindre un objectif.

                                                                                  II.      Une condition qui doit être satisfaite ou une capacité que doit être possédée par un système ou par un composant d’un système pour satisfaire un contrat, une norme, une spécification ou d’autres documents officiels.

b.      Et Conjonction de coordination omniprésente dans la langue française (et en logique) et si dangereuse dans… dans la définition des buts d’une méthode, par exemple. Note : je suis sûr qu’il n’y a pas un seul étudiant, même au bac, qui ne sache pas pourquoi « et » est si dangereux. Fin de la note. Dans le titre « et » indique qu’il y a deux concepts distincts, celui d’Exigences et celui de spécifications. Ce qui veut dire que l’on peut avoir des exigences qui n’apparaissent pas dans des spécifications et des spécifications qui ne « spécifient » pas des exigences.

c.       Spécification. « Action de désigner. de mentionner, avec précision, résultat de cette action. » (TLF) Ce qui nous intéresse ici c’est surtout « précision ». Sans nécessairement être formelle une spécification doit être plus précise qu’une « simple » description.

d.      De Une proposition qui crée souvent de grandes ambiguïtés. Exemple : La peur des femmes. Ce sont les femmes qui ont peur ou les hommes qui craignent les femmes ?

e.       Systèmes. On emploie normalement le terme « système » pour indiquer quelque chose de complexe, quelque chose constituée d’éléments plus simple. Mais, pour que l’on puisse parler de système, il ne suffit pas que ce dont on parle soit constitué de parties, de composants. Un agrégat aussi est constitué de composants. Pour qu’un agrégat se transforme en système il faut minimalement que :

                                                                                     I.      Les parties interagissent

                                                                                  II.      Que le système ait un comportement « unifié » qui dépasse l’addition des comportements des ses parties.

Un système peut donc être défini comme un tout organisé ayant des buts.

f.       Logiciels. Dans le langage courant par « logiciel » on entend le programme (malheureusement, souvent, les étudiants en informatique aussi considèrent que le logiciel n’est que le programme).

                                                              i.      IEEE 610. Logiciel : les programmes, les procédures, et la documentation associée et les données qui concernent le fonctionnement d’un système informatique.

On peut donc résumer le tout en disant que dans ce cours les étudiant(e)s doivent apprendre à décrire de la manière la plus précise possible les exigences que le(s) programme(s) doi(ven)t mettre en œuvre afin que les besoins des utilisateurs soient satisfaits.

Simple ?

Pas tellement ! Et nous avons quinze semaines pour le constater.

 

Conséquents :

·         Être capable de redire avec ses propres mots les définitions.

·         Connaître l’existence d’une norme (IEEE 610)

·         Être conscient que même des termes qui nous employons des dizaines de fois dans une journée, comme « et » et « de », ont leurs particularités qui en font des éléments à soigner dans le GL (et non seulement dans le GL).

 

Notes :

  1. Les définitions présentées ci-dessus n’ont pas été données pour que l’on les retienne par cœur, mais pour commencer à vous introduire aux concepts parmi lesquels vous circulerez pendant quinze semaines. En disant qu’il ne faut pas les connaître pas cœur, je ne veux pas dire que l’on ne doive pas être à même de les redonner avec ses propres mots sans s’éloigner trop de l’original.
  2. Adresse du TLF : http://atilf.atilf.fr/dendien/scripts/tlfiv4/showps.exe?p=combi.htm;java=no;
  3. « Quelle est la différence entre besoin et exigences ? » Essayez d’y réflechir.