Rational Unified Process (RUP) に従って、PiggyBank
サンプル UML モデルは 3 つのモデルに分割されます。
各モデル (ユースケース・モデル、分析モデル、設計モデル) は、
それぞれシステムの異なる側面を記述します。
ユースケース・モデル
ユースケース・モデルは、ユーザーとシステム間の相互作用を記述します。
ユースケース・モデルには、
要件文書のほかに、ユースケース図およびアクティビティー図が含まれており、
これらによってシステム要件を図式化します。
分析モデル
分析モデルは、分析フェーズの結果を文書化します。分析モデルは、RUP に従って、
ユーザーと相互作用するオブジェクト (バウンダリ)、システム内で永続的なオブジェクト
(エンティティー)、および各ユースケースの実現を調整するオブジェクト
(コントローラー) を識別します。
設計モデル
設計モデルは、構造化されたアーキテクチャーを分析モデルに適用します。
設計モデルは、システムの分析エンティティーの実装を記述します。
これは Enterprise JavaBeans (EJB) として実装されます。
これらの EJB Bean は、以下のベスト・プラクティスを使用して実装されました。
- エンティティー EJB Bean は、システムの他の部分には明らかにされません。
代わりに EJB ステートレス・セッション Bean として作成されたファサードが、
エンティティーを非表示にします。
ファサードは、単純な形式でエンティティー・データを表す転送オブジェクトを通じて、
そのクライアントと通信します。
- EJB テクノロジーからクライアント・コードを分離するには、
ファサードを委譲層でラップします。
委譲層は、EJB Bean の作成および操作に関する、すべての技術的な詳細を管理します。
- 委譲層は 2 つの部分に分割されます。
1 つは、実装に関係なく委譲層の振る舞いを定義するフレームワーク、
もう 1 つは、EJB Bean を管理する EJB 実装です。