(57)【要約】【課題】参照者の知識及び目的に応じて、様々な粒度のシステムプロセスを表示する。【解決手段】システムプロセスの粒度を変換する計算機であって、システムプロセスに含まれるアクティビティには、画面制御の定義を管理する画面定義情報が対応付けられ、計算機はシステムプロセスの粒度を変換するプロセス変換部を有し、プロセス変換部は、システムプロセス情報及びアクティビティの変換規則を管理する変換規則情報を管理し、第１のシステムプロセスを粒度が異なる第２のシステムプロセスに変換する場合、第１のシステムプロセスに含まれるアクティビティに対応付けられる画面定義情報の解析結果、及び変換規則情報に基づいて、アクティビティの粒度を変換し、アクティビティの粒度の変換結果に基づいて、第２のシステムプロセスのシステムプロセス情報を生成する。【選択図】図１３
2017142725.tif 000002
【特許請求の範囲】
【請求項１】
複数の業務の実行順番を定義するシステムプロセスの粒度を変換する計算機であって、
前記システムプロセスは、前記業務に対応するアクティビティを要素として含み、
前記システムプロセスに含まれる少なくとも一つの前記アクティビティには、前記業務の実行に伴う操作画面に関する処理である画面制御の定義を管理する画面定義情報が対応付けられ、
前記計算機は、
プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続され、外部装置と接続するためのインタフェースを備え、
前記システムプロセスの粒度を変換するプロセス変換部を有し、
前記プロセス変換部は、
前記システムプロセスの構成を定義するシステムプロセス情報、及び前記システムプロセスに含まれる前記アクティビティの変換規則を管理する変換規則情報を管理し、
前記プロセス変換部は、
第１のシステムプロセスを粒度が異なる第２のシステムプロセスに変換する場合、前記第１のシステムプロセスに含まれる前記アクティビティに対応付けられる前記画面定義情報を取得し、
前記画面定義情報を解析し、
前記画面定義情報の解析結果及び前記変換規則情報に基づいて、前記アクティビティの粒度を変換し、
前記アクティビティの粒度の変換結果に基づいて、前記第２のシステムプロセスの前記システムプロセス情報を生成することを特徴とする計算機。
【請求項２】
請求項１に記載の計算機であって、
前記変換規則情報は、前記操作画面の画面遷移の特性毎に前記変換規則を格納し、
前記プロセス変換部は、
前記第１のシステムプロセスに含まれる前記アクティビティの中から対象のアクティビティを選択し、
前記対象のアクティビティに対応付けられる前記画面定義情報を解析することによって、前記操作画面の画面遷移の特性を特定し、
前記操作画面の画面遷移の特性に基づいて、前記変換規則情報から前記変換規則を選択し、
前記選択された変換規則に基づいて、前記対象のアクティビティを複数の要素に分割し、又は前記対象のアクティビティを含む複数の要素を統合することによって、前記対象のアクティビティの粒度を変換し、
前記第１のシステムプロセスに含まれる前記アクティビティに対応付けられる前記画面定義情報に基づいて、前記第２のシステムプロセスに含まれる前記アクティビティに対応付ける前記画面定義情報を生成することを特徴とする計算機。
【請求項３】
請求項２に記載の計算機であって、
前記プロセス変換部は、
前記画面定義情報の解析結果に基づいて、前記操作画面の画面遷移を伴う前記業務の分岐に関する条件を含むか否かを判定し、
前記対象のアクティビティが前記操作画面の画面遷移を伴う前記業務の分岐に関する条件を含まないと判定された場合、前記対象のアクティビティを、直列に接続される前記複数のアクティビティに分割し、
前記対象のアクティビティが前記操作画面の画面遷移を伴う前記業務の分岐に関する条件を含むと判定された場合、前記対象のアクティビティを、前記操作画面の画面遷移を伴う前記業務の分岐、及び前記操作画面の画面遷移を伴う前記業務の分岐に接続される前記複数のアクティビティに分割することを特徴とする計算機。
【請求項４】
請求項２に記載の計算機であって、
前記プロセス変換部は、
前記対象のアクティビティの遷移先のアクティビティである後続アクティビティを特定し、
前記システムプロセス情報に基づいて、前記対象のアクティビティと前記後続アクティビティとの間に前記操作画面の画面遷移を伴う前記業務の分岐が含まれるか否かを判定し、
前記対象のアクティビティと前記後続アクティビティとの間に前記操作画面の画面遷移を伴う前記業務の分岐が含まれないと判定された場合、前記対象のアクティビティ及び前記後続アクティビティを一つの前記アクティビティに統合し、
前記対象のアクティビティと前記後続アクティビティとの間に前記操作画面の画面遷移を伴う前記業務の分岐を含むと判定された場合、前記対象のアクティビティ、前記操作画面の画面遷移を伴う前記業務の分岐、及び前記操作画面の画面遷移を伴う前記業務の分岐に接続される前記複数の後続アクティビティを一つの前記アクティビティに統合することを特徴とする計算機。
【請求項５】
請求項２に記載の計算機であって、
前記プロセス変換部は、
ユーザの属性毎の前記変換規則情報を管理し、
前記ユーザから前記システムプロセスの変換要求を受け付けた場合、前記ユーザの属性を特定し、
前記ユーザの属性に対応する前記変換規則情報を前記メモリから取得することを特徴とする計算機。
【請求項６】
請求項２に記載の計算機であって、
前記計算機は、情報の入力及び情報の出力を行う入出力インタフェースを備え、
前記プロセス変換部は、前記第２のシステムプロセスの前記システムプロセス情報、及び前記第２のシステムプロセスに含まれる前記アクティビティに対応付けられる前記画面定義情報に基づいて、前記第２のシステムプロセスを前記入出力インタフェースを介してユーザに提示することを特徴とする計算機。
【請求項７】
複数の業務の実行順番を定義するシステムプロセスの粒度を変換する計算機におけるシステムプロセスの粒度変換方法であって、
前記システムプロセスは、前記業務に対応するアクティビティを要素として含み、
前記システムプロセスに含まれる少なくとも一つの前記アクティビティには、前記業務の実行に伴う操作画面に関する処理である画面制御の定義を管理する画面定義情報が対応付けられ、
前記計算機は、
プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続され、外部装置と接続するためのインタフェースを備え、
前記システムプロセスの粒度を変換するプロセス変換部を有し、
前記プロセス変換部が、前記システムプロセスの構成を定義するシステムプロセス情報、及び前記システムプロセスに含まれる前記アクティビティの変換規則を管理する変換規則情報を管理し、
前記システムプロセスの粒度変換方法は、
前記プロセス変換部が、第１のシステムプロセスを粒度が異なる第２のシステムプロセスに変換する場合、前記第１のシステムプロセスに含まれる前記アクティビティに対応付けられる前記画面定義情報を取得する第１のステップと、
前記プロセス変換部が、前記画面定義情報を解析する第２のステップと、
前記プロセス変換部が、前記画面定義情報の解析結果及び前記変換規則情報に基づいて、前記アクティビティの粒度を変換する第３のステップと、
前記プロセス変換部が、前記アクティビティの粒度の変換結果に基づいて、前記第２のシステムプロセスの前記システムプロセス情報を生成する第４のステップと、を含むことを特徴とするシステムプロセスの粒度変換方法。
【請求項８】
請求項７に記載のシステムプロセスの粒度変換方法であって、
前記変換規則情報は、前記操作画面の画面遷移の特性毎に前記変換規則を格納し、
前記第２のステップは、
前記プロセス変換部が、前記第１のシステムプロセスに含まれる前記アクティビティの中から対象のアクティビティを選択するステップと、
前記プロセス変換部が、前記対象のアクティビティに対応付けられる前記画面定義情報を解析することによって、前記操作画面の画面遷移の特性を特定するステップと、を含み、
前記第３のステップは、
前記プロセス変換部が、前記操作画面の画面遷移の特性に基づいて、前記変換規則情報から前記変換規則を選択するステップと、
前記プロセス変換部が、前記選択された変換規則に基づいて、前記対象のアクティビティを複数の要素に分割し、又は前記対象のアクティビティを含む複数の要素を統合することによって、前記対象のアクティビティの粒度を変換するステップと、を含み、
前記第４のステップは、前記プロセス変換部が、前記第１のシステムプロセスに含まれる前記アクティビティに対応付けられる前記画面定義情報に基づいて、前記第２のシステムプロセスに含まれる前記アクティビティに対応付ける前記画面定義情報を生成するステップを含むことを特徴とするシステムプロセスの粒度変換方法。
【請求項９】
請求項８に記載のシステムプロセスの粒度変換方法であって、
前記第３のステップは、
前記プロセス変換部が、前記画面定義情報の解析結果に基づいて、前記操作画面の画面遷移を伴う前記業務の分岐に関する条件を含むか否かを判定するステップと、
前記対象のアクティビティが前記操作画面の画面遷移を伴う前記業務の分岐に関する条件を含まないと判定された場合、前記プロセス変換部が、前記対象のアクティビティを、直列に接続される前記複数のアクティビティに分割するステップと、
前記対象のアクティビティが前記操作画面の画面遷移を伴う前記業務の分岐に関する条件を含むと判定された場合、前記プロセス変換部が、前記対象のアクティビティを、前記操作画面の画面遷移を伴う前記業務の分岐、及び前記操作画面の画面遷移を伴う前記業務の分岐に接続される前記複数のアクティビティに分割するステップと、を含むことを特徴とするシステムプロセスの粒度変換方法。
【請求項１０】
請求項８に記載のシステムプロセスの粒度変換方法であって、
前記第３のステップは、
前記プロセス変換部が、前記対象のアクティビティの遷移先のアクティビティである後続アクティビティを特定するステップと、
前記プロセス変換部が、前記システムプロセス情報に基づいて、前記対象のアクティビティと前記後続アクティビティとの間に前記操作画面の画面遷移を伴う前記業務の分岐が含まれるか否かを判定するステップと、
前記プロセス変換部が、前記対象のアクティビティと前記後続アクティビティとの間に前記操作画面の画面遷移を伴う前記業務の分岐が含まれないと判定された場合、前記対象のアクティビティ及び前記後続アクティビティを一つの前記アクティビティに統合するステップと、
前記プロセス変換部が、前記対象のアクティビティと前記後続アクティビティとの間に前記操作画面の画面遷移を伴う前記業務の分岐を含むと判定された場合、前記対象のアクティビティ、前記操作画面の画面遷移を伴う前記業務の分岐、及び前記操作画面の画面遷移を伴う前記業務の分岐に接続される前記複数の後続アクティビティを一つの前記アクティビティに統合するステップと、を含むことを特徴とするシステムプロセスの粒度変換方法。
【請求項１１】
請求項８に記載のシステムプロセスの粒度変換方法であって、
前記プロセス変換部は、ユーザの属性毎の前記変換規則情報を管理し、
前記第１のステップは、
前記プロセス変換部が、前記ユーザから前記システムプロセスの変換要求を受け付けた場合、前記ユーザの属性を特定するステップと、
前記プロセス変換部が、前記ユーザの属性に対応する前記変換規則情報を前記メモリから取得するステップと、を含むことを特徴とするシステムプロセスの粒度変換方法。
【請求項１２】
請求項８に記載のシステムプロセスの粒度変換方法であって、
前記計算機は、情報の入力及び情報の出力を行う入出力インタフェースを備え、
前記システムプロセスの粒度変換方法は、
前記プロセス変換部が、前記第２のシステムプロセスの前記システムプロセス情報、及び前記第２のシステムプロセスに含まれる前記アクティビティに対応付けられる前記画面定義情報に基づいて、前記第２のシステムプロセスを前記入出力インタフェースを介してユーザに提示するステップを含むことを特徴とするシステムプロセスの粒度変換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム開発におけるシステムプロセスの変換装置、及び変換方法に関する。
【背景技術】
【０００２】
近年、Ｂｕｓｉｎｅｓｓ  Ｐｒｏｃｅｓｓ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ（以下、ＢＰＭＳと記載する。）等を利用したシステム開発が普及している。
【０００３】
例えば、ＢＰＭＳを利用したシステム開発では、開発者は、システムプロセス、画面レイアウト、データ、及びルールを定義することによって、一つの完結したシステムを開発できる。ここで、システムプロセスは、実行順番及び制御方法等が定義された複数の業務（処理）群を示す。ＢＰＭＳは、画面とルールとの関連性等のシステムプロセスの内部制御を補完する機能を有する。
【０００４】
ＢＰＭＳを利用したシステム開発では、同じ作業を行うシステムであっても、開発者の知識及びスキルによってシステムプロセスの粒度が異なる。ここで、システムプロセスの粒度とは、システムプロセスを構成する要素の細かさを示す。
【０００５】
個々の要素の粒度が異なるシステムプロセスの場合、管理者等が、システムの全体像を把握することが困難となり、保守性の低下を招く危険性がある。また、実装として優れているシステムプロセスの粒度と、参照者が要求するシステムプロセスの粒度とは異なるという問題がある。さらに、参照者が理解しやすいシステムプロセスの粒度は、システムの種類、並びに、参照者の知識、スキル、及び参照目的によって異なるため、適切なシステムプロセスの粒度を決定するのが困難であるという問題がある。
【０００６】
前述した問題を解決する手段としては、特許文献１に記載された技術が知られている。特許文献１には、「クライアントのプロセス定義プログラムは、ワークフローサーバにアクセスし、サブＢＰを構成する各ノードについて入力された属性情報をＢＰ定義テーブルに登録し、サブＢＰの識別子をＢＰライブラリ登録テーブルに登録する。またメインＢＰ中のノードであってサブＢＰの呼び出し元となるノードについて入力された属性情報をＢＰ定義テーブルに登録し、呼び出されるサブＢＰとのリンク情報をサブＢＰリンクテーブルに登録する。ワークフロー管理プログラムは、これらのテーブルを参照してメインＢＰからサブＢＰへのフロー制御を行う。」ことが記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１１−３１６７８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１では、システムプロセスを階層的に管理することによってシステムプロセスの粒度を変更できる。しかし、システムプロセスの粒度を変更するためには、予め開発者が粒度が異なる複数のシステムプロセスを定義しておく必要がある。そのため、開発者によって定義されていない粒度のシステムプロセスに変更できないという問題がある。
【課題を解決するための手段】
【０００９】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、複数の業務の実行順番を定義するシステムプロセスの粒度を変換する計算機であって、前記システムプロセスは、前記業務に対応するアクティビティを要素として含み、前記システムプロセスに含まれる少なくとも一つの前記アクティビティには、前記業務の実行に伴う操作画面に関する処理である画面制御の定義を管理する画面定義情報が対応付けられ、前記計算機は、プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続され、外部装置と接続するためのインタフェースを備え、前記システムプロセスの粒度を変換するプロセス変換部を有し、前記プロセス変換部は、前記システムプロセスの構成を定義するシステムプロセス情報、及び前記システムプロセスに含まれる前記アクティビティの変換規則を管理する変換規則情報を管理し、前記プロセス変換部は、第１のシステムプロセスを粒度が異なる第２のシステムプロセスに変換する場合、前記第１のシステムプロセスに含まれる前記アクティビティに対応付けられる前記画面定義情報を取得し、前記画面定義情報を解析し、前記画面定義情報の解析結果及び前記変換規則情報に基づいて、前記アクティビティの粒度を変換し、前記アクティビティの粒度の変換結果に基づいて、前記第２のシステムプロセスの前記システムプロセス情報を生成することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、参照者の目的に応じて様々な粒度のシステムプロセスを提示できる。前述した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。
【図面の簡単な説明】
【００１１】
【図１】実施例１のシステムプロセスの自動変換を実現する計算機システムの構成の一例を示す説明図である。
【図２】実施例１のシステムプロセス変換装置のハードウェア構成及びソフトウェア構成の一例を示す説明図である。
【図３】実施例１のシステム開発装置のハードウェア構成及びソフトウェア構成の一例を示す説明図である。
【図４】実施例１のディスクアレイ装置のハードウェア構成及びソフトウェア構成の一例を示す説明図である。
【図５】実施例１のユーザ情報の一例を示す説明図である。
【図６Ａ】実施例１のシステムプロセス情報の一例を示す説明図である。
【図６Ｂ】実施例１のシステムプロセス情報の一例を示す説明図である。
【図７】実施例１の画面定義情報の一例を示す説明図である。
【図８】実施例１の概要システムプロセスを示す説明図である。
【図９】実施例１の概要システムプロセス及び画面定義情報の対応関係を示す説明図である。
【図１０】実施例１の詳細システムプロセスを示す説明図である。
【図１１】実施例１の詳細システムプロセス及び画面定義情報の対応関係を示す説明図である。
【図１２】実施例１の変換規則情報の一例を示す説明図である。
【図１３】実施例１のシステムプロセスの粒度変換処理の一例を説明するフローチャートである。
【図１４】実施例１のシステムプロセスの詳細化処理の一例を説明するフローチャートである。
【図１５】実施例１の修正処理の一例を説明するフローチャートである。
【図１６Ａ】実施例２のシステムプロセスの抽象化処理の一例を説明するフローチャートである。
【図１６Ｂ】実施例２のシステムプロセスの抽象化処理の一例を説明するフローチャートである。
【図１７】実施例２の修正処理の一例を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施例について、図面を用いて説明する。まず、本発明の概要について説明する。
【００１３】
システムプロセス変換装置は、システムプロセスの定義情報及びシステムプロセスの定義情報に対応付けられた画面定義情報を取得する。
【００１４】
システムプロセス変換装置は、画面定義情報を解析する。システムプロセス変換装置は、解析結果及び予め設定された変換規則情報に基づいて、システムプロセスの定義情報を粒度が異なるシステムプロセスの定義情報に変換する。なお、解析結果には、画面の変化量に関する情報、業務の分岐に関する情報、及び画面に対する入力項目の変化に関する情報等、業務の実行に伴う操作画面の画面遷移に関する情報が含まれる。
【００１５】
システムプロセス変換装置は、変換後のシステムプロセスの定義情報に基づいて、参照者に所定の粒度に変換されたシステムプロセスを表示する。これによって、システムプロセス変換装置は、任意の粒度のシステムプロセスの定義情報から、参照者の要求に応じて様々な粒度のシステムプロセスを提示することができる。
【実施例１】
【００１６】
実施例１では、システムプロセス及び画面を定義することによって開発されたシステムにおいて、システムプロセスの詳細化を実現する装置及び方法について説明する。
【００１７】
図１は、実施例１のシステムプロセスの自動変換を実現する計算機システムの構成の一例を示す説明図である。
【００１８】
計算機システムは、システムプロセス変換装置１００、システム開発装置１１０、及びディスクアレイ装置１２０から構成される。
【００１９】
システムプロセス変換装置１００及びシステム開発装置１１０は、ネットワーク１５０を介して互いに接続される。なお、本発明は、ネットワーク１５０の種別及び接続方式に限定されない。
【００２０】
また、システムプロセス変換装置１００及びシステム開発装置１１０は、それぞれ、ディスクアレイ装置１２０に接続される。なお、システムプロセス変換装置１００及びシステム開発装置１１０は、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を介してディスクアレイ装置１２０に接続してもよいし、ディスクアレイ装置１２０に直接接続してもよい。
【００２１】
図１では、参照者１０がシステムプロセス変換装置１００を操作し、開発者２０がシステム開発装置１１０を操作し、エンドユーザ３０がシステム開発装置１１０を用いて開発されたシステムを利用する。
【００２２】
図１では、システムプロセス変換装置１００及びシステム開発装置１１０は、別々の装置として記載しているが、仮想化技術等を用いて同一の計算機上に各装置を実装する構成でもよい。
【００２３】
図２は、実施例１のシステムプロセス変換装置１００のハードウェア構成及びソフトウェア構成の一例を示す説明図である。
【００２４】
システムプロセス変換装置１００は、ハードウェア構成として、ＣＰＵ２０１、ネットワークインタフェース２０２、ディスクインタフェース２０３、入出力インタフェース２０４、及びメモリ２０５を備える。前述した各構成は、バス等の内部的な通信経路を介して互いに接続される。
【００２５】
ＣＰＵ２０１は、メモリ２０５に格納されたプログラムを実行する。以下の説明では、プログラムを主体に処理を説明する場合、ＣＰＵ２０１が当該プログラムを実行していることを示す。
【００２６】
ネットワークインタフェース２０２は、ネットワーク１５０を介して外部装置と接続するためのインタフェースである。本実施例では、システムプロセス変換装置１００は、ネットワークインタフェース２０２を介してシステム開発装置１１０と接続する。ディスクインタフェース２０３は、ディスクアレイ装置１２０と接続するためのインタフェースである。
【００２７】
入出力インタフェース２０４は、システムプロセス変換装置１００に対する入力、及び各種情報の出力を行うためのインタフェースである。入出力インタフェース２０４には、例えば、ディスプレイ、タッチパネル、キーボード、及びマウス等が含まれる。参照者１０は、入出力インタフェース２０４を介して、システムプロセス変換装置１００にデータを入力し、又は、システムプロセス変換装置１００から出力されたデータを参照する。
【００２８】
メモリ２０５は、ＣＰＵ２０１によって実行されるプログラム及びプログラムの実行に必要な各種データを格納する。本実施例のメモリ２０５には、プロセス変換部２１０を実現するプログラムが格納され、また、ユーザ情報Ｔ１００、変換規則情報Ｔ２００、システムプロセス情報Ｔ３００、及び画面定義情報Ｔ４００が格納される。なお、メモリ２０５には、図示しないプログラム及び情報が格納されてもよい。
【００２９】
プロセス変換部２１０は、任意の粒度のシステムプロセスを異なる粒度のシステムプロセスに変換する。プロセス変換部２１０が実行する処理の詳細は後述する。
【００３０】
ユーザ情報Ｔ１００は、システムプロセスを参照するユーザを管理する情報である。ユーザ情報Ｔ１００の詳細は、図５を用いて後述する。変換規則情報Ｔ２００は、システムプロセスの変換規則、すなわち、システムプロセスの変換方法を管理する情報である。変換規則情報Ｔ２００の詳細は、図１２を用いて後述する。
【００３１】
システムプロセス情報Ｔ３００は、システムプロセスの具体的な構成等を定義する情報である。本実施例では、参照者１０の要求に応じて粒度が異なるシステムプロセスのシステムプロセス情報Ｔ３００が生成される。システムプロセス情報Ｔ３００の詳細は、図６Ａ及び図６Ｂを用いて後述する。
【００３２】
画面定義情報Ｔ４００は、画面内の制御処理及びバックグラウンドで実行される処理等の操作画面に関する処理の定義を管理する情報である。ここで、画面内の制御処理は、画面に対する入力値に基づく画面の遷移処理等を示し、バックグラウンドで実行される処理は、入力値を用いた認証処理等を示す。以下の説明では、操作画面に関する処理を画面制御とも記載する。画面定義情報Ｔ４００の詳細は、図７を用いて後述する。
【００３３】
図３は、実施例１のシステム開発装置１１０のハードウェア構成及びソフトウェア構成の一例を示す説明図である。
【００３４】
システム開発装置１１０は、ハードウェア構成として、ＣＰＵ３０１、ネットワークインタフェース３０２、ディスクインタフェース３０３、入出力インタフェース３０４、及びメモリ３０５を備える。前述した各構成は、バス等の内部的な通信経路を介して互いに接続される。
【００３５】
ＣＰＵ３０１は、メモリ３０５に格納されたプログラムを実行する。以下の説明では、プログラムを主体に処理を説明する場合、ＣＰＵ３０１が当該プログラムを実行していることを示す。
【００３６】
ネットワークインタフェース３０２は、ネットワーク１５０を介して外部装置と接続するためのインタフェースである。本実施例では、システム開発装置１１０は、ネットワーク１５０を介してシステムプロセス変換装置１００と接続する。ディスクインタフェース３０３は、ディスクアレイ装置１２０と接続するためのインタフェースである。
【００３７】
入出力インタフェース３０４は、システム開発装置１１０に対する入力、及び各種情報の出力を行うためのインタフェースである。開発者２０は、入出力インタフェース３０４を介して、システム開発装置１１０にデータを入力し、又は、システム開発装置１１０から出力されたデータを参照する。
【００３８】
メモリ３０５は、ＣＰＵ３０１によって実行されるプログラム及びプログラムの実行に必要な各種データを格納する。本実施例のメモリ３０５には、画面定義情報管理部３１０及びプロセス管理部３１１を実現するプログラムが格納され、また、システムプロセス情報Ｔ３００及び画面定義情報Ｔ４００が格納される。なお、メモリ３０５には、図示しないプログラム及び情報が格納されてもよい。
【００３９】
画面定義情報管理部３１０は、開発者２０によって定義された画面定義情報Ｔ４００を管理する。プロセス管理部３１１は、開発者２０によって定義されたシステムプロセス情報Ｔ３００を管理する。
【００４０】
システムプロセス情報Ｔ３００は、開発者２０によって定義された任意の粒度のシステムプロセスの具体的な構成等を定義する情報である。画面定義情報Ｔ４００は、開発者２０によって定義された画面制御を管理するための情報である。
【００４１】
本実施例では、開発者２０がシステム開発装置１１０を操作して、任意の粒度のシステムプロセスを開発する。システムプロセス変換装置１００は、システム開発装置１１０からオリジナルのシステムプロセス情報Ｔ３００及び画面定義情報Ｔ４００を取得し、参照者１０が要求する粒度のシステムプロセスを提示するためのシステムプロセス情報Ｔ３００を生成する。
【００４２】
図４は、実施例１のディスクアレイ装置１２０のハードウェア構成及びソフトウェア構成の一例を示す説明図である。
【００４３】
ディスクアレイ装置１２０は、ハードウェア構成として、ディスク制御コントローラ４０１、ディスクインタフェース４０２、及び記憶媒体４０３を備える。前述した各構成は、バス等の内部的な通信経路を介して互いに接続される。
【００４４】
ディスク制御コントローラ４０１は、ディスクアレイ装置１２０全体を制御する。例えば、ディスク制御コントローラ４０１は、ディスクインタフェース４０２を介して入出力要求を取得し、当該入出力要求に基づいてブロック単位のデータの読出処理及び書込処理を制御する。
【００４５】
ディスクインタフェース４０２は、外部装置と接続するためのインタフェースである。記憶媒体４０３は、データを格納するための記憶装置である。記憶媒体４０３は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）又はＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等が考えられる。なお、本発明は、記憶媒体４０３の種類に限定されない。
【００４６】
記憶媒体４０３には、ファイルシステム４１０が格納される。ファイルシステム４１０には、所定の形式のデータが格納される。
【００４７】
図５は、実施例１のユーザ情報Ｔ１００の一例を示す説明図である。
【００４８】
図５では、テーブル形式のユーザ情報Ｔ１００を示す。なお、本発明はユーザ情報Ｔ１００のデータ形式に限定されない。ユーザ情報Ｔ１００のデータ形式は、テーブル形式以外に、リスト形式及びＣＳＶ（Ｃｏｍｍａ−Ｓｅｐａｒａｔｅｄ  Ｖａｌｕｅｓ）形式等が考えられる。
【００４９】
ユーザ情報Ｔ１００は、ユーザに対応するエントリを複数含む。当該エントリは、ユーザ名（Ｔ１０１）及び属性（Ｔ１０２）から構成される。
【００５０】
ユーザ名（Ｔ１０１）は、参照者１０を一意に識別するための情報である。ユーザ名（Ｔ１０１）には、例えば、参照者１０の名称等が格納される。属性（Ｔ１０２）は、参照者１０の属性を示す情報である。属性（Ｔ１０２）には、ユーザの権限及びユーザのランク等が格納される。
【００５１】
本実施例では、以下で説明するように、参照者１０の属性毎に変換規則情報Ｔ２００が存在する。これは、参照者１０毎に要求するシステムプロセスの粒度が異なるためである。例えば、開発者２０が参照者１０である場合、粒度が細かいシステムプロセスが要求され、管理者が参照者１０である場合、保守等に便利な粒度のシステムプロセスが要求され、エンドユーザ３０が参照者１０である場合、粒度が荒いシステムプロセスが要求される。
【００５２】
図６Ａ及び図６Ｂは、実施例１のシステムプロセス情報Ｔ３００の一例を示す説明図である。
【００５３】
図６Ａ及び図６Ｂでは、テーブル形式のシステムプロセス情報Ｔ３００を示す。なお、本発明はシステムプロセス情報Ｔ３００のデータ形式に限定されない。システムプロセス情報Ｔ３００のデータ形式は、テーブル形式以外に、リスト形式、ＣＳＶ形式、及びＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ（ＪａｖａＳｃｒｉｐｔは登録商標、以下同じ。））形式等が考えられる。
【００５４】
システムプロセス情報Ｔ３００は、システムプロセスを構成する要素に対応するエントリを複数含む。当該エントリは、システムプロセスＩＤ（Ｔ３０１）、要素ＩＤ（Ｔ３０２）、要素名（Ｔ３０３）、開始条件（Ｔ３０４）、終了条件（Ｔ３０５）、及び遷移先要素ＩＤ（Ｔ３０６）から構成される。なお、エントリには、要素の種別を示すカラムが含まれてもよい。要素の種別は、例えば、アクティビティ、ゲートウェイ（分岐）、及びイベント等である。なお、アクティビティ、ゲートウェイ、及びイベントは、公知のものであるため詳細な説明は省略する。
【００５５】
システムプロセスＩＤ（Ｔ３０１）は、システムプロセスを一意に識別するための情報である。要素ＩＤ（Ｔ３０２）は、システムプロセスを構成する要素を一意に識別するための情報である。要素名（Ｔ３０３）は、システムプロセスを構成する要素の名称である。
【００５６】
開始条件（Ｔ３０４）は、要素を活性化させるための条件である。終了条件（Ｔ３０５）は、要素を非活性化するための条件である。遷移先要素ＩＤ（Ｔ３０６）は、要素ＩＤ（Ｔ３０２）に対応する要素の遷移先の要素の情報である。遷移先要素ＩＤ（Ｔ３０６）には遷移先の要素の識別情報が格納される。
【００５７】
図６Ａ及び図６Ｂは、同一の業務を行うためのシステムプロセスであるが、粒度が異なるシステムプロセスの情報を示す。図６Ａは、粒度が荒いシステムプロセスのシステムプロセス情報Ｔ３００を示し、図６Ｂは、粒度が細かいシステムプロセスのシステムプロセス情報Ｔ３００を示す。以下の説明では、要素ＩＤ（Ｔ３０２）が「Ｅ１０１」から「Ｅ１０４」である四つの要素から構成されるシステムプロセスを概要システムプロセスと記載する。また、要素ＩＤ（Ｔ３０２）が「Ｅ２０１」から「Ｅ２０８」である八つの要素から構成されるシステムプロセスを詳細システムプロセスと記載する。
【００５８】
なお、システムプロセスに含まれる少なくとも一つのアクティビティには、画面定義情報Ｔ４００が対応付けられる。
【００５９】
図７は、実施例１の画面定義情報Ｔ４００の一例を示す説明図である。
【００６０】
図７では、ＨＴＭＬ形式の画面定義情報Ｔ４００を示す。なお、本発明は画面定義情報Ｔ４００のデータ形式に限定されない。画面定義情報Ｔ４００のデータ形式は、ＨＴＭＬ以外に、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式等が考えられる。
【００６１】
本実施例のシステム開発装置１１０は、システムプロセスを構成する少なくとも一つのアクティビティに対応付けられる画面定義情報Ｔ４００を管理する。
【００６２】
図７に示す画面定義情報Ｔ４００は、ｐタグ、ｆｏｒｍタグ、及びｓｃｒｉｐｔタグを含む。ｐタグは、個人用の入力項目及び法人用の入力項目を定義するためのタグである。ｆｏｒｍタグは、各入力項目のフォームを定義するためのタグである。ｓｃｒｉｐｔタグは、ＪａｖａＳｃｒｉｐｔ等のスクリプトを組み込むためのタグである。
【００６３】
図８は、実施例１の概要システムプロセスを示す説明図である。図９は、実施例１の概要システムプロセス及び画面定義情報Ｔ４００の対応関係を示す説明図である。
【００６４】
概要システムプロセスは、開始イベント（Ｅ１０１）、入力アクティビティ（Ｅ１０２）、確認アクティビティ（Ｅ１０３）、及び終了イベント（Ｅ１０４）の四つの要素から構成される。各要素間を接続する矢印は、業務の実行順番を示すシーケンスフローを示す。
【００６５】
開始イベント（Ｅ１０１）は、概要システムプロセスの開始を示す。入力アクティビティ（Ｅ１０２）は、任意の情報の入力処理に関するアクティビティを示す。確認アクティビティ（Ｅ１０３）は、入力アクティビティ（Ｅ１０２）において入力された情報の確認処理に関するアクティビティを示す。終了イベント（Ｅ１０４）は、概要システムプロセスの終了を示す。
【００６６】
入力アクティビティ（Ｅ１０２）には、画面定義情報Ｔ４００−１が対応付けられる。画面定義情報Ｔ４００−１は、入力画面全体の画面制御の定義を管理する情報である。画面定義情報Ｔ４００−１には、ラジオボタン９０１、個人用入力画面９０２、及び法人用入力画面９０３に関する情報が含まれる。
【００６７】
ラジオボタン９０１は、入力画面においてエンドユーザ３０が個人又は法人を選択するためのラジオボタンである。個人用入力画面９０２は、ラジオボタン９０１の個人が選択された場合に表示される入力画面である。法人用入力画面９０３は、ラジオボタン９０１の法人が選択された場合に表示される入力画面である。
【００６８】
確認アクティビティ（Ｅ１０３）には、確認画面の画面定義情報Ｔ４００−２が対応付けられる。画面定義情報Ｔ４００−２は、確認画面全体の画面制御の定義を管理する情報である。画面定義情報Ｔ４００−２には、個人用確認画面９０４及び法人用確認画面９０５に関する情報が含まれる。
【００６９】
個人用確認画面９０４は、ラジオボタン９０１の個人が選択された場合に表示される確認画面を示す。法人用確認画面９０５は、ラジオボタン９０１の法人が選択された場合に表示される確認画面である。
【００７０】
図１０は、実施例１の詳細システムプロセスを示す説明図である。図１１は、実施例１の詳細システムプロセス及び画面定義情報Ｔ４００の対応関係を示す説明図である。
【００７１】
詳細システムプロセスは、開始イベント（Ｅ２０１）、入力アクティビティ（Ｅ２０２）、ＯＲ分岐（Ｅ２０３）、個人用入力アクティビティ（Ｅ２０４）、個人用確認アクティビティ（Ｅ２０５）、法人用入力アクティビティ（Ｅ２０６）、法人用確認アクティビティ（Ｅ２０７）、及び終了イベント（Ｅ２０８）の八つの要素から構成される。各要素間を接続する矢印は、業務の実行順番を示すシーケンスフローを示す。
【００７２】
開始イベント（Ｅ２０１）は、詳細システムプロセスの開始を示す。入力アクティビティ（Ｅ２０２）は、任意の情報の入力処理に関するアクティビティを示す。ＯＲ分岐（Ｅ２０３）は、任意の情報の入力に対する業務のＯＲ分岐（ＯＲゲートウェイ）を示す。
【００７３】
個人用入力アクティビティ（Ｅ２０４）は、個人用の情報の入力処理に関するアクティビティを示す。個人用確認アクティビティ（Ｅ２０５）は、個人用入力アクティビティ（Ｅ２０４）において入力された情報の確認処理に関するアクティビティを示す。法人用入力アクティビティ（Ｅ２０６）は、法人用の情報の入力処理に関するアクティビティを示す。法人用確認アクティビティ（Ｅ２０７）は、法人用入力アクティビティ（Ｅ２０６）において入力された情報の確認処理に関するアクティビティを示す。終了イベント（Ｅ２０８）は、詳細システムプロセスの終了を示す。
【００７４】
入力アクティビティ（Ｅ２０１）には、画面定義情報Ｔ４００−３が対応付けられる。画面定義情報Ｔ４００−３は、入力画面の画面制御の定義を管理する情報である。画面定義情報Ｔ４００−３には、ラジオボタン１１０１に関する情報が含まれる。
【００７５】
ラジオボタン１１０１は、入力画面においてエンドユーザ３０が個人又は法人を選択するためのラジオボタンである。
【００７６】
個人用入力アクティビティ（Ｅ２０４）には、画面定義情報Ｔ４００−４が対応付けられる。画面定義情報Ｔ４００−４は、個人用の入力画面の画面制御の定義を管理する情報である。画面定義情報Ｔ４００−４には、個人用入力画面１１０２に関する情報が含まれる。個人用入力画面１１０２は、ラジオボタン１１０１の個人が選択された場合に表示される入力画面である。
【００７７】
個人用確認アクティビティ（Ｅ２０５）には、画面定義情報Ｔ４００−５が対応付けられる。画面定義情報Ｔ４００−５は、個人用の確認画面の画面制御の定義を管理する情報である。画面定義情報Ｔ４００−５には、個人用確認画面１１０３に関する情報が含まれる。個人用確認画面１１０３は、ラジオボタン１１０１の個人が選択された場合に表示される確認画面である。
【００７８】
法人用入力アクティビティ（Ｅ２０６）には、画面定義情報Ｔ４００−６が対応付けられる。画面定義情報Ｔ４００−６は、法人用の入力画面の画面制御の定義を管理する情報である。画面定義情報Ｔ４００−６には、法人用入力画面１１０４に関する情報が含まれる。法人用入力画面１１０４は、ラジオボタン１１０１の法人が選択された場合に表示される入力画面である。
【００７９】
法人用確認アクティビティ（Ｅ２０７）には、画面定義情報Ｔ４００−７が対応付けられる。画面定義情報Ｔ４００−７は、法人用の確認画面の画面制御の定義を管理する情報である。画面定義情報Ｔ４００−７には、法人用確認画面１１０５に関する情報が含まれる。法人用確認画面１１０５は、ラジオボタン１１０１の法人が選択された場合に表示される確認画面である。
【００８０】
図１２は、実施例１の変換規則情報Ｔ２００の一例を示す説明図である。
【００８１】
図１２では、テーブル形式の変換規則情報Ｔ２００を示す。なお、本発明は変換規則情報Ｔ２００のデータ形式に限定されない。変換規則情報Ｔ２００のデータ形式は、テーブル形式以外に、リスト形式及びＣＳＶ形式等が考えられる。
【００８２】
変換規則情報Ｔ２００は、属性（Ｔ１０２）に格納される属性の数だけ存在する。変換規則情報Ｔ２００は、システムプロセス内の要素の変換規則に対応するエントリを複数含む。当該エントリは、項目（Ｔ２０１）、変換方法（Ｔ２０２）、閾値（Ｔ２０３）、詳細化（Ｔ２０４）、及び抽象化（Ｔ２０５）から構成される。
【００８３】
項目（Ｔ２０１）は、画面遷移の特性を示す情報である。すなわち、変換規則情報Ｔ２００には、画面遷移の特性毎に変換規則が設定されている。システムプロセス変換装置１００は、画面定義情報Ｔ４００が項目（Ｔ２０１）に一致する画面遷移を伴う画面制御を含む場合、該当する変更規則に基づいて、画面定義情報Ｔ４００に対応するアクティビティの粒度を変換する。
【００８４】
変換方法（Ｔ２０２）は、アクティビティの粒度の変換方法である。変換方法（Ｔ２０２）には、「横」、「ＡＮＤ」、及び「ＯＲ」の何れかが格納される。
【００８５】
「横」は、例えば、一つのアクティビティを直列に接続された複数のアクティビティに分割し、又は直列に接続された複数のアクティビティを一つのアクティビティに統合する変換方法である。「ＡＮＤ」は、例えば、一つのアクティビティをＡＮＤ分岐（ＡＮＤゲートウェイ）及び複数のアクティビティに分割し、又は、ＡＮＤ分岐及び複数のアクティビティを一つのアクティビティに統合する変換方法である。「ＯＲ」は、例えば、一つのアクティビティをＯＲ分岐（ＯＲゲートウェイ）及び複数のアクティビティに分割し、又はＯＲ分岐及び複数のアクティビティを一つのアクティビティに統合する変換方法である。なお、本発明は、前述した変換方法に限定されない。
【００８６】
閾値（Ｔ２０３）は、変数を含む項目（Ｔ２０１）の適用基準を定める閾値である。例えば、図１２の上から四番目のエントリは、画面定義情報Ｔ４００が「ボタンの操作により画面の４０％以上が変化」する場合に適用される変換規則であることを示す。
【００８７】
詳細化（Ｔ２０４）は、詳細化処理の有効又は無効を示す情報である。抽象化（Ｔ２０５）は、抽象化処理の有効又は無効を示す情報である。ここで、詳細化処理は一つのアクティビティを複数の要素に分割する変換処理を示し、抽象化処理は複数の要素を一つのアクティビティに統合する変換処理を示す。
【００８８】
本実施例では、参照者１０等が予め変換規則情報Ｔ２００を設定しているものとする。ただし、参照者１０は、適宜、変換規則情報Ｔ２００に新たな変換規則を設定し、また、変換規則情報Ｔ２００に含まれる変更規則を更新してもよい。
【００８９】
図１３は、実施例１のシステムプロセスの粒度変換処理の一例を説明するフローチャートである。
【００９０】
参照者１０によって操作されるシステムプロセス変換装置１００は、システム開発装置１１０及びディスクアレイ装置１２０と連携して以下で説明する粒度変換処理を実行する。
【００９１】
まず、システムプロセス変換装置１００は、システム開発装置１１０から、システムプロセス情報Ｔ３００及び画面定義情報Ｔ４００を取得する（ステップＳ１０１）。
【００９２】
具体的には、プロセス変換部２１０が、画面定義情報管理部３１０に対して、システムプロセス情報Ｔ３００及び画面定義情報Ｔ４００の取得要求を送信する。画面定義情報管理部３１０は、当該取得要求を受信した場合、メモリ３０５に格納されるシステムプロセス情報Ｔ３００及び画面定義情報Ｔ４００をプロセス変換部２１０に送信する。プロセス変換部２１０は、画面定義情報管理部３１０から受信したシステムプロセス情報Ｔ３００及び画面定義情報Ｔ４００をメモリ２０５に格納する。
【００９３】
次に、システムプロセス変換装置１００は、参照するシステムプロセスを選択する（ステップＳ１０２）。
【００９４】
具体的には、プロセス変換部２１０は、入出力インタフェース２０４を介して参照者１０にシステムプロセス情報Ｔ３００を提示し、参照者１０からの入力を受け付ける。プロセス変換部２１０は、入出力インタフェース２０４を介して参照者１０が入力した値に基づいて、参照するシステムプロセスを選択する。本実施例では、参照者１０は、少なくともシステムプロセスの識別情報、及び変換処理の種別を選択する。
【００９５】
次に、システムプロセス変換装置１００は、入出力インタフェース２０４を介して参照者１０から詳細化処理の実行指示を受け付けたか否かを判定する（ステップＳ１０３）。
【００９６】
具体的には、プロセス変換部２１０は、受け付けたシステムプロセスの粒度の変換要求が、詳細化処理の実行指示又は抽象化処理の実行指示の何れであるかを判定する。
【００９７】
詳細化処理の実行指示を受け付けたと判定された場合、システムプロセス変換装置１００は、システムプロセスの詳細化処理を実行する（ステップＳ１０４）。なお、システムプロセスの詳細化処理の詳細は、図１４を用いて説明する。
【００９８】
抽象化処理の実行指示を受け付けたと判定された場合、システムプロセス変換装置１００は、システムプロセスの抽象化処理を実行する（ステップＳ１０５）。なお、システムプロセスの抽象化処理の詳細は、実施例２（図１６Ａ及び図１６Ｂ）で説明する。
【００９９】
システムプロセス変換装置１００は、システムプロセスの詳細化処理及びシステムプロセスの抽象化処理が完了した後、参照者１０に対して粒度が変換されたシステムプロセスを表示する（ステップＳ１０６）。
【０１００】
具体的には、プロセス変換部２１０は、入出力インタフェース２０４を介して参照者１０に図８又は図１０に示すようなグラフィカルなシステムプロセスを表示する。このとき、プロセス変換部２１０は、変換されたシステムプロセスに含まれるアクティビティに対応付けられる画面定義情報Ｔ４００を表示してもよい。なお、本発明は、参照者１０に対して表示する情報の形式に限定されない。例えば、テキスト形式の情報が表示されてもよい。
【０１０１】
図１４は、実施例１のシステムプロセスの詳細化処理の一例を説明するフローチャートである。
【０１０２】
システムプロセス変換装置１００は、ディスクアレイ装置１２０と連携して以下で説明するシステムプロセスの詳細化処理を実行する。
【０１０３】
まず、システムプロセス変換装置１００は、使用する変換規則情報Ｔ２００を特定する（ステップＳ２０１）。
【０１０４】
具体的には、プロセス変換部２１０は、システムプロセス変換装置１００を操作する参照者１０のユーザ名に基づいてユーザ情報Ｔ１００を参照する。プロセス変換部２１０は、ユーザ名（Ｔ１０１）が参照者１０のユーザ名と一致するエントリを検索する。プロセス変換部２１０は、検索されたエントリの属性（Ｔ１０２）の値を取得する。プロセス変換部２１０は、属性（Ｔ１０２）から取得された値に一致する変換規則情報Ｔ２００を特定する。以上がステップＳ２０１の処理の説明である。
【０１０５】
次に、システムプロセス変換装置１００は、システムプロセス内に選択されていないアクティビティが存在するか否かを判定する（ステップＳ２０２）。
【０１０６】
具体的には、プロセス変換部２１０は、ステップＳ１０２において選択されたシステムプロセスに含まれるアクティビティの中に、選択されていないアクティビティが存在するか否かを判定する。
【０１０７】
選択されていないアクティビティが存在しないと判定された場合、システムプロセス変換装置１００は、システムプロセスの詳細化処理を終了する。
【０１０８】
選択されていないアクティビティが存在すると判定された場合、システムプロセス変換装置１００は、選択されていないアクティビティの中から対象のアクティビティを一つ選択する（ステップＳ２０３）。
【０１０９】
具体的には、プロセス変換部２１０は、選択されていないアクティビティの中から対象のアクティビティを一つ選択する。このとき、プロセス変換部２１０は、対象のアクティビティに対応付けられた画面定義情報Ｔ４００を特定する。なお、プロセス変換部２１０は、システムプロセスにおける業務の実行順番にしたがって、対象のアクティビティを選択するものとする。
【０１１０】
次に、システムプロセス変換装置１００は、対象のアクティビティに対応付けられる画面定義情報Ｔ４００を解析する（ステップＳ２０４）。システムプロセス変換装置１００は、当該処理によって画面制御の定義を管理する画面定義情報Ｔ４００から画面遷移の特性を把握する。
【０１１１】
具体的には、プロセス変換部２１０は、対象のアクティビティに対応付けられる画面定義情報Ｔ４００を解析し、解析結果をメモリ２０５に格納する。なお、本発明は、画面定義情報Ｔ４００の解析方法に限定されない。例えば、プロセス変換部２１０は、図７に示すような画面定義情報Ｔ４００に含まれるタグ等を解析してもよい。また、プロセス変換部２１０は、Ｗｅｂブラウザを用いて画面定義情報Ｔ４００の実際の挙動を解析してもよい。
【０１１２】
次に、システムプロセス変換装置１００は、画面定義情報Ｔ４００に、画面遷移を伴う業務の分岐に関する条件が含まれるか否かを判定する（ステップＳ２０５）。以下の説明では、画面遷移を伴う業務の分岐を単に分岐とも記載し、また、画面遷移を伴う業務の分岐に関する条件を単に分岐条件とも記載する。
【０１１３】
具体的には、プロセス変換部２１０は、画面定義情報Ｔ４００の解析結果に基づいて、画面定義情報Ｔ４００に分岐条件が含まれるか否かを判定する。例えば、プロセス変換部２１０は、画面定義情報Ｔ４００に画面を切り替えるためのスクリプト等が含まれるか否かを判定する。
【０１１４】
画面定義情報Ｔ４００に分岐条件が含まれると判定された場合、システムプロセス変換装置１００は、画面定義情報Ｔ４００に分岐条件に値を入力するための入力項目が含まれるか否かを判定する（ステップＳ２０６）。
【０１１５】
具体的には、プロセス変換部２１０は、画面定義情報Ｔ４００の解析結果に基づいて、スクリプト等に設定する変数の入力項目が画面定義情報Ｔ４００に含まれるか否かを判定する。
【０１１６】
画面定義情報Ｔ４００に分岐条件に値を入力するための入力項目が含まれると判定された場合、システムプロセス変換装置１００は、対象のアクティビティを縦方向及び横方向に分割する（ステップＳ２０７）。具体的には、以下のような処理が実行される。
【０１１７】
プロセス変換部２１０は、変換規則情報Ｔ２００を参照して、変換方法（Ｔ２０２）が「横」、かつ、詳細化（Ｔ２０４）が「有効」である変換規則を抽出する。プロセス変換部２１０は、画面定義情報Ｔ４００の解析結果に基づいて、抽出された変換規則の中に適用可能な変換規則が存在するか否かを判定する。抽出された変換規則の中に適用可能な変換規則が存在しないと判定された場合、プロセス変換部２１０は、横方向の分割は行わない。
【０１１８】
抽出された変換規則の中に適用可能な変換規則が存在すると判定された場合、プロセス変換部２１０は、適用可能な変換規則に基づいて、分岐条件に値を入力するためのアクティビティと、分岐条件を含むアクティビティとに、対象のアクティビティを分割する。プロセス変換部２１０は、分割結果をメモリ２０５に一時的に格納する。
【０１１９】
プロセス変換部２１０は、変換規則情報Ｔ２００を参照して、変換方法（Ｔ２０２）が「ＡＮＤ」又は「ＯＲ」、かつ、詳細化（Ｔ２０４）が「有効」である変換規則を抽出する。プロセス変換部２１０は、画面定義情報Ｔ４００の解析結果に基づいて、抽出された変換規則の中に適用可能な変換規則が存在するか否かを判定する。抽出された変換規則の中に適用可能な変換規則が存在しないと判定された場合、プロセス変換部２１０は、縦方向の分割は行わない。
【０１２０】
抽出された変換規則の中に適用可能な変換規則が存在すると判定された場合、プロセス変換部２１０は、適用可能な変換規則に基づいて、ＯＡ分岐又はＡＮＤ分岐と、分岐後の複数のアクティビティとに、分岐条件を含む画面定義情報Ｔ４００が対応付けられるアクティビティを分割する。プロセス変換部２１０は、分割結果をメモリ２０５に一時的に格納する。
【０１２１】
なお、プロセス変換部２１０は、要求されるシステムプロセスの粒度に応じて、変換後のシステムプロセス情報Ｔ３００に含まれる要素数を調整してもよい。例えば、プロセス変換部２１０は、変換後のシステムプロセス情報Ｔ３００に含まれる要素数をカウントし、所定の閾値より要素数が大きい場合、分割処理を行わないように制御する。以上がステップＳ２０７の処理の説明である。
【０１２２】
次に、システムプロセス変換装置１００は、対象のアクティビティの分割結果に基づいて、システムプロセス情報Ｔ３００を更新し、また、画面定義情報Ｔ４００を生成する（ステップＳ２０８）。具体的には、以下のような処理が実行される。
【０１２３】
プロセス変換部２１０は、変換後のシステムプロセスを管理するシステムプロセス情報Ｔ３００が生成されているか否かを判定する。変換後のシステムプロセスを管理するシステムプロセス情報Ｔ３００が生成されていないと判定された場合、プロセス変換部２１０は、変換後のシステムプロセスを管理するシステムプロセス情報Ｔ３００を生成する。以下の説明では、変換後のシステムプロセスを管理するシステムプロセス情報Ｔ３００を新規システムプロセス情報Ｔ３００とも記載する。プロセス変換部２１０は、新規システムプロセス情報Ｔ３００に、対象のアクティビティの分割結果を追加する。
【０１２４】
また、プロセス変換部２１０は、対象のアクティビティに対応付けられる画面定義情報Ｔ４００に基づいて、分割後のアクティビティに対応付ける画面定義情報Ｔ４００を生成する。例えば、プロセス変換部２１０は、ＨＴＭＬから特定のタグを抽出することによって分割後のアクティビティに対応付ける画面定義情報Ｔ４００を生成する。以上がステップＳ２０８の処理の説明である。
【０１２５】
なお、分割後のアクティビティ及び画面定義情報Ｔ４００の名称等は予め設定された規則に基づいて決定されてもよいし、また、参照者１０からの入力に基づいて決定されてもよい。
【０１２６】
次に、システムプロセス変換装置１００は、修正処理を実行する（ステップＳ２０９）。その後、システムプロセス変換装置１００は、ステップＳ２０２に戻り、同様の処理を実行する。修正処理の詳細は、図１５を用いて説明する。
【０１２７】
ステップＳ２０６において、分岐条件に値を入力するための入力項目が含まれていないと判定された場合、システムプロセス変換装置１００は、対象のアクティビティを縦方向に分割する（ステップＳ２１０）。その後、システムプロセス変換装置１００は、ステップＳ２０８に進む。なお、対象のアクティビティを縦方向に分割する処理は、ステップＳ２０７で説明した処理と同一であるため説明を省略する。
【０１２８】
ステップＳ２０５において、画面定義情報Ｔ４００に分岐条件が含まれていないと判定された場合、システムプロセス変換装置１００は、対象のアクティビティを横方向に分割する（ステップＳ２１１）。対象のアクティビティを横方向に分割する処理は、ステップＳ２０７で説明した処理と同一であるため説明を省略する。
【０１２９】
次に、システムプロセス変換装置１００は、対象のアクティビティの分割結果に基づいて、システムプロセス情報Ｔ３００を更新し、また、画面定義情報Ｔ４００を生成する（ステップＳ２１２）。その後、システムプロセス変換装置１００は、ステップＳ２０２に戻り、同様の処理を実行する。ステップＳ２１２の処理は、ステップＳ２０８の処理と同一であるため説明を省略する。
【０１３０】
実施例１では、プロセス変換部２１０は、ステップＳ２１１に示すように、分岐を含まないアクティビティを、直列に接続される複数のアクティビティに分割する。また、本実施例では、プロセス変換部２１０は、ステップＳ２０７及びステップＳ２１０に示すように、分岐を含むアクティビティを、分岐及び分岐に接続される複数のアクティビティに分割する。
【０１３１】
なお、本発明は、対象のアクティビティを分割するためのアルゴリズムに限定されない。変換規則に基づいて対象のアクティビティを分割できるアルゴリズムであれば、どのようなアルゴリズムでもよい。
【０１３２】
図１５は、実施例１の修正処理の一例を説明するフローチャートである。
【０１３３】
システムプロセス変換装置１００は、ディスクアレイ装置１２０と連携して以下で説明する修正処理を実行する。
【０１３４】
システムプロセス変換装置１００は、変換前のシステムプロセス情報Ｔ３００に基づいて、対象のアクティビティの後続アクティビティを特定する（ステップＳ３０１）。ここで、後続アクティビティとは、対象のアクティビティが次に遷移するアクティビティを示す。すなわち、対象のアクティビティと後続アクティビティとの間には、他のアクティビティが存在しない。なお、対象のアクティビティと後続アクティビティとの間には、アクティビティ以外の要素が存在してもよい。
【０１３５】
具体的には、プロセス変換部２１０は、変換前のシステムプロセス情報Ｔ３００の遷移先要素ＩＤ（Ｔ３０６）に基づいて、後続アクティビティを特定する。プロセス変換部２１０は、対象のアクティビティを起点として遷移先要素ＩＤ（Ｔ３０６）を辿ることによって、対象のアクティビティの次に出現するアクティビティを特定できる。
【０１３６】
次に、システムプロセス変換装置１００は、後続アクティビティが存在するか否かを判定する（ステップＳ３０２）。
【０１３７】
具体的には、プロセス変換部２１０が、ステップＳ３０１の処理結果に基づいて、後続アクティビティが存在するか否かを判定する。
【０１３８】
後続アクティビティが存在しないと判定された場合、システムプロセス変換装置１００は、修正処理を終了する。
【０１３９】
後続アクティビティが存在すると判定された場合、システムプロセス変換装置１００は、対象のアクティビティの分割結果を参照し、ＯＲ分岐が行われたか否かを判定する（ステップＳ３０３）。
【０１４０】
具体的には、プロセス変換部２１０は、メモリ２０５に格納された分割結果を参照して、ＯＲ分岐が行われたか否かを判定する。ここで、ＯＲ分岐とは、一つのアクティビティがＯＲ分岐を含む複数のアクティビティに分割されたことを示す。
【０１４１】
ＯＲ分岐が行われていないと判定された場合、システムプロセス変換装置１００は、修正処理を終了する。
【０１４２】
ＯＲ分岐が行われたと判定された場合、システムプロセス変換装置１００は、縦方向の分割において用いられた変換規則を後続アクティビティに適用できるか否かを判定する（ステップＳ３０４）。
【０１４３】
具体的には、プロセス変換部２１０は、後続アクティビティに対応付けられる画面定義情報Ｔ４００を解析する。プロセス変換部２１０は、画面定義情報Ｔ４００の解析結果に基づいて、縦方向の分割において用いられた変換規則を後続アクティビティに適用できるか否かを判定する。なお、当該判定方法は、ステップＳ２０７と同一の方法を用いればよい。
【０１４４】
縦方向の分割において用いられた変換規則を後続アクティビティに適用できないと判定され場合、システムプロセス変換装置１００は、修正処理を終了する。
【０１４５】
縦方向の分割において用いられた変換規則を後続アクティビティに適用できると判定された場合、システムプロセス変換装置１００は、後続アクティビティの分岐条件が対象のアクティビティの分岐条件と同一であるか否かを判定する（ステップＳ３０５）。
【０１４６】
具体的には、プロセス変換部２１０は、画面定義情報Ｔ４００の解析結果に基づいて、縦方向の分割において用いられた変換規則に基づいて後続アクティビティから分割されたＯＲ分岐の分岐条件が、対象のアクティビティから分割されたＯＲ分岐の分岐条件と同一であるか否かを判定する。
【０１４７】
後続アクティビティから分割されたＯＲ分岐の分岐条件が、対象のアクティビティから分割されたＯＲ分岐の分岐条件と異なると判定された場合、システムプロセス変換装置１００は、修正処理を終了する。
【０１４８】
後続アクティビティから分割されたＯＲ分岐の分岐条件が、対象のアクティビティから分割されたＯＲ分岐の分岐条件と同一であると判定された場合、システムプロセス変換装置１００は、後続アクティビティを縦方向に分割する（ステップＳ３０６）。後続アクティビティの縦方向の分割は、対象のアクティビティの分割結果と整合性をとるための処理である。
【０１４９】
具体的には、プロセス変換部２１０は、対象のアクティビティの縦方向の分割結果に基づいて、後続アクティビティを縦方向に分割する。例えば、対象のアクティビティが二つのアクティビティに分割された場合、プロセス変換部２１０は、後続アクティビティを二つのアクティビティに分割する。
【０１５０】
次に、システムプロセス変換装置１００は、対象のアクティビティの分割結果に基づいて、システムプロセス情報Ｔ３００を更新し、また、画面定義情報Ｔ４００を生成する（ステップＳ３０７）。その後、システムプロセス変換装置１００は、修正処理を終了する。
【０１５１】
具体的には、プロセス変換部２１０は、システムプロセス情報Ｔ３００に後続アクティビティの分割結果を反映し、また、後続アクティビティの分割結果に基づいて画面定義情報Ｔ４００を生成する。
【０１５２】
ここで、図８に示す概要システムプロセスを例にシステムプロセスの詳細化処理の具体的な処理方法を説明する。以下の説明では、ステップＳ２０３において、プロセス変換部２１０は、対象のアクティビティとして入力アクティビティ（Ｅ１０２）を選択したものとする。
【０１５３】
ステップＳ２０４では、プロセス変換部２１０は、入力アクティビティ（Ｅ１０２）に対応付けられる画面定義情報Ｔ４００−１を解析する。これによって、プロセス変換部２１０は、入力画面にはラジオボタン９０１、個人用入力画面９０２、及び法人用入力画面９０３が含まれることを把握する。また、プロセス変換部２１０は、ラジオボタン９０１への入力によって、個人用入力画面９０２及び法人用入力画面９０３の何れかが表示されることを把握する。
【０１５４】
ステップＳ２０５では、プロセス変換部２１０は、画面定義情報Ｔ４００に分岐条件が含まれると判定する。また、ステップＳ２０６では、プロセス変換部２１０は、画面定義情報Ｔ４００に分岐条件に値を入力するための入力項目が含まれると判定する。
【０１５５】
ステップＳ２０７では、以下のような処理が実行される。
【０１５６】
プロセス変換部２１０は、変換規則情報Ｔ２００を参照し、変換方法（Ｔ２０２）が「横」、かつ、詳細化（Ｔ２０４）が「有効」である変換規則を抽出する。図１２に示す変換規則情報Ｔ２００の場合、一番目の変換規則、二番目の変換規則、三番目の変換規則、及び四番目の変換規則が抽出される。この場合、プロセス変換部２１０は、四番目の変換規則を適用可能な変換規則に決定する。なぜならば、画面定義情報Ｔ４００−１による画面遷移は、「ウインドウ移動」、「ボップアップ」、「ボタンの操作によるページタイトルの変化」に該当しないためである。
【０１５７】
入力画面はラジオボタン９０１への入力によって異なる入力画面に切り替わる。したがって、プロセス変換部２１０は、ラジオボタン９０１を含むアクティビティと、表示切替後の個人用入力画面９０２及び法人用入力画面９０３を含むアクティビティとに、入力アクティビティ（Ｅ１０２）を分割する。
【０１５８】
プロセス変換部２１０は、変換規則情報Ｔ２００を参照して、変換方法（Ｔ２０２）が「ＡＮＤ」又は「ＯＲ」、かつ、詳細化（Ｔ２０４）が「有効」である変換規則を抽出する。図１２に示す変換規則情報Ｔ２００の場合、五番目の変換規則及び六番目の変換規則が抽出される。この場合、プロセス変換部２１０は、六番目の変換規則を適用可能な変換規則に決定する。なぜならば、画面定義情報Ｔ４００−１による画面遷移は、「ボップアップ」に該当しないためである。
【０１５９】
入力画面はラジオボタン９０１への入力によって異なる入力画面に切り替わる。したがって、プロセス変換部２１０は、ＯＲ分岐と、個人用入力画面９０２を含むアクティビティと、法人用入力画面９０３を含むアクティビティとに、個人用入力画面９０２及び法人用入力画面９０３を含むアクティビティを分割する。
【０１６０】
以上の処理によって、入力アクティビティ（Ｅ１０２）は、入力アクティビティ（Ｅ２０２）、ＯＲ分岐（Ｅ２０３）、個人用入力アクティビティ（Ｅ２０４）、及び法人用入力アクティビティ（Ｅ２０６）に分割される。
【０１６１】
ステップＳ２０８では、以下のような処理が実行される。
【０１６２】
プロセス変換部２１０は、開始イベント（Ｅ１０１）を開始イベント（Ｅ２０１）としてシステムプロセス情報Ｔ３００に登録する。また、プロセス変換部２１０は、入力アクティビティ（Ｅ２０２）、ＯＲ分岐（Ｅ２０３）、個人用入力アクティビティ（Ｅ２０４）、及び法人用入力アクティビティ（Ｅ２０６）をシステムプロセス情報Ｔ３００に登録する。
【０１６３】
また、プロセス変換部２１０は、画面定義情報Ｔ４００−１に基づいて、入力アクティビティ（Ｅ２０２）に対応付ける画面定義情報Ｔ４００−３を生成し、個人用入力アクティビティ（Ｅ２０４）に対応付ける画面定義情報Ｔ４００−４を生成し、法人用入力アクティビティ（Ｅ２０６）に対応付ける画面定義情報Ｔ４００−６を生成する。
【０１６４】
ステップＳ３０１では、プロセス変換部２１０は、確認アクティビティ（Ｅ１０３）を後続アクティビティとして特定する。したがって、ステップＳ３０２では、プロセス変換部２１０は、後続アクティビティが存在すると判定する。
【０１６５】
ステップＳ３０３では、プロセス変換部２１０は、ＯＲ分岐が行われたと判定する。ステップＳ３０４では、プロセス変換部２１０は、六番目の変換規則を確認アクティビティ（Ｅ１０３）に適用できると判定する。なぜならば、ラジオボタン９０１への入力によって、個人用確認画面又は法人用確認画面に切り替わるためである。ステップＳ３０５では、確認アクティビティ（Ｅ１０３）から分割されたＯＲ分岐の分岐条件が入力アクティビティ（Ｅ１０２）から分割されたＯＲ分岐の分岐条件と同一であると判定する。なぜならば、ラジオボタン９０１への入力によって個人用確認画面及び法人用確認画面の何れかが表示されるためである。
【０１６６】
ステップＳ３０６では、プロセス変換部２１０は、個人用確認アクティビティ（Ｅ２０５）及び法人用確認アクティビティ（Ｅ２０７）に、確認アクティビティ（Ｅ１０３）を分割する。
【０１６７】
ステップＳ３０７では、プロセス変換部２１０は、個人用確認アクティビティ（Ｅ２０５）及び法人用確認アクティビティ（Ｅ２０７）をシステムプロセス情報Ｔ３００に登録する。また、プロセス変換部２１０は、個人用確認アクティビティ（Ｅ２０５）に対応付ける画面定義情報Ｔ４００−５を生成し、法人用確認アクティビティ（Ｅ２０７）に対応付ける画面定義情報Ｔ４００−７を生成する。
【０１６８】
以上で説明した処理によって、プロセス変換部２１０は、図８に示すような概要システムプロセスから図１０に示すような詳細システムプロセスを生成できる。
【０１６９】
実施例１によれば、システムプロセス変換装置１００は、画面定義情報Ｔ４００及び変換規則情報Ｔ２００を用いることによって、粒度が荒いシステムプロセスを自動的に粒度が細かいシステムプロセスに変換できる。
【実施例２】
【０１７０】
実施例２では、システムプロセス及び画面を定義することによって開発されたシステムにおいて、システムプロセスの抽象化を実現する装置及び方法について説明する。
【０１７１】
実施例２の計算機システムの構成は、実施例１の計算機システムの構成と同一である。また、実施例２のシステムプロセス変換装置１００、システム開発装置１１０、及びディスクアレイ装置１２０の構成は、実施例１のシステムプロセス変換装置１００、システム開発装置１１０、及びディスクアレイ装置１２０の構成と同一である。また、実施例２のシステムプロセス変換装置１００が保持する各種情報は、実施例１のシステムプロセス変換装置１００が保持する各種情報と同一である。また、実施例２の粒度変換処理は、実施例１の粒度変換処理と同一である。
【０１７２】
実施例２では、システムプロセス変換装置１００が、ステップＳ１０３において、システムプロセスの抽象化処理の実行指示を受け付ける。
【０１７３】
図１６Ａ及び図１６Ｂは、実施例２のシステムプロセスの抽象化処理の一例を説明するフローチャートである。
【０１７４】
システムプロセス変換装置１００は、ディスクアレイ装置１２０と連携して以下で説明するシステムプロセスの抽象化処理を実行する。
【０１７５】
ステップＳ４０１、ステップＳ４０２、及びステップＳ４０３の処理は、ステップＳ２０１、ステップＳ２０２、及びステップＳ２０３の処理と同一である。
【０１７６】
次に、システムプロセス変換装置１００は、後続アクティビティを特定する（ステップＳ４０４）。ステップＳ４０４の処理はステップＳ３０１の処理と同一である。
【０１７７】
次に、システムプロセス変換装置１００は、対象のアクティビティ及び後続アクティビティの画面定義情報Ｔ４００を解析する（ステップＳ４０５）。画面定義情報Ｔ４００の解析方法は、実施例１と同一の方法である。実施例２では、対象のアクティビティの画面定義情報Ｔ４００及び後続アクティビティの画面定義情報Ｔ４００が解析される。
【０１７８】
次に、システムプロセス変換装置１００は、対象のアクティビティと後続アクティビティとの間に分岐が含まれるか否かを判定する（ステップＳ４０６）。
【０１７９】
具体的には、プロセス変換部２１０が、変換前のシステムプロセス情報Ｔ３００を参照して、対象のアクティビティと後続アクティビティとの間に分岐が含まれるか否かを判定する。なお、プロセス変換部２１０は、ステップＳ４０４の処理結果を用いてステップＳ４０６の判定処理を実行しもよい。例えば、プロセス変換部２１０は、後続アクティビティが複数存在する場合、対象のアクティビティと後続アクティビティとの間に分岐が含まれると判定する。
【０１８０】
対象のアクティビティと後続アクティビティとの間に分岐が含まれないと判定された場合、システムプロセス変換装置１００は、対象のアクティビティ及び後続アクティビティを横方向に統合する（ステップＳ４０７）。具体的には、以下のような処理が実行される。
【０１８１】
プロセス変換部２１０は、変換規則情報Ｔ２００を参照して、変換方法（Ｔ２０２）が「横」、かつ、抽象化（Ｔ２０５）が「有効」である変換規則を抽出する。プロセス変換部２１０は、画面定義情報Ｔ４００の解析結果に基づいて、抽出された変換規則の中に対象のアクティビティ及び後続アクティビティに適用可能な変換規則が存在するか否かを判定する。抽出された変換規則の中に対象のアクティビティ及び後続アクティビティに適用可能な変換規則が存在しないと判定された場合、プロセス変換部２１０は、横方向の統合は行わない。
【０１８２】
抽出された変換規則の中に対象のアクティビティ及び後続アクティビティに適用可能な変換規則が存在すると判定された場合、プロセス変換部２１０は、適用可能な変換規則に基づいて、対象のアクティビティ及び後続アクティビティを一つのアクティビティに統合する。以上がステップＳ４０７の処理の説明である。
【０１８３】
次に、システムプロセス変換装置１００は、対象のアクティビティ及び後続アクティビティの統合結果に基づいて、システムプロセス情報Ｔ３００を更新し、また、画面定義情報Ｔ４００を生成する（ステップＳ４０８）。その後、システムプロセス変換装置１００は、ステップＳ４０２に戻り、同様の処理を実行する。ステップＳ４０８では、以下のような処理が実行される。
【０１８４】
プロセス変換部２１０は、変換後のシステムプロセスを管理するシステムプロセス情報Ｔ３００が生成されているか否かを判定する。変換後のシステムプロセスを管理するシステムプロセス情報Ｔ３００が生成されていないと判定された場合、プロセス変換部２１０は、変換後のシステムプロセスを管理するシステムプロセス情報Ｔ３００を生成する。
【０１８５】
プロセス変換部２１０は、新規システムプロセス情報Ｔ３００に、対象のアクティビティの統合結果を追加する。
【０１８６】
また、プロセス変換部２１０は、対象のアクティビティ及び後続アクティビティに対応付けられる画面定義情報Ｔ４００に基づいて、統合後のアクティビティに対応付ける画面定義情報Ｔ４００を生成する。例えば、プロセス変換部２１０は、二つのＨＴＭＬを統合することによって統合後のアクティビティに対応付ける画面定義情報Ｔ４００を生成する。以上がステップＳ４０８の処理の説明である。
【０１８７】
ステップＳ４０６において、対象のアクティビティと後続アクティビティとの間に分岐が含まれると判定された場合、システムプロセス変換装置１００は、各後続アクティビティを対象のアクティビティと横方向に統合する（ステップＳ４０９）。具体的には、以下のような処理が実行される。
【０１８８】
プロセス変換部２１０は、変換方法（Ｔ２０２）が「横」、かつ、抽象化（Ｔ２０５）が「有効」である変換規則を抽出する。プロセス変換部２１０は、画面定義情報Ｔ４００の解析結果に基づいて、抽出された変換規則の中に対象のアクティビティ及び全ての後続アクティビティに適用可能な変換規則が存在するか否かを判定する。前述した条件を満たす変換規則が存在しないと判定された場合、プロセス変換部２１０は、横方向の統合は行わない。
【０１８９】
抽出された変換規則の中に対象のアクティビティ及び全ての後続アクティビティに適用可能な変換規則が存在すると判定された場合、プロセス変換部２１０は、後続アクティビティを一つ選択する。プロセス変換部２１０は、適用可能な変換規則に基づいて、対象のアクティビティ及び選択された後続アクティビティを一つのアクティビティに統合する。
【０１９０】
プロセス変換部２１０は、当該処理を全ての後続アクティビティについて実行する。したがって、統合されたアクティビティの数は後続アクティビティの数と一致する。以上がステップＳ４０９の処理の説明である。
【０１９１】
次に、プロセス変換部２１０は、各後続アクティビティについて、対象のアクティビティと後続アクティビティとの間の分岐の分岐条件が一致するか否かを判定する（ステップＳ４１０）。
【０１９２】
具体的には、プロセス変換部２１０は、画面定義情報Ｔ４００の解析結果に基づいて、各後続アクティビティについて、対象のアクティビティと後続アクティビティとの間の分岐の分岐条件が一致するか否かを判定する。
【０１９３】
全ての後続アクティビティについて、対象のアクティビティと後続アクティビティとの間の分岐の分岐条件が一致しないと判定された場合、システムプロセス変換装置１００は、ＯＲ分岐を生成する（ステップＳ４１１）。
【０１９４】
具体的には、プロセス変換部２１０は、ＯＲ分岐を生成し、ＯＲ分岐の遷移先のアクティビティとして統合された各アクティビティを設定する。
【０１９５】
次に、システムプロセス変換装置１００は、対象のアクティビティ及び後続アクティビティの統合結果に基づいて、システムプロセス情報Ｔ３００を更新し、また、画面定義情報Ｔ４００を生成する（ステップＳ４１２）。その後、システムプロセス変換装置１００は、ステップＳ４０２に戻り、同様の処理を実行する。ステップＳ４１２の処理は、ステップＳ４０８の処理と同一である。なお、統合後の画面定義情報Ｔ４００には、分岐条件が含まれる。
【０１９６】
ステップＳ４１０において、全ての後続アクティビティについて、対象のアクティビティと後続アクティビティとの間の分岐の分岐条件が一致すると判定された場合、システムプロセス変換装置１００は、横方向に統合された複数のアクティビティを縦方向に統合する（ステップＳ４１３）。具体的には、以下のような処理が実行される。
【０１９７】
プロセス変換部２１０は、変換規則情報Ｔ２００を参照して、変換方法（Ｔ２０２）が分岐の種別と一致し、かつ、抽象化（Ｔ２０５）が「有効」である変換規則を抽出する。プロセス変換部２１０は、画面定義情報Ｔ４００の解析結果に基づいて、抽出された変換規則の中に対象のアクティビティ及び全ての後続アクティビティに適用可能な変換規則が存在するか否かを判定する。前述した条件を満たす変換規則が存在しないと判定された場合、プロセス変換部２１０は、縦方向の統合は行わない。
【０１９８】
抽出された変換規則の中に対象のアクティビティ及び全ての後続アクティビティに適用可能な変換規則が存在すると判定された場合、システムプロセス変換装置１００は、適用可能な変換規則に基づいて、統合された複数のアクティビティを一つのアクティビティに統合する。以上がステップＳ４１３の処理の説明である。
【０１９９】
次に、システムプロセス変換装置１００は、対象のアクティビティ及び後続アクティビティの統合結果に基づいて、システムプロセス情報Ｔ３００を更新し、また、画面定義情報Ｔ４００を生成する（ステップＳ４１４）。ステップＳ４１４の処理は、ステップＳ４０８の処理と同一である。なお、統合後の画面定義情報Ｔ４００には、分岐条件を示す情報が含まれる。
【０２００】
次に、システムプロセス変換装置１００は、修正処理を実行する（ステップＳ４１５）。その後、システムプロセス変換装置１００は、ステップＳ４０２に戻り、同様の処理を実行する。修正処理の詳細は、図１７を用いて説明する。
【０２０１】
本実施例では、プロセス変換部２１０は、ステップＳ４０７に示すように、分岐を介することなく接続される複数のアクティビティを一つのアクティビティに統合する。また、本実施例では、プロセス変換部２１０は、ステップＳ４１１及びステップＳ４１３に示すように、分岐を介して接続される複数のアクティビティを、分岐を含む一つ又は複数のアクティビティに統合する。
【０２０２】
なお、本発明は、対象のアクティビティを統合するためのアルゴリズムに限定されない。変換規則に基づいて対象のアクティビティを統合できるアルゴリズムであれば、どのようなアルゴリズムでもよい。
【０２０３】
なお、本実施例では、対象のアクティビティの次に出現するアクティビティを後続アクティビティとしているが、これに限定されない。例えば、対象のアクティビティに直列に接続される複数のアクティビティを後続アクティビティとしてもよい。これによって、統合処理を効率的に行うことができる。
【０２０４】
図１７は、実施例２の修正処理の一例を説明するフローチャートである。
【０２０５】
システムプロセス変換装置１００は、ディスクアレイ装置１２０と連携して以下で説明する修正処理を実行する。
【０２０６】
システムプロセス変換装置１００は、変換前のシステムプロセス情報Ｔ３００に基づいて、各後続アクティビティの隣接アクティビティを特定する（ステップＳ５０１）。ここで、隣接アクティビティとは、後続アクティビティの次に出現するアクティビティを示す。すなわち、後続アクティビティと隣接アクティビティとの間には、他のアクティビティが存在しない。なお、後続アクティビティと隣接アクティビティとの間には、アクティビティ以外の要素が存在してもよい。
【０２０７】
具体的には、プロセス変換部２１０は、変換前のシステムプロセス情報Ｔ３００の遷移先要素ＩＤ（Ｔ３０６）に基づいて、隣接アクティビティを特定する。プロセス変換部２１０は、後続アクティビティを起点として遷移先要素ＩＤ（Ｔ３０６）を辿ることによって、後続アクティビティの次に出現するアクティビティを特定できる。
【０２０８】
次に、システムプロセス変換装置１００は、隣接アクティビティが複数存在するか否かを判定する（ステップＳ５０２）。
【０２０９】
具体的には、プロセス変換部２１０が、ステップＳ３０１の処理結果に基づいて、各後続アクティビティに隣接アクティビティが存在するか否かを判定する。
【０２１０】
隣接アクティビティが複数存在しないと判定された場合、システムプロセス変換装置１００は、修正処理を終了する。
【０２１１】
隣接アクティビティが複数存在すると判定された場合、システムプロセス変換装置１００は、統合結果を参照し、ＯＲ統合が行われたか否かを判定する（ステップＳ５０３）。
【０２１２】
具体的には、プロセス変換部２１０は、メモリ２０５に格納された統合結果を参照して、ＯＲ統合が行われたか否かを判定する。ここで、ＯＲ統合とは、ＯＲ分岐及び複数のアクティビティが一つのアクティビティに統合されたことを示す。
【０２１３】
ＯＲ分岐が行われていないと判定された場合、システムプロセス変換装置１００は、修正処理を終了する。
【０２１４】
ＯＲ分岐が行われていると判定された場合、システムプロセス変換装置１００は、縦方向の分割において用いられた変換規則を全ての隣接アクティビティに適用できるか否かを判定する（ステップＳ５０４）。ステップＳ５０４の判定方法は、ステップＳ３０４の判定方法と同一である。
【０２１５】
縦方向の分割において用いられた変換規則を全ての隣接アクティビティに適用できると判定された場合、システムプロセス変換装置１００は、隣接アクティビティを縦方向に統合する（ステップＳ５０５）。
【０２１６】
具体的には、プロセス変換部２１０は、対象のアクティビティ及び後続アクティビティの縦方向の統合結果に基づいて、複数の隣接アクティビティを縦方向に統合する。
【０２１７】
次に、システムプロセス変換装置１００は、ステップＳ５０５の結果に基づいて、システムプロセス情報Ｔ３００を更新し、また、画面定義情報Ｔ４００を生成する（ステップＳ５０６）。その後、システムプロセス変換装置１００は、修正処理を終了する。
【０２１８】
具体的には、プロセス変換部２１０は、システムプロセス情報Ｔ３００に隣接アクティビティの統合結果を反映し、また、隣接アクティビティの統合結果に基づいて画面定義情報Ｔ４００を生成する。
【０２１９】
ステップＳ５０４において、縦方向の分割において用いられた変換規則を全ての隣接アクティビティに適用できないと判定された場合、システムプロセス変換装置１００は、統合後のアクティビティと複数の隣接アクティビティとの間にＯＲ分岐を生成する（ステップＳ５０７）。その後、システムプロセス変換装置１００は、ステップＳ５０６に進む。
【０２２０】
具体的には、プロセス変換部２１０は、統合後のアクティビティと複数の隣接アクティビティとの間にＯＲ分岐を生成する。また、プロセス変換部２１０は、ＯＲ分岐から各隣接アクティビティへのシーケンスフローを生成する。
【０２２１】
ここで、図１０に示す詳細システムプロセスを例にシステムプロセスの抽象化処理の具体的な処理方法を説明する。以下の説明では、ステップＳ４０３において、プロセス変換部２１０は、対象のアクティビティとして入力アクティビティ（Ｅ２０２）を選択したものとする。
【０２２２】
ステップＳ４０４では、プロセス変換部２１０は、個人用入力アクティビティ（Ｅ２０４）及び法人用入力アクティビティ（Ｅ２０６）を後続アクティビティとして特定する。
【０２２３】
ステップＳ４０５では、プロセス変換部２１０は、入力アクティビティ（Ｅ２０２）に対応付けられる画面定義情報Ｔ４００−３、個人用入力アクティビティ（Ｅ２０４）に対応付けられる画面定義情報Ｔ４００−４、及び法人用入力アクティビティ（Ｅ２０６）に対応付けられる画面定義情報Ｔ４００−６を解析する。これによって、プロセス変換部２１０は、入力画面にはラジオボタン９０１への入力によって、個人用入力画面９０２及び法人用入力画面９０３の何れかが表示されることを把握する。ステップＳ４０６では、プロセス変換部２１０は、アクティビティ間に分岐が含まれると判定する。
【０２２４】
ステップＳ４０９では、以下のような処理が実行される。
【０２２５】
プロセス変換部２１０は、変換規則情報Ｔ２００を参照し、変換方法（Ｔ２０２）が「横」、かつ、抽象化（Ｔ２０５）が「有効」である変換規則を抽出する。図１２に示す変換規則情報Ｔ２００の場合、一番目の変換規則、三番目の変換規則、及び四番目の変換規則が抽出される。この場合、プロセス変換部２１０は、個人用入力アクティビティ（Ｅ２０４）及び法人用入力アクティビティ（Ｅ２０６）のそれぞれについて、四番目の変換規則を適用可能な変換規則に決定する。なぜならば、画面定義情報Ｔ４００−３、画面定義情報Ｔ４００−４、及び画面定義情報Ｔ４００−６による画面遷移は、「ウインドウ移動」、「ボップアップ」に該当しないためである。
【０２２６】
個人用入力画面１１０２及び法人用入力画面１１０４は、ラジオボタン１１０１への入力によって切り替わる。したがって、プロセス変換部２１０は、入力アクティビティ（Ｅ２０２）、ＯＲ分岐（Ｅ２０３）、及び個人用入力アクティビティ（Ｅ２０４）を一つのアクティビティ（第１のアクティビティ）に統合し、入力アクティビティ（Ｅ２０２）、ＯＲ分岐（Ｅ２０３）、及び法人用入力アクティビティ（Ｅ２０６）を一つのアクティビティ（第２のアクティビティ）に統合する。
【０２２７】
ステップＳ４１０では、プロセス変換部２１０は、全ての後続アクティビティに対応付けられる画面定義情報Ｔ４００に含まれる分岐条件が一致すると判定する。
【０２２８】
ステップＳ４１３では、以下のような処理が実行される。
【０２２９】
プロセス変換部２１０は、変換規則情報Ｔ２００を参照して、変換方法（Ｔ２０２）が「ＯＲ」、かつ、抽象化（Ｔ２０５）が「有効」である変換規則を抽出する。図１２に示す変換規則情報Ｔ２００の場合、六番目の変換規則が抽出される。
【０２３０】
第１のアクティビティ及び第２のアクティビティに含まれるＯＲ分岐の分岐条件は一致するため、プロセス変換部２１０は、第１のアクティビティ及び第２のアクティビティを入力アクティビティ（Ｅ１０２）として統合する。
【０２３１】
ステップＳ４１４では、プロセス変換部２１０は、開始イベント（Ｅ２０１）を開始イベント（Ｅ１０１）としてシステムプロセス情報Ｔ３００に登録する。また、プロセス変換部２１０は、入力アクティビティ（Ｅ１０２）をシステムプロセス情報Ｔ３００に登録する。また、プロセス変換部２１０は、入力アクティビティ（Ｅ１０２）に対応付ける画面定義情報Ｔ４００−１を生成する。
【０２３２】
ステップＳ５０１では、プロセス変換部２１０は、個人用確認アクティビティ（Ｅ２０５）及び法人用確認アクティビティ（Ｅ２０７）を隣接アクティビティとして特定する。したがって、ステップＳ５０２では、プロセス変換部２１０は、隣接アクティビティが複数存在すると判定する。また、ステップＳ５０３では、プロセス変換部２１０は、ＯＲ統合が行われたと判定する。
【０２３３】
ステップＳ５０４では、プロセス変換部２１０は、六番目の変換規則を個人用確認アクティビティ（Ｅ２０５）及び法人用確認アクティビティ（Ｅ２０７）に適用できると判定する。なぜならば、ラジオボタン９０１への入力によって個人用確認画面及び法人用確認画面の何れかが表示されるためである。
【０２３４】
ステップＳ５０５では、プロセス変換部２１０は、個人用確認アクティビティ（Ｅ２０５）及び法人用確認アクティビティ（Ｅ２０７）を確認アクティビティ（Ｅ１０３）として統合する。
【０２３５】
ステップＳ５０６では、プロセス変換部２１０は、確認アクティビティ（Ｅ１０３）をシステムプロセス情報Ｔ３００に登録する。また、プロセス変換部２１０は、確認アクティビティ（Ｅ１０３）に対応付ける画面定義情報Ｔ４００−２を生成する。
【０２３６】
以上で説明した処理によって、プロセス変換部２１０は、図１０に示すような詳細システムプロセスから図８に示すような概要システムプロセスを生成できる。
【０２３７】
実施例２によれば、システムプロセス変換装置１００は、画面定義情報Ｔ４００及び変換規則情報Ｔ２００を用いることによって、粒度が細かいシステムプロセス情報Ｔ３００を自動的に粒度が荒いシステムプロセス情報Ｔ３００に変換できる。
【０２３８】
（変形例）
実施例１及び実施例２では、システムプロセス変換装置１００は、参照者１０の指示に基づいてシステムプロセスの粒度を変換していた。しかし、本発明はこれに限定されない。例えば、システムプロセス変換装置１００は、所定のタイミングで、システム開発装置１１０に設定された全てのシステムプロセス情報Ｔ３００に対して粒度変換処理を実行してもよい。例えば、システムプロセス変換装置１００は、周期的、又は、システムプロセス情報Ｔ３００が登録された時に粒度変換処理を実行する。また、システムプロセス変換装置１００は、開発者２０に対して、推奨される粒度のシステムプロセスのシステムプロセス情報Ｔ３００及び画面定義情報Ｔ４００を提示してもよい。
【０２３９】
実施例１及び実施例２では、システムプロセス変換装置１００は、オリジナルのシステムプロセス情報Ｔ３００及び画面定義情報Ｔ４００から、参照用の情報としてシステムプロセス情報Ｔ３００及び画面定義情報Ｔ４００を生成していた。しかし、本発明はこれに限定されない。例えば、システムプロセス変換装置１００は、システム開発装置１１０が保持するシステムプロセス情報Ｔ３００及び画面定義情報Ｔ４００を直接変更してもよい。
【０２４０】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【０２４１】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、ＳＳＤ、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【０２４２】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（Ｊａｖａは登録商標）等の広範囲のプログラム又はスクリプト言語で実装できる。
【０２４３】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【０２４４】
上記の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【０２４５】
１０  参照者
２０  開発者
３０  エンドユーザ
１００  システムプロセス変換装置
１１０  システム開発装置
１２０  ディスクアレイ装置
１５０  ネットワーク
２０１  ＣＰＵ
２０２  ネットワークインタフェース
２０３  ディスクインタフェース
２０４  入出力インタフェース
２０５  メモリ
２１０  プロセス変換部
３０１  ＣＰＵ
３０２  ネットワークインタフェース
３０３  ディスクインタフェース
３０４  入出力インタフェース
３０５  メモリ
３１０  画面定義情報管理部
３１１  プロセス管理部
４０１  ディスク制御コントローラ
４０２  ディスクインタフェース
４０３  記憶媒体
４１０  ファイルシステム
Ｔ１００  ユーザ情報
Ｔ２００  変換規則情報
Ｔ３００  システムプロセス情報
Ｔ４００  画面定義情報
【図１】
2017142725.tif 000003
【図２】
2017142725.tif 000004
【図３】
2017142725.tif 000005
【図４】
2017142725.tif 000006
【図５】
2017142725.tif 000007
【図６Ａ】
2017142725.tif 000008
【図６Ｂ】
2017142725.tif 000009
【図７】
2017142725.tif 000010
【図８】
2017142725.tif 000011
【図９】
2017142725.tif 000012
【図１０】
2017142725.tif 000013
【図１１】
2017142725.tif 000014
【図１２】
2017142725.tif 000015
【図１３】
2017142725.tif 000016
【図１４】
2017142725.tif 000017
【図１５】
2017142725.tif 000018
【図１６Ａ】
2017142725.tif 000019
【図１６Ｂ】
2017142725.tif 000020
【図１７】
2017142725.tif 000021