- 業務の全体を導いた後、詳細化を進める。
- 業務を細かい単位に分割して詳細化を進めた後、結合する
- リアルタイムな変化を示す微細なものを表す
全体から任意の部分をコンポーネントという単位で切り出して分析する。
- 業務フローの洗い出し (アクティビティ図)
- ロールの洗い出し
* 動作主体。
* ロールとアクターは異なる。
- アクターは登場人物を特定して表すが、ロールでは複数の対象を表すことができる。(?)
- アクティビティの洗い出し * 「(〜を)〜する」という動詞をヒアリングから抽出 * アクティビティは階層構造になる。 「〜する」のなかに「XXXする」「YYYする」というのが含まれることがあるので、ツリー構造にしてわかるようにするとよい。
- システム境界の導出 (ユースケース図)
- アクティビティ図の各スイムレーンからアクター・ロールを抽出する。
- "アクター/ロール"というように表記すると良い。 ロールだけなら "/ロール" と表記する。
- アクティビティのまとまりがユースケース
- 複数のロールにまたがったアクティビティをひとつのユースケースにまとめてもよい
- ユースケース図では、左側にあるアクターがユースケースを実行するアクター。 右側にあるのがユースケースに関連するアクター。(?)
- コンポーネント分割 (コンポーネントのクラス図)
- 業務をコンポーネントに分割する。
- ユースケースで著された機能を実現するために必要なものを出す。
ユースケース コンポーネント XXをYYする AA管理、BB管理 TTをSSする CC管理、DD管理 - 各コンポーネントの表を作る
コンポーネント名 説明 XX管理 AA, BBを行うコンポーネント YY管理 CC, DDを行うコンポーネント
- コンポーネントのコラボレーション (コラボレーション図)
- コンポーネントの相互関係を分析する
- シナリオの作成 (シナリオ)
- コンポーネントのインターフェースからシナリオを作る。
- シナリオの構成
- シナリオ名
- シナリオ説明
- アクター
- 事前条件
- ステップ
- 事後条件
- オブジェクトの導出 (オブジェクト図)
- オブジェクトの抽象化 (クラス図)
- コンポーンネントの仕様化 (コンポーネント仕様)
- コンポーネント仕様はインターフェースと情報の両方を表現できる
- パッケージ図を使用する。
- パッケージ図内にはクラスを配置
- インターフェースには <> というステレオタイプをつける。
- 情報モデルには <> というステレオタイプをつける。
- パッケージには <> とつける
- 例
- <> XX管理コンポーネント
- <> XX管理
- AAをYYする
- BBをXXする
- CCをZZする
- <> 多くの場合クラスのようなデータモデルになる
- 各属性をリスト化する
- コンポーネントの相互作用 (シーケンス図)
- コンポーネント間の動的な関係を表示する。
- <>, <> を並べて動きを表す。