(57)【特許請求の範囲】
【請求項１】
分散システムの動作を行う主体である複数のエンティティと、該エンティティが行うひとまとまりの動作であるタスクと、該タスク間の制御フローとを含み、前記分散システムが提供するサービス及び業務を表現するダイヤグラムから構成されるユースケースと、前記タスクの入出力情報を含む前記分散システムの方式要件とから、前記タスクを実現する機能と、該機能を実行するサブシステムと、該機能間の制御フローとを含み、前記分散システムの実体的構成を表現するダイヤグラムであるビジネスプロセスを生成するビジネスプロセス生成装置であって、
既存システムのサブシステム、該サブシステムの機能、該機能の処理内容及び該機能の方式要件のデータを含むメタ情報を記憶するリポジトリと、
前記分散システムのユースケースと、前記タスクの入出力情報を含む前記分散システムの方式要件と、を入力する要件入力手段と、
前記ユースケースの各タスクについて、前記メタ情報を検索して、前記既存システムの中から前記ユースケースおよび方式要件を満たす候補機能及びサブシステムを抽出する候補機能抽出手段と、
前記ユースケースの各タスクに前記候補機能を割り当て、該タスクに割り当てた機能を、該機能を実行するサブシステムを定義するスイムレーンに属する要素とする機能割当手段と、
を備えることを特徴とするビジネスプロセス生成装置。
【請求項２】
前記分散システムの方式要件は、前記ユースケースのあるタスクが他のタスクと共通する機能であることを示す共通機能項目を含み、
前記候補機能抽出手段は、タスクの共通機能以外の項目を満たす既存システムの候補機能を抽出し、
前記機能割当手段は、タスクの共通機能以外の項目を満たす既存システムの候補機能と、該タスクの共通機能項目が示す他のタスクの要件を満たす候補機能とに共通する機能を該タスクに割り当てる、
ことを特徴とする請求項１に記載のビジネスプロセス生成装置。
【請求項３】
前記分散システムの方式要件は、前記ユースケースのあるタスクが他のタスクと同じサブシステムに配置されることを示す機能配置項目を含み、
前記候補機能抽出手段は、タスクの機能配置以外の要件を満たす候補機能を提供する第１のサブシステムを前記リポジトリから取得するとともに、該タスクの機能配置項目が示す他のタスクの要件を満たす候補機能を提供する第２のサブシステムを前記リポジトリから取得し、
前記機能割当手段は、前記第１のサブシステムと第２のサブシステムとを比較して、両者に共通なサブシステムの機能を、該タスク及び該タスクの機能配置項目が示す他のタスクに割り当てる、
ことを特徴とする請求項１又は２に記載のビジネスプロセス生成装置。
【請求項４】
分散システムの動作を行う主体である複数のエンティティと、該エンティティが行うひとまとまりの動作であるタスクと、該タスク間の制御フローとを含み、前記分散システムが提供するサービス及び業務を表現するダイヤグラムから構成されるユースケースと、前記タスクの入出力情報を含む前記分散システムの方式要件とから、前記タスクを実現する機能と、該機能を実行するサブシステムと、該機能間の制御フローとを含み、前記分散システムの実体的構成を表現するダイヤグラムであるビジネスプロセスを生成するビジネスプロセス生成方法であって、
前記分散システムのユースケースと、前記タスクの入出力情報を含む前記分散システムの方式要件と、を入力する要件入力工程と、
前記ユースケースの各タスクについて、既存システムのサブシステム、該サブシステムの機能、該機能の処理内容及び該機能の方式要件のデータを含むメタ情報を記憶するリポジトリを検索して、前記既存システムの中から前記ユースケースおよび方式要件を満たす候補機能及びサブシステムを抽出する候補機能抽出工程と、
前記ユースケースのタスクに前記候補機能を割り当て、該タスクに割り当てた機能を、該機能を実行するサブシステムを定義するスイムレーンに属する要素とするプロセス生成工程と、
を備えることを特徴とするビジネスプロセス生成方法。
【請求項５】
前記分散システムの方式要件は、前記ユースケースのあるタスクが他のタスクと共通する機能であることを示す共通機能項目を含み、
前記候補機能抽出工程は、タスクの共通機能以外の項目を満たす既存システムの候補機能を抽出する工程を含み、
前記プロセス生成工程は、タスクの共通機能以外の項目を満たす既存システムの候補機能と、該タスクの共通機能項目が示す他のタスクの要件を満たす候補機能とに共通する機能を該タスクに割り当てる工程を含む、
ことを特徴とする請求項４に記載のビジネスプロセス生成方法。
【請求項６】
前記分散システムの方式要件は、前記ユースケースのあるタスクが他のタスクと同じサブシステムに配置されることを示す機能配置項目を含み、
前記候補機能抽出工程は、タスクの機能配置以外の要件を満たす候補機能を提供する第１のサブシステムを前記リポジトリから取得するとともに、該タスクの機能配置項目が示す他のタスクの要件を満たす候補機能を提供する第２のサブシステムを前記リポジトリから取得する工程を含み、
前記プロセス生成工程は、前記第１のサブシステムと第２のサブシステムとを比較して、両者に共通なサブシステムの機能を、該タスク及び該タスクの機能配置項目が示す他のタスクに割り当てる工程を含む、
ことを特徴とする請求項４又は５に記載のビジネスプロセス生成方法。
【請求項７】
分散システムの動作を行う主体である複数のエンティティと、該エンティティが行うひとまとまりの動作であるタスクと、該タスク間の制御フローとを含み、前記分散システムが提供するサービス及び業務を表現するダイヤグラムから構成されるユースケースと、前記タスクの入出力情報を含む前記分散システムの方式要件とから、前記タスクを実現する機能と、該機能を実行するサブシステムと、該機能間の制御フローとを含み、前記分散システムの実体的構成を表現するダイヤグラムであるビジネスプロセスを生成するビジネスプロセス生成装置としてコンピュータを機能させるコンピュータプログラムであって、当該コンピュータを、
既存システムのサブシステム、該サブシステムの機能、該機能の処理内容及び該機能の方式要件のデータを含むメタ情報を記憶するリポジトリと、
前記分散システムのユースケースと、前記タスクの入出力情報を含む前記分散システムの方式要件と、を入力する要件入力手段と、
前記ユースケースの各タスクについて、前記メタ情報を検索して、前記既存システムの中から前記ユースケースおよび方式要件を満たす候補機能及びサブシステムを抽出する候補機能抽出手段と、
前記ユースケースのタスクに前記候補機能を割り当て、該タスクに割り当てた機能を、該機能を実行するサブシステムを定義するスイムレーンに属する要素とする機能割当手段、
として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散システムのビジネスプロセス生成装置に関する。より詳しくは、開発対象システムが解決すべき問題に関係する役割と、その役割が果たすべきタスクと、そのタスク間の相互作用及び順序を記述したダイヤグラムであるユースケースから、開発対象システムが解決すべき問題に関係する１又は複数のサブシステムからなるシステムであって、そのサブシステムが果たすべきタスクと、タスク間の相互作用および順序を記述したダイヤグラムであるシステムベースビジネスプロセスを生成することができる、ビジネスプロセス生成装置に関する。
【背景技術】
【０００２】
一般的に分散システムの開発は、以下の手順で進められる。
（１）要求定義工程
開発対象のシステムが解決すべき課題を把握するために、実現手段（技術及びシステム設計）とは離れて、その問題に関係する役割と、その役割が果たすべきタスクを検討する。本工程の成果物である、責務が果たすタスク間の制御の流れを定義したユースケースを作成する。
【０００３】
（２）システム要求検討工程
開発対象のシステムについて技術的制約や、既存サービス構成などのシステム方式要件の範囲内で、ユースケースからシステム化範囲を特定する。そして、システム化対象範囲に存在する処理分類や業務的サブシステムを把握する。そのため、問題を解決する業務フローをシステムとしてどのように実現するかを規定する。本工程の成果物として、システムが果たす機能間の流れを定義したビジネスプロセス（以下、システムベースＢＰともいう）を作成する。
【０００４】
（３）設計工程
システム要求検討工程における成果物をもとに、各タスクと機能を整理し、処理の共通化やサブシステムとの入出力情報を決定し、システムの機能を定義する。本工程では、成果物として各機能を実現する処理の流れを定義したシーケンス図などを生成する。
【０００５】
（４）実装工程
設計工程における成果物に基づいて、プログラムを作成する。本工程では、成果物としてプログラムコードなどを作成する。
【０００６】
（５）試験工程
実装工程において実装された成果物（プログラムコードなど）を試験する。本工程では、成果物として試験項目表やテストケースなどを作成する。
【０００７】
ここで、ユースケースとは、開発対象システムが解決すべき問題に関係する役割と、その役割が果たすべきタスクと、そのタスク間の相互作用及び順序を記述したダイヤグラムである。ユースケースは、サービス要求者とサービス提供者の相互作用を記述する。
【０００８】
また、ビジネスプロセスとは、開発対象システムが解決すべき問題に関係する１又は複数のサブシステムからなるシステムであって、そのサブシステムが果たすべき機能と、機能間の相互作用および順序を記述したダイヤグラムである。すなわち、ビジネスプロセスは、利用者とシステム間、サブシステム間の相互作用を記述する。
【０００９】
従来、分散システム開発における設計工程と実装工程を支援する技術として、例えば特許文献１がある。特許文献１では、再利用コンポーネントとなるデータと、該データをアクセスするためのアプリケーションプログラムインタフェース（ＡＰＩ）を関連付けたメタ情報をリポジトリとして格納しておき、そのメタ情報に基づいてコンポーネントを検索し、検索したコンポーネントを表現するアイコンをコンポーネント間のデータの流れに基づいて組み立てることによって、システムの機能を定義する。コンポーネントを再利用できるので、実装工程の支援も可能である。また、試験工程を支援する技術として、テストケースを自動生成し、それに基づいてテストを自動実行する技術がある。
【００１０】
特許文献１の技術は、企業内のネットワーク上で広域に分散する複数の情報システムの内部に蓄積されているデータの再利用を促進することが可能なデータの再利用によるソフトウェア構築方法及びシステムを提供する。再利用コンポーネントとなる各情報システム内のデータと、該データをアクセスするためのアプリケーション・インタフェース（以下、ＡＰＩと記す）を関連付けたメタ情報を収集し、格納しておき、メタ情報に基づいてＷＷＷブラウザを利用してコンポーネントを検索し、検索したコンポーネントをアイコンで表現し、該コンポーネント間のデータの流れに基づいて該アイコン間をリンクで結び、コンポーネントを組み立てる。
【００１１】
特許文献２は、要求仕様モデルから他形式モデルに変換するときに、必要な他形式モデルの要素のみ生成する方法を提供する。キャラクター情報解析・生成部で、キャラクターの構成要素が他形式モデルの要素となるか否かをを要素種別に基づいて判断し、他形式モデルの要素を生成する。
【００１２】
特許文献３は、ワークフローとユースケースの関連を保ち、要求定義を行うことができるワークフローとユースケースを連携するシステム開発要求定義装置が記載されている。そこでは、ワークフローとユースケースの定義情報を参照しながら、ユーザが入力した組織とアクタ、プロセスとユースケースの関連情報を定義情報記憶部に格納する。
【００１３】
特許文献４は、プログラム部品を再利用しつつシステムの構築から実装化までを行う。ＵＭＬ（Unified Modeling Language）による統一的な表記法を用いて、ビジネスプロセスを新規構築・再構築する開発システムを提供する。オリジナルモデル記憶手段、オリジナルモデル最適化ルールデータ、リファクタリングルールを用いてオリジナルモデルを最適化、ビジネスエンティティを用いてシステム化範囲を決定するためのルールデータ（スコーピングルール）を用いて、オプティマイズドモデルデータからスコーピングモデル（システム化の範囲が決定されたモデル）を生成する。
【００１４】
しかし、従来の方法では、分散システムに対応するシステム方式要件を考慮したビジネスプロセスを生成することができなかった。従来の分散システム開発では、システム要求検討工程では、システムを構成する全サブシステムの方式要件を考慮してビジネスプロセスを生成しなければならない。従来は、ビジネスプロセスの生成を支援する方法がなかった。
【特許文献１】特開平１０−２２２３５７号公報
【特許文献２】特開平１１−２３７９７９号公報
【特許文献３】特開２０００−６７１２８号公報
【特許文献４】特開２００３−３３７６９７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
本発明は、上記事情に鑑みてなされたものであり、 分散システム開発において、ビジネスプロセスの生成を支援する装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記目的を達成するため、本発明の第１の観点に係るビジネスプロセス生成装置は、分散システムの動作を行う主体である複数のエンティティと、該エンティティが行うひとまとまりの動作であるタスクと、該タスク間の制御フローとを含み、前記分散システムが提供するサービス及び業務を表現するダイヤグラムから構成されるユースケースと、前記タスクの入出力情報を含む前記分散システムの方式要件とから、前記タスクを実現する機能と、該機能を実行するサブシステムと、該機能間の制御フローとを含み、前記分散システムの実体的構成を表現するダイヤグラムであるビジネスプロセスを生成するビジネスプロセス生成装置であって、
既存システムのサブシステム、該サブシステムの機能、該機能の処理内容及び該機能の方式要件のデータを含むメタ情報を記憶するリポジトリと、
前記分散システムのユースケースと、前記タスクの入出力情報を含む前記分散システムの方式要件と、を入力する要件入力手段と、
前記ユースケースの各タスクについて、前記メタ情報を検索して、前記既存システムの中から前記ユースケースおよび方式要件を満たす候補機能及びサブシステムを抽出する候補機能抽出手段と、
前記ユースケースの各タスクに前記候補機能を割り当て、該タスクに割り当てた機能を、該機能を実行するサブシステムを定義するスイムレーンに属する要素とする機能割当手段と、
を備えることを特徴とする。
【００１７】
特に、前記分散システムの方式要件は、前記ユースケースのあるタスクが他のタスクと共通する機能であることを示す共通機能項目を含み、
前記候補機能抽出手段は、タスクの共通機能以外の項目を満たす既存システムの候補機能を抽出し、
前記機能割当手段は、タスクの共通機能以外の項目を満たす既存システムの候補機能と、該タスクの共通機能項目が示す他のタスクの要件を満たす候補機能とに共通する機能を該タスクに割り当てる、ことを特徴とする。
【００１８】
さらに、前記分散システムの方式要件は、前記ユースケースのあるタスクが他のタスクと同じサブシステムに配置されることを示す機能配置項目を含み、
前記候補機能抽出手段は、タスクの機能配置以外の要件を満たす候補機能を提供する第１のサブシステムを前記リポジトリから取得するとともに、該タスクの機能配置項目が示す他のタスクの要件を満たす候補機能を提供する第２のサブシステムを前記リポジトリから取得し、
前記機能割当手段は、前記第１のサブシステムと第２のサブシステムとを比較して、両者に共通なサブシステムの機能を、該タスク及び該タスクの機能配置項目が示す他のタスクに割り当てる、ことを特徴とする。
【００１９】
上記目的を達成するために、本発明の第２の観点に係るビジネスプロセス生成方法は、分散システムの動作を行う主体である複数のエンティティと、該エンティティが行うひとまとまりの動作であるタスクと、該タスク間の制御フローとを含み、前記分散システムが提供するサービス及び業務を表現するダイヤグラムから構成されるユースケースと、前記タスクの入出力情報を含む前記分散システムの方式要件とから、前記タスクを実現する機能と、該機能を実行するサブシステムと、該機能間の制御フローとを含み、前記分散システムの実体的構成を表現するダイヤグラムであるビジネスプロセスを生成するビジネスプロセス生成方法であって、
前記分散システムのユースケースと、前記タスクの入出力情報を含む前記分散システムの方式要件と、を入力する要件入力工程と、
前記ユースケースの各タスクについて、既存システムのサブシステム、該サブシステムの機能、該機能の処理内容及び該機能の方式要件のデータを含むメタ情報を記憶するリポジトリを検索して、前記既存システムの中から前記ユースケースおよび方式要件を満たす候補機能及びサブシステムを抽出する候補機能抽出工程と、
前記ユースケースのタスクに前記候補機能を割り当て、該タスクに割り当てた機能を、該機能を実行するサブシステムを定義するスイムレーンに属する要素とするプロセス生成工程と、
を備えることを特徴とする。
【００２０】
特に、前記分散システムの方式要件は、前記ユースケースのあるタスクが他のタスクと共通する機能であることを示す共通機能項目を含み、
前記候補機能抽出工程は、タスクの共通機能以外の項目を満たす既存システムの候補機能を抽出する工程を含み、
前記プロセス生成工程は、タスクの共通機能以外の項目を満たす既存システムの候補機能と、該タスクの共通機能項目が示す他のタスクの要件を満たす候補機能とに共通する機能を該タスクに割り当てる工程を含む、
ことを特徴とする。
【００２１】
さらに、前記分散システムの方式要件は、前記ユースケースのあるタスクが他のタスクと同じサブシステムに配置されることを示す機能配置項目を含み、
前記候補機能抽出工程は、タスクの機能配置以外の要件を満たす候補機能を提供する第１のサブシステムを前記リポジトリから取得するとともに、該タスクの機能配置項目が示す他のタスクの要件を満たす候補機能を提供する第２のサブシステムを前記リポジトリから取得する工程を含み、
前記プロセス生成工程は、前記第１のサブシステムと第２のサブシステムとを比較して、両者に共通なサブシステムの機能を、該タスク及び該タスクの機能配置項目が示す他のタスクに割り当てる工程を含む、ことを特徴とする。
【００２２】
上記目的を達成するために、本発明の第３の観点に係るコンピュータプログラムは、分散システムの動作を行う主体である複数のエンティティと、該エンティティが行うひとまとまりの動作であるタスクと、該タスク間の制御フローとを含み、前記分散システムが提供するサービス及び業務を表現するダイヤグラムから構成されるユースケースと、前記タスクの入出力情報を含む前記分散システムの方式要件とから、前記タスクを実現する機能と、該機能を実行するサブシステムと、該機能間の制御フローとを含み、前記分散システムの実体的構成を表現するダイヤグラムであるビジネスプロセスを生成するビジネスプロセス生成装置としてコンピュータを機能させるコンピュータプログラムであって、当該コンピュータを、
既存システムのサブシステム、該サブシステムの機能、該機能の処理内容及び該機能の方式要件のデータを含むメタ情報を記憶するリポジトリと、
前記分散システムのユースケースと、前記タスクの入出力情報を含む前記分散システムの方式要件と、を入力する要件入力手段と、
前記ユースケースの各タスクについて、前記メタ情報を検索して、前記既存システムの中から前記ユースケースおよび方式要件を満たす候補機能及びサブシステムを抽出する候補機能抽出手段と、
前記ユースケースのタスクに前記候補機能を割り当て、該タスクに割り当てた機能を、該機能を実行するサブシステムを定義するスイムレーンに属する要素とする機能割当手段、
として機能させることを特徴とする。
【発明の効果】
【００２３】
本発明のビジネスプロセス生成装置によれば、既存のシステムを利用して分散システム開発のシステム要求検討工程を支援し、ビジネスプロセスの生成を行うことができる。その結果、分散システム開発の作業効率を向上することができる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の一実施の形態に係るビジネスプロセス生成装置を、図面を参照して説明する。
【００２５】
図１は、本発明の実施の形態に係るビジネスプロセス生成装置の構成を示すブロック図である。
【００２６】
本実施の形態に係るビジネスプロセス生成装置１は、図１に示すように、制御部１１、主記憶部１２、外部記憶部１３、入力部１４、表示部１５、送受信部１６及び印字部１７から構成される。主記憶部１２、外部記憶部１３、入力部１４、表示部１５、送受信部１６及び印字部１７はいずれも内部バス１０を介して制御部１１に接続されている。
【００２７】
制御部１１はＣＰＵ（Central Processing Unit）等から構成され、外部記憶部１３に記憶されているプログラムに従って、リポジトリとして既存システムのメタ情報の格納、開発対象である分散システムのユースケース及びシステム方式要件の入力、リポジトリを検索して既存システムから開発対象分散システムに適合する機能の抽出、ユースケースのタスクとエンティティに、抽出した機能とサブシステムをそれぞれ割り当てる機能割当、を実行する。
【００２８】
主記憶部１２はＲＡＭ（Random-Access Memory）等から構成され、制御部１１の作業領域として用いられる。
【００２９】
外部記憶部１３は、フラッシュメモリ、ハードディスク、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Digital Versatile Disc Random-Access Memory）、ＤＶＤ−ＲＷ（Digital Versatile Disc Rewritable）等の不揮発性メモリから構成され、前記の処理を制御部１１に行わせるためのプログラムを予め記憶し、また、制御部１１の指示に従って、このプログラムやそのほかプログラムが利用するデータを制御部１１に供給し、制御部１１から供給されたデータを記憶する。外部記憶部１３は、既存システムのメタ情報を格納するリポジトリを含み、制御部１１の指示に従って、候補機能を抽出するためのデータを供給する。
【００３０】
入力部１４はキーボードおよびマウスなどのポインティングデバイス等と、キーボードおよびポインティングデバイス等を内部バス１０に接続するインターフェース装置から構成されている。入力部１４を介して、既存システムのメタ情報、開発対象分散システムのユースケース及びシステム方式要件情報などが入力され制御部１１に供給される。入力部１４と制御部１１および前記処理を制御部１１に行わせるためのプログラムと、制御部１１の作業領域である主記憶部１２とから、要件入力手段が構成されている。
【００３１】
表示部１５は、ＣＲＴ（Cathode Ray Tube）またはＬＣＤ（Liquid Crystal Display）などから構成され、入力された既存システムのメタ情報、開発対象分散システムのユースケース及びシステム方式要件情報、生成したビジネスプロセスなどを表示する。
【００３２】
送受信部１６は、モデム又は網終端装置などと接続するシリアルインタフェース又はＬＡＮ（Local Area Network）インターフェースから構成されている。既存システムのメタ情報を格納しているリポジトリが、ビジネスプロセス生成装置１以外の１つ又は複数のサーバ（図示せず）に分散して格納されている場合、図示されていないネットワークを通じて、送受信部１６を介して、それらの分散されたリポジトリからメタ情報を受信する。
【００３３】
印字部１７は、プリンタとプリンタインターフェースから構成されている。印字部１７は、入力した分散システムのユースケース及び方式要件情報や、ビジネスプロセス生成を実行した結果を印字するために用いられる。
【００３４】
次に、図１に示すビジネスプロセス生成装置１の動作を、図２乃至図１０を参照して説明する。
【００３５】
図２は、本発明の実施の形態に係るビジネスプロセス生成装置１において、分散システムのユースケースとシステム方式要件を入力して、ビジネスプロセスを生成する動作概要の一例を示すフローチャートである。既存システムのメタ情報はリポジトリＡ３に格納されている。ユースケース（Ａ１）とシステム方式要件（Ａ２）が入力されると、候補機能抽出手段は、リポジトリＡ３からメタ情報Ａ４を検索し、ユースケースのタスクに対してシステム方式要件を満たす機能の候補を抽出する（Ａ５）。機能割当手段は、後述するシステム方式要件の共通機能及び機能配置の条件に基づいて、メタ情報Ａ７を検索して、それらの条件に適合する機能をタスクに割り当て、機能を実行するサブシステムをエンティティに割り当てて、ビジネスプロセスを生成する。
【００３６】
以下、順を追って詳述する。
表１は、開発対象である分散システムのユースケースの構成要素を示す。ユースケースは、タスクを一意に識別するタスクＩＤと、タスクを定義するタスク名及びタスクの処理内容と、ユースケースの開始地点と終了地点、タスクを実行する主体であるエンティティ、及びタスクの処理手順を定義する制御フローから構成される。ＵＭＬ（Unified Modeling Language）では、ユースケースを行う主体はActorとも呼ばれるが、ここでは分散システムのユーザ及び分散システムを構成するサブシステムを総称してエンティティという。
【表１】
0004791091.tif 000002
【００３７】
図３は、本発明の実施の形態に係るビジネスプロセス生成処理を説明するための、ユースケースの一例を示す図である。図３の例では、ユースケース２の動作がユーザＡのエンティティであるエンティティＡ（２０Ａ）の開始地点Ｓから開始され、エンティティＡ（２０Ａ）が、タスク２１Ａ（タスクID＝１）で商品をキーワードで検索し、タスク２１Ｂ（タスクID＝２）で商品を注文すると、ユーザＢのエンティティであるエンティティＢ（２０Ｂ）がタスク２１Ｃで商品の在庫数を取得して在庫を引き当てる。そして、ユーザＣのエンティティであるエンティティＣ（２０Ｃ）は、エンティティＢ（２０Ｂ）のタスク２１Ｃ（タスクID＝３）によって引き当てられた在庫の商品を、タスク２１Ｄ（タスクID＝４）で出荷処理する。商品を注文したエンティティＡ（２０Ａ）は、出荷された商品をタスク２１Ｅ（タスクID＝５）で受け取って、終了地点Ｆで一連の処理が終了する。
【００３８】
表２は、分散システムのユースケース２に対応するシステム方式要件の構成要素を表す。システム方式要件は、ユースケース２のタスク２１Ａ〜２１Ｅとの対応を示すタスクＩＤ、タスクに関して定義される要件の種別と要件の内容、及び入出力情報を定義するデータモデルから構成される。タスクの要件には、データモデルで定義される入力データと出力データ、サーバ上に一時保管したい情報をデータモデルで規定した保管データ、データの転送方式、データに用いられる文字コード、通信方式、同じ機能を使用するタスクのＩＤを指示する共通機能、及び同じサブシステムに配置したいタスクのＩＤを指示する機能配置がある。
【表２】
0004791091.tif 000003
【００３９】
図４は、図３のユースケース２に対応する方式要件の一例を示す図である。図４のタスクＩＤは、図３のタスクＩＤに対応している。タスクＩＤ＝１のタスク、すなわちタスク２１Ａ「商品検索」の入力はキーワードであり、出力は商品コードである。タスクＩＤ＝２のタスク、すなわちタスク２１Ｂ「注文」の入力は注文であり、出力は注文内容である。また、タスク２１Ｂ「注文」は注文内容を保管する。タスクＩＤ＝２の要件の種別「機能配置」については後述する。
【００４０】
図５は、図４の方式要件のデータモデルの一例を示す図である。本例では、入出力データの一例として、商品が商品番号、商品名、商品価格及び商品情報から構成されることが示されている。
【００４１】
表３は、ビジネスプロセス生成装置１が生成するビジネスプロセスの構成要素を示す。ビジネスプロセスは、ユースケースのタスクを実現する機能と、分散システムの動作の開始と終了地点、機能を提供するサブシステム又はタスクを実行するエンティティ、及び機能の処理手順を規定する制御フローから構成される。
【表３】
0004791091.tif 000004
【００４２】
図６は、本発明の実施の形態に係るビジネスプロセス生成装置によって、生成されたビジネスプロセスの一例を示す図である。図６のビジネスプロセス３は、図３のユースケース２に対応する分散システムのビジネスプロセスの例であり、ビジネスプロセス３は、サブシステムＡ（３０Ａ）及びサブシステムＢ（３０Ｂ）と、エンティティＡ（３０Ｃ）のスイムレーンから構成される。図６の機能とサブシステムがどのように図３のユースケース２に対応するかは後述する。
【００４３】
表４は、既存システムのメタ情報を構成する要素を表す。既存システムのメタ情報は、サブシステム、サブシステムの機能、機能の処理内容及び機能の方式要件のデータを含む。機能の方式要件には、データモデルで定義される入力モデルと出力モデル、サーバ上に一時保管される情報をデータモデルで規定した保管、データの転送方式、データに用いられる文字コード、及び通信方式がある。
【表４】
0004791091.tif 000005
【００４４】
図７は、リポジトリに格納された既存システムのメタ情報の一例を表す表形式のデータである。図７の既存システムでは、サブシステムＡ、Ｂ、Ｃがある。サブシステムＡは、商品検索の機能Ｘ、出荷処理の機能α、及び在庫引当の機能βを備える。サブシステムＢは、注文情報を生成する機能Ｙ、及び在庫引当の機能Ｚを有する。サブシステムＣは、商品検索の機能γを有する。各機能の要件として入力値と出力値が規定されており、機能Ｙは「注文」を保管情報としていることが示されている。機能Ｘと機能γは同じ商品検索であるが、機能Ｘは入力がキーワードであり、機能γは入力が商品番号である。
【００４５】
本実施の形態では、図７に示す既存システムのメタ情報が与えられており、開発対象の分散システムとして、図３に示すユースケース２、及び図４に示すシステム方式要件が入力された場合を想定して、ビジネスプロセス生成装置１の動作を説明する。
【００４６】
図８は、リポジトリから機能を検索し、タスクに割り当てる手順を示すフローチャートである。
【００４７】
開発対象である分散システムのユースケース２とシステム方式要件が入力されると、ユースケース２における「タスク名」を検索キーとしてリポジトリを検索し、タスク名を含む処理または処理内容を有する機能を取得し、割当候補機能として一時記憶する（ステップＢ１）。例えば、図３のタスク２１Ａ「商品検索」は検索キーが「商品検索」で、検索結果として図７の機能Ｘおよび機能γを取得する。同様に、タスク２１Ｂ「注文」に対して機能Ｙ、タスク２１Ｃ「在庫引当」に対して機能βと機能Ｚ、タスク２１Ｄ「出荷処理」に対して機能αを取得する。タスク２１Ｅ「商品受取」は、対応する機能がない。各タスクについて検索を繰り返し、全てのタスクに割り当てられる機能の有無を含めて、機能の候補を取得する。
【００４８】
タスクごとに候補機能があるか否かを調べ（ステップＢ２）、タスクに候補機能がない場合は（ステップＢ２；ＮＯ）、そのタスクをシステム化範囲外のタスクとする（ステップＢ８）。例えば、タスク２１Ｅ「商品受取」には割り当てる機能がなく、システム化範囲外のタスクとして扱う。
【００４９】
タスクに候補機能がある場合（ステップＢ２；ＹＥＳ）、タスクごとにユーザが定義したシステム方式要件（図４及び図５）の中で、種別が入力値、出力値、保管、転送方式、文字コード、通信方式の項目に関して、「種別」と「要件」を検索キーとして、タスクに割り当てられた候補機能に関連するメタ情報を検索し、同じ種別で同じ要件を有する機能を絞り込む（ステップＢ３）。要件を満たす機能がない場合（ステップＢ４；ＮＯ）は、システム化範囲外のタスクとする（ステップＢ８）。
【００５０】
例えば、タスク２１Ａ「商品検索」に関しては、図４の方式要件のＩＤ＝１の入力値を参照すると、入力値が「キーワード」であるので、候補である機能Ｘ（入力値がキーワード）及び機能γ（入力値が商品番号）から機能Ｘが残る。同様に、タスク２１Ｂ「注文」では機能Ｙが、タスク２１Ｃ「在庫引当」では機能βと機能Ｚが、タスク２１Ｄ「出荷処理」では機能αが候補として残る。
【００５１】
要件を満たす機能があるタスクに関して、タスクごとにユーザが定義したシステム方式要件中で、種別が「共通機能」と「機能配置」の項目について、それぞれ以下のように処理を行い、システム方式要件を満たす機能をタスクに割り当てる機能として決定する（ステップＢ５）。
【００５２】
（ａ）種別が「共通機能」の場合
ａ−１：そのタスクの共通機能以外の要件を満たす候補機能を取得する。
ａ−２：そのタスクの種別「共通機能」の要件であるタスクＩＤを有するユースケースのタスクに割り当てられた候補機能を取得する。
ａ−３：ａ−１項で取得した機能と、ａ−２項で取得した機能を比較し、一致する機能をそのタスクに割り当てる。
【００５３】
（ｂ）種別が「機能配置」の場合
ｂ−１：そのタスクの共通機能及び機能配置以外の要件を満たす候補機能を提供するサブシステムをリポジトリから取得する。
ｂ−２：そのタスクの種別「機能配置」の要件であるタスクＩＤを有するタスクの要件を満たす候補機能を提供するサブシステムをリポジトリから取得する。
ｂ−３：ｂ−１項で取得したサブシステムと、ｂ−２項で取得したサブシステムを比較し、両者に共通なサブシステムの機能をそのタスクと機能配置要件のタスクに割り当てる。
【００５４】
例えば、図７からタスク２１Ｂ「注文」（タスクＩＤ＝２）に関して、候補機能Ｙを提供するサブシステムはサブシステムＢである（図７）。図４のシステム方式要件から、タスクＩＤ＝２の種別「機能配置」の要件が３なので（図４）、タスクＩＤ＝３、すなわちタスク２１Ｃ「在庫引当」の候補機能βとＺを提供するサブシステムをリポジトリ（図７）から取得すると、機能βを提供するのはサブシステムＡであり、機能Ｚを提供するのはサブシステムＢである（図７）。機能Ｙを提供するサブシステムＢと、機能Ｚを提供するサブシステムＢが一致するので、タスク２１Ｂ「注文」に機能Ｙを、タスク２１Ｃ「在庫引当」に機能Ｚを割り当てる。
【００５５】
種別が「共通機能」と「機能配置」である項目がないタスクで、すでに候補機能がある場合（ステップＢ６；ＹＥＳ）は、その候補機能がタスクに割り当てられる（ステップＢ７）。
【００５６】
例えば、図４のタスクＩＤ＝２のタスク（タスク２１Ｂ「注文」）以外は共通機能又は機能配置の項目がないので、候補となっている機能が割り当てられる。タスク２１Ａ「商品検索」には機能Ｘが、タスク２１Ｄ「出荷処理」には機能αが割り当てられる。
【００５７】
共通機能又は機能配置の要件を満たす機能がないタスクは（ステップＢ６；ＮＯ）、システム化範囲外のタスクとする（ステップＢ８）。
【００５８】
検索終了後の、各タスクに機能が割り当てられた結果を図９に示す。タスク２１Ｅ「商品受取」以外は、機能が割り当てられている。
【００５９】
前記の例では、候補機能が１つに絞られる場合を示している。しかし、機能が１つに絞り込めない場合もある。その場合の対処方法として、例えば、機能に割当優先順位を設けて、優先度の高い機能を割り当てる、又は、候補機能を開発者に提示して、図７の処理内容などを参照して開発者に選択させる方法を採用する。機能の優先度を付与するには、例えば以下の方法をとることができる。
【００６０】
（１）メタ情報として利用履歴を収集・格納し、機能の利用頻度を計測して、利用頻度の高い機能の優先度を高く設定する。
（２）検索条件に優先度を付与し、優先度の高い検索条件と一致した項目の優先度を高くする。
（３）検索条件と一致する項目数が多い項目の優先度を高く設定する。
【００６１】
また、メタ情報として収集した機能の利用履歴から、ある処理に対応する機能と接続頻度が高い機能は、接続候補として提示することで業務レベルで定義できなかった処理を追加することが可能になり、システム化対象範囲の検討をさらに支援することができる。
【００６２】
次に、ビジネスプロセスの生成手順を説明する。図８で説明した機能割当手段によって、タスクに割り当てられた機能をもとに、ビジネスプロセスを生成する手順を図１０に示す。例では、ＵＭＬ（Univied Modeling Language）のアクティビティ図として生成する場合を記述している。
【００６３】
まず、タスクに割り当てられた機能に関連する（例えば図７に示される）メタ情報から、ビジネスプロセスを構成する全サブシステムを取得する（ステップＣ１）。また、機能が割り当てられていないタスクのエンティティを取得する。図９の例では、機能Ｘ、機能Ｙ、機能Ｚ及び機能αに対応するサブシステムであるサブシステムＡとサブシステムＢがメタ情報より取得されるとともに、機能が割り当てられていないタスク「商品受取」が存在するエンティティＡが取得される。
【００６４】
次に、取得したサブシステムに対応するスイムレーンと、機能が割り当てられていないタスクを行うエンティティを定義するスイムレーンとを生成する（ステップＣ２）。図６は、本発明の実施の形態に係るビジネスプロセス生成装置１によって、生成されたビジネスプロセス３の一例を示す図である。図６では、ステップＣ１で取得したサブシステムＡとサブシステムＢ、及びエンティティＡを定義するスイムレーン３０Ａ、３０Ｂ、３０Ｃを生成している。ここで、機能Ｘと機能αは、元のユースケース２では、異なるエンティティ２０Ａ、２０Ｃに属しているが、既存システムのメタ情報から、機能Ｘおよび機能αは同じサブシステムＡに属するので、同じサブシステムＡを定義するスイムレーン３０Ａが生成される。元のユースケース２でエンティティＡにあったタスク２１Ｅ「商品受取」については、機能が割り当てられなかったのでシステム化範囲外となり、エンティティＡのスイムレーン３０Ｃが生成される。
【００６５】
タスクごとに割り当てられた機能があるか否かによって次の処理を実施する。
（ｃ）機能が割り当てられている場合（ステップＣ３；ＹＥＳ）
ｃ−１：取得した機能を提供するサブシステムの情報を取得する（ステップＣ４）。例えば、図９の機能Ｘに対して、サブシステムＡを取得する（図７）。
ｃ−２：割り当てられた機能を定義した要素を、ｃ−１項で取得したサブシステムを定義したスイムレーンに属する要素として定義する（ステップＣ５）。例えば、図６では、機能ＸはサブシステムＡを定義したスイムレーン３０Ａに属する要素として定義される。
【００６６】
（ｄ）機能が割り当てられていない場合（ステップＣ３；ＮＯ）
ｄ−１：機能が割り当てられていないタスクを行うするエンティティを取得する（ステップＣ６）。例えば、図３のタスク２１Ｅ「商品受取」に対して、エンティティＡ２０Ａを取得する。
ｄ−２：タスクを定義した要素を、タスクが属していたエンティティを定義するスイムレーンに属する要素として定義する（ステップＣ７）。例えば、図６では、タスク２１Ｅ「商品受取」は、エンティティＡのスイムレーン３０Ｃに属する要素として定義される。
【００６７】
スイムレーンに属していないタスクがなくなるまで、各タスクに前記（ｃ）または（ｄ）の処理を施す（ステップＣ８；ＹＥＳ）。
【００６８】
全てのタスクがいずれかのスイムレーンに属す要素として定義されたら（ステップＣ８；ＮＯ）、ユースケースにおけるタスク間の接続情報に基づいて、それぞれの要素間の接続情報を生成する（ステップＣ９）。例えば図３では、タスク２１Ａ「商品検索」とタスク２１Ｂ「注文」が接続しているので、図６では、それぞれのタスクに対応する機能３１Ａ「機能Ｘ」と機能３１Ｂ「機能Ｙ」が接続されている。
【００６９】
以上の結果、図６に示すような、ビジネスプロセス３が生成される。
【００７０】
上述のとおり、本発明のビジネスプロセス生成装置によれば、分散システムのユースケースとシステム方式要件とから、既存システムのメタ情報に基づいて、システムベースのビジネスプロセスを生成することができる。
【００７１】
その他、前記のハードウエア構成やフローチャートは一例であり、任意に変更及び修正が可能である。
【００７２】
ビジネスプロセス生成装置１は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、前記の動作を実行するためのコンピュータプログラムを、コンピュータが読みとり可能な記録媒体（フレキシブルディスク、CD-ROM、DVD-ROM等）に格納して配布し、当該コンピュータプログラムをコンピュータにインストールすることにより、前記の処理を実行する装置を構成してもよい。また、インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置に当該コンピュータプログラムを格納しておき、通常のコンピュータシステムがダウンロード等することで本発明のビジネスプロセス生成装置１を構成してもよい。
【００７３】
また、前記の各機能を、ＯＳ（オペレーティングシステム）とアプリケーションプログラムの分担、またはＯＳとアプリケーションプログラムとの協働により実現する場合などには、アプリケーションプログラム部分のみを記録媒体や記憶装置に格納してもよい。
【００７４】
また、搬送波に上述のコンピュータプログラムを重畳し、通信ネットワークを介して配信することも可能である。
【図面の簡単な説明】
【００７５】
【図１】本発明の実施の形態に係るビジネスプロセス生成装置の構成を示すブロック図である。
【図２】本発明の実施の形態に係るビジネスプロセス生成の処理概要を説明するフローチャートである。
【図３】本発明の実施の形態に係るビジネスプロセス生成処理を説明するための、ユースケースの一例を示す図である。
【図４】図３のユースケースに対応する方式要件の一例を示す図である。
【図５】図４の方式要件のデータモデルの一例を示す図である。
【図６】本発明の実施の形態に係るビジネスプロセス生成装置によって、生成されたビジネスプロセスの一例を示す図である。
【図７】リポジトリに格納された既存システムのメタ情報の一例を表す表形式のデータ構造である。
【図８】リポジトリから機能を検索し、タスクに割り当てる手順を示すフローチャートである。
【図９】機能を検索した結果、タスクに機能が割り当てられた状態を示すダイヤグラムである。
【図１０】タスクに割り当てられた機能をもとに、ビジネスプロセスを生成する手順を示すフローチャートである。
【符号の説明】
【００７６】
１  ビジネスプロセス生成装置
２  ユースケース
３  ビジネスプロセス
２０Ａ、２０Ｂ、２０Ｃ  エンティティ
２１Ａ、２１Ｂ、２１Ｃ、２１Ｄ、２１Ｅ  タスク
２２Ａ、２２Ｂ、２２Ｃ、２２Ｄ  制御フロー
３０Ａ、３０Ｂ  スイムレーン／サブシステム
３０Ｃ  スイムレーン／ユーザ
３１Ａ、３１Ｂ、３１Ｃ、３１Ｄ  機能
Ｓ  開始地点
Ｆ  終了地点
【図１】
0004791091.tif 000006
【図２】
0004791091.tif 000007
【図３】
0004791091.tif 000008
【図４】
0004791091.tif 000009
【図５】
0004791091.tif 000010
【図６】
0004791091.tif 000011
【図７】
0004791091.tif 000012
【図８】
0004791091.tif 000013
【図９】
0004791091.tif 000014
【図１０】
0004791091.tif 000015