(57)【要約】【課題】マスタファイルを精度良く判定することができるマスタファイル判定方法、マスタファイル判定装置及びマスタファイル判定プログラムを提供することを課題とする。【解決手段】コンピュータが、画面処理頻度テーブル及びデータ利用箇所情報テーブルから、データ、データに対する処理の種類、データにアクセスするときに利用される画面毎の処理頻度の組み合わせを取得するステップと、取得した組み合わせから、データ毎の参照処理総頻度及び更新処理総頻度を積算するステップと、参照処理総頻度及び更新処理総頻度からデータ毎の更新処理比率を算出するステップと、更新処理比率に従ってデータ毎にマスタファイルか否かを判定するステップとを実行することで上記課題を解決する。【選択図】  図２
2012064163.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、
業務フロー内に含まれる画面毎の処理頻度を記録した画面処理頻度テーブル及び前記業務フロー内に含まれるデータ、該データに対する処理の種類、該データにアクセスするときに利用される画面の組み合わせを記録したデータ利用箇所情報テーブルから、前記データ、該データに対する処理の種類、該データにアクセスするときに利用される画面毎の処理頻度の組み合わせを取得する利用箇所別データ処理頻度取得ステップと、
前記データ、該データに対する処理の種類、前記データにアクセスするときに利用される画面毎の処理頻度の組み合わせから、前記データ毎の参照処理総頻度及び更新処理総頻度を積算する処理頻度積算ステップと、
前記データ毎の参照処理総頻度及び更新処理総頻度から前記データ毎の更新処理比率を算出する更新比率算出ステップと、
前記更新処理比率に従って前記データ毎にマスタファイルか否かを判定するマスタファイル判定ステップと
を実行することを特徴とするマスタファイル判定方法。
【請求項２】
前記マスタファイル判定ステップで前記データ毎にマスタファイルか否かを判定するための前記更新処理比率の閾値を設定する閾値設定ステップを
更に実行する請求項１記載のマスタファイル判定方法。
【請求項３】
前記画面毎の処理頻度を複数の単位時間で記録した画面情報テーブルから前記画面毎の処理頻度が共通の単位時間で記録された前記画面処理頻度テーブルを作成する画面処理頻度抽出ステップを更に実行する請求項２記載のマスタファイル判定方法。
【請求項４】
前記業務フロー内に含まれるデータ、該データに対する処理の種類、該データにアクセスするときに利用される画面の組み合わせを、前記業務フローの図形上の関連から取得して前記データ利用箇所情報テーブルを作成するデータ利用箇所情報取得ステップを更に実行する請求項３記載のマスタファイル判定方法。
【請求項５】
業務フロー内に含まれる画面毎の処理頻度を記録した画面処理頻度テーブル及び前記業務フロー内に含まれるデータ、該データに対する処理の種類、該データにアクセスするときに利用される画面の組み合わせを記録したデータ利用箇所情報テーブルから、前記データ、該データに対する処理の種類、該データにアクセスするときに利用される画面毎の処理頻度の組み合わせを取得する利用箇所別データ処理頻度取得手段と、
前記データ、該データに対する処理の種類、前記データにアクセスするときに利用される画面毎の処理頻度の組み合わせから、前記データ毎の参照処理総頻度及び更新処理総頻度を積算する処理頻度積算手段と、
前記データ毎の参照処理総頻度及び更新処理総頻度から前記データ毎の更新処理比率を算出する更新比率算出手段と、
前記更新処理比率に従って前記データ毎にマスタファイルか否かを判定するマスタファイル判定手段と
を有することを特徴とするマスタファイル判定装置。
【請求項６】
コンピュータに、
業務フロー内に含まれる画面毎の処理頻度を記録した画面処理頻度テーブル及び前記業務フロー内に含まれるデータ、該データに対する処理の種類、該データにアクセスするときに利用される画面の組み合わせを記録したデータ利用箇所情報テーブルから、前記データ、該データに対する処理の種類、該データにアクセスするときに利用される画面毎の処理頻度の組み合わせを取得する利用箇所別データ処理頻度取得ステップと、
前記データ、該データに対する処理の種類、前記データにアクセスするときに利用される画面毎の処理頻度の組み合わせから、前記データ毎の参照処理総頻度及び更新処理総頻度を積算する処理頻度積算ステップと、
前記データ毎の参照処理総頻度及び更新処理総頻度から前記データ毎の更新処理比率を算出する更新比率算出ステップと、
前記更新処理比率に従って前記データ毎にマスタファイルか否かを判定するマスタファイル判定ステップと
を実行させるマスタファイル判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマスタファイルを判定するマスタファイル判定方法、マスタファイル判定装置及びマスタファイル判定プログラムに関する。
【背景技術】
【０００２】
ソフトウェア開発における要件定義では、業務で扱う概念データを定義する。ここで言う概念データとは、何らかのファイルに格納されるデータである。しかし、ソフトウェア開発における要件定義では、概念データで表されるデータを格納するファイルが、マスタファイルであるかトランザクションファイルであるかまでは判定していない。
【０００３】
マスタファイルとは、ほとんど変更する必要がない基本となるデータを格納するファイルである。トランザクションファイルとは、頻繁に更新されるデータを格納するファイルである。
【０００４】
マスタファイルの内容は、適切な部署によって、適切な手順で更新及びその更新の承認がされる必要がある。つまり、マスタファイルの運用体制にも関わるため、マスタファイルはソフトウェア開発の上流工程で漏れなく洗い出される必要があった。しかし、利用者にとってマスタファイルは存在するのが当然との意識がある。
【０００５】
このため、ソフトウェア開発の上流工程では、マスタファイルの十分な洗い出しがされないことが多かった。マスタファイルの十分な洗い出しがされない結果として、従来は機能不足、運用体制不足がシステムテスト、運用テストの段階で発覚し、プロジェクトの遅延を招くことがあった。
【０００６】
業務フロー図の結線に接続される前後のオブジェクトを検出し、設定情報を取得する技術は従来から知られている（例えば特許文献１参照）。
【０００７】
流れ図を解析し、業務における入力対象となる伝票、ファイルを業務別に対応付ける技術は従来から知られている（例えば特許文献２参照）。
【０００８】
文書に対する単位時間あたりの参照回数を抽出し、文書の重要度を判定する技術は従来から知られている（例えば特許文献３参照）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平１１−１１０４４４号公報
【特許文献２】特開平９−２３１２８０号公報
【特許文献３】特開２００５−５６２１８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
例えばソフトウェア開発の上流工程でマスタファイルを見つける為には、業務フロー内でシステム機能と概念データとを結ぶ矢印の向きから抽出した、概念データの参照回数や更新回数から更新比率の小さなものをマスタファイルと判定することが考えられる。
【００１１】
しかし、業務フローは、ある業務の実行頻度が非常に高い場合でも、その手順が一通りであれば１つしか記述されない。逆に、業務フローは、ある業務の実行頻度が非常に低い場合でも、その業務が発生する可能性があれば１つ記述される。このため、業務フローを利用してマスタファイルを判定する場合は、単に業務フローに記述された更新回数と参照回数との比率で識別しようとすると、マスタファイルとすべきものをマスタファイルと判定できないという問題があった。
【００１２】
本発明の一実施形態は、マスタファイルを精度良く判定することができるマスタファイル判定方法、マスタファイル判定装置及びマスタファイル判定プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記課題を解決するため、本発明の一実施形態は、コンピュータが、業務フロー内に含まれる画面毎の処理頻度を記録した画面処理頻度テーブル及び前記業務フロー内に含まれるデータ、該データに対する処理の種類、該データにアクセスするときに利用される画面の組み合わせを記録したデータ利用箇所情報テーブルから、前記データ、該データに対する処理の種類、該データにアクセスするときに利用される画面毎の処理頻度の組み合わせを取得する利用箇所別データ処理頻度取得ステップと、前記データ、該データに対する処理の種類、前記データにアクセスするときに利用される画面毎の処理頻度の組み合わせから、前記データ毎の参照処理総頻度及び更新処理総頻度を積算する処理頻度積算ステップと、前記データ毎の参照処理総頻度及び更新処理総頻度から前記データ毎の更新処理比率を算出する更新比率算出ステップと、前記更新処理比率に従って前記データ毎にマスタファイルか否かを判定するマスタファイル判定ステップとを実行することを特徴とするマスタファイル判定方法である。
【００１４】
なお、本発明の一実施形態の構成要素、表現又は構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
【発明の効果】
【００１５】
本発明の一実施形態によれば、マスタファイルを精度良く判定することができる。
【図面の簡単な説明】
【００１６】
【図１】マスタファイル判定装置の一例のハードウェア構成図である。
【図２】本実施例のマスタファイル判定装置の一例の機能ブロック図である。
【図３】本実施例のマスタファイル判定装置の他の例の機能ブロック図である。
【図４】本実施例のマスタファイル判定装置の一実施例の機能ブロック図である。
【図５】画面一覧の一例の構成図である。
【図６】画面情報テーブルの一例の構成図である。
【図７】業務フローを視覚的に表したイメージ図である。
【図８】データを視覚的に表したイメージ図である。
【図９】ＸＭＬ形式の業務フローを表す部分の構成図である。
【図１０】ＸＭＬ形式のデータ構造を表す部分の構成図である。
【図１１】業務フローを中心にした保持情報のスキーマを表した一例のクラス図である。
【図１２】データを中心にした保持情報のスキーマを表した一例のクラス図である。
【図１３】クラス図とＸＭＬ形式の保持情報と業務フロー・データのシェイプとの対応関係を表した構成図である。
【図１４】本実施例のマスタファイル判定装置の処理手順を表した一例のフローチャートである。
【図１５】画面処理頻度内部テーブルの一例の構成図である。
【図１６】画面処理頻度抽出処理の処理手順を表した一例のフローチャートである。
【図１７】概念データ利用箇所情報内部テーブルの一例の構成図である。
【図１８】概念データ利用箇所情報取得処理の処理手順を表した一例のフローチャートである。
【図１９】１業務フロー内の処理の手順を表した一例のフローチャートである。
【図２０】ＤＢに接続しているオブジェクトノードＯｂｊＮｏｄｅに対する処理の手順を表した一例のフローチャート（１／２）である。
【図２１】ＤＢに接続しているオブジェクトノードＯｂｊＮｏｄｅに対する処理の手順を表した一例のフローチャート（２／２）である。
【図２２】関連先画面取得処理の手順を表した一例のフローチャートである。
【図２３】概念データ利用箇所毎処理頻度内部テーブルの一例の構成図である。
【図２４】概念データ利用箇所毎処理頻度内部テーブル作成処理の処理手順を表した一例のフローチャートである。
【図２５】概念データ処理頻度内部テーブルの一例の構成図である。
【図２６】処理頻度積算処理の処理手順を表した一例のフローチャートである。
【図２７】概念データ更新比率内部テーブルの一例の構成図である。
【図２８】判定結果内部テーブルの一例の構成図である。
【発明を実施するための形態】
【００１７】
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明していく。
【００１８】
（ハードウェア構成）
本実施例のマスタファイル判定装置はサーバコンピュータやクライアントコンピュータなどのコンピュータにより実現される。図１は、マスタファイル判定装置の一例のハードウェア構成図である。なお、マスタファイル判定プログラムがインストールされているコンピュータ１０はマスタファイル判定装置の一例である。
【００１９】
ここでは、マスタファイル判定プログラムがインストールされているコンピュータ１０のハードウェア構成を説明する。コンピュータ１０はマスタファイル判定装置と同様の機能を有するマスタファイル判定プログラムを実行する。
【００２０】
図１のコンピュータ１０は、入力装置２１、表示装置２２、コンピュータ本体２３を有している。コンピュータ本体２３はバス３７で相互に接続された主記憶装置３１、演算処理装置３２、インターフェース装置３３、記録媒体読取装置３４及び補助記憶装置３５を有する。また、バス３７には入力装置２１及び表示装置２２が接続されている。
【００２１】
バス３７で相互に接続されている入力装置２１、表示装置２２、主記憶装置３１、演算処理装置３２、インターフェース装置３３、記録媒体読取装置３４及び補助記憶装置３５は、演算処理装置３２による管理下で相互にデータの送受を行うことができる。演算処理装置３２は、コンピュータ１０全体の動作制御を司る中央処理装置である。
【００２２】
インターフェース装置３３はネットワーク等からのデータを受信し、データの内容を演算処理装置３２に渡す。インターフェース装置３３は演算処理装置３２からの指示に応じてネットワーク等にデータを送信する。
【００２３】
補助記憶装置３５には、マスタファイル判定装置と同様の機能をコンピュータ１０に発揮させるプログラムの一部として、少なくともマスタファイル判定装置における処理をコンピュータ１０に実行させるマスタファイル判定プログラムが記憶されている。
【００２４】
そして、演算処理装置３２がマスタファイル判定プログラムを補助記憶装置３５から読み出して実行することで、コンピュータ１０はマスタファイル判定装置として機能するようになる。マスタファイル判定プログラムは演算処理装置３２とアクセス可能な主記憶装置３１に格納されていても良い。入力装置２１は演算処理装置３２の管理下でデータの入力を受付ける。マスタファイル判定プログラムはコンピュータ１０が読み取り可能な記録媒体３６に記録しておくことができる。
【００２５】
記録媒体３６には、磁気記録媒体、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録媒体には、ＨＤＤ、フレキシブルディスク（ＦＤ）、磁気テープ（ＭＴ）などがある。光ディスクには、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  −  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ（Ｒｅｃｏｒｄａｂｌｅ）／ＲＷ（ＲｅＷｒｉｔａｂｌｅ）などがある。また、光磁気記録媒体には、ＭＯ（Ｍａｇｎｅｔｏ  −  Ｏｐｔｉｃａｌ  ｄｉｓｋ）などがある。
【００２６】
マスタファイル判定プログラムを流通させる場合には、例えば、マスタファイル判定プログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型の記録媒体３６を販売することが考えられる。
【００２７】
マスタファイル判定プログラムを実行するコンピュータ１０は、例えば記録媒体読取装置３４がマスタファイル判定プログラムを記録した記録媒体３６から、マスタファイル判定プログラムを読み出す。演算処理装置３２は、読み出されたマスタファイル判定プログラムを主記憶装置３１若しくは補助記憶装置３５に格納する。そして、コンピュータ１０は自己の記憶装置である主記憶装置３１若しくは補助記憶装置３５からマスタファイル判定プログラムを読み取り、マスタファイル判定プログラムに従った処理を実行する。
【００２８】
（ブロック構成）
図２は本実施例のマスタファイル判定装置の一例の機能ブロック図である。図２のマスタファイル判定装置５０は、画面処理頻度抽出部５１、概念データ利用箇所情報取得部５２、利用箇所別概念データ処理頻度取得部５３、処理頻度積算部５４、更新比率算出部５５、マスタファイル判定部５６、画面処理頻度内部テーブル６１、概念データ利用箇所情報内部テーブル６２、概念データ利用箇所毎処理頻度内部テーブル６３、概念データ処理頻度内部テーブル６４、概念データ更新比率内部テーブル６５を有する。
【００２９】
画面処理頻度抽出部５１は、画面一覧等の設計ドキュメントである画面情報テーブル４１から各画面の単位時間あたりの処理頻度を算出し、画面処理頻度内部テーブル６１を作成する。
【００３０】
概念データ利用箇所情報取得部５２は、業務フローテーブル４２に記録されている業務フローを対象に、概念データ、概念データに対する処理の種類、概念データにアクセスする時に利用される画面の組み合わせを、図形上の関連から取得して、概念データ利用箇所情報内部テーブル６２を作成する。
【００３１】
利用箇所別概念データ処理頻度取得部５３は、画面処理頻度内部テーブル６１及び概念データ利用箇所情報内部テーブル６２から画面をキーに利用箇所毎の概念データの処理頻度を取得し、概念データ利用箇所毎処理頻度内部テーブル６３を作成する。また、処理頻度積算部５４は、概念データ利用箇所毎処理頻度内部テーブル６３から概念データごとに全業務フローにわたる参照処理総頻度と更新処理総頻度とを求めて、概念データ処理頻度内部テーブル６４を作成する。
【００３２】
更新比率算出部５５は概念データ処理頻度内部テーブル６４から概念データ毎に更新処理比率を算出して概念データ更新比率内部テーブル６５を作成する。マスタファイル判定部５６は概念データ更新比率内部テーブル６５から更新処理比率が閾値以下であるものをマスタファイルとして判定する。
【００３３】
図３は本実施例のマスタファイル判定装置の他の例の機能ブロック図である。図３のマスタファイル判定装置５０Ａは、図２のマスタファイル判定装置５０に閾値設定部５７及び閾値テーブル６６を追加したものである。閾値設定部５７はマスタファイル判定部５６でマスタファイルか否かを判定するための更新処理比率の閾値を閾値テーブル６６に設置する。
【００３４】
マスタファイル判定部５６は閾値テーブル６６から更新処理比率の閾値を取得し、概念データ更新比率内部テーブル６５から更新処理比率が閾値以下であるものをマスタファイルとして判定する。その他の構成は、図３のマスタファイル判定装置５０Ａと図２のマスタファイル判定装置５０とで同様であるため、説明を省略する。
【実施例１】
【００３５】
図４は本実施例のマスタファイル判定装置の一実施例の機能ブロック図である。図４のマスタファイル判定装置１００は、画面処理頻度抽出部５１、概念データ利用箇所情報取得部５２、利用箇所別概念データ処理頻度取得部５３、処理頻度積算部５４、更新比率算出部５５、マスタファイル判定部５６、マスタファイル判定結果出力部５８、画面処理頻度内部テーブル６１、概念データ利用箇所情報内部テーブル６２、概念データ利用箇所毎処理頻度内部テーブル６３、概念データ処理頻度内部テーブル６４、概念データ更新比率内部テーブル６５を有する。
【００３６】
図４のマスタファイル判定装置１００は、図２のマスタファイル判定装置５０にマスタファイル判定結果出力部５８を追加したものである。マスタファイル判定結果出力部５８はマスタファイル判定部５６によるマスタファイル判定結果を画面７３に出力する。その他の構成は、図４のマスタファイル判定装置１００と図２のマスタファイル判定装置５０とで同様である。
【００３７】
図４のマスタファイル判定装置１００は、画面一覧７１や業務フロー・データ７２を入力データとして扱う。画面一覧７１は、開発するシステム内で利用する画面を定義するためのドキュメントである。業務フロー・データ７２は、業務フロー・データ編集装置などで編集したものである。
【００３８】
図５は画面一覧の一例の構成図である。図５の画面一覧７１は、画面ＩＤ、画面名、処理件数が含まれる。画面ＩＤは画面を識別する為のＩＤである。画面名は画面を識別する為の名称である。処理件数は所定期間あたりの平均処理件数である。
【００３９】
例えば画面一覧７１といった表形式のドキュメントは、表計算ソフトウェアで作成されることが多い。表計算ソフトウェアは作成された表形式のドキュメントを操作するためのアプリケーションプログラムインターフェース（ＡＰＩ）を持つことが多い。画面一覧７１からはＡＰＩを利用して表内の行や列、セルの値を取得できる。また、セル内に設定された値が文字列の場合には、文字列を操作することもできる。ここで、文字列操作とは例えば文字列の中から特定の文字の位置を検索し、その前後で２つの文字列に分けたりすることである。
【００４０】
表計算ソフトウェアのＡＰＩを利用することにより、図６の画面情報テーブル４１は図５の画面一覧から作成できる。図６は、画面情報テーブルの一例の構成図である。図６の画面情報テーブル４１は、画面名、処理件数、時間及び単位時間が含まれている。時間及び単位時間は所定期間を数値と単位とで表すものである。
【００４１】
図７は業務フローを視覚的に表したイメージ図である。図７の業務フローはシェイプと呼ばれる部品を使って作成される。ここでは、シェイプについて簡単に説明する。シェイプ１２１は開始ノードと呼ばれる。開始ノードは業務フローの開始を表す。シェイプ１２２はシステム支援ノードと呼ばれる。システム支援ノードはユーザ（人）がシステムを利用しながら行う作業を表す。
【００４２】
シェイプ１２３はシステム機能ノードと呼ばれる。システム機能ノードはシステムによる処理を表す。シェイプ１２４は終了ノードと呼ばれる。終了ノードは業務フローの終了を表す。シェイプ１２５はオブジェクトノードと呼ばれる。オブジェクトノードは業務フロー中でデータを参照している箇所である。オブジェクトノードのシェイプ１２５は参照しているデータのシェイプ１２５になる。図７において、オブジェクトノードは画面やＤＢ（データベース）を参照している。ソフトウェア開発の上流工程で概念データとされたものはＤＢにて永続化されることが多い。そこで、本実施例ではＤＢの形をしたシェイプ１２５で概念データを表している。
【００４３】
シェイプ１２６は制御フローと呼ばれる。制御フローはシステム支援ノードやシステム機能ノードを接続する。制御フローはシステム支援ノードやシステム機能ノードの実行順序を表す。シェイプ１２７はオブジェクトフローと呼ばれる。オブジェクトフローはシステム機能ノードやシステム機能ノードとオブジェクトノードとの間を接続する。なお、オブジェクトフローの一端に接続されているシステム機能ノードは他端のオブジェクトノードを利用することを表している。シェイプ１２８はパーティションと呼ばれる。パーティションは、システム機能ノードやシステム支援ノードを実施する組織やシステムを表している。
【００４４】
図８はデータを視覚的に表したイメージ図である。図８のデータは図７と同様、シェイプと呼ばれる部品を使って作成される。図８のデータはオブジェクトノードのシェイプ１２５で表される。
【００４５】
図７及び図８に表した業務フロー・データ７２は、機械的に扱えるように、本実施例のマスタファイル判定装置１００内で、例えば図９及び図１０に示すようなＸＭＬ形式で表されている。図９はＸＭＬ形式の業務フローを表す部分の構成図である。図１０はＸＭＬ形式のデータ構造を表す部分の構成図である。なお、図９の下線１４１〜１４４に示したシェイプは図７において省略されている。
【００４６】
図９及び図１０に示すようなＸＭＬ形式で表された業務フロー・データ７２は上記した業務フローテーブル４２に記録される。ＸＭＬ形式で表された業務フロー・データ７２は業務フローテーブル４２に例えばＢＬＯＢ（Binary Large Object ）形式で保持情報として記録される。
【００４７】
図９及び図１０に示すような保持情報のスキーマは図１１及び図１２にクラス図で示すようになる。図１１は業務フローを中心にした保持情報のスキーマを表した一例のクラス図である。また、図１２はデータを中心にした保持情報のスキーマを表した一例のクラス図である。
【００４８】
さらに、図１１及び図１２に示したクラス図と、図９及び図１０に示したＸＭＬ形式の保持情報と、図７及び図８に示した業務フロー・データ７２のシェイプとの対応関係は図１３に示すようになる。図１３はクラス図とＸＭＬ形式の保持情報と業務フロー・データのシェイプとの対応関係を表した構成図である。
【００４９】
ここでは、図９及び図１０に示したＸＭＬ形式の保持情報について説明する。ＸＭＬ形式の保持情報は、どの要素も識別子として使われるｉｄ属性を持つ。ある要素から他要素を参照するときには、ｉｄ属性値で参照先要素を指定する。
【００５０】
業務フロー自身は、ＢｕｓｉｎｅｓｓＦｌｏｗ要素で表す。１つの保持情報の中に複数の業務フローを保持することもできる。業務フロー内のノードは、ｆｌｏｗＮｏｄｅ要素で表す。ノードには、アクティビティノードとオブジェクトノードとがある。アクティビティノードには、更に様々な種類がある。アクティビティノードの種類はｔｙｐｅ属性値で区別している。図１３にはｔｙｐｅ属性値（属性ｔｙｐｅの値）の例を示している。
【００５１】
ｏｕｔｇｏｉｎｇ属性値は、ノードから出て行くｆｌｏｗＥｄｇｅ要素（遷移）のｉｄ属性値を表している。ｉｎｃｏｍｉｎｇ属性値は、ノードに入っているｆｌｏｗＥｄｇｅ要素（遷移）のｉｄ属性値を表している。
【００５２】
オブジェクトノードにあるｒｅｆｔｙｐｅ属性値はオブジェクトノードから参照しているデータのｉｄ属性値である。ｆｌｏｗＥｄｇｅ要素のｓｏｕｒｃｅ属性はエッジの矢羽側（矢がない方）に接続されているｆｌｏｗＮｏｄｅ要素のｉｄ属性値を表す。ｆｌｏｗＥｄｇｅ要素のｔａｒｇｅｔ属性はエッジの矢側に接続されているｆｌｏｗＮｏｄｅ要素のｉｄ属性値を表す。
【００５３】
業務フロー内のエッジ（遷移、オブジェクトフロー）は、どちらもｆｌｏｗＥｄｇｅ要素で表す。なお、遷移であるか、オブジェクトフローであるかは、ｔｙｐｅ属性値で区別している。
【００５４】
データはＤａｔａ要素で表す。データには様々な種類がある。データの種類はｔｙｐｅ属性値で区別している。図１３にはデータの種類を区別するｔｙｐｅ属性値の例を示している。業務フロー、ノード、エッジ等は、ＸＭＬ形式の保持情報に含まれる要素のタグ名やｔｙｐｅ属性値を利用して取得することができる。
【００５５】
また、ある要素Ｅからの参照先要素は、ある要素Ｅ内の属性値に設定されている値をｉｄ属性値として持つ要素から取得できる。参照先要素を取得することにより、ＸＭＬ形式の保持情報からは、例えば業務フロー内の遷移の両端のノードを取得したり、オブジェクトノードから参照しているデータ要素を取得したりすることができる。
【００５６】
ここでは、業務フローで使われているオブジェクトノードの参照先データの取得方法と業務フロー内の遷移やオブジェクトフロー両端のノードの取得方法とを説明する。
【００５７】
業務フローで使われているオブジェクトノードの参照先データの取得方法は、例えばオブジェクトノードの取得、参照先データのｉｄ属性値の取得、参照先データの取得の手順で行われる。オブジェクトノードの取得は、ｔｙｐｅ属性値がｏｂｊｅｃｔＮｏｄｅであるｆｌｏｗＮｏｄｅ要素を取得する。参照先データのｉｄ属性値の取得は、ｆｌｏｗＮｏｄｅ要素のｒｅｆｔｙｐｅ属性値を取得する。参照先データの取得は、取得したｒｅｆｔｙｐｅ属性値をｉｄ属性値とする要素をＤａｔａ要素の中から取得する。このとき取得した要素は上記のオブジェクトノードが参照している参照先データとなる。
【００５８】
また、業務フロー内の遷移やオブジェクトフロー両端のノードの取得方法は例えば遷移の取得、ｓｏｕｒｃｅ側要素の取得、ｔａｒａｇｅｔ側要素の取得の手順で行われる。遷移の取得は、ｔｙｐｅ属性値がｏｂｊｅｃｔＦｌｏｗであるｆｌｏｗＥｄｇｅ要素を取得する。ｓｏｕｒｃｅ側要素の取得は、ｆｌｏｗＥｄｇｅ要素のｓｏｕｒｃｅ属性のｉｄ属性値から、このｉｄ属性値のｆｌｏｗＮｏｄｅ要素を取得する。ｔａｒａｇｅｔ側要素の取得は、ｆｌｏｗＥｄｇｅ要素のｔａｒａｇｅｔ属性のｉｄ属性値から、このｉｄ属性値のｆｌｏｗＮｏｄｅ要素を取得する。このように取得したｆｌｏｗＮｏｄｅ要素は上記の遷移やオブジェクトフロー両端のノードとなる。
【００５９】
図１４は本実施例のマスタファイル判定装置の処理手順を表した一例のフローチャートである。ステップＳ１に進み、画面処理頻度抽出部５１は画面一覧７１から画面処理頻度内部テーブル６１を作成する。ステップＳ２に進み、概念データ利用箇所情報取得部５２は業務フロー・データ７２から概念データ利用箇所情報内部テーブル６２を作成する。
【００６０】
ステップＳ４に進み、処理頻度積算部５４は概念データリストＬから未取得である概念データを１件取得する。ステップＳ５に進み、処理頻度積算部５４は概念データリストＬから概念データを１件取得可能であったか否かを判定する。概念データリストＬから概念データを１件取得可能であれば、処理頻度積算部５４はステップＳ６に進み、ステップＳ４で取得した概念データの全業務フローにわたる参照処理総頻度と更新処理総頻度とを概念データリストＬから求めて、概念データ処理頻度内部テーブル６４を作成する。
【００６１】
ステップＳ７に進み、更新比率算出部５５は、概念データ処理頻度内部テーブル６４から概念データ毎に更新処理比率を算出して、概念データ更新比率内部テーブル６５を作成する。ステップＳ８に進み、マスタファイル判定部５６は概念データ更新比率内部テーブル６５から更新処理比率が閾値以下であるものをマスタファイルとして判定し、ステップＳ４に戻る。
【００６２】
一方、ステップＳ５において、概念データリストＬから概念データを１件取得可能でなければ、マスタファイル判定結果出力部５８はステップＳ９に進み、それまでにステップＳ８で行ったマスタファイル判定部５６によるマスタファイル判定結果を、画面７３や所定のファイルに出力する。
【００６３】
以下では、図１４に示したフローチャートの処理の詳細な処理手順を、図面を参照しつつ順次説明していく。
【００６４】
ステップＳ１において画面処理頻度抽出部５１は画面の定義を記述したドキュメントから各画面の処理頻度を算出し、画面処理頻度内部テーブル６１を作成する。入力データは図５に示したような画面一覧７１である。出力データは、例えば図１５に示すような画面処理頻度内部テーブル６１である。
【００６５】
図１５は画面処理頻度内部テーブルの一例の構成図である。図１５（ａ）は画面処理頻度内部テーブル６１のスキーマを表している。図１５（ｂ）は画面処理頻度内部テーブル６１の一例を表している。画面処理頻度内部テーブル６１の画面フィールドには画面の識別子が設定されている。また、画面処理頻度内部テーブル６１の処理頻度フィールドには各画面の処理頻度が設定されている。処理頻度は全画面で等しい単位時間内での処理頻度となっている。
【００６６】
図１６は画面処理頻度抽出処理の処理手順を表した一例のフローチャートである。図１６の画面処理頻度抽出処理では画面の処理頻度を全て月（例えば２２営業日）当たりの処理頻度に変更し、画面処理頻度内部テーブル６１に記録している。
【００６７】
ステップＳ１０に進み、画面処理頻度抽出部５１は表計算ソフトウェアで作成されたドキュメントである画面一覧７１から表計算ソフトウェアのＡＰＩを利用してセルの情報を取得し、図６の画面情報テーブル４１を作成する。
【００６８】
ステップＳ１１に進み、画面処理頻度抽出部５１は画面情報テーブル４１からレコードを取得する為のインデックスｉを１に初期化する。ステップＳ１２に進み、画面処理頻度抽出部５１は画面情報テーブル４１からｉ番目のレコードＲを取得する。ステップＳ１３に進み、画面処理頻度抽出部５１はステップＳ１２でレコードＲを取得可能であったか否かを判定する。
【００６９】
ステップＳ１２でレコードＲを取得可能であったと判定すると、画面処理頻度抽出部５１はステップＳ１４に進み、レコードＲの時間フィールドの値Ｖと単位時間フィールドの値Ｕｎｉｔとを取得する。ステップＳ１５に進み、画面処理頻度抽出部５１はＵｎｉｔの値が「日」であるか否かを判定する。Ｕｎｉｔの値「日」は単位時間として１日を表している。Ｕｎｉｔの値「月」は単位時間として１月を表している。本実施例では単位時間として１日又は１月を想定しているので、ステップＳ１５においてＵｎｉｔの値が「日」であるか否かという判定をしている。
【００７０】
Ｕｎｉｔの値が「日」であると判定すると、画面処理頻度抽出部５１はステップＳ１６に進み、レコードＲの処理件数フィールドの値Ｔ（１日当たりの処理件数）を２２倍して新たな値ＮｅｗＴ（１月当たりの処理件数）とする。ステップＳ１６の処理は、レコードＲの処理件数フィールドの値Ｔが１日当たりの処理件数を表すため、１月当たりの処理件数に変更する処理である。ステップＳ１６の処理ではレコードＲの処理件数フィールドの値Ｔに１ヶ月の標準営業日数を積算し、１月当たりの処理件数ＮｅｗＴとしている。図１６では１ヶ月の標準営業日数を２２日としている。
【００７１】
Ｕｎｉｔの値が「日」でないと判定すると、画面処理頻度抽出部５１はステップＳ１７に進み、レコードＲの処理件数フィールドの値Ｔ（１月当たりの処理件数）を新たな値ＮｅｗＴ（１月当たりの処理件数）とする。ステップＳ１７の処理は、レコードＲの処理件数フィールドの値Ｔが１月当たりの処理件数を表すため、そのままレコードＲの処理件数フィールドの値Ｔを１月当たりの処理件数ＮｅｗＴとしている。
【００７２】
ステップＳ１６又はＳ１７に続いてステップＳ１８に進み、画面処理頻度抽出部５１は画面処理頻度内部テーブル６１に新規レコードＲＲを１件追加する。なお、新規レコードＲＲの画面フィールド「画面」には画面情報テーブル４１の画面名フィールドの値を設定する。新規レコードＲＲの画面フィールド「処理頻度」には１月当たりの処理件数ＮｅｗＴの値を設定する。
【００７３】
ステップＳ１９に進み、画面処理頻度抽出部５１は画面情報テーブル４１からレコードを取得する為のインデックスｉに１を加算したあと、ステップＳ１２に戻る。なお、画面処理頻度抽出部５１はステップＳ１２でレコードＲを取得できなければ、図１６に示したフローチャートの処理を終了する。
【００７４】
ステップＳ２において概念データ利用箇所情報取得部５２は業務フローテーブル４２に記録されている業務フロー・データ７２を対象に、概念データ、概念データに対する処理の種類、概念データにアクセスする時に利用される画面の組み合わせを、図形上の関連から取得して、概念データ利用箇所情報内部テーブル６２を作成する。入力データは図９及び図１０に示したような業務フロー・データ７２である。出力データは、例えば図１７に示すような概念データ利用箇所情報内部テーブル６２である。
【００７５】
図１７は概念データ利用箇所情報内部テーブルの一例の構成図である。業務フローには概念データ、その概念データとオブジェクトフローで接続しているシステム機能、そのシステム機能とオブジェクトフローで接続している画面の組み合わせが含まれている。概念データ利用箇所情報内部テーブル６２には、上記した組み合わせから、概念データ、概念データとシステム機能との間を接続しているオブジェクトフロー（関連線）の向き、画面の三つ組みを記録する。
【００７６】
図１７（ａ）は概念データ利用箇所情報内部テーブル６２のスキーマを表している。図１７（ｂ）は概念データ利用箇所情報内部テーブル６２の一例を表している。概念データ利用箇所情報内部テーブル６２の概念データフィールドには三つ組みの概念データの識別子が設定されている。
【００７７】
関連線の向きフィールドには三つ組み中のシステム機能と概念データとを接続する矢印の向きが設定されている。関連線の向きフィールドには、概念データフィールドに設定されている概念データからシステム機能へ向かう矢印の場合に「入」が設定され、システム機能から概念データへ向かう矢印の場合に「出」が設定される。画面フィールドには三つ組み中の画面が設定されている。
【００７８】
図１８は概念データ利用箇所情報取得処理の処理手順を表した一例のフローチャートである。図７及び図８に示したような業務フロー及びデータは設計作業で多数作成されるものである。そこで、図７及び図８に示したような業務フロー及びデータは、例えば業務フロー作成ツールを利用することで、図９及び図１０に示したようなＸＭＬ形式の保持情報に変換される。
【００７９】
ステップＳ３１に進み、概念データ利用箇所情報取得部５２は入力データとしてＸＭＬ形式の業務フロー・データ７２を取得する。ステップＳ３２に進み、概念データ利用箇所情報取得部５２は、ＸＭＬ形式の保持情報から業務フローを１つずつ取得するためのインデックスｉを１に初期化する。
【００８０】
ステップＳ３３に進み、概念データ利用箇所情報取得部５２は保持情報からｉ番目の業務フローＦを取得する。ステップＳ３４に進み、概念データ利用箇所情報取得部５２はステップＳ３３で業務フローＦを取得可能であったか否かを判定する。
【００８１】
ステップＳ３４で業務フローＦを取得可能であったと判定すると、概念データ利用箇所情報取得部５２はステップＳ３５に進み、ｉ番目の業務フローＦに対して、後述の１業務フロー内の処理を実行する。ステップＳ３５に続いてステップＳ３６に進み、概念データ利用箇所情報取得部５２は保持情報から業務フローを１つ取得する為のインデックスｉに１を加算した後、ステップＳ３３に戻る。概念データ利用箇所情報取得部５２はステップＳ３４で業務フローＦを取得可能でないと判定した場合、図１８に示したフローチャートの処理を終了する。
【００８２】
ステップＳ３５の１業務フロー内の処理は、例えば図１９に示した処理手順で実行される。図１９は、１業務フロー内の処理の手順を表した一例のフローチャートである。図１９の１業務フロー内の処理は１つの業務フローＦに対する処理手順を表している。図１９の１業務フロー内の処理では引数として処理対象となる業務フローＦを取る。
【００８３】
ステップＳ４１に進み、概念データ利用箇所情報取得部５２は、業務フローＦからオブジェクトノードＯｂｊＮｏｄｅを、１つずつ取得するためのインデックスｊを１に初期化する。ステップＳ４２に進み、概念データ利用箇所情報取得部５２は業務フローＦの保持情報からｊ番目のオブジェクトノードＯｂｊＮｏｄｅを取得する。概念データ利用箇所情報取得部５２はステップＳ４３に進み、ステップＳ４２でオブジェクトノードＯｂｊＮｏｄｅを取得可能であったか否かを判定する。
【００８４】
ステップＳ４３でオブジェクトノードＯｂｊＮｏｄｅを取得可能と判定した場合、概念データ利用箇所情報取得部５２はステップＳ４４に進み、取得したｊ番目のオブジェクトノードＯｂｊＮｏｄｅの参照先データＤを上記した取得方法で取得する。
【００８５】
ステップＳ４５に進み、概念データ利用箇所情報取得部５２はステップＳ４４で取得した参照先データＤの種類がＤＢであるか否かを判定する。なお、データはＸＭＬ形式の保持情報においてｆｌｏｗＮｏｄｅ要素で表されている。データの種類はｔｙｐｅ属性で判断する。
【００８６】
ＤＢであれば、概念データ利用箇所情報取得部５２はステップＳ４７に進み、ｊ番目のオブジェクトノードＯｂｊＮｏｄｅに対して、後述のオブジェクトノードＯｂｊＮｏｄｅに対する処理を行う。ステップＳ４８に進み、概念データ利用箇所情報取得部５２は業務フローＦからオブジェクトノードを１つずつ取得するためのインデックスｊに１を加算した後、ステップＳ４２に戻る。
【００８７】
なお、概念データ利用箇所情報取得部５２はステップＳ４５において参照先データＤの種類がＤＢでなければ、ステップＳ４６に進み、業務フローＦからオブジェクトノードを１つずつ取得するためのインデックスｊに１を加算した後、ステップＳ４２に戻る。概念データ利用箇所情報取得部５２はステップＳ４３でオブジェクトノードＯｂｊＮｏｄｅを取得可能でないと判定した場合、図１９に示したフローチャートの処理を終了する。
【００８８】
また、ステップＳ４７のＤＢに接続しているオブジェクトノードＯｂｊＮｏｄｅに対する処理は、例えば図２０及び図２１に示した処理手順で実行される。図２０及び図２１はＤＢに接続しているオブジェクトノードＯｂｊＮｏｄｅに対する処理の手順を表した一例のフローチャートである。図２０及び図２１のＤＢに接続しているオブジェクトノードＯｂｊＮｏｄｅに対する処理では、引数として処理対象となるオブジェクトノードＯｂｊＮｏｄｅと、オブジェクトノードＯｂｊＮｏｄｅの参照先データＤとを取る。
【００８９】
ステップＳ５１に進み、概念データ利用箇所情報取得部５２はオブジェクトノードＯｂｊＮｏｄｅのｏｕｔｇｏｉｎｇ属性に含まれるオブジェクトフローを全て取得する。ｏｕｔｇｏｉｎｇ属性に複数のオブジェクトフローが含まれている場合には、カンマで区切られている。以降の処理では、オブジェクトフローを１つずつ処理する。ステップＳ５２に進み、概念データ利用箇所情報取得部５２は１つのオブジェクトフローを取得するためのインデックスｋを１に初期化する。
【００９０】
ステップＳ５３に進み、概念データ利用箇所情報取得部５２はステップＳ５１で取得したオブジェクトフローからｋ番目のオブジェクトフローＯｂｊＦｌｏｗを取得する。概念データ利用箇所情報取得部５２はステップＳ５４に進み、ステップＳ５３でオブジェクトフローＯｂｊＦｌｏｗを取得可能であったか否かを判定する。
【００９１】
概念データ利用箇所情報取得部５２はステップＳ５４でオブジェクトフローＯｂｊＦｌｏｗを取得可能であったと判定すると、ステップＳ５５に進み、後述の関連先画面取得処理を実行する。なお、関連先画面取得処理は、オブジェクトフローＯｂｊＦｌｏｗのｔａｒｇｅｔ属性に接続されているシステム機能などを介して接続している画面を取得するものである。図２０の関連先画面取得処理では、引数としてオブジェクトフローＯｂｊＦｌｏｗ、ｄｉｒｅｃｔｉｏｎの値としてｔａｒｇｅｔ属性を取る。
【００９２】
ステップＳ５６に進み、概念データ利用箇所情報取得部５２はステップＳ５５で画面を取得可能であったか否かを判定する。概念データ利用箇所情報取得部５２はステップＳ５６で画面を取得可能であったと判定すると、ステップＳ５７に進み、概念データ利用箇所情報内部テーブル６２に新規レコードＲを追加する。
【００９３】
ステップＳ５８に進み、概念データ利用箇所情報取得部５２は、追加した新規レコードＲのフィールドに値を設定する。具体的に、概念データフィールドには図１９で取得した参照先データＤのｉｄ属性値を設定する。関連線の向きフィールドには「入」の値を設定する。画面フィールドには後述の画面Ｓのｉｄ属性値を設定する。なお、画面Ｓのｉｄ属性値は関連先画面取得処理により取得される。ステップＳ５９に進み、概念データ利用箇所情報取得部５２は１つのオブジェクトフローを取得するためのインデックスｋに１を加算した後、ステップＳ５３に戻る。
【００９４】
なお、概念データ利用箇所情報取得部５２はステップＳ５６において画面を取得可能でないと判定した場合、ステップＳ５９に進み、１つのオブジェクトフローを取得するためのインデックスｋに１を加算したあとで、ステップＳ５３に戻る。概念データ利用箇所情報取得部５２はステップＳ５４でオブジェクトフローＯｂｊＦｌｏｗを取得可能でないと判定した場合、ステップＳ６０に進む。
【００９５】
ステップＳ６０に進み、概念データ利用箇所情報取得部５２はオブジェクトノードＯｂｊＮｏｄｅのｉｎｃｏｍｉｎｇ属性に含まれるオブジェクトフローを全て取得する。ｉｎｃｏｍｉｎｇ属性に複数のオブジェクトフローが含まれている場合には、カンマで区切られている。以降の処理では、オブジェクトフローを１つずつ処理する。ステップＳ６１に進み、概念データ利用箇所情報取得部５２は１つのオブジェクトフローを取得するためのインデックスｋを１に初期化する。
【００９６】
ステップＳ６２に進み、概念データ利用箇所情報取得部５２はステップＳ６０で取得したオブジェクトフローからｋ番目のオブジェクトフローＯｂｊＦｌｏｗを取得する。概念データ利用箇所情報取得部５２はステップＳ６３に進み、ステップＳ６２でオブジェクトフローＯｂｊＦｌｏｗを取得可能であったか否かを判定する。
【００９７】
概念データ利用箇所情報取得部５２はステップＳ６３でオブジェクトフローＯｂｊＦｌｏｗを取得可能であったと判定すると、ステップＳ６４に進み、後述の関連先画面取得処理を実行する。なお、関連先画面取得処理は、オブジェクトフローＯｂｊＦｌｏｗのｓｏｕｒｃｅ属性に接続されているシステム機能などを介して接続している画面を取得するものである。図２０の関連先画面取得処理では、引数としてオブジェクトフローＯｂｊＦｌｏｗ、ｄｉｒｅｃｔｉｏｎの値としてｓｏｕｒｃｅ属性を取る。
【００９８】
ステップＳ６５に進み、概念データ利用箇所情報取得部５２はステップＳ６４で画面を取得可能であったか否かを判定する。概念データ利用箇所情報取得部５２はステップＳ６５で画面を取得可能であったと判定すると、ステップＳ６６に進み、概念データ利用箇所情報内部テーブル６２に新規レコードＲを追加する。
【００９９】
ステップＳ６７に進み、概念データ利用箇所情報取得部５２は、追加した新規レコードＲのフィールドに値を設定する。具体低に、概念データフィールドには図１９で取得した参照先データＤのｉｄ属性値を設定する。関連線の向きフィールドには「出」の値を設定する。画面フィールドには後述の画面Ｓのｉｄ属性値を設定する。なお、画面Ｓのｉｄ属性値は関連先画面取得処理により取得される。ステップＳ６８に進み、概念データ利用箇所情報取得部５２は１つのオブジェクトフローを取得するためのインデックスｋに１を加算した後、ステップＳ６２に戻る。
【０１００】
なお、概念データ利用箇所情報取得部５２はステップＳ６５において画面を取得可能でないと判定した場合、ステップＳ６８に進み、１つのオブジェクトフローを取得するためのインデックスｋに１を加算したあとで、ステップＳ６２に戻る。概念データ利用箇所情報取得部５２はステップＳ６３でオブジェクトフローＯｂｊＦｌｏｗを取得可能でないと判定した場合、図２０及び図２１に示したフローチャートの処理を終了する。
【０１０１】
また、ステップＳ５５及びステップＳ６４のオブジェクトフローからシステム機能等を介して接続している画面Ｓを取得する関連先画面取得処理は、例えば図２２に示した処理手順で実行される。図２２は関連先画面取得処理の手順を表した一例のフローチャートである。
【０１０２】
図２２の関連先画面取得処理では、引数として処理対象となるオブジェクトフローＯｂｊＦｌｏｗと、オブジェクトフローＯｂｊＦｌｏｗの両端のうち、どちらの側に接続しているシステム機能等を探索するかを示すｄｉｒｅｃｔｉｏｎの値との２つを取る。ｄｉｒｅｃｔｉｏｎの値は、ｔａｒｇｅｔ又はｓｏｕｒｃｅとする。
【０１０３】
ステップＳ７１に進み、概念データ利用箇所情報取得部５２はオブジェクトフローＯｂｊＦｌｏｗのｔａｒｇｅｔ属性とｓｏｕｒｃｅ属性のうち、ｄｉｒｅｃｔｉｏｎの値がｔａｒｇｅｔならばオブジェクトフローＯｂｊＦｌｏｗのｔａｒｇｅｔ属性の値Ｎｏｄｅｉｄを取得し、ｄｉｒｅｃｔｉｏｎの値がｓｏｕｒｃｅならばオブジェクトフローＯｂｊＦｌｏｗのｓｏｕｒｃｅ属性の値Ｎｏｄｅｉｄを取得する。
【０１０４】
ステップＳ７２に進み、概念データ利用箇所情報取得部５２はｉｄ属性値がＮｏｄｅｉｄであるｆｌｏｗＮｏｄｅ要素ＳＦを取得する。ステップＳ７３に進み、概念データ利用箇所情報取得部５２はｆｌｏｗＮｏｄｅ要素ＳＦがシステム機能か否かを判定する。ｆｌｏｗＮｏｄｅ要素ＳＦがシステム機能か否かはｔｙｐｅ属性「ＦｕｌｌｙＡｕｔｏｍａｔｅｄＰｒｏｃｅｓｓ」を利用して判断する。
【０１０５】
ｆｌｏｗＮｏｄｅ要素ＳＦがシステム機能であれば、概念データ利用箇所情報取得部５２はステップＳ７４に進み、システム機能であるｆｌｏｗＮｏｄｅ要素ＳＦに接続しているオブジェクトフローＯｂｊＦｌｏｗのうち、ｆｌｏｗＮｏｄｅ要素ＳＦがオブジェクトフローＯｂｊＦｌｏｗのｔａｒｇｅｔ側に接続されており、かつ、ｓｏｕｒｃｅ側に接続されているオブジェクトノードＯｂｊＮｏｄｅの参照先データが画面であるものを検索して画面Ｓとして取得する。なお、画面Ｓが取得できなかった場合は画面Ｓの値として取得できなかったことを表す値（Ｎｕｌｌ）を設定する。一方、ステップＳ７３でｆｌｏｗＮｏｄｅ要素ＳＦがシステム機能でないと判定すると、概念データ利用箇所情報取得部５２は図２２のフローチャートの処理を終了する。
【０１０６】
図２４は概念データ利用箇所毎処理頻度内部テーブル作成処理の処理手順を表した一例のフローチャートである。ステップＳ８１に進み、利用箇所別概念データ処理頻度取得部５３は、概念データ利用箇所毎処理頻度内部テーブル６３を作成する。
【０１０７】
図２３は概念データ利用箇所毎処理頻度内部テーブルの一例の構成図である。ステップＳ８２に進み、利用箇所別概念データ処理頻度取得部５３は概念データ利用箇所情報内部テーブル６２からレコードを取得するためのインデックスｉを１に初期化する。
【０１０８】
ステップＳ８３に進み、利用箇所別概念データ処理頻度取得部５３は概念データ利用箇所情報内部テーブル６２からｉ番目のレコードＲ１を取得する。利用箇所別概念データ処理頻度取得部５３はステップＳ８４に進み、ステップＳ８３でｉ番目のレコードＲ１を取得可能であったか否かを判定する。ステップＳ８４でレコードＲ１を取得可能であったと判定すると、利用箇所別概念データ処理頻度取得部５３はステップＳ８５に進み、ｉ番目のレコードＲ１の画面フィールドの値Ｓを取得する。
【０１０９】
ステップＳ８６に進み、利用箇所別概念データ処理頻度取得部５３は画面処理頻度内部テーブル６１から画面フィールドの値がＳであるレコードＲ２を選択する。ステップＳ８７に進み、利用箇所別概念データ処理頻度取得部５３は新たなレコードＲ３を概念データ利用箇所情報内部テーブル６２に追加する。
【０１１０】
ステップＳ８８に進み、利用箇所別概念データ処理頻度取得部５３は、追加した新たなレコードＲ３のフィールドに値を設定する。具体的に、概念データフィールドには取得したレコードＲ１の概念データフィールドの値を設定する。関連線向きフィールドには取得したレコードＲ１の関連線の向きフィールドの値を設定する。処理頻度フィールドには取得したレコードＲ２の処理頻度フィールドの値を設定する。
【０１１１】
ステップＳ８９に進み、利用箇所別概念データ処理頻度取得部５３は概念データ利用箇所情報内部テーブル６２からレコードを取得するためのインデックスｉに１を加算したあとステップＳ８３に戻る。利用箇所別概念データ処理頻度取得部５３はステップＳ８４においてレコードＲ１を取得可能でないと判定した場合、図２４に示したフローチャートの処理を終了する。
【０１１２】
ステップＳ６において処理頻度積算部５４は、ある概念データに対する参照処理頻度と更新処理頻度との総数である参照処理総頻度と更新処理総頻度とを求めて、概念データ処理頻度内部テーブル６４を作成する。入力データは図２３に示した概念データ利用箇所毎処理頻度内部テーブル６３である。出力データは、例えば図２５に示すような概念データ処理頻度内部テーブル６４である。
【０１１３】
図２５は概念データ処理頻度内部テーブルの一例の構成図である。図２５（ａ）は概念データ処理頻度内部テーブル６４のスキーマを表している。図２５（ｂ）は概念データ処理頻度内部テーブル６４の一例を表している。概念データフィールドには、概念データの識別子が設定されている。参照処理総頻度フィールドには、概念データフィールドに設定されている概念データが、参照処理で利用される回数が設定されている。また、更新処理総頻度フィールドには概念データフィールドに設定されている概念データが、更新処理で利用される回数が設定されている。
【０１１４】
図２６は処理頻度積算処理の処理手順を表した一例のフローチャートである。ステップＳ９１に進み、処理頻度積算部５４は概念データ利用箇所毎処理頻度内部テーブル６３からレコードＲ１を取得するためのインデックスｉを１に初期化する。処理頻度積算部５４はステップＳ９２に進み、概念データ利用箇所毎処理頻度内部テーブル６３からｉ番目のレコードＲ１を取得する。ステップＳ９３に進み、処理頻度積算部５４は概念データ利用箇所毎処理頻度内部テーブル６３からｉ番目のレコードＲ１を取得可能であったか否かを判定する。
【０１１５】
処理頻度積算部５４はステップＳ９３でｉ番目のレコードＲ１を取得可能であったと判定するとステップＳ９４に進み、レコードＲ１の各フィールドの値を取得する。処理頻度積算部５４はＤにレコードＲ１の概念データフィールドの値、ｄｉｒｅｃｔｉｏｎに関連線の向きフィールドの値、ｆｒｅｑｕｅｎｃｙに処理頻度フィールドの値を設定する。
【０１１６】
ステップＳ９５に進み、処理頻度積算部５４は概念データ処理頻度内部テーブル６４から概念データフィールドの値がＤと一致するレコードＲ２を選択する。処理頻度積算部５４はステップＳ９６に進み、概念データフィールドの値がＤと一致するレコードＲ２を概念データ処理頻度内部テーブル６４から選択可能か否かを判定する。
【０１１７】
処理頻度積算部５４は、概念データフィールドの値がＤと一致するレコードＲ２を概念データ処理頻度内部テーブル６４から選択可能であったと判定すると、ステップＳ９９に進み、ステップＳ９４で設定したｄｉｒｅｃｔｉｏｎの値が「入」又は「出」のどちらであるかを判定する。
【０１１８】
ステップＳ９４で設定したｄｉｒｅｃｔｉｏｎの値が「入」であれば、処理頻度積算部５４はステップＳ１００に進む。ｄｉｒｅｃｔｉｏｎの値が「入」であれば、概念データは参照処理されていることを示している。そこで、処理頻度積算部５４は、ステップＳ９４で設定したｆｒｅｑｕｅｎｃｙの値をレコードＲ２の参照処理総頻度フィールドに加算する。
【０１１９】
ステップＳ９４で設定したｄｉｒｅｃｔｉｏｎの値が「出」であれば、処理頻度積算部５４はステップＳ１０１に進む。ｄｉｒｅｃｔｉｏｎの値が「出」であれば、概念データは更新処理されていることを示している。そこで、処理頻度積算部５４は、ステップＳ９４で設定したｆｒｅｑｕｅｎｃｙの値をレコードＲ２の更新処理総頻度フィールドに加算する。
【０１２０】
なお、処理頻度積算部５４は、概念データフィールドの値がＤと一致するレコードＲ２を概念データ処理頻度内部テーブル６４から選択可能でないと判定した場合、ステップＳ９７に進む。概念データフィールドの値がＤと一致するレコードＲ２を概念データ処理頻度内部テーブル６４から選択可能でないと判定した場合は、概念データフィールドの値がＤのレコードが概念データ処理頻度内部テーブル６４に存在しない。従って、処理頻度積算部５４は概念データ処理頻度内部テーブル６４に新規のレコードＲ３を追加する。
【０１２１】
ステップＳ９８に進み、処理頻度積算部５４はレコードＲ３の概念データフィールドにレコードＲ１の概念データフィールドの値を設定する。その後、処理頻度積算部５４はステップＳ９９に進み、上記した処理を行う。
【０１２２】
ステップＳ１００又はＳ１０１に続いてステップＳ１０２に進み、処理頻度積算部５４は概念データ利用箇所毎処理頻度内部テーブル６３からレコードＲ１を取得するためのインデックスｉに１を加算したあとステップＳ９２に戻る。なお、処理頻度積算部５４はステップＳ９３において、概念データ利用箇所毎処理頻度内部テーブル６３からｉ番目のレコードＲ１を取得可能でないと判定した場合、図２６に示したフローチャートの処理を終了する。
【０１２３】
ステップＳ７において更新比率算出部５５は概念データの総処理頻度に対する更新処理比率を求める。総処理頻度とは参照処理頻度と更新処理頻度とを加えたものである。入力データは図２５に示した概念データ処理頻度内部テーブル６４である。出力データは例えば図２７に示すような概念データ更新比率内部テーブル６５である。
【０１２４】
図２７は概念データ更新比率内部テーブルの一例の構成図である。図２７（ａ）は概念データ更新比率内部テーブル６５のスキーマを表している。図２７（ｂ）は概念データ更新比率内部テーブル６５の一例を表している。概念データフィールドには、概念データの識別子が設定されている。更新処理比率フィールドには、概念データの更新頻度が設定されている。
【０１２５】
更新比率算出部５５は概念データ処理頻度内部テーブル６４から１件のレコードＲ１を取得し、概念データ更新比率内部テーブル６５に新規レコードＲ２を追加する。更新比率算出部５５はレコードＲ１の参照処理総頻度フィールド及び更新処理総頻度フィールドの値から、更新処理頻度／（参照処理総頻度＋更新処理総頻度）の値を算出し、レコードＲ２の更新処理比率フィールドに設定する。この処理を更新比率算出部５５は概念データ処理頻度内部テーブル６４の全レコードに対して実施する。
【０１２６】
ステップＳ８においてマスタファイル判定部５６は、ある概念データがマスタファイルであるか否かを判定する。入力データは、図２７に示した概念データ更新比率内部テーブル６５である。出力テーブルは、例えば図２８に示すような判定結果内部テーブル６７である。
【０１２７】
図２８は判定結果内部テーブルの一例の構成図である。図２８（ａ）は、判定結果内部テーブル６７のスキーマを表している。図２８（ｂ）は、判定結果内部テーブル６７の一例を表している。概念データフィールドには概念データの識別子が設定されている。判定結果フィールドには、概念データがマスタファイルであるか否かの判定結果が設定されている。
【０１２８】
マスタファイル判定部５６は概念データ更新比率内部テーブル６５から１件のレコードＲ１を取得し、判定結果内部テーブル６７に新規のレコードＲ２を追加する。そしてマスタファイル判定部５６はレコードＲ１の概念データフィールドの値を、レコードＲ２の概念データフィールドに設定する。レコードＲ１の更新処理比率フィールドの値が、ある閾値以下であれば、マスタファイル判定部５６はレコードＲ２の判定結果フィールドにマスタファイルであることを表す１を設定する。
【０１２９】
また、レコードＲ１の更新処理比率フィールドの値が、ある閾値以下でなければ、マスタファイル判定部５６はレコードＲ２の判定結果フィールドにマスタファイルでないことを表す０を設定する。この処理をマスタファイル判定部５６は、概念データ更新比率内部テーブル６５の全レコードに対して実施する。
【０１３０】
ステップＳ８においてマスタファイル判定結果出力部５８は図２８に示した判定結果内部テーブル６７の内容を画面やファイルに出力する。マスタファイル判定装置１００の出力である判定結果内部テーブル６７は以下のように利用される。
【０１３１】
例えば判定結果内部テーブル６７でマスタファイルであると判定された概念データに対して、更新機能の仕様定義や、更新権限を持つ利用者、参照権限を持つ利用者、更新内容の承認手順、バックアップ体制等を定義することで、本実施例のマスタファイル判定装置１００はシステムテスト工程や運用テスト工程における機能不足、体制不備の発覚等を防ぐことができる。
【０１３２】
なお、本実施例のマスタファイル判定装置１００は上記した実施例に限定されるものではなく、サブフローを利用して業務フローを階層的に作成したものや、マスタファイル判定部５６が利用する閾値を加減して設定可能なものであってもよい。
【０１３３】
（まとめ）
本実施例のマスタファイル判定装置１００はマスタファイルとして扱う概念データを正しく判定するために、業務フローに記述された概念データの更新回数と参照回数とに加えて概念データにアクセスする画面の処理頻度を利用している。この結果、本実施例のマスタファイル判定装置１００はマスタファイルの判定精度を向上させることができる。
【０１３４】
以上、本実施例のマスタファイル判定装置１００によれば、業務フローに記述された概念データの更新回数と参照回数とが等しくても、概念データにアクセスするときに使われる画面の処理頻度が異なれば、概念データをマスタファイルとすべきか否かを判定することができる。
【０１３５】
結果として、本実施例のマスタファイル判定装置１００によれば、マスタファイルの運用要件を要件定義工程で正しく決められるので、機能不足や運用体制不足がシステムテストや運用テストの段階で発覚することがなくなる。
【０１３６】
本発明は、以下に記載する付記のような構成が考えられる。
（付記１）
コンピュータが、
業務フロー内に含まれる画面毎の処理頻度を記録した画面処理頻度テーブル及び前記業務フロー内に含まれるデータ、該データに対する処理の種類、該データにアクセスするときに利用される画面の組み合わせを記録したデータ利用箇所情報テーブルから、前記データ、該データに対する処理の種類、該データにアクセスするときに利用される画面毎の処理頻度の組み合わせを取得する利用箇所別データ処理頻度取得ステップと、
前記データ、該データに対する処理の種類、前記データにアクセスするときに利用される画面毎の処理頻度の組み合わせから、前記データ毎の参照処理総頻度及び更新処理総頻度を積算する処理頻度積算ステップと、
前記データ毎の参照処理総頻度及び更新処理総頻度から前記データ毎の更新処理比率を算出する更新比率算出ステップと、
前記更新処理比率に従って前記データ毎にマスタファイルか否かを判定するマスタファイル判定ステップと
を実行することを特徴とするマスタファイル判定方法。
（付記２）
前記マスタファイル判定ステップで前記データ毎にマスタファイルか否かを判定するための前記更新処理比率の閾値を設定する閾値設定ステップを
更に実行する付記１記載のマスタファイル判定方法。
（付記３）
前記画面毎の処理頻度を複数の単位時間で記録した画面情報テーブルから前記画面毎の処理頻度が共通の単位時間で記録された前記画面処理頻度テーブルを作成する画面処理頻度抽出ステップを更に実行する付記２記載のマスタファイル判定方法。
（付記４）
前記業務フロー内に含まれるデータ、該データに対する処理の種類、該データにアクセスするときに利用される画面の組み合わせを、前記業務フローの図形上の関連から取得して前記データ利用箇所情報テーブルを作成するデータ利用箇所情報取得ステップを更に実行する付記３記載のマスタファイル判定方法。
（付記５）
業務フロー内に含まれる画面毎の処理頻度を記録した画面処理頻度テーブル及び前記業務フロー内に含まれるデータ、該データに対する処理の種類、該データにアクセスするときに利用される画面の組み合わせを記録したデータ利用箇所情報テーブルから、前記データ、該データに対する処理の種類、該データにアクセスするときに利用される画面毎の処理頻度の組み合わせを取得する利用箇所別データ処理頻度取得手段と、
前記データ、該データに対する処理の種類、前記データにアクセスするときに利用される画面毎の処理頻度の組み合わせから、前記データ毎の参照処理総頻度及び更新処理総頻度を積算する処理頻度積算手段と、
前記データ毎の参照処理総頻度及び更新処理総頻度から前記データ毎の更新処理比率を算出する更新比率算出手段と、
前記更新処理比率に従って前記データ毎にマスタファイルか否かを判定するマスタファイル判定手段と
を有することを特徴とするマスタファイル判定装置。
（付記６）
コンピュータに、
業務フロー内に含まれる画面毎の処理頻度を記録した画面処理頻度テーブル及び前記業務フロー内に含まれるデータ、該データに対する処理の種類、該データにアクセスするときに利用される画面の組み合わせを記録したデータ利用箇所情報テーブルから、前記データ、該データに対する処理の種類、該データにアクセスするときに利用される画面毎の処理頻度の組み合わせを取得する利用箇所別データ処理頻度取得ステップと、
前記データ、該データに対する処理の種類、前記データにアクセスするときに利用される画面毎の処理頻度の組み合わせから、前記データ毎の参照処理総頻度及び更新処理総頻度を積算する処理頻度積算ステップと、
前記データ毎の参照処理総頻度及び更新処理総頻度から前記データ毎の更新処理比率を算出する更新比率算出ステップと、
前記更新処理比率に従って前記データ毎にマスタファイルか否かを判定するマスタファイル判定ステップと
を実行させるマスタファイル判定プログラム。
【０１３７】
なお、本実施例におけるマスタファイル判定プログラムは、パッケージソフトの他、ＷＥＢサービス等によっても提供可能である。なお、特許請求の範囲に記載した画面処理頻度テーブルは画面処理頻度内部テーブル６１に相当し、データ利用箇所情報テーブルは概念データ利用箇所情報内部テーブル６２に相当し、利用箇所別データ処理頻度取得手段は利用箇所別概念データ処理頻度取得部５３に相当し、処理頻度積算手段は処理頻度積算部５４に相当し、更新比率算出手段は更新比率算出部５５に相当し、マスタファイル判定手段はマスタファイル判定部５６に相当し、データが概念データに相当する。
【符号の説明】
【０１３８】
１０    コンピュータ
２１    入力装置
２２    表示装置
２３    コンピュータ本体
３１    主記憶装置
３２    演算処理装置
３３    インターフェース装置
３４    記録媒体読取装置
３５    補助記憶装置
３６    記録媒体
３７    バス
４１    画面情報テーブル
４２    業務フローテーブル
５０、５０Ａ、１００    マスタファイル判定装置
５１    画面処理頻度抽出部
５２    概念データ利用箇所情報取得部
５３    利用箇所別概念データ処理頻度取得部
５４    処理頻度積算部
５５    更新比率算出部
５６    マスタファイル判定部
５７    閾値設定部
５８    マスタファイル判定結果出力部
６１    画面処理頻度内部テーブル
６２    概念データ利用箇所情報内部テーブル
６３    概念データ利用箇所毎処理頻度内部テーブル
６４    概念データ処理頻度内部テーブル
６５    概念データ更新比率内部テーブル
６６    閾値テーブル
７１    画面一覧
７２    業務フロー・データ
７３    画面
１２１〜１２８    シェイプ
【図１】
2012064163.tif 000003
【図２】
2012064163.tif 000004
【図３】
2012064163.tif 000005
【図４】
2012064163.tif 000006
【図５】
2012064163.tif 000007
【図６】
2012064163.tif 000008
【図７】
2012064163.tif 000009
【図８】
2012064163.tif 000010
【図９】
2012064163.tif 000011
【図１０】
2012064163.tif 000012
【図１１】
2012064163.tif 000013
【図１２】
2012064163.tif 000014
【図１３】
2012064163.tif 000015
【図１４】
2012064163.tif 000016
【図１５】
2012064163.tif 000017
【図１６】
2012064163.tif 000018
【図１７】
2012064163.tif 000019
【図１８】
2012064163.tif 000020
【図１９】
2012064163.tif 000021
【図２０】
2012064163.tif 000022
【図２１】
2012064163.tif 000023
【図２２】
2012064163.tif 000024
【図２３】
2012064163.tif 000025
【図２４】
2012064163.tif 000026
【図２５】
2012064163.tif 000027
【図２６】
2012064163.tif 000028
【図２７】
2012064163.tif 000029
【図２８】
2012064163.tif 000030