« システムの仕様情報を正規化する | トップページ | 良単価・準委任で契約するためにできること »

2014.02.23

コンテキスト・ダイアグラムを描こう

 拙作のモデリングツールXEAD Modelerの1.3.57を公開した。業務フローまわりの操作感が多少改善されただけなのだが、作者としては感無量である。XEAD Modelerの初版(1.0.0)の公開が2005/02/01だったので、今回の更新でとうとう10年目に入ったからだ。これまでコンスタントに改善し続けることが出来たのも、津々浦々で利用されているユーザの皆様からの改善要望のおかげである。あらためて感謝したい。

 公開10年目を記念して(と言うほど大げさな話ではないのだが)、XEAD Modelerの業務フローの使い方として最近気に入っている「コンテキスト・ダイアグラム」の考え方を紹介したい。まず、通常の業務フローは次のように描かれる。青い楕円は個々の業務(業務単位)を表している。たとえば「受注管理者」の担当業務である「受注登録」が青い楕円で表されている。

20140223_1

 この図のツリービュー部分を見るとわかるように、青い楕円の「業務単位」は個々に中身が詳細化されている。ここでは具体的には示さないが、仕事の手順やそれぞれの手順をサポートするUIの組み合わせとして、それぞれの業務単位の詳細が定義される。その内容は業務マニュアルの中核となる。

 ここで、ツリービューに示されている「受注管理者」の担当業務の一覧を見てほしい。上述した受注登録の他に「出荷指示登録」や「請求締め処理」といったさまざまな仕事(業務単位)を受注管理者は担当している。つまり受注管理者という「職務(業務上の役割)」も、それらの業務を遂行するための能力と権限のまとまりとして積極的に定義されたものなのである。

 佐藤さんや鈴木さんといった個々の従業員は、それらの職務のひとつか複数を担って仕事を進めている。そしてひとつの職務にはひとつの「メニュー」があてがわれる。したがって、佐藤さんが「受注管理者」と「発注管理者」の2つの職務を担うのであれば、佐藤さんがシステムにログインすれば「受注管理メニュー」と「発注管理メニュー」が現れる、という具合になる。

 たとえば「受注管理者兼発注管理者」としての佐藤さんが担当するさまざまな業務(業務単位)は、表示される2つのメニューが提供する機能を用いることで遂行できるようになっている。つまりメニューというものは、業務システムの「権限インタフェース」を具体化したものに他ならない。そして、どの機能をどのように使って担当業務を遂行すべきかについては、個々の業務定義の中で記述されている。

 なお、ここらへんの考え方は、システム開発の現場で多勢を占めるやり方と大きく異なっている。部門やコンピュータを縦か横の「スイムレーン」で区切るのが、普及している業務フローの書き方である(便宜上それを「レーンフローダイアグラム(LFD)」と呼んでおこう)。

 LFDの技法においては、業務のまとまりを切り出して業務単位として積極的に定義しようという意図が薄い(というか欠落している)。XEAD Modelerで「受注登録」として定義されている仕事の詳細は、LFD上ではカジュアルに現れたり現れなかったりする。つまり、LFDにおいて業務単位は「エンジニアリングされるべき要素」とはみなされていない。ようするにLFDはただの「お絵かき」であって、苦労して作成される割に後で活用されることが少ないのはそのためだ。XEAD Modelerの業務単位から業務マニュアルを生成できることと対照的である。

 話を戻そう。このように「職務」は業務システムにおいて重要な定義要素である。定義された職務同士の関係をまとめた図面が「コンテキスト・ダイアグラム」だ(次図)。青い楕円の「業務定義(業務単位)」に代わって、白っぽい角丸四角の「主体/システム」のアイコンで「職務」が示されている。そして、職務同士や職務と外部主体との関係がストレージやデータフローとのやりとりとともに集約的に示されている。それがコンテキスト・ダイアグラムである。

20140223_2

 「コンテキスト・ダイアグラム」は、もともとDFDの最上位階層の別名として説明されてきた。じっさい上図も、これより上位の階層の業務フローは存在しない。この例は生産管理システムの例なのだが、生産管理システムがどのような社会的文脈(コンテキストとは文脈の意味)に置かれたものかを俯瞰できるようになっている。

 ただしこの図は「下位階層のいくつかのDFD」をともなうわけではない。たとえば上図の「受注管理者」の要素を取り上げて、これに付与されている業務単位間の関係を「下位のDFD」として描くことにほとんど意味はない。「受注管理者」は、いくつかの業務を担当する権限を表す「職務」の1インスタンスに過ぎず、その下位のいくつかのDFDを上位階層としてカテゴライズしたような概念ではない。したがって、ここで説明したコンテキスト・ダイアグラムは効果の薄いDFDの階層化(レベリング)の技法とは無関係である。

 XEAD Modeler上では次のスライドで示したように、業務フローを「スライドショー」の機能を使ってパラパラマンガのように動かすことができる。複雑に思える生産管理システムのあり方も、コンテキスト・ダイアグラムを書いてパラパラ動かしながら確認することで、よほど理解しやすくなる。効果的な業務フローの切り口として「コンテキスト・ダイアグラム」を活用してほしい。それにしても、曲線を基調にした図面は見ていてナゴむ(^-^)

|

« システムの仕様情報を正規化する | トップページ | 良単価・準委任で契約するためにできること »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: コンテキスト・ダイアグラムを描こう:

« システムの仕様情報を正規化する | トップページ | 良単価・準委任で契約するためにできること »