JP2014203293A - 開発支援システム、開発支援方法、および開発支援プログラム - Google Patents

開発支援システム、開発支援方法、および開発支援プログラム Download PDF

Info

Publication number
JP2014203293A
JP2014203293A JP2013079634A JP2013079634A JP2014203293A JP 2014203293 A JP2014203293 A JP 2014203293A JP 2013079634 A JP2013079634 A JP 2013079634A JP 2013079634 A JP2013079634 A JP 2013079634A JP 2014203293 A JP2014203293 A JP 2014203293A
Authority
JP
Japan
Prior art keywords
authority
user
processing
information
target data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013079634A
Other languages
English (en)
Inventor
悠一 小林
Yuichi Kobayashi
悠一 小林
志村 明俊
Akitoshi Shimura
明俊 志村
栄 茂木
Sakae Mogi
栄 茂木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2013079634A priority Critical patent/JP2014203293A/ja
Publication of JP2014203293A publication Critical patent/JP2014203293A/ja
Pending legal-status Critical Current

Links

Abstract

【課題】開発環境における情報漏洩を抑止しつつ、開発作業上の事故や工程遅延を低減可能とする。
【解決手段】開発支援システム1001を、管理対象データに対するユーザの処理権限を、管理対象データの種類および当該管理対象データに対する処理内容の種類に対応付けた管理情報300を格納する記憶部1003と、ユーザの識別情報および該当ユーザによる操作を受け付ける入力部1008と、入力部1008で受け付けたユーザの識別情報に基づき、記憶部1003の管理情報300にて、該当ユーザが保持する処理権限を特定し、当該処理権限における、該当ユーザが扱いうる管理対象データの種類および当該管理対象データに対する処理内容の種類が、操作の対象である管理対象データおよび当該管理対象データに対する処理内容を範囲に含むか判定し、ユーザの操作が処理権限の範囲に含まれる場合に、操作を許容する判断処理部110とから構成する。
【選択図】図2

Description

本発明は、開発支援システム、開発支援方法、および開発支援プログラムに関するものであり、具体的には、開発環境における情報漏洩を抑止しつつ、開発作業上の事故や工程遅延を低減可能とする技術に関する。
鉄道や金融の各種基幹システムなど規模が大きなシステムを開発する場合、必要な機能毎に人員を割り当てた大規模な開発体制を敷いて作業を進めることが多い。このような大規模開発にあたっては、外部委託先の外国企業等を含め、さまざまな開発経験、スキルを持った多数の開発者が関与することで、種々の問題が発生する可能性がある。
すなわち具体的には、悪意ある開発者による情報漏洩や、作業内容に対して担当開発者のスキルが不足していたことによる事故(例:スキル不足の開発者により重要データを削除、更新されてしまう等)或いは作業遅延などが例として挙げられる。
こうした開発作業時における問題に関連する従来技術としては、例えば、開発対象のソースコードを含む開発環境を備えたサーバ装置と、前記開発環境へのユーザインターフェースを備えたクライアント端末とを有するソフトウェア開発システムであって、サーバ装置は、当該サーバ装置に開発環境を構築する開発環境生成手段と、ソースコードに対するアクセス権情報を設定するアクセス権情報設定手段と、設定されたアクセス権情報を基に、ソースコードの表示方法を判断するアクセス権限判断手段とを備え、判断されたソースコードの表示方法に従って、クライアント端末におけるソースコードの表示を制御するソフトウェア開発システム(特許文献1参照)などが提案されている。
特開2009−129326号公報
しかしながら従来においては、開発環境における利用制御対象を単純なデータの塊として取り扱うのみであり、実際の開発対象や作業の種類、開発担当者のスキルの観点も併せて踏まえつつ、データベースの格納データやアプリケーションのソースコード等に対する各種作業の可否をコントロールする技術は提案されていない。
そこで本発明の目的は、開発環境における情報漏洩を抑止しつつ、開発作業上の事故や工程遅延を低減可能とする技術を提供することにある。
上記課題を解決する本発明の開発支援システムは、管理対象データに対するユーザの処理権限を、管理対象データの種類および当該管理対象データに対する処理内容の種類に対応付けた管理情報を格納する記憶部と、ユーザの識別情報および該当ユーザによる操作を受け付ける入力部と、前記入力部で受け付けたユーザの識別情報に基づき、前記記憶部の管理情報にて、該当ユーザが保持する処理権限を特定し、当該処理権限における、該当ユーザが扱いうる管理対象データの種類および当該管理対象データに対する処理内容の種類が、前記操作の対象である管理対象データおよび当該管理対象データに対する処理内容を範囲に含むか判定し、前記ユーザの操作が前記処理権限の範囲に含まれる場合に、前記操作を許容する判断処理部と、を備えることを特徴とする。
また、本発明の開発支援方法は、管理対象データに対するユーザの処理権限を、管理対象データの種類および当該管理対象データに対する処理内容の種類に対応付けた管理情報を格納する記憶部と、ユーザの識別情報および該当ユーザによる操作を受け付ける入力部とを備える情報処理装置が、前記入力部で受け付けたユーザの識別情報に基づき、前記記憶部の管理情報にて、該当ユーザが保持する処理権限を特定し、当該処理権限における、該当ユーザが扱いうる管理対象データの種類および当該管理対象データに対する処理内容の種類が、前記操作の対象である管理対象データおよび当該管理対象データに対する処理内容を範囲に含むか判定し、前記ユーザの操作が前記処理権限の範囲に含まれる場合に、前記操作を許容する処理を実行する、ことを特徴とする。
また、本発明の開発支援プログラムは、管理対象データに対するユーザの処理権限を、管理対象データの種類および当該管理対象データに対する処理内容の種類に対応付けた管理情報を格納する記憶部と、ユーザの識別情報および該当ユーザによる操作を受け付ける入力部とを備える情報処理装置に、前記入力部で受け付けたユーザの識別情報に基づき、前記記憶部の管理情報にて、該当ユーザが保持する処理権限を特定し、当該処理権限における、該当ユーザが扱いうる管理対象データの種類および当該管理対象データに対する処理内容の種類が、前記操作の対象である管理対象データおよび当該管理対象データに対する処理内容を範囲に含むか判定し、前記ユーザの操作が前記処理権限の範囲に含まれる場合に、前記操作を許容する処理を実行させる、ことを特徴とする。
本発明によれば、開発環境における情報漏洩を抑止しつつ、開発作業上の事故や工程遅延が低減可能となる。
本実施形態における開発支援システムのハードウェア構成を示す図である。 本実施形態における開発支援システムの構成例を示すブロック図である。 本実施形態における権限定義表の例を示す図である。 本実施形態における担当者権限管理表の例を示す図である。 本実施形態における機能-権限定義表の例を示す図である。 本実施形態におけるDB重要度定義表(重要度管理表)の例を示す図である。 本実施形態における処理権限レベル定義表(重要度管理表)の例を示す図である。 本実施形態の開発支援方法の処理手順例1を示すフロー図である。 本実施形態における開発環境画面の例を示す図である。 本実施形態の開発支援方法の処理手順例2を示すフロー図である。 本実施形態における権限付与画面の例を示す図である。
−−−システム構成−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図1は、本実施形態の開発支援システム1001のハードウェア構成を示す図である。図1に示す開発支援システム1001は、開発環境における情報漏洩を抑止しつつ、開発作業上の事故や工程遅延が低減可能とするコンピュータシステムである。
開発支援システム1001のハードウェア構成は以下の如くとなる。すなわち開発支援システム1001は、中央処理装置1002と、主記憶装置1003と、内部バス1004と、バスインタフェース1005と、外部バス1006と、画面出力装置インタフェース1007と、ユーザ入力装置インタフェース1008と、大容量記憶装置インタフェース1009と、通信装置インタフェース1010と、入出力装置インタフェース1011から構成される。
このうち中央処理装置1002はプログラム実行等の演算を行うための装置であり、主記憶装置1003で所定のプログラムを実行して開発支援システム1001として必要な機能を実装する。一方、主記憶装置1003は、中央処理装置1002におけるプログラム実行時の処理領域および、データの一時格納領域として使用される。例えばOS(Operating System)などの基本プログラムや所定の機能部を実現するプログラムの他、後述する権限定義表200(図3)、担当者権限管理表300(図4)、機能−権限定義表400(図5)、開発環境画面定義情報(図9)、重要度管理表500たるDB重要度定義表550(図6)、処理権限レベル定義表570(図7)、権限付与画面定義情報(図11)を一時的に格納する。これら中央処理装置1002と主記憶装置1003は、内部バス1004により接続されている。なお、内部バス1004はバスインタフェース1005を介して外部バス1006に接続されている。
また、外部バス1006は、画面出力装置インタフェース1007、ユーザ入力装置インタフェース1008、大容量記憶装置インタフェース1009、通信装置インタフェース1010、入出力装置インタフェース1011と接続されており、これらのインタフェースと中央演算処理装置1002や主記憶装置1003とのデータ入出力をバスインタフェース1005、内部バス1004を通して媒介する。
また、画面出力装置インタフェース1007はディスプレイ1012と接続するためのインタフェースであり、外部バス1006を通じて得た情報をディスプレイ1012に出力する。ディスプレイ1012は、後述するソースコード開発画面5011や警告画面5014、権限付与選択画面7100等の各種画面を表示可能な装置であり、そのほかにも基本プログラムを操作するための情報等を表示できる。
また、ユーザ入力装置インタフェース1008は、ユーザ入力装置1013と接続するためのインタフェースであり、外部バス1006にユーザ入力装置1013から入力された情報を出力する。ユーザ入力装置1013は、キーボード、マウスなど、ユーザからの入力を受け取るための装置であり、ユーザ入力装置1013から入力された情報はユーザインタフェース1008に出力される。
また、大容量記憶装置インタフェース1009は、大容量記憶装置1014と接続するためのインタフェースであり、大容量記憶装置1009からのデータ入出力を外部バス1006に仲介する。一方、大容量記憶装置1014は、例えばHDD(Hard Disk Drive)といった記憶装置であり、基本プログラムやプログラム実行時処理結果の一時保管、後述する権限定義表200(図3)、担当者権限管理表300(図4)、機能−権限定義表400(図5)、開発環境画面定義情報(図9)、重要度管理表500たるDB重要度定義表550(図6)、処理権限レベル定義表570(図7)、権限付与画面定義情報(図11)、本実施形態の開発支援方法を実行するためのプログラム、更には、本実施形態の開発支援方法を用いて開発を行うソースコードを格納する。この大容量記憶装置1014は、装置の電源を切った状態やプログラム非実行時にも格納情報を保管可能な不揮発性の記憶装置となる。また、各種処理実行の際には中央処理装置1002が主記憶装置1003にこれらのプログラムやデータを読み出してプログラムを実行する。
また、通信装置インタフェース1010は、通信装置1015と接続するためのインタフェースであり、通信装置1015からのデータ入出力を外部バス1006に仲介する。通信装置1015は、例えばEthernet(登録商標)を介して外部サーバ装置などと接続するための装置であり、ネットワークで接続された外部との通信を行える。
また、入出力装置インタフェース1011は、入出力装置1016と接続するためのインタフェースであり、入出力装置1016からのデータ入出力を外部バス1006に仲介する。入出力装置1016は外部媒体に読み書き可能なドライブ装置や開発者の認証を行うための指静脈読取装置などである。
続いて、本実施形態の開発支援システム1001が備える機能について説明する。図2は、本実施形態における開発支援システム1001の構成例を示すブロック図である。上述したように、以下に説明する機能は、例えば開発支援システム1001が備えるプログラム102(図2参照)を実行することで実装される機能と言える。
開発支援システム1001は、ユーザ入力装置インタフェース(入力部)1008で受け付けたユーザの識別情報に基づき、主記憶装置1003の担当者権限管理表300(管理情報)にて、該当ユーザが保持する処理権限を特定し、当該処理権限における、該当ユーザが扱いうる管理対象データの種類および当該管理対象データに対する処理内容の種類が、上述した操作の対象である管理対象データおよび当該管理対象データに対する処理内容を範囲に含むか判定し、上述のユーザの操作が処理権限の範囲に含まれる場合に、操作を許容する判断処理部110を備える。
また、開発支援システム1001は、ユーザ入力装置インタフェース(入力部)1008で受け付けたユーザの識別情報に基づき、主記憶装置1003の担当者権限管理表300(管理情報)にて、該当ユーザが保持する処理権限を特定し、当該特定したユーザの処理権限を処理権限の範囲に含む、管理対象データおよび当該管理対象データに対する処理内容を、主記憶装置1003の権限定義表200(定義情報)、機能−権限定義表400(定義情報)で特定し、当該特定した管理対象データおよび処理内容の情報を、操作可能情報として画面出力装置インタフェース1007(出力部)に表示する表示処理111部を更に備える。
なお、開発支援システム1001における表示処理部111における、上述の操作可能情報を画面出力装置インタフェース1007(出力部)に表示する処理の実行に伴って、ユーザ入力装置インタフェース(入力部)1008が、ユーザの識別情報および該当ユーザによる操作を受け付けて、判断処理部110が処理を実行するとすれば好適である。
また、開発支援システム1001は、ユーザ入力装置インタフェース(入力部)1008で受け付けた必要処理権限と、主記憶装置1003の担当者権限管理表(管理情報)300が含む各ユーザ保持の処理権限とを照合し、必要処理権限に対し、各ユーザが保持していない不足処理権限を特定し、各ユーザの不足処理権限と、主記憶装置1003の重要度管理表500(重要度情報)とを照合して、各ユーザにおいて不足する不足処理権限に対応した重要度情報を取得し、当該取得した重要度情報を開発リスク情報として該当ユーザに対応付けて画面出力装置インタフェース1007(出力部)に表示する権限付与支援部112を備える。
なお、開発支援システム1001の権限付与支援部112は、各ユーザの不足処理権限と上述の重要度情報500とを照合する処理において、各ユーザにおいて不足する不足処理権限に対応した重要度の数値を取得し、当該取得した数値を該当ユーザ毎に合算した合算値を開発リスク情報とし、当該開発リスク情報たる合算値の大小に基づいて各ユーザをソートして画面出力装置インタフェース1007(出力部)に表示するとすれば好適である。
なお、上述の記載においては、ユーザ入力装置インタフェース(入力部)1008でユーザの入力を受け付けるとしているが、具体的には、キーボード等のユーザ入力装置1013でのユーザの入力事象をユーザ入力装置インタフェース1008で受け付けているものとする。また同様に、上述の記載においては、画面出力装置インタフェース1007に情報を表示するとしているが、具体的には、画面出力装置インタフェース1007が画面データ等の出力データをディスプレイ1012に送り、表示させているものとする。
−−−データ構造例−−−
次に、本実施形態の開発支援システム1001が用いる各種テーブル類におけるデータ構造例について説明する。図3は本実施形態における権限定義表200(定義情報)の例である。権限定義表200は本実施形態の開発支援システム1001が利用するテーブルあり、本実施形態における管理対象データであるDB毎に、検索や登録、削除等の処理をユーザが行うにあたって必要となる権限(処理権限)が定義されたものとなる。
特にID管理のようなDBアクセス中心のシステムにおいては、DBとそれに対する基本処理が機能の中心となるため、DB毎の基本的な処理に関して権限を割当てておくと、権限の組み合わせで、ユーザ操作可否が定義可能になる。また、この権限を開発担当者に付与する場合に、例えば開発担当者毎に担当DBを定め、DB毎の専門職として開発担当者を育てて行くことにより、不要なDB構成情報の開示を防ぐと共に、各開発担当者の専門性向上により開発工数の短縮につながるといった効果が期待できる。
権限定義表200は、検索系(SELECT)2001、登録系(INSERT)2002、更新系(UPDATE)2003、削除系(DELETE)2004の各行と、カード情報2005、不正カード情報DB2006、利用者情報DB2007の各列で構成されている。この場合、行はDBに対する処理を基本とした分類によって分けられ、列はDBの種類による分かれている。権限定義表200においては、管理対象となるDBの種類が増える毎に列が追加されることとなる。また、権限定義表200の各セルには、DBと処理の組合せに対する権限が定義されており、この権限を与えられた開発担当者は当該DBに対して当該処理(検索、登録等)を含むプログラムを開発できる。
例えば、行2001には検索系(SELECT)の処理に関する権限がDB毎に記載されている。カード情報DB2005には権限の名称として”権限1−1”が記載されており、カード情報照会や チェックといった機能を開発する権限を定義している。また、不正カード情報DB2006には権限の名称として”権限2−1”が記載されており、不正カード情報照会や チェックといった機能を作成・開発するための権限を定義している。また、利用者情報DB2007には権限の名称として”権限3−1”が記載されており、利用者情報照会やチェックといった機能を作成・開発する権限を定義している。
同様に、行2002には登録系(INSERT)の処理に関する権限がDB毎に記載されており、データの登録や追加に関する機能を開発するための権限を定義している。同様に行2003には、更新系(UPDATE)の処理に関する権限がDB毎に記載されており、データの更新や上書きに関する機能を開発するための権限を定義している。同様に行2004には、削除系(DELETE)の処理に関する権限がDB毎に記載されており、データの削除に関する機能を開発するための権限を定義している。
図4は本実施形態における担当者権限管理表300(管理情報)の例である。担当者権限管理表300は本実施形態の開発支援システム1001が利用するテーブルであり、開発担当者や権限管理者といった担当者の認証に用いる情報及び、各担当者が保持する権限(権限定義表200に規定した権限と対応)を記載するものである。
この担当者権限管理表300は、担当者ID3001、ログインパスワード3002、所持権限3003から構成されており、列3001は開発担当者や管理者といった本実施形態の開発支援システム1001を用いる人間それぞれに特有のIDを管理し、列3002は上述の列3001の担当者が本人であることを確認するためのパスワードを管理し、列3003は各担当者が保持する権限を管理する。このとき、開発支援システム1001にログインするためにはこの担当者IDとパスワードの両方を間違いなく入力する必要があり、いずれかが不一致の場合も開発支援システム1001を利用することができない。
このようなテーブルにおいて、例えば行3004は担当者ID3001が“1001”である担当者に関する情報を保持しており、ログインパスワード3002は“Aaa123”であり、所持権限は“権限1−1”である。また、行3007は特権管理者の担当者ID3001とログインパスワード3002を管理しており、所持権限3003は“管理者特権”が記入されている。この“管理者特権”は他の担当者に対して権限を付与可能な権限である。
図5は本実施形態の機能−権限定義表400(定義情報)の例である。機能−権限定義表400は機能毎に必要な権限を定義すると共に、該当機能を実現するソースコードが記述されたファイル名が保持される表である。このテーブル400を用いることで機能毎の性質を整理でき、似た性質の機能、プログラムを分類できるとともに、同じ分類にある機能を集中して同じ開発担当者が担当することで、各性質のスペシャリストを育成できる。また、本実施形態の開発支援システム1001では、この表400を、個々の開発担当者の保持権限と照らし合わせることで、開発担当者毎にどの機能のプログラムを閲覧・編集可能であるかを判断するための表としても利用する。
この機能−権限定義表400は、機能ID4001、機能名称4002、機能名称4002に対応したソースコードを示すコード4003、必要権限4004、ソースファイル名4005から構成される。列4001には機能毎につけられた機能IDが記されており、列4002には各機能の名称が記されており、列4004には機能のソースコードを閲覧・編集するために必要な権限が記されており、列4005には各機能のソースファイル名が記されている。例えば行4005は、機能ID4001が“001”であり、機能名称4002が“カード情報チェック”であり、必要権限が“権限1−1”であり、ソースファイル名が“CheckCardInfo”であるものを示している。ここで、ソースファイル名4005は、複数のファイル名が記入されていてもよく、また、ソースファイル中の特定行数だけが閲覧・編集となる場合、具体的な行数を指定しても良い。
図6、図7は本実施形態における重要度管理表500(重要度情報)の例である。重要度管理表500は、管理対象データたるDBとこのDBに対する処理の各々について重要度を定義するテーブルであり、特権管理者による開発担当者に対する権限付与業務時に、開発支援システム1001が各開発担当者に関するリスク見積もりを行うための情報となる。本実施形態において、開発担当者へ新たに権限付与を行う際のリスクは2種類想定しており、1つ目は、アクセス可能となるDBのデータ構成が開発担当者に認識可能となることによるリスクであり、2つ目はそれぞれのDBの情報に対して(スキル不足故に或いは不注意で)意図しない改ざんや編集が行われてしまうリスクである。例えば、新規参入の開発担当者がある機能の開発を担当する場合、新規にDB情報を開示するリスクと当該DBの情報を操作させるソースコードを記述させるリスクがあると考える。新規参入開発担当者の受け入れや新規機能開発を行う際、本実施例ではこのようなリスクの評価を行うために図3の権限定義表200と併せ、DB重要度定義表550と処理権限レベル定義表570という2種類の重要度管理表500を用いる。
このうち、DB重要度定義表550は、DB名称4101と重要度4102から構成され、DB毎の重要度を定義する。この重要度は、担当者に対して新規にDB情報を開示する際のリスクを数値として管理するものであり、特権管理者による新規権限付与の際にはこの数値化したリスクを利用する。
DB重要度定義表550において、列6101はDB名称を表したものであり、例えば行6103には“カード情報DB”といったDB名称が記載され、列6104には“不正カード情報DB”、列6105には“利用者情報DB”といったDB名称が記載されている。また、列6102は、各DBに対する重要度を数値で記載するものであり、例えば行6103には“カードDB”の重要度として“10”という値が記載され、列6104には“不正カード情報DB”の重要度として“7”、列6105には“利用者情報DB”の重要度として“20”という値が記載されている。
また、処理権限レベル定義表570は、処理名称6201と権限レベル6202から構成され、処理毎の権限レベルが記されている。本実施形態では、一例としてDBに関する処理を開発する開発環境を想定しているため、処理は「検索」、「登録」、「更新」、「削除」といった基本的な処理を挙げており、また、DBの変更に対するリスクの観点から「検索」、「登録」、「更新」、「削除」という順で権限レベルが高くなるよう設定している。なお、この権限レベル6202の値は、該当処理の重要度とも言えるため、「重要度」の概念と同義である。
この処理権限レベル定義表570において、列6201は処理名称を表したものであり、例えば行6203には“検索系(SELECT)”という処理名称が記載され、列6204には“登録系(INSERT)”、列6205には“更新系(UPDATE)”、列6206には“削除系(DELETE)”という処理名称が記載されている。また、列6202は各処理に対する権限レベルを数値で記載するものであり、例えば行6203には“検索系(SELECT)”の権限レベルとして“1”という値が記載され、列6204には“登録系(INSERT)”の権限レベルとして“2”、列6205には“更新系(UPDATE)”の権限レベルとして“7”、列6206には“削除系(DELETE)”の権限レベルとして“10”という値が記載されている。
−−−処理手順例1−−−
以下、本実施形態における開発支援方法の実際手順について図に基づき説明する。以下で説明する開発支援方法に対応する各種動作は、開発支援システム1001が実行するプログラムによって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
図8は本実施形態の開発支援方法の処理手順例1を示すフロー図である。なお、以下説明において、図3の権限定義表200、図4の担当者権限管理表300、図5の機能−権限定義表400、図6、図7の重要度管理表500たる重要度定義表550および処理権限レベル定義表570、の各情報は主記憶装置1003に展開され、下記ステップを実行するプログラムが利用可能になっているものとする。
まず、ユーザ入力装置1013が、開発担当者により入力された、担当者ID3001とパスワード3002を含む認証要求として開発支援システム1001に送信する(s100)。
一方、開発支援システム1001の判断処理部110は、ステップ8001において、上述の認証要求を受信し、この認証要求が含む担当者ID3001とパスワード3002を、担当者権限管理表300の各レコードに照合し、担当者ID3001とパスワード3002の組が完全一致するレコード有無を判定しユーザ認証を実行する。開発担当者が開発支援システム1001を利用する際、開発担当者本人が操作を行っていることを確認するための処理である。なお、特に以降のステップはステップ8001の認証に問題がなかったことを前提に処理を行うものとする。
次に、開発支援システム1001の判断処理部110は、ステップ8002において、上述のユーザ認証をパスした開発担当者に関し、ユーザ認証時に担当者権限管理表300で特定している所持権限3003が「管理者特権」かどうかを判定する。上述のステップ8001でユーザ認証を行った担当者ID3001において、保持権限3003が“管理者特権”であった場合(8002:Y)、開発支援システム1001は処理をステップ8011に進める。このステップ8011以降の処理については後述するが、権限付与支援部112が、この「管理者特権」を有するユーザによる権限付与の処理を支援することとなる。
一方、上述の保持権限3003が“管理者特権”以外であった場合(8002:N)、開発支援システム1001の表示処理部111が、ステップ8003において、上述の所持権限3003に基づいて、権限定義表200のDB部分2005〜2007と、機能−権限定義表400の必要権限4004を検索する。
この処理を実行することで、ステップ8001で認証済みの開発担当者がどのDBスキーマやプログラムを参照可能なのかを決定できる。例えば、担当者権限管理表300において、担当者IDが“1001”の開発担当者について、行3004における所持権限3003を参照すると“権限1−1”が所持権限である。このとき権限定義表200を参照すると“権限1−1”は列2005に含まれることがわかり、このことから「カード情報DB定義」の閲覧が可能であることがわかる。また、機能−権限定義表400において、必要権限4004を“権限1−1”で検索すると、行4005の機能名称4002“カード情報チェック”が閲覧・編集可能であり、すなわちソースファイル名4005“CheckCardInfo”が閲覧・編集可能なファイルであることがわかる。一方、行4006、行4007の必要権限4004に関しては権限が不足しているため、の閲覧・編集ができないことがわかる。
また、開発支援システム1001の表示処理部111は、ステップ8004において、上述のステップ8003の検索結果に従い、該当開発担当者において閲覧や編集の権限を有しているソースファイルの一覧を示す閲覧・編集可能ファイル一覧画面5002と、同開発担当者が閲覧可能なDBの一覧を示す閲覧可能DB定義一覧画面5004を、ディスプレイ1012に出力する。上述の開発担当者の利用するディスプレイ1012は、表示処理部111が出力した各画面の画面データに応じて、画面表示を行う(s200)。開発担当者はディスプレイ1012において上述の各画面を閲覧する。なお、いずれの画面についても主記憶装置1003にてひな形の画面データを予め備えており、この画面データに対して表示処理部111がデータを設定することで各画面が生成できるものとする(以下同様)。
なお、上述の画面5002、5004において表示する各ソースファイルやDBと、大容量記憶装置1014等に保存されたソースファイルの実体とは対応付いている。そのため、画面5002、5004を閲覧した開発担当者が、閲覧・編集可能ファイル一覧画面5002、閲覧可能DB定義一覧画面5004に表示されたファイル名やDB定義名を選択することで、開発支援システム1001は、該当するファイルやDBを大容量記憶装置1014等から読み出してソースコード編集画面5003やDB定義表示画面5005で閲覧・編集可能に表示することとなる。
一方、上述の開発担当者は、閲覧・編集可能ファイル一覧画面5002にて、編集対象とするソースファイルに対するユーザ入力装置1013でのクリック動作等により選択する。例えば、閲覧・編集可能ファイル一覧画面5002にて、編集対象のソースファイルとして、“CheckCardInfo”に対するクリック動作が行われ、選択がなされたとする。この選択をユーザ入力装置1013から受けた開発支援システム1001は、“CheckCardInfo”のデータを大容量記憶装置1014から読み出して、ソースコード編集画面5003にて表示する。また、上述の開発担当者が、閲覧可能DB定義一覧画面5004にて、閲覧対象とするDBに対するユーザ入力装置1013でのクリック動作等により選択する。例えば、閲覧可能DB定義一覧画面5004にて、閲覧対象のDBとして、“カード情報DB”に対するクリック動作が行われ、選択がなされたとする。この選択をユーザ入力装置1013から受けた開発支援システム1001は、“カード情報DB”の構成に関するデータを大容量記憶装置1014から読み出して、DB定義表示画面5005にて表示する。
この場合、開発担当者は、ソースコード編集画面5003やDB定義表示画面5005でソースファイルやDB構成について閲覧し、ユーザ入力装置1013にて編集内容を入力する。ユーザ入力装置1013は、ソースコード編集画面5003における、この開発担当者による所定のソースファイルに対する編集内容を取得し、開発支援システム1001の判断処理部110に送る(s101)。他方、ステップ8005において、開発支援システム1001の判断処理部110は、上述の開発担当者がソースファイルに対して行ったソースコードの編集内容を取得する。
その後、上述の開発担当者は、該当ソースコードの編集が終わると、ソースコード編集画面5003におけるコミットボタン5006の押下動作を行う。このコミットボタン5006が押下されるまで編集内容は保存されず、またコンパイル、実行もされることはないため、開発担当者は作業が終了した場合や、途中経過を保存したい場合にもこのコミットボタン5006を押下することとなる。コミットボタン5006の押下事象は、ユーザ入力装置1013から開発支援システム1001の判断処理部110に送られる(s102)。
一方、開発支援システム1001の判断処理部110は、ステップ8006において、上述したコミットボタン5006の押下事象をユーザ入力装置1013から受け付けて、これを感知する。この時、判断処理部110は、ステップ8007において、該当開発担当者の所持権限3003に基づいて、権限定義表200のDB部分2005〜2007および処理部分2001〜2004の各値を取得する。判断処理部110は、ここで取得した各値すなわち該当開発担当者の有する処理権限と、上述のステップ8005で得ているソースコード編集内容とを照合し、編集内容における“SQL”語句直後の命令文が、上述の処理権限の範囲か判定する。この処理を行うことで開発担当者が処理権限外のコードをソースファイルに対して記述していないか確認できる。
例えば、担当者ID3001である開発担当者は、担当者権限管理表300の行3004によれば、所持権限3003として“権限1−1”を持っている。このとき、権限定義表200のDB部分2005〜2007および処理部分2001〜2004で“権限1−1”について検索を行うと、“権限1−1”の場合、行2001及び列2005によれば、“カード情報DB”について“検索系(SELECT)”の処理が行えることがわかる。
このとき、該当開発担当者がソースファイルの編集を行う場合、ソースコード編集画面5003でのSQL文の編集内容としては、“SQL〜SELECT〜カード情報DB定義変数”、というコードが入ることが許容されることになる。この前提の下、例えばプログラム中に“SQL DELETE FROM userInfoDB(ユーザ情報DB)”といった権限外の処理(データの削除処理たる“DELETE”)が編集内容に含まれていないか確認するためには、判断処理部110は、“SQL”というキーワードの後に“SELECT”以外の“DELETE”や“UPDATE”、“INSERT”といった語句が存在しないか、またカード情報DB定義変数以外の情報を参照していないかといったチェックを行う。これにより権限違反の有無を確認する。
上述の判断処理部110は、ステップ8008において、上述のステップ8007の判断の結果が、「編集内容に権限違反が有った」ものを示す場合(8008:Y)、処理をステップ8010へ進める。判断処理部110は、ステップ8010において、警告画面5007(図9)をディスプレイ1012に出力する。ディスプレイ1012ではこの警告画面5007の画面データを判断処理部110より受け取り、これを表示する。なお、図8のフローでは省略してあるが、ディスプレイ1012での警告画面5007の表示処理後、フローは再びステップ8005に戻り、開発担当者による編集内容を受け付ける状態となる。また、警告画面5007の表示処理前にソースコード編集画面5003にて開発担当者が編集したプログラムすなわちソースファイルの情報は、権限違反であるから保存されない。
他方、上述のステップ8007の判断の結果が、「編集内容に権限違反がなかった」ものを示す場合(8008:N)、処理をステップ8009に進める。このステップ8009において、判断処理部110は、上述のステップまででソースコード編集画面5003にて編集されたソースファイルで、大容量記憶装置1014にてそれまで格納されていたソースファイルを更新する、いわゆるソースコードコミットを行う。このステップでは、開発環境としてファイル更新処理と共にコンパイルやテスト環境へのロード等を連続して行うようにしてもよい。
ここで、開発支援システム1001がディスプレイ1012に表示させる開発環境画面5001について説明する。図9は本実施形態における開発環境画面5001の例である。上述してきたように、開発担当者はこの開発環境画面5001をディスプレイ1012にて閲覧し、ユーザ入力装置1013を用いてソースコードの編集作業などを行うこととなる。この開発環境画面5001では、開発担当者の権限に準じたソースコードとDB定義の開示が行われる。この画面のように各開発担当者の閲覧可能情報を制限することでDB構成やソースコードといったシステムの動作に関する情報を秘匿できる。
開発環境画面5001は、閲覧・編集可能ファイル一覧画面5002、ソースコード編集画面5003、閲覧可能DB定義一覧画面5004、DB定義表示画面5005、コミットボタン5006から構成される。
このうち、閲覧・編集可能ファイル一覧画面5002は、各開発担当者の権限にあわせて閲覧可能なソースコードを含むファイルの一覧を表示する画面であり、表示処理部111ないし判断処理部110が図4の担当者権限管理表300と図5の機能−権限管理表の情報からアクセス可能なファイル名及びソースコードの範囲を決定し一覧として表示する。開発支援システム1001を利用する開発担当者は、この閲覧・編集可能ファイル一覧画面5002から、閲覧・編集を行いたいファイルを選択し、閲覧・編集を行う。
例えば、図9に例示した閲覧・編集可能ファイル一覧画面5002には、担当者ID3001が“1002”である開発担当者が、開発支援システム1001を利用した場合の例が示されており、行3006によると担当者ID3001が“1002”である開発担当者の所持権限3003は“権限1−1,1−3,3−3”である。この権限について、図5の機能−権限管理表400を参照すると、参照可能なソースファイル名4005は行4005の“CheckCardInfo”と、行4006の“UpdateCardInfo”であることがわかるため、表示処理部111ないし判断処理部110がこの2ファイルを一覧情報として表示する。
また、ソースコード編集画面5003は、開発担当者がソースコードの閲覧・編集を行う画面であり、表示処理部111ないし判断処理部110が、閲覧・編集可能ファイル一覧画面5002にて開発担当者により選択されたファイル内に含まれる閲覧可能ソースコードを表示し、開発担当者による編集を受け付ける。開発担当者は当該画面にて編集作業等が一通り完了した場合や、一旦編集内容を保存したい場合にコミットボタン5006を押下する。コミットボタン5006が押下されると、それまでに開発担当者が編集した内容について、判断処理部110が、開発担当者毎の権限範囲内かどうかをチェックする処理を実行し、権限外の編集作業が行われていない場合は編集内容に応じて該当ソースコードが大容量記憶装置1014にて保存される。
すなわちコミットボタン5006は、ソースコード編集画面5003において開発担当者が編集した内容の保存や実際に動作をさせる完成プログラムへの取り込みを開始させるためのボタンである。コミットボタン5006が押下されると、上記の保存・取り込み動作を行う前に、判断処理部110は、該当編集内容が示すソースコードについて権限範囲外の処理をしていないかの確認を行い、もし開発環境の操作を行っている開発担当者の権限範囲外のソースコードが記述されていたなら、警告画面5007を表示して該当ソースコードの保存・取り込みを行わないこととなる。
また、閲覧可能DB定義一覧画面5004は、各開発担当者の権限にあわせて閲覧可能なDB構成情報の一覧を表示する画面であり、表示処理部111ないし判断処理部110が、図4の担当者権限管理表300と図3の権限定義表200の情報に基づいて、アクセス可能なDB構成情報の一覧を表示する画面となる。開発支援システム1001を利用する開発担当者は、この閲覧可能DB定義一覧画面5004から、閲覧を行いたいDB名を選択することで、DBの構成情報をDB定義表示画面5005に表示できる。
例えば、図9の閲覧・編集可能ファイル一覧画面5002には、担当者ID3001が“1002”である開発担当者が開発支援システム1001を利用した場合の例が示されており、行3005によると担当者ID3001が“1002”である開発担当者の所持権限3003は“権限1−1,1−3,3−3”である。この権限ついて、図3の権限定義表200を参照すると、列2005の“カード情報DB”と列2007の“利用者情報DB”の情報が参照可能であることがわかり、表示処理部111ないし判断処理部110は、この2つのDBの構成情報を閲覧・編集可能ファイル一覧画面5002に表示する。
また、DB定義表示画面5005は、表示処理部111ないし判断処理部110が、閲覧可能DB定義一覧画面5004にて開発担当者が選択したDB定義を表示する画面である。開発担当者はこのDB定義表示画面5005でDB構成情報の閲覧を行いながらソースコード編集画面5003にてソースコードの編集を行うことができる。
例えば、図9に例示したソースコード編集画面5003には、担当者ID3001が“1002”である開発担当者が開発を行った場合の例が示されており、行3005によると担当者ID3001が“1003”である開発担当者の所持権限3003は“権限1−1,1−3,3−3”である。この権限ついて、図3の権限定義表200を参照すると、担当者ID3001が“1002”である開発担当者の権限は“カード情報DB”に対して“検索系(SELECT)”と“更新系(UPDATE)”を行う事と、“利用者情報DB”に対して“更新系(UPDATE)”を行うことのできる権限を持っていることがわかる。このような開発担当者がソースコード編集画面5003に示されているような、“SQL DELETE FROM negaCardInfoDB”といった「削除系(DELETE)」の処理を「不正カード情報DB(negaCardInfoDB)」に対しておこなうことはできないため、もし、このような記述のある状態でコミットボタン5006が押下されたならば、判断処理部110は警告画面5007の表示処理を行う。
なお、警告画面5007は、ソースコード編集画面5003にて開発担当者の権限外のソースコードが記述され、その上でコミットボタン5006が押下されていた場合に、該当開発担当者に対して警告を発する画面である。この警告画面5007が出力された場合には、それまで該当開発担当者によって編集されていたソースコードの情報は保存・取り込みが行われない。また、警告画面5007には例えば、“権限外のDB操作を含んでいます。編集内容はコミットされません”といった警告的な文章が表示される。
−−−処理手順例2−−−
続いて、上述のフローのうち、ステップ8002にて、保持権限3003が“管理者特権”(8002:Y)と判定した以降の処理について説明する。図10は本実施形態の開発支援方法の処理手順例2を示すフロー図である。なお、このフローの実行主体は開発支援システム1001における権限付与支援部112となる。
この場合、ステップ8011において、開発支援システム1001の権限付与支援部112は、権限付与管理画面7001(図11)を出力する(8011)。一方、ディスプレイ1012は、権限付与管理画面7001の画面データを権限付与支援部112から受信し、これを表示する(s210)。権限付与管理画面7001は、特権管理者が開発担当者に対し、開発を行うための権限を付与する業務を行う画面であり、新規開発や改修によるソースコード変更の際に用いられる画面となる。この権限付与管理画面7001は、機能権限入力画面7002と権限付与画面7005の2つの画面から構成されており、開発業務に割り当てる開発担当者が保持すべき権限について指定を受け付けるのが機能権限入力画面7002であり、この機能権限入力画面7002で指定を受けた権限に関して権限付与支援部112が処理した結果を表示するのが権限付与画面7005となる。特権管理者は、権限付与画面7003の情報を参考にし、機能権限入力画面7002で指定した必要権限に対して最も開発リスクが少なく、かつ効率的に開発業務を遂行可能であると推定される開発担当者の選定を行う。
なお、権限付与支援部112は、権限付与管理画面7001のうち上述の機能権限入力画面7002のみをディスプレイ1012に表示させるとしてもよい。この際、権限付与支援部112は、権限付与画面7005も表示するとしても良いが、開発リスク7006、担当者ID7007、所持権限7008、および新規付与権限7009の各欄に表示させる情報は、以降のステップにより設定されるものであるため、この時点では空白や0等を該当各欄に設定し表示させる。
一方、上述の特権管理者は、機能権限入力画面7002を閲覧しつつ、開発業務に割り当てる開発担当者が保持すべき必要権限についてユーザ入力装置1013で指定を行う。ユーザ入力装置1013はここで受け付けた必要権限の情報を権限付与支援部112に送る。この場合、ステップ8012において権限付与支援部112は、上述の必要権限フォーム7003にて入力された内容、すなわち必要な権限の情報について取得する。以降のステップではこの必要権限フォーム7003に入力された情報を用いて、現在登録されている担当者の中から適任と思われる担当者を見つけ出す処理が行われる。また、上述の特権管理者はユーザ入力装置1013を介して担当者レコメンデーションボタン7004をクリックする。ユーザ入力装置1013はこのレコメンデーションボタン7004のクリック事象を権限付与支援部112に通知する(s111)。
続いてステップ8013において、権限付与支援部112は、上述の担当者レコメンデーションボタン7004の押下事象の通知を感知する。このように、権限付与の特権を持った特権管理者が必要権限入力フォーム7003で必要権限を入力し、担当者レコメンデーションボタン7004を押下すると、権限付与支援部112は、以降のステップで権限付与画面7005における近似スコア7006及び新規付与権限7009の値を算定する処理を開始する。
続いてステップ8014において、権限付与支援部112は、担当者権限管理表300における各レコードから担当者ID3001と所持権限3003の各値を読み出し、これらを権限付与画面7005の担当者ID7007と所持権限7008の各欄にコピーする。この際、担当者権限管理表300に記録されている全ての担当者ID3001と所持権限3003のセットの内、所持権限が“管理者特権”を持つ者以外の情報を、権限付与画面7005の担当者ID7007と所持権限7008に転記するものとする。この際、ディスプレイ1012は、権限付与画面7005の更新を行う(s211)。
次にステップ8015において、権限付与支援部112は、権限付与画面7005に設定した上述の所持権限7008と、必要権限入力フォーム7003経由で受け付けた必要権限の値とを比較し、各開発担当者の所持権限7008に関して必要権限に対する不足分を特定し、権限付与画面7005における新規付与権限7009の欄に設定する。この際、ディスプレイ1012は、権限付与画面7005の更新を行う(s211)。
例えば、必要権限として“権限2−4”が特権管理者によって指定された場合、担当者ID7007が“1001”である開発担当者については、所持権限7008“権限1−1”であるため、必要権限と比較を行った場合、不足している権限は“権限2−4”となる。権限付与支援部112は、この不足分の権限を新規付与権限7009の欄に設定する。このように権限付与支援部112は、各開発担当者において必要権限に対し不足している権限を抽出し、新規付与権限7009の欄に設定してゆく。
なお、特権管理者によって指定された必要権限を、ある開発担当者は既に備えていた場合、不足している権限は無いため、権限付与支援部112は、この開発担当者については、新規付与権限7009の値として“不要”を設定する。この場合、権限付与支援部112は、権限付与ボタン7010をクリッカブルとしないで表示のみとするか、或いは、権限付与ボタン70101の表示自体を行わない。
次にステップ8016において、権限付与支援部112は新規付与権限7009の値を参照し、該当開発担当者が新規に閲覧することになるDBに関しては、DB重要度定義表550(図6)から重要度6102の値を読み出して、開発リスク7006の値に加算し、上述の開発担当者が新規に担当することになる処理に関しては、処理権限レベル定義表570(図7)から権限レベル6202の値を読み出して、開発リスク7006の値に加算し、開発リスク7006を算定する。この際、ディスプレイ1012は、権限付与画面7005の更新を行う(s211)。なお、処理権限レベル定義表570(図7)における権限レベル6202の値は、該当処理の重要度とも言えるため、「重要度」の概念と同義である。
例えば、担当者ID7007が“1001”の開発担当者の場合、新規付与権限7009によると、“権限2−4”が不足していることがわかる。このとき、図3の権限定義表200を参照すると“権限1−1”は“カード情報DB”を“検索(SELECT)”する権限であり、一方、“権限2−4”は“不正カード情報DB”を“削除(DELETE)”する権限であることがわかる。
このとき、“権限1−1”では“不正カード情報DB”にはアクセスできないことがわかるので、該当開発担当者が新規に閲覧することになるDBとして“不正カード情報DB”閲覧の権限が必要となる。また、“権限1−1”では“不正カード情報DB”に対するいかなる処理権限も持たないため、新たに“検索系(SELECT)”、“挿入系(INSERT)”、“更新系(UPDATE)”、“削除系(DELETE)”の権限が必要となる。
そこで権限付与支援部112が、上記の結果を利用し、担当者ID7007が“1001”の開発担当者において、“権限2−4”を付与した場合の開発リスク7006を計算すると、DB名称6101が“不正カード情報DB”である行6104の重要度6102の値“7”と、検索系から削除系に至る各処理を行うための権限たる、行6204〜6206の権限レベル6202の値の総和“1+2+7+10”すなわち“17”とを合算して、“27”を得て、この値を開発リスク7006に設定する。
また、担当者ID7007が“1003”の開発担当者の場合、新規付与権限7009によると、“権限2−4”が不足していることがわかる。このとき、図3の権限定義表200を参照すると該当開発担当者が所持する“権限2−1,2−2”は“不正カード情報DB”を“検索(SELECT)、更新(UPDATE)”する権限であり、不足する“権限2−4”は“不正カード情報DB”を“削除(DELETE)”する権限であることがわかる。つまり、“権限2−1、2−2”では“不正カード情報DB”に対する“更新(UPDATE)”までの権限を持っているが、新たに“削除系(DELETE)”の権限が必要となる。
上記の結果を利用し、権限付与支援部112は、担当者ID7007が“1003”の開発担当者に“権限2−4”を付与した場合の開発リスク7006を計算すると、行6206の権限レベル6202の値“7”と、削除系の処理を行うための権限たる、行6206の権限レベル6202の値“10”とを合算して、“17”を得て、この値を開発リスク7006に設定する。
このように、本実施形態ではDBの構成情報を新たに取得し、さらに当該DBに対する処理を行うことに対し大きなリスクがあるという前提に立ったリスク計算を行える。このことにより、DB構成情報をなるべく見せないようにすることと、担当者毎に経験のあるDBに関する処理を行う事ができ、情報漏えいリスク及び不慣れな開発による工程遅延のリスクを低減できる。
続いてステップ8017において、権限付与支援部112は、上述の開発リスク7006の値に従って、権限付与画面7005に表示する各開発担当者に関するレコード(開発リスク7006、担当者ID7007、所持権限7008、および新規付与権限7009の各値からなるレコード)を、開発リスク7006の値が低い順に並べ替える処理を実行する。この際、ディスプレイ1012は、権限付与画面7005の更新を行う(s211)。
こうして、開発業務に割り当てる候補たる開発担当者の情報を、その開発リスクの高低に応じてソートし、上述の特権管理者に提示することができる。特権管理者は、ディスプレイ1012にて権限付与画面7005を閲覧し、各自の開発リスクを認識しつつ開発担当者について検討を行うこととなる。検討を行った特権管理者は、ユーザ入力装置1013を介して、新規付与権限7009に応じた権限を付与する開発担当者、すなわち、開発業務を担当してもらうことを決定した開発担当者について、権限付与ボタン7010を押下する。この権限付与ボタン7010の押下事象は、ユーザ入力装置1013から権限付与支援部112に伝えられる(s112)。
一方、権限付与支援部112は、ステップ8018において、上述の権限付与画面7005にて権限付与ボタン7010が押下されたことを認識し(8018:Y)、処理をステップ8019に進める。他方、権限付与画面7005にてキャンセルボタン7011が押下された場合(8018:キャンセルボタン押下)、権限付与支援部112は処理を終了する。
権限付与支援部112は、ステップ8019において、上述の権限付与画面7005にて権限付与ボタン7010が押下された開発担当者に関して、新規付与権限7009の値を、担当者権限管理表300の該当レコードにおける担当者所持権限3003に追加する。権限付与画面7005の開発リスク7006、開発担当者ID7007、所持権限7008、新規付与権限7009から構成される表において、行毎に設置された権限付与ボタン7010のいずれかを押下した場合、該当行の担当者ID7007について図4の担当者権限管理表300の担当者ID3001を検索し、同一であるものを見つけたら、該当行の所持権限3003に新規付与権限7009の情報を追加する。すなわち、この処理を行うことで開発担当者に新たな権限が追加的に付与されることとなる。
ここで、上述してきた権限付与支援部112による処理で用いた権限付与管理画面7001について説明する。図11は本実施形態の権限付与管理画面7001の例である。この権限付与管理画面7001は、特権管理者が開発担当者に対して所定開発業務を行うにあたって必要となる権限を付与する際に閲覧する画面であり、新規開発や改修によるソースコード変更の際に用いる。
権限付与管理画面7001は大きく分けて機能権限入力画面7002と権限付与画面7005の2つの画面から構成されている。特権管理者が開発担当者に対する権限を付与する場合には、まず機能権限入力画面7002の操作を行い、その後、権限付与画面7003の情報を参考に必要権限に対して最もリスクが少なくかつ効率的な開発が可能と推定される開発担当者の選定を行うこととなる。
このうち機能権限入力画面7002は必要権限入力フォーム7003、担当者レコメンデーションボタン7004から構成されている。必要権限入力フォーム7003は特権管理者が新規機能の開発や改修等で機能の改変が必要になったとき、DBの種類と開発対象機能の処理の系統について権限定義表200を参照しながら、必要権限を判断し入力するためのフォームである。ここで入力された情報は、権限付与画面7005の開発リスク7006や新規付与権限7009に記入される情報を作成するための基礎情報として権限付与支援部112に利用される。
また、担当者レコメンデーションボタン7004は、特権管理者が上述の必要権限入力フォーム7003の入力を終えた後、権限付与画面7005の情報を作成するために押下するボタンである。担当者レコメンデーションボタン7004の押下を契機として、本実施形態の開発支援システム1001は権限付与画面7005の開発リスク7006や新規付与権限7009の各欄に記入される情報の作成を開始する。
また、権限付与画面7005は、開発リスク7006、担当者ID7007、所持権限7008、新規付与権限7009、権限付与ボタン7010、キャンセルボタン7011から構成されている。
開発リスク7006の値は、各担当者(開発担当者)の現在のDB情報開示状況や当該DBにおける機能や処理開発経験に基づき算出されるリスクについて、権限付与を行う特権管理者に提示するものであり、担当者毎に与えられた所持権限と新規付与が必要な権限を材料として判断処理部110により算出される。特権管理者はこの数値の多寡を参考に開発担当者を決定し、権限付与ボタン7010を用いて権限付与を行った後、該当開発担当者に開発を委託することになる。
担当者ID7007は、図4の担当者権限管理表300における担当者ID3001と同等な情報を保持するものであり、特権管理者はこの担当者IDを参照し、現行の仕事の負荷やスケジューリング、単価等を考慮しながら権限付与の判断を行う。
所持権限7008は、図4の担当者権限管理表300における所持権限3003と同等な情報を保持するものであり、各開発担当者が今まで付与されてきた権限の一覧を示すと共に、各開発担当者の経験してきた開発の内容を示している。
新規付与権限7009は、特権管理者が必要権限入力フォーム7003にて指定した権限に対し、開発担当者毎に不足分を表示すると共に、所望の開発をするために新たに付与が必要となる権限を記したものである。特権管理者は現行の各開発担当者に対する保持権限と、該当開発担当者の今後におけるスキル向上計画や情報開示可否等を考慮しながら権限付与の判断を行う。
権限付与ボタン7010は、各開発担当者における所持権限3003(担当者権限管理表300)に対し、新規付与権限7009に記載された権限を追加するためのボタンである。例えば図11の例では、この権限付与ボタン7010は開発担当者のレコード毎に配置されており、特権管理者が権限を追加したい担当者IDの横に配置された権限付与ボタン7010を押下することで、該当開発担当者に対して権限付与が行われ、図4の担当者権限管理表300の所持権限3003が更新される。
また、キャンセルボタン7011は、特権管理者が権限付与を中止しいずれの権限も開発担当者に与えず、権限付与を終了するためのボタンである。特権管理者がキャンセルボタン7011を押下すると、各開発担当者の所持権限3003(担当者権限管理表300)の変更がされないまま権限付与管理画面7001の表示が終了し、フローも終了する。
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
こうした本実施形態によれば、開発環境における情報開示および操作の可否をDB等の管理対象の種類及び操作に関する制約の下で制御して情報漏洩を効果的に抑止すると共に、こうした制御により、開発担当者毎の処理権限に応じて得意分野のスキルが深化しやすくなり、データ削除等の開発上の事故や開発工程遅延といったリスクを低減可能となる。したがって、開発環境における情報漏洩を抑止しつつ、開発作業上の事故や工程遅延が低減可能となる。
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態の開発支援システムにおいて、前記記憶部が、各管理対象データに関して、処理内容に応じて必要な処理権限を規定した定義情報を更に格納するものであり、前記入力部が、ユーザの識別情報の入力を受け付けるものであり、前記入力部で受け付けたユーザの識別情報に基づき、前記記憶部の管理情報にて、該当ユーザが保持する処理権限を特定し、当該特定した前記ユーザの処理権限を処理権限の範囲に含む、管理対象データおよび当該管理対象データに対する処理内容を前記記憶部の定義情報で特定し、当該特定した前記管理対象データおよび前記処理内容の情報を、操作可能情報として出力部に表示する表示処理部を更に備えるとしてもよい。これによれば、開発担当者等のユーザは、自身で操作可能な管理対象データについて認識することが可能となり、ユーザにおける操作効率向上とそれによる開発効率改善が図られる。
また、本実施形態の開発支援システムにおいて、前記表示処理部における、前記操作可能情報を出力部に表示する処理の実行に伴って、前記入力部が、前記ユーザの識別情報および該当ユーザによる操作を受け付けて、前記判断処理部が処理を実行するものであるとしてもよい。これによれば、開発担当者等のユーザが、自身で操作可能な管理対象データについてシステム側から提示を受けることとなり、操作出来ない管理対象データに対する不要な操作を予め回避可能となり、ユーザにおける操作効率向上と、それによる開発効率改善が図られる。
また、本実施形態の開発支援システムにおいて、前記記憶部は、管理対象データの種類別および管理対象データに対する処理内容の種類別の重要度情報を更に格納するものであり、前記入力部は、所定の開発業務に要求される、所定管理対象データに対する所定処理内容を規定した必要処理権限の入力を受け付けるものであり、前記入力部で受け付けた必要処理権限と、前記記憶部の管理情報が含む各ユーザ保持の処理権限とを照合し、前記必要処理権限に対し、各ユーザが保持していない不足処理権限を特定し、各ユーザの前記不足処理権限と前記記憶部の重要度情報とを照合して、各ユーザにおいて不足する不足処理権限に対応した重要度情報を取得し、当該取得した重要度情報を開発リスク情報として該当ユーザに対応付けて出力部に表示する権限付与支援部を備えるとしてもよい。これによれば、所定の管理者等が開発業務に割り当てるべき開発担当者を選定する場合、開発担当者の処理権限、すなわち過去の経験によるスキルに基づいた、該当業務担当時におけるリスクの大小を認識し、担当業務についてスキル上無理のない開発担当者を的確に選定し、ひいては開発上の事故や開発工程遅延のリスクを低減可能となる。
また、本実施形態の開発支援システムにおいて、前記記憶部は、前記重要度情報として、管理対象データの種類別および管理対象データに対する処理内容の種類別の重要度の数値を格納するものであり、前記権限付与支援部は、各ユーザの前記不足処理権限と前記記憶部の重要度情報とを照合する処理において、各ユーザにおいて不足する不足処理権限に対応した重要度の数値を取得し、当該取得した数値を該当ユーザ毎に合算した合算値を前記開発リスク情報とし、当該開発リスク情報たる前記合算値の大小に基づいて前記各ユーザをソートして出力部に表示するものである、としてもよい。これによれば、開発担当者の処理権限、すなわち過去の経験によるスキルに基づいた、上述の管理者等が、各開発担当者による該当業務担当時におけるリスク大小を更に確実かつ簡便に認識し、担当業務についてスキル上無理のない開発担当者を更に的確に選定し、ひいては開発上の事故や開発工程遅延のリスクをより低減可能となる。
110 判断処理部
111 表示処理部
112 権限付与支援部
200 権限定義表(定義情報)
300 担当者権限管理表(管理情報)
400 機能−権限定義表(定義情報)
500 重要度管理表(重要度情報)
550 DB重要度定義表(重要度情報)
570 処理権限レベル定義表(重要度情報)
1001 開発支援システム
1002 中央処理装置
1003 主記憶装置(記憶部)
1004 内部バス
1005 バスインタフェース
1006 外部バス
1007 画面出力装置インタフェース
1008 ユーザ入力装置インタフェース(入力部)
1009 大容量記憶装置インタフェース
1010 通信装置インタフェース
1011 入出力装置インタフェース
1012 ディスプレイ
1013 ユーザ入力装置
1014 大容量記憶装置
1015 通信装置
1016 入出力装置
5001 開発環境画面
7001 権限付与管理画面

Claims (7)

  1. 管理対象データに対するユーザの処理権限を、管理対象データの種類および当該管理対象データに対する処理内容の種類に対応付けた管理情報を格納する記憶部と、
    ユーザの識別情報および該当ユーザによる操作を受け付ける入力部と、
    前記入力部で受け付けたユーザの識別情報に基づき、前記記憶部の管理情報にて、該当ユーザが保持する処理権限を特定し、当該処理権限における、該当ユーザが扱いうる管理対象データの種類および当該管理対象データに対する処理内容の種類が、前記操作の対象である管理対象データおよび当該管理対象データに対する処理内容を範囲に含むか判定し、前記ユーザの操作が前記処理権限の範囲に含まれる場合に、前記操作を許容する判断処理部と、
    を備えることを特徴とする開発支援システム。
  2. 前記記憶部が、各管理対象データに関して、処理内容に応じて必要な処理権限を規定した定義情報を更に格納するものであり、
    前記入力部が、ユーザの識別情報の入力を受け付けるものであり、
    前記入力部で受け付けたユーザの識別情報に基づき、前記記憶部の管理情報にて、該当ユーザが保持する処理権限を特定し、当該特定した前記ユーザの処理権限を処理権限の範囲に含む、管理対象データおよび当該管理対象データに対する処理内容を前記記憶部の定義情報で特定し、当該特定した前記管理対象データおよび前記処理内容の情報を、操作可能情報として出力部に表示する表示処理部を更に備える、
    ことを特徴とする請求項1に記載の開発支援システム。
  3. 前記表示処理部における、前記操作可能情報を出力部に表示する処理の実行に伴って、
    前記入力部が、前記ユーザの識別情報および該当ユーザによる操作を受け付けて、前記判断処理部が処理を実行するものである、
    ことを特徴とする請求項2に記載の開発支援システム。
  4. 前記記憶部は、管理対象データの種類別および管理対象データに対する処理内容の種類別の重要度情報を更に格納するものであり、
    前記入力部は、所定の開発業務に要求される、所定管理対象データに対する所定処理内容を規定した必要処理権限の入力を受け付けるものであり、
    前記入力部で受け付けた必要処理権限と、前記記憶部の管理情報が含む各ユーザ保持の処理権限とを照合し、前記必要処理権限に対し、各ユーザが保持していない不足処理権限を特定し、各ユーザの前記不足処理権限と前記記憶部の重要度情報とを照合して、各ユーザにおいて不足する不足処理権限に対応した重要度情報を取得し、当該取得した重要度情報を開発リスク情報として該当ユーザに対応付けて出力部に表示する権限付与支援部を備える、
    ことを特徴とする請求項1に記載の開発支援システム。
  5. 前記記憶部は、前記重要度情報として、管理対象データの種類別および管理対象データに対する処理内容の種類別の重要度の数値を格納するものであり、
    前記権限付与支援部は、各ユーザの前記不足処理権限と前記記憶部の重要度情報とを照合する処理において、各ユーザにおいて不足する不足処理権限に対応した重要度の数値を取得し、当該取得した数値を該当ユーザ毎に合算した合算値を前記開発リスク情報とし、当該開発リスク情報たる前記合算値の大小に基づいて前記各ユーザをソートして出力部に表示するものである、
    ことを特徴とする請求項4に記載の開発支援システム。
  6. 管理対象データに対するユーザの処理権限を、管理対象データの種類および当該管理対象データに対する処理内容の種類に対応付けた管理情報を格納する記憶部と、ユーザの識別情報および該当ユーザによる操作を受け付ける入力部とを備える情報処理装置が、
    前記入力部で受け付けたユーザの識別情報に基づき、前記記憶部の管理情報にて、該当ユーザが保持する処理権限を特定し、当該処理権限における、該当ユーザが扱いうる管理対象データの種類および当該管理対象データに対する処理内容の種類が、前記操作の対象である管理対象データおよび当該管理対象データに対する処理内容を範囲に含むか判定し、前記ユーザの操作が前記処理権限の範囲に含まれる場合に、前記操作を許容する処理を実行する、
    ことを特徴とする開発支援方法。
  7. 管理対象データに対するユーザの処理権限を、管理対象データの種類および当該管理対象データに対する処理内容の種類に対応付けた管理情報を格納する記憶部と、ユーザの識別情報および該当ユーザによる操作を受け付ける入力部とを備える情報処理装置に、
    前記入力部で受け付けたユーザの識別情報に基づき、前記記憶部の管理情報にて、該当ユーザが保持する処理権限を特定し、当該処理権限における、該当ユーザが扱いうる管理対象データの種類および当該管理対象データに対する処理内容の種類が、前記操作の対象である管理対象データおよび当該管理対象データに対する処理内容を範囲に含むか判定し、前記ユーザの操作が前記処理権限の範囲に含まれる場合に、前記操作を許容する処理を実行させる、
    ことを特徴とする開発支援プログラム。
JP2013079634A 2013-04-05 2013-04-05 開発支援システム、開発支援方法、および開発支援プログラム Pending JP2014203293A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013079634A JP2014203293A (ja) 2013-04-05 2013-04-05 開発支援システム、開発支援方法、および開発支援プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013079634A JP2014203293A (ja) 2013-04-05 2013-04-05 開発支援システム、開発支援方法、および開発支援プログラム

Publications (1)

Publication Number Publication Date
JP2014203293A true JP2014203293A (ja) 2014-10-27

Family

ID=52353675

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013079634A Pending JP2014203293A (ja) 2013-04-05 2013-04-05 開発支援システム、開発支援方法、および開発支援プログラム

Country Status (1)

Country Link
JP (1) JP2014203293A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020530615A (ja) * 2017-08-07 2020-10-22 成都牽牛草信息技術有限公司Chengdu Qianniucao Information Technology Co., Ltd. 統計列表の操作権限の承認方法
KR20220019284A (ko) 2019-08-22 2022-02-16 가부시키가이샤 하모닉 드라이브 시스템즈 유닛타입의 파동기어장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020530615A (ja) * 2017-08-07 2020-10-22 成都牽牛草信息技術有限公司Chengdu Qianniucao Information Technology Co., Ltd. 統計列表の操作権限の承認方法
KR20220019284A (ko) 2019-08-22 2022-02-16 가부시키가이샤 하모닉 드라이브 시스템즈 유닛타입의 파동기어장치

Similar Documents

Publication Publication Date Title
CN100430951C (zh) 向用户/组授予访问控制列表所有权的访问控制系统和方法
US20070250905A1 (en) Method, System and Computer Program for Managing User Authorization Levels
JP2008529171A (ja) 判例法、法律上の訴訟事件摘要書および/または訴訟ドキュメントの法律事務所のワークフローへの統合のためのシステム、方法およびソフトウェア
JP2003280990A (ja) 文書処理装置及び文書を管理するためのコンピュータプログラム
JP2000020377A (ja) データベースシステム、データ管理方法及びデータ管理用ソフトウェアを記録した記録媒体
KR102213465B1 (ko) 통합보안업무관리장치 및 통합보안업무관리방법
CN111198878B (zh) 一种基础信息调研系统及方法
WO2015070975A1 (en) Integration of online self-booking tool and third party system search results
JP2004158007A (ja) コンピュータアクセス権限
JP2014203293A (ja) 開発支援システム、開発支援方法、および開発支援プログラム
JP4630691B2 (ja) データベース装置とその処理方法
JP4628086B2 (ja) ワークフローシステム、閲覧制限方法、プログラムおよび記録媒体
JP4975549B2 (ja) ワークフローサーバ、ワークフローサーバの制御方法、プログラムおよび記録媒体
JP4276717B2 (ja) データベースシステム
JPH05181734A (ja) データベースのアクセス権管理制御方式およびファイルシステムのアクセス権管理制御方式
JPWO2002063520A1 (ja) 採用処理システム、プログラム及び記録媒体
KR102416517B1 (ko) Rpa를 이용하는 데이터베이스 중앙 관리 장치 및 그 방법
JP2000305834A (ja) データアクセス制御装置
US20160088069A1 (en) Multiple user data entry system and method
US8359658B2 (en) Secure authoring and execution of user-entered database programming
JP2005332049A (ja) ポリシ変換方法、ポリシ移行方法およびポリシ評価方法
JP2005285008A (ja) データセキュリティ管理システム、プログラム、データセキュリティ管理方法
US8655991B2 (en) Automated rapid registration of applications
EP2874107A1 (en) Integration of online self-booking tool and third party system search results
KR20090037164A (ko) 데이터 포털 서비스 시스템 및 방법