Software engineering

業務分析の modeling methods

  • 業務の全体を導いた後、詳細化を進める。
  • 業務を細かい単位に分割して詳細化を進めた後、結合する
  • リアルタイムな変化を示す微細なものを表す

コンポーネントモデリング

全体から任意の部分をコンポーネントという単位で切り出して分析する。

分析の流れ

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

参考文献 Reference