前回は,データモデル全体が俯瞰できること,データモデルが適切にグルーピングされていること,各グループ間の関連が把握できることの重要性について説明しました。今回は,業務の流れに沿って,システム全体を俯瞰することの重要性について説明しましょう。

業務間連携や外部システム連携を発注者と合意する

 複数の業務にまたがるシステムを設計・開発する場合,個々の業務ごとに画面→機能→データ設計を進めてしまいがちです。

 業務間の連携について全く考慮する必要がないシステムならこれでも問題ないのですが,受発注システムのように,データベースやファイルに登録された伝票データが複数業務にわたって参照・更新されていくシステムでは,業務間連携について十分に考慮する必要があります。

 さらに,外部システムとの連携についても考慮する必要があります。例えば,得意先別に仕訳された請求データを外部システムとして既に存在する財務管理システムにどのように受け渡すのか,受け渡し済みのデータの扱いをどうするのか,受け渡し用エンティティをどこに用意するのか,といったことを発注者と合意しておく必要があります。

業務フローを流用して,システムが扱う情報を俯瞰できるポンチ絵を作る

 では,業務間の連携や外部システムとの連携に関して,発注者と合意するためにはどうすればいいでしょうか。お薦めしたいのが,図1に示すような,システムが扱う情報を俯瞰できる図を作成することです。

図1●調達業務の業務フローに,発注,入荷,在庫データに関する情報を追加した例
図1●調達業務の業務フローに,発注,入荷,在庫データに関する情報を追加した例
[画像のクリックで拡大表示]

 この図を作成する際のポイントは以下のとおりです。

(1)システム化される部分(システム化業務)以外の業務(作業)も表現する
(2)システムの入り口は画面(端末の絵でも可能)として表現する
(3)ER図ではない絵でデータを表現する
(4)データ間の関連(参照,登録など)を線で表現する

 一見したところ,業務フロー図に似ています。これは,要件定義フェーズで作成されることが多い「業務フロー図」を流用して作成しているためです。

 いかがでしょう。なんだかポンチ絵のようでもあり,「本当に必要なのかな?」と疑問に感じる方が多いかもしれません。「ここに書かれていることは言わずもがなではないか」と思われるかもしれません。

 しかし,こうしたポンチ絵が必要とされる「時期」があるのです。それは外部設計工程中,比較的初期のフェーズです(この連載のベースになっている「発注者ビューガイドライン」では外部設計工程を「仕掛期」「充実期」「完成期」の3つのフェーズに分けていますが,この分け方で言えば「仕掛期」~「充実期」です)。

 この時期に,業務間連携や外部システムとの連携を最も意識しなければならないのはデータモデルにほかなりません。システム全体のデータモデルを「横串」で把握し,設計に反映しなければならないのです。そのために,図1のようなポンチ絵が,極めて有効な武器になります。