目的
- 要件を実現する為の論理的なシステムの構成要素を導出します
- 分析シーケンス図で用いるオブジェクトのクラスを定義します
|
|
成果物関連
入力成果物リスト
|
|
前準備
- 分析クラス図を作成する対象のユースケースを特定し、そのロバストネス図や本質的UI等の入力成果物の内容を確認・理解します
- モデリングツールを準備し、分析クラス図を作成できる環境を整えます
|
作成手順
1 |
- <<boundary>>クラスを抽出します。
- 本質的UIやロバストネス図を元に画面を<<boundary>>クラスとして表します。
- 全ての画面クラスについて、予め定義されている<<boundary>>画面クラス(抽象クラス)を継承します。
- その抽象操作「表示する()」もオーバーライドするようにします。
|
|
2 |
- ユースケースの処理全体の制御を行う<<control>>クラスを配置します。
- <<boundary>>クラスの下に配置します。
- 名称は「xxx管理」とし、ユースケース全体の処理を表すようなものにします。
|
|
3 |
- <<entity>>クラスを抽出します。
- ロバストネス図から利用するエンティティを選び、概念モデルから該当する概念(クラス)を関係(関連)を含めコピーし、<<entity>>ステレオタイプを付加して、<<control>>クラスの下に配置します。
- データ項目等を参考に、各属性の論理的な型を決めます。可視性は全て「private」にしておきます。
|
|
4 |
- ユースケース記述の基本フローの内容に従って、他の<<control>>クラスを抽出します。
- <<entity>>クラス(群)を管理する役割を持たせる<<control>>クラスを、<<entity>>クラスの上に配置します。
- ロバストネス図のコントロールオブジェクトを、責務を考慮して適切に<<control>>クラスに操作として割り当てます。
- 表示に関するコントロールオブジェクトは、割り当てません。
- 必要に応じて、<<control>>クラスを追加します。
- 操作は戻り値、引数とも不要で、可視性も全て「public」で構いません。(分析シーケンス図作成の中で具体化します)
- 他のユースケースを利用している場合、その処理を表す<<control>>クラスも配置します。
|
|
5 |
- ユースケース記述の流れに沿って、関係のあるクラスを結びます。
- <<boundary>>→<<control>>→<<entity>>での流れを確認します。
- <<entity>>-<<entity>>間以外の関係は全て依存線で結びます。
|
|
6 |
- ユースケース記述の代替フロー、例外フローについても、No.4~No.5を実施します。
|
|
|
ワンポイント・アドバイス
- 分析クラス図の最終的な完成には分析シーケンス図の作成が必要になります。
- 入力としている成果物から素直に導き出せる内容になっていれば良く、この図で深く検討する必要はありません。
- 最初は最低限、分析シーケンス図を作成する為のクラスが抽出できていれば良いということです。
|
チェック・ポイント
- <<boundary>>クラスは適切に抽出できていますか?
- ユースケース処理全体を制御する<<control>>クラスが抽出できていますか?
- <<entity>>クラスは適切に抽出できていますか?
- <<entity>>クラス(群)を管理する<<control>>クラスは適切に抽出できていますか?
- ロバストネス図のコントロールオブジェクトは適切に<<control>>クラスの操作に割り当てられていますか?
- ユースケース記述の基本フローの流れが、関係(依存や関連)で適切に表されていますか?
- ユースケース記述の代替フロー、例外フローの流れが、関係(依存や関連)で適切に表されていますか?
|
参考情報
- クレーグ・ラーマン (著), 依田 智夫 他(監訳)「実践UML 第3版 オブジェクト指向分析設計と反復型開発入門」,ピアソンエデュケーション,2007年
- Grady Booch (Author), Robert A. Maksimchuk (Author), Michael W. Engel (Author)他「Object-Oriented Analysis and Design with Applications (3rd Edition) 」,Addison-Wesley Professional,2007年
- エリック・エヴァンス (著), 今関 剛 (監修)「エリック・エヴァンスのドメイン駆動設計」翔泳社,2011年
- C.T. アーリントン (著),ウルシステムズ株式会社 (翻訳)「UMLによるエンタープライズJava開発」,翔泳社,2002年
- グラディ ブーチ (著), 羽生田 栄一 (翻訳),「UMLユーザーガイド」ピアソンエデュケーション,1999年
- ピーター コード (著), ジェフ デ・ルーカ (著), エリック レイフェイブル (著), Peter Coad (原著), Jeff De Luca (原著), Eric Lefebvre (原著), 依田 光江 (翻訳), 依田 智夫 (翻訳), 今野 睦 (翻訳)「Javaエンタープライズ・コンポーネント」,ピアソンエデュケーション,2000年
- フィリップ クルーシュテン (著), 藤井 拓 (翻訳)「ラショナル統一プロセス入門」,ピアソンエデュケーション,2001年
- イヴァー ヤコブソン (著), ジェームズ ランボー (著), グラディ ブーチ (著), 藤井 拓 (監修)「UMLによる統一ソフトウェア開発プロセス」,翔泳社,2000年
- David S.Frankel (著), 日本アイ・ビー・エム TEC-J MDA分科会 (著)「MDA モデル駆動アーキテクチャ 」,エスアイビーアクセス,2003年
- ヨシュ ヴァルメル (著), アーネク クレッペ (著), 竹村 司 (翻訳)「UML/MDAのためのオブジェクト制約言語OCL 第2版」,エスアイビーアクセス,2004年
|