(57)【要約】      （修正有）【課題】各社が異なる給与計算を必要とする場合であっても、計算項目体系の違いを吸収して、給与計算のための計算式等の入力作業を省力化することができ、給与計算を効率良く行う。【解決手段】情報処理装置１００は、給与体系が異なる各端末の情報に基づいて、行方向にシーケンシャルナンバを有し、列方向に各給与項目および給与項目の計算式等とのシートを作成し、シーケンシャルナンバと各給与項目とが交差する区画に、給与計算のための条件分岐を行う判定条件を定義する定義手段、シーケンシャルナンバに従って各給与項目を確認し、判定条件に基づいて隣接する給与項目に移行し、計算式等を取得する条件分岐手段、計算式等に基づいて給与計算を実行する給与計算手段として機能させるエディタプログラム１１００と、テスト用表に対して、条件分岐手段による条件分岐を実行させて実行結果を取得するルールテストツール１２００とを、実行する。【選択図】図２
2016071643.tif 000002
【特許請求の範囲】
【請求項１】
行方向にシーケンシャルナンバを有し、列方向に各給与項目および給与項目の計算式を有する表を作成し、前記シーケンシャルナンバと前記各給与項目とが交差する区画に、給与計算のための条件分岐を行う判定条件を定義する定義手段と、
前記シーケンシャルナンバに従って前記各給与項目を確認し、前記判定条件に基づいて隣接する前記給与項目に移行し、該当する前記計算式等を取得する条件分岐手段と、
前記条件分岐手段により取得された計算式等に基づいて給与計算を実行する給与計算手段と、を備えることを特徴とする情報処理装置。
【請求項２】
前記作成された前記表にテスト用データを入力し、当該テスト用データが入力されたテスト用表に対して、前記判定条件に基づいて前記給与計算を実行するテスト手段を、備えること
を特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記テスト手段は、前記各給与項目に設定する数値を変えて、前記定義された判定条件が実際に経由される度合いを算出する
を特徴とする請求項２に記載の情報処理装置。
【請求項４】
各社に給与計算サービスを提供する情報処理装置と、
前記各社が所定の給与体系を有し、前記情報処理装置から前記給与計算サービスを受けて給与計算を実行する端末と、を備え、
前記情報処理装置は、
前記端末からの給与計算要求および給与体系に関する情報を受け付ける通信手段と、
前記給与体系に関する情報に基づいて、
行方向にシーケンシャルナンバを有し、列方向の各給与項目および給与項目の計算式を有する表を作成し、前記シーケンシャルナンバと前記各給与項目とが交差する区画に、給与計算のための条件分岐を行う判定条件を定義する定義手段と、
前記シーケンシャルナンバに従って前記各給与項目を確認し、前記判定条件に基づいて隣接する前記給与項目に移行し、該当する前記計算式等を取得する条件分岐手段と、
前記条件分岐手段により取得された計算式等に基づいて給与計算を実行する給与計算手段と、を備え、
前記通信手段は、前記給与計算手段により実行された給与計算結果を前記給与計算サービスとして前記端末に送信すること
を特徴とする給与計算システム。
【請求項５】
前記情報処理装置は、
前記定義手段により作成される前記表を、前記端末の給与体系毎に用意すること
を特徴とする請求項４に記載の給与計算システム。
【請求項６】
情報処理装置としてのコンピュータを、行方向にシーケンシャルナンバを有し、列方向に各給与項目および給与項目の計算式を有する表を作成し、前記シーケンシャルナンバと前記各給与項目とが交差する区画に、給与計算のための条件分岐を行う判定条件を定義する定義手段、前記シーケンシャルナンバに従って前記各給与項目を確認し、前記判定条件に基づいて隣接する前記給与項目に移行し、該当する前記計算式等を取得する条件分岐手段、前記条件分岐手段により取得された計算式等に基づいて給与計算を実行する給与計算手段として機能させる給与計算プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、給与計算を行うための情報処理装置、給与計算システムおよび給与計算プログラムに関する。
【背景技術】
【０００２】
コンピュータを用いて給与額の計算等を行う給与計算システムには多種多様なものがある。給与体系は会社などによって様々であり、基本給、職能給、残業手当、住宅手当、保険料等といった数々の項目で構成される。一つの会社においても給与体系は変化するものであり、この給与体系の変更に対して容易なカスタマイズを可能とした給与計算システムに関する技術が各種知られている（例えば特許文献１、特許文献２を参照）。
【０００３】
特許文献１には、コンピュータを用いて、社員の給与額を例えば業績などに応じて算出する機能を持った給与額算出システムが記載されている。
特許文献２には、給与計算のための計算式やその計算式の定数などを変更するために、端末画面に社員マスタテーブルを呼出し、その画面で直接マスタデータを修正すると、その修正値に合わせて端末画面のデータ項目欄が自動的に更新されるシステムが記載されている。
【０００４】
この種のシステムにおいて給与計算を行うためには、人事情報に加えて、正社員やパートタイマなどの異なる給与体系の基本給、各種手当て、税金などの各給与項目の金額を計算するための計算式を設定する必要があり、予め定められた期日にこれらの計算式をもとに各社員の給与計算を行っている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−１３３０４９号公報
【特許文献２】特開２００１−１７５７７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、各給与体系の各給与項目等は、各社毎に異なっている。例えば、Ａ社の給与計算とＢ社の給与計算とでは、計算項目の扱い（計算項目体系）に違いが存在する場合がある。一例を挙げると、Ｂ社の給与計算では、保険料を「保険料」として一つの項目として扱っているのに対し、Ａ社の給与計算では、保険料を「生命保険料」と「損害保険料」の２つの項目に分けて扱っている。
このように、各社毎に計算項目体系に違いがあるので、給与計算用のデータ項目等を各社毎に変更・作成する必要があるという課題があった。
【０００７】
そこで、本発明は、各社が異なる給与計算を必要とする場合であっても、計算項目体系の違いを吸収して、給与計算のための計算式等の入力作業を省力化することができ、給与計算を効率良く行うことを可能にする情報処理装置、給与計算システムおよび情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
前記課題を解決するため、本発明の情報処理装置は、行方向にシーケンシャルナンバを有し、列方向に各給与項目および給与項目の計算式を有する表を作成し、前記シーケンシャルナンバと前記各給与項目とが交差する区画に、給与計算のための条件分岐を行う判定条件を定義する定義手段と、前記シーケンシャルナンバに従って前記各給与項目を確認し、前記判定条件に基づいて隣接する前記給与項目に移行し、該当する前記計算式等を取得する条件分岐手段と、前記条件分岐手段により取得された計算式等に基づいて給与計算を実行する給与計算手段と、を備えることを特徴とする。
その他の手段については、発明を実施するための形態のなかで説明する。
【発明の効果】
【０００９】
本発明によれば、給与計算のための計算式等の入力作業を省力化することができ、給与計算を効率良く行うことができる。また、プロミング作業を機械化することができ、この作業に要する人的および工数を削減することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係る給与計算システムの構成を示す図である。
【図２】上記実施形態に係る情報処理装置の構成を示すブロック図である。
【図３】上記実施形態に係る情報処理装置のエディタプログラムによるルールモジュール作成作業の対象範囲を説明する図である。
【図４】上記実施形態に係る情報処理装置のルールエディタのシステム構成図である。
【図５】上記実施形態に係る情報処理装置のルールエディタを実装した場合の作業フロー図である。
【図６】図５の「単体テスト」の詳細フローを示す図である。
【図７】上記実施形態に係る情報処理装置のルールエディタの構成および利用を示すフロー図である。
【図８】図７のブロックＡの詳細図である。
【図９】図７のブロックＢの詳細図である。
【図１０】図７のブロックＣの詳細図である。
【図１１】図７のブロックＤの詳細図である。
【図１２】上記実施形態に係る情報処理装置のルール設定画面上で行う条件分岐を説明する図である。
【図１３】上記実施形態に係る情報処理装置のメインメニュー画面を示す図である。
【図１４】上記実施形態に係る情報処理装置のルールの登録を行うルール定義画面の画面遷移図である。
【発明を実施するための形態】
【００１１】
以降、本発明を実施するための形態（「本実施形態」という）を、図等を参照しながら詳細に説明する。また、本実施形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１２】
（実施形態）
以下、本発明の実施形態に係る情報処理装置について説明する。
【００１３】
[構成]
図１は、本発明の実施形態に係る給与計算システムの構成を示す図である。本実施形態は、複数種類の給与体系の各給与項目に対応する給与計算プログラムを情報処理装置に適用した例である。
以下の説明において、「給与」には賞与・退職金を含むものとする。
図１に示すように、給与計算システム１は、情報処理装置１００と、複数の給与計算委託会社（Ａ社〜Ｎ社）の端末１１〜１４と、情報処理装置１００と各端末１１〜１４を有線または無線で接続するネットワーク２と、を備える。
ネットワーク２は、専用ネットワークや汎用のＬＡＮ（Local Area Network）である。
【００１４】
給与計算委託会社（Ａ社〜Ｎ社）は、複数の給与体系を持つのが一般的である。給与体系は、給与受給者の雇用形態を区別する情報であり、例えば、正社員、パート、アルバイトなどが挙げられる。また、給与項目は給与体系ごとに定められる項目であり、例えば基本給、残業手当、通勤手当、扶養手当、所得税、住民税などが挙げられる。この項目には、各給与体系に共通のものもあれば、例えば正社員のみに当てはまる項目もある。このため、各社員の給与額を計算するためには、各種適用または除外条件や計算式を用いる必要がある。
しかも、給与体系は各給与計算委託会社（Ａ社〜Ｎ社）によって様々であり、基本給、職能給、残業手当、住宅手当、保険料等といった数々の項目が一致しないことがある。また、一つの会社においても給与体系は変化する。
情報処理装置１００は、各給与計算委託会社（Ａ社〜Ｎ社）の複数の給与体系に適切に対応して各社に給与計算サービスを提供する。
【００１５】
図２は、上記情報処理装置１００の構成を示すブロック図である。
図２に示すように、情報処理装置１００は、装置全体を制御する制御部１１０と、記憶部１２０と、ハードディスクドライブ（ＨＤＤ）や不揮発性メモリなどの記憶装置１３０と、操作キーやマウス等の入力デバイスである入力部１４０と、ルール設定画面等（後記）を表示する大型のＬＣＤ（Liquid Crystal Display）等の表示部１５０と、端末１１〜１４との通信を行う通信部１６０（通信手段）と、を備える。各要素はシステムバス１７０で結ばれる。
【００１６】
制御部１１０は、本装置全体を制御するマイクロコンピュータ等からなる。マイクロコンピュータは、記憶部１２０のＲＯＭ（Read Only Memory）に記憶された制御プログラムを読み出してＲＡＭ（Random Access Memory）に展開し、ＣＰＵ（Central Processing Unit）が各種処理を実行する。
【００１７】
記憶部１２０は、ＣＰＵが制御プログラムを実行する際に使用する作業用のメモリ空間、または、生成される各種データを一時的に保存するＲＡＭ、各動作プログラムや設定データを記憶する不揮発性メモリ等から構成される。
記憶装置１３０は、エディタプログラム１１００（定義手段，条件分岐手段，給与計算手段，給与計算プログラム)、ルールテストツール１２００（テスト手段）、中間ＤＢ（database）１３００、および給与計算ＤＢ１４００を備える（いずれも詳細後記）。
【００１８】
入力部１４０は、例えばキーボードやマウスであり、給与計算のためのルールの登録を含む各種操作を受け付ける。
【００１９】
表示部１５０は、情報処理装置１００の表示装置であり、ルール設定画面のテストエディタシート記述情報等を表示する。
【００２０】
通信部１６０は、ネットワーク２（図１参照）を介して端末１１〜１４と通信する。通信部１６０は、端末１１〜１４からの給与計算要求および給与体系に関する情報を受け付けるとともに、通信部１６０は、エディタプログラム１１００により実行された給与計算結果を給与計算サービスとして端末１１〜１４に送信する。
【００２１】
本実施形態において、「○○部は」というように主体を記した場合は、制御部１１０が、そのプログラム（エディタプログラム１１００、ルールテストツール１２００）を記憶装置１３０から記憶部１２０にロードしたうえで、そのプログラムの機能（詳細後記）を実現するのとする。
【００２２】
以下、上述のように構成された情報処理装置の動作について説明する。
まず、ルールエディット作業の概要について説明する。
[概要]
ルールエディタ１０００によるルールモジュール作成作業を進めるにあたり、エラー・警告の発生を極力抑えるための作業手順、ならびに通常手順でエラーが発生した場合の対処方法について説明する。
【００２３】
図３は、ルールエディタ１０００によるルールモジュール作成作業の対象範囲を説明する図である。
図３に示すように、業務担当者が行う作業において、業務要件が決定され、中間ＤＢ１３００の仮設定が行われた後から、ルール単体テスト終了（結合テスト前）までの作業を対象範囲とする。
【００２４】
以下、「ルールエディタ」とは、ルール自動作成に必要となるツールをいう。本実施形態では、「ルールエディタ」はルールエディタ１０００である。「ルールエディタ」は、ルールエディタシートとルールエディタアドインを合わせてこれを指す。
「ルールエディット」とは、ルールエディタを用いてルールを記述し、モジュールとして生み出すまでの一連の作業を指す。「ルールエディタシート」とは、給与計算用に業務仕様を記入するExcelシートである。
「ルールエディタアドイン」とは、ルールエディタ機能のマクロ群をいう。「ルール編集」とは、ルールエディタシートを記入する作業をいう。
【００２５】
<ルール編集>
図３に示すように、中間ＤＢ１３００の仮設定後の対象範囲において、ステップＳ１でルールエディタ１０００は、ルール編集を行う。「ルール編集」は、下記を前提とする。すなわち、「ルールエディタシート（ＥＸＣＥＬ）」は、初回記述時は未記入状態でよい。また、制度改定、もしくは他制度からの流用の場合は、利用中間ＤＢと同期が取れた状態である。「中間ＤＢ（ＡＣＣＥＳＳ）」は、ルールエディタで利用している項目の論理名称が登録されている。すべてマッピングされていなくてもよい。「利用項目一覧（ＥＸＣＥＬ）」は、すべての業務仕様より利用項目名が洗い出された状態である。「ルール一覧（ＥＸＣＥＬ）」は、すべての業務仕様が洗い出され、ルールＩＤとルール名称が決定されている。「共通関数一覧（ＥＸＣＥＬ）」は、作業を行う時点での最新である。「共通関数リファレンス（ＥＸＣＥＬ）」は、共通関数一覧に対して同期が取れている。
【００２６】
<テストデータ作成>
ステップＳ２では、ルールエディタ１０００は、テストデータを作成する。「テストデータ作成」において、「ルールエディタ（ＥＸＣＥＬ）」は、業務仕様が漏れなく記述されていること、「中間ＤＢ（ＡＣＣＥＳＳ）」は、ルールエディタで利用している項目がすべてマッピングされていることが前提となる。
【００２７】
<Ｊａｖａ（登録商標）コード生成>
ステップＳ３では、ルールエディタ１０００は、Ｊａｖａコードを生成する。「Ｊａｖａコード生成」において、「ルールエディタ（ＥＸＣＥＬ）」は、業務仕様が漏れなく記述されていること、「中間ＤＢ（ＡＣＣＥＳＳ）」は、ルールエディタで利用している項目がすべてマッピングされていることが前提となる。
【００２８】
<テストデータ実行>
ステップＳ４では、ルールエディタ１０００は、テストデータを実行して、結合テストに移行する。「テストデータ実行」には、下記を前提とする。
「ルールエディタ（ＥＸＣＥＬ）」は、業務仕様が漏れなく記述されている。「テストデータ（ＥＸＣＥＬ）」は、ルールエディタのすべてのパスを通るデータが記述されている。「共通関数」は、ルールエディタで参照している共通関数が動作可能な（スタブでない）状態である。「中間ＤＢ（ＡＣＣＥＳＳ）」は、ルールエディタで利用している項目がすべてマッピングされている。
【００２９】
次に、ルールエディタ１０００のシステム構成および作業フローについて説明する。
図４は、ルールエディタ１０００のシステム構成図である。
図４に示すように、ルールエディタ１０００は、作業者端末側にルールテストツール１２００を、ファイルサーバ側に中間ＤＢ１３００を、ルール専用本体ＤＢ環境に給与計算ＤＢ１４００をそれぞれ備える（詳細は後記）。
【００３０】
ルールエディタ１０００は、後記するエディタプログラム１１００（図７参照）が、中間ＤＢ１３００に対して項目マッピング等を行い、中間ＤＢ１３００の項目参照等を実行してルールエディタシート（アドイン・マクロ）１１１０を作成する。そして、エディタプログラム１１００は、ルールエディタシート１１１０を基に、ルールＪａｖａファイル１１０２（「ルール．Ｊａｖａ」）とテストシート１１０３（「テストシート．ｘｌｓ」）を出力する。ここで、ルールエディタ１０００は、表（Ｅｘｃｅｌ（登録商標）シート）上に記述した仕様情報から、条件分岐や計算式等の情報を得て自動でＪａｖａ（登録商標）プログラムを生成する。
【００３１】
ルールテストツール１２００は、エディタプログラム１１００により生成されたルール１１０２（「ルール．Ｊａｖａ」）およびテストシート１１０３（「テストシート．ｘｌｓ」）と、中間ＤＢ１３００の項目等を参照してルールテストを実行し、テスト結果１２０１（「テスト結果．ｈｔｍｌ」）を出力する。
【００３２】
中間ＤＢ１３００は、エディタプログラム１１００と給与計算ＤＢ１４００との間に置かれたMicrosoft Access（登録商標）の中間ＤＢである。必要なデータは、中間ＤＢ１３００で管理される。
【００３３】
給与計算ＤＢ１４００は、中間ＤＢ１３００から給与計算を行うための必須情報を取得する。給与計算ＤＢ１４００は、ルールテストツール１２００にテストデータをロードするとともに、テスト結果をストア（蓄積）する。
【００３４】
図５は、ルールエディタ１０００を実装した場合の作業フロー図である。
図５に示すように、まず「要件定義」を行う（ステップＳ１１）。
「要件定義」において、顧客からの制度・規則提示を受ける。具体的には、項目属性定義として、項目定義シートを作成する。コードマスタ定義として、コードテーブル定義シートを作成する。ルールＩＤ定義ルールとして、ＩＤ一覧を作成する。業務仕様書作成として、ルールエディタ使用の際に参照する仕様書を作成する。なお、最後のルールの業務仕様書が完了した時点でステップＳ１１は終了する。
【００３５】
次に、「ルール実行環境」を整備する（ステップＳ１２）。
「ルール実行環境整備」において、（１）業務仕様書を確認する。例えば、業務仕様書と項目属性定義の整合性をチェック、並びにルールエディットを行うための補足情報を追加する。具体的には、共通関数の洗い出し、ＳＱＬ項目の判定である。また、「ルール実行環境整備」では、（２）共通関数を作成する。例えば、上記（１）「業務仕様書確認」による洗い出しが行われた、もしくは下流の「エディット作業」にて、共通関数化の候補が再確認された場合、共通関数の設計・製造を行う。ここでのＪａｖａソースコードは、「単体テスト」で用いる。また、（３）「ＳＱＬ項目定義」では、業務仕様書確認による洗い出しが行われた結果、もしくは下流の「エディット作業」にて、ＳＱＬ項目化の候補が再確認された場合、ＳＱＬ項目の設計・製造を行う。（４）「スクリプト生成」では、上記で作成した資料から、データ登録スクリプトを生成する。また、（５）「ルール専用本体ＤＢ構築」では、ルールエディット作業で参照するルール専用本体ＤＢに、上記で定義した情報を登録する。
【００３６】
さらに、（６）「中間ＤＢ設定」では、上記ルール専用本体ＤＢより、データ移行ツールで必要な情報を取得し、中間ＤＢに登録する。そして、（７）「環境情報展開」では、各担当者に作業指示を行うための環境を決定し、情報提示を行う。
【００３７】
次に、エディット作業を行う（ステップＳ１３）。
「中間ＤＢ項目属性定義」において、項目属性定義項目マッピング作業を行い、ルール利用項目定義情報（ＮＵＬＬチェック有無・エラー時扱い等）を登録する。また、「ルールエディタシート作成」では、ルールエディタシートに業務仕様書を転記する。例外パスとして下記がある。「中間ＤＢ項目属性定義」でマッピング先項目がない場合、項目属性定義をし直すため、「要件定義」へ作業遷移する。また、「ルールエディタ作成」でシート作成項目の抽出が困難であると判断した場合、共通関数化もしくは、ＳＱＬ項目化の検討のため、「エディット作業」へ作業遷移する。さらに、「ルール利用項目定義情報（ＮＵＬＬチェック有無・型属性等）が間違えていたとき中間ＤＢ項目属性定義変更のため、「エディット作業」へ作業遷移する。なお、中間ＤＢ項目属性定義がすべて完了していることが終了条件である。
【００３８】
次に、「単体テスト」を実行する（ステップＳ１４）。
図６は、図５の「単体テスト」の詳細フローを示す図である。
図６のステップＳ２１において、内容チェックを行う。具体的には、Ｊａｖａソースコード自動生成を行う。ＩＤＥ（Integrated Development Environment：統合開発環境）ツール上でコンパイルを行い、生成したＪａｖａソースコードがエラーを発生させないかを確認する。
次いで、ステップＳ２２でテストテンプレートを作成する。例えば、テストテンプレート生成機能によりテストデータのスケルトンを生成する。
次いで、ステップＳ２３でテストデータを作成する。上記、自動生成したテンプレートに足らないテストケースを補完する。
次いで、ステップＳ２４でＪａｖａソースコードを自動生成し、ステップＳ２５でテスト実行テストツールによりテストデータを実行する。
次いで、ステップＳ２５で結果照合して「結合テスト」に遷移する。結果照合では、テスト結果の正否を確認し、足らないテストケースがあれば指摘を行う。
例外パスには、下記がある。
【００３９】
上記ステップＳ２１の「内容チェック」において、Ｊａｖａソースコード自動生成エラーが発生する場合、ルールエディタシートの記入の仕方、もしくは項目定義（型式等）の設定不備に起因するため、「エディット作業」に戻る。
上記ステップＳ２５の「テスト実行」において、実行時エラーの場合、環境要因（組込関数が配置されているか）を確認し、データエラー（テストデータ（汎用マスタ）の不備（キーの重複等）を確認する。また、「テスト実行」において、実行結果値エラーがテスト結果予想値と異なっているとき、テストケースを見直し、テストデータ（汎用マスタ）を見直す。
上記ステップＳ２６の「結果照合」において、テストケースが足らない場合、テストケースの追加をテスタに依頼し、再度実行を行う。また、テストデータ不適切な場合、テストケースの修正をテスタに依頼し、再度実行を行う。
ここで、テスト予想値と結果がすべて一致していること、テスト対象モジュールのカバレッジが１００％であることが終了条件である。
【００４０】
再び、図５のフローに戻る。「単体テスト」が終了すると、「結合テスト」を行い（ステップＳ１５）、次いで「総合テスト」を行う（ステップＳ１６）。
「結合テスト」では、生成したＪａｖａプログラムを給与計算システムに統合し、動作確認のためのテストを実施する。「総合テスト」では、機能要件を確認する業務担当者による機能要件テスト、および計算時間等を確認する非機能要件テストを行う。
「結合テスト」では、「ルールエディット成果物申請準備」においてルールエディット作業で生まれた登録するルール関連の申請書を準備する。また、「業務要件成果物申請準備」でルールエディット作業を行う上での源泉情報の資料・並びに申請書の提示を行う。そして、「環境構築」で結合テストを行う上で必要となる上記以外のデータを準備し、テストデータを登録する。計画に基づき実施テストを実施する。性能チェックも行う。
「統合テスト」では、業務確認を行う。また、簡易コンペアテストも行う。
【００４１】
次に、責任者承認を経て（ステップＳ１７）、「運用テスト」を行う（ステップＳ１８）。次いで、馴致稼働を実行し（ステップＳ１９）、顧客承認を経て作業フローが完了する（ステップＳ２０）。ここでの馴致稼動は、旧システムの結果と照合し実運用に適合するか確認するための馴致稼動をいう。
【００４２】
図７は、情報処理装置１００のルールエディタ１０００の構成および利用を示すフロー図である。
ルールエディタ１０００は、エディタプログラム１１００と、ルールテストツール１２００と、中間ＤＢ１３００と、給与計算ＤＢ１４００と、を有する。エディタプログラム１１００およびルールテストツール１２００は、情報処理装置１００の制御部１１０（ＣＰＵ）により実行される。
【００４３】
<エディタプログラム１１００>
エディタプログラム１１００は、給与体系が異なる各端末１１〜１４（図１参照）の情報に基づいて、行方向のシーケンシャルナンバと列方向の各給与項目および給与項目の計算式等とを有する表を作成し、シーケンシャルナンバと各給与項目とが交差する区画に、給与計算のための条件分岐を行う判定条件を定義する定義手段、シーケンシャルナンバに従って各給与項目を確認し、判定条件に基づいて隣接する給与項目に移行する、または該当する計算式等を取得する条件分岐手段、条件分岐手段により出力された計算式等に基づいて給与計算を実行する給与計算手段、として機能させるためのプログラムである。
【００４４】
エディタプログラム１１００は、表（Ｅｘｃｅｌ（登録商標）シート）上に記述した仕様情報から、条件分岐や計算式等の情報を得て自動でＪａｖａ（登録商標）プログラムを生成する。具体的には、エディタプログラム１１００は、下記機能（１）−（４）を実装する。
（１）「ルールエディタシート（業務仕様書）作成」：項目属性情報を管理する。ルールエディタシート（Ｅｘｃｅｌシート）の編集を行う。
（２）「テストデータ作成サポート」：テストデータを記述するテンプレートを自動作成する。
（３）「Ｊａｖａコード生成」：テストエディタシート記述情報を基にＪａｖａコード生成する。
（４）「テスト実行」：テストデータに対し、実行結果を返す。カバレッジ（条件分岐通過有無）を取得する。
【００４５】
図７を参照して具体的に説明する。
エディタプログラム１１００は、作成・メンテナンス処理を実行してエディットデータ１１０１（「エディットデータ．ｘｌｓ」）を出力する。エディットデータ１１０１（「エディットデータ．ｘｌｓ」）は、表示部１５０（図２参照）の表示画面に表示１１０１ａまたは印刷される。
エディタプログラム１１００は、エディタルール生成処理を実行してルールＪａｖａファイル１１０２（「ルール．Ｊａｖａ」）を出力する。
エディタプログラム１１００は、テストデータ生成処理を実行してテストシート１１０３（「テストシート．ｘｌｓ」）を出力する。テスト入力データ記述シート（以下、テストシート）１１０３（「テストシート．ｘｌｓ」）は、表示部１５０の表示画面に表示１１０３ａまたは印刷される。
【００４６】
<ルールテストツール１２００>
ルールテストツール１２００は、Ｊａｖａにより記述される。
ルールテストツール１２００は、定義手段により作成された表にテスト用データを入力し、当該テスト用データが入力されたテスト用表に対して、条件分岐手段による条件分岐を実行させて実行結果を取得するテスト手段として機能させるためのプログラムである。
【００４７】
ルールテストツール１２００は、作成された前記表にテスト用データを入力し、当該テスト用データが入力されたテスト用表に対して、判定条件に基づいて給与計算を実行する。また、ルールテストツール１２００は、各給与項目に設定する数値を変えて、定義された判定条件が実際に経由される度合いを算出する。
ルールテストツール１２００は、各給与項目に設定する数値を変えて、条件分岐手段による条件分岐カバレッジをすべて実行して実行結果を取得する。カバレッジとは、プログラム中のコードがどの程度実行されたかを分析することである。カバレッジは、テストの品質を示す指標となる。
【００４８】
ルールテストツール１２００は、エディタプログラム１１００により生成されたルール１１０２（「ルール．Ｊａｖａ」）およびテストシート１１０３（「テストシート．ｘｌｓ」）を参照してルールテストを実行し、テスト結果を生成してテスト結果１２０１（「テスト結果．ｈｔｍｌ」）を出力する。テスト結果１２０１（「テスト結果．ｈｔｍｌ」）は、表示部１５０の表示画面に表示１２０１ａまたは印刷される。また、ルールテストツール１２００は、テスト後のルール１１０２（「ルール．Ｊａｖａ」）を中間ＤＢ１３００に出力する。
【００４９】
<中間ＤＢ１３００>
中間ＤＢ１３００は、エディタプログラム１１００と給与計算ＤＢ１４００との間に置かれたMicrosoft Access（登録商標）の中間ＤＢである。必要なデータは、中間ＤＢ１３００で管理される。
【００５０】
<給与計算ＤＢ１４００>
給与計算ＤＢ１４００は、リレーショナルデータベース（relational database）である。本実施形態では、ＯＲＡＣＬＥ ＤＢ（登録商標）を用いているが、オープンソースのＭｙＳＱＬなどで構築することも可能である。
【００５１】
ルールエディタ１０００によるルールエディット作業手順は、下記の通りである。
（１）対象会社用中間ＤＢの設定
（２）ルールエディット・Ｊａｖａ生成
（３）テストシート作成・設定
（４）テストツール実行・結果確認
【００５２】
図８は、図７のブロックＡの詳細図である。
エディタプログラム１１００は、ルール設定画面（エディット画面）２００と、業務仕様書画面３００とを切り替え表示する（図８の符号ａ参照）。
ルール設定画面２００は、標準的に使用されている業務仕様書のフォーマットとほぼ同じレイアウトで表示し、業務仕様書画面３００では、Microsoft Excel（登録商標）をユーザインタフェースに使用する。
【００５３】
ルール設定画面２００が、標準的に使用されている業務仕様書３００のフォーマットとほぼ同じレイアウトで表示されるので、業務担当ユーザに分かり易い利点がある。例えば、業務担当者が業務仕様書を書き、この業務担当者とは別の人がエディット作業者である場合にも作業がし易い。また、将来のシステムの移行時に、現行の業務仕様が流用できる。
ルール設定画面（エディット画面）２００に特徴がある。詳細については図１２で後記する。
【００５４】
ルール設定画面２００は、行と列とからなる表形式であり、行方向（縦方向）の左端は、上から下にシーケンシャルに割り振られた行ナンバ２１０（ここでは計算式Ｎｏ．１〜Ｎｏ．ｎ）を記述する。行ナンバ２１０（計算式Ｎｏ．１〜Ｎｏ．ｎ）は、上から下にシーケンシャルに確認される。また、列方向（横方向）には、条件判定に使用する複数の項目Ａ〜Ｇからなる項目欄２２０（図８の符号ｂ参照）と、各項目Ａ〜Ｇで指定される給与計算式や計算結果値を記述した計算式欄２３０（図８の符号ｃ参照）と、が記述される。
【００５５】
行方向（縦方向）の計算式Ｎｏ．１〜Ｎｏ．ｎと列方向（横方向）の各項目Ａ〜Ｇとが交差する区画（図８の符号ｄ参照）には、必要に応じて判定条件２４０が記述される。なお、判定条件２４０が記述されない区画もある。この判定条件２４０が記述されない区画は、判定による条件分岐がない（読み飛ばされる）。
また、項目欄２２０を、例えばダブルクリックすると入力補助画面２５０（図８の符号ｄ参照）がポップアップされる。
上記項目欄２２０、計算式欄２３０、判定条件２４０、および入力補助画面２５０の詳細については、判定条件の決定動作と合せて後記する。
【００５６】
図９は、図７のブロックＢの詳細図である。
図９に示すように、エディタプログラム１１００は、中間ＤＢ１３００を参照して作成・メンテナンス処理を実行し、エディットデータ１１０１（「エディットデータ．ｘｌｓ」）を出力する。中間ＤＢ１３００は、エディタプログラム１１００と給与計算ＤＢ１４００との間に置かれ、給与計算ＤＢ１４００を参照して必要なデータを給与計算ＤＢ１４００から取得する。例えば、中間ＤＢ１３００は、複数の会社の制度に１システムで対応するため各社の各種定義データをそれぞれ格納してある。
【００５７】
エディタプログラム１１００と給与計算ＤＢ１４００との間に中間ＤＢ１３００を置き、必要なデータをそこで管理する。中間ＤＢ１３００を置くことで、エディタプログラム１１００は、給与計算ＤＢ１４００にデータを取りに行くことなく、中間ＤＢ１３００に必要なファイルがあれば作業を実行することができる。また、中間ＤＢ１３００を置くことで、複製・保存を簡単に行うことができる。さらに、データごとにお客様とやり取りすることが可能になる。
【００５８】
図１０は、図７のブロックＣの詳細図である。
図１０（ａ）に示すように、ルールエディタ１０００（図７参照）は、エディタプログラム１１００を実行し、ルール設定画面２００に示されるようなルールシートに基づいてルールＪａｖａファイル１１０２（図１０（ｂ）参照）と、テストシート１１０３（図１０（ｃ）参照）とを生成する。
テストシート１１０３に不足分は、手動で入力する。
【００５９】
<テストシート>
テストシート１１０３について説明する。
図１０（ｃ）に示すように、テストシート１１０３は、テスト入力データ記述シートであり、ルール内で使用する全項目の入力欄１１０４と、期待結果値（後記）の入力欄１１０５と、を有する。
入力欄１１０４は、テスト番号１〜ｎごとに、判定項目値およびその他項目値の全項目が入力される。上記判定項目値は、例えば、計算単位、優先結果値、給与計算対象区分、短時間勤務区分、歩引時給・当月手当計算、就業区分などである。上記その他項目値は、通勤時間・所定就業差引時、就業カレンダ区分などである。
入力欄１１０４には、条件分岐を網羅する入力値が自動的に入力されている。
期待結果値の入力欄１１０は、パターン番号ごとに、結果値と理論値が入力される。結果値とは、ルールテストツール１２００実行により、本ルールの設定により自動計算された値をいう。理論値とは、給与規制・法令等を正しく適用した場合の値をいう。
【００６０】
図１１は、図７のブロックＤの詳細図である。
図１１（ａ）に示すように、ルールテストツール１２００は、エディタプログラム１１００により生成されたルール１１０２（「ルール．Ｊａｖａ」）およびテストシート１１０３（「テストシート．ｘｌｓ」、その表示画面１１０３ａ）を参照してルールテストを実行する。
ルールテストツール１２００は、生成したテスト結果１２０１（「テスト結果．ｈｔｍｌ」）を出力する。また、給与計算共通Ｆｒａｍｅｗｏｒｋ（以下、Ｆｗ）および給与計算賃金Ｆｗ１５００は、ルールテストツール１２００が生成したテスト結果１２０１を利用することができる。
【００６１】
<テスト結果>
ルールエディタ１０００（図７参照）は、ルールテストツール１２００を実行し、出力結果を運用者が確認する。
図１１（ｂ）に示すように、テスト結果１２０１は、単体テストカバレッジ結果１１０４と、そのソース詳細を示すカバレッジ結果１１０５である。この切替は所定キーのダブルクリック等により行われる。カバレッジとは、上述したようにプログラム中のコードがどの程度実行されたかを分析することである。カバレッジは、テストの品質を示す指標となる。また、図１１（ｂ）の符号ａに示すように、テスト結果１２０１には、結果値入力済のテストシート１１０３が含まれる。
【００６２】
例えば、テストデータ実行（図３のステップＳ４「テストデータ実行」参照）において、エラーが発生した場合は、トレースログ（trace.log）を参照し、どの処理ターゲットでエラーが発生しているかを確認する。正常に終了した場合、すべての判定条件と計算式を通っているかをカバレッジツールの出力結果ファイルを参照して確認する。
具体的には、カバレッジツールの出力結果のfileリンクをクリックし、未カバレッジコードを確認する。識別色（例えば黄色）で記されている部分が未カバレッジコードであり、そのコードを通った回数も確認する。端数処理ありと端数処理なしを実行するため、テストケース×２が通過最大回数となる。
また、実行回数があるべき回数より少ない場合は、その一行上の記述に不備がないかを確認する。
さらに、テスト実行結果の正否を所定ルールＩＤを参照して確認する。意図した結果値が得られていない場合は、セルが警告色（例えば赤色）で表示される。
【００６３】
以上、ルールエディタ１０００の構成および利用の概要について説明した。
（条件分岐）
本実施形態の情報処理装置１００は、表（Ｅｘｃｅｌシート）上に記述した仕様情報から、条件分岐や計算式等の情報を得て自動でＪａｖａプログラムを生成するエディタプログラム１１００と、エディタプログラム１１００のテストシートを基に、各給与項目に設定する数値を変えて、条件分岐による条件分岐カバレッジをすべて実行して実行結果を取得するルールテストツール１２００と、を有する。エディタプログラム１１００は、ルール設定画面２００上で行う条件分岐に特徴がよく示されている。
【００６４】
図１２は、ルール設定画面上で行う条件分岐を説明する図である。
図１２（ａ）に示すように、行と列とからなる表形式のルール設定画面２０を設定し、ルール設定画面２０において、行方向（縦方向）の左端には、上から下にシーケンシャルに割り振られた行ナンバ（ここではＮｏ．１〜Ｎｏ．１０）２１を記述する。この行ナンバ（Ｎｏ．１〜Ｎｏ．１０）は、図１２の矢印ａに示すように、上から下にシーケンシャルに確認される。最後の行ナンバ（Ｎｏ．１０）に達すると、最初の行ナンバ（Ｎｏ．１）に戻る。
【００６５】
また、列方向（横方向）には、条件判定に使用する複数の項目Ａ〜Ｄからなる項目欄２２と、各項目Ａ〜Ｄで指定される給与計算式や計算結果値を記述した計算式欄２３と、が記述される。計算式欄２３は、例えば「ア」を行う処理、「イ」を行う処理などである。
行方向（縦方向）の行ナンバ（Ｎｏ．１〜Ｎｏ．１０）と列方向（横方向）の各項目Ａ〜Ｄとが交差する区画には、必要に応じて判定条件２４が記述される。なお、判定条件２４が記述されない区画もある。この判定条件２４が記述されない区画は、判定による条件分岐がない（読み飛ばされる：図１２の「→」参照）。
【００６６】
<条件分岐の手順>
条件分岐の手順は、予め決められている。
（１）図１２（ａ）の矢印ａに示すように、行ナンバ２１の上から下にシーケンシャルに前記区画を確認する。
【００６７】
（２）行ナンバ２１の最終行（Ｎｏ．１０）に達すると、図１２（ａ）の矢印ｂ，ｃ，ｄに示すように、右隣の項目に移行し、行ナンバ２１の上から下にシーケンシャルに前記区画を確認する。
【００６８】
（３）前記区画の確認手順中、区画に判定条件２４が記述されている場合、この区画の判定条件２４に記述された次段の（右隣の）項目に移行する。区画に判定条件２４が記述されていない場合、行ナンバ２１の最終行（Ｎｏ．１０）まで確認し、行ナンバ２１の最終行（Ｎｏ．１０）に達すると、図１２（ａ）の矢印ｂ，ｃ，ｄに示すように、右隣の項目に移行し、行ナンバ２１の上から下にシーケンシャルに前記区画を確認する。
【００６９】
（４）以下、各項目について、上記手順を繰り返し、最終段の項目（項目Ｄ）の区画に判定条件２４が記述されている場合、この区画の判定条件２４に記述された計算式欄２３の計算式に基づいて処理を行う。また、各項目の条件分岐の判定において、区画に判定条件２４の記述がない場合、行ナンバ２１の上から下にシーケンシャルに確認した上で、次段の（右隣の）項目に移行し、ここでも区画に判定条件２４に記述がない場合は、その次の項目に移行する。
【００７０】
これにより、図１２（ａ）の区画内の矢印（→）に示すように、ある項目の区画において次段の（右隣の）項目への条件分岐がない場合、結果的に、その行ナンバにおける計算式欄２３の計算式が用いられる。すなわち、ある項目の区画において次段の（右隣の）項目への条件分岐がその次の項目に移行して、そこでも条件分岐が次の項目に繋がると、条件分岐のパスが繋がるように該当する計算式欄２３の計算式を指定することができる。
【００７１】
例えば、図１２（ｂ）のフローに示すように、項目Ａの判定において、条件分岐１で項目Ａの値が○○（任意の条件を示す。以下同様）であるか判定し、「ａ１」である場合、条件分岐２に進む。項目Ａが「ａ１」である場合とは、図１２（ａ）に示すように、行ナンバ２１が（Ｎｏ．１〜Ｎｏ．６）の場合である。この場合は、次段の（右隣の）項目Ｂに移行する。
【００７２】
図１２（ｂ）のフローに戻って、項目Ｂの判定において、条件分岐２で項目Ｂの値が○○であるか判定し、「ｂ２」である場合、条件分岐３に進む。項目Ｂが「ｂ２」である場合とは、図１２（ａ）に示すように、行ナンバ２１が（Ｎｏ．３〜Ｎｏ．６）の場合である。この場合は、次段の（右隣の）項目Ｃに移行する。
以下同様に進み、項目Ｄの判定において、条件分岐４で項目Ｄの値が○○であるか判定し、「ｄ１」である場合、計算式欄２３の「オを行う」を実行する。
【００７３】
以下、上記条件分岐の手順の具体的方法について説明する。
再び、図８を参照して条件分岐の手順を説明する。
図１２で述べた基本的な考え方を、図８のルール設定画面２００に適用する。図１２のルール設定画面２０は、図８のルール設定画面２００に対応している。
図８に示すように、ルール設定画面２００は、行方向（縦方向）に行ナンバ２１０（計算式Ｎｏ．１〜Ｎｏ．ｎ）を記述するとともに、列方向（横方向）に複数の項目Ａ〜Ｇからなる項目欄２２０と、各項目Ａ〜Ｇで指定される給与計算式や計算結果値を記述した計算式欄２３０とを記述している。
行方向（縦方向）の計算式Ｎｏ．１〜Ｎｏ．ｎと列方向（横方向）の各項目Ａ〜Ｇとが交差する区画には、必要に応じて判定条件２４０が記述される。
【００７４】
図８の例では、行ナンバ２１０（計算式Ｎｏ．２〜Ｎｏ．８）の項目Ｃ「給与計算対象区分」で判定条件２４０（[==”1”]ＯＲ[==”8”]ＯＲ[==”9”]）が記述されている。したがって、前段の項目Ｂから項目Ｃ「給与計算対象区分」に移行し、給与計算対象区分の値が、１，８または９である場合は、項目Ｄの２〜７行目の区画に進み、短時間勤務区分の値が確認される。さらに、項目Ｅに進み、短時間歩引時給_前月_手当計算の値が確認され、その値が所定の値である場合は、２行目の計算式欄２３０を実行する。ここでは、計算結果値記述例として、<結果値>、<理論値>、<単価用>、<初任給>、および<汎用値>が記述される。図８の場合、<結果値>：『短時間歩引時給…』<／結果値>、<理論値>：ＮＵＬＬ<／理論値>、<単価用>：ＮＵＬＬ<／単価用>、<初任給>：ＮＵＬＬ<／初任給>、<汎用値>：ＮＵＬＬ<／汎用値>である。
したがって、条件分岐の手順は、条件分岐だけでよい。
【００７５】
以上、条件分岐の手順の具体的方法について説明した。
[実施例]
次に、実施例について説明する。
図１３は、メインメニュー画面４００を示す図である。
図１３に示すように、情報処理装置１００は、手順の「必須」，「０」，〜に従って各メニュー「初期設定」「メニュー設定」「基本情報設定」「項目定義」「利用項目設定」「中間値設定」「ルール作成」「Ｊａｖａコード生成」「ＤＢ登録」などを表示する。運用者は、手順に従って各メニューの各項目を手動またはプルダウンにより入力・設定する。
【００７６】
図１４は、ルールの登録を行うルール定義画面５００の画面遷移図であり、図１３のメインメニュー画面４００の「ルール作成」で「ルール設定画面へ」を起動すると表示される。
図１４に示すように、ルール定義画面５００は、このルール定義画面５００上でルールの登録を行うことで、図８に示すようなルール設定画面２００を作成するものである。
ルール定義画面５００は、ルール設定画面２００（図８参照）と同様に、行と列とからなる表形式であり、行方向（縦方向）の左端は、上から下にシーケンシャルに割り振られた行ナンバ５１０（ここでは計算式Ｎｏ．１〜Ｎｏ．ｎ）を記述する。行ナンバ５１０（計算式Ｎｏ．１〜Ｎｏ．ｎ）は、上から下にシーケンシャルに確認される。また、列方向（横方向）には、条件判定に使用する複数の項目Ａ〜Ｇからなる判定条件欄５２０と、各項目Ａ〜Ｇで指定される給与計算式や計算結果値を記述した計算式欄５３０と、が記述される。
【００７７】
行方向（縦方向）の計算式Ｎｏ．１〜Ｎｏ．ｎと列方向（横方向）の各項目Ａ〜Ｇとが交差する区画には、必要に応じて判定条件５４０が記述される。なお、判定条件５４０が記述されない区画もある。
また、結果値欄５２０を、例えばダブルクリックすると結果値設定画面５２１がポップアップされる。結果値欄５２０の判定条件５４０を、例えばダブルクリックすると結果値設定画面５２２（ＩＦ文入力）がポップアップされる。
また、計算式欄５３０を、例えばダブルクリックすると計算式設定画面５３１がポップアップされる。
なお、これらのポップアップ画面は、各設定完了後の設定キー、またはキャンセル／閉じキーの指定により閉じられ、ルール定義画面５００の通常表示に復帰する。
【００７８】
以上説明したように、給与計算システム１（図１参照）は、各社に給与計算サービスを提供する情報処理装置１００と、各社が所定の給与体系を有し、情報処理装置１００から給与計算サービスを受けて給与計算を実行する端末１１〜１４と、を備える。
情報処理装置１００は、給与体系が異なる各端末１１〜１４の情報に基づいて、行方向にシーケンシャルナンバを有し、列方向に各給与項目および給与項目の計算式等を有する表（Ｅｘｃｅｌシート）を作成し、シーケンシャルナンバと各給与項目とが交差する区画に、給与計算のための条件分岐を行う判定条件を定義する定義手段、シーケンシャルナンバに従って各給与項目を確認し、判定条件に基づいて隣接する給与項目に移行し、該当する計算式等を取得する条件分岐手段、条件分岐手段により取得された計算式等に基づいて給与計算を実行する給与計算手段として機能させるエディタプログラム１１００と、エディタプログラム１１００により作成された表（Ｅｘｃｅｌシート）にテスト用データを入力し、当該テスト用データが入力されたテスト用表に対して、条件分岐手段による条件分岐を実行させて実行結果を取得するルールテストツール１２００とを、実行する。
【００７９】
これにより、給与計算システム１の情報処理装置１００側では、端末１１〜１４からの給与計算要求および給与体系に関する情報を受け付け、各社ごとに異なる給与体系に関する情報に基づいて、各社の給与体系に適合した給与計算結果を給与計算サービスとして提供することができる。給与計算サービスを受ける各社側では、給与計算の委託により給与計算にかかる業務リソースの効率化を図ることができる。
【００８０】
情報処理装置１００は、エディタプログラム１１００が、Ｅｘｃｅｌシート上に記述したルールエディタシート（業務仕様書）から、条件分岐や計算式等の情報を得て自動でＪａｖａプログラムを生成する。また、エディタプログラム１１００が、テストデータを記述するテンプレートを自動作成し、テストエディタシート記述情報を基にＪａｖａコード生成する。エディタプログラム１１００は、ルールテストツール１２００と協働して、テストデータに対し、実行結果を返すことで、カバレッジ（条件分岐通過有無）を取得する。
【００８１】
これにより、プロミング作業を機械化することができ、この作業に要する人的および工数を削減することができる。例えば、数万人規模のデータ処理（給与計算）を現実的な時間で実行可能になる。
【００８２】
また、給与計算委託元の各社に対して、短納期、対応の柔軟性を確保することができる。
特に、下記のような格別の効果がある。
（１）「品質の均一化」：エディタプログラム１１００の記述内容がプログラムを記述した人に依存されないので、前に記述した人との認識違い等による誤りがない。その結果、給与計算結果の品質の均一化を図ることができる。
【００８３】
（２）「作業の分散化（人・時期）」：「業務仕様書が書ける人」が「プログラムを記述する人」となるので、専門性の高いＳＥ（Systems Engineer）を確保する必要性がない。このため、コスト削減および緊急時や繁忙期にタイムリーに作業をすることができる。
【００８４】
（３）「作業の簡素化」：各種マクロ機能により、テストエディタシートへの仕様の記述が効率良くできる。
【００８５】
（４）「顧客対応への活用」：仕様決定工程において、各社の担当者とルール設定画面２００等を見ながらインタラクティブに仕様を作成できる。
【００８６】
なお、本発明は前記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、前記した実施例は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００８７】
また、前記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、前記の各構成、機能
等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【００８８】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には殆どすべての構成が相互に接続されていると考えてもよい。
また、本実施形態に記載した技術的事項を適宜組合せて新たな技術を実現することができる。その他ハードウェア、ソフトウェア、データベース等の具体的な構成について、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【符号の説明】
【００８９】
１  給与計算システム
２  ネットワーク
１１〜１４  端末
１００  情報処理装置
１１０  制御部
１２０  記憶部
１３０  記憶装置
１４０  入力部
１５０  表示部
１６０  通信部（通信手段）
１０００  ルールエディタ
１１００  エディタプログラム（定義手段，条件分岐手段，給与計算手段）(給与計算プログラム)
１２００  ルールテストツール（テスト手段）
１３００  中間ＤＢ
１４００  給与計算ＤＢ
【図１】
2016071643.tif 000003
【図２】
2016071643.tif 000004
【図３】
2016071643.tif 000005
【図４】
2016071643.tif 000006
【図５】
2016071643.tif 000007
【図６】
2016071643.tif 000008
【図１２】
2016071643.tif 000009
【図７】
2016071643.tif 000010
【図８】
2016071643.tif 000011
【図９】
2016071643.tif 000012
【図１０】
2016071643.tif 000013
【図１１】
2016071643.tif 000014
【図１３】
2016071643.tif 000015
【図１４】
2016071643.tif 000016