以下に添付図面を参照して、モジュール管理システムおよびモジュール管理プログラム、モジュール管理方法の実施の形態を詳細に説明する。
以下では、環境の異なる複数拠点にて動作する業務システムの設計あるいは改修を支援する支援システムを例として説明する。業務システムは、業務の遂行を管理するための情報システムであり、一例として、生産管理システムがあるが、本発明はこれに限定されない。業務システムはモジュール構成を有し、支援システムは、業務システムのモジュールを管理するモジュール管理システムである。
図1は、生産管理システムおよびモジュール管理システムを含む全体のシステム構成を示す図である。
モジュール管理システム10は、業務システム20と共に拠点内に配置される場合と、ネットワーク70を介して業務システム20に接続される場合とがある。図1の例では、業務システム20およびモジュール管理システム10には、更にモジュール開発システム11が接続されている。
本実施形態は一例として製造業のシステムを想定しており、業務システム20は、例えば、拠点Aの生産管理システム、拠点Bの生産管理システム、拠点Cの生産管理システムとなる。
モジュール管理システム10は、各拠点の業務システムを構成するモジュール、データ、および業務フローの関係性を管理する。また、モジュール管理システム10は各拠点の業務システム間のシステム構成および業務フローを解析し、拠点ごとのシステム構成の関係性を可視化し、ユーザに関係性情報を提供する。さらに、モジュール管理システム10は、拠点の属性をユーザから受け付けて、ユーザの要求を満たすモジュールの適切な組み合わせをユーザに提示する。
図2は、モジュール管理システム10のブロック図である。図2に示すように、モジュール管理システム10は、拠点属性入力部201、関係性解析部202、関係性管理部203、関係性検索部204、関係性表示部205、およびシミュレート部206を有している。また、モジュール管理システム10は、拠点属性情報207、モジュール管理情報208、対応関係管理情報209、および実行ログ210を格納する。
拠点属性入力部201、関係性解析部202、関係性管理部203、関係性検索部204、関係性表示部205、およびシミュレート部206の実体はソフトウェアプログラムである。拠点属性情報207、モジュール管理情報208、対応関係管理情報209、および実行ログ210の実体はデータである。
ソフトウェアプログラムはRAMに読み込まれてCPU(プロセッサ)によって実行される。データはソフトウェアプログラムが実行される際に適宜、アクセスされる。
拠点属性入力部201は、モジュール管理システム10で管理する拠点属性情報207を登録する。
拠点属性情報207は、モジュール管理情報208においてモジュールおよびデータと関連付けするための、拠点の属性に関する情報である。属性の具体例については図4にて後述する。
関係性解析部202は、ネットワーク70を介して収集した業務システム20の実行ログ210と、プログラムのリポジトリを参照し、業務システム20を構成するモジュールとデータの関係性を解析する。関係性解析部202は、解析結果を、モジュール管理情報208および対応関係管理情報209に記録する。
モジュール管理情報208は、システムを構成するモジュールとデータの関係性、およびデータと拠点属性との関係性を示す関係性情報のテーブルである。
対応関係管理情報209は、モジュールとその後段に設けられる隣接モジュールとの関係性を示す関係性情報のテーブルを試した。
関係性管理部203は、関係性解析部202が解析した、各拠点のシステムの解析結果を相互に比較し、拠点間の属性、業務フロー、モジュールおよびデータを解析する。関係性管理部203は、解析結果を、モジュール管理情報208に記録する。
関係性検索部204は、拠点属性情報207と、モジュール管理情報208と、対応関係管理情報209と、を参照し、ユーザが指定した検索条件を満たす関係性情報を抽出する。例えば、ユーザが例えば生産能力という拠点属性を指定すると、関係性検索部204は、指定された生産能力を満たす関係性情報を抽出する。この抽出された関係性情報から、指定されて生産能力を満たすモジュールの組み合わせが得られる。
関係性表示部205は、他の各部の動作結果である各情報(例えば、拠点属性情報207、モジュール管理情報208)を画面に表示する。
シミュレート部206は、関係性検索部204あるいは関係性表示部205にてユーザが指定したモジュール(導入候補モジュール)を導入した場合のシステム動作のシミュレーションを行う。
本実施形態によるモジュール管理システム10が行う基本的な処理の流れは以下の通りである。
まず、モジュール管理システム10は、リポジトリへソースコードが登録されたことを検出すると、業務フローに含まれる業務工程とモジュールとデータの関係性を解析し、さらに、解析結果を基に、モジュールおよびデータに拠点属性を関連付け、更にその値を登録または更新する。
次に、モジュール管理システム10は、ユーザが指定した検索条件を受け付け、その検索条件を満たす業務工程またはモジュールまたはデータを検索し、得られた検索結果をユーザに提示する。
次に、以上に示した処理の流れを、主体となる各部を明示して詳述する。
まず、拠点属性入力部201が拠点属性情報207に事前設定可能な拠点属性の情報を登録する。事前設定可能な拠点属性は、予め設定しておくことが可能な拠点属性である。例えば、工場拠点での生産管理であれば、拠点の場所、拠点のある地域の税制度、などは予め設定しておくことができる。
次に、関係性解析部202が、一つの拠点のリポジトリおよび実行ログ210を対象として解析を行って拠点属性を算出し、拠点属性情報207に登録または拠点属性情報207を更新する。リポジトリおよび実行ログ210から算出可能な拠点属性は、例えば、工場拠点の生産管理であれば、生産能力、輸送能力などである。
ならびに、関係性解析部202は、拠点属性情報207の登録または更新があると、新たな拠点属性情報207に基づいてモジュール管理情報208を解析し、モジュール管理情報208に新たな対応関係の情報を登録あるいはモジュール管理情報208内の対応関係の情報を更新する。
いずれかの拠点のモジュール管理情報208の登録または更新があると、次に、関係性管理部203が、モジュール管理情報の登録または更新があった拠点を含む各拠点の解析済みであるモジュール管理情報208を解析し、新たな対応関係管理情報209を作成する。
業務システム20のモジュール構成、または業務フローとモジュールとデータと拠点属性との関係性を表示する場合、ならびに拠点間の業務システム20のモジュール構成を比較する場合、ならびに所望の条件を満たすモジュールを検索する場合には、関係性検索部204が拠点属性情報207、モジュール管理情報208、および対応関係管理情報209を参照して所望の情報を取得し、取得された情報に基づき、関係性表示部205にて、検索結果をユーザに提示する。
例えば、適用されているモジュールの類似モジュールが所望の条件を満たすものとして得られた場合など、類似モジュールを適用した場合の業務システム20の動作のシミュレーションを行うことができる。その場合、シミュレート部206が、ユーザの指定したモジュールを、シミュレーションへのインプットとして、業務システム20の動作のシミュレーションを行い、シミュレーション結果をユーザに提示する。
なお、図2で示したモジュール管理システム10の内部構成において、関係性管理部203は必須ではない。ただし、関係性管理部203を備えることにより、さらにモジュール構成の管理工数を低減することができる。また、シミュレート部206も必須ではない。しかし、シミュレート部206を備えることにより、導入候補のモジュールを導入した場合のコストや効果を容易に把握することができる。
以上説明したように、本実施形態によるモジュール管理システム10は、モジュールを組み合わせて構築された情報システムの設計を支援する支援システムである。そして、モジュール管理システム10は、関係性解析部202と、関係性検索部204と、関係性表示部205と、を有する。関係性解析部202は、拠点に適用される情報システムについて、その拠点での業務フローに含まれる業務工程と、その業務工程に関連する、拠点に適用されたモジュールと、そのモジュールによって参照されるデータと、そのモジュールおよびデータが関連する拠点の拠点属性と、の関係性を示す関係性情報を生成する。関係性検索部204は、指定された拠点の関係性情報を抽出する。関係性表示部205は、抽出された関係性情報を表示する。
これにより、拠点の情報システムに適用されたモジュールとデータが拠点属性と関連づけられるので、拠点属性に影響されるモジュールの特定を支援することができ、また拠点毎に業務工程とモジュールが拠点属性と関連づけられるので、属性の類似する拠点に情報システムを構築するとき適切な既存モジュールを提示して設計を支援することができる。
図3は、本実施形態によるモジュール管理システム10のハードウェアを構成するサーバ装置のブロック図である。モジュール開発システム11および業務システム20もハードウェアは基本的に図3に示すものと同様の構成である。
図3に示すようにサーバ装置101は、主制御部102、主記憶部103、入力部104、出力部105、および通信部106を備える。
主制御部102は、主記憶部103に記録されたプログラムコードをプロセッサが実行することで、サーバ装置101における情報処理を制御する。
主記憶部103は、サーバ装置101に関するプログラムおよびデータを含む各種情報を不揮発的に記憶する。
入力部104は、サーバ装置101に関する情報をユーザが手動で入力するインタフェースである。
出力部105は、サーバ装置101に関する情報を出力するインタフェースである。
通信部106は、ネットワーク70を介して、他サーバ装置の通信部106と接続し、他サーバ装置と情報を送受信するインタフェースである。
本構成は、例えば、主制御部102をCPU(Central Processing Unit)とRAM(Random Access Memory)で、主記憶部103をハードディスクで、入力部104をキーボードで、出力部105をディスプレイモニタで、通信部106をイーサネット(登録商標)のインタフェースカードで、それぞれ実現することにより、サーバ装置をよく知られたコンピュータで構成可能である。
図4は、本実施形態における各リソース間の関係性を表した概念図である。本実施形態では、システムで提供する業務フローにおける各業務工程、各業務工程の業務を実現する業務システムに組み込まれるモジュール、モジュールが参照および更新するデータ、およびモジュールを導入する拠点の基本的な性質やモジュールを導入する条件である拠点属性がそれぞれレイヤとして定義される。
図4では、各レイヤを業務フローレイヤ402、モジュールレイヤ403、データレイヤ404、拠点属性レイヤ405とする。上位から順に、業務フローレイヤ402、モジュールレイヤ403、データレイヤ404、拠点属性レイヤ405という階層構造が形成されている。
業務フローレイヤ402には要素となるリソースとして業務フローの各業務工程が含まれる。モジュールレイヤ403には要素となるリソースとして各モジュールが含まれる。データレイヤ404には要素となるリソースとして各データが含まれる。拠点属性レイヤ405には要素となるリソースとして各拠点属性が含まれる。
また、図4では、業務フローレイヤ402内の各業務工程が時系列に矢印で結ばれ、更に、上下に隣接するレイヤ間で互いに関連する要素同士が関連づけられている。
例えば業務フローレイヤ402は、業務工程の時系列の関係性はユーザから見た各業務とその実行順序を示す。更に、各業務はモジュールレイヤ403のモジュールと対応付けられている。
モジュールレイヤ403の各モジュールはインプットデータおよび/またはアウトプットデータを持ち、適宜必要なデータを参照しながら処理を行う。そのため、モジュールレイヤ403の各モジュールはデータレイヤ404の各データと関連付けることが可能である。
さらに、拠点属性レイヤ405は、拠点の性質を判断可能な情報が拠点属性として含まれている。本実施形態のように生産管理システムの場合であれば、ラインの生産能力、人の生産能力、拠点の広さ、扱うリソース(製造対象)などが拠点属性となる。
なお、業務を実現するための導入されるモジュールは何かしらの拠点属性に合わせて導入されるものもある。、そのため、拠点属性レイヤ405の各要素である拠点属性は、データレイヤ404においてモジュールレイヤ403の各モジュールと関連づけられているデータと関連付けることが可能である。前述したとおり、モジュールレイヤ403の要素であるモジュールとデータレイヤ404の要素であるデータを関連付けることにより、前述したモジュールとデータの関係付けにより、モジュールと拠点属性を間接的に関連付けることが可能となる。
本実施形態では、関係性解析部202は、業務工程を要素として含む業務フローレイヤ402、モジュールを要素として含むモジュールレイヤ403、データを要素として含むデータレイヤ404、拠点属性を要素として含む拠点属性レイヤ405の順序に階層化し、隣接するレイヤ間で要素同士を関連付けた関係性情報を生成する。関係性表示部205は、その関係性情報における各レイヤおよび該レイヤに含まれる要素を前記順序で階層的に表示し、前記要素同士の関連付けをレイヤ間を跨ぐ線で表示する。
このように、業務工程、モジュール、データ、および拠点属性が階層的に表示され、それらの関連付けが線で表示されるので、情報システムの新規設計や設計変更において、モジュールの選択や変更などを容易に行うことができる。
なお、本実施形態では、業務フローレイヤ402は単一階層をなし、業務工程が時系列に直列的に進行する場合を例示しているが、本発明はこれに限定されない。他の例として、業務フローレイヤ402は、管理対象となる業務の構成に応じて複数階層からなる階層構造にしてもよい。
ここで、図4を用いて、本実施形態のモジュール管理システム10が類似のモジュールを探索する動作例を示す。ここでは類似のモジュールは所望の条件を満たすモジュールである。
既存のモジュールの中から類似のモジュールを探索する場合、ユーザが指定した拠点属性を探索条件として受け付け、関係性検索部204が、探索条件を指定したユーザのユーザ情報からそのユーザが属する拠点を特定する。
次に、関係性検索部204は、特定した拠点の関係性情報において、拠点属性レイヤ405に登録されている拠点属性の中から、探索条件として受け付けた拠点属性と一致する属性を特定する。
次に、関係性検索部204は、特定した拠点属性と関連付けされたデータレイヤ404のデータを特定し、さらに特定したデータを参照するモジュールレイヤ403のモジュールを特定し、さらに特定したモジュールを呼び出す業務フローレイヤ402の業務工程を特定する。
以上の処理により、ユーザが属する拠点における探索条件として指定された拠点属性を満たすモジュールを特定することができる。
次に、関係性検索部204は、ユーザが属しない他拠点においても基本的には同様の処理を行い、探索条件として指定された拠点属性を満たすモジュールを特定する。
その後、それぞれの拠点において特定したモジュール中から、指定された業務と一致する業務に関連付けられたモジュールを特定し、特定したモジュールを類似モジュールとしてユーザに提示する。
なお、該当するモジュールが複数ある場合には、類似性の高いモジュールから順に結果を提示する。類似性の判断は、例えば、業務工程におけるモジュールの実行順序、あるいは、拠点属性の各値が探索条件の拠点属性の値とどれだけ近いかという近似度合いを基に判断してもよい。
図5は、本実施形態における拠点属性情報207のデータ構造の一例を示す図である。拠点属性情報207は、複数拠点の拠点属性およびその値をテーブルに示すデータ構造である。本データ構造の拠点属性情報207を用いて拠点属性の管理と拠点の類似性判断が行われる。
図5に示すように、例えば、生産管理システムに係わる拠点属性として、拠点の敷地の面積、時間あたりの生産能力、税制度、輸送能力、生産対象などの項目を予め設定しておく。なお、拠点属性の項目および値については適宜修正および追加をすることができる。
また、これらの拠点情報は拠点ごとに異なるため、縦軸に拠点属性をとり、横軸に拠点を一意に識別可能な拠点コードをとったテーブルにてそれぞれの値を保持する。なお、これら拠点属性のうち、場所、税制度など、モジュール管理システム10により自動で設定および更新が困難なものについては、予め、システム利用者、開発者、または管理者が設定しておくものとする。また、輸送能力、生産能力、生産対象など値が動的に変化する項目については、モジュール管理システム10がモジュールに関する解析を実行したときデータを参照し、解析結果から新たな値を都度格納する。
図6A、図6Bは、レイヤ間の要素同士の関係性を管理するモジュール管理情報208のデータ構造の一例を示す図である。図6Aに示すモジュール管理情報208aと、図6Bに示すモジュール管理情報208bを合わせてモジュール管理情報208となる。
図6Aに示すように、モジュール管理情報208aとしては、各モジュールについて、業務システム20が管理の対象とする拠点を一意に特定可能な拠点、業務システム20が管理の対象とする業務、その業務を実施するためのモジュール、拠点間においてモジュールが共通かどうかの位置づけを示す共通性、そのモジュールが拠点属性に関連するかどうかという対応関係、を保持している。
図6Aのモジュール管理情報208aにて共通の欄に○(丸印)がついているのは、業務システム20の稼動にあたり全ての拠点にて共通で動作が必要なモジュールであることを意味する。モジュールが拠点間で共通か否かの共通性の判断は予め実施するものとする。
また、図6Aのモジュール管理情報208aにて、拠点属性の各欄に〇(丸印)がついているのは、その拠点項目に影響するモジュールであることを意味する。
なお、モジュールと共通性および拠点属性との対応関係については、図6Aのデータ構造では、対応が有るか無いかについてのみ管理している。しかし、同じ名称の拠点属性であっても拠点によって詳細は異なる場合がある。そのため、拠点毎の差異については、拠点属性情報207で管理するものとしている。また、モジュールと拠点属性との対応関係については、図4で示した通り、データと拠点属性の関係性を基に判断し、その判断結果をモジュール管理情報208aにて管理する。
また、図6Bは、モジュールが参照するデータを対象としたモジュール管理情報208bである。本モジュール管理情報208bでは、システムが対象とする拠点および前述したモジュールに対し、そのモジュールが参照するという関係にあるデータと、データと拠点属性との対応関係を保持している。
なお、図6Aおよび図6Bに示したモジュールが拠点属性に関連するか否かについては、モジュール管理システム10のプログラムが判定を実行する他に、ユーザが指定することも可能である。例えば、図6BのモジュールEは「生産対象」にのみ該当することが示されているが、図6AのモジュールEは「生産対象」の他に「税制度」にも該当することが示されている。
図7は対応関係管理情報209のデータ構成の一例を示す図である。
対応関係管理情報209は、全拠点共通で使用されているモジュールおよび拠点ごとのモジュールについて、隣接モジュールを管理するものである。
縦軸のモジュールは拠点によってカテゴライズされている。リポジトリに新規モジュールが追加された場合には、縦軸に新たな項目が追加される。
隣接モジュールの欄には、前記モジュールで指定したモジュールの後に実行される関係にあるモジュールを一意に特定可能なモジュールIDが記録される。例えば、拠点JPのモジュールAの隣接モジュールはモジュールBであり、モジュールBの隣接モジュールはモジュールCとモジュールEである。そのため、本対応関係管理情報209から、モジュールA、B、CあるいはA、B、Eの順にモジュールが実行されるという関係性が読み取れる。
なお、全拠点に共通の部分には、解析の結果どの拠点にも含まれるモジュールおよびそのモジュールの関係性が登録される。図7の例では、拠点JPと拠点EUに共通して含まれるモジュールとしてモジュールA、B、およびDが登録され、さらにモジュールAの隣接モジュールとしてモジュールBが登録されている。
図8は、関係性解析部202の動作を示すフローチャートである。
関係性解析部202は、まず、リポジトリにソースコードが追加されたことを検知すると、それをトリガとして動作を開始する(S101)。
次に、関係性解析部202は、新たなリポジトリから元のリポジトリへと更新された差分を特定し(S102)、更新分について、モジュールのインプットデータ、アウトプットデータ、および参照データクラスを特定する(S103)。
次に、関係性解析部202は、特定したデータがモジュール管理情報208b(関係性テーブル)にあるか否かを探索し、そのデータが関係性テーブルにあれば、そのデータとそのデータを呼び出すモジュールとの呼び出し関係を特定する(S104)。
次に、関係性解析部202は、モジュール開発システム11あるいは業務システム20からネットワーク70を介して収集した実行ログ210を参照し、モジュールの実行順序を特定する(S105)。既に登録済みのモジュールであった場合、関係性解析部202は、実行順序に新規の関係性がないか探索し、実行順序に新規の関係性があった場合は更新データとして特定する。
次に、関係性解析部202は、モジュールの位置づけを特定する(S106)。このとき関係性解析部202は、特定したモジュールの実行順序を基に、解析対象の前後のモジュールを特定する。
次に、関係性解析部202は、モジュールが参照するデータクラス名やデータ変数名を基に、モジュールが寄与する拠点属性を推定する(S107)。具体的には、拠点属性に該当するキーワードを予め登録しておき、前記データのデータ名称とキーワードとのマッチングを取る。なお、登録してあるキーワードに該当しない場合は、モジュールが寄与する拠点属性としてユーザの入力を受けつけることも可能である。
最後に、関係性解析部202は、これまでの処理フローにて解析した結果を拠点属性情報207、モジュール管理情報208、および対応関係管理情報209に格納する(S108)。
以上のように、関係性解析部202は、業務システム20のソースコードを含むリポジトリに変化があると、その変化におけるリポジトリの更新部分を抽出し、更新部分においてソースコードが参照するデータを特定する。関係性解析部202は、更に、関係性情報において、特定したデータと関連づけられたモジュールを特定し、そのモジュールが参照するデータを基にそのモジュールが関連する拠点属性を特定する。更に、関係性解析部202は、特定したモジュールとデータと拠点属性に基づき、拠点属性情報207、モジュール管理情報208、および対応関係管理情報209といった関係性情報を更新する。
したがって、本実施形態によれば、関係性情報に要素間の関連付けがあるので、リポジトリの更新部分から辿って、更新すべきデータ、モジュール、および拠点属性を特定することができる。そのため、関係性情報を容易に更新して最新状態を管理することができる。
図9は、関係性解析部202が拠点間のモジュール関係性を特定する動作を示すフローチャートである。関係性解析部202は、モジュールの改修によるリポジトリ更新時、すなわち関係性解析部202がリポジトリ更新の処理を実施した後に動作する。
まず、関係性解析部202は、全拠点のシステムについて予め指定された共通モジュールと、その共通モジュールに連接するモジュールを特定する(S201)。
次に、関係性解析部202は、基準とする任意の拠点を一つ選定する(S202)。次に、関係性解析部202は、基準となる新規のモジュールと、比較拠点を一つ特定し(S203)、共通モジュール間にある連接モジュールを特定する(S204)。その場合、もしモジュールと対応する拠点属性があった場合には(S205)、拠点属性の位置づけを推定し、対応関係管理情報209を更新する(S206)。
以上の処理を比較拠点として設定した拠点の全モジュールを対象として行い(S207)、全拠点を対象として実行する(S208)。
以上のように、本実施形態では、関係性解析部202は、いずれかの関係性情報を更新すると、全ての拠点の関係性情報を解析して更新が必要な関係性情報があればその関係性情報を更新する。いずれかの関係性情報を更新したとき、他の全ての関係性情報の関係性を見直すので、全ての関係性情報を最新状態を管理することができる。
図10は、シミュレート部206の動作を示すフローチャートである。たとえば、ある拠点で適用されているモジュールを他の拠点に転用する場合、転用しようとするモジュールを導入候補モジュールとして以下の処理を行う。
まず、シミュレート部206は、ユーザが指定した導入候補モジュールを受け付ける(S301)。
次に、シミュレート部206は、導入候補モジュールを設定した評価環境を構築する(S302)。例えば、導入候補モジュールを導入しようとする拠点で現在運用されている環境(通常環境)に適用されている、導入候補モジュールに対応するモジュールを導入候補モジュールに置き換えた環境を評価環境とすればよい。
次に、シミュレート部206は、通常環境が実行されるのに伴い(S303)、導入候補モジュールの前モジュール終了時に結果をフックし、導入候補モジュールを動作させる(S304)。最後に、シミュレート部206は、導入候補モジュールの実行結果を出力する(S305)。
なお、導入候補モジュールの出力結果については、通常環境の実行結果と評価環境の実行結果との差異を画面に表示することにしてもよい。あるいは、通常環境の実行結果と表環境の実行結果とを対比可能に並べて表示してもよい。
上述したように本実施形態では一例として、関係性情報には、拠点に適用される複数のモジュールの実行順序の情報が含まれている。シミュレート部206は、シミュレーションの対象とするモジュールである導入候補モジュールが指定されると、その拠点の情報システムにおける導入候補モジュールに対応するモジュールの代わりに導入候補モジュールを配置した評価環境を設定する。そして、シミュレート部206は、その拠点の業務システム20の運用において評価環境における導入候補モジュールの前段のモジュールが実行されると、そのモジュールの実行結果を取得し、その実行結果を用いて導入候補モジュールを実行する。そして、シミュレート部206は、その導入候補モジュールの実行結果をシミュレーション結果として取得する。このように、実際に適用されている業務システム20の運用に連結して導入候補モジュールをシミュレーションするので、実際に導入したときの動作に近い動作をシミュレーションによって得ることができる。
図11Aは、関係性解析部202の動作結果を表示する画面例を示した図である。図の画面501には、ユーザが指定した拠点5011の業務フローと業務を支援するシステムの構造が表示されている。
画面501に示すとおり、関係性解析部202の動作結果として、業務フロー、モジュール、データ、および、それらの関係性がそれぞれ表示される。
なお、前記画面501では、業務、モジュール、およびデータは、それぞれの表示の横方向の位置関係によって、それぞれが属するカテゴリと、レイヤ間の関係性が示されている。例えば、ある業務工程の下に表示したモジュールは、その業務工程を実施するのに必要なモジュールである。さらに、モジュール同士の実施順序はモジュール間を結ぶ実線矢印で表現している。
また、あるモジュールがあるデータを呼び出すという呼び出し関係のあるモジュールとデータの組については、モジュールとデータとを実線矢印で結んでその関係性の有無を表現する。
なお、本業務フローの各業務工程や属性の名称については、予め指定しておくこともでき、また本画面501上でその名称を変更することもできる。また、○(塗りつぶしなしの丸印)と●(塗りつぶされた丸印)5012の区別は、●(塗りつぶされた丸印)5012により、では全業務フローのうち、画面501詳細を表示している業務工程を示している。
さらに、モジュールおよびデータは拠点間の共通性が識別できるよう、色づけや形状を変更して表現する。本実施例では太線のモジュールおよびデータが拠点共通として利用されているものであり、改修権限の割り当ても画面上で実施可能である。
図11Aの画面501において、さらに、モジュールおよびデータを、そのデータに関連付けされた拠点属性を識別可能な形状あるいは色等で表現することもできる。また、例えば、図に示された「place」「human」「part」「process」というチェックボックスにて、注目する拠点属性をユーザが指定し、それに該当するデータのみをハイライト等で一意に特定できるように表示することが可能である。図11Aの例では、注目している「place」という拠点属性と関連付けられたデータが点線で表示されている。なお、モジュールおよびデータが2つ以上の拠点属性に関連する場合は、そのモジュールおよびデータにとって主な要素となる拠点属性を表示することにしてもよい。
なお、本画面に関係性を表示する範囲はを適宜変更することが可能である。例えば、あるモジュールに関係するデータの数が多い場合は、関係性を画面に表示する部分として、ある業務フローの1つの業務工程を選択できることにしてもよい。
図11Bは、関係性解析部202の動作結果を表示する画面の他の例を示した図である。図11Bには、「生産計画作成」という業務工程5021を選択したときに表示される画面502の例が示されている。画面502に示すように、選択された業務工程に関連するモジュールとデータのみが表示される。
ユーザは以上述べた画面を利用することにより、業務フローからシステムのデータまでのレイヤ間の関係性を別途ドキュメントを参照せずに容易に把握することができる。
図12Aは、拠点間のモジュールの関係性の一例を示した図である。図の例では、「JP」「CH」「US」という3つの拠点の関係性を示している。
図12Aの画面601に示すとおり、基本的な構成は図11A、Bに示した関係性と同様に、業務フロー、モジュール、あるいはデータについて、対応する要素が縦に並ぶように位置付けで表現されている。図12Aの例では、ユーザは横の時系列関係と、縦の対応関係により、各モジュールの位置づけや対応するモジュールの有無を確認することができる。
図12Aでは、拠点選択欄6011にて全拠点が選択さしている。、この状態から、ユーザがいずれか1つの任意の拠点を選択すると、図11A、11Bに示した拠点単位での関係性を表示する画面に遷移する。なお、拠点選択欄6011とは別に、例えばカーソルなどで選択した拠点を軸として、同じ位置付けとなるモジュールのみを表示することも可能である。図12Aの例では「US」が選択されている。そのため、「US」のモジュール名称が上部に表示され、他拠点についてはUSの各モジュールに対応するモジュールのみが縦に並ぶように表示されている。
また、表示されている中からいずれか1つの要素をカーソル等で選択することにより、その要素を含むレイヤを拠点間で比較するような、レイヤ単位での比較も可能である。
図12Bは、図12Aの画面から遷移した画面表示の例を示す図である。図12Bには、図12Aで「生産計画作成」という業務工程を押下した場合に表示される画面602が示されている。「JP」「CH」「US」という3つの拠点の業務フローが表示されている。
図12Bを見て分かるように、各拠点の業務フローはそれぞれの拠点の環境によって異なる可能性がある。例えば、JPとCHの業務フローには「週次生産計画作成」という業務工程があるが、USの業務フローにはそれが無い。その場合、業務フローにおける業務工程の前後を拠点間で比較して、同じ位置づけとなる業務工程を特定し、その業務工程を表示する。ユーザはこの画面によって、選定した拠点と同じ業務フローを有する拠点を特定したり、拠点間の業務フローの差異を確認したりすることができる。
以上説明したように、関係性検索部204は、要求により、複数の拠点の関係性情報を抽出する。そして、関係性表示部205は、複数の拠点のそれぞれについて関係性情報に含まれる要素を時系列に並べ、かつ、複数の拠点の時系列で対応する位置づけとなる要素を時系列方向において同一位置に並べて表示する。これにより、複数の拠点の関係性情報を時系列に並べて表示するので、ユーザは複数の拠点の対応する要素を比較しながら拠点間のモジュールの流用等について検討することができる。
図13は、ユーザの指定した条件を満たすモジュールを全拠点から検索した結果を表示した画面の例を示す図である。なお、ユーザは、管理者、拠点のシステム開発者、あるいは保守運用者等である。
本画面701には、例えば、モジュールの検索条件となる拠点属性、および表示条件となる表示順、などをユーザにより指定可能に表示されている。これにより、ユーザによる検索条件および表示条件の指定を受け付けることが可能である。図13の例では、モジュールの検索条件に“PLACE”が指定されているため、拠点属性情報207で管理されている“PLACE(場所)”という拠点属性に関連するモジュールを検索した結果が表示される。
ユーザは、本画面701によって、業務フローの各業務工程における、指定した拠点属性と関係づけられたモジュールを容易に特定することができる。
また、ユーザは、比較の基準となる起点の拠点を指定することが可能である。起点とする拠点を指定することにより、起点とした拠点と他の拠点とを対比して表示することが可能となる。例えば、起点として指定した拠点の検索結果を最上段に表示し、2段目以降に、起点の拠点の拠点属性に最も近い拠点属性を持つ拠点のモジュールの検索結果を表示することが可能である。
なお、起点とする拠点を選択しないのであれば、ユーザは「起点の拠点を指定」を選択しなければよい。拠点が選択されていない場合は、例えば、登録順やエリア順などで上から拠点を並べて検索結果が表示してもよい。
これにより、ある拠点のシステム開発者は追加する必要がある機能を実現するモジュールが既に他の拠点で開発され、適用ているかどうかを容易に調査することができる。また、全拠点のシステム管理者は全拠点のシステム構成の差異を確認して各モジュールの導入率を算出し、導入率の高いモジュールを全ての拠点に共通的に適用する共通モジュールとして設定するといった判断の指標として導入率を用いることができる。さらに、新規に立ち上げる拠点のシステム設計者は、その拠点の拠点属性に他の拠点のものと異なる部分があっても、拠点属性ごとに転用可能なモジュールを全拠点から探すことができる。
図14は、関係性検索部204の動作を示すフローチャートである。図13に示した画面701の上部にある検索条件のいずれかの欄にチェックを入れて拠点属性を指定すると、関係性検索部204は、指定された検索条件を受けつけ(S401)、モジュール管理情報208から全拠点のモジュールを対象として検索条件をキーとしてモジュールを探索し、検索条件を満たすモジュールを特定する(S402)。
次に、関係性検索部204は、ユーザが表示条件として拠点を指定していた場合(S403)、ステップS402の検索で特定したモジュールを対象として、ステップS403で指定した拠点と拠点属性の値が近い順に、拠点を並び替える(S404)。一方、表示条件として拠点の指定がなかった場合、関係性検索部204は、一例として、全拠点について、検索条件とされた拠点属性の平均値を算出し、その平均値に近い順に拠点を並び替える(S405)。なお、定量値をとらない拠点属性については、検索条件としたモジュールが登録された順に拠点を並び替えても良い。
最後に、関係性検索部204は、検索結果として、ステップS402で特定したモジュールを、ステップS404またはステップS405で定めた拠点の順序に並べて表示する(S406)。
以上の処理を行うことにより、拠点の特性(拠点属性)と、システムの構成要素であるモジュールと、モジュールが呼び出すデータとの対応関係を継続的に特定することができる。その結果、モジュールを転用する際の適合性確認、他拠点に適用されている拠点属性が近いモジュールを特定し、再利用することにより、システム開発および保守にかかる工数、および新規に拠点を立ち上げる際に要するシステム開発工数を削減することができる。また、ユーザは、自分が担当する拠点の拠点属性に適したモジュールが他の拠点のシステムに既に存在するかどうかを容易に見つけることができるので、自分の拠点のシステムを改修する期間を短縮することができる。
本実施形態によれば、関係性検索部204は、複数の拠点の関係性情報に含まれるモジュールの中から、検索条件として指定された拠点属性と関連づけられたモジュールを抽出する。そして、関係性表示部205は、抽出されたモジュールを他と区別するように、関係性情報に含まれるモジュールを表示する。これにより、検索条件に指定された拠点属性と関連するモジュールを抽出し、それが分かるように表示するので、例えば、ある拠点属性に注目して流用に適したモジュールを探すとき、拠点属性から流用候補のモジュールを抽出することができる。
また、関係性表示部205は、基準(起点)となる拠点が表示条件として指定されると、検索条件に指定された拠点属性の値が、表示条件に指定された拠点の拠点属性の値に近い順に関係性情報を並べて、その関係性情報に含まれるモジュールを表示する。これにより、検索条件に指定された拠点属性の値が近い拠点のモジュールを上位に表示するので、例えば、拠点属性に注目して流用に適したモジュールを探すとき、注目する拠点の拠点属性に値が近い流用候補のモジュールを抽出することができる。
なお、上記実施形態は本発明を限定するものではなく、実施に際しては本発明の要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている構成要素は常に全て必要というものではなく、複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。
本実施形態では生産管理を例として述べたが、本発明は他の分野にも適用が可能である。