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