Skip to main content

ケース階層デザイン:保証とリコール

ケースデザイン

自動車メーカーが保証請求アプリケーションを自動化する場合の要件について考えてみましょう。 このアプリケーションでは、Warranty ClaimプロセスとRecallプロセスという主に2つのプロセスをサポートしています。

ある顧客が、車の調子が悪いので保証を受けたいとディーラーに車を持ち込まれました。 ディーラーが車の不具合を調べ、請求内容をアプリケーションに入力すると、アプリケーションでは保証の対象となる修理であるという確認が示されます。 ディーラーはその後、自動車メーカーから作業費を受け取ります。

すべての保証請求には、1つまたは複数の請求タスクが含まれます。 各請求タスクは、請求を解決するために完了しなければならない作業を表します。 ほとんどの保証請求はシンプルで、1つのPay Dealer請求タスクが含まれます。 保証請求の中には、異議申立が発生した場合、複雑な処理を必要とするものがあります。

リコールは保証請求とは別に処理されます。 リコールには、リコールが必要なことを顧客に最初にお知らせすることから、リコール対応のためにディーラーが完了した作業に対する費用の支払いまで、すべてのプロセスが含まれます。 請求タスクの1つに、Part Returnがあります。 この請求タスクは、他のタスクと異なり、追加のビジネスルールが必要で、プロセスも異なります。

次の表は、プロセス要件をまとめたものです。

保証アプリケーションの要件:サポートが必要なプロセス
プロセス 説明
Warranty Claim フルプロセス:顧客に対する最初の通知から解決までのプロセス
 * Claim Task 各請求1つ以上
 * Part Return 特定のタスクにビジネスルールを追加
Recall フルプロセス:最初の通知からディーラーに対する最終的な費用支払いまで
Case Design
問題の説明に記載されている名詞とアクションは、ラベル付きのボックスとして表示されています。 矢印は、時系列の関係を示しています。 Auto Manufacturerは、CustomerがそのAutoを購入できるようになる前に、Autoが存在する以前から存在します。 Customerが所有するAutoは、Warranty ClaimのためにDealerに持ち込むことができます。 Warranty Claimでは、1つ以上のClaim Taskが発生し、その1つがPart Returnになる可能性があります。 ボックスが、有効期間の短いアクションプロセスではなく、有効期間の長いデータであるかどうかは、ケースごとに決定されます。  

このアプリケーションをサポートするケース構造を設計します。

ソリューション

少なくともRecallとWarranty Claimという2つのケースが考えられます。

Recallには従属関係はありませんが、明確なプロセスがあります。 Recallは独立したケースとして表されます。

Warranty Claimケースには、いくつかの設計オプションがあります。

1つのオプションは、個別にWarranty Claimケースを作成し、請求タスクの種類ごとに条件付きのサブプロセスを生成することです。 この方法は実装が簡単ですが、請求タスクの拡張性や専門化に限界があります。

もう一つの方法は、Warranty Claimケースを作成し、各請求タスクのサブケースを作成することです。 この設計オプションでは、Parts Returnなどの専門化された請求タスクを柔軟に作成できます。 Warranty Claimケースは、解決される前に、すべての請求タスクが解決されることに依存するため、Warranty ClaimケースはClaim Taskケースの親ケース、またはカバーケースとなります。

ClaimTaskクラスのパターン継承サブクラスとして実装されたParts Returnケースは、Claim Taskケースの特定のタイプであることを示しています。 サブクラスとサブケースを同義語として混同しないことが重要です。 サブケースの階層は、Case Typeルールの中で設定されます。 サブケース階層とは、さまざまなケースに関してケースタイプ構造を決定することです。 一方、サブクラスは、is-aの関係が存在することを示します。 クラス関係とは、さまざまなクラスに関してクラス構造を決定することです。

Case vs Class Hierarchy
この図は、左側のケースタイプ階層と右側のクラス階層の違いを示しています。 左側のインデントは、子ケースの関係を表しています。 右側のインデントはパターン継承の関係を表しています。  

Claim Taskケースの設計において、どのソリューションがより適しているかを判断するための要件には、十分な情報が含まれていません。 アプリケーションに特殊性や拡張の要求が多い場合は、後者のClaim Taskケースの設計がより適しています。


このトピックは、下記のモジュールにも含まれています。

If you are having problems with your training, please review the Pega Academy Support FAQs.

このコンテンツは役に立ちましたか?

改善できるところはありますか?

We'd prefer it if you saw us at our best.

Pega Academy has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice