Part6までで,業務を説明するために必要十分な概念を明確にしました。Part7では,業務における作業の流れと入出力情報を明らかにします。基本的な流れに沿わない例外的な業務は状態遷移で表現できます。

 Part7は,演習編の5回目です。Part6とPart5は,業務の静的な構造に着目する演習を解説しました。業務を説明するために必要十分な概念を明確にすることが目的でした。Part6までで,業務システムの情報に関係する要素が明確になったのです。

 Part7の演習の目的は,対象とする業務における作業と情報の流れを明確にすることと,業務における状態の遷移を明確にすることです。具体的な作業として,演習では「業務情報フロー図」と「状態遷移図」を作成します(図1)。

図1●Part7の演習範囲<br>Part7の内容は,対象とする業務における作業と情報の流れを業務情報フロー図で可視化する演習と,業務における状態の遷移を状態遷移図で可視化する演習です
図1●Part7の演習範囲
Part7の内容は,対象とする業務における作業と情報の流れを業務情報フロー図で可視化する演習と,業務における状態の遷移を状態遷移図で可視化する演習です
[画像のクリックで拡大表示]

 対象とする業務における作業と情報の流れを明確にすることで,情報システムに対する要求を獲得することができます。また,業務における状態の遷移を明確にすることで,作業の基本的な流れに沿わない例外的な業務を表現できます。例えば,注文を取り消せるタイミングはいつかといったようなことを表せます。

作業の流れを明確にする

 今回の1つ目の演習は,対象とする業務における作業と情報の流れを業務情報フロー図で可視化することです。表記法としては,UMLの「アクティビティ図」を使用します。サンプルを図2に示します。

図2●業務情報フロー図のサンプル<br>業務情報フロー図の視点は,対象とする業務における作業と情報の流れを明確にすることです。業務フロー図に情報フローを加えて表現します。表記法は,UMLのアクティビティ図です
図2●業務情報フロー図のサンプル
業務情報フロー図の視点は,対象とする業務における作業と情報の流れを明確にすることです。業務フロー図に情報フローを加えて表現します。表記法は,UMLのアクティビティ図です
[画像のクリックで拡大表示]

 本講座では,具体的なサンプルとして中古車販売業務を取り上げています。Part5およびPart6回と同じく本演習も,その一部である,中古車を受注するプロセスを取り上げて解説します。

 皆さん,中古車受注プロセスの業務フロー図を覚えていますか。本講座のPart4で,中古車販売業務を中古車受注プロセスと代金請求プロセス,納車プロセスに分割して,中古車受注プロセスの業務フロー図を例示しました。そこで例示した業務フロー図に,情報フローを加えたものが,図2で紹介している業務情報フロー図になっています。

 その業務情報フロー図,つまり,図2で可視化されている中古車受注プロセスの作業は以下のとおりです。

1. お客様は中古車の購入を希望する
2. 販売担当は在庫を問い合わせる
3. 在庫管理担当は在庫を伝える
4. 販売担当は中古車の見積を作成する
5. お客様は中古車を注文する
6. 在庫管理担当は在庫を引き当てる
7. 販売担当はお客様を登録する
8. 販売担当は中古車を受注する

 なお,上記6.の作業と,7.から8.までの作業は,並行して行えます。図2の同期バー(フォークとジョイン)で挟まれている部分です。

入出力情報を明確にする

 業務情報フロー図は,作業の入出力情報とその流れを,業務フロー図に加えて,表現しています。まずは,それぞれの作業における入出力情報を明確にしましょう。その際,一般的には,出力情報を明確にしてから,入力情報を明確にします。

 それぞれの作業は「××を○○する」という形式で表現していますので,作業の成果物(出力)は「○○された××」と機械的に言い換えることで明確になります。出力情報を考える際には,この成果物を考慮します。

 具体的には,上記1.の「購入を希望する」であれば“希望された購入”が出力になります。これを情報名として表現すると「購入希望」になるでしょう。

 同様に考えて,上記2.の「在庫を問い合わせる」であれば“問い合わされた在庫”が出力になります。この場合の情報名は「購入希望」と同じでしょう。以下,上記の3.は「在庫」,4.は「見積」,5.は「注文」,6.は「在庫」,7.は「顧客」,8.は「受注」が出力情報になります。

 次に,入力情報です。それぞれの作業の投入物(入力)は,出力のように機械的に言い換えることで導き出せるわけではありません。ただし,暫定的には「××される前の○○」という形で表現できます。例えば,上記8.の「中古車を受注する」であれば“受注される前の中古車”が暫定的な入力になります。

 この暫定的な入力と,その作業の出力,および,その作業に至るまでの作業の出力を考慮して入力情報を明確にします。例えば,上記8.の「中古車を受注する」であれば「注文」と「顧客」が入力情報です。