設計模組產品結構
許多產品都有多個子系統,而這些子系統又擁有其自己的選用元素集。在某些情況下,系統會在邏輯進展中獨立處理每個子系統的選項。但是,在另外一些情況下,子系統中的可用選項可能需要受在其他子系統中所做選取的影響。
例如,假設金屬展示箱有多個不同模型,而這些模型又有多種不同的展示、裝飾及光照選項。根據所選的展示箱模型而定,可用於展示、裝飾及光照元素的選項可能會有所不同。
對於僅含少數模組與有限選項集的簡單產品結構而言,建立及測試適當可供配置產品結構相對比較容易。但是,當產品結構只有五個模組,而每個模組又有六個可能的選項可供選擇時,排列的總數 (在此情況下為 5 x 6,也就是 30) 也可能是驚人的。
此時,建議的方法是將模組的產品結構組織為可供配置模組,如下圖所示。
在此範例中,假設 display case 有五個不同的模型 (Model_01 到 Model_05),而其中一些選項僅適用於某些模型,如下表所示。
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 |
下一步是以模組化方式建立適當的邏輯元素,以便可以獨立測試每個選項模組,然後再將其整合到完整的產品結構中。例如,請考慮 Trim Options 模組的邏輯。此模組需要四個參數,如下所示:
askModel
• 字串,輸入參數
• 提示 = "(TRIM OPTIONS) Select the desired display case model"
• 條件約束:"Model_01"、"Model_02"、"Model_03"、"Model_04"、"Model_05"
• "hide when driven" = true
useStandard
• 布林值,非輸入參數
• 已針對 Bumper, Standard 零件,新增至 Display Case 可供配置模組「使用」標籤的「包含選項」
useTwin
• 布林值,非輸入參數
• 已針對 Bumper, Twin 零件,新增至 Display Case 可供配置模組「使用」標籤的「包含選項」
useDeluxe
• 布林值,非輸入參數
• 已針對 Bumper, Deluxe 零件,新增至 Display Case 可供配置模組「使用」標籤的「包含選項」
接下來,您需要使用案例表 (例如 pickTrim) 來控制每個展示箱模型裝飾選項的適用性,如下表所示。
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 |
下一步是以模組化方式建立適當的邏輯元素,以便可以獨立測試每個選項模組,然後再將其整合到完整的產品結構中。例如,請考慮 Trim Options 模組的邏輯。此模組需要四個參數,如下所示:
askModel
• 字串,輸入參數
• 提示 = "(TRIM OPTIONS) Select the desired display case model"
• 條件約束:"Model_01"、"Model_02"、"Model_03"、"Model_04"、"Model_05"
• "hide when driven" = true
useStandard
• 布林值,非輸入參數
• 已針對 Bumper, Standard 零件,新增至 Display Case 可供配置模組「使用」標籤的「包含選項」
useTwin
• 布林值,非輸入參數
• 已針對 Bumper, Twin 零件,新增至 Display Case 可供配置模組「使用」標籤的「包含選項」
useDeluxe
• 布林值,非輸入參數
• 已針對 Bumper, Deluxe 零件,新增至 Display Case 可供配置模組「使用」標籤的「包含選項」
接下來,您需要使用案例表 (例如 pickTrim) 來控制每個展示箱模型裝飾選項的適用性,如下表所示。
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 |
這些邏輯運算式可讓您獨立測試 Trim Options 模組,以便您可以確保一切按照您的預期運作。
| 但是,如果您針對每個模組使用相同的方法,則系統會重複詢問使用者所需的 Display Case 模型,這是不必要的。因此,在您建立每個模組並確認它們能夠正常運作之後,您需要將它們整合在一起。 |
欲整合模組:
1. 建立適當的參數,來確定 Display Case 可供配置模組中的模型,如下所示:
◦ askModel - 字串,必要輸入參數
◦ 提示 = "Select the desired display case model"
◦ 條件約束:"Model_01"、"Model_02"、"Model_03"、"Model_04"、"Model_05"
2. 在 Display Case 可供配置模組的 askModel 與其所有子代之間建立對等項。
3. 移除每個選項模組中每個 askModel 參數的條件約束。
| 為避免 Display Case 頂層可供配置模組與構成每個模組的可供配置模組之間發生衝突,必須移除這些條件約束。 |
4. 測試已完成的可供配置產品結構。由於您已經測試了每個模組,因此只需要確認使用者在 Display Case 頂層可供配置模組中輸入的 askModel 值是否已正確複製到每個模組即可。
| 如果您在「配置」視窗的「設定參數」頁中顯示 BOM 樹,並使用「套用」按鈕,則可以快速查看 Display Case 可供配置模組中 askModel 的目前值是否已複製到每個模組。 |