説明

開発支援システム、開発支援方法及び開発支援プログラム

【課題】開発工数を削減することができる開発支援システム、開発支援方法及び開発支援プログラムを提供すること
【解決手段】本発明にかかる開発支援システム70は、複数の検査用ソースコードと、検査用ソースコードのライセンス形態を示すライセンス情報を相互に関連付けて格納する記憶部71と、作成段階にある作成段階ソースコードを取得し、記憶部71に格納された情報に基づいて、当該作成段階ソースコードの検査を行う検査部72を備える。また、検査部72は、作成段階ソースコードを取得する取得手段81と、取得された作成段階ソースコードと、所定値以上の一致度を有し、かつ、予め定められた利用制限に該当するライセンス形態と関連付けられた検査用ソースコードを検出する検査手段82とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、開発支援システム、開発支援方法及び開発支援プログラムに関する。
【背景技術】
【0002】
特許文献1には、ユーザによるソースコードのビルド時に、開発端末内にあるライセンスチェックプログラムによって、ビルド対象となるソースコードがライセンスに違反していないかチェックすることにより、ライセンスのチェック漏れを防ぐことができる技術が開示されている。
しかし、上述の技術は、プログラム開発における開発工程の下流工程であるビルド直前にソースコードのライセンスの検査を行っているため、ライセンス違反が検出された場合、ライセンス違反を取り除くため、ソースコードを書き直すための後戻り作業が大量に発生してしまい、そのための開発工数が増加してしまうという問題がある。
【0003】
なお、特許文献2には、記憶媒体に正当性の確認が容易なライセンス情報および起動プログラムを記録することにより、記録媒体に記録されたプログラムの安全性を確保しつつ、記録媒体からのプログラムの起動および更新を可能とする技術が開示されている。
また、特許文献3には、開発者によって作成されたテストデータ及びソフトウェア部品のカテゴリ情報から開発者の要求するソフトウェア部品を検索し、ソフトウェア部品を提案する際に開発者に提案するソフトウェア部品が開発者の要求を満たしたものであることを容易に理解することが可能となる技術が開示されている。
【0004】
さらに、特許文献4には、ネットワーク上のサーバが保持する文書を自動収集し、自動収集した文書中から、文書の検索に必要な各種属性情報を自動抽出し、文書及び自動抽出された各種属性情報をデータベースに自動登録することにより、検索対象になるシステムや文書に制約がなく、それらを一括検索することができる技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−191889号公報
【特許文献2】特開2004−303221号公報
【特許文献3】特開2008−040969号公報
【特許文献4】特開平11−296530号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
背景技術として説明したように、ソースコードのビルド時にライセンスの検査を行う技術では、開発工数が増加してしまうという問題がある。
【0007】
本発明の目的は、上述のような問題を解決するためになされたものであり、開発工数を削減することができる開発支援システム、開発支援方法及び開発支援プログラムを提供することにある。
【課題を解決するための手段】
【0008】
本発明にかかる開発支援システムは、複数の検査用ソースコードと、前記検査用ソースコードのライセンス形態を示すライセンス情報を相互に関連付けて格納する記憶部と、作成段階にある作成段階ソースコードを取得し、前記記憶部に格納された情報に基づいて、当該作成段階ソースコードの検査を行う検査部を備え、前記検査部は、前記作成段階ソースコードを取得する取得手段と、取得された作成段階ソースコードと、所定値以上の一致度を有し、かつ、予め定められた利用制限に該当するライセンス形態と関連付けられた検査用ソースコードを検出する検査手段とを有するものである。
【0009】
他方、本発明にかかる開発支援システムは、複数の検査用コンポーネントと、前記検査用コンポーネントのライセンス形態を示すライセンス情報を相互に関連付けて格納する記憶部と、プログラムの生成に用いるために統合開発環境に登録された登録コンポーネントを、当該登録に応じて取得し、前記記憶部に格納された情報に基づいて、当該登録コンポーネントの検査を行う検査部を備え、前記検査部は、前記登録コンポーネントを取得する手段と、取得された前記登録コンポーネントと、所定値以上の一致度を有し、かつ、予め定められた利用制限に該当するライセンス形態と関連付けられた前記検査用コンポーネントを検出する手段とを有するものである。
【0010】
本発明にかかる開発支援方法は、複数の検査用ソースコードと、前記複数の検査用ソースコードのそれぞれに関連付けられ、前記検査用ソースコードのライセンス形態を示すライセンス情報とに基づいて、作成段階にある作成段階ソースコードの検査を行う開発支援方法であって、前記作成段階ソースコードを取得するステップと、取得された作成段階ソースコードと、所定値以上の一致度を有し、かつ、予め定められた利用制限に該当するライセンス形態と関連付けられた検査用ソースコードを検出するステップとを有するものである。
【0011】
他方、本発明にかかる開発支援方法は、複数の検査用コンポーネントと、前記複数の検査用コンポーネントのそれぞれに関連付けられ、前記検査用コンポーネントのライセンス形態を示すライセンス情報とに基づいて、プログラムの生成に用いるために統合開発環境に登録された登録コンポーネントの検査を行う開発支援方法であって、前記登録コンポーネントを前記登録に応じて取得するステップと、取得された登録コンポーネントと、所定値以上の一致度を有し、かつ、予め定められた利用制限に該当するライセンス形態と関連付けられた検査用コンポーネントを検出するステップとを有するものである。
【0012】
本発明にかかる開発支援プログラムは、複数の検査用ソースコードと、前記複数の検査用ソースコードのそれぞれに関連付けられ、前記検査用ソースコードのライセンス形態を示すライセンス情報とに基づいて、作成段階にある作成段階ソースコードの検査を行う開発支援プログラムであって、前記作成段階ソースコードを取得するステップと、取得された作成段階ソースコードと、所定値以上の一致度を有し、かつ、予め定められた利用制限に該当するライセンス形態と関連付けられた検査用ソースコードを検出するステップとをコンピュータに実行させるものである。
【0013】
他方、本発明にかかる開発支援プログラムは、複数の検査用コンポーネントと、前記複数の検査用コンポーネントのそれぞれに関連付けられ、前記検査用コンポーネントのライセンス形態を示すライセンス情報とに基づいて、プログラムの生成に用いるために統合開発環境に登録された登録コンポーネントの検査を行う開発支援プログラムであって、前記登録コンポーネントを前記登録に応じて取得するステップと、取得された登録コンポーネントと、所定値以上の一致度を有し、かつ、予め定められた利用制限に該当するライセンス形態と関連付けられた検査用コンポーネントを検出するステップとをコンピュータに実行させるものである。
【発明の効果】
【0014】
本発明により、開発工数を削減することができる開発支援システム、開発支援方法及び開発支援プログラムを提供することができる。
【図面の簡単な説明】
【0015】
【図1】本発明の実施の形態にかかる開発支援システムの概要を示す構成図である。
【図2】本発明の実施の形態にかかる開発支援システムの構成図である。
【図3】本発明の実施の形態にかかる開発支援システムの他の構成例を示す構成図である。
【発明を実施するための形態】
【0016】
まず、図1を参照して、本発明の実施の形態にかかる開発支援システムの概要について説明する。図1は、本発明の実施の形態にかかる開発支援システムの概要を示す構成図である。
【0017】
開発支援システム70は、記憶部71及び検査部72を備える。また、検査部72は、取得手段81及び検査手段82を有する。
記憶部71は、複数の検査用ソースコードと、検査用ソースコードのライセンス形態を示すライセンス情報を相互に関連付けて格納する。また、記憶部71は、複数の検査用コンポーネントと、検査用コンポーネントのライセンス形態を示すライセンス情報を相互に関連付けて格納する。
検査部72の取得手段81は、作成段階にある作成段階ソースコードもしくはプログラムの生成に用いるために統合開発環境に登録された登録コンポーネントを取得する。
検査部72の検査手段82は、記憶部71に格納された情報に基づいて、作成段階ソースコードもしくは登録コンポーネントの検査を行う。
【0018】
続いて、本発明の実施の形態にかかる開発支援システムの処理の概要について説明する。
まず、検査部72の取得手段81は、作成段階にある作成段階ソースコードを取得する。また、取得手段81は、統合開発環境に登録された登録コンポーネントをその登録に応じて取得する。そして、取得手段81は、取得した作成段階ソースコードもしくは登録コンポーネントを検査手段82に出力する。
次に、検査部72の検査手段82は、取得手段81から出力された作成段階ソースコードもしくは登録コンポーネントを取得する。
検査手段82は、作成段階ソースコードを取得した場合、取得した作成段階ソースコードと、所定値以上の一致度を有し、かつ、予め定められた利用制限に該当するライセンス形態と関連付けられた検査用ソースコードを検出する。
または、検査手段82は、登録コンポーネントを取得した場合、取得した登録コンポーネントと、所定値以上の一致度を有し、かつ、予め定められた利用制限に該当するライセンス形態と関連付けられた検査用コンポーネントを検出する。
【0019】
続いて、図2を参照して、本発明の実施の形態にかかる開発支援システムについて詳細に説明する。図2は、本発明の実施の形態にかかる開発支援システムの構成図である。
【0020】
開発支援システム10は、自動収集システム11、コード検査システム12、ソースコード/コンポーネント検索システム13、ソースコード/コンポーネント情報データベース14及び出荷用インストール媒体データ作成システム15を備える。
開発支援システム10は、作業者端末20、出荷用インストール媒体データ30及びインターネット上のサイト/リポジトリ40及びイントラネット上のサイト/リポジトリ50と、インターネット、イントラネット又は電話回線網等の任意の通信手段を介して、相互に接続されている。開発支援システム10は、例えば、サーバのような1つ又は複数の情報処理装置から構成される。
【0021】
自動収集システム11は、インターネットやイントラネット等のネットワーク上のサイトやリポジトリからソースコードやソフトウェアコンポーネント(以下、「コンポーネント」とする)を収集する。そして、自動収集システム11は、収集したソースコードやコンポーネントと、それらに関する情報を相互に関連付けて、ソースコード/コンポーネント情報データベース12に格納する。
【0022】
コード検査システム12は、統合開発環境21に組み込まれているプラグインモジュール22と通信を行い、作業者が統合開発環境21のエディタによって作成しているソースコードを取得する。また、コード検査システム12は、統合開発環境21に登録されたコンポーネントをその登録に応じて取得する。コード検査システム12は、ソースコード/コンポーネント情報データベース15に格納される情報や開発支援システム10の管理者が予め設定した情報に基づいて、取得したソースコード又はコンポーネントを検査する。また、コード検査システム12は、統合開発環境21のエディタに記述されたソースコードを取得した場合に、自動収集システム11にソースコードを出力する。
【0023】
ソースコード/コンポーネント検索システム14は、統合開発環境21に組み込まれているプラグインモジュール22と通信を行い、作業者が作業者端末20に入力した検索対象を特定する検索キーワードを統合開発環境21から取得し、取得した検索キーワードに基づいて、ソースコード/コンポーネント情報データベース15に格納される情報を検索し、該当するソースコードやコンポーネントに関する情報をプラグインモジュール22を介して、統合開発環境に送信する。
【0024】
出荷用インストール媒体データ作成システム14は、出荷用インストール媒体データの作成指示と統合開発環境21においてビルド済みのプログラムのバイナリファイルを、統合開発環境21に組み込まれているプラグインモジュール22から取得するとともに、このプログラムの出荷用インストール媒体に記憶する情報をソースコード/コンポーネント情報データベース15から取得する。そして、取得した情報やプログラムのバイナリファイルに基づいて、出荷用インストール媒体データを作成する。
ソースコード/コンポーネント情報データベース15は、自動収集システム11がネットワーク上から収集したソースコードやコンポーネントと、それらに関する情報を相互に関連付けて格納する。ソースコード/コンポーネント情報データベース15は、例えば、メモリやHDD(Hard Disc Drive)等から構成される。
【0025】
作業者端末20は、作業者がプログラム開発を行う端末であり、統合開発環境21が動作する。作業者端末20は、例えば、PCのような任意の情報処理装置である。作業者は、作業者端末20の統合開発環境21によって、ソースコードの作成やビルド等のプログラム開発を行う。
統合開発環境21は、例えば、Eclipse(登録商標)又はVisual Stdio(登録商標)等のプラグインモジュールが組み込み可能な統合開発環境である。
プラグインモジュール22は、統合開発環境21に組み込まれたプラグインであり、開発支援システム10と統合開発環境21間のインタフェースとして機能する。
出荷用インストール媒体データベース30は、出荷用インストール媒体データ作成システム14が作成した出荷用インストール媒体のデータを格納する。出荷用インストール媒体データベース30は、例えば、メモリやHDD(Hard Disc Drive)等から構成される。
【0026】
続いて、図2を参照して、本発明の実施の形態にかかる開発支援システムの処理について説明する。
【0027】
まず、自動収集システム11における処理について説明する。
自動収集システム11は、HTTP(HyperText Transfer Protocol)プロトコルやFTP(File Transfer Protocol)プロトコル等のプロトコル、CVS(Concurrent Versions System)プロトコルやSVN(Subversion)プロトコル等のバージョン管理システムにおけるプロトコル等によって、インターネット上に存在するソースコードやコンポーネントをクローリングして収集する(S1)。同様に、自動収集システム11は、イントラネット上に存在するソースコードやコンポーネントをクローリングして収集する(S2)。また、自動収集システム11は、クローリング時に、取得したソースコードやコンポーネントを配布するWEB(World Wide Web)サイトのHTMLファイルやドキュメント等の情報も同時に収集する。
【0028】
ここで、自動収集システム11が収集するソースコードは、一定の形態に限定されることはない。例えば、ネットワーク上のサイトにおいて配布されるソースコードのファイルであってもよく、ソースコードパッケージであってもよく、ネットワーク上のリポジトリに格納されるソースコードであってもよい。なお、ソースコードと同様に、コンポーネントについても、一定の形態に限定されることはない。ここで、コンポーネントには、例えば、ライブラリである。
【0029】
自動収集システム11は、収集したソースコードやコンポーネントと、それらを配布するWEBサイトのHTMLファイルやドキュメント等を相互に関連付けてソースコード/コンポーネント情報データベース15に格納する(S3)。ここで、ソースコード/コンポーネント情報データベース15は、例えば、PostgreSQLやMySQL(登録商標)等のリレーショナルデータベースマネージメントシステムにより管理されており、自動収集システム11は、SQLを用いることによって上述のソースコード等を格納する。
【0030】
また、自動収集システム11は、収集したソースコードやコンポーネントをソースコード/コンポーネント情報データベース15に格納する場合、自動収集システム11が収集したHTMLファイルやドキュメントに含まれる文字列情報を形態素解析や構文解析することによって、ライセンス形態を示すライセンス情報と、ソースコードやコンポーネントの検索用タグとなる文字列とを生成する。そして、自動収集システム11は、収集したソースコードやコンポーネントと、それらを配布するWEBサイトから取得したHTMLファイルやドキュメントに基づいて生成したライセンス情報および検索用タグを関連付けてソースコード/コンポーネント情報データベース15に格納する(S3)。なお、このときに生成する検索用タグは、例えば、ソースコードやコンポーネントの名称、特徴、機能又はライセンス形態等の任意の種類の文字列を定義してよい。
【0031】
また、イントラネット上のリポジトリサイトのように配布サイトのHTMLファイルやドキュメントが存在せず、クローリング時にHTMLファイルやドキュメントが取得不可能で検索用タグを生成できない場合、開発支援システム10の管理者が任意の検索用タグを作成し、ソースコード/コンポーネント情報データベース15に格納する。また、このような場合、自動収集システム11は、予め定められた検索用タグを格納するようにしてもよい。なお、ここでの管理者による検索用タグの作成は、例えば、開発支援システム10に任意の通信手段によって接続される管理者端末(図示せず)から検索用タグをソースコード/コンポーネント情報データベース15に格納することによって行う。
【0032】
続いて、コード検査システム12における処理について説明する。
作業者が統合開発環境21においてソースコードを作成している場合、コード検査システム12は、統合開発環境21に組み込まれたプラグインモジュール22により、統合開発環境21と常に通信を行っており、オンラインの状態にある。ここでの通信は、例えば、TCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルによって行われる。
コード検査システム12は、作業者が統合開発環境21のエディタによってソースコードを作成しているときに、この作成段階にあるソースコードを任意のタイミングでプラグインモジュール22を介して取得する。ここでのタイミングは、どのように定めてもよく、作業者が予め定められた行数を入力したときであってもよく、予め定めた時間毎としてもよく、予め定めた文字数を入力したときとしてもよい。このように、コード検査システム12は、作成段階にあるソースコードを任意のタイミングで取得する(S6)。
また、コード検査システム12は、作業者が統合開発環境21にコンポーネントを登録したときに、登録されたコンポーネントをプラグインモジュール22を介して取得する(S6)。
【0033】
続いて、コード検査システム12は、ソースコード又はコンポーネントを取得すると、取得したソースコード又はコンポーネントと、ソースコード/コンポーネント情報データベース15に格納されるコンポーネントとを順次比較していくことにより、所定値以上の一致度を有するソースコード又はコンポーネントを検出する。
ここで、一致度は、例えば、それぞれのソースコードに含まれる文字列をパターンマッチングして、全てが一致する、もしくは部分的に一致するかどうか等により判断してもよい。または、例えば、それぞれのソースコード又はコンポーネントを任意の長さで区切ったものから生成したハッシュ値を比較し、その一致度合いが予め定めた度合い以上となるかどうか等の手法により判断する。なお、このときに、コード検査システム12は、例えば、SQLを用いて、ソースコード/コンポーネント情報データベース15から、ソースコード又はコンポーネントを順次取得する(S4)。
【0034】
そして、コード検査システム12は、所定値以上の一致度を有するソースコード又はコンポーネントを検出した場合は、それに関連付けられたライセンス形態を示すライセンス情報をソースコード/コンポーネント情報データベース15から取得する(S4)。
コード検査システム12は、取得したライセンス情報と、開発支援システム10の管理者によって予め定められ、利用を制限しているライセンス形態を示す利用制限情報とを比較する。ここで、利用制限情報は、例えば、コード検査システム12が有してもよく、ソースコード/コンポーネント情報データベース15に格納していてもよい。また、利用制限情報は、例えば、管理者が管理者端末(図示せず)から入力することによって設定を行う。
【0035】
そして、コード検査システム12は、比較した結果が一致する場合は、作業者が統合開発環境21のエディタにおいて、利用制限しているライセンス形態のソースコードを利用していると判断し、プラグインモジュール22を介して統合開発環境21に、作業者に対する警告または注意内容を示した情報を送信する(S7)。そして、その情報を取得した統合開発環境21は、作業者に対して警告また注意内容を表示する。
なお、ここでの比較を具体的に説明すると、例えば、管理者がGPLでライセンスされているオープンソースソフトウェアのソースコード又はコンポーネントの利用を制限する場合は、その旨を示す情報を利用制限情報として格納する。そして、取得したライセンス情報が示すライセンス形態がGPLである旨を示している場合には、比較した結果が一致することとなる。
【0036】
このように、コード検査システム12が取得したソースコード又はコンポーネントと、所定値以上の一致度を有するソースコード又はコンポーネントが、利用制限されているライセンス形態である場合、言い換えると、取得したソースコード又はコンポーネントと、所定値以上の一致度を有し、かつ、利用制限されているライセンス形態に該当するソースコード又はコンポーネントがソースコード/コンポーネント情報データベース15から検出された場合は、取得したソースコード又はコンポーネントは、利用制限されているライセンス形態のソースコード又はコンポーネントを利用したものであると判断することができる。
【0037】
続いて、ソースコード/コンポーネント検索システム13の処理について説明する。
作業者は、所望のソースコード又はコンポーネントがソースコード/コンポーネント情報データベース15にあるかどうかを検索したい場合は、統合開発環境21に対して検索キーワードを入力する。
ソースコード/コンポーネント検索システム13は、統合開発環境21は、検索キーワードを入力されると、入力された検索キーワードを自身に組み込まれたプラグインモジュール22を介して、ソースコード/コンポーネント検索システム13に送信する(S9)。
ソースコード/コンポーネント検索システム13は、ネットワークを介して、検索キーワードを受信すると、受信した検索キーワードと、ソースコード/コンポーネント情報データベース15に格納される検索用タグとを順次比較していき、一致する検索用タグを検出する。なお、ここでの比較は、例えば、ソースコード/コンポーネント検索システム13がSQLを用いることにより行う。
【0038】
そして、ソースコード/コンポーネント検索システム13は、一致する検索用タグを検出した場合、その検索用タグに関連付けられたソースコード又はコンポーネントの情報をソースコード/コンポーネント情報データベース15から取得し(S5)、取得した情報をプラグインモジュール22を介して、統合開発環境21に送信する(S8)。そして、統合開発環境21は、受信した情報を作業者端末20に表示する。ここで、ソースコード又はコンポーネントの情報とは、そのソースコード又はコンポーネントを特定できる情報であればどのようなものであってもよく、例えば、ソースコード又はコンポーネントやそれらに関連付けられてソースコード/コンポーネント情報データベース15に格納されている情報等である。
【0039】
これにより、作業者は、統合開発環境21に表示される検索結果に基づいて、ネットワーク介してソースコード/コンポーネント情報データベース15に格納される所望のソースコードパッケージやコンポーネントを取得して、利用することができる。
また、開発支援システム10は、統合開発環境21において作成したソースコードも検索対象とすることができる。統合開発環境21からコード検査システム13に作成段階のソースコードのデータが送信された場合(S6)、ソースコード検査システム13は、自動収集システム11に作成段階のソースコードを出力する(S10)。そして、自動収集システム11は、作成段階のソースコードの出力を受けると、作成段階のソースコードをソースコード/コンポーネント情報データベース15に格納する(S3)。なお、このソースコードの検索用タグは、例えば、管理者が管理者端末(図示せず)から入力して設定するようにしてもよく、作業者が作業者端末20から入力して設定するようにしてもよく、自動収集システム11が予め定められた検索用タグを格納するようにしてもよい。
【0040】
続いて、出荷用インストール媒体データ作成システム14の処理について説明する。
作業者は全てのプログラミング作業を完了し、プログラムをソフトウェア製品として出荷用インストール媒体に記憶するデータを作成する場合、統合開発環境21に組み込まれているプラグインモジュール22を介して、出荷用インストール媒体データ作成システム14に出荷用インストール媒体データの作成指示を送信するとともに、統合開発環境21でビルド済みのプログラムのバイナリファイルを送信する(S12)。ここで、出荷用インストール媒体データの作成指示には、プログラムのビルドに利用されているソースコードやコンポーネントを示す情報を含む。
【0041】
出荷用インストール媒体データ作成システム14は、荷用インストール媒体データの作成指示およびプログラムのバイナリファイルを取得すると、取得した作成指示に基づいて、プログラムに利用されているソースコードやコンポーネントに関連付けられたライセンス情報を取得する(S11)。
そして、出荷用インストール媒体データ作成システム14は、取得したライセンス情報に応じて、ライセンス文の添付やソースコードの添付等を行い、ライセンス義務事項を満たした出荷用インストール媒体データを自動作成し、作成したデータを出荷用インストール媒体データベース30に格納する(S13)。
【0042】
なお、ここでのライセンス文やソースコード等の各情報の添付の要否は、自動収集システム11がソースコードやコンポーネントを収集したときに、収集したソースコードやコンポーネントおよびそれらを取得したサイトのHTMLファイルやドキュメントに含まれる文字列情報を形態素解析や構文解析することによって、ライセンス文の添付が必要か否か、ソースコードの添付が必要か否か等のライセンス義務事項を示す情報をライセンス情報に含めておくことによって判断可能とする。また、ライセンス文のように出荷用インストール媒体データに添付される情報も、自動収集システム11がソースコードやコンポーネントと関連付けてソースコード/コンポーネント情報データベース15に格納しておく。
そして、作業者はネットワークを介して、出荷用インストール媒体データベース30から出荷用インストール媒体のデータを取得することができ、取得したデータに基づいて、出荷用インストール媒体を作成することができる。
【0043】
なお、本発明は上述した実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、図3に示すように、開発支援システム10の外部にデータベースサーバ60を備え、データベースサーバ60にソースコード/コンポーネント情報データベース61を有するようにし、開発支援システム10が任意の通信手段を介して、ソースコード/コンポーネント情報データベース61にアクセスするような形態としてもよい。データベースサーバは、例えば、サーバのような情報処理装置である。
【0044】
以上に説明したように、本実施の形態では、作成段階におけるソースコードについて随時ライセンスの検査を行うとともに、コンポーネントを登録したときにライセンスの検査を行い、検査結果に問題があった場合は、作業者に通知を行う。そのため、作業者が利用制限されているソースコードやコンポーネントを利用していることに早期に気づくことができ、ソースコードの書き直し等の後戻り作業の発生を無くすことができ、計画通りにソフトウェア開発を進めることができるようになるため、開発工数を削減することが可能となる。
【0045】
また、本実施の形態では、ソースコードパッケージやコンポーネントに検索用タグを付けてデータベース化しているため、作業者が所望のソースコードやコンポーネントが既にあるかどうかを検索することができる。そのため、既に存在する機能を有するソースコードやコンポーネントの再開発を防止するとともに、それらの再利用を促進することができ、効率的なプログラム開発が行えるため、開発工数を削減することが可能となる。
【0046】
さらに、本実施の形態では、プログラミング作業を行う統合開発環境から直接ソースコードやコンポーネントの検索を行うことができる。そのため、検索を容易に行うことができるため、作業工数を削減することが可能となる。
【0047】
また、本実施の形態では、ソフトウェア製品出荷に必要なライセンス義務事項を満たした出荷用インストール媒体データを自動的に作成する。そのため、作業者が出荷用インストール媒体データを作成する作業が不要となり、作業工数を削減すること可能となる。また、ライセンス文の添付忘れ等のヒューマンエラーによるライセンス違反を未然に防ぐことが可能となる。
【0048】
以上に説明した本発明にかかる開発支援システムは、上述の実施の形態の機能を実現するプログラムを記憶した記憶媒体をシステムもしくは装置に供給し、システムあるいは装置の有するコンピュータ又はCPU(Central Processing Unit)、MPU(Micro Processing Unit)がこのプログラムを実行することによって、構成することが可能である。
また、このプログラムは様々な種類の記憶媒体に格納することが可能であり、通信媒体を介して伝達されることが可能である。ここで、記憶媒体には、例えば、フレキシブルディスク、ハードディスク、磁気ディスク、光磁気ディスク、CD−ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)、BD(Blu-ray Disc)、ROM(Read Only Memory)カートリッジ、バッテリバックアップ付きRAM(Random Access Memory)メモリカートリッジ、フラッシュメモリカートリッジ、不揮発性RAMカートリッジを含む。また、通信媒体には、電話回線の有線通信媒体、マイクロ波回線の無線通信媒体を含み、インターネットも含まれる。
【0049】
また、コンピュータが上述の実施の形態の機能を実現するプログラムを実行することにより、上述の実施の形態の機能が実現されるだけではなく、このプログラムの指示に基づき、コンピュータ上で稼動しているOS(Operating System)もしくはアプリケーションソフトと共同して上述の実施の形態の機能が実現される場合も、発明の実施の形態に含まれる。
さらに、このプログラムの処理の全てもしくは一部がコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットにより行われて上述の実施の形態の機能が実現される場合も、発明の実施の形態に含まれる。
【符号の説明】
【0050】
10、70 開発支援システム
11 自動収集システム
12 コード検査システム
13 ソースコード/コンポーネント検索システム
14 出荷用インストール媒体データ作成システム
15、61 ソースコード/コンポーネント情報データベース
20 作業者端末
21 統合開発環境
22 プラグインモジュール
30 出荷用インストール媒体データベース
40 インターネット上のサイト/リポジトリ
50 イントラネット上のサイト/リポジトリ
60 データベースサーバ
71 記憶部
72 検査部
81 取得手段
82 検査手段

【特許請求の範囲】
【請求項1】
複数の検査用ソースコードと、前記検査用ソースコードのライセンス形態を示すライセンス情報を相互に関連付けて格納する記憶部と、
作成段階にある作成段階ソースコードを取得し、前記記憶部に格納された情報に基づいて、当該作成段階ソースコードの検査を行う検査部を備え、
前記検査部は、前記作成段階ソースコードを取得する取得手段と、
取得された作成段階ソースコードと、所定値以上の一致度を有し、かつ、予め定められた利用制限に該当するライセンス形態と関連付けられた検査用ソースコードを検出する検査手段とを有する開発支援システム。
【請求項2】
前記検査手段は、前記一致度を前記ソースコードに含まれる文字列を比較することによって判断する請求項1に記載の開発支援システム。
【請求項3】
前記検査手段は、前記一致度を前記ソースコードに基づいて生成したハッシュ値を比較することによって判断する請求項1に記載の開発支援システム。
【請求項4】
前記記憶部は、さらに前記複数の検査用ソースコードのそれぞれに関連付けて検索用タグを格納し、
前記開発支援システムは、さらに作業者によって入力された検索キーワードを取得する手段と、
取得された検索キーワードと、前記検索用タグとを比較することにより、検索対象となる前記検査用ソースコードを検出する手段とを有する検索部を備えた請求項1乃至3のいずれかに記載の開発支援システム。
【請求項5】
前記開発支援システムは、さらに前記検査用ソースコードをインターネット又はイントラネットのサイトから取得して前記記憶部に格納するとともに、当該サイトから取得した情報に基づいて、前記検索用タグ及び前記ライセンス情報を生成し、前記記憶部に格納する手段を有する自動収集部を備えた請求項4のいずれかに記載の開発支援システム。
【請求項6】
前記自動収集部は、さらに前記作成段階ソースコードを前記検査部から取得し、取得した作成段階ソースコードを前記記憶部に格納する手段を有し、
前記記憶部は、さらに前記記憶部に格納した作成段階ソースコードのそれぞれに対応する検索用タグを格納し、
前記検索部は、さらに前記検索キーワードと、前記検索用タグとを比較することにより、検索対象となる前記作成段階ソースコードを検出する手段を有する請求項5に記載の開発支援システム。
【請求項7】
前記開発支援システムは、さらに作業者が作成したプログラムを取得する手段と、
取得したプログラムのソースコードに関連付けられたライセンス情報に基づいて、当該プログラムのインストール媒体データを作成する手段とを有するインストール媒体データ作成部を備えた請求項1乃至6のいずれかに記載の開発支援システム。
【請求項8】
前記作成段階ソースコード、前記検索キーワード及び前記作業者が作成したプログラムは、前記開発支援システムの外部に備えられた作業者端末が有する統合開発環境に組み込まれるプラグインモジュールから取得される請求項7に記載の開発支援システム。
【請求項9】
前記記憶部は、前記開発支援システムの外部に備えられた請求項1乃至8のいずれかに記載の開発支援システム。
【請求項10】
複数の検査用コンポーネントと、前記検査用コンポーネントのライセンス形態を示すライセンス情報を相互に関連付けて格納する記憶部と、
プログラムの生成に用いるために統合開発環境に登録された登録コンポーネントを、当該登録に応じて取得し、前記記憶部に格納された情報に基づいて、当該登録コンポーネントの検査を行う検査部を備え、
前記検査部は、前記登録コンポーネントを取得する手段と、
取得された前記登録コンポーネントと、所定値以上の一致度を有し、かつ、予め定められた利用制限に該当するライセンス形態と関連付けられた前記検査用コンポーネントを検出する手段とを有する開発支援システム。
【請求項11】
複数の検査用ソースコードと、前記複数の検査用ソースコードのそれぞれに関連付けられ、前記検査用ソースコードのライセンス形態を示すライセンス情報とに基づいて、作成段階にある作成段階ソースコードの検査を行う開発支援方法であって、
前記作成段階ソースコードを取得するステップと、
取得された作成段階ソースコードと、所定値以上の一致度を有し、かつ、予め定められた利用制限に該当するライセンス形態と関連付けられた検査用ソースコードを検出するステップとを有する開発支援方法。
【請求項12】
複数の検査用コンポーネントと、前記複数の検査用コンポーネントのそれぞれに関連付けられ、前記検査用コンポーネントのライセンス形態を示すライセンス情報とに基づいて、プログラムの生成に用いるために統合開発環境に登録された登録コンポーネントの検査を行う開発支援方法であって、
前記登録コンポーネントを前記登録に応じて取得するステップと、
取得された登録コンポーネントと、所定値以上の一致度を有し、かつ、予め定められた利用制限に該当するライセンス形態と関連付けられた検査用コンポーネントを検出するステップとを有する開発支援方法。
【請求項13】
複数の検査用ソースコードと、前記複数の検査用ソースコードのそれぞれに関連付けられ、前記検査用ソースコードのライセンス形態を示すライセンス情報とに基づいて、作成段階にある作成段階ソースコードの検査を行う開発支援プログラムであって、
前記作成段階ソースコードを取得するステップと、
取得された作成段階ソースコードと、所定値以上の一致度を有し、かつ、予め定められた利用制限に該当するライセンス形態と関連付けられた検査用ソースコードを検出するステップとをコンピュータに実行させる開発支援プログラム。
【請求項14】
複数の検査用コンポーネントと、前記複数の検査用コンポーネントのそれぞれに関連付けられ、前記検査用コンポーネントのライセンス形態を示すライセンス情報とに基づいて、プログラムの生成に用いるために統合開発環境に登録された登録コンポーネントの検査を行う開発支援プログラムであって、
前記登録コンポーネントを前記登録に応じて取得するステップと、
取得された登録コンポーネントと、所定値以上の一致度を有し、かつ、予め定められた利用制限に該当するライセンス形態と関連付けられた検査用コンポーネントを検出するステップとをコンピュータに実行させる開発支援プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate