ChatGPT : Spécification, Plan de Vérification Système (partie 3)

Un Ingénieur Systèmes peut-il adopter le SEGAIA (Systems Engineering GenAI-Assisted) dans ses travaux dans l'Industrie ? Étudions dans cet article un exemple de Spécification et Vérification au niveau Système.

Je propose dans cette série d'articles "ChatGPT et Ingénierie Systèmes" d'évaluer, à date, l'utilité de cet outil d'IA générative dans un cadre industriel comme une aide à la conception, développement, validation de Produits.

Je vous conseille la lecture des 2 articles précédents avant d'attaquer celui-ci : Besoin et Faisabilité.

Exemple d’application : un cuit-vapeur

Notre sujet d’application pour notre étude en tant qu’Architecte Systèmes reste : un cuit-vapeur.

conception système avec chatgpt Aurélien Nardini cuit vapeur
Superbe machine

Aide n°3 : Application d’exigences Besoin vers Système

Déclinaison manuelle

Je reprends l’un de mes besoin initiaux et le rédige proprement pour en faire une véritable exigence de Besoin :

Avec le Système, le cuisinier peut commencer la cuisson vapeur de ses aliments en moins de 5min, une fois les aliments mis en place.

Vous reconnaissez la structure d’exigence que je recommande.

Comment décliner cette exigence de besoin vers des exigences Système ? Ou plutôt, comment appliquer cet exigence de Besoin à notre Système ?

Décliner vers le Système ne veut pas dire paraphraser l’exigence de Besoin pour l’écrire dans un jargon technique. Il s’agit de se poser de véritables questions qui vont amener à la conception du Produit. La question de base étant : « qu’est-ce que cela implique pour mon Système » ? En termes d'interfaces, de performances, de conditions opérationnelles etc.

Pour cette exigence-ci, les questions à se poser foisonnent et les réponses sont importantes.

Hypothèse : On suppose qu’on ne va pas révolutionner la cuisson vapeur, et qu’on va créer de la vapeur par la bonne vieille méthode. A savoir mettre une résistance chauffante dans de l’eau, et attendre qu’elle chauffe assez pour se transformer en vapeur. Si vous voulez révolutionner le cuit-vapeur en exploitant des phénomènes physiques autres pour créer de la vapeur, vous pouvez vous servir de la base des 2500 Effects de la méthode TRIZ.

Ainsi, ce que « cela implique » pour notre Système :

  • Quelle est la puissance à apporter à l’eau pour créer de la vapeur en moins de 5 min ?
  • De quel volume d’eau parlons-nous ? Celui pour faire cuire l’aliment le plus coriace ?
  • Quel est l’aliment le plus coriace à la cuisson vapeur ? La pomme de terre ? L’épi de Maïs ? Ces aliments sont-ils réellement consommés dans notre marché cible pour ce produit ?
  • Comment se lance la cuisson ?  De manière automatique ? Manuellement en appuyant sur un bouton ? A quel moment le timer de cuisson est réglé ?
  • Le système doit-il signaler à l’utilisateur qu’il est en fonctionnement ? Que de la vapeur est produite ? Qu’il n’y a plus d’eau ? Que la cuisson est finie (ou en tout cas le timer) ?
  • Et d’ailleurs, comment placer les aliments dans le Produit ? Est-ce que ce sera vraiment « dans » le produit ?
  • Si jamais la cuisson ne démarre pas, ou met trop de temps à se lancer, que faire ?
  • Combien de cuisson le cuisinier compte-t-il faire avec ce cuit vapeur en tout ? 500 ? 36000 ?
  • Comment éviter tout danger au remplissage de l’eau, lancement de la cuisson, etc ?
  • Quelle température et humidité fait-il dans une cuisine ? En Europe ? Aux Caraïbes ?
  • L'appareil sera alimenté sur secteur ?
  • Y a-t-il des règlementations à suivre pour un appareil de cuisson (vapeur en l’occurrence) ?
  • Etc.

La déclinaison manuelle que je proposerais (à titre purement illustratif, non exhaustif) pour cette exigence de Besoin après travaux serait quelque chose dans le goût de ce qui suit :

  • Le système doit développer une puissance de chauffe de 1kW en moins de 1s une fois branché au secteur et timer lancé, pour faire chauffer de l’eau
  • Le système doit pouvoir contenir un volume d’eau compris entre 0,5L et 6L qu’il soit alimenté ou non.
  • Le système doit permettre à l’utilisateur de régler le temps de cuisson sur le timer, en moins de 15secondes
  • Le système doit permettre à l’utilisateur de lancer la cuisson par un simple appui de bouton
  • Le système doit permettre à l’utilisateur de mettre en pause et faire reprendre la cuisson par 2 simples appuis successifs de bouton
  • Le système doit permettre à l’utilisateur d’arrêter la cuisson par 1 long appui de bouton
  • Le système doit émettre un son continu à fréquence XMHz, pendant Y sec à XdB.
  • Le système doit afficher par une LED rouge que la résistance est en train de chauffer
  • Le système doit comporter 3 compartiments séparés pour disposer les aliments
  • Le système doit allumer une LED orange en cas de problème X.
  • Le système doit pouvoir opérer 36 000 cuissons de 30min chacune
  • Le système ne doit pas permettre lors du remplissage de l’eau de toucher avec les doigts à la résistance et aux éventuelles parties électrifiées.
  • Le système doit pouvoir être utilisé dans une cuisine en France, température ambiante 25°C, humidité 85%
  • Le système doit être marqué CE
  • Etc.

Vous noterez que dès cette déclinaison, je prends des décisions de conception (LED, bouton, buzzer, …). C’est une bonne pratique de repousser ces choix le plus tard possible dans le design, mais si on sait déjà qu’on veut mettre cela dans la système (car le client le veut, ou car c’est ce qu’on sait faire…) alors pourquoi ne pas se le spécifier directement. Concernant le fait que le système ne doit pas permettre de toucher à la résistance lorsqu’on verse de l’eau dedans, je n'ai pas encore précisé le « comment » par contre.

Prompting d’un ingénieur débutant

Maintenant, voyons ce que ChatGPT va nous donner comme déclinaison. Je vais simplement parler de « déclinaison » dans mon prompt pour ne pas lui mâcher le travail (j’aimerais plutôt que ce soit lui qui me le mâche !).

Mon Prompt :

Tu es Architecte Systèmes, et moi aussi. Nous sommes chargés de la conception, développement et validation d'un cuit-vapeur. On ne cherche pas à révolutionner ce genre de produit. L'exigence de Besoin principale est "Avec le Système, le cuisinier peut commencer la cuisson vapeur de ses aliments en moins de 5min, une fois les aliments mis en place." Décline cette exigence de Besoin en exigences Systèmes.
Faire de l'ingénierie systèmes avec chatgpt pour concevoir des produits aurélien nardini
La réponse de la Bête

Sa Réponse :

[...] quelques exemples d'exigences systèmes dérivées de la principale exigence:

  • Temps de Préchauffage:
  • Le système doit permettre au cuit-vapeur d'atteindre la température de cuisson optimale en moins de 5 minutes dès que l'utilisateur l'a activé.
  • Interface Utilisateur Intuitive:
  • L'interface utilisateur du cuit-vapeur doit être conviviale, permettant à l'utilisateur de démarrer le processus de cuisson en moins de 5 minutes après avoir placé les aliments dans l'appareil.
  • Contrôle de Température Rapide:
  • Le système de contrôle de la température doit réagir rapidement aux ajustements de l'utilisateur pour garantir une cuisson vapeur efficace dans le délai spécifié.
  • Notification de Préchauffage Terminé:
  • Le cuit-vapeur doit émettre une notification, que ce soit visuelle ou sonore, pour informer l'utilisateur que le préchauffage est terminé et qu'il peut commencer la cuisson.
  • Réglage Rapide des Paramètres de Cuisson:
  • Le système doit permettre à l'utilisateur de configurer rapidement les paramètres de cuisson tels que la durée et l'intensité de la vapeur, en moins de 5 minutes.
  • Détection Automatique des Aliments:
  • Idéalement, le système devrait être capable de détecter automatiquement les types d'aliments placés à l'intérieur, ajustant ainsi les paramètres de cuisson en conséquence.
  • Sécurité en Cas de Mauvaise Manipulation:
  • Le cuit-vapeur doit être doté de mécanismes de sécurité pour éviter toute mauvaise manipulation, assurant ainsi que la cuisson ne démarre qu'après avoir correctement positionné les aliments
  • Consommation d'Énergie Efficiente:
  • Le système doit être conçu pour minimiser la consommation d'énergie pendant la phase de préchauffage, tout en garantissant des performances optimale
  • Maintien de la Température Après la Cuisson:
  • Le cuit-vapeur doit être capable de maintenir la température adéquate après la cuisson pour que les aliments restent chauds sans être surcuits.

Ce que je voulais :

  • Une liste d’exigences systèmes

Ce que j’ai eu :

  • Une liste d’exigences systèmes

Ce que je n’ai pas eu :

  • Rien à signaler de particulier (voir « c’est moins bien »)

C’est bien :

  • Ce n’est pas que du rephrasing !
  • Il y a un peu d’opérationnel, du fonctionnel,
  • Il y a très peu d’hypothèses matériels (contrairement à moi),
  • Il y a de l’interface utilisateur,
  • Une réflexion sur la fin de fonction et  « l’après » de la fonction,
  • Une réflexion sur la Sécurité
  • Et même de l’éco-conception (limitée : consommation électrique seulement)

C’est moins bien :

  • Il n’y a pas de considérations d’environnements, règlementation
  • Petite confusion sur les 5 min : à quel moment démarrent-elles exactement ? (mon exigence de Besoin laisse la porte ouverte à ces questions, j’en conviens, et c'est sain de détecter ces imprécisions maintenant)
  • Tous les FMDS ne sont pas traités

A noter également :

  • On remarque au passage une mention « d’intensité de vapeur ». J’ignore si c’est quelque chose qui se fait dans le monde des produits du cuit-vapeur ?

Pertinence et gain de temps pour un Ingénieur Systèmes débutant : C’est pas mal du tout ! Cela fait même mieux que mettre le pied à ’étrier ! Je n’en attendais pas tant.

J'utilise chatgpt pour spécifier un produit en tant qu'architecte système Aurélien Nardini
4/5 !

Et pour un expert de l’Ingénierie Systèmes ?

On peut l’interroger sur ce qui est améliorable dans sa première réponse. C'est le propre d'un Expert : regarder ce qui manque et pousser plus loin la réflexion.

Mon Prompt :

Complète ces exigences avec les considérations suivantes :
- Environnements (mécanique, thermique, électromagnétique, chimique)
- Règlementation et standards
- Fiabilité, Disponibilité, Sûreté
J'exploite chatgpt pour qu'il fasse la conception système à ma place Aurélien Nardini architecte
Et la Machine parla

La réponse de ChatGPT :

[...]

###1. **Environnements :**

 a.**Mécanique :**

    -Les composants mécaniques du cuit-vapeur doivent résister à une utilisation régulière, avec une durabilité suffisante pour supporter une ouverture et une fermeture fréquentes du couvercle.

 

 b.**Thermique :**

    -Le système doit être capable de maintenir une température constante et uniforme pendant la cuisson, avec une isolation thermique efficace pour minimiser les pertes de chaleur.

    -Les matériaux utilisés doivent être conformes aux normes de sécurité thermique pour éviter tout risque de brûlure pour l'utilisateur.

 c.**Électromagnétique :**

    -Les composants électroniques doivent être conçus pour minimiser les interférences électromagnétiques qui pourraient affecter d'autres appareils électroniques à proximité.

 d.**Chimique :**

    -Les matériaux en contact avec les aliments doivent être conformes aux normes de sécurité alimentaire pour éviter toute contamination chimique.

    -Les produits de nettoyage recommandés ne doivent pas endommager les surfaces du cuit-vapeur.

###2. **Règlementation et Standards :**

 a.Le cuit-vapeur doit être conforme aux normes de sécurité alimentaire en vigueur dans les régions où il sera commercialisé.

 b.Le produit doit respecter les normes électriques en vigueur pour les appareils de cuisine.

 c.La conception doit être conforme aux règlements environnementaux,en minimisant l'impact écologique des matériaux utilisés.

###3. **Fiabilité, Disponibilité, Sûreté :**

 a.Le système doit être conçu avec des composants fiables pour assurer un fonctionnement constant sur une longue période sans défaillance.

 b.En cas de panne, le cuit-vapeur doit être capable de fournir des informations claires à l'utilisateur et, si possible, maintenir une fonctionnalité de base pour éviter toute perte totale de cuisson.

 c.Les mécanismes de sécurité doivent être intégrés pour arrêter la cuisson en cas de dysfonctionnement ou de détection d'anomalies dangereuses.

 d.Une fonction de sauvegarde des paramètres de cuisson en cas de coupure d'alimentation doit être envisagée pour assurer la disponibilité des données.

[...]

Ce que je voulais :

  • Des exigences supplémentaires concernant les éléments oubliés la première fois.

Ce que j’ai eu :

  • Les éléments (pas tous, mais une complétion a été démarrée)

Ce que je n’ai pas eu :

  • Des quantifications (pour les environnements ou la fiabilité notamment). Ce qui n’est pas forcément choquant : à moi de préciser la durée de vie que je souhaite.

C’est bien :

  • Il est capable d’aller plus loin dans les exigences si on lui dit où chercher davantage

C’est moins bien :

  • Petite confusion entre Fiabilité (ouverture/fermeture d’un couvercle) et environnement mécanique (chocs et vibrations externes)

A noter également :

  • Il va très loin dans sa Sécurité : je n’ai pas besoin de conserver des « paramètre de cuisson » en cas de problème.

Pertinence et gain de temps pour un Ingénieur Systèmes expert : Pour un expert, l’enjeu sera surtout de voir si le jeu d’exigences généré « humainement » (sans IA générative) est complet. Cet outil semble répondre à cet enjeu. Via plusieurs prompts, on peut rechercher tous azimuts des exigences qu’on aurait pu oublier, et les rajouter à notre jeu initial.

ChatGPT m'aide à concevoir un produit à fabriquer en série et il se débrouille bien architecture spécification système Aurélien NARDINI
4/5 ! Encore une forte impression de la part de ChatGPT

Conclusions pour une Déclinaison/Application du Besoin vers le Système :

Ce n'est pas mal du tout ! ChatGPT peut s’envisager pour la déclinaison/application de Besoin vers un Système ou en tout cas son contrôle. Un check humain est évidemment nécessaire, mais j’estime que ChatGPT fait plus que simplement mettre un pied à l’étrier ici.

Si vous avez 200 exigences de Besoin dans un fichier Excel, une version payante de ChatGPT peut certainement prendre ce fichier en input et vous en sortir un autre avec 800 exigences déclinées +/- pertinentes et il n’y a « plus qu’à » trier et compléter. Le gain en temps est certain.

Bien joué ChatGPT ! Tu n'as pas fait que paraphraser le Besoin !

Aide n°4 : Rédaction du plan de tests Système (Vérification)

Maintenant qu’on a un jeu d’exigences, (cf. aide n°3 ci-dessus), je souhaite avoir les tests qui vont avec.

Je commence par lui faire relister les exigences

Attention : je fais ça car parfois entre les prompts ChatGPT régresse, il oublie des exigences !

Je spécifie et développe une systèmes avec chatGPT comme si c'était un collègue ingénieur produit Aurélien NARDINI
Petit Sanity Check

Prompting d’un ingénieur débutant

Mon Prompt :

Rédige le plan de vérification de ces exigences :
Pour chaque exigence, je veux qu'un test soit rédigé. Le test peut être un test en situation réelle, une inspection, une analyse, une simulation, une analogie
Donne moi ta réponse sous forme d'un tableau

La Réponse :

ChatGPT ingénierie système plan de vérification plan de tests IVVQ Aurélien NARDINI
ChatGPT ingénierie système plan de vérification plan de tests IVVQ Aurélien NARDINI 2
ChatGPT ingénierie système plan de vérification plan de tests IVVQ Aurélien NARDINI 3
Chat GPT accède à ma demande

Ce que je voulais :

  • Un tableau avec les requirements d’un côté, les tests en face

Ce que j’ai eu :

  • Le tableau

Ce que je n’ai pas eu :

  • Rien de particulier à signaler

C’est bien :

  • La manipulation de données entre les requêtes se fait aisément : je lui fais relister les exigences, je lui demande de les mettre dans un tableau avec un test en face et tout se déroule comme souhaité. Je ne lui avais pas précisé que l’ordre naturel de lecture était Exigence en colonne gauche et test en colonne droite. Il aurait pu me mettre cela en ligne par exemple
  • Il propose des inspections avec des utilisateurs potentiels (Usability Study)
  • Il propose des tests, des inspections/mesures. Et donc pas qu’une seule méthode de vérification, il s’adapte bien selon les exigences à traiter.

C’est moins bien :

  • Le tests ne précisent pas les moyens de tests, les critères de succès. En même temps, je ne l’ai pas demandé…
  • Le fait de devoir vérifier s'il n'y a pas d'exigences perdues entre les Prompt !

Pertinence et gain de temps pour un Ingénieur Systèmes débutant : Cela donne de bonnes idées. Pour un ingénieur débutant c’est bénéfique. A voir lorsqu’on poussera plus loin dans le détail les spécifications.

ChatGPT devient un ingénieur et conçoit un produit pour moi Aurélien NARDINI
4/5, quelle série pour ChatGPT !

Et pour un expert de l’Ingénierie Systèmes ?

Question :

Rajoute 2 colonnes au tableau précédent afin de donner pour chaque test :
-les moyens nécessaires (logiciels, électroniques, thermiques etc.)
-les critères de succès (les résultats attendus)
-le temps estimé nécessaire

La réponse au prompt :

je suis ingénieur système et chatgpt me construit mon plan IVVQ Aurélien NARDINI
je suis ingénieur système et chatgpt me construit mon plan IVVQ Aurélien NARDINI partie 2
je suis ingénieur système et chatgpt me construit mon plan vérification Aurélien NARDINI
je suis ingénieur système et chatgpt me construit mon plan intégration Aurélien NARDINI
je suis ingénieur système et chatgpt me construit mon plan qualification Aurélien NARDINI
Je lui avait demandé 2 colonnes en plus, il a bien compris qu'il en fallait 3

Ce que je voulais :

  • 3 colonnes en plus avec les éléments complémentaires demandés

Ce que j’ai eu :

  • Les colonnes et les éléments

Ce que je n’ai pas eu :

  • Il manque le test des exigences FDS !

C’est bien :

  • Les moyens proposés sont pertinents (thermomètre, chronomètre, questionnaire, il précise même si des personnes sont engagées)
  • Les durées également !

C’est moins bien :

  • Je ne m’attendais pas à ce qu’il se contente d’un « Équipement de mesure de l'énergie » pour mesurer l’énergie (électrique) consommée
  • Pour les tests d’environnement, il ne s’avance pas non plus sur les moyens et emploie une dénomination générique.

Pertinence et gain de temps pour un Ingénieur Systèmes expert : Si on a 800 exigences niveau Système dont il faut écrire les tests, ChatGPT peut être d’une grande aide !

IA générative pour m'aide concevoir systèmes ingénieur Aurélien NARDINI 4 sur 5 c'est la folie dans le studio !
C'est un quasi sans-faute pour le concurrent artificiel !

Conclusions pour une Rédaction de plan de Vérification Système : Comme toujours, une relecture attentive est évidemment nécessaire. Et les modifications peuvent être lourdes. Cela dit, ce temps de checks et de modification sera certainement bien moindre que le temps d’écrire 800 tests à la main et les relire ensuite ! ChatGPT peut donc être d’une grande aide à ce niveau !

NOTA : Je rappelle que ChatGPT apprend des prompts qu’on lui envoie. De plus, des petits malins ont déjà réussi à lui faire révéler des prompts entiers qui lui avaient été donnés en input par d’autres utilisateurs. Si vous donnez une spécification complète de votre produit à ChatGPT, qui sait où celle-ci va terminer et comment elle sera réutilisée. Je ne recommande donc pas de donner toutes vos exigences à manger à ChatGPT ! Se créer son propre GPT hors ligne sera plus sûr.

Quelques mots pour conclure sur les Spécifications et Planification de Tests par chatGPT

Je ne considère pour l’exercice que les exigences Système issus d’une seule exigence de Besoin. Cela est loin de constituer toutes les exigences du Produit.

Globalement, ChatGPT m'a agréablement surpris et n'est pas tombé dans le piège de la paraphrase qui se tend lorsqu'on veut appliquer des exigences de Besoin à un Système.

En bref :

  • Pour un Systémier débutant : cela aide à voir ce qu'il faut faire
  • Pour un professionnel aguerri : cela permet de se donner un premier jet d'exigences/tests, puis contrôler, compléter, détailler...

Aurélien NARDINI

Un Système Sans Problème est une ressource de connaissances et de savoir-faire pratiques, avec exemples concrets.

Que vous soyez Chef de Programme, Chef de Projet, Architecte Système, Ingénieur, Manager dans l'Industrie, Etudiant ou Curieux de l'Ingénierie, vous êtes au bon endroit.

Au travers d'articles publiés régulièrement, découvrez ou révisez les Processus, Méthodes, Outils et Astuces utiles pour concevoir et piloter dans les domaines du Software, Firmware, de l’Électronique, et de la Mécanique.
 
Parce-qu'un produit fiable et industrialisable ne s'improvise pas !