(57)【要約】【課題】開発環境における情報漏洩を抑止しつつ、開発作業上の事故や工程遅延を低減可能とする。【解決手段】開発支援システム１００１を、管理対象データに対するユーザの処理権限を、管理対象データの種類および当該管理対象データに対する処理内容の種類に対応付けた管理情報３００を格納する記憶部１００３と、ユーザの識別情報および該当ユーザによる操作を受け付ける入力部１００８と、入力部１００８で受け付けたユーザの識別情報に基づき、記憶部１００３の管理情報３００にて、該当ユーザが保持する処理権限を特定し、当該処理権限における、該当ユーザが扱いうる管理対象データの種類および当該管理対象データに対する処理内容の種類が、操作の対象である管理対象データおよび当該管理対象データに対する処理内容を範囲に含むか判定し、ユーザの操作が処理権限の範囲に含まれる場合に、操作を許容する判断処理部１１０とから構成する。【選択図】図２
2014203293.tif 000002
【特許請求の範囲】
【請求項１】
管理対象データに対するユーザの処理権限を、管理対象データの種類および当該管理対象データに対する処理内容の種類に対応付けた管理情報を格納する記憶部と、
ユーザの識別情報および該当ユーザによる操作を受け付ける入力部と、
前記入力部で受け付けたユーザの識別情報に基づき、前記記憶部の管理情報にて、該当ユーザが保持する処理権限を特定し、当該処理権限における、該当ユーザが扱いうる管理対象データの種類および当該管理対象データに対する処理内容の種類が、前記操作の対象である管理対象データおよび当該管理対象データに対する処理内容を範囲に含むか判定し、前記ユーザの操作が前記処理権限の範囲に含まれる場合に、前記操作を許容する判断処理部と、
を備えることを特徴とする開発支援システム。
【請求項２】
前記記憶部が、各管理対象データに関して、処理内容に応じて必要な処理権限を規定した定義情報を更に格納するものであり、
前記入力部が、ユーザの識別情報の入力を受け付けるものであり、
前記入力部で受け付けたユーザの識別情報に基づき、前記記憶部の管理情報にて、該当ユーザが保持する処理権限を特定し、当該特定した前記ユーザの処理権限を処理権限の範囲に含む、管理対象データおよび当該管理対象データに対する処理内容を前記記憶部の定義情報で特定し、当該特定した前記管理対象データおよび前記処理内容の情報を、操作可能情報として出力部に表示する表示処理部を更に備える、
ことを特徴とする請求項１に記載の開発支援システム。
【請求項３】
前記表示処理部における、前記操作可能情報を出力部に表示する処理の実行に伴って、
前記入力部が、前記ユーザの識別情報および該当ユーザによる操作を受け付けて、前記判断処理部が処理を実行するものである、
ことを特徴とする請求項２に記載の開発支援システム。
【請求項４】
前記記憶部は、管理対象データの種類別および管理対象データに対する処理内容の種類別の重要度情報を更に格納するものであり、
前記入力部は、所定の開発業務に要求される、所定管理対象データに対する所定処理内容を規定した必要処理権限の入力を受け付けるものであり、
前記入力部で受け付けた必要処理権限と、前記記憶部の管理情報が含む各ユーザ保持の処理権限とを照合し、前記必要処理権限に対し、各ユーザが保持していない不足処理権限を特定し、各ユーザの前記不足処理権限と前記記憶部の重要度情報とを照合して、各ユーザにおいて不足する不足処理権限に対応した重要度情報を取得し、当該取得した重要度情報を開発リスク情報として該当ユーザに対応付けて出力部に表示する権限付与支援部を備える、
ことを特徴とする請求項１に記載の開発支援システム。
【請求項５】
前記記憶部は、前記重要度情報として、管理対象データの種類別および管理対象データに対する処理内容の種類別の重要度の数値を格納するものであり、
前記権限付与支援部は、各ユーザの前記不足処理権限と前記記憶部の重要度情報とを照合する処理において、各ユーザにおいて不足する不足処理権限に対応した重要度の数値を取得し、当該取得した数値を該当ユーザ毎に合算した合算値を前記開発リスク情報とし、当該開発リスク情報たる前記合算値の大小に基づいて前記各ユーザをソートして出力部に表示するものである、
ことを特徴とする請求項４に記載の開発支援システム。
【請求項６】
管理対象データに対するユーザの処理権限を、管理対象データの種類および当該管理対象データに対する処理内容の種類に対応付けた管理情報を格納する記憶部と、ユーザの識別情報および該当ユーザによる操作を受け付ける入力部とを備える情報処理装置が、
前記入力部で受け付けたユーザの識別情報に基づき、前記記憶部の管理情報にて、該当ユーザが保持する処理権限を特定し、当該処理権限における、該当ユーザが扱いうる管理対象データの種類および当該管理対象データに対する処理内容の種類が、前記操作の対象である管理対象データおよび当該管理対象データに対する処理内容を範囲に含むか判定し、前記ユーザの操作が前記処理権限の範囲に含まれる場合に、前記操作を許容する処理を実行する、
ことを特徴とする開発支援方法。
【請求項７】
管理対象データに対するユーザの処理権限を、管理対象データの種類および当該管理対象データに対する処理内容の種類に対応付けた管理情報を格納する記憶部と、ユーザの識別情報および該当ユーザによる操作を受け付ける入力部とを備える情報処理装置に、
前記入力部で受け付けたユーザの識別情報に基づき、前記記憶部の管理情報にて、該当ユーザが保持する処理権限を特定し、当該処理権限における、該当ユーザが扱いうる管理対象データの種類および当該管理対象データに対する処理内容の種類が、前記操作の対象である管理対象データおよび当該管理対象データに対する処理内容を範囲に含むか判定し、前記ユーザの操作が前記処理権限の範囲に含まれる場合に、前記操作を許容する処理を実行させる、
ことを特徴とする開発支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、開発支援システム、開発支援方法、および開発支援プログラムに関するものであり、具体的には、開発環境における情報漏洩を抑止しつつ、開発作業上の事故や工程遅延を低減可能とする技術に関する。
【背景技術】
【０００２】
鉄道や金融の各種基幹システムなど規模が大きなシステムを開発する場合、必要な機能毎に人員を割り当てた大規模な開発体制を敷いて作業を進めることが多い。このような大規模開発にあたっては、外部委託先の外国企業等を含め、さまざまな開発経験、スキルを持った多数の開発者が関与することで、種々の問題が発生する可能性がある。
【０００３】
すなわち具体的には、悪意ある開発者による情報漏洩や、作業内容に対して担当開発者のスキルが不足していたことによる事故(例：スキル不足の開発者により重要データを削除、更新されてしまう等)或いは作業遅延などが例として挙げられる。
【０００４】
こうした開発作業時における問題に関連する従来技術としては、例えば、開発対象のソースコードを含む開発環境を備えたサーバ装置と、前記開発環境へのユーザインターフェースを備えたクライアント端末とを有するソフトウェア開発システムであって、サーバ装置は、当該サーバ装置に開発環境を構築する開発環境生成手段と、ソースコードに対するアクセス権情報を設定するアクセス権情報設定手段と、設定されたアクセス権情報を基に、ソースコードの表示方法を判断するアクセス権限判断手段とを備え、判断されたソースコードの表示方法に従って、クライアント端末におけるソースコードの表示を制御するソフトウェア開発システム（特許文献１参照）などが提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１２９３２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら従来においては、開発環境における利用制御対象を単純なデータの塊として取り扱うのみであり、実際の開発対象や作業の種類、開発担当者のスキルの観点も併せて踏まえつつ、データベースの格納データやアプリケーションのソースコード等に対する各種作業の可否をコントロールする技術は提案されていない。
【０００７】
そこで本発明の目的は、開発環境における情報漏洩を抑止しつつ、開発作業上の事故や工程遅延を低減可能とする技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決する本発明の開発支援システムは、管理対象データに対するユーザの処理権限を、管理対象データの種類および当該管理対象データに対する処理内容の種類に対応付けた管理情報を格納する記憶部と、ユーザの識別情報および該当ユーザによる操作を受け付ける入力部と、前記入力部で受け付けたユーザの識別情報に基づき、前記記憶部の管理情報にて、該当ユーザが保持する処理権限を特定し、当該処理権限における、該当ユーザが扱いうる管理対象データの種類および当該管理対象データに対する処理内容の種類が、前記操作の対象である管理対象データおよび当該管理対象データに対する処理内容を範囲に含むか判定し、前記ユーザの操作が前記処理権限の範囲に含まれる場合に、前記操作を許容する判断処理部と、を備えることを特徴とする。
【０００９】
また、本発明の開発支援方法は、管理対象データに対するユーザの処理権限を、管理対象データの種類および当該管理対象データに対する処理内容の種類に対応付けた管理情報を格納する記憶部と、ユーザの識別情報および該当ユーザによる操作を受け付ける入力部とを備える情報処理装置が、前記入力部で受け付けたユーザの識別情報に基づき、前記記憶部の管理情報にて、該当ユーザが保持する処理権限を特定し、当該処理権限における、該当ユーザが扱いうる管理対象データの種類および当該管理対象データに対する処理内容の種類が、前記操作の対象である管理対象データおよび当該管理対象データに対する処理内容を範囲に含むか判定し、前記ユーザの操作が前記処理権限の範囲に含まれる場合に、前記操作を許容する処理を実行する、ことを特徴とする。
【００１０】
また、本発明の開発支援プログラムは、管理対象データに対するユーザの処理権限を、管理対象データの種類および当該管理対象データに対する処理内容の種類に対応付けた管理情報を格納する記憶部と、ユーザの識別情報および該当ユーザによる操作を受け付ける入力部とを備える情報処理装置に、前記入力部で受け付けたユーザの識別情報に基づき、前記記憶部の管理情報にて、該当ユーザが保持する処理権限を特定し、当該処理権限における、該当ユーザが扱いうる管理対象データの種類および当該管理対象データに対する処理内容の種類が、前記操作の対象である管理対象データおよび当該管理対象データに対する処理内容を範囲に含むか判定し、前記ユーザの操作が前記処理権限の範囲に含まれる場合に、前記操作を許容する処理を実行させる、ことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、開発環境における情報漏洩を抑止しつつ、開発作業上の事故や工程遅延が低減可能となる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態における開発支援システムのハードウェア構成を示す図である。
【図２】本実施形態における開発支援システムの構成例を示すブロック図である。
【図３】本実施形態における権限定義表の例を示す図である。
【図４】本実施形態における担当者権限管理表の例を示す図である。
【図５】本実施形態における機能-権限定義表の例を示す図である。
【図６】本実施形態におけるＤＢ重要度定義表（重要度管理表）の例を示す図である。
【図７】本実施形態における処理権限レベル定義表（重要度管理表）の例を示す図である。
【図８】本実施形態の開発支援方法の処理手順例１を示すフロー図である。
【図９】本実施形態における開発環境画面の例を示す図である。
【図１０】本実施形態の開発支援方法の処理手順例２を示すフロー図である。
【図１１】本実施形態における権限付与画面の例を示す図である。
【発明を実施するための形態】
【００１３】
−−−システム構成−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図１は、本実施形態の開発支援システム１００１のハードウェア構成を示す図である。図１に示す開発支援システム１００１は、開発環境における情報漏洩を抑止しつつ、開発作業上の事故や工程遅延が低減可能とするコンピュータシステムである。
【００１４】
開発支援システム１００１のハードウェア構成は以下の如くとなる。すなわち開発支援システム１００１は、中央処理装置１００２と、主記憶装置１００３と、内部バス１００４と、バスインタフェース１００５と、外部バス１００６と、画面出力装置インタフェース１００７と、ユーザ入力装置インタフェース１００８と、大容量記憶装置インタフェース１００９と、通信装置インタフェース１０１０と、入出力装置インタフェース１０１１から構成される。
【００１５】
このうち中央処理装置１００２はプログラム実行等の演算を行うための装置であり、主記憶装置１００３で所定のプログラムを実行して開発支援システム１００１として必要な機能を実装する。一方、主記憶装置１００３は、中央処理装置１００２におけるプログラム実行時の処理領域および、データの一時格納領域として使用される。例えばＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）などの基本プログラムや所定の機能部を実現するプログラムの他、後述する権限定義表２００（図３）、担当者権限管理表３００（図４）、機能−権限定義表４００（図５）、開発環境画面定義情報（図９）、重要度管理表５００たるＤＢ重要度定義表５５０（図６）、処理権限レベル定義表５７０（図７）、権限付与画面定義情報（図１１）を一時的に格納する。これら中央処理装置１００２と主記憶装置１００３は、内部バス１００４により接続されている。なお、内部バス１００４はバスインタフェース１００５を介して外部バス１００６に接続されている。
【００１６】
また、外部バス１００６は、画面出力装置インタフェース１００７、ユーザ入力装置インタフェース１００８、大容量記憶装置インタフェース１００９、通信装置インタフェース１０１０、入出力装置インタフェース１０１１と接続されており、これらのインタフェースと中央演算処理装置１００２や主記憶装置１００３とのデータ入出力をバスインタフェース１００５、内部バス１００４を通して媒介する。
【００１７】
また、画面出力装置インタフェース１００７はディスプレイ１０１２と接続するためのインタフェースであり、外部バス１００６を通じて得た情報をディスプレイ１０１２に出力する。ディスプレイ１０１２は、後述するソースコード開発画面５０１１や警告画面５０１４、権限付与選択画面７１００等の各種画面を表示可能な装置であり、そのほかにも基本プログラムを操作するための情報等を表示できる。
【００１８】
また、ユーザ入力装置インタフェース１００８は、ユーザ入力装置１０１３と接続するためのインタフェースであり、外部バス１００６にユーザ入力装置１０１３から入力された情報を出力する。ユーザ入力装置１０１３は、キーボード、マウスなど、ユーザからの入力を受け取るための装置であり、ユーザ入力装置１０１３から入力された情報はユーザインタフェース１００８に出力される。
【００１９】
また、大容量記憶装置インタフェース１００９は、大容量記憶装置１０１４と接続するためのインタフェースであり、大容量記憶装置１００９からのデータ入出力を外部バス１００６に仲介する。一方、大容量記憶装置１０１４は、例えばＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）といった記憶装置であり、基本プログラムやプログラム実行時処理結果の一時保管、後述する権限定義表２００（図３）、担当者権限管理表３００（図４）、機能−権限定義表４００（図５）、開発環境画面定義情報（図９）、重要度管理表５００たるＤＢ重要度定義表５５０（図６）、処理権限レベル定義表５７０（図７）、権限付与画面定義情報（図１１）、本実施形態の開発支援方法を実行するためのプログラム、更には、本実施形態の開発支援方法を用いて開発を行うソースコードを格納する。この大容量記憶装置１０１４は、装置の電源を切った状態やプログラム非実行時にも格納情報を保管可能な不揮発性の記憶装置となる。また、各種処理実行の際には中央処理装置１００２が主記憶装置１００３にこれらのプログラムやデータを読み出してプログラムを実行する。
【００２０】
また、通信装置インタフェース１０１０は、通信装置１０１５と接続するためのインタフェースであり、通信装置１０１５からのデータ入出力を外部バス１００６に仲介する。通信装置１０１５は、例えばＥｔｈｅｒｎｅｔ（登録商標）を介して外部サーバ装置などと接続するための装置であり、ネットワークで接続された外部との通信を行える。
【００２１】
また、入出力装置インタフェース１０１１は、入出力装置１０１６と接続するためのインタフェースであり、入出力装置１０１６からのデータ入出力を外部バス１００６に仲介する。入出力装置１０１６は外部媒体に読み書き可能なドライブ装置や開発者の認証を行うための指静脈読取装置などである。
【００２２】
続いて、本実施形態の開発支援システム１００１が備える機能について説明する。図２は、本実施形態における開発支援システム１００１の構成例を示すブロック図である。上述したように、以下に説明する機能は、例えば開発支援システム１００１が備えるプログラム１０２（図２参照）を実行することで実装される機能と言える。
【００２３】
開発支援システム１００１は、ユーザ入力装置インタフェース（入力部）１００８で受け付けたユーザの識別情報に基づき、主記憶装置１００３の担当者権限管理表３００（管理情報）にて、該当ユーザが保持する処理権限を特定し、当該処理権限における、該当ユーザが扱いうる管理対象データの種類および当該管理対象データに対する処理内容の種類が、上述した操作の対象である管理対象データおよび当該管理対象データに対する処理内容を範囲に含むか判定し、上述のユーザの操作が処理権限の範囲に含まれる場合に、操作を許容する判断処理部１１０を備える。
【００２４】
また、開発支援システム１００１は、ユーザ入力装置インタフェース（入力部）１００８で受け付けたユーザの識別情報に基づき、主記憶装置１００３の担当者権限管理表３００（管理情報）にて、該当ユーザが保持する処理権限を特定し、当該特定したユーザの処理権限を処理権限の範囲に含む、管理対象データおよび当該管理対象データに対する処理内容を、主記憶装置１００３の権限定義表２００（定義情報）、機能−権限定義表４００（定義情報）で特定し、当該特定した管理対象データおよび処理内容の情報を、操作可能情報として画面出力装置インタフェース１００７（出力部）に表示する表示処理１１１部を更に備える。
【００２５】
なお、開発支援システム１００１における表示処理部１１１における、上述の操作可能情報を画面出力装置インタフェース１００７（出力部）に表示する処理の実行に伴って、ユーザ入力装置インタフェース（入力部）１００８が、ユーザの識別情報および該当ユーザによる操作を受け付けて、判断処理部１１０が処理を実行するとすれば好適である。
【００２６】
また、開発支援システム１００１は、ユーザ入力装置インタフェース（入力部）１００８で受け付けた必要処理権限と、主記憶装置１００３の担当者権限管理表（管理情報）３００が含む各ユーザ保持の処理権限とを照合し、必要処理権限に対し、各ユーザが保持していない不足処理権限を特定し、各ユーザの不足処理権限と、主記憶装置１００３の重要度管理表５００（重要度情報）とを照合して、各ユーザにおいて不足する不足処理権限に対応した重要度情報を取得し、当該取得した重要度情報を開発リスク情報として該当ユーザに対応付けて画面出力装置インタフェース１００７（出力部）に表示する権限付与支援部１１２を備える。
【００２７】
なお、開発支援システム１００１の権限付与支援部１１２は、各ユーザの不足処理権限と上述の重要度情報５００とを照合する処理において、各ユーザにおいて不足する不足処理権限に対応した重要度の数値を取得し、当該取得した数値を該当ユーザ毎に合算した合算値を開発リスク情報とし、当該開発リスク情報たる合算値の大小に基づいて各ユーザをソートして画面出力装置インタフェース１００７（出力部）に表示するとすれば好適である。
【００２８】
なお、上述の記載においては、ユーザ入力装置インタフェース（入力部）１００８でユーザの入力を受け付けるとしているが、具体的には、キーボード等のユーザ入力装置１０１３でのユーザの入力事象をユーザ入力装置インタフェース１００８で受け付けているものとする。また同様に、上述の記載においては、画面出力装置インタフェース１００７に情報を表示するとしているが、具体的には、画面出力装置インタフェース１００７が画面データ等の出力データをディスプレイ１０１２に送り、表示させているものとする。
【００２９】
−−−データ構造例−−−
次に、本実施形態の開発支援システム１００１が用いる各種テーブル類におけるデータ構造例について説明する。図３は本実施形態における権限定義表２００（定義情報）の例である。権限定義表２００は本実施形態の開発支援システム１００１が利用するテーブルあり、本実施形態における管理対象データであるＤＢ毎に、検索や登録、削除等の処理をユーザが行うにあたって必要となる権限（処理権限）が定義されたものとなる。
【００３０】
特にＩＤ管理のようなＤＢアクセス中心のシステムにおいては、ＤＢとそれに対する基本処理が機能の中心となるため、ＤＢ毎の基本的な処理に関して権限を割当てておくと、権限の組み合わせで、ユーザ操作可否が定義可能になる。また、この権限を開発担当者に付与する場合に、例えば開発担当者毎に担当ＤＢを定め、ＤＢ毎の専門職として開発担当者を育てて行くことにより、不要なＤＢ構成情報の開示を防ぐと共に、各開発担当者の専門性向上により開発工数の短縮につながるといった効果が期待できる。
【００３１】
権限定義表２００は、検索系（ＳＥＬＥＣＴ）２００１、登録系（ＩＮＳＥＲＴ）２００２、更新系（ＵＰＤＡＴＥ）２００３、削除系（ＤＥＬＥＴＥ）２００４の各行と、カード情報２００５、不正カード情報ＤＢ２００６、利用者情報ＤＢ２００７の各列で構成されている。この場合、行はＤＢに対する処理を基本とした分類によって分けられ、列はＤＢの種類による分かれている。権限定義表２００においては、管理対象となるＤＢの種類が増える毎に列が追加されることとなる。また、権限定義表２００の各セルには、ＤＢと処理の組合せに対する権限が定義されており、この権限を与えられた開発担当者は当該ＤＢに対して当該処理（検索、登録等）を含むプログラムを開発できる。
【００３２】
例えば、行２００１には検索系（ＳＥＬＥＣＴ）の処理に関する権限がＤＢ毎に記載されている。カード情報ＤＢ２００５には権限の名称として”権限１−１”が記載されており、カード情報照会や  チェックといった機能を開発する権限を定義している。また、不正カード情報ＤＢ２００６には権限の名称として”権限２−１”が記載されており、不正カード情報照会や  チェックといった機能を作成・開発するための権限を定義している。また、利用者情報ＤＢ２００７には権限の名称として”権限３−１”が記載されており、利用者情報照会やチェックといった機能を作成・開発する権限を定義している。
【００３３】
同様に、行２００２には登録系（ＩＮＳＥＲＴ）の処理に関する権限がＤＢ毎に記載されており、データの登録や追加に関する機能を開発するための権限を定義している。同様に行２００３には、更新系（ＵＰＤＡＴＥ）の処理に関する権限がＤＢ毎に記載されており、データの更新や上書きに関する機能を開発するための権限を定義している。同様に行２００４には、削除系（ＤＥＬＥＴＥ）の処理に関する権限がＤＢ毎に記載されており、データの削除に関する機能を開発するための権限を定義している。
【００３４】
図４は本実施形態における担当者権限管理表３００（管理情報）の例である。担当者権限管理表３００は本実施形態の開発支援システム１００１が利用するテーブルであり、開発担当者や権限管理者といった担当者の認証に用いる情報及び、各担当者が保持する権限（権限定義表２００に規定した権限と対応）を記載するものである。
【００３５】
この担当者権限管理表３００は、担当者ＩＤ３００１、ログインパスワード３００２、所持権限３００３から構成されており、列３００１は開発担当者や管理者といった本実施形態の開発支援システム１００１を用いる人間それぞれに特有のＩＤを管理し、列３００２は上述の列３００１の担当者が本人であることを確認するためのパスワードを管理し、列３００３は各担当者が保持する権限を管理する。このとき、開発支援システム１００１にログインするためにはこの担当者ＩＤとパスワードの両方を間違いなく入力する必要があり、いずれかが不一致の場合も開発支援システム１００１を利用することができない。
【００３６】
このようなテーブルにおいて、例えば行３００４は担当者ＩＤ３００１が“１００１”である担当者に関する情報を保持しており、ログインパスワード３００２は“Ａａａ１２３”であり、所持権限は“権限１−１”である。また、行３００７は特権管理者の担当者ＩＤ３００１とログインパスワード３００２を管理しており、所持権限３００３は“管理者特権”が記入されている。この“管理者特権”は他の担当者に対して権限を付与可能な権限である。
【００３７】
図５は本実施形態の機能−権限定義表４００（定義情報）の例である。機能−権限定義表４００は機能毎に必要な権限を定義すると共に、該当機能を実現するソースコードが記述されたファイル名が保持される表である。このテーブル４００を用いることで機能毎の性質を整理でき、似た性質の機能、プログラムを分類できるとともに、同じ分類にある機能を集中して同じ開発担当者が担当することで、各性質のスペシャリストを育成できる。また、本実施形態の開発支援システム１００１では、この表４００を、個々の開発担当者の保持権限と照らし合わせることで、開発担当者毎にどの機能のプログラムを閲覧・編集可能であるかを判断するための表としても利用する。
【００３８】
この機能−権限定義表４００は、機能ＩＤ４００１、機能名称４００２、機能名称４００２に対応したソースコードを示すコード４００３、必要権限４００４、ソースファイル名４００５から構成される。列４００１には機能毎につけられた機能ＩＤが記されており、列４００２には各機能の名称が記されており、列４００４には機能のソースコードを閲覧・編集するために必要な権限が記されており、列４００５には各機能のソースファイル名が記されている。例えば行４００５は、機能ＩＤ４００１が“００１”であり、機能名称４００２が“カード情報チェック”であり、必要権限が“権限１−１”であり、ソースファイル名が“ＣｈｅｃｋＣａｒｄＩｎｆｏ”であるものを示している。ここで、ソースファイル名４００５は、複数のファイル名が記入されていてもよく、また、ソースファイル中の特定行数だけが閲覧・編集となる場合、具体的な行数を指定しても良い。
【００３９】
図６、図７は本実施形態における重要度管理表５００（重要度情報）の例である。重要度管理表５００は、管理対象データたるＤＢとこのＤＢに対する処理の各々について重要度を定義するテーブルであり、特権管理者による開発担当者に対する権限付与業務時に、開発支援システム１００１が各開発担当者に関するリスク見積もりを行うための情報となる。本実施形態において、開発担当者へ新たに権限付与を行う際のリスクは２種類想定しており、１つ目は、アクセス可能となるＤＢのデータ構成が開発担当者に認識可能となることによるリスクであり、２つ目はそれぞれのＤＢの情報に対して（スキル不足故に或いは不注意で）意図しない改ざんや編集が行われてしまうリスクである。例えば、新規参入の開発担当者がある機能の開発を担当する場合、新規にＤＢ情報を開示するリスクと当該ＤＢの情報を操作させるソースコードを記述させるリスクがあると考える。新規参入開発担当者の受け入れや新規機能開発を行う際、本実施例ではこのようなリスクの評価を行うために図３の権限定義表２００と併せ、ＤＢ重要度定義表５５０と処理権限レベル定義表５７０という２種類の重要度管理表５００を用いる。
【００４０】
このうち、ＤＢ重要度定義表５５０は、ＤＢ名称４１０１と重要度４１０２から構成され、ＤＢ毎の重要度を定義する。この重要度は、担当者に対して新規にＤＢ情報を開示する際のリスクを数値として管理するものであり、特権管理者による新規権限付与の際にはこの数値化したリスクを利用する。
【００４１】
ＤＢ重要度定義表５５０において、列６１０１はＤＢ名称を表したものであり、例えば行６１０３には“カード情報ＤＢ”といったＤＢ名称が記載され、列６１０４には“不正カード情報ＤＢ”、列６１０５には“利用者情報ＤＢ”といったＤＢ名称が記載されている。また、列６１０２は、各ＤＢに対する重要度を数値で記載するものであり、例えば行６１０３には“カードＤＢ”の重要度として“１０”という値が記載され、列６１０４には“不正カード情報ＤＢ”の重要度として“７”、列６１０５には“利用者情報ＤＢ”の重要度として“２０”という値が記載されている。
【００４２】
また、処理権限レベル定義表５７０は、処理名称６２０１と権限レベル６２０２から構成され、処理毎の権限レベルが記されている。本実施形態では、一例としてＤＢに関する処理を開発する開発環境を想定しているため、処理は「検索」、「登録」、「更新」、「削除」といった基本的な処理を挙げており、また、ＤＢの変更に対するリスクの観点から「検索」、「登録」、「更新」、「削除」という順で権限レベルが高くなるよう設定している。なお、この権限レベル６２０２の値は、該当処理の重要度とも言えるため、「重要度」の概念と同義である。
【００４３】
この処理権限レベル定義表５７０において、列６２０１は処理名称を表したものであり、例えば行６２０３には“検索系（ＳＥＬＥＣＴ）”という処理名称が記載され、列６２０４には“登録系（ＩＮＳＥＲＴ）”、列６２０５には“更新系（ＵＰＤＡＴＥ）”、列６２０６には“削除系（ＤＥＬＥＴＥ）”という処理名称が記載されている。また、列６２０２は各処理に対する権限レベルを数値で記載するものであり、例えば行６２０３には“検索系（ＳＥＬＥＣＴ）”の権限レベルとして“１”という値が記載され、列６２０４には“登録系（ＩＮＳＥＲＴ）”の権限レベルとして“２”、列６２０５には“更新系（ＵＰＤＡＴＥ）”の権限レベルとして“７”、列６２０６には“削除系（ＤＥＬＥＴＥ）”の権限レベルとして“１０”という値が記載されている。
【００４４】
−−−処理手順例１−−−
以下、本実施形態における開発支援方法の実際手順について図に基づき説明する。以下で説明する開発支援方法に対応する各種動作は、開発支援システム１００１が実行するプログラムによって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
【００４５】
図８は本実施形態の開発支援方法の処理手順例１を示すフロー図である。なお、以下説明において、図３の権限定義表２００、図４の担当者権限管理表３００、図５の機能−権限定義表４００、図６、図７の重要度管理表５００たる重要度定義表５５０および処理権限レベル定義表５７０、の各情報は主記憶装置１００３に展開され、下記ステップを実行するプログラムが利用可能になっているものとする。
【００４６】
まず、ユーザ入力装置１０１３が、開発担当者により入力された、担当者ＩＤ３００１とパスワード３００２を含む認証要求として開発支援システム１００１に送信する（ｓ１００）。
【００４７】
一方、開発支援システム１００１の判断処理部１１０は、ステップ８００１において、上述の認証要求を受信し、この認証要求が含む担当者ＩＤ３００１とパスワード３００２を、担当者権限管理表３００の各レコードに照合し、担当者ＩＤ３００１とパスワード３００２の組が完全一致するレコード有無を判定しユーザ認証を実行する。開発担当者が開発支援システム１００１を利用する際、開発担当者本人が操作を行っていることを確認するための処理である。なお、特に以降のステップはステップ８００１の認証に問題がなかったことを前提に処理を行うものとする。
【００４８】
次に、開発支援システム１００１の判断処理部１１０は、ステップ８００２において、上述のユーザ認証をパスした開発担当者に関し、ユーザ認証時に担当者権限管理表３００で特定している所持権限３００３が「管理者特権」かどうかを判定する。上述のステップ８００１でユーザ認証を行った担当者ＩＤ３００１において、保持権限３００３が“管理者特権”であった場合（８００２：Ｙ）、開発支援システム１００１は処理をステップ８０１１に進める。このステップ８０１１以降の処理については後述するが、権限付与支援部１１２が、この「管理者特権」を有するユーザによる権限付与の処理を支援することとなる。
【００４９】
一方、上述の保持権限３００３が“管理者特権”以外であった場合（８００２：Ｎ）、開発支援システム１００１の表示処理部１１１が、ステップ８００３において、上述の所持権限３００３に基づいて、権限定義表２００のＤＢ部分２００５〜２００７と、機能−権限定義表４００の必要権限４００４を検索する。
【００５０】
この処理を実行することで、ステップ８００１で認証済みの開発担当者がどのＤＢスキーマやプログラムを参照可能なのかを決定できる。例えば、担当者権限管理表３００において、担当者ＩＤが“１００１”の開発担当者について、行３００４における所持権限３００３を参照すると“権限１−１”が所持権限である。このとき権限定義表２００を参照すると“権限１−１”は列２００５に含まれることがわかり、このことから「カード情報ＤＢ定義」の閲覧が可能であることがわかる。また、機能−権限定義表４００において、必要権限４００４を“権限１−１”で検索すると、行４００５の機能名称４００２“カード情報チェック”が閲覧・編集可能であり、すなわちソースファイル名４００５“ＣｈｅｃｋＣａｒｄＩｎｆｏ”が閲覧・編集可能なファイルであることがわかる。一方、行４００６、行４００７の必要権限４００４に関しては権限が不足しているため、の閲覧・編集ができないことがわかる。
【００５１】
また、開発支援システム１００１の表示処理部１１１は、ステップ８００４において、上述のステップ８００３の検索結果に従い、該当開発担当者において閲覧や編集の権限を有しているソースファイルの一覧を示す閲覧・編集可能ファイル一覧画面５００２と、同開発担当者が閲覧可能なＤＢの一覧を示す閲覧可能ＤＢ定義一覧画面５００４を、ディスプレイ１０１２に出力する。上述の開発担当者の利用するディスプレイ１０１２は、表示処理部１１１が出力した各画面の画面データに応じて、画面表示を行う（ｓ２００）。開発担当者はディスプレイ１０１２において上述の各画面を閲覧する。なお、いずれの画面についても主記憶装置１００３にてひな形の画面データを予め備えており、この画面データに対して表示処理部１１１がデータを設定することで各画面が生成できるものとする（以下同様）。
【００５２】
なお、上述の画面５００２、５００４において表示する各ソースファイルやＤＢと、大容量記憶装置１０１４等に保存されたソースファイルの実体とは対応付いている。そのため、画面５００２、５００４を閲覧した開発担当者が、閲覧・編集可能ファイル一覧画面５００２、閲覧可能ＤＢ定義一覧画面５００４に表示されたファイル名やＤＢ定義名を選択することで、開発支援システム１００１は、該当するファイルやＤＢを大容量記憶装置１０１４等から読み出してソースコード編集画面５００３やＤＢ定義表示画面５００５で閲覧・編集可能に表示することとなる。
【００５３】
一方、上述の開発担当者は、閲覧・編集可能ファイル一覧画面５００２にて、編集対象とするソースファイルに対するユーザ入力装置１０１３でのクリック動作等により選択する。例えば、閲覧・編集可能ファイル一覧画面５００２にて、編集対象のソースファイルとして、“ＣｈｅｃｋＣａｒｄＩｎｆｏ”に対するクリック動作が行われ、選択がなされたとする。この選択をユーザ入力装置１０１３から受けた開発支援システム１００１は、“ＣｈｅｃｋＣａｒｄＩｎｆｏ”のデータを大容量記憶装置１０１４から読み出して、ソースコード編集画面５００３にて表示する。また、上述の開発担当者が、閲覧可能ＤＢ定義一覧画面５００４にて、閲覧対象とするＤＢに対するユーザ入力装置１０１３でのクリック動作等により選択する。例えば、閲覧可能ＤＢ定義一覧画面５００４にて、閲覧対象のＤＢとして、“カード情報ＤＢ”に対するクリック動作が行われ、選択がなされたとする。この選択をユーザ入力装置１０１３から受けた開発支援システム１００１は、“カード情報ＤＢ”の構成に関するデータを大容量記憶装置１０１４から読み出して、ＤＢ定義表示画面５００５にて表示する。
【００５４】
この場合、開発担当者は、ソースコード編集画面５００３やＤＢ定義表示画面５００５でソースファイルやＤＢ構成について閲覧し、ユーザ入力装置１０１３にて編集内容を入力する。ユーザ入力装置１０１３は、ソースコード編集画面５００３における、この開発担当者による所定のソースファイルに対する編集内容を取得し、開発支援システム１００１の判断処理部１１０に送る（ｓ１０１）。他方、ステップ８００５において、開発支援システム１００１の判断処理部１１０は、上述の開発担当者がソースファイルに対して行ったソースコードの編集内容を取得する。
【００５５】
その後、上述の開発担当者は、該当ソースコードの編集が終わると、ソースコード編集画面５００３におけるコミットボタン５００６の押下動作を行う。このコミットボタン５００６が押下されるまで編集内容は保存されず、またコンパイル、実行もされることはないため、開発担当者は作業が終了した場合や、途中経過を保存したい場合にもこのコミットボタン５００６を押下することとなる。コミットボタン５００６の押下事象は、ユーザ入力装置１０１３から開発支援システム１００１の判断処理部１１０に送られる（ｓ１０２）。
【００５６】
一方、開発支援システム１００１の判断処理部１１０は、ステップ８００６において、上述したコミットボタン５００６の押下事象をユーザ入力装置１０１３から受け付けて、これを感知する。この時、判断処理部１１０は、ステップ８００７において、該当開発担当者の所持権限３００３に基づいて、権限定義表２００のＤＢ部分２００５〜２００７および処理部分２００１〜２００４の各値を取得する。判断処理部１１０は、ここで取得した各値すなわち該当開発担当者の有する処理権限と、上述のステップ８００５で得ているソースコード編集内容とを照合し、編集内容における“ＳＱＬ”語句直後の命令文が、上述の処理権限の範囲か判定する。この処理を行うことで開発担当者が処理権限外のコードをソースファイルに対して記述していないか確認できる。
【００５７】
例えば、担当者ＩＤ３００１である開発担当者は、担当者権限管理表３００の行３００４によれば、所持権限３００３として“権限１−１”を持っている。このとき、権限定義表２００のＤＢ部分２００５〜２００７および処理部分２００１〜２００４で“権限１−１”について検索を行うと、“権限１−１”の場合、行２００１及び列２００５によれば、“カード情報ＤＢ”について“検索系（ＳＥＬＥＣＴ）”の処理が行えることがわかる。
【００５８】
このとき、該当開発担当者がソースファイルの編集を行う場合、ソースコード編集画面５００３でのＳＱＬ文の編集内容としては、“ＳＱＬ〜ＳＥＬＥＣＴ〜カード情報ＤＢ定義変数”、というコードが入ることが許容されることになる。この前提の下、例えばプログラム中に“ＳＱＬ  ＤＥＬＥＴＥ  ＦＲＯＭ  ｕｓｅｒＩｎｆｏＤＢ（ユーザ情報ＤＢ）”といった権限外の処理（データの削除処理たる“ＤＥＬＥＴＥ”）が編集内容に含まれていないか確認するためには、判断処理部１１０は、“ＳＱＬ”というキーワードの後に“ＳＥＬＥＣＴ”以外の“ＤＥＬＥＴＥ”や“ＵＰＤＡＴＥ”、“ＩＮＳＥＲＴ”といった語句が存在しないか、またカード情報ＤＢ定義変数以外の情報を参照していないかといったチェックを行う。これにより権限違反の有無を確認する。
【００５９】
上述の判断処理部１１０は、ステップ８００８において、上述のステップ８００７の判断の結果が、「編集内容に権限違反が有った」ものを示す場合（８００８：Ｙ）、処理をステップ８０１０へ進める。判断処理部１１０は、ステップ８０１０において、警告画面５００７（図９）をディスプレイ１０１２に出力する。ディスプレイ１０１２ではこの警告画面５００７の画面データを判断処理部１１０より受け取り、これを表示する。なお、図８のフローでは省略してあるが、ディスプレイ１０１２での警告画面５００７の表示処理後、フローは再びステップ８００５に戻り、開発担当者による編集内容を受け付ける状態となる。また、警告画面５００７の表示処理前にソースコード編集画面５００３にて開発担当者が編集したプログラムすなわちソースファイルの情報は、権限違反であるから保存されない。
【００６０】
他方、上述のステップ８００７の判断の結果が、「編集内容に権限違反がなかった」ものを示す場合（８００８：Ｎ）、処理をステップ８００９に進める。このステップ８００９において、判断処理部１１０は、上述のステップまででソースコード編集画面５００３にて編集されたソースファイルで、大容量記憶装置１０１４にてそれまで格納されていたソースファイルを更新する、いわゆるソースコードコミットを行う。このステップでは、開発環境としてファイル更新処理と共にコンパイルやテスト環境へのロード等を連続して行うようにしてもよい。
【００６１】
ここで、開発支援システム１００１がディスプレイ１０１２に表示させる開発環境画面５００１について説明する。図９は本実施形態における開発環境画面５００１の例である。上述してきたように、開発担当者はこの開発環境画面５００１をディスプレイ１０１２にて閲覧し、ユーザ入力装置１０１３を用いてソースコードの編集作業などを行うこととなる。この開発環境画面５００１では、開発担当者の権限に準じたソースコードとＤＢ定義の開示が行われる。この画面のように各開発担当者の閲覧可能情報を制限することでＤＢ構成やソースコードといったシステムの動作に関する情報を秘匿できる。
【００６２】
開発環境画面５００１は、閲覧・編集可能ファイル一覧画面５００２、ソースコード編集画面５００３、閲覧可能ＤＢ定義一覧画面５００４、ＤＢ定義表示画面５００５、コミットボタン５００６から構成される。
【００６３】
このうち、閲覧・編集可能ファイル一覧画面５００２は、各開発担当者の権限にあわせて閲覧可能なソースコードを含むファイルの一覧を表示する画面であり、表示処理部１１１ないし判断処理部１１０が図４の担当者権限管理表３００と図５の機能−権限管理表の情報からアクセス可能なファイル名及びソースコードの範囲を決定し一覧として表示する。開発支援システム１００１を利用する開発担当者は、この閲覧・編集可能ファイル一覧画面５００２から、閲覧・編集を行いたいファイルを選択し、閲覧・編集を行う。
【００６４】
例えば、図９に例示した閲覧・編集可能ファイル一覧画面５００２には、担当者ＩＤ３００１が“１００２”である開発担当者が、開発支援システム１００１を利用した場合の例が示されており、行３００６によると担当者ＩＤ３００１が“１００２”である開発担当者の所持権限３００３は“権限１−１，１−３，３−３”である。この権限について、図５の機能−権限管理表４００を参照すると、参照可能なソースファイル名４００５は行４００５の“ＣｈｅｃｋＣａｒｄＩｎｆｏ”と、行４００６の“ＵｐｄａｔｅＣａｒｄＩｎｆｏ”であることがわかるため、表示処理部１１１ないし判断処理部１１０がこの２ファイルを一覧情報として表示する。
【００６５】
また、ソースコード編集画面５００３は、開発担当者がソースコードの閲覧・編集を行う画面であり、表示処理部１１１ないし判断処理部１１０が、閲覧・編集可能ファイル一覧画面５００２にて開発担当者により選択されたファイル内に含まれる閲覧可能ソースコードを表示し、開発担当者による編集を受け付ける。開発担当者は当該画面にて編集作業等が一通り完了した場合や、一旦編集内容を保存したい場合にコミットボタン５００６を押下する。コミットボタン５００６が押下されると、それまでに開発担当者が編集した内容について、判断処理部１１０が、開発担当者毎の権限範囲内かどうかをチェックする処理を実行し、権限外の編集作業が行われていない場合は編集内容に応じて該当ソースコードが大容量記憶装置１０１４にて保存される。
【００６６】
すなわちコミットボタン５００６は、ソースコード編集画面５００３において開発担当者が編集した内容の保存や実際に動作をさせる完成プログラムへの取り込みを開始させるためのボタンである。コミットボタン５００６が押下されると、上記の保存・取り込み動作を行う前に、判断処理部１１０は、該当編集内容が示すソースコードについて権限範囲外の処理をしていないかの確認を行い、もし開発環境の操作を行っている開発担当者の権限範囲外のソースコードが記述されていたなら、警告画面５００７を表示して該当ソースコードの保存・取り込みを行わないこととなる。
【００６７】
また、閲覧可能ＤＢ定義一覧画面５００４は、各開発担当者の権限にあわせて閲覧可能なＤＢ構成情報の一覧を表示する画面であり、表示処理部１１１ないし判断処理部１１０が、図４の担当者権限管理表３００と図３の権限定義表２００の情報に基づいて、アクセス可能なＤＢ構成情報の一覧を表示する画面となる。開発支援システム１００１を利用する開発担当者は、この閲覧可能ＤＢ定義一覧画面５００４から、閲覧を行いたいＤＢ名を選択することで、ＤＢの構成情報をＤＢ定義表示画面５００５に表示できる。
【００６８】
例えば、図９の閲覧・編集可能ファイル一覧画面５００２には、担当者ＩＤ３００１が“１００２”である開発担当者が開発支援システム１００１を利用した場合の例が示されており、行３００５によると担当者ＩＤ３００１が“１００２”である開発担当者の所持権限３００３は“権限１−１，１−３，３−３”である。この権限ついて、図３の権限定義表２００を参照すると、列２００５の“カード情報ＤＢ”と列２００７の“利用者情報ＤＢ”の情報が参照可能であることがわかり、表示処理部１１１ないし判断処理部１１０は、この２つのＤＢの構成情報を閲覧・編集可能ファイル一覧画面５００２に表示する。
【００６９】
また、ＤＢ定義表示画面５００５は、表示処理部１１１ないし判断処理部１１０が、閲覧可能ＤＢ定義一覧画面５００４にて開発担当者が選択したＤＢ定義を表示する画面である。開発担当者はこのＤＢ定義表示画面５００５でＤＢ構成情報の閲覧を行いながらソースコード編集画面５００３にてソースコードの編集を行うことができる。
【００７０】
例えば、図９に例示したソースコード編集画面５００３には、担当者ＩＤ３００１が“１００２”である開発担当者が開発を行った場合の例が示されており、行３００５によると担当者ＩＤ３００１が“１００３”である開発担当者の所持権限３００３は“権限１−１，１−３，３−３”である。この権限ついて、図３の権限定義表２００を参照すると、担当者ＩＤ３００１が“１００２”である開発担当者の権限は“カード情報ＤＢ”に対して“検索系（ＳＥＬＥＣＴ）”と“更新系（ＵＰＤＡＴＥ）”を行う事と、“利用者情報ＤＢ”に対して“更新系（ＵＰＤＡＴＥ）”を行うことのできる権限を持っていることがわかる。このような開発担当者がソースコード編集画面５００３に示されているような、“ＳＱＬ  ＤＥＬＥＴＥ  ＦＲＯＭ  ｎｅｇａＣａｒｄＩｎｆｏＤＢ”といった「削除系（ＤＥＬＥＴＥ）」の処理を「不正カード情報ＤＢ（ｎｅｇａＣａｒｄＩｎｆｏＤＢ）」に対しておこなうことはできないため、もし、このような記述のある状態でコミットボタン５００６が押下されたならば、判断処理部１１０は警告画面５００７の表示処理を行う。
【００７１】
なお、警告画面５００７は、ソースコード編集画面５００３にて開発担当者の権限外のソースコードが記述され、その上でコミットボタン５００６が押下されていた場合に、該当開発担当者に対して警告を発する画面である。この警告画面５００７が出力された場合には、それまで該当開発担当者によって編集されていたソースコードの情報は保存・取り込みが行われない。また、警告画面５００７には例えば、“権限外のＤＢ操作を含んでいます。編集内容はコミットされません”といった警告的な文章が表示される。
【００７２】
−−−処理手順例２−−−
続いて、上述のフローのうち、ステップ８００２にて、保持権限３００３が“管理者特権”（８００２：Ｙ）と判定した以降の処理について説明する。図１０は本実施形態の開発支援方法の処理手順例２を示すフロー図である。なお、このフローの実行主体は開発支援システム１００１における権限付与支援部１１２となる。
【００７３】
この場合、ステップ８０１１において、開発支援システム１００１の権限付与支援部１１２は、権限付与管理画面７００１（図１１）を出力する（８０１１）。一方、ディスプレイ１０１２は、権限付与管理画面７００１の画面データを権限付与支援部１１２から受信し、これを表示する（ｓ２１０）。権限付与管理画面７００１は、特権管理者が開発担当者に対し、開発を行うための権限を付与する業務を行う画面であり、新規開発や改修によるソースコード変更の際に用いられる画面となる。この権限付与管理画面７００１は、機能権限入力画面７００２と権限付与画面７００５の２つの画面から構成されており、開発業務に割り当てる開発担当者が保持すべき権限について指定を受け付けるのが機能権限入力画面７００２であり、この機能権限入力画面７００２で指定を受けた権限に関して権限付与支援部１１２が処理した結果を表示するのが権限付与画面７００５となる。特権管理者は、権限付与画面７００３の情報を参考にし、機能権限入力画面７００２で指定した必要権限に対して最も開発リスクが少なく、かつ効率的に開発業務を遂行可能であると推定される開発担当者の選定を行う。
【００７４】
なお、権限付与支援部１１２は、権限付与管理画面７００１のうち上述の機能権限入力画面７００２のみをディスプレイ１０１２に表示させるとしてもよい。この際、権限付与支援部１１２は、権限付与画面７００５も表示するとしても良いが、開発リスク７００６、担当者ＩＤ７００７、所持権限７００８、および新規付与権限７００９の各欄に表示させる情報は、以降のステップにより設定されるものであるため、この時点では空白や０等を該当各欄に設定し表示させる。
【００７５】
一方、上述の特権管理者は、機能権限入力画面７００２を閲覧しつつ、開発業務に割り当てる開発担当者が保持すべき必要権限についてユーザ入力装置１０１３で指定を行う。ユーザ入力装置１０１３はここで受け付けた必要権限の情報を権限付与支援部１１２に送る。この場合、ステップ８０１２において権限付与支援部１１２は、上述の必要権限フォーム７００３にて入力された内容、すなわち必要な権限の情報について取得する。以降のステップではこの必要権限フォーム７００３に入力された情報を用いて、現在登録されている担当者の中から適任と思われる担当者を見つけ出す処理が行われる。また、上述の特権管理者はユーザ入力装置１０１３を介して担当者レコメンデーションボタン７００４をクリックする。ユーザ入力装置１０１３はこのレコメンデーションボタン７００４のクリック事象を権限付与支援部１１２に通知する（ｓ１１１）。
【００７６】
続いてステップ８０１３において、権限付与支援部１１２は、上述の担当者レコメンデーションボタン７００４の押下事象の通知を感知する。このように、権限付与の特権を持った特権管理者が必要権限入力フォーム７００３で必要権限を入力し、担当者レコメンデーションボタン７００４を押下すると、権限付与支援部１１２は、以降のステップで権限付与画面７００５における近似スコア７００６及び新規付与権限７００９の値を算定する処理を開始する。
【００７７】
続いてステップ８０１４において、権限付与支援部１１２は、担当者権限管理表３００における各レコードから担当者ＩＤ３００１と所持権限３００３の各値を読み出し、これらを権限付与画面７００５の担当者ＩＤ７００７と所持権限７００８の各欄にコピーする。この際、担当者権限管理表３００に記録されている全ての担当者ＩＤ３００１と所持権限３００３のセットの内、所持権限が“管理者特権”を持つ者以外の情報を、権限付与画面７００５の担当者ＩＤ７００７と所持権限７００８に転記するものとする。この際、ディスプレイ１０１２は、権限付与画面７００５の更新を行う（ｓ２１１）。
【００７８】
次にステップ８０１５において、権限付与支援部１１２は、権限付与画面７００５に設定した上述の所持権限７００８と、必要権限入力フォーム７００３経由で受け付けた必要権限の値とを比較し、各開発担当者の所持権限７００８に関して必要権限に対する不足分を特定し、権限付与画面７００５における新規付与権限７００９の欄に設定する。この際、ディスプレイ１０１２は、権限付与画面７００５の更新を行う（ｓ２１１）。
【００７９】
例えば、必要権限として“権限２−４”が特権管理者によって指定された場合、担当者ＩＤ７００７が“１００１”である開発担当者については、所持権限７００８“権限１−１”であるため、必要権限と比較を行った場合、不足している権限は“権限２−４”となる。権限付与支援部１１２は、この不足分の権限を新規付与権限７００９の欄に設定する。このように権限付与支援部１１２は、各開発担当者において必要権限に対し不足している権限を抽出し、新規付与権限７００９の欄に設定してゆく。
【００８０】
なお、特権管理者によって指定された必要権限を、ある開発担当者は既に備えていた場合、不足している権限は無いため、権限付与支援部１１２は、この開発担当者については、新規付与権限７００９の値として“不要”を設定する。この場合、権限付与支援部１１２は、権限付与ボタン７０１０をクリッカブルとしないで表示のみとするか、或いは、権限付与ボタン７０１０１の表示自体を行わない。
【００８１】
次にステップ８０１６において、権限付与支援部１１２は新規付与権限７００９の値を参照し、該当開発担当者が新規に閲覧することになるＤＢに関しては、ＤＢ重要度定義表５５０（図６）から重要度６１０２の値を読み出して、開発リスク７００６の値に加算し、上述の開発担当者が新規に担当することになる処理に関しては、処理権限レベル定義表５７０（図７）から権限レベル６２０２の値を読み出して、開発リスク７００６の値に加算し、開発リスク７００６を算定する。この際、ディスプレイ１０１２は、権限付与画面７００５の更新を行う（ｓ２１１）。なお、処理権限レベル定義表５７０（図７）における権限レベル６２０２の値は、該当処理の重要度とも言えるため、「重要度」の概念と同義である。
【００８２】
例えば、担当者ＩＤ７００７が“１００１”の開発担当者の場合、新規付与権限７００９によると、“権限２−４”が不足していることがわかる。このとき、図３の権限定義表２００を参照すると“権限１−１”は“カード情報ＤＢ”を“検索（ＳＥＬＥＣＴ）”する権限であり、一方、“権限２−４”は“不正カード情報ＤＢ”を“削除（ＤＥＬＥＴＥ）”する権限であることがわかる。
【００８３】
このとき、“権限１−１”では“不正カード情報ＤＢ”にはアクセスできないことがわかるので、該当開発担当者が新規に閲覧することになるＤＢとして“不正カード情報ＤＢ”閲覧の権限が必要となる。また、“権限１−１”では“不正カード情報ＤＢ”に対するいかなる処理権限も持たないため、新たに“検索系（ＳＥＬＥＣＴ）”、“挿入系（ＩＮＳＥＲＴ）”、“更新系（ＵＰＤＡＴＥ）”、“削除系（ＤＥＬＥＴＥ）”の権限が必要となる。
【００８４】
そこで権限付与支援部１１２が、上記の結果を利用し、担当者ＩＤ７００７が“１００１”の開発担当者において、“権限２−４”を付与した場合の開発リスク７００６を計算すると、ＤＢ名称６１０１が“不正カード情報ＤＢ”である行６１０４の重要度６１０２の値“７”と、検索系から削除系に至る各処理を行うための権限たる、行６２０４〜６２０６の権限レベル６２０２の値の総和“１＋２＋７＋１０”すなわち“１７”とを合算して、“２７”を得て、この値を開発リスク７００６に設定する。
【００８５】
また、担当者ＩＤ７００７が“１００３”の開発担当者の場合、新規付与権限７００９によると、“権限２−４”が不足していることがわかる。このとき、図３の権限定義表２００を参照すると該当開発担当者が所持する“権限２−１，２−２”は“不正カード情報ＤＢ”を“検索（ＳＥＬＥＣＴ）、更新（ＵＰＤＡＴＥ）”する権限であり、不足する“権限２−４”は“不正カード情報ＤＢ”を“削除（ＤＥＬＥＴＥ）”する権限であることがわかる。つまり、“権限２−１、２−２”では“不正カード情報ＤＢ”に対する“更新（ＵＰＤＡＴＥ）”までの権限を持っているが、新たに“削除系（ＤＥＬＥＴＥ）”の権限が必要となる。
【００８６】
上記の結果を利用し、権限付与支援部１１２は、担当者ＩＤ７００７が“１００３”の開発担当者に“権限２−４”を付与した場合の開発リスク７００６を計算すると、行６２０６の権限レベル６２０２の値“７”と、削除系の処理を行うための権限たる、行６２０６の権限レベル６２０２の値“１０”とを合算して、“１７”を得て、この値を開発リスク７００６に設定する。
【００８７】
このように、本実施形態ではＤＢの構成情報を新たに取得し、さらに当該ＤＢに対する処理を行うことに対し大きなリスクがあるという前提に立ったリスク計算を行える。このことにより、ＤＢ構成情報をなるべく見せないようにすることと、担当者毎に経験のあるＤＢに関する処理を行う事ができ、情報漏えいリスク及び不慣れな開発による工程遅延のリスクを低減できる。
【００８８】
続いてステップ８０１７において、権限付与支援部１１２は、上述の開発リスク７００６の値に従って、権限付与画面７００５に表示する各開発担当者に関するレコード（開発リスク７００６、担当者ＩＤ７００７、所持権限７００８、および新規付与権限７００９の各値からなるレコード）を、開発リスク７００６の値が低い順に並べ替える処理を実行する。この際、ディスプレイ１０１２は、権限付与画面７００５の更新を行う（ｓ２１１）。
【００８９】
こうして、開発業務に割り当てる候補たる開発担当者の情報を、その開発リスクの高低に応じてソートし、上述の特権管理者に提示することができる。特権管理者は、ディスプレイ１０１２にて権限付与画面７００５を閲覧し、各自の開発リスクを認識しつつ開発担当者について検討を行うこととなる。検討を行った特権管理者は、ユーザ入力装置１０１３を介して、新規付与権限７００９に応じた権限を付与する開発担当者、すなわち、開発業務を担当してもらうことを決定した開発担当者について、権限付与ボタン７０１０を押下する。この権限付与ボタン７０１０の押下事象は、ユーザ入力装置１０１３から権限付与支援部１１２に伝えられる（ｓ１１２）。
【００９０】
一方、権限付与支援部１１２は、ステップ８０１８において、上述の権限付与画面７００５にて権限付与ボタン７０１０が押下されたことを認識し（８０１８：Ｙ）、処理をステップ８０１９に進める。他方、権限付与画面７００５にてキャンセルボタン７０１１が押下された場合（８０１８：キャンセルボタン押下）、権限付与支援部１１２は処理を終了する。
【００９１】
権限付与支援部１１２は、ステップ８０１９において、上述の権限付与画面７００５にて権限付与ボタン７０１０が押下された開発担当者に関して、新規付与権限７００９の値を、担当者権限管理表３００の該当レコードにおける担当者所持権限３００３に追加する。権限付与画面７００５の開発リスク７００６、開発担当者ＩＤ７００７、所持権限７００８、新規付与権限７００９から構成される表において、行毎に設置された権限付与ボタン７０１０のいずれかを押下した場合、該当行の担当者ＩＤ７００７について図４の担当者権限管理表３００の担当者ＩＤ３００１を検索し、同一であるものを見つけたら、該当行の所持権限３００３に新規付与権限７００９の情報を追加する。すなわち、この処理を行うことで開発担当者に新たな権限が追加的に付与されることとなる。
【００９２】
ここで、上述してきた権限付与支援部１１２による処理で用いた権限付与管理画面７００１について説明する。図１１は本実施形態の権限付与管理画面７００１の例である。この権限付与管理画面７００１は、特権管理者が開発担当者に対して所定開発業務を行うにあたって必要となる権限を付与する際に閲覧する画面であり、新規開発や改修によるソースコード変更の際に用いる。
【００９３】
権限付与管理画面７００１は大きく分けて機能権限入力画面７００２と権限付与画面７００５の２つの画面から構成されている。特権管理者が開発担当者に対する権限を付与する場合には、まず機能権限入力画面７００２の操作を行い、その後、権限付与画面７００３の情報を参考に必要権限に対して最もリスクが少なくかつ効率的な開発が可能と推定される開発担当者の選定を行うこととなる。
【００９４】
このうち機能権限入力画面７００２は必要権限入力フォーム７００３、担当者レコメンデーションボタン７００４から構成されている。必要権限入力フォーム７００３は特権管理者が新規機能の開発や改修等で機能の改変が必要になったとき、ＤＢの種類と開発対象機能の処理の系統について権限定義表２００を参照しながら、必要権限を判断し入力するためのフォームである。ここで入力された情報は、権限付与画面７００５の開発リスク７００６や新規付与権限７００９に記入される情報を作成するための基礎情報として権限付与支援部１１２に利用される。
【００９５】
また、担当者レコメンデーションボタン７００４は、特権管理者が上述の必要権限入力フォーム７００３の入力を終えた後、権限付与画面７００５の情報を作成するために押下するボタンである。担当者レコメンデーションボタン７００４の押下を契機として、本実施形態の開発支援システム１００１は権限付与画面７００５の開発リスク７００６や新規付与権限７００９の各欄に記入される情報の作成を開始する。
【００９６】
また、権限付与画面７００５は、開発リスク７００６、担当者ＩＤ７００７、所持権限７００８、新規付与権限７００９、権限付与ボタン７０１０、キャンセルボタン７０１１から構成されている。
【００９７】
開発リスク７００６の値は、各担当者（開発担当者）の現在のＤＢ情報開示状況や当該ＤＢにおける機能や処理開発経験に基づき算出されるリスクについて、権限付与を行う特権管理者に提示するものであり、担当者毎に与えられた所持権限と新規付与が必要な権限を材料として判断処理部１１０により算出される。特権管理者はこの数値の多寡を参考に開発担当者を決定し、権限付与ボタン７０１０を用いて権限付与を行った後、該当開発担当者に開発を委託することになる。
【００９８】
担当者ＩＤ７００７は、図４の担当者権限管理表３００における担当者ＩＤ３００１と同等な情報を保持するものであり、特権管理者はこの担当者ＩＤを参照し、現行の仕事の負荷やスケジューリング、単価等を考慮しながら権限付与の判断を行う。
【００９９】
所持権限７００８は、図４の担当者権限管理表３００における所持権限３００３と同等な情報を保持するものであり、各開発担当者が今まで付与されてきた権限の一覧を示すと共に、各開発担当者の経験してきた開発の内容を示している。
【０１００】
新規付与権限７００９は、特権管理者が必要権限入力フォーム７００３にて指定した権限に対し、開発担当者毎に不足分を表示すると共に、所望の開発をするために新たに付与が必要となる権限を記したものである。特権管理者は現行の各開発担当者に対する保持権限と、該当開発担当者の今後におけるスキル向上計画や情報開示可否等を考慮しながら権限付与の判断を行う。
【０１０１】
権限付与ボタン７０１０は、各開発担当者における所持権限３００３（担当者権限管理表３００）に対し、新規付与権限７００９に記載された権限を追加するためのボタンである。例えば図１１の例では、この権限付与ボタン７０１０は開発担当者のレコード毎に配置されており、特権管理者が権限を追加したい担当者ＩＤの横に配置された権限付与ボタン７０１０を押下することで、該当開発担当者に対して権限付与が行われ、図４の担当者権限管理表３００の所持権限３００３が更新される。
【０１０２】
また、キャンセルボタン７０１１は、特権管理者が権限付与を中止しいずれの権限も開発担当者に与えず、権限付与を終了するためのボタンである。特権管理者がキャンセルボタン７０１１を押下すると、各開発担当者の所持権限３００３（担当者権限管理表３００）の変更がされないまま権限付与管理画面７００１の表示が終了し、フローも終了する。
【０１０３】
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【０１０４】
こうした本実施形態によれば、開発環境における情報開示および操作の可否をＤＢ等の管理対象の種類及び操作に関する制約の下で制御して情報漏洩を効果的に抑止すると共に、こうした制御により、開発担当者毎の処理権限に応じて得意分野のスキルが深化しやすくなり、データ削除等の開発上の事故や開発工程遅延といったリスクを低減可能となる。したがって、開発環境における情報漏洩を抑止しつつ、開発作業上の事故や工程遅延が低減可能となる。
【０１０５】
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態の開発支援システムにおいて、前記記憶部が、各管理対象データに関して、処理内容に応じて必要な処理権限を規定した定義情報を更に格納するものであり、前記入力部が、ユーザの識別情報の入力を受け付けるものであり、前記入力部で受け付けたユーザの識別情報に基づき、前記記憶部の管理情報にて、該当ユーザが保持する処理権限を特定し、当該特定した前記ユーザの処理権限を処理権限の範囲に含む、管理対象データおよび当該管理対象データに対する処理内容を前記記憶部の定義情報で特定し、当該特定した前記管理対象データおよび前記処理内容の情報を、操作可能情報として出力部に表示する表示処理部を更に備えるとしてもよい。これによれば、開発担当者等のユーザは、自身で操作可能な管理対象データについて認識することが可能となり、ユーザにおける操作効率向上とそれによる開発効率改善が図られる。
【０１０６】
また、本実施形態の開発支援システムにおいて、前記表示処理部における、前記操作可能情報を出力部に表示する処理の実行に伴って、前記入力部が、前記ユーザの識別情報および該当ユーザによる操作を受け付けて、前記判断処理部が処理を実行するものであるとしてもよい。これによれば、開発担当者等のユーザが、自身で操作可能な管理対象データについてシステム側から提示を受けることとなり、操作出来ない管理対象データに対する不要な操作を予め回避可能となり、ユーザにおける操作効率向上と、それによる開発効率改善が図られる。
【０１０７】
また、本実施形態の開発支援システムにおいて、前記記憶部は、管理対象データの種類別および管理対象データに対する処理内容の種類別の重要度情報を更に格納するものであり、前記入力部は、所定の開発業務に要求される、所定管理対象データに対する所定処理内容を規定した必要処理権限の入力を受け付けるものであり、前記入力部で受け付けた必要処理権限と、前記記憶部の管理情報が含む各ユーザ保持の処理権限とを照合し、前記必要処理権限に対し、各ユーザが保持していない不足処理権限を特定し、各ユーザの前記不足処理権限と前記記憶部の重要度情報とを照合して、各ユーザにおいて不足する不足処理権限に対応した重要度情報を取得し、当該取得した重要度情報を開発リスク情報として該当ユーザに対応付けて出力部に表示する権限付与支援部を備えるとしてもよい。これによれば、所定の管理者等が開発業務に割り当てるべき開発担当者を選定する場合、開発担当者の処理権限、すなわち過去の経験によるスキルに基づいた、該当業務担当時におけるリスクの大小を認識し、担当業務についてスキル上無理のない開発担当者を的確に選定し、ひいては開発上の事故や開発工程遅延のリスクを低減可能となる。
【０１０８】
また、本実施形態の開発支援システムにおいて、前記記憶部は、前記重要度情報として、管理対象データの種類別および管理対象データに対する処理内容の種類別の重要度の数値を格納するものであり、前記権限付与支援部は、各ユーザの前記不足処理権限と前記記憶部の重要度情報とを照合する処理において、各ユーザにおいて不足する不足処理権限に対応した重要度の数値を取得し、当該取得した数値を該当ユーザ毎に合算した合算値を前記開発リスク情報とし、当該開発リスク情報たる前記合算値の大小に基づいて前記各ユーザをソートして出力部に表示するものである、としてもよい。これによれば、開発担当者の処理権限、すなわち過去の経験によるスキルに基づいた、上述の管理者等が、各開発担当者による該当業務担当時におけるリスク大小を更に確実かつ簡便に認識し、担当業務についてスキル上無理のない開発担当者を更に的確に選定し、ひいては開発上の事故や開発工程遅延のリスクをより低減可能となる。
【符号の説明】
【０１０９】
１１０  判断処理部
１１１  表示処理部
１１２  権限付与支援部
２００  権限定義表（定義情報）
３００  担当者権限管理表（管理情報）
４００  機能−権限定義表（定義情報）
５００  重要度管理表（重要度情報）
５５０  ＤＢ重要度定義表（重要度情報）
５７０  処理権限レベル定義表（重要度情報）
１００１  開発支援システム
１００２  中央処理装置
１００３  主記憶装置（記憶部）
１００４  内部バス
１００５  バスインタフェース
１００６  外部バス
１００７  画面出力装置インタフェース
１００８  ユーザ入力装置インタフェース（入力部）
１００９  大容量記憶装置インタフェース
１０１０  通信装置インタフェース
１０１１  入出力装置インタフェース
１０１２  ディスプレイ
１０１３  ユーザ入力装置
１０１４  大容量記憶装置
１０１５  通信装置
１０１６  入出力装置
５００１  開発環境画面
７００１  権限付与管理画面
【図１】
2014203293.tif 000003
【図２】
2014203293.tif 000004
【図３】
2014203293.tif 000005
【図４】
2014203293.tif 000006
【図５】
2014203293.tif 000007
【図６】
2014203293.tif 000008
【図７】
2014203293.tif 000009
【図８】
2014203293.tif 000010
【図９】
2014203293.tif 000011
【図１０】
2014203293.tif 000012
【図１１】
2014203293.tif 000013