Conception d'une structure produit modulaire
De nombreux produits comportent différents sous-systèmes comprenant leurs propres ensembles d'éléments facultatifs. Dans certains cas, les options de chaque sous-système sont traitées indépendamment par le système dans un ordre logique. Toutefois, dans d'autres cas, il peut être nécessaire que les options disponibles dans un sous-système soient affectées par les sélections effectuées dans d'autres sous-systèmes.
Prenons l'exemple d'un présentoir métallique disponible dans différents modèles avec diverses options de présentation, d'habillage et d'éclairage. Les options disponibles pour les éléments de présentation, d'habillage et d'éclairage peuvent varier selon le modèle de présentoir sélectionné.
Dans le cas d'une structure produit simple ne comportant que quelques modules et qu'un ensemble limité d'options, il est relativement facile de créer et de tester une structure produit configurable appropriée. En revanche, si la structure produit comporte au moins cinq modules, possédant chacun six options possibles, le nombre total de permutations (5 x 6 ou 30, dans ce cas) peut être très difficile à gérer.
L'approche suggérée consiste à organiser la structure produit en modules configurables, comme illustré dans la figure suivante.
Dans cet exemple, supposons que le présentoir soit disponible dans cinq modèles différents, Model_01 à Model_05, et que certaines options ne s'appliquent qu'à certains modèles, comme indiqué dans le tableau ci-après.
Modèle de Display Case | Trim Options | Lighting Options | Display Options |
Model_01 | Twin Standard | Single Double | Shelf, Ventilated Shelf, Solid |
Model_02 | Standard Deluxe | Double, Triple | Shelf, Ventilated Shelf, Solid |
Model_03 | Twin Standard Deluxe | Single Double Triple | Shelf, Ventilated Rack |
Model_04 | Twin Standard Deluxe | Single Double Triple | Shelf, Ventilated Shelf, Solid Rack |
Model_05 | Twin Standard Deluxe | Single Double Triple | Shelf, Ventilated Shelf, Solid Rack |
L'étape suivante consiste à définir les éléments logiques appropriés de manière modulaire afin que chaque module d'options puisse être testé indépendamment, puis intégré dans la structure produit complète. Par exemple, examinons la logique du module Trim Options. Ce module requiert les quatre paramètres suivants :
askModel
• Paramètre d'entrée de type chaîne
• Invite = "(TRIM OPTIONS) Select the desired display case model"
• Contrainte : "Model_01", "Model_02", "Model_03", "Model_04", "Model_05"
• "hide when driven" = true
useStandard
• Paramètre non-entrée de type booléen
• Ajouté à l'option d'inclusion sous l'onglet Composants du module configurable Display Case pour l'article Bumper, Standard
useTwin
• Paramètre non-entrée de type booléen
• Ajouté à l'option d'inclusion sous l'onglet Composants du module configurable Display Case pour l'article Bumper, Twin
useDeluxe
• Paramètre non-entrée de type booléen
• Ajouté à l'option d'inclusion sous l'onglet Composants du module configurable Display Case pour l'article Bumper, Deluxe
Ensuite, vous avez besoin d'un tableau de cas, tel que pickTrim, pour contrôler l'applicabilité des options d'habillage pour chaque modèle de présentoir, comme indiqué dans le tableau suivant.
Modèle de Display Case | Trim Options | Lighting Options | Display Options |
Model_03 | TwinStandardDeluxe | SingleDoubleTriple | Shelf, Ventilated Rack |
Model_04 | TwinStandardDeluxe | SingleDoubleTriple | Shelf, Ventilated Shelf, Solid Rack |
Model_05 | TwinStandardDeluxe | SingleDoubleTriple | Shelf, Ventilated Shelf, Solid Rack |
L'étape suivante consiste à définir les éléments logiques appropriés de manière modulaire afin que chaque module d'options puisse être testé indépendamment, puis intégré dans la structure produit complète. Par exemple, examinons la logique du module Trim Options. Ce module requiert les quatre paramètres suivants :
askModel
• Paramètre d'entrée de type chaîne
• Invite = "(TRIM OPTIONS) Select the desired display case model"
• Contrainte : "Model_01", "Model_02", "Model_03", "Model_04", "Model_05"
• "hide when driven" = true
useStandard
• Paramètre non-entrée de type booléen
• Ajouté à l'option d'inclusion sous l'onglet Composants du module configurable Display Case pour l'article Bumper, Standard
useTwin
• Paramètre non-entrée de type booléen
• Ajouté à l'option d'inclusion sous l'onglet Composants du module configurable Display Case pour l'article Bumper, Twin
useDeluxe
• Paramètre non-entrée de type booléen
• Ajouté à l'option d'inclusion sous l'onglet Composants du module configurable Display Case pour l'article Bumper, Deluxe
Ensuite, vous avez besoin d'un tableau de cas, tel que pickTrim, pour contrôler l'applicabilité des options d'habillage pour chaque modèle de présentoir, comme indiqué dans le tableau suivant.
askModel | useStandard | useTwin | useDeluxe |
Model_01 | yes | yes | no |
Model_02 | yes | no | yes |
Model_03 | yes | yes | yes |
Model_04 | yes | yes | yes |
Model_05 | yes | yes | yes |
Ces expressions logiques vous permettent de tester le module Trim Options de manière indépendante, afin de vous assurer que tout fonctionne comme vous le souhaitez.
| Toutefois, si vous utilisez la même approche pour chacun des modules, l'utilisateur est chaque fois invité à indiquer le modèle de Display Case qui l'intéresse, ce qui n'est pas souhaitable. Par conséquent, après avoir créé chacun des modules et vérifié leur bon fonctionnement, vous devez les intégrer les uns aux autres. |
Pour intégrer les modules :
1. Créez un paramètre approprié pour déterminer le modèle dans le module configurable Display Case comme suit :
◦ askModel : paramètre d'entrée obligatoire de type chaîne
◦ Invite = "Select the desired display case model"
◦ Contrainte : "Model_01", "Model_02", "Model_03", "Model_04", "Model_05"
2. Etablissez une équivalence entre askModel dans le module configurable Display Case et tous ses descendants.
3. Supprimez les contraintes pour chaque paramètre askModel dans chacun des modules d'options.
| La suppression de ces contraintes est nécessaire pour éviter les conflits entre le module configurable de niveau supérieur Display Case et les modules configurables qui composent chaque module. |
4. Testez la structure produit configurable terminée. Etant donné que vous avez déjà testé chacun des modules, il vous suffit de vérifier que la valeur du paramètre askModel saisie par l'utilisateur dans le module configurable de niveau supérieur Display Case est correctement copiée dans chacun des modules.
| Si vous affichez l'arbre de la nomenclature dans la page Définir les paramètres de la fenêtre Configurer et que vous utilisez le bouton Appliquer, vous pouvez rapidement savoir si la valeur actuelle d'askModel dans le module configurable Display Case a été copiée dans chacun des modules. |