Diseño de una estructura de producto de módulo
Muchos productos tienen una serie de subsistemas que tienen sus propios conjuntos de elementos opcionales. En algunos casos, el sistema procesa de forma independiente las opciones de cada subsistema en una progresión lógica. Sin embargo, en otros casos, puede ser necesario que las opciones disponibles en un subsistema se vean afectadas por las selecciones realizadas en otros subsistemas.
Por ejemplo, considere una vitrina de exposición de metal que está disponible en varios modelos diferentes con distintas opciones de exposición, moldura e iluminación. En función del modelo de vitrina de exposición seleccionado, las opciones que están disponibles para los elementos de exposición, moldura e iluminación pueden ser diferentes.
Para una estructura de producto simple con solo unos pocos módulos y un conjunto limitado de opciones, es relativamente fácil crear y probar una estructura de producto configurable adecuada. Sin embargo, si la estructura de producto tiene cinco módulos, cada uno con seis opciones posibles entre las que elegir, el número total de permutaciones (5 x 6 o 30, en este caso) puede ser abrumador.
El enfoque sugerido es organizar la estructura de producto del módulo en módulos configurables, tal como se muestra en la siguiente figura.
En este ejemplo, se supone que la vitrina de exposición está disponible en cinco modelos diferentes, Model_01 a Model_05, y que algunas de las opciones solo se aplican a determinados modelos, como se muestra en la tabla siguiente.
Modelo 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 |
El siguiente paso es establecer los elementos lógicos adecuados de forma modular, de modo que cada módulo de opciones se pueda probar de manera independiente y, a continuación, integrarse en la estructura del producto completo. Por ejemplo, considere la lógica del módulo Trim Options. Este módulo requiere cuatro parámetros, tal como se indica a continuación:
askModel
• Cadena, parámetro de entrada
• Indicador = "(TRIM OPTIONS) Select the desired display case model"
• Restricción: "Model_01", "Model_02", "Model_03", "Model_04", "Model_05"
• "hide when driven" = true
useStandard
• Booleano, parámetro que no es de entrada
• Se ha añadido a la Opción de inclusión de la ficha Componentes del módulo configurable de Display Case para el artículo Bumper, Standard
useTwin
• Booleano, parámetro que no es de entrada
• Se ha añadido a la Opción de inclusión de la ficha Componentes del módulo configurable de Display Case para el artículo Bumper, Twin
useDeluxe
• Booleano, parámetro que no es de entrada
• Se ha añadido a la Opción de inclusión de la ficha Componentes del módulo configurable de Display Case para el artículo Bumper, Deluxe
A continuación, se necesita una tabla de casos como pickTrim para controlar la aplicabilidad de las opciones de moldura de cada modelo de la vitrina de exposición, como se muestra en la siguiente tabla.
Modelo 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 |
El siguiente paso es establecer los elementos lógicos adecuados de forma modular, de modo que cada módulo de opciones se pueda probar de manera independiente y, a continuación, integrarse en la estructura del producto completo. Por ejemplo, considere la lógica del módulo Trim Options. Este módulo requiere cuatro parámetros, tal como se indica a continuación:
askModel
• Cadena, parámetro de entrada
• Indicador = "(TRIM OPTIONS) Select the desired display case model"
• Restricción: "Model_01", "Model_02", "Model_03", "Model_04", "Model_05"
• "hide when driven" = true
useStandard
• Booleano, parámetro que no es de entrada
• Se ha añadido a la Opción de inclusión de la ficha Componentes del módulo configurable de Display Case para el artículo Bumper, Standard
useTwin
• Booleano, parámetro que no es de entrada
• Se ha añadido a la Opción de inclusión de la ficha Componentes del módulo configurable de Display Case para el artículo Bumper, Twin
useDeluxe
• Booleano, parámetro que no es de entrada
• Se ha añadido a la Opción de inclusión de la ficha Componentes del módulo configurable de Display Case para el artículo Bumper, Deluxe
A continuación, se necesita una tabla de casos como pickTrim para controlar la aplicabilidad de las opciones de moldura de cada modelo de la vitrina de exposición, como se muestra en la siguiente tabla.
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 |
Estas expresiones lógicas permiten probar el módulo Trim Options de forma independiente, de modo que se pueda garantizar que todo funciona según lo previsto.
| Sin embargo, si se utiliza el mismo enfoque para cada uno de los módulos, se solicitará al usuario repetidamente el modelo de Display Case que deseen, lo que no resulta práctico. Por lo tanto, después de crear cada uno de los módulos y verificar que funcionan correctamente, es necesario integrarlos juntos. |
Para integrar los módulos:
1. Cree un parámetro adecuado para determinar el modelo en el módulo configurable de Display Case, tal como se indica a continuación:
◦ askModel: cadena, parámetro de entrada obligatorio
◦ Indicador = "Select the desired display case model"
◦ Restricción: "Model_01", "Model_02", "Model_03", "Model_04", "Model_05"
2. Establezca una equivalencia entre askModel en el módulo configurable de Display Case y todos sus descendientes.
3. Quite las restricciones de cada parámetro askModel en cada uno de los módulos de opciones.
| La eliminación de estas restricciones es necesaria para evitar conflictos entre el módulo configurable de nivel superior de Display Case y los módulos configurables que forman cada módulo. |
4. Pruebe la estructura de producto configurable completada. Dado que ya se ha probado cada módulo, solo es necesario verificar que el valor de askModel introducido por el usuario en el módulo configurable de nivel superior de Display Case se ha copiado correctamente en cada uno de los módulos.
| Si se muestra el árbol de LDM en la página Definir parámetros de la ventana Configurar y se utiliza el botón Aplicar, se puede ver rápidamente si el valor actual de askModel en el módulo configurable de Display Case se ha copiado en cada uno de los módulos. |