(57)【要約】【課題】  変更されたプログラムの妥当性を確認しつつ作業効率を確保可能な担当者割当プログラム、このプログラムが実行されるサーバー、サーバーにクライアントを接続してなるネットワークシステムを提供する。【解決手段】  担当者割当プログラム１４は、変更内容をチェックするデバッグ担当者を予め所定の順序で登録した担当者名リストから、１つの変更に対して１人選択して、デバッグ担当者を自動的に割り当てている。ここで、ファイル変更部分の変更担当者がデバッグ担当者となった場合に、デバッグ担当者を変更している。【選択図】  図１
2005100346.tif 000002
【特許請求の範囲】
【請求項１】
サーバーに接続された複数のクライアントを備えるネットワークシステム用の担当者割当プログラムであって、
制御プログラムデータベース内に格納された制御プログラム毎の変更履歴を、当該制御プログラムを変更したクライアント毎の変更担当者名と共に格納する第１工程と、
前記クライアント毎の担当者名を格納した担当者データベースから、制御プログラム変更分をチェックする特定のチェック担当者名を選択する第２工程と、
前記第２工程において選択されたチェック担当者名が、この制御プログラムの変更担当者名に一致する場合には、このチェック担当者名を別の担当者名に変更して最終的なチェック担当者名として決定し、一致しない場合にはこの担当者名自体を最終的なチェック担当者名として決定する第３工程と、
を前記サーバーに実行させることを特徴とする担当者割当プログラム。
【請求項２】
前記担当者データベースは、チェック担当者に順番をつけて格納しており、
前記第２工程は、１番目に位置するチェック担当者を選択し、
前記第３工程は、前記第２工程において選択されたチェック担当者名が、この制御プログラムの変更担当者に一致する場合には、２番目に位置する担当者名を最終的なチェック担当者名として決定することを特徴とする請求項１に記載の担当者割当プログラム。
【請求項３】
前記第３工程は、この一致の有無に拘らず、最終的なチェック担当者の決定後に、この最終的なチェック担当者の順番を、最後に変更することを特徴とする請求項２に記載の担当者割当プログラム。
【請求項４】
前記第３工程は、最終的なチェック担当者の決定後に、総チェック数の少ない順番に、前記担当者データベースの担当者名を並べ替えることを特徴とする請求項２に記載の担当者割当プログラム。
【請求項５】
前記第３工程において決定された最終的なチェック担当者名を、このチェック担当者のクライアントに送信する第４工程を前記サーバーに実行させることを特徴とする請求項１〜請求項４のいずれか１項に記載の担当者割当プログラム。
【請求項６】
請求項１〜請求項５のいずれか１項に記載の担当者割当プログラムと、
前記制御プログラムが格納された制御プログラムデータベースと、
前記制御プログラム毎の変更履歴を、当該制御プログラムを変更した前記クライアント毎の変更担当者名と共に格納する変更履歴データベースと、
前記クライアント毎の担当者名を格納した担当者データベースと、
を備えることを特徴とするサーバー。
【請求項７】
請求項６に記載のサーバーと、前記サーバーに接続された複数の前記クライアントとを備えることを特徴とするネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、担当者割当プログラム、サーバー及びネットワークシステムに関するものであり、特に、車両等の制御プログラムのデバック処理をチェックする担当者を、ネットワークシステム上で自動的に割り当てるためのプログラム、サーバー及びクライアントを含むネットワークシステムに関する。
【背景技術】
【０００２】
従来のネットワークシステムとしては様々なものが知られている。
【０００３】
下記特許文献１に記載のプログラム競合の管理システムでは、プログラム修正結果の出力、プログラムが他の案件の修正対象であるか否かを判断するソースロードチェック、リリース対象のプログラムの名称の入力を受けた処理結果の出力、該当のプログラムのリリースの妥当性のチェックを行っている。
【０００４】
下記特許文献２に記載のテスト管理装置では、バグ修正担当者毎のバグ修正優先度リストを出力している。
【特許文献１】特開平５−２１６６３５号公報
【特許文献２】特開２００２−０４９５０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来の管理機能であれば、プログラム変更（修正を含む）の妥当性を検証することができない。すなわち、プログラム変更を行った担当者が、作業を間違った場合には、全体のプログラムが不完全なものとなる。そこで、プログラム変更を行う担当者以外の者が、当該変更プログラムのチェックを行えばよいが、誰がプログラムをチェックするかによって、作業効率に変動が生じる。
【０００６】
本発明は、このような課題に鑑みてなされたものであり、変更されたプログラムの妥当性を確認しつつ作業効率を確保可能な担当者割当プログラム、このプログラムが実行されるサーバー、サーバーにクライアントを接続してなるネットワークシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述の課題を解決するため、第１の発明に係る担当者割当プログラムは、サーバーに接続された複数のクライアントを備えるネットワークシステム用の担当者割当プログラムであって、以下の工程をサーバーに実行させることを特徴とする。
（第１工程）
制御プログラムデータベース内に格納された制御プログラム毎の変更履歴を、当該制御プログラムを変更したクライアント毎の変更担当者名と共に格納する。
（第２工程）
クライアント毎の担当者名を格納した担当者データベースから、制御プログラム変更分をチェックする特定のチェック担当者名を選択する。
（第３工程）
第２工程において選択されたチェック担当者名が、この制御プログラムの変更担当者名に一致する場合には、このチェック担当者名を別の担当者名に変更して最終的なチェック担当者名として決定し、一致しない場合にはこの担当者名自体を最終的なチェック担当者名として決定する。
【０００８】
このプログラムによれば、制御プログラムを変更した変更担当者とは別の人が、チェック担当者として決定されるので、変更されたプログラムの妥当性を確認しつつ、チェック担当者を決定するための効率を向上させることができる。
【０００９】
また、第２の発明に係る担当者割当プログラムにおいては、担当者データベースは、チェック担当者に順番をつけて格納しており、第２工程は、１番目に位置するチェック担当者を選択し、第３工程は、第２工程において選択されたチェック担当者名が、この制御プログラムの変更担当者に一致する場合には、２番目に位置する担当者名を最終的なチェック担当者名として決定し（１番目の担当者名の選択は取り消す）、第３工程は、この一致の有無に拘らず、最終的なチェック担当者の決定後に、この最終的なチェック担当者の順番を、最後に変更するか、或いは、第３工程は、最終的なチェック担当者の決定後に、総チェック数の少ない順番に、担当者データベースの担当者名を並べ替えることを特徴とする。
【００１０】
この場合、チェック担当者は、順番に決定が行われ、一旦、決定されたチェック担当者は、最後に順番が変更されるため、或いは、総チェック数の少ない順番に担当者名が並べ替えられるため、チェック担当者が公平に分配されることとなり、作業分担割合が均一となり、全体としての作業効率を向上させることができる。
【００１１】
また、第３の発明に係る担当者割当プログラムにおいては、第３工程において決定された最終的なチェック担当者名を、このチェック担当者のクライアントに送信する第４工程をサーバーに実行させることを特徴とする。
【００１２】
すなわち、決定されたチェック担当者名は、その担当者のクライアント（コンピュータ）に送信されるため、担当者は座席に居ながらにして、自分が当該チェック担当者である旨を知ることができる。
【００１３】
また、第４の発明に係るサーバーは、第１〜第３の発明に記載の担当者割当プログラムと、制御プログラムが格納された制御プログラムデータベースと、制御プログラム毎の変更履歴を、当該制御プログラムを変更したクライアント毎の変更担当者名と共に格納する変更履歴データベースと、クライアント毎の担当者名を格納した担当者データベースと、を備える。このサーバーによれば、担当者割当プログラムとデータベースを備えているため、上述の処理を実行することができる。
【００１４】
また、第５の発明に係るネットワークシステムは、第４の発明に記載のサーバーと、サーバーに接続された複数のクライアントとを備えることを特徴とする。このネットワークシステムによれば、上述の一連の処理をネットワーク上で行うことができる。
【発明の効果】
【００１５】
本発明の担当者割当プログラムによれば、制御プログラムを変更した変更担当者とは別の人が、チェック担当者として決定されるので、変更されたプログラムの妥当性を確認しつつ、チェック担当者を決定するための効率を向上させることができ、これを用いたサーバー及びネットワークシステムは、かかる処理をネットワーク上で行うことができる。
【発明を実施するための最良の形態】
【００１６】
以下、実施の形態に係る担当者割当プログラムを実行するためのネットワークシステムについて説明する。なお、同一要素には、同一符号を用いることとし、重複する説明は省略する。
【００１７】
図１は、実施の形態に係るネットワークシステムの構成図である。
【００１８】
このネットワークシステムは、サーバーＳと、サーバーＳに接続された複数のクライアントｎ１，ｎ２，ｎ３，ｎ４・・・ｎＮを備えている（Ｎは整数）。サーバーＳ及びクライアントｎ１，ｎ２，ｎ３，ｎ４・・・ｎＮは、それぞれがコンピュータである。担当者１〜Ｎは、それぞれクライアントｎ１〜ｎＮを、個人専用の端末として使用している。
【００１９】
任意のクライアントｎｋ（ｋは整数）は、サーバーＳ内のデータベースにアクセスすることができ、本例では、当該サーバーＳは、車両の制御プログラム開発に使用されているものとする。制御プログラムとしては、車両内の電子制御ユニット（ＥＣＵ）の制御プログラム、エンジン制御ユニットの制御プログラム等が列挙される。
【００２０】
制御プログラムの一例としては、車両のイグニッションスイッチがＯＮであって、入力される車速が規定値を超えた場合には、ドアロックを行う指令を作成するドアロック制御用のプログラムなどが挙げられるが、ここでは制御プログラム自体の内容は適当なものを想定することができる。
【００２１】
サーバーＳは、このような制御プログラム（ファイル）を複数格納する制御プログラムデータベース１１、クライアントｎｋ毎の担当者１〜Ｎの名前のリストを格納する担当者データベース１２、制御プログラム毎の変更履歴を、当該制御プログラムを変更したクライアント毎の変更担当者名と共に格納する変更履歴データベース１３と、変更された制御プログラムをチェックするための担当者を割り当てる担当者割当プログラム１４、決定された担当者のアドレスに当該決定の旨を送信する送受信プログラム１５を備えている。
【００２２】
各データベース１１，１２，１３、担当者割当プログラム１４及び送受信プログラム１５は、サーバーＳの記憶装置１０内に格納されている。サーバーＳは、記憶装置１０内のオペレーションシステム（ＯＳ）や各種プログラムを実行させるための中央処理装置（ＣＰＵ）２０や、Basic Input/Output System（ＢＩＯＳ）の格納されたＲＯＭ３０を備えている。なお、各クライアントｎｋもコンピュータであるため、その基本構成はサーバーＳと同一である。
【００２３】
図２は、ネットワークシステム用の担当者割当プログラム１４のフローチャートである。
【００２４】
担当者割当プログラム１４は、以下の工程をサーバーＳに実行させる。
【００２５】
任意の担当者ｋ（ｋは整数）が、第ｋ番目のクライアントｎｋから、サーバーＳにアクセスし、制御プログラムデータベース１１内に格納された制御プログラムを変更すると、変更前の制御プログラムと、変更後の制御プログラムの差分が検出される。（１）この差分データ、（２）変更を行った担当者（担当者データベースに格納された担当者名リストから選択される）、（３）変更日時が、変更履歴データベース１３内に格納される。
【００２６】
かかる変更が行われた翌日、担当者割当プログラム１４が起動する。担当者割当プログラム１４は、まず、制御プログラムに変更があるかどうかを判定する。すなわち、変更履歴データベース１３内に、前日の日付で変更された制御プログラムがあるかどうかを判定し（Ｓ１）、変更がない場合には処理を終了する。変更履歴データベース１３内に、前日の日付で変更された制御プログラムがあるかどうかを判定し（Ｓ１）、変更がある場合には、変更された差分データのデバッグ担当者（チェック担当者）Ｐを決定する。
【００２７】
デバッグ担当者Ｐの決定にあたっては、担当者データベース１２内の担当者名リスト（テーブル）の一番先頭の者を選択する（Ｓ２）。次に、変更担当者がデバッグ担当者Ｐに一致するかどうかを判定し（Ｓ３）、一致した場合には、上記テーブルの２番目の者を選択する（Ｓ４）。変更担当者がデバッグ担当者Ｐに一致するかどうかを判定し（Ｓ３）、一致しない場合には、既に選択されたテーブルの１番目の者をデバッグ担当者Ｐとして決定する。
【００２８】
このようにデバッグ担当者Ｐが決定された後、この担当者ｋ（＝Ｐ）の属するｋ番目のクライアントｎｋに、メールの自動送信を行う（Ｓ５）。メールの送受信には、送受信プログラム１５を用いる。このように、担当者割当プログラム１４は、決定された最終的なデバッグ担当者名ｋを、このデバッグ担当者ｋのクライアントｎｋに送信する工程をサーバーＳに実行させている。したがって、担当者ｋは座席に居ながらにして、自分がデバッグ担当者である旨を知ることができる。
【００２９】
しかる後、上記テーブルから、ステップＳ５において最終的に決定されたデバッグ担当者Ｐを削除し（Ｓ６）、このデバッグ担当者Ｐをテーブルの最後の順番に挿入する（Ｓ７）。なお、テーブルは、担当者データベース１２内に格納されている。
【００３０】
図３は、この順列が記憶されたテーブルを示す図である。
【００３１】
初期状態では、テーブル内の担当者名リストは、図３（ａ）のように、担当者１，２，３・・・Ｎの順番に並んでいる。担当者１がデバッグ担当者として最終的に決定された場合には（Ｓ５）、この担当者１は、図３（ｂ）のように、テーブルの最後に変更される。また、担当者１の代わりに、担当者２がデバッグ担当者として最終的に決定された場合には（Ｓ５）、図３（ｃ）のように、担当者２が、テーブルの最後に変更される。
【００３２】
次に、この担当者割当プログラム１４について、更に詳細に説明する。
【００３３】
図６は変更履歴データベース１３内に格納された変更履歴のテーブルを示す図である。
【００３４】
図６に示すように、履歴のファイルが、ｆｉｌｅ（１）〜ｆｉｌｅ（Ｎ）まであるとすると、各ファイルは、バージョンｖｒ、変更による差分データの内容ｄｆ、変更担当者名ｐｎ、変更日時ｄｔを有しており、バージョンは変更の度にあがるようになっている。
【００３５】
図４は担当者割当プログラム１４の更に詳細なフローチャートである。
【００３６】
担当者割当プログラム１４は、変更履歴データベース１３を用いて、以下の工程をサーバーＳに実行させる。
【００３７】
まず、対象となるファイル番号ｍ（１〜Ｎ）が、ファイル番号ｍの最大値Ｍ以下であるかどうかについて判定する（Ｓ１１）。この判定の結果、ファイル番号ｍが最大値Ｍを超えた場合には、処理を終了する。この判定の結果、ファイル番号ｍが最大値Ｍ以下の場合には、次の工程を実行する。
【００３８】
次の工程では、前日の履歴ｆ（ｍ，ｖｒ）と、本日の履歴ｆ（ｍ，ｖｒ）とが一致しないかどうかを判定する（Ｓ１２）。すなわち、前日の履歴ｆに含まれるファイル番号ｍと、バージョンｖｒが、本日の履歴ｆに含まれるファイル番号ｍと、バージョンｖｒにそれぞれ一致する場合には、制御プログラムの対象ファイルに変更が行われていないものと判断し、ファイル番号ｍに１を加えて（Ｓ１８）、ステップＳ１１に戻り、以降の処理を繰り返す。
【００３９】
ステップＳ１２において、前日の履歴ｆに含まれるファイル番号ｍと、バージョンｖｒが、本日の履歴ｆに含まれるファイル番号ｍと、バージョンｖｒに一致しない場合には、制御プログラムの対象ファイルに変更が行われたものと判断し、このファイルに対するデバッグ担当者Ｐを、担当者データベース１２内の担当者名リストの１番目の者ＤＰ（１）に設定する（Ｓ１３）、（図５（ａ）参照）。
【００４０】
なお、図５は担当者名の順列が記憶されたテーブルを示す図である。
【００４１】
次に、履歴ｆ（ｍ，ｖｒ，ｐｎ）に含まれる変更担当者ｐｎが、デバッグ担当者Ｐ＝ＤＰ（１）に一致するかどうかを判定し（Ｓ１４）、一致する場合には、デバッグ担当者Ｐを担当者名リストの２番目の者ＤＰ（２）に設定し（Ｓ１５）、しかる後、この担当者名リストの２番目の者ＤＰ（２）を、最後の順番ＤＰ（Ｎ）に変更する（Ｓ１６）（図５（ｃ）参照）。このとき、順番変更前において最後であった者ＤＰ（Ｎ）は、順番が一つ繰り上がりＤＰ（Ｎ−１）となる（Ｓ１６）。
【００４２】
なお、ステップＳ１４において、変更担当者ｐｎとデバッグ担当者Ｐ＝ＤＰ（１）が、一致しない場合には、デバッグ担当者Ｐは当初に決定された第１番目の者ＤＰ（１）のままとし、これを最後の順番ＤＰ（Ｎ）に変更する（Ｓ１９）（図５（ｂ）参照）。このとき、順番変更前において最後であった者ＤＰ（Ｎ）は、順番が一つ繰り上がりＤＰ（Ｎ−１）となる（Ｓ１９）。デバッグ担当者Ｐが確定すると、このデバッグ担当者Ｐに属するクライアントに自動的にメールが送信され、ファイル番号ｍに１を加えて（Ｓ１８）、ステップＳ１１に戻り、以降の処理を繰り返す。
【００４３】
複数のファイルに分割された制御プログラムの上述の変更履歴は、各ファイル毎に変更担当者、変更日時、変更差分等を有しているが、これらは変更履歴データベース内に保存されており、一定時間毎（本例では１日に１回）に、前回チェック時との変更差分を検出している。担当者割当プログラム１４は、変更内容をチェックするデバッグ担当者を予め所定の順序で登録した担当者名リストから、１つの変更に対して１人選択して、デバッグ担当者を自動的に割り当てている。そして、ファイル変更部分の変更担当者がデバッグ担当者となった場合には、デバッグ担当者を変更している。
【００４４】
すなわち、上述のデバッグ担当者割当プログラム１４は、以下の工程を順次実行している。
（第１工程）
制御プログラムデータベース１１内に格納された制御プログラム毎の変更履歴を、当該制御プログラムを変更したクライアントｎｋ毎の変更担当者ｋの名前と共に格納する。
（第２工程）
クライアントｎｋ毎の担当者名を格納した担当者データベース１２から、制御プログラム変更分（差分データ）をチェックする特定のデバッグ担当者名（本例では担当者名リストの１番目）を選択する。
（第３工程）
第２工程において選択されたデバッグ担当者名が、この制御プログラムの変更担当者名に一致する場合には、このデバッグ担当者名を別の担当者名に変更して（本例では担当者名リストの２番目）、最終的なチェック担当者名として決定し、一致しない場合には、この担当者名自体（本例では担当者名リストの１番目）を最終的なチェック担当者名として決定する。
【００４５】
この担当者割当プログラム１４によれば、制御プログラムを変更した変更担当者とは別の人が、デバッグ担当者として決定されるので、変更されたプログラムの妥当性を確認しつつ、デバッグ担当者を決定するための効率を向上させることができる。
【００４６】
また、本例の担当者割当プログラム１４においては、担当者データベース１２は、デバッグ担当者に順番をつけて格納している。
【００４７】
すなわち、上述の第２工程では、１番目に位置するチェック担当者を選択しており、第３工程では、第２工程において選択されたデバッグ担当者名が、この制御プログラムの変更担当者に一致する場合には、２番目に位置する担当者名を最終的なデバッグ担当者名として決定している。この第３工程では、デバッグ担当者が変更担当者に一致するかどうかに拘らず、最終的なデバッグ担当者の決定後に、この最終的なデバッグ担当者の順番を、最後に変更している。
【００４８】
上述の担当者割り当てプログラムでは、各デバッグ担当者間の作業負荷にばらつきが発生することがある。すなわち、特定のプログラムの変更担当者が連続して大量の変更などを行った場合、それ以外の担当者にデバッグ作業が割り当てられることにより、作業負荷が増大すると共に、変更を加えた特定の変更担当者自身にはデバッグ作業は全く割り当てられないため、作業負荷が減少することとなる。
【００４９】
そこで、過去の作業負荷に基づいてデバッグ担当者割り当て用のテーブルの優先順位を変更する改良を行った。
【００５０】
次に、別の形態に係る担当者割り当てプログラムについて説明する。
【００５１】
図７は、改良された担当者割当プログラム１４のフローチャートである。
【００５２】
担当者割当プログラム１４は、変更履歴データベース１３を用いて、以下の工程をサーバーＳに実行させる。
【００５３】
なお、プログラムの変更の履歴のファイルは、ｆｉｌｅ（１）〜ｆｉｌｅ（Ｎ）まであり、各ファイルは、図６に示したように、バージョンｖｒ、変更による差分データの内容ｄｆ、変更担当者名ｐｎ、変更日時ｄｔを有しており、バージョンは変更の度にあがるようになっている。
【００５４】
まず、対象となるファイル番号ｍ（１〜Ｎ）が、ファイル番号ｍの最大値Ｍ以下であるかどうかについて判定する（Ｓ２１）。この判定の結果、ファイル番号ｍが最大値Ｍを超えた場合には、処理を終了する。この判定の結果、ファイル番号ｍが最大値Ｍ以下の場合には、次の工程を実行する。
【００５５】
次の工程では、前日のバージョンｖｒが、本日のバージョンｖｒに一致しないかどうかを判定し、一致した場合には、制御プログラムの対象ファイルに変更が行われていないものと判断し（Ｓ２２）、ファイル番号ｍに１を加えて（Ｓ２８）、ステップＳ２１に戻り、以降の処理を繰り返す。
【００５６】
ステップＳ２２において、前日のバージョンｖｒが、本日のバージョンｖｒに一致しない場合には、制御プログラムの対象ファイルに変更が行われたものと判断し、このファイルに対するデバッグ担当者Ｐを、担当者データベース１２内の担当者名リストの１番目の者ｇ（１，ｄｐｎ）に設定する（Ｓ２３）。
【００５７】
なお、図８は担当者名の順列が記憶されたテーブルを示す図である。「ｇ」は、テーブルの順位を示す変数で、「ｄｐｎ」はデバック担当者の名前を示す。なお、「ｄｖｌ」は、デバッグ担当積算行数を示す。すなわち、リストの第1番目に位置する「Kato」氏は、これまでに合計で１０行のデバッグを担当したということが示されている。
【００５８】
次に、ファイル変更履歴に含まれる変更担当者ｐｎが、リストの第1番目のデバッグ担当者ｄｐｎに一致するかどうかを判定し（Ｓ２４）、一致する場合には、デバッグ担当者Pを担当者名リストの第２番目の担当者ｇ（２，ｄｐｎ）に設定し（Ｓ２５）、一致しない場合には、そのまま担当者リストの第１番目の担当者ｇ（１，ｄｐｎ）となるが、ステップS２６では、これらの条件に応じて、デバッグ担当者が確定される。デバッグ担当者Ｐが確定すると、このデバッグ担当者Ｐの属するクライアントに自動的にメールが送信され、デバッグ担当者テーブルをデバッグ積算行数の小さい順に並べ替え（S２７）、しかる後、ファイル番号ｍに１を加えて（Ｓ２８）、ステップＳ２１に戻り、以降の処理を繰り返す。
【００５９】
すなわち、上述の例では、ファイルの変更担当者とは違う担当者をデバッグ担当者に割り当てるが、割り当てた後に、デバッグ積算行数の少ない担当者が、リストの上位にくるように設定されている。
【００６０】
図９は、ステップS２７において並べ替えられた担当者名の順列が記憶されたテーブルを示す図である。本例では、初期状態からの今回変更行数ｖｌ＝４０である。「ｇ」は、テーブルの順位を示す変数で、「ｄｐｎ」はデバック担当者の名前、「ｄｖｌ」はデバッグ担当積算行数、「ｄｒ」はデバッグ分担比率（ｓｖｌ／ｔｏｔａｌ）％を示し、総行数ｔｏｔａｌは本例では１０００行であるとする。すなわち、リストの第1番目に位置する「Ｎａｄａ」氏は、これまでに合計で１５行のデバッグを担当し、これは全体の１．５％に相当するということである。
【００６１】
要するに、総作業量の少ない担当者に、なるべく仕事が割り当てられることで、作業負荷を均一化させることができる。これにより、ある特定の変更担当者が大量のプログラム変更を行った場合、そのときには、デバッグ担当には割り当てられないが、デバッグの積算行数は小さいため、その後、他の変更担当者がプログラム変更を行った場合のデバッグ担当には数多く割り当てられることとなり、長期的には作業負荷が均一化される。
【００６２】
図１０は、改良された担当者割当プログラム１４に別の手法を適用したもののフローチャートである。
【００６３】
担当者割当プログラム１４は、変更履歴データベース１３を用いて、以下の工程をサーバーＳに実行させる。
【００６４】
まず、対象となるファイル番号ｍ（１〜Ｎ）が、ファイル番号ｍの最大値Ｍ以下であるかどうかについて判定する（Ｓ３１）。この判定の結果、ファイル番号ｍが最大値Ｍを超えた場合には、フラグＦ＝０に設定し（Ｓ４４）、処理を終了する。この判定の結果、ファイル番号ｍが最大値Ｍ以下の場合には、次の工程を実行する。
【００６５】
次の工程では、前日のファイルのバージョンｆ（ｖｒ）が、本日のファイルのバージョンｆ（ｖｒ）に一致しないかどうかを判定し（Ｓ３２）、一致した場合には、制御プログラムの対象ファイルに変更が行われていないものと判断し、ファイル番号ｍに１を加えて（Ｓ４３）、ステップＳ３１に戻り、以降の処理を繰り返す。
【００６６】
ステップＳ３２において、前日のファイルのバージョンｆ（ｖｒ）が、本日のファイルのバージョンｆ（ｖｒ）に一致しない場合には、制御プログラムの対象ファイルに変更が行われたものと判断し、総変更行数ｔｏｔａｌに変更の差分行数ｆ（ｖｌ）を加算したものが、カウンタの最大値ＭＡＸを超えたかどうかを判定し（Ｓ３３）、超えていない場合には、これまでの総変更行数ｔｏｔａｌに今回の差分行数ｆ（ｖｌ）を加算して（Ｓ４５）、次の工程を実行する。ステップＳ３３において、カウンタの最大値ＭＡＸを超えた場合には、総変更行数ｔｏｔａｌ＝０とし、フラグ＝１として以降の処理を実行する。なお、フラグが１の場合には、担当者割り当てのテーブル（担当者名リスト）は前回のものを使用する。
【００６７】
ステップＳ３５では、変更されたファイルに対するデバッグ担当者Ｐを、担当者データベース１２内の担当者名リストの１番目の者ｇ（１，ｄｐｎ）に設定する。
【００６８】
なお、図１１は担当者名の順列が記憶されたテーブルを示す図である。「ｇ」は、テーブルの順位を示す変数で、「ｄｐｎ」はデバック担当者の名前を示す。なお、図９における「ｄｖｌ」は、デバッグ担当積算行数を示す。すなわち、リストの第1番目に位置する「Nada」氏は、これまでに合計で１５行のデバッグを担当したということが示されている。
【００６９】
次に、ファイル変更履歴に含まれる変更担当者ｆ（ｐｎ）が、リストの第1番目のデバッグ担当者ｆ（１，ｄｐｎ）に一致するかどうかを判定し（Ｓ３６）、一致する場合には、デバッグ担当者Pを担当者名リストの第２番目の担当者ｇ（２，ｄｐｎ）に設定し（Ｓ３７）、一致しない場合には、そのまま担当者リストの第１番目の担当者ｇ（１，ｄｐｎ）となるが、ステップS３８では、これらの条件に応じて、デバッグ担当者が確定される。デバッグ担当者Ｐが確定すると、このデバッグ担当者Ｐの属するクライアントに自動的にメールが送信され、次に、カウンタの最大値を超えていないかどうか（Ｆ＝１）について判定される（Ｓ３９）。
【００７０】
カウンタの最大値を超えている場合（Ｆ＝１）、テーブルに格納された値ｇ（ｎ，ｄｖｌ）、差分表記のテーブルｄｆ＝０，ｇ（ｎ，ｄｒ）も前回値とし、フラグＦ＝０を代入して次の工程を実行する（S４０）。
【００７１】
ステップＳ３９において、カウンタの最大値を超えていない場合（Ｆ＝０）、今回のデバッグ担当積算行数ｇ（ｄｖｌ）は、前回までのデバッグ担当積算行数ｇ（ｄｖｌ）に、今回のデバック差分行数ｆ（ｖｌ）を加えたものとし、今回のデバッグ分担比率ｇ（ｄｒ）は、前回までのデバッグ分担比率ｇ（ｄｒ）に比例定数Ｋを掛け、このデバッグ分担比率ｇ（ｄｖ）を総積算デバッグ行数ｔｏｒｔａｌで除算して、１−Ｋを掛けることによって求めることができる（Ｓ４１）。なお、Ｋは０〜１の定数である。すなわち、これまでのデバッグ担当積算行数とその比率ｄｒが求められる。
【００７２】
次に、ステップ４２では、デバッグ担当者テーブルを、デバッグ分担比率ｄｒが小さい順に並べ替え（Ｓ４２）、しかる後、ファイル番号ｍに１を加えて（Ｓ４３）、ステップＳ３１に戻り、以降の処理を繰り返す。
【００７３】
すなわち、上述の例では、ファイルの変更担当者とは違う担当者をデバッグ担当者に割り当てるが、割り当てた後に、デバッグ分担比率ｄｒの少ない担当者が、リストの上位にくるように設定されている。
【００７４】
以上のフローにおいても、複数のファイルに分割された制御プログラムの上述の変更履歴は、各ファイル毎に変更担当者、変更日時、変更差分等を有しているが、これらは変更履歴データベース内に保存されており、一定時間毎（本例では１日に１回）に、前回チェック時との変更差分などを検出している。担当者割当プログラム１４は、変更内容をチェックするデバッグ担当者を予め所定の順序で登録した担当者名リストから、１つの変更に対して１人選択して、デバッグ担当者を自動的に割り当てている。そして、ファイル変更部分の変更担当者がデバッグ担当者となった場合には、デバッグ担当者を変更している。
【００７５】
したがって、デバッグ担当者は、テーブルに記録された順番に決定が行われ、一旦、決定されたデバッグ担当者は、最後または積算デバッグ数の少ない順に、順番が変更されるため、デバッグ担当者が公平に分配されることとなり、作業分担割合が均一となり、全体としての作業効率を向上させることができる。すなわち、担当者データベースは、デバッグ担当者（チェック担当者）に順番（ｎ）をつけて格納しており、第３工程は、最終的なデバッグ担当者の決定後に、総チェック数（積算デバッグ数（積算デバッグ行数、デバッグ分担比率））の少ない順番に、担当者データベース１２の担当者名を並べ替える。
【００７６】
また、上述のサーバーＳによれば、担当者割当プログラム１４とデータベース１１，１２，１３を備えているため、上述の処理を実行することができ、このネットワークシステムは、これら一連の処理をネットワーク上で行うことができる。
【産業上の利用可能性】
【００７７】
本発明は、担当者割当プログラム、サーバー及びネットワークシステムに利用することができ、特に、車両等の制御プログラムのデバック処理をチェックする担当者を、ネットワークシステム上で自動的に割り当てるためのプログラム、サーバー及びクライアントを含むネットワークシステムに利用することができる。
【図面の簡単な説明】
【００７８】
【図１】実施の形態に係るネットワークシステムの構成図である。
【図２】ネットワークシステム用の担当者割当プログラム１４のフローチャートである。
【図３】担当者の順列が記憶されたテーブルを示す図である。
【図４】担当者割当プログラム１４の更に詳細なフローチャートである。
【図５】担当者名の順列が記憶されたテーブルを示す図である。
【図６】変更履歴データベース１３内に格納された変更履歴のテーブルを示す図である。
【図７】改良された担当者割当プログラム１４のフローチャートである。
【図８】担当者名の順列が記憶されたテーブルを示す図である。
【図９】ステップS２７において並べ替えられた担当者名の順列が記憶されたテーブルを示す図である。
【図１０】改良された担当者割当プログラム１４に別の手法を適用したもののフローチャートである。
【図１１】担当者名の順列が記憶されたテーブルを示す図である。
【符号の説明】
【００７９】
１０・・・記憶装置、１１・・・制御プログラムデータベース、１２・・・担当者データベース、１３・・・変更履歴データベース、１４・・・担当者割当プログラム、１５・・・送受信プログラム、ｎ１，ｎ２，ｎ３，ｎ４・・・ｎＮ・・・クライアント、Ｓ・・・サーバー。
【図１】
2005100346.tif 000003
【図２】
2005100346.tif 000004
【図３】
2005100346.tif 000005
【図４】
2005100346.tif 000006
【図５】
2005100346.tif 000007
【図６】
2005100346.tif 000008
【図７】
2005100346.tif 000009
【図８】
2005100346.tif 000010
【図９】
2005100346.tif 000011
【図１０】
2005100346.tif 000012
【図１１】
2005100346.tif 000013