FR 2767946 A1 19990305 FR 9810620 A 19980821 -1 La présente invention concerne les diagnostics concernant un système d'ordinateur et plus particulière- ment un procédé pour séquencer des étapes d'installation et/ou d'essai d'un logiciel dans un système d'ordinateur. Les systèmes d'ordinateur personnel en général et des systèmes d'ordinateur personnel compatibles IBM en particulier ont atteint une utilisation très répandue pour fournir une puissance de calcul à de nombreux seg- ments de la société. Un système d'ordinateur personnel peut habituellement être défini comme un micro-ordinateur de bureau, de type tour, ou portable, qui comporte une unité système ayant un processeur système et une mémoire volatile et une mémoire non-volatile associées, un moni- teur d'affichage, un clavier, un ou plusieurs lecteurs de disquette, un dispositif de mémorisation sur disque fixe et une imprimante facultative. On sait installer un logiciel et réaliser des essais sur des systèmes d'ordinateur avant qu'ils ne soient transportés vers des entreprises ou des clients individuels. Le but de l'installation d'un logiciel et des essais est de produire de manière efficace un système d'ordinateur utile, fiable, qui peut être envoyé aux en- treprises et aux individus sans erreur et prêt à fonc- tionner. En général, les tests détectent et analysent des erreurs qui surviennent à la fois dans le matériel et le logiciel du système d'ordinateur. Une liste partielle des essais de matériel du système d'ordinateur peut comporter des diagnostics concernant des constituants matériels tels qu'un processeur, une mémoire, un dispositif de mé- morisation sur disque, un dispositif audio, un dispositif graphique, un clavier, une souris, et une imprimante. Une installation de logiciel comporte souvent le chargement d'un ensemble voulu de logiciels sur le système d'ordina- teur, la préparation de variables d'environnement appro- priées pour l'ordinateur, et la préparation de fichiers d'initialisation appropriés pour le logiciel chargé. Es- sayer un logiciel consiste souvent à s'assurer que la version voulue du logiciel a été installée dans le sys- tème d'ordinateur et que des pilotes appropriés existent dans le système d'ordinateur. On sait, dans l'industrie, installer un logi- ciel et tester des systèmes d'ordinateur pendant la fa- brication en réalisant un processus fixé, avant qu'ils ne soient transportés chez les clients. Par exemple, on crée une disquette contenant certains tests de diagnostic pour un certain type de système d'ordinateur. La disquette comporte des fichiers séquentiels longs, souvent compli- qués, qui dirigent l'installation du logiciel et les pro- cessus de diagnostic. La disquette contient de plus tous les fichiers exécutables pour réaliser des tests sur le système d'ordinateur acheté. Chaque système d'ordinateur étant construit est muni d'une copie respective de cette disquette. Ces dis- quettes accompagnent les systèmes d'ordinateur construits autour d'une plate-forme d'usine pendant le processus de fabrication, des tests étant effectués sur le système d'ordinateur respectif conformément à l'ordre inhérent du fichier séquentiel. Si ce processus doit être modifié, le fichier séquentiel est modifié de manière correspondante en ajoutant, ou en enlevant, des parties au code de sé- quence. Ce changement du fichier séquentiel a pour résul- tat un changement correspondant des paramètres d'essai (y compris la séquence dans laquelle les essais sont mis en oeuvre) de chaque système d'ordinateur successif fabri- qué, pour que chaque système d'ordinateur partage le même processus de diagnostic de fichier séquentiel. Bien que des agencements de diagnostic de ce type aient présenté un certain degré d'utilité pour aug- menter la fiabilité des systèmes d'ordinateur avant le transport, il reste de la place pour des améliorations. Par exemple, comme les essais continuent de devenir plus compliqués et complets, les fichiers séquentiels et les fichiers exécutables des tests de diagnostic dépassent souvent les capacités de mémorisation d'une disquette. De plus, il est souvent difficile sinon impossible de per- sonnaliser des processus d'essai et d'installation de lo- giciel pour un seul système d'ordinateur personnalisé ou pour une certaine famille de systèmes d'ordinateur sans modifier les essais d'autres systèmes ou familles. De plus, il est difficile sinon impossible de modifier l'or- dre d'installation ou d'essai d'un logiciel d'un système d'ordinateur unique personnalisé ou d'une certaine fa- mille de systèmes d'ordinateur sans modifier l'ordre d'autres systèmes et familles. Enfin, la nature souvent compliquée des structures d'un fichier séquentiel courant rend parfois difficile pour les fabricants de dépanner ou de maintenir de manière efficace des processus d'essai et d'installation de logiciel. De manière correspondante, il est souhaitable de concevoir un procédé amélioré pour installer un logiciel et tester des systèmes d'ordinateur avant qu'ils ne soient transportés chez les clients. Selon la présente invention, un dispositif pour installer un logiciel sur un système d'ordinateur com- porte une table d'étapes et une table de constituants. La table d'étapes contient un ensemble d'étapes d'installa- tion de logiciel partagées par des constituants diffé- rents de pratiquement tous les systèmes d'ordinateur fa- briqués. La table de constituants contient un ensemble constitué de pratiquement tous les constituants possibles qui sont inclus dans les systèmes d'ordinateur fabriqués. Dans un mode préféré de réalisation, le système d'ordina- teur correspond à une famille de systèmes d'ordinateur et le dispositif comporte en outre une table relationnelle étapes-famille, une table relationnelle constituant- étapes et une table relationnelle constituants-famille. La table relationnelle étapes-famille identifie la rela- tion entre un ensemble d'étapes d'installation de logi- ciel et chaque famille d'un système d'ordinateur fabri- qué. La table relationnelle constituants-famille identi- fie la relation entre la famille de systèmes d'ordinateur et l'ensemble des constituants. La table relationnelle constituant-étapes identifie la relation entre un consti- tuant et un ensemble d'étapes d'installation de logiciel approprié au constituant correspondant. Dans un autre mode de réalisation préféré, la présente invention concerne un dispositif pour fournir plusieurs étapes o une étape est associée à un descrip- teur de constituant respectif et comporte un numéro de séquence respectif. Le descripteur de constituant décrit un constituant respectif d'un système d'ordinateur. Le dispositif comporte une table d'étapes et une table de constituants. La table d'étapes contient un ensemble d'étapes d'installation de logiciel partagé par des cons- tituants différents de pratiquement tous les systèmes d'ordinateur fabriqués. La table de constituants contient un ensemble constitué de sensiblement tous les consti- tuants possibles qui sont inclus dans les systèmes d'or- dinateur fabriqués. Le dispositif décrit fournit ainsi une instal- lation de logiciel efficace et un essai d'ordinateur qui permet de dépanner de manière directe et de personnaliser les systèmes d'ordinateur construits à la demande. La conception modulaire du dispositif permet avantageusement la maintenance élémentaire d'un système de test et la création rapide d'étapes pour de nouveaux systèmes d'or- dinateur et de nouvelles familles. Ces buts, caractéristiques et avantages de la présente invention, vont être décrits plus complètement ci-après et apparaîtront plus clairement à la lecture de la description détaillée des modes préférés de réalisa- tion qui suivent, faite en référence aux dessins annexés sur lesquels: - la figure 1 est un schéma représentant l'ins- tallation et l'essai d'un logiciel, - la figure 2 est un schéma d'installation et d'essai de logiciel selon un autre mode de réalisation, - la figure 3A est un ordinogramme destiné à convertir un ordre d'ordinateur en un enregistrement des- cripteur de système selon la présente invention, - la figure 3B représente une partie d'un ordre d'ordinateur donné en exemple, le fichier d'enregistre- ment d'ensemble de base (BAR), et l'enregistrement des- cripteur du système, - la figure 4 est un ordinogramme pour créer et fournir une séquence d'étapes, - la figure 5 est un ordinogramme plus détaillé pour créer une séquence d'étapes, - la figure 6 représente une structure de base de données, - la figure 7 est un ordinogramme pour modifier un enregistrement descripteur de système et une séquence d'étapes, - la figure 8 représente un exemple de fichier Step avant d'être exécuté, - la figure 9 représente le fichier Step donné en exemple après avoir été exécuté, - la figure 10 est un ordinogramme du fonction- nement d'un programme destiné à exécuter une séquence d'étapes, - la figure 11 est un ordinogramme plus dé- taillé du fonctionnement du programme de la figure 10 destiné à exécuter une séquence d'étapes. Ce qui suit établit une description détaillée du meilleur mode envisagé de mise en oeuvre de la pré- sente invention. La description est prévue pour être re- présentative et ne doit pas être prise comme limitative. Dans les dessins, des éléments analogues ou similaires peuvent être indiqués par la même référence numérique. Dans la description, un module est défini comme une ins- truction ou un ensemble d'instructions. La figure 1 est un schéma de système d'instal- lation et d'essai de logiciel 90. En fonctionnement, on introduit un ordre 92 d'achat d'un système d'ordinateur cible personnalisé 160. Le système cible 160 doit être fabriqué de manière à contenir plusieurs constituants ma- tériels et logiciels. Par exemple, le système cible 160 peut comporter une certaine marque de disque dur, un type particulier de moniteur, une certaine marque de proces- seur, et une version particulière de système d'exploita- tion. Avant que le système cible 160 ne soit transporté chez le client, la plupart des constituants sont instal- lés et testés. Une telle installation de logiciel et un tel essai assurent de manière avantageuse qu'un système d'ordinateur fiable est prêt à fonctionner lors de la ré- ception. Du fait que différentes familles de systèmes d'ordinateur et différents constituants d'ordinateur in- dividuels nécessitent des étapes d'installation et d'es- sai de logiciel différentes, il est nécessaire de déter- miner quels tests sont nécessaires sur le système cible et dans quel ordre ces tests doivent être exécutés de manière à obtenir un processus d'installation et d'essai de logiciel efficace. Un générateur d'étapes 140 est un système d'ordinateur configuré pour séquencer les étapes d'installation et d'essai de logiciel à exécuter sur le système cible 160. Pour séquencer les étapes d'installa- tion et/ou d'essai de logiciel, le générateur d'étapes , et plus particulièrement le programme de séquençage 204 résidant dans le générateur d'étapes 140, lit tout d'abord plusieurs descripteurs de constituant dans le fi- chier de descripteurs 96. Le fichier de descripteurs 96 est fourni en convertissant un ordre 92, qui correspond à un système d'ordinateur voulu ayant des constituants vou- lus, en un format pouvant être lu par ordinateur via un module de conversion 94. Des descripteurs de constituant sont des des- criptions pouvant être lues par ordinateur des consti- tuants du système cible 160, lesquels constituants sont définis par l'ordre 92. Dans le mode préféré de réalisa- tion, les descripteurs de constituants sont inclus dans un fichier de descripteurs appelé enregistrement de des- cripteurs du système qui est un fichier pouvant être lu par ordinateur contenant une liste de constituants, de constituants matériels et/ou logiciels, à installer sur le système cible 160. Ayant lu les plusieurs descripteurs de constituants, le programme de séquençage 204 récupère plusieurs étapes d'installation et/ou d'essai de logiciel correspondant aux descripteurs de constituants, dans la base de données 100 par une connexion de réseau 110. La connexion de réseau 110 peut être toute connexion de ré- seau bien connue dans la technique, tel qu'un réseau lo- cal, un intranet ou internet. L'information contenue dans la base de données 100 peut être mise à jour par l'inter- médiaire d'une modification représentée par la flèche 130. Ayant récupéré les étapes d'installation et/ou d'essai de logiciel appropriées pour le système cible , le programme de séquençage 204 séquence les étapes dans un ordre prédéterminé conformément aux numéros de séquence correspondant à chaque étape. Ayant séquence les étapes nécessaires pour le système cible 160, le pro- gramme de séquençage 204 écrit une série de fichiers de sortie sur la disquette d'étapes 150. Dans le mode de réalisation indiqué sur la figure 1, les fichiers de sor- tie comportent des fichiers texte contenant des lignes d'instructions appropriées pour exécuter les étapes ap- propriées d'installation et/ou d'essai de logiciel sur le système cible 160. L'exécution est effectuée dans l'ordre prédéterminé selon les numéros de séquence correspondant à chaque étape. La disquette d'étapes 150 accompagne le système cible 160 sur la plate-forme de l'usine o des tests sont effectués directement à partir de la disquette d'étapes 150 ou, en variante, à partir du serveur de fi- chiers 190, relié au système cible 160 via une connexion de réseau 180. De préférence, la connexion de réseau 180 est un dispositif de réseau générique enfiché dans un ac- cès au réseau correspondant du système d'ordinateur ci- ble. Après l'exécution des étapes d'installation et d'es- sai de logiciel, les résultats de l'installation et des essais sont renvoyés en retour vers le serveur de fi- chiers 190 sur la connexion de réseau 180. La figure 2 est un schéma de système d'instal- lation et d'essai de logiciel 192 correspondant à un au- tre mode de réalisation de la présente invention. Un client envoie l'ordre 92 d'achat d'un système d'ordina- teur cible personnalisé 160. Le système cible 160 doit être fabriqué de manière à contenir plusieurs consti- tuants, lesquels constituants peuvent comporter à la fois des constituants matériels et/ou logiciels. Avant que le système cible 160 ne soit transporté chez le client, les plusieurs constituants sont installés et testés. Une telle installation et un tel essai assurent avantageuse- ment qu'un système d'ordinateur fiable est prêt à fonc- tionner lors de la réception par le client. Pour séquencer les étapes d'installation et d'essai de logiciel, le programme de séquençage 204 lit plusieurs descripteurs de constituants dans le fichier de descripteurs 96. Un ordre 92 est convertie en fichier de descripteurs 96 via un module de conversion 94. Les des- cripteurs de constituants sont des descriptions pouvant être lues par ordinateur des constituants du système ci- ble 160. Dans le mode préféré de réalisation, les des- cripteurs de constituants sont inclus dans un fichier de descripteurs appelé enregistrement de descripteurs du système, un fichier pouvant être lu par ordinateur conte- nant la liste de chaque constituant, à la fois matériel et logiciel, à installer sur le système cible 160. L'en- registrement de descripteurs du système, peut être mémo- risé directement sur le serveur de fichiers 202. Le pro- gramme de séquençage 204 récupère plusieurs étapes d'ins- tallation et/ou d'essai de logiciel correspondant aux descripteurs de constituants, dans la base de données 100. Ayant récupéré les étapes d'installation et/ou d'es- sai de logiciel appropriées pour le système cible 160, le programme de séquençage 204 séquence les étapes dans un ordre prédéterminé selon les numéros de séquence corres- pondant à chaque étape. Ayant séquencé les étapes requi- ses pour le système cible 160, le programme de séquençage 204 dirige l'exécution des étapes d'installation et d'es- sai de logiciel dans le système cible 160, dans l'ordre déterminé, via des connexions de réseau 195 et 180. On désire que la connexion de réseau 200 soit un dispositif de réseau générique enfiché dans un accès correspondant du système cible 160. La connexion de réseau 195 peut être toute connexion de communication bien connue de la technique. Après l'exécution des étapes d'installation et/ou d'essai de logiciel, les résultats de l'installa- tion et des essais sont renvoyés vers le serveur de fi- chiers 202 sur la connexion de réseau 200 ou mémorisés dans une base de données appropriée. Comme cela apparaît de la représentation, il n'est pas nécessaire de séparer le système d'ordinateur 140 générateur d'étapes de la fi- gure 1. De plus, la disquette d'étapes 150 est inutile. A la place, un disque seul de démarrage 220, qui est confi- guré pour démarrer le système cible 160, doit accompagner le système cible 160 sur la plate-forme d'usine. Ayant décrit de manière générale les systèmes d'installation et d'essai de logiciel, on va maintenant porter notre attention sur la description plus détaillée du fonctionnement des systèmes établis sur les figures 1 et 2. La figure 3A représente le processus préféré dans lequel un ordre de système d'ordinateur est converti en un enregistrement de descripteur de système pouvant être lu par ordinateur. De manière plus spécifique, à l'étape 300, un ordre est reçu concernant un système d'ordinateur cible. Cet ordre peut être un ordre quelcon- que parmi d'innombrables formes. Par exemple, différents formats d'ordre sont possibles ainsi que différents méca- nismes donneurs d'ordre. Par exemple, des ordres pour un système d'ordinateur cible peuvent être mis en place par téléphone, par courrier, ou sur des réseaux d'ordinateurs (par exemple internet). Quels que soient les moyens de prise d'ordre ou la forme de l'ordre, l'ordre comporte le type de système d'ordinateur cible qu'un client désire acheter et, de manière possible, une liste explicite des constituants particuliers que le client désire inclure dans ce système d'ordinateur cible. Après que l'ordre ait été reçu, une commande transite vers le module de trans- mission 310, temps pendant lequel l'ordre de système d'ordinateur cible est transmis sur un réseau d'ordina- teurs vers un système de fabrication (non-représenté) qui produit le système d'ordinateur cible. L'ordre de système d'ordinateur cible est aussi envoyé au système d'instal- lation et de test de logiciel o il est introduit dans un programme de conversion du module 320. Le réseau d'ordi- nateurs utilisé dans le module 310 peut être de tout type bien connu de la technique. Le programme de conversion convertit l'ordre de système d'ordinateur cible en enregistrement utile pour le processus de fabrication. De manière plus spécifique, le programme de conversion convertit l'ordre d'ordinateur tout d'abord en un enregistrement appelé fichier BAR, au module 330. De préférence, le fichier BAR contient un identificateur unique qui identifie le système d'ordina- teur cible spécifique fabriqué. Le fichier BAR contient aussi une liste détaillée des constituants, qui peuvent être à la fois logiciels et matériels, à inclure dans le système cible. De plus, on souhaite que le fichier BAR contienne des numéros de pièce spécifiques au fabricant ou d'autres identificateurs utiles pour chaque consti- tuant. Enfin, le fichier BAR peut contenir des informa- tions spécifiques au client telles que le nom, l'adresse, et le numéro de téléphone. Après la création du fichier BAR dans le module 330, un enregistrement descripteur de système est créé au niveau du module 340. Un enregistrement descripteur de système dans le mode préféré de réalisation, est un fi- chier pouvant être lu par ordinateur qui décrit les cons- tituants matériel et logiciel à inclure dans le système d'ordinateur cible. Dans un mode de réalisation préféré, l'enregistrement descripteur de système contient une liste de constituants du système cible dans un format comportant des étiquettes de matériel, des étiquettes de logiciel, des étiquettes d'information et des commentai- res. Une étiquette de matériel indique au programme de séquençage 204 que l'information suivant l'étiquette con- cerne un constituant matériel. De manière similaire, l'étiquette de logiciel indique que l'information suivant l'étiquette concerne un constituant logiciel. L'étiquette d'information indique qu'une information générale va sui- vre. Des commentaires permettent d'inclure diverses cons- tatations dans l'enregistrement descripteur de système, qui sont ignorées par le programme de séquençage 204. On souhaite que l'enregistrement descripteur de système soit un fichier texte qui peut être lu par l'homme et facile à comprendre. Un tel fichier permet avantageusement de dé- panner et d'entretenir facilement l'installation et le processus d'essai. Il sera noté que l'enregistrement des- cripteur de système peut être toute liste d'identifica- teurs uniques qui correspondent à un jeu unique d'an- neaux, par exemple, dans un exemple simple, l'enregistre- ment descripteur de système peut être une liste de numé- ros de pièce. La figure 3B représente un ordre 350 de système d'ordinateur cible donné en exemple, un fichier BAR 360 correspondant, et un enregistrement descripteur de sys- tème 370 correspondant. L'ordre de système d'ordinateur cible 350 contient le nom d'une famille d'ordinateurs, dans cet exemple, la famille "X". Trois constituants ma- tériels, donnés en exemple, comportant un processeur Pen- tium (nom commercial déposé), un disque dur, et un moni- teur sont aussi inclus dans l'ordre de système d'ordina- teur cible 350. Un fichier BAR 360 résulte du passage d'un ordre de système d'ordinateur cible 350 à travers un programme de conversion comme représenté dans le module 320 de la figure 3A. Le fichier BAR 360 contient un iden- tificateur unique pour le système d'ordinateur cible, spécifique de la famille X. Le fichier BAR 360 comporte aussi les numéros de pièce spécifiques du fabricant pour chacun des constituants listés dans la commande de sys- tème d'ordinateur cible. De plus, le fichier BAR 360 con- * tient un identificateur indiquant la quantité voulue de chaque constituant ainsi qu'une description textuelle de chaque constituant à inclure dans le système d'ordinateur cible. Le système 90 utilise un fichier BAR 360 pour créer un enregistrement descripteur de système 370. Comme représenté, l'enregistrement descripteur de système 370 contient aussi l'identificateur unique du système d'ordinateur cible spécifique de la famille X. De plus, l'enregistrement descripteur de système 370 con- tient des étiquettes appropriées, indiquant ici que le processeur, le disque dur et le moniteur sont tous des constituants matériels plutôt que des logiciels. L'enre- gistrement descripteur de système 370 décrit ces consti- tuants dans une description sous forme de texte. De plus, l'enregistrement descripteur de système 370 donné en exemple contient une étiquette de logiciel indiquant qu'un certain logiciel doit être installé ou testé sur le système d'ordinateur cible appartenant à la famille X. Par exemple, l'étiquette de logiciel peut indiquer qu'un certain système d'exploitation approprié au processeur Pentium (nom commercial déposé) doit toujours être ins- tallé sur le disque dur du système d'ordinateur cible ap- partenant à la famille X. Sur la figure 4, on a indiqué le procédé géné- ral préféré pour séquencer les étapes d'installation et d'essai de logiciel. Dans le module 400, l'identificateur unique du système d'ordinateur cible est produit pour le système d'ordinateur cible 160. Dans le mode de réalisa- tion représenté sur la figure 1, un utilisateur assis au niveau du système d'ordinateur générateur d'étapes 140 entre l'identificateur unique (par exemple l'identifica- teur BAR qui agit comme un code de suivi) dans le pro- gramme de séquençage 204 du créateur d'étapes 140. En va- riante, dans le mode de réalisation de la figure 2, l'identificateur unique est lu automatiquement dans le programme de séquençage 204 après que l'ordre de système d'ordinateur cible ait été reçu. Dans le module 410, on positionne un enregis- trement descripteur de système correspondant à l'identi- ficateur BAR. Dans le mode de réalisation de la figure 1, la connexion de réseau 110 ou la connexion de réseau 195 positionne l'enregistrement descripteur de système. Dans le mode de réalisation de la figure 2, la connexion de réseau 195 positionne l'enregistrement descripteur de système. Dans le module 420, l'enregistrement descripteur de système positionné est envoyé au programme de séquen- çage 204. Dans le mode de réalisation de la figure 1, le programme de séquençage se trouve dans le système d'ordi- nateur générateur d'étapes 140 alors que dans le mode de réalisation de la figure 2, le programme de séquençage se trouve dans un serveur de fichiers 202. Le programme de séquençage 204 agit en association avec une base de don- nées 100 (des figures 1 et 2) pour séquencer les étapes d'installation et d'essai de logiciel du système d'ordi- nateur cible 160. Lorsque les étapes d'installation et d'essai de logiciel appropriées pour le système d'ordina- teur cible particulier sont séquencées, le programme de séquençage 204 produit des fichiers de sortie comme indi- qué dans le module 430. Dans le mode de réalisation représenté sur la figure 1, les fichiers de sortie sont de préférence écrits sur une disquette d'étapes 150 (voir figure 1) dans six fichiers séparés. Ces fichiers comportent (1) un fichier Step, (2) un fichier Setenv.bat, (3) un fichier Qt.txt, (4) un fichier Et.txt, (5) un fichier Etlast.txt, et (6) un fichier Ft.txt. On préfère que le fichier Step soit un fichier texte ASCII comportant une liste de li- gnes d'instruction appropriées pour exécuter les étapes d'installation et d'essai de logiciel sur le système d'ordinateur cible commandé. Dans un mode préféré de réa- lisation, le fichier Step comporte aussi des instructions qui peuvent être mises en boucle. De manière plus spéci- fique, le fichier Step permet de répéter des instructions sur un nombre défini d'itérations ou sur une durée défi- nie. Un tel format permet avantageusement que les étapes d'installation et d'essai de logiciel soient répétées d'une manière calculée, prédéterminée. Le fichier Se- tenv.bat établit de préférence des variables d'environne- ment concernant le système d'ordinateur cible. Il sera noté que dans un mode de fonctionnement, seuls les fi- chier Step et Setenv.bat sont nécessaires pour l'instal- lation et l'essai. Le fichier Step et le fichier Se- tenv.bat sont des fichiers de séquences en texte ASCII contenant une liste de lignes d'instruction appropriées pour exécuter les étapes d'installation et d'essai du système d'ordinateur cible. Les fichiers Qt. txt, Et.txt, Etlast.txt et Ft.txt sont tous de préférence des fichiers texte ASCII contenant une liste de lignes d'instruction appropriées pour exécuter les étapes d'installation et d'essai de logiciel du système d'ordinateur cible dans les phases Quick Test (Qt), Extended Testl (Et), Extended Test2 (Etlast), et Final Test (Ft) de fabrication du sys- tème d'ordinateur cible. Dans le mode de réalisation de la figure 2, d'autre part, les fichiers de sortie ne sont pas écrits sur une disquette d'étapes comme représenté sur la figure 1. A la place, les fichiers de sortie se trouvent sur un serveur de fichiers 202 ou un serveur de fichiers 190, o ils sont utilisés pour diriger l'exécution des étapes d'installation et/ou d'essai de logiciel sur le système d'ordinateur cible 160. La figure 5 représente une vue plus détaillée, schématique, du fonctionnement du programme de séquençage 204 représenté sur les figures 1 et 2. Dans le module 500, un enregistrement descripteur de système correspon- dant à un système d'ordinateur cible 160 est envoyé au programme de séquençage 204. Dans le module 510, un des- cripteur de constituant est lu dans l'enregistrement des- cripteur de système. Chaque descripteur de constituant décrit un constituant respectif, qu'il soit matériel ou logiciel, du système d'ordinateur cible. En se reportant à la figure 3B, la ligne de l'enregistrement descripteur de système comportant le processeur Pentium (nom commercial déposé) du module 370 est un descripteur de constituant donné en exemple. Dans le module 520, le programme de séquençage 204 initialise plusieurs objets dérivés correspondant aux plusieurs constituants du système d'ordinateur cible 160. Dans le mode préféré de réalisation, ces objets dérivés sont uti- lisés pour mémoriser des informations (obtenues à partir de la base de données 100) concernant les étapes d'ins- tallation et d'essai de logiciel qui sont nécessaires pour le système d'ordinateur cible 160. Dans le module 550, les étapes d'installation et d'essai associées aux constituants respectifs du système d'ordinateur cible 160 sont récupérées dans la base de données 100 et mémorisées dans l'objet dérivé approprié. Dans le mode de réalisa- tion de la figure 1, les étapes sont récupérées via une connexion de réseau 110 alors que sur le mode de réalisa- tion de la figure 2, les étapes peuvent être récupérées directement à partir du serveur de fichiers 202. Pour dé- crire la manière par laquelle les étapes sont récupérées dans la base de données 100 dans le mode préféré de réa- lisation, il est nécessaire de faire une description de la construction préférée de cette base de données. La figure 6 représente la conception de la base de données 100. La base de données 100 associe des sé- quences d'étapes d'installation et/ou d'essai de logi- ciel, dans un ordre prédéterminé, à des familles de sys- tèmes d'ordinateur. De plus, la base de données 100 est configurée pour associer les constituants de systèmes d'ordinateur avec des familles de systèmes d'ordinateur. Encore, la base de données 100 associe des étapes d'ins- tallation et/ou d'essai de logiciel avec des constituants des systèmes d'ordinateur. La base de données 100 est de préférence une base de données relationnelle. La base de données 100 contient plusieurs tables, contenant chacune des attri- buts adaptés pour créer les associations mentionnées ci-dessus. La base de données 100 contient une table Step 102, une table SysFamily 104, une table SysStepSeq 106, une table Component 108, une table Sys_Comp 112, et une table CompStep 114. Dans le mode préféré de réalisation, chaque table contient une liste d'attributs, les attri- buts soulignés servant de clé principale. La table Step 102 contient un ensemble d'étapes d'installation et d'essai de logiciel partagé par diffé- rents constituants de toutes les familles d'ordinateurs. Dans la construction préférée, la table Step 102 a des attributs comportant StepID, Phase, Name, Cmd, CmdType, AfterCode, et MaxInstance. StepID est un numéro d'identi- fication unique pour chaque étape d'installation ou d'es- sai de logiciel. Phase désigne à quelle phase de fabrica- tion l'étape doit être exécutée. Par exemple, Phase est un nombre entier choisi pour correspondre à quatre phases de la fabrication du système d'ordinateur, constituées de: (1) Quick Test, (2) Extended Testl, (3) Extended Test2, et (4) Final Test. Name est une chaîne assignant un nom qui est représentatif de l'étape. Cmd est une chaîne assignant une ligne d'instructions exécutables pour réaliser l'étape d'installation ou d'essai de logi- ciel sur un système cible 160 (représenté sur les figures 1 et 2). AfterCode est un identificateur qui détermine si un arrêt ou un redémarrage est nécessaire après que l'étape d'installation ou d'essai de logiciel ait été exécutée. MaxInstance est un identificateur qui indique le nombre maximum de temps permis pendant lequel l'étape peut être exécutée. Enfin, ClassID identifie un certain type de constituant qui est associé à l'étape d'installa- tion ou d'essai de logiciel. La table SysFamily 104 identifie chaque famille de systèmes d'ordinateur à l'aide d'un nombre entier d'identification spécifié dans l'attribut SysID. Une chaîne d'identification du nom de la famille est aussi incluse dans la table SysFamily. La table SysStepSeq 106 est une table rela- tionnelle qui contient les relations entre la table Step 102 et la table SysFamily 104. La table SysStep_Seq 106 comporte un nombre entier d'identification de famille spécifié dans l'attribut SysID pour une famille particu- lière de systèmes d'ordinateur (provenant de la table SysFamily 104), un nombre entier d'identification d'étape spécifié dans l'attribut StepID (provenant de la table Step 102) identifiant un ensemble particulier d'étapes appropriées pour cette famille, et un nombre de séquen- ces. Le numéro de séquence est de préférence contenu dans l'attribut SeqNum qui représente une commande prédétermi- née dans laquelle les étapes associées à une famille par- ticulière doivent être exécutées. Des ingénieurs d'essai assignent les numéros de séquence, uniques pour chaque phase de fabrication, dans un ordre choisi pour être le plus efficace pour un système cible particulier. Il sera noté que d'autres manières d'assigner des numéros de sé- quence peuvent être utilisées. La table Component 108 contient tous les cons- tituants possibles qui sont inclus dans les systèmes d'ordinateur fabriqués. Les attributs de cette table sont de préférence CompID qui assigne un identificateur à cha- que constituant, NameDesc qui assigne un nom de chaîne à chaque constituant, et ClassID qui indique le type de constituant (par exemple disque dur, CD-ROM). La table Sys_Comp 112 est une table relation- nelle contenant des relations entre une famille de systè- mes d'ordinateur et un ensemble de constituants qui peu- vent être inclus dans cette famille. Les attributs de la table Sys_Comp 112 comportent un nombre entier d'identi- fication de famille d'ordinateurs spécifié dans l'attri- but SysID (provenant de la table SysFamily 104) et un nombre entier d'identification de constituant spécifié dans l'attribut CompID (provenant de la table Component 108). La table Comp_Step 114 est une table relation- nelle contenant des relations entre un constituant et un ensemble d'étapes d'installation et d'essai de logiciel appropriées pour ce constituant. Les attributs de la ta- ble Comp_Step 114 comportent un entier d'identification de constituant spécifié dans l'attribut CompID (provenant de la table Component 108) et un nombre entier d'identi- fication d'étape spécifié dans l'attribut StepID (prove- nant de la table Step 102). Le système d'ordinateur cible donné en exemple, représenté sur la figure 3B, va être utilisé pour montrer comment la conception de la base de données indiquée ci-dessus est utilisée pour récupérer des étapes d'ins- tallation et d'essai de logiciel. L'identificateur de la famille d'ordinateurs de l'enregistrement descripteur de système identifiant la famille X est associé au SysID correspondant à la famille X dans la table SysFamily 104. La table Component 108 est utilisée pour contrôler si les constituants du système d'ordinateur cible listés dans l'ordre de système d'ordinateur cible sont légaux. En d'autres termes, le programme de séquençage et la base de données déterminent si le processeur, le disque dur, le moniteur, et le logiciel contenus dans l'enregistrement descripteur de système de la figure 3B ont des entrées correspondantes et des nombres entiers correspondants spécifiés par CompID dans la table Component 108. Si un constituant n'est pas légal (c'est-à-dire si un consti- tuant de l'enregistrement descripteur de système n'est pas contenu dans la table Component 108), un drapeau d'erreur est levé. La table Sys_Comp 112 est une table relationnelle qui contient des mappages de la table Com- ponent 108 et de la table SysFamily 104. La table Sys_Comp 112 contient tous les constituants légaux qui peuvent être inclus dans un système d'ordinateur cible appartenant à la famille X. Ainsi, la table Sys_Comp 112 peut être utilisée pour contrôler si tous les consti- tuants du système cible sont légaux. En d'autres termes, le programme de séquençage et la base de données détermi- nent si le processeur, le disque dur, le moniteur, et le logiciel contenus dans l'enregistrement descripteur de système de la figure 3B ont des relations correspondantes dans la table SysComp 112. Si un constituant n'est pas légal (c'est-à-dire si un constituant de l'enregistrement descripteur de système ne peut pas être inclus dans un système cible appartenant à la famille X), un drapeau d'erreur est levé. Dans la table relationnelle SysStep_Seq 106 se trouvent des mappages de la table Step 102 et de la table SysFamily 104. La table SysStep Seq 106 contient toutes les étapes d'installation et d'essai de logiciel qui peu- vent légalement être mises en oeuvre sur les systèmes d'ordinateur cible appartenant à la famille X. De plus, c'est dans la table SysStep_Seq 106 que des numéros de séquence et de phase sont associés à chaque étape d'ins- tallation et d'essai de logiciel. Ces numéros de séquence et de phase représentent l'ordre correct dans lequel les étapes doivent être mises en oeuvre pour une famille par- ticulière de systèmes d'ordinateur. Par conséquent, la table Sys_Step_Seq 106 contient une liste d'étapes à met- tre en oeuvre sur les systèmes d'ordinateur cible de la famille X ainsi que des numéros de séquence et de phase représentant un ordre prédéterminé dans lequel les étapes doivent être exécutées. La table Comp_Step 114 est une table relation- nelle qui contient des mappages provenant de la table Component 108 et de la table Step 102. La table Comp_Step 114 contient les étapes d'installation et d'essai de lo- giciel à mettre en oeuvre pour le processeur, le disque dur, le moniteur et le logiciel du système d'ordinateur cible. Récupérer les étapes d'installation et d'essai de logiciel associées aux constituants respectifs à in- clure dans le système cible implique de réaliser une opé- ration de rapprochement de la table Sys_Comp 112 et de la table Comp_Step 114 pour obtenir une liste intermédiaire d'étapes à mettre en oeuvre sur les constituants du sys- tème d'ordinateur cible 160. L'opération de rapprochement a pour résultat une liste d'étapes à mettre en oeuvre sur le processeur, le disque dur, le moniteur, et le logiciel listés dans l'enregistrement descripteur de système représenté sur la figure 3B. Le résultat du rapprochement de la table Sys_Comp 112 et de la table Comp_Step 114 est alors rap- proché de la table SysStep_Seq 106 qui contient toutes les étapes pour la famille X. Le résultat de cette opéra- tion de rapprochement comporte des informations de sé- quençage sous la forme de numéros de séquence et numéros de phase, les numéros de séquence étant uniques pour une phase particulière. Ainsi, un rapprochement de trois ta- bles constituées de la table Sys_Comp 112, la table Comp_Step 114, et la table Sys_Step_Seq 106 aboutit aux étapes appropriées d'installation et d'essai de logiciel ainsi qu'à des informations de séquençage sous la forme de numéros de séquence et de phase pour installer et/ou tester un logiciel situé dans le système d'ordinateur ci- ble 160. Si le résultat de la première opération de rap- prochement (le rapprochement de la table Sys_Comp 112 et de la table Comp_Step 114) est un ensemble vide, un état d'erreur est déterminé, du fait qu'un ensemble vide indi- que qu'un constituant à inclure dans le système cible n'appartient pas à la famille listée dans l'enregistre- ment descripteur de système. Un exemple de ceci est re- présentatif. On considère qu'un enregistrement descrip- teur de système indique correctement qu'un système d'or- dinateur cible appartient à la famille Y. On suppose, ce- pendant, que l'enregistrement descripteur de système in- dique de manière incorrecte qu'un disque dur (disque dur Z) appartenant seulement au système cible de la famille X doit être inclus dans le système cible qui est de la fa- mille Y. Dans ce cas, la table Comp_Step 114 contient des étapes associées au disque dur Z. La table SysComp 112 contient des constituants associés à la famille Y. Ainsi, en rapprochant la table Comp_Step 114 avec la table Sys_Comp 112 on produit un ensemble vide, du fait que le disque dur Z n'est pas un constituant associé à la fa- mille Y (il est seulement associé à la famille X). Comme cela apparaît de l'exemple ci-dessus, la conception pré- férée de la base de données permet avantageusement d'être sûr qu'un système cible d'une certaine famille contient tous les constituants appropriés pour cette famille. En se reportant à nouveau à la figure 5, après que les étapes associées aux constituants à inclure dans le système cible aient été récupérées, le programme de séquençage 204 prépare des variables d'environnement du système d'ordinateur cible dans le module 560 en lisant l'enregistrement descripteur de système et en créant un fichier d'environnement correspondant aux constituants à inclure dans le système cible. Par exemple, l'enregistre- ment descripteur de système représenté sur la figure 3B est lu, et une variable d'environnement telle que "éta- blir cpu = pentium" doit être préparée en correspondance au constituant matériel du processeur de l'enregistrement descripteur de système. Dans le module 570 de la figure 5, la pluralité d'étapes d'installation et d'essai de logiciel récupé- rées, récupérée par le rapprochement des trois tables dé- crit ci-dessus, est séquencée dans l'ordre prédétermine. Ce séquençage est conforme aux numéros de séquence et nu- méros de phase respectifs pour fournir une séquence d'étapes. Le séquençage lui-même peut être réalisé en utilisant l'un quelconque de nombreux algorithmes de tri bien connus dans la technique. Dans le module 580, le programme de séquençage 204 émet des fichiers. Comme mentionné précédemment, les fichiers de sortie, sont de préférence écrits sur une disquette d'étapes 150 (voir figure 1) dans six fichiers séparés dans le mode de réalisation représenté sur la fi- gure 1. Ces fichiers comportent (1) un fichier Step, (2) un fichier Setenv.bat, (3) un fichier Qt.txt, (4) un fi- chier Et.txt, (5) un fichier Etlast.txt, et (6) un fi- chier Ft.txt. On préfère que le fichier Step soit un fi- chier texte en ASCII. Dans un mode préféré de réalisa- tion, le fichier Step comporte aussi des instructions qui peuvent être mises en boucle. De manière plus spécifique, le fichier Step permet que des instructions soient répé- tées un nombre défini de fois ou d'itérations ou sur un temps défini. Le fichier Setenv.bat établit des variables d'environnement du système d'ordinateur cible. Le fichier Step contient les étapes à exécuter respectivement pen- dant les phases Quick Test (Qt), Extended Testl (Et), Ex- tended Test2 (Etlast), et Final Test (Ft) de la fabrica- tion du système d'ordinateur cible. Dans le mode de réa- lisation de la figure 2, d'autre part, les fichiers de sortie ne sont pas écrits sur une disquette d'étapes comme représenté sur la figure 1. A la place, les fi- chiers de sortie résident dans un serveur de fichiers 202 ou un serveur de fichiers 190, qui peuvent être utilisés pour diriger l'exécution des étapes d'installation et d'essai de logiciel du système d'ordinateur cible 160. En se reportant à nouveau aux figures 1 et 2, la flèche 130 représente les modifications qui peuvent être faites en ce qui concerne la base de données 100. Par exemple, si une nouvelle famille de systèmes d'ordi- nateur est créée, on peut modifier en conséquence la base de données 100. De manière plus spécifique, la nouvelle famille reçoit un identificateur de nouvelle famille dans SysID de la table SysFamily 104 et un nom pour la nou- velle famille est assigné à l'attribut Name de la table SysFamily 104. Une liste d'étapes d'installation et d'étapes d'essai de logiciel est ajoutée à la table Sys_Step_Seq 106, ces étapes représentant quelles étapes doivent être mises en oeuvre, et dans quel ordre prédé- terminé, pour la nouvelle famille de systèmes d'ordina- teur. Si la nouvelle famille de systèmes d'ordinateur partage plusieurs similitudes avec une famille existante, il est probable que des entrées destinées à la famille existant dans la table Sys_Step_Seq 106 puissent être mo- difiées pour produire des entrées pour la nouvelle fa- mille. Si des étapes nouvelles quelconques doivent être créées pour la nouvelle famille de systèmes d'ordinateur, ces étapes sont ajoutées à la table Step 102. De manière similaire, si des nouveaux constituants quelconques ac- compagnent la nouvelle famille de systèmes d'ordinateur, ces constituants sont ajoutés à la table Component 108. La table Comp_Step 114 est mise à jour pour associer cha- que constituant de la nouvelle famille de systèmes d'or- dinateur aux étapes appropriées d'installation et d'essai de logiciel. Si la nouvelle famille utilise uniquement des constituants existant déjà dans la base de données, cette table ne doit pas être modifiée. La table Sys_Comp 112 est mise à jour de sorte qu'une liste de constituants permis qui peuvent être inclus dans la nouvelle famille soit dans la base de données. En particulier, il est né- cessaire d'associer le SysID du nouveau système d'ordina- teur à CompID de chaque constituant permis. A nouveau, ceci peut être fait en copiant et ensuite en modifiant une entrée existante d'une famille plus ancienne de sys- *témes d'ordinateur. Il doit être noté qu'en construisant une base de données selon le mode préféré de réalisation, certains avantages significatifs sont fournis. En particulier, la conception modulaire de la base de données permet avanta- geusement d'établir avec facilité les étapes d'installa- tion et d'essai de logiciel pour de nouvelles familles de systèmes d'ordinateur. De plus, les étapes d'installation et d'essai de logiciel d'une famille particulière de sys- tème d'ordinateur, ou d'un constituant particulier, peu- vent être modifiées indépendamment des autres étapes d'installation et d'essai de logiciel. La figure 7 montre comment un enregistrement descripteur de système et une séquence d'étapes peuvent être corrigés pour permettre des modifications modulaires du processus d'installation et d'essai de logiciel selon la présente invention. Dans le module 600, un enregistre- ment descripteur de système est créé. Dans le module 610, l'enregistrement descripteur de système est modifié en utilisant une correction d'enregistrement descripteur de système. Dans le mode préféré de réalisation, cette cor- rection est modulaire, en permettant de créer des correc- tions pour un système d'ordinateur cible spécifique, une famille particulière de systèmes d'ordinateur ou un cons- tituant particulier. Par exemple, si un fabricant sou- haite remplacer une marque de disque dur par une autre pour une certaine famille de systèmes d'ordinateur lors d'un certain jour, une correction peut être mise en forme qui va modifier tous les enregistrements descripteurs de système contenant le disque dur à remplacer et faire la substitution dans le module 610. Dans le module 620, une séquence d'étapes est déterminée comme indiqué ci-dessus. Dans le module 630, la séquence d'étapes est modifiée en utilisant une correction de séquence d'étapes. Dans le mode préféré de réalisation, cette correction est modu- laire, en permettant de créer des corrections pour un système d'ordinateur cible spécifique, une famille parti- culière de systèmes d'ordinateur ou un constituant parti- culier. Par exemple, si un fabricant souhaite exécuter une étape d'essai avant une autre pour un certain consti- tuant lors d'un certain jour, une correction peut être mise en forme qui va modifier toutes les séquences d'éta- pes contenant les étapes dont l'ordre doit être modifié et changer de manière correspondante l'ordre d'exécution dans le module 640. On va maintenant porter notre attention sur l'exécution de la séquence d'étapes sur le système cible 160. Les étapes d'installation et d'essai de logiciel sont exécutées sur un système d'ordinateur cible 160 en utilisant un programme qui lit, interprète, et exécute la séquence d'étapes correspondant au système d'ordinateur cible. Dans le mode préféré de réalisation, ce programme est appelé Runstep et est situé sur la disquette d'étapes dans le mode de réalisation de la figure 1 et sur le serveur de fichiers 202 dans le mode de réalisation de la figure 2. La figure 8 représente une partie d'une sé- quence d'étapes contenue dans un fichier Step avant que des étapes quelconques d'installation et d'essai de logi- ciel n'aient été exécutées. Comme mentionné précédemment, la séquence d'étapes comporte des instructions pour ins- taller le logiciel et/ou pour tester le système d'ordina- teur cible personnalisé. De plus, la séquence d'étapes du fichier Step permet de répéter des instructions sur un nombre défini d'itérations ou sur une durée définie. De plus, le fichier Step peut contenir des remarques igno- rées par le programme Runstep. Dans le fichier Step, des marques 800 sont utilisées pour séparer les champs de la séquence d'étapes. Les éléments 810 sont des instructions pour tester le système d'ordinateur cible 160. Les ins- tructions comportent par exemple une instruction de tes- ter une mémoire ou de tester des petits dispositifs d'in- terface de système d'ordinateur (SCSI). Comme on peut le voir sur la figure, chaque instruction peut comporter des commutateurs tels que "-o" appropriés à l'environnement d'essai particulier. L'élément 820 est une remarque qui est ignorée par le programme Runstep. L'élément 810c est une instruction qui est mise en boucle par le temps. Dans la construction préférée, l'instruction "begin timeloop" désigne le point de départ d'une boucle. L'instruction "endtimeloop" désigne le point de fin d'une boucle. L'instruction "begintime loop" est combinée à un champ désignant la longueur de temps à répéter à travers la boucle. Ici, par exemple, l'instruction 810c est mise en oeuvre pendant une heure et trente minutes. L'élément 810d est une instruction qui est mise en boucle conformé- ment au nombre d'itérations. Dans le mode préféré de réa- lisation, l'instruction "begin_iterate_loop" indique au programme Runstep qu'une boucle itérative doit être réa- lisée. L'instruction "enditerate_loop" indique la fin des instructions de mise en boucle. Ici, l'instruction 810d est mise en oeuvre trois fois. Lorsque le programme Runstep exécute la sé- quence d'étapes, le programme Runstep place des informa- tions d'horodatage dans le fichier Step, en permettant avantageusement un dépannage et un suivi faciles du pro- cessus d'installation et d'essai de logiciel. La figure 9 représente une partie de la sé- quence d'étapes de la figure 8 après que les étapes aient été exécutées. Comme représenté, le programme Runstep in- sère des informations d'horodatage dans la séquence d'étapes. L'élément 830 indique lorsque le test de mé- moire a commencé, et l'élément 932 indique lorsque ce test s'est terminé. L'élément 834 indique lorsque la der- nière itération du test a commencé. Les éléments 836 et 838 indiquent lorsque le test scsiHD a commencé et s'est terminé, respectivement. L'élément 840 confirme que la boucle itérative a été réalisée trois fois. Enfin, les éléments 842 et 844 indiquent lorsque la dernière itéra- tion du test scsiCD a commencé et s'est terminée respec- tivement. Insérer des informations d'horodatage adjacen- tes à l'instruction qui a été exécutée permet avantageu- sement un dépannage et un suivi efficaces du processus d'installation et d'essai de logiciel. La figure 10 représente le déroulement général préféré du programme Runstep. Le programme Runstep 860 est mis en oeuvre dans une boucle avec un fichier séquen- tiel de Runstep 870. Le programme Runstep 860 lit et in- terprète une étape dans une séquence d'étapes et écrit l'instruction à mettre en oeuvre dans la séquence d'éta- pes du fichier séquentiel 870. Le fichier séquentiel 870 est alors mis en oeuvre, en exécutant l'étape sur le sys- tème d'ordinateur cible 160. A la fin d'une étape, une commande est renvoyée depuis le fichier séquentiel vers le programme Runstep 860 qui lit alors et interprète la nouvelle ligne de la séquence d'étapes. La figure 11 représente un fonctionnement plus détaillé du programme Runstep. Comme représenté dans le module 900, le programme Runstep contrôle tout d'abord pour voir si un fichier appelé Re Run.bat existe. Un fi- chier Re Run.bat est créé avant que toute instruction ne soit exécutée à partir d'une séquence d'étapes et est supprimé après la réalisation avec succès de l'instruc- tion. L'existence de Re Run.bat indique au programme Runstep dans le module 900 que la dernière instruction mise en oeuvre n'a pas été réalisée avec succès. Donc, ReRun.bat fonctionne comme une indication de début d'exécution. Si ReRun.bat existe, il est demandé à un opérateur du module 904 si oui ou non le processus d'ins- tallation et d'essai de logiciel doit être poursuivi ou si l'opérateur préfère à la place réaliser un dépannage. Si un opérateur choisit de poursuivre, alors la commande passe au module d'exécution 928 o le fichier Runstep.bat est à nouveau exécuté. Cette condition est l'option par défaut si aucune option n'est choisie de manière affirma- tive. Si l'option de dépannage est choisie, alors un dé- pannage est réalisé comme cela est bien connu dans la technique. Si Re Run.bat n'existe pas, alors le programme Runstep détermine que la dernière commande a été terminée correctement, et une commande est envoyée au module 910, o on lit une ligne constituée de la séquence d'étapes, contenue de préférence dans le fichier Step. Le programme Runstep lit la ligne et détermine s'il y a un horodatage de début ou de fin dans le module 912. S'il existe un ho- rodatage de début ou de fin, alors le programme Runstep détermine, dans le module 914, s'il existe uniquement un horodatage de début pour la ligne que le programme Runs- tep est en train de lire. S'il existe uniquement un horo- datage de début, alors le programme Runstep suppose dans le module 916 qu'une étape d'installation et d'essai de logiciel a juste été terminée et remplit un horodatage de fin dans le module 918. Après un remplissage de l'horoda- tage de fin, la commande est renvoyée au module 900. S'il y a plus qu'un seul horodatage de début pour la ligne que le programme Runstep est en train de lire, le programme Runstep détermine dans le module 906 s'il existe à la fois un horodatage de début et un horo- datage de fin. S'il en est ainsi, alors le programme Runstep suppose dans le module 908 que l'étape a été exé- cutée et que la commande a été renvoyée au module 900. Si le programme Runstep ne rencontre pas d'horodatage de dé- but ou de fin dans le module 912, alors le programme Runstep remplit l'horodatage de début dans le module 920 et se prépare à mettre en oeuvre l'étape de la ligne de la séquence d'étapes que le programme Runstep est en train de lire. Dans le module 922, le programme Runstep déter- mine si l'instruction à mettre en oeuvre est mémorisée sur une unité locale (le fichier Step commande quelle unité du système est l'unité locale). L'unité locale peut être par exemple la disquette d'étapes, un disque dur du système cible, une unité RAM du système cible, ou une unité de réseau. Si l'instruction n'est pas située sur l'unité locale, alors le programme Runstep suppose que le test à mettre en oeuvre est contenu sur un serveur de fi- chiers situé quelque part sur un réseau. Le programme Runstep détermine dans le module 932 si le programme Runstep est déjà connecté à ce réseau. Sinon, le pro- gramme Runstep dans le module 936, inclut une instruction dans Runstep. bat pour établir une communication avec le réseau. Par conséquent, une connexion de réseau est ef- fectuée avant que Runstep.bat n'exécute l'étape sur le système d'ordinateur cible 160 par la connexion de réseau 180. Après le module 936, la commande est envoyée au module 926. Si le programme Runstep est déjà en communi- cation avec le réseau, le programme Runstep, pendant le module 934, supprime les instructions provenant de Runs- tep.bat indiquant de se relier au réseau, du fait qu'une étape supplémentaire de communication est inutile si une connexion existe déjà avec le réseau. La commande est alors envoyée au module 926. Si l'étape à mettre en oeu- vre est située sur la disquette d'étapes 150, le pro- gramme Runstep n'a pas besoin d'être en communication avec le réseau. Ainsi, dans le module 924, le programme Runstep supprime les instructions provenant de Runs- tep.bat indiquant d'entrer en communication avec le ré- seau. La commande est alors envoyée au module 926. Dans le module 926, le programme Runstep intègre l'instruction correcte à exécuter dans Runstep.bat et dans ReRun.bat. L'instruction ainsi intégrée est prise dans la séquence d'étapes, contenue de préférence dans le fichier Step. Dans le module 928, l'étape est exécutée en mettant en oeuvre Runstep. bat et, si elle est exécutée avec succès, ReRun.bat est supprimé. Si l'étape n'est pas exécutée avec succès, alors le fichier ReRun.bat n'est pas effacé et la commande est transférée vers un état de panne 929. La commande est ensuite renvoyée vers le module 900 de sorte qu'une autre ligne peut être lue dans la séquence d'étapes. Ce processus se poursuit jusqu'à ce que toutes les étapes d'installation et d'essai de logiciel soient terminées. Lors de l'exécution de la séquence d'étapes, le système cible est testé et le logiciel est installé. Dans le mode de réalisation de la figure 1, un nombre sélec- tionné de tests peut être mis en oeuvre directement à partir de la disquette d'étapes 150, mais la majorité des tests sont mis en oeuvre à partir du serveur de fichiers par l'intermédiaire d'une connexion de réseau 180. Des tests de fonctionnement provenant du serveur de fi- chiers 190 éliminent avantageusement les limites imposées par les capacités de stockage des disquettes telles que la disquette d'étapes 150. Dans le mode de réalisation de la figure 2, les étapes sont mises en oeuvre à partir du serveur de fi- chiers 190 par l'intermédiaire de la connexion de réseau 180. Une disquette, ici une disquette de démarrage 220 est nécessaire uniquement pour démarrer le système d'or- dinateur cible 160. Un tel système simplifie avantageuse- ment le processus d'installation et d'essai de logiciel. En se reportant une fois encore aux figures 1 et 2, la flèche 210 indique que les résultats de l'ins- tallation et de l'essai de logiciel peuvent être renvoyés soit au serveur de fichiers 190 soit au serveur de fi- chiers 202. Les résultats indiquent de préférence si tou- tes les étapes ont été réalisées avec succès et quel type de panne (s'il y en a eu) a été rencontré. Enregistrer les résultats peut consister simplement à sauvegarder ou écrire une version modifiée du fichier Step après exécu- tion de la séquence d'étapes, du fait que comme décrit ci-dessus, le fichier Step est horodaté par le programme Runstep. Un tel système permet avantageusement des capa- cités de dépannage améliorées pendant la fabrication du système d'ordinateur. REVENDICATIONS 1. Dispositif pour installer un logiciel sur un système d'ordinateur, caractérisé en ce qu'il comporte: une table d'étapes (102), la table d'étapes contenant un ensemble d'étapes d'installation de logiciel partagé par différents constituants de pratiquement tous les systèmes d'ordinateur fabriqués, et une table de constituants (108), la table de constituants contenant un ensemble constitué sensiblement tous les constituants possibles qui sont inclus dans les systèmes d'ordinateur fabriqués. 2. Dispositif selon la revendication 1, carac- térisé en ce que la table d'étapes (102) comporte un at- tribut d'identification d'étape (StepID), l'attribut d'identification d'étape étant une identification unique pour chaque étape d'installation ou d'essai de logiciel. 3. Dispositif selon la revendication 1, carac- térisé en ce que la table d'étapes (102) comporte un at- tribut de phase (Phase) l'attribut de phase indiquant dans quelle phase de fabrication une étape doit être exé- cutée. 4. Dispositif selon la revendication 1, carac- térisé en ce que la table d'étapes (102) comporte un at- tribut d'instruction (Cmd), l'attribut d'instruction étant conforme à une ligne d'instruction exécutable pour réaliser une étape d'installation de logiciel. 5. Dispositif selon la revendication 1, carac- térisé en ce que la table d'étapes (102) comporte un at- tribut d'après codage (AfterCode), l'attribut d'après co- dage indiquant si un arrêt ou un redémarrage est néces- saire après qu'une étape correspondante ait été exécutée. 6. Dispositif selon la revendication 1, carac- térisé en ce que la table d'étapes (102) comporte un at- tribut d'instance maximum (MaxInstance), l'attribut d'instance maximum indiquant un nombre maximum de fois qu'une étape correspondante peut être mise en oeuvre. 7. Dispositif selon la revendication 1, carac- térisé en ce que la table d'étapes (102) comporte un at- tribut d'identification de classe (ClassID), l'attribut d'identification de classe identifiant un constituant qui est associé à une étape d'installation ou d'essai de lo- giciel. 8. Dispositif selon la revendication 1, carac- térisé en ce que la table de constituants (108) comporte un attribut d'identification de constituant (CompID), l'attribut d'identification de constituant identifiant chaque constituant de la table de constituants. 9. Dispositif selon la revendication 1, carac- térisé en ce que le système d'ordinateur correspond à une famille (X) de systèmes d'ordinateur, et en ce qu'il com- porte de plus: une table de relations étapes-famille (106), la table de relations étapes-famille identifiant la relation existant entre un ensemble d'étapes d'installation de logiciel et chaque famille de systèmes d'ordinateur fabriqués, une table de relations constituants- famille (112), la table de relations consti- tuants-famille identifiant la relation existant entre la famille de systèmes d'ordinateur et l'ensemble de constituants, et une table de relations constituant-étapes (114), la table de relations constituant-étapes identifiant la relation existant entre un cons- tituant et un ensemble d'étapes d'installation de logiciel approprié pour le constituant cor- respondant. 11. Dispositif selon la revendication 10, ca- ractérisé en ce que la table de relations étapes-famille (106) comporte un attribut d'identification de famille (SysID) identifiant une famille particulière des systèmes d'ordinateur. 12. Dispositif selon la revendication 10, ca- ractérisé en ce que la table de relations étapes-famille (106) comporte un attribut d'identification d'étape (Ste- pID) identifiant un ensemble particulier d'étapes appro- prié pour une famille particulière. 13. Dispositif selon la revendication 10, ca- ractérisé en ce que la table de relations étapes-famille (106) comporte un numéro de séquence (SeqNum) correspon- dant à chaque famille, le numéro de séquence représentant un ordre prédéterminé dans lequel les étapes associées à une famille doivent être exécutées. 14. Dispositif selon la revendication 10, ca- ractérisé en ce que la table de relations consti- tuants-famille (112) définit la relation existant entre un attribut identifiant une famille d'ordinateurs (SysID) et un attribut identifiant un constituant (CompID). 15. Dispositif selon la revendication 10, caractérisé en ce que la table de relations constituant-étapes (114) dé- finit la relation existant entre un attribut d'identifi- cation de constituant (CompID) et un attribut d'identifi- cation d'étape (StepID). 16. Dispositif selon la revendication 1, carac- térisé en ce qu'il comporte de plus: une table de familles (104), la table de fa- milles identifiant la famille de systèmes d'ordinateur à l'aide d'un nom. 17. Dispositif pour fournir plusieurs étapes, une étape étant associée à un descripteur de constituant respectif et comportant un numéro de séquence respectif, un descripteur de constituant décrivant un constituant respectif d'un système d'ordinateur, le dispositif com- portant: une table d'étapes (102), la table d'étapes contenant un ensemble d'étapes d'installation de logiciel partagé parmi différents consti- tuants de pratiquement tous les systèmes d'or- dinateur fabriqués, une table de constituants (108), la table de constituants contenant un ensemble constitué de pratiquement tous les constituants possibles qui sont inclus dans pratiquement tous les sys- tèmes d'ordinateur fabriqués. 18. Dispositif selon la revendication 17, ca- ractérisé en ce que le système d'ordinateur correspond à une famille (X) de systèmes d'ordinateur, et en ce qu'il comporte de plus: une table de relations étapes-famille (106), la table de relations étapes-famille identifiant la relation existant entre un ensemble d'étapes d'installation de logiciel et une famille de systèmes d'ordinateur fabriqués, une table de relations constituants-famille (112), la table de relations consti- tuants-famille identifiant la relation existant entre la famille de systèmes d'ordinateur et l'ensemble de constituants, une table de relations constituant-étapes (114), la table de relations constituant-étapes identifiant la relation existant entre un cons- tituant et un ensemble d'étapes d'installation de logiciel approprié au constituant correspon- dant.