Pieris Books(ブックカフェ併設のセレクトショップ販売店)のシステム開発のプロジェクトを進めています。
現在はビジネス・モデルの作成中で以下のモデルを定義してきました。
- ビジネス・ビジョン
- ビジネス・ゴール
- ビジネス・コンテキスト図
この中でビジネス・コンテキスト図はビジネス・モデルを記述したBusiness.mdから生成するアプローチをとっています。
Business.md
Business.mdはPieris Booksのビジネス・モデルをMarkdown形式で記述したものです。
前回作成したモデルは以下のモデル要素で構成されていました。
- System
- ビジネス・システム
- Process
- ビジネス・プロセス
- Actor
- ビジネス・アクター
ビジネス・コンテキスト図を描くために必要なモデル要素はビジネス・システムとビジネス・アクターですが、これに加えてビジネス・プロセスを記述しています。
ビジネス・プロセスを使用しないモデルも可能ですが、ビジネス・プロセスはビジネス・モデルを束ねる重要なモデル要素なので使ってみました。
今回はこのビジネス・プロセスについて説明します。
ビジネス・プロセス
ビジネス・プロセスはアクティビティを拡張したモデル要素でビジネスの構成を記述します。
ビジネス・モデルの具体的な振る舞いを記述するのではなく、ビジネスの構造を各種ビジネス・オブジェクトとの関係を中心に記述します。
ビジネス・プロセスの基本形は以下になります。
ビジネス・プロセスに対する入力オブジェクトがありビジネス・プロセスが実行された結果、出力オブジェクトが出力されます。
ビジネス・プロセスの実行の過程で様々なビジネス・オブジェクトが関係してきます。
ビジネス・プロセスがどのように実行されるのかは、さらにモデリングを進めて明確にしていきます。
今回の開発はITシステム開発に必要な文脈を確定するためにビジネス・モデルを作成するので、必要最小限のざっくりとしたモデルの作成を目指します。
ビジネス・オブジェクト
ビジネス・プロセスは以下のビジネス・オブジェクトを束ねます。
- Goal
- ビジネス・ゴール
- Actor
- ビジネス・アクター
- Entity
- ビジネス・エンティティ
- Event
- ビジネス・イベント
- Rule
- ビジネス・ルール
- Information
- ビジネス・インフォメーション
- Physical
- 物理的なもの
- UseCase
- ビジネス・ユースケース
- BusinessFlow
- ビジネス・フロー
Goal
Goalはビジネス・ゴールを記述します。
Actor
Actorはビジネス・アクターを記述します。
Entity
Entityはビジネス・エンティティを記述します。
Event
Eventはビジネス・イベントを記述します。
Rule
Ruleはビジネス・ルールを記述します。
Information
Informationはビジネス・プロセスの遂行に必要な情報を記述します。
Physical
Informationはビジネス・プロセスの遂行で使用される物理的なものを記述します。
UseCase
UseCaseはビジネス・ユースケースを記述します。
ビジネス・ユースケースはビジネス・システムの利用者などのアクターがビジネス・システムを通して目標を達成する物語を記述します。この物語をビジネス・システムの要求仕様とします。
BusinessFlow
ビジネス・プロセスの具体的な振る舞いはアクティビティ図によるビジネス・フローで記述することができます。
関係
ビジネス・プロセスはビジネス・オブジェクトを入力し、ビジネス・プロセス実行の結果作成されるビジネス・オブジェクトを出力するのが基本構造です。
そして、ビジネス・プロセス実行では様々なビジネス・オブジェクトが関係を持ちます。主に以下のようなビジネス・オブジェクトが使用されます。
- archieve
- 達成
- service
- サービス
- worker
- ワーカー
- client
- クライアント
- manager
- 管理者
- maintainer
- 保守者
- control
- コントロール
- supply
- 提供
archieve
archieveは達成する関係を記述します。ビジネス・ゴールをビジネス・プロセスに設定する時に使用します。
service
ビジネス・プロセスの外にあるサービス(アクターとしてモデル化)を設定します。
worker
ビジネス・プロセスを遂行する人間(アクターとしてモデル化)を設定します。
client
ビジネス・プロセスを利用する人間や組織(アクターとしてモデル化)を設定します。
manager
ビジネス・プロセスを管理する人間(アクターとしてモデル化)を設定します。
maintainer
ビジネス・プロセスを運用する人間(アクターとしてモデル化)を設定します。
control
ビジネス・プロセスを制御するビジネス・オブジェクトを設定します。
supply
ビジネス・プロセスの遂行に必要なビジネス・オブジェクトを設定します。
まとめ
今回はビジネス・プロセスの概要について説明しました。
次回はビジネス・プロセスの具体例について説明する予定です。