(57)【要約】      （修正有）【課題】異なる開発環境を含むコンピュータプログラムの開発システムにおいて、ソースコード毎に異なるバージョンの管理を容易にするコンピュータプログラム開発支援装置、及び、コンピュータプログラム開発支援方法を提供する。【解決手段】コンピュータが実行する実行ファイルを生成する際に用いる構成ファイルを管理するファイル管理手段１４と、クライアント装置２０において編集される構成ファイルの更新に係る更新情報を取得する更新情報取得手段１１と、クライアント装置２０において編集される構成ファイルに対する更新の有無を判断する更新判断手段１２と、更新された構成ファイルである更新ファイルを取得する更新ファイル取得手段１３と、実行ファイルを生成する実行ファイル生成手段１５とを有するコンピュータプログラム開発支援装置。【選択図】図２
2011227575.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが実行する実行ファイルを生成する際に用いる構成ファイルを管理するファイル管理手段と、
前記構成ファイルのうちの一以上の構成ファイルが編集されるクライアント装置から、該クライアント装置において編集される構成ファイルの更新に係る更新情報を取得する更新情報取得手段と、
前記更新情報に基づいて、前記クライアント装置において編集される構成ファイルに対する更新の有無を判断する更新判断手段と、
更新された前記構成ファイルである更新ファイルを取得する更新ファイル取得手段と、
前記更新ファイルと、前記ファイル管理手段が管理するファイルのうちの前記更新ファイルに対応する構成ファイルを除く他の構成ファイルと、に基づいて、実行ファイルを生成する実行ファイル生成手段と、
を有することを特徴とするコンピュータプログラム開発支援装置。
【請求項２】
前記ファイル管理手段は、前記更新ファイルに対応する構成ファイルを、前記更新ファイルに、置き換えて管理することを特徴とする請求項１記載のコンピュータプログラム開発支援装置。
【請求項３】
前記更新情報は、構成ファイルのバージョンに係る情報を含み、
前記更新判断手段は、前記更新情報に基づく構成ファイルのバージョンと、前記ファイル管理手段が管理する該構成ファイルに対応する構成ファイルのバージョンと、に基づいて、前記構成ファイルの更新の有無を判断することを特徴とする請求項１又は２記載のコンピュータプログラム開発支援装置。
【請求項４】
前記更新情報は、構成ファイルが更新された時刻に係る情報を含み、
前記更新判断手段は、前記更新情報に基づく構成ファイルの更新時刻と、前記ファイル管理手段が管理する該構成ファイルに対応する構成ファイルの更新時刻と、に基づいて、前記構成ファイルの更新の有無を判断することを特徴とする請求項１又は２記載のコンピュータプログラム開発支援装置。
【請求項５】
前記更新情報は、前記クライアント装置において前記構成ファイルが編集される際に生成する、前記ファイル管理手段が管理する該構成ファイルに対応する構成ファイルとの差分に係る差分情報を含み、
前記更新判断手段は、前記差分情報により、前記構成ファイルの更新の有無を判断し、
前記更新ファイル取得手段は、前記差分情報と、前記ファイル管理手段が管理する該差分情報に対応する構成ファイルと、に基づいて、更新ファイルを生成して取得することを特徴とする請求項１又は２記載のコンピュータプログラム開発支援装置。
【請求項６】
コンピュータが実行する実行ファイルを生成する際に用いる構成ファイルを管理するファイル管理手段を有するコンピュータプログラム開発支援装置におけるコンピュータプログラム開発支援方法であって、
前記構成ファイルのうちの一以上の構成ファイルが編集されるクライアント装置から、該クライアント装置において編集される構成ファイルの更新に係る更新情報を取得する更新情報取得ステップと、
前記更新情報に基づいて、前記クライアント装置において編集される構成ファイルに対する更新の有無を判断する更新判断ステップと、
更新された前記構成ファイルである更新ファイルを取得する更新ファイル取得ステップと、
前記更新ファイルと、前記ファイル保持手段が保持するファイルのうちの前記更新ファイルに対応する構成ファイルを除く他の構成ファイルと、に基づいて、実行ファイルを生成する実行ファイル生成ステップと、
を有することを特徴とするコンピュータプログラム開発支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラム開発支援装置、及び、コンピュータプログラム開発支援方法に関する。
【背景技術】
【０００２】
従来から、異なるコンピュータ環境間におけるデータの共有において、管理者の作業を容易にする技術がある。例えば、オブジェクトソースのリリースを行う際には、リリース先とオブジェクト種別との組み合わせの数だけ、作業が重複する。そこで、特開２００７−２７２２８６号公報（特許文献１）には、リリース作業を容易にするリリース支援システム等の発明が開示されている。特許文献１に開示の発明によれば、ＯＳ等が異なる環境に対するオブジェクトのリリースを、ミス無く容易に行うことができる。
【０００３】
ところで、コンピュータプログラムを開発する際には、オブジェクトのリリースよりも、さらに、大規模な開発環境が用いられることがある。コンピュータプログラムの開発では、例えば、仕様書の作成、ソースコードの作成、及び、コンパイルの手順を繰り返し、デバッグ等を行う。そこで、大規模なコンピュータプログラムを開発する際には、複数の設計者が、それぞれのクライアント装置でソースコードの編集を行い、サーバ装置では、それらのソースコードをまとめてコンパイルする。
【０００４】
そのため、管理者だけでなく設計者も、クライアント装置の操作とサーバ装置の操作との両方の操作が必要となる。クライアント装置とサーバ装置とで、ＯＳ等の環境が異なれば、設計者は両方の環境に対応することが求められる。さらに、開発の途中では、ソースコードのバージョンが異なる毎に、コンパイルを行い、実行ファイルを生成する等の作業が発生する。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に開示されているリリース支援システム等の発明では、複数の設計者が、異なる開発環境で開発した複数のソースコードから、実行ファイルを生成する作業については、考慮されていない。
【０００６】
複数の設計者が異なる開発環境を使用する開発システムでは、それぞれが開発したソースコード毎に、設計者がバージョンの管理を行い、バージョン毎に、他の設計者が開発したソースコードとともにコンパイルを行う。
【０００７】
そこで、設計者は、自身の開発環境と、コンパイルの環境とが異なる場合には、両方の環境の操作を行い、かつ、両方の環境において、ソースコードのバージョンを管理する作業が発生する。
【０００８】
本発明は、上記の点に鑑みて、これらの問題を解消するために発明されたものであり、異なる開発環境を含むコンピュータプログラムの開発システムにおいて、ソースコード毎に異なるバージョンの管理を容易にするコンピュータプログラム開発支援装置、及び、コンピュータプログラム開発支援方法を提供することを目的としている。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明のコンピュータプログラム開発支援装置は次の如き構成を採用した。
【００１０】
コンピュータが実行する実行ファイルを生成する際に用いる構成ファイルを管理するファイル管理手段と、前記構成ファイルのうちの一以上の構成ファイルが編集されるクライアント装置から、該クライアント装置において編集される構成ファイルの更新に係る更新情報を取得する更新情報取得手段と、前記更新情報に基づいて、前記クライアント装置において編集される構成ファイルに対する更新の有無を判断する更新判断手段と、更新された前記構成ファイルである更新ファイルを取得する更新ファイル取得手段と、前記更新ファイルと、前記ファイル管理手段が管理するファイルのうちの前記更新ファイルに対応する構成ファイルを除く他の構成ファイルと、に基づいて、実行ファイルを生成する実行ファイル生成手段と、を有する構成とすることができる。
【００１１】
これにより、異なる開発環境を含むコンピュータプログラムの開発システムにおいて、ソースコード毎に異なるバージョンの管理を容易にするコンピュータプログラム開発支援装置を提供することができる。
【００１２】
なお、上記課題を解決するため、本発明は、上記コンピュータプログラム開発支援装置におけるコンピュータプログラム開発支援方法としてもよい。
【発明の効果】
【００１３】
本発明のコンピュータプログラム開発支援装置、及び、コンピュータプログラム開発支援方法によれば、異なる開発環境を含むコンピュータプログラムの開発システムにおいて、ソースコード毎に異なるバージョンの管理を容易にするコンピュータプログラム開発支援装置、及び、コンピュータプログラム開発支援方法を提供することが可能になる。
【図面の簡単な説明】
【００１４】
【図１】図１は、本実施の形態に係るコンピュータプログラム開発支援装置を含む開発システムの機能構成の例を示す図である。
【図２】図２は、本実施の形態に係るコンピュータプログラム開発支援システムの機能構成を示す図である。
【図３】図３は、本実施の形態に係るコンピュータプログラム開発支援方法の例を示すフロー図である。
【図４】図４は、更新されたファイルの有無を判断する処理の詳細な例を説明するフロー図である。
【図５】図５は、本実施の形態に係るコンピュータプログラム支援方法を実行するコンピュータの構成の例を示す図である。
【発明を実施するための形態】
【００１５】
以下、本実施の形態を図面に基づき説明する。なお、以下の説明において、「ソースコード」とは、実行ファイルを生成する際に用いられるコンピュータプログラムである。一の実行ファイルを生成するには、一以上のソースコードをコンパイルする。ソフトウェアの開発では、例えば、一のソースコードが、作成、又は、編集されてバージョンが更新される毎に、コンパイルを行い、実行ファイルを生成させ、デバッグを行う。
【００１６】
〔本実施の形態〕
図１は、本実施の形態に係るコンピュータプログラム開発支援装置を含む開発システムの機能構成の例を示す図である。本実施の形態に係る開発システムは、コンパイルマシン１、及び、ＰＣ２を含む。コンパイルマシン１には、構成管理ツール４０、及び、記憶装置５０が接続されている。コンパイルマシン１は、ＰＣ２との通信を行い、複数のソースコードをコンパイルして実行ファイルを生成する。コンパイルマシン１のＯＳは、例えば、ＵＮＩＸ（登録商標）である。
【００１７】
構成管理ツール４０は、実行ファイルを生成する際のソースコードを管理する。構成管理ツール４０は、ソースコード毎に、最新のバージョンを保持する。構成管理ツール４０は、また、ソースコードのバージョン毎に保持してもよい。構成管理ツール４０は、さらに、ソースコードのバージョン毎に、差分を保持することにより、異なるバージョンの管理を行ってもよい。
【００１８】
実行ファイルを生成する際には、一以上のソースコードが用いられる。これらのソースコードは、バージョン毎に管理されるとよい。
【００１９】
例えば、一のソースコードが、ＰＣ２において作成又は編集されて更新されると、構成管理ツール４０により管理され、実行ファイルの生成に用いられるソースコードのうち、更新されたソースコードを除く他のソースコードと、更新されたソースコードと、が取得され、コンパイルされることにより、実行ファイルが生成される。
【００２０】
記憶装置５０は、ホームディレクトリ及びコンパイル領域を有する。ホームディレクトリは、開発者毎に設けられる領域である。ホームディレクトリには、一の開発者が開発したソースコード又はそのソースコードの差分情報が、ＰＣ２より送信され、格納される。差分情報が格納される場合には、コンパイルマシン１は、その差分情報を、構成管理ツール４０に格納される、差分情報に対応するソースコードに反映させることにより、ソースコードの新たなバージョンを生成する。
【００２１】
コンパイル領域は、ホームディレクトリに格納されているソースコード、及び、構成管理ツールに格納されているソースコードを取得し、コンパイルして生成する実行ファイルが格納される。ここで、構成管理ツールから取得されるソースコードは、ホームディレクトリに対応する開発者とは異なる開発者により開発されるソースコードである。
【００２２】
これにより、一の開発者がソースコードを開発する際に、他の開発者が開発するソースコードにアクセスすることを制限することができるため、情報漏洩を防止しセキュリティ性を高めることができる。
【００２３】
コンパイルした結果のログは、ＰＣ２に送信される。この送信は、例えば、ＰＣ２からのコンパイル要求に対する応答として、自動送信されるとよい。なお、コンパイルの結果は、コンパイルの成功、失敗（エラー）、及び、エラーの内容等を含む。
【００２４】
ＰＣ２は、開発者がソースコードの開発を行う。開発者が開発したソースコードは、差分情報がコンパイルマシン１に送信され、他のソースコードとともにコンパイルされる。差分情報は、例えば、ＰＣ２が保持するソースコードと、構成管理ツール４０が保持するソースコードとを比較することにより、生成されるとよい。
【００２５】
画面ｐ１は、ＰＣ２が制御する表示装置に表示される画面である。画面ｐ１には、処理確認画面、及び、コマンド入力欄の２つの画面が含まれる。画面ｐ１には、さらに、コンパイルファイル選択、コンパイル、中断、及び、ログ確認の４つのスイッチが含まれる。
【００２６】
処理確認画面は、コンパイルマシン１によるコンパイル結果が表示される。処理確認画面は、また、コンパイルマシン１に送信するソースコードを選択する際に、ソースコードのリスト等が表示されてもよい。
【００２７】
コマンド入力欄は、実行ファイルの生成、及び、ソースコードの編集等の際に、コマンドを入力する欄である。例えば、コンパイルマシン１に対して、ソースコードのコンパイルを指示する際には、コンパイルファイル選択ボタンにより、ソースコードを選択した後に、「ｍａｋｅ」と入力するとよい。
【００２８】
コンパイル、中断、及び、ログ確認は、それぞれ、コンパイルの実行、コンパイルの中断、及び、コンパイル結果の表示を指示する際に選択するボタンである。
【００２９】
図２は、本実施の形態に係るコンピュータプログラム開発支援システムの機能構成を示す図である。図２のコンピュータプログラム開発支援システムは、サーバ１０、及び、クライアント装置２０を有する。
【００３０】
サーバ１０は、クライアント装置２０において作成、又は、編集されたソースコードを含む、複数のソースコードをコンパイルして、実行ファイルを生成する。サーバ１０は、更新情報取得手段１１、更新判断手段１２、更新ファイル取得手段１３、ファイル管理手段１４、及び、実行ファイル生成手段１５を有する。
【００３１】
更新情報取得手段１１は、クライアント装置２０から、ソースコードの更新に係る更新情報を取得する。更新情報は、クライアント装置２０が作成又は編集したソースコードの差分の情報、そのソースコードの更新日時の情報、そのソースコードのバージョンに係る情報、又は、そのソースコードを編集した者の情報等である。
【００３２】
更新判断手段１２は、ソースコードの差分の情報がある場合には、そのソースコードは、更新されていると判断する。更新判断手段１２は、また、更新情報取得手段１１が取得した更新情報と、ファイル管理手段１４が管理するソースコードの情報とを比較することにより、ソースコードの更新の有無を判断する。
【００３３】
より詳細には、更新判断手段１２は、更新情報取得手段１１が受信したソースコードの更新日時の情報による更新日時が、ファイル管理手段１４が管理するソースコードの更新日時より新しい場合には、そのソースコードは更新されていると判断する。
【００３４】
更新判断手段１２は、また、更新情報取得手段１１が受信したソースコードのバージョンに係る情報によるバージョンが、ファイル管理手段１４が管理するソースコードのバージョンより新しい場合には、そのソースコードは更新されていると判断する。
【００３５】
更新判断手段１２は、また、更新情報取得手段１１が受信したソースコードを編集した者が、ファイル管理手段１４が管理するソースコードの編集した者と異なる場合には、そのソースコードは更新されていると判断する。なお、更新情報取得手段１１が受信したソースコードを編集した者は、例えば、そのソースコードに対応づけられる情報より判別される。
【００３６】
更新ファイル取得手段１３は、更新判断手段１２により更新されていると判断されるソースコードを取得する。より詳細には、ソースコードの差分の情報を、ファイル管理手段１４が管理する、そのソースコードに対応するソースコードに反映させることにより、更新されたソースコードを取得する。
【００３７】
更新ファイル取得手段１３は、また、更新日時の情報、バージョンに係る情報、又は、ソースコードを編集した者に係る情報等によりソースコードが更新されていると判断された場合には、クライアント装置２０から、そのソースコードを受信する。更新ファイル取得手段１３は、クライアント装置２０に対し、ソースコードが更新されている旨の通知、又は、そのソースコードを送信する要求を出力してもよい。
【００３８】
実行ファイル生成手段１５は、更新ファイル取得手段１３が取得したソースコード、及び、ファイル管理手段１４が管理するソースコードを用いて、実行ファイルを生成する処理を行う。実行ファイル生成手段１５は、実行ファイルの生成のために、コンパイル処理を行う。実行ファイル生成手段１５は、コンパイル処理の結果のログを出力する。このログは、コンパイルの成功、エラー、又は、警告（ワーニング）等の情報を含むとよい。
【００３９】
ファイル管理手段１４は、コンパイルして実行ファイルを生成する際に用いるソースコードのファイルを管理する。ファイル管理手段１４は、コンパイルする際のソースコードの構成も管理するとよい。コンパイルに用いられる全てのファイルは、ファイル管理手段１４に管理されるとよい。ファイル管理手段１４に格納されるソースコードのファイルは、ソースコードのバージョン毎に管理されるとよい。ファイル管理手段１４に格納されるソースコードのファイルは、そのソースコードを作成した開発者の識別情報、又は、そのソースコードを編集した開発者の識別情報が対応づけられるとよい。
【００４０】
ユーザファイル保持手段１６は、開発者が使用する記憶手段である。ユーザファイル保持手段１６は、開発者毎に、記憶領域が設けられるとよい。一の開発者は、自分の記憶領域に格納されるファイルに対してアクセスすることができるとよい。
【００４１】
コンパイルファイル保持手段１７は、実行ファイル生成手段１５がコンパイルするファイルを保持する。コンパイルファイル保持手段１７に保持されるファイルは、ファイル管理手段１４が管理するファイル、及び、ユーザファイル保持手段１６に保持されるファイルから、ソースコードのバージョン等に基づいて選択された、コンパイルに用いるファイルである。
【００４２】
クライアント装置２０は、開発者がソースコードの編集を行い、サーバ１０に対してコンパイルを要求する。クライアント装置２０は、通信手段２１、制御手段２２、編集手段２３、及び、ファイル管理手段２４を有する。
【００４３】
通信手段２１は、サーバ１０との通信を行う。制御手段２２は、クライアント装置２０の各部の制御を行う。制御手段２２は、通信手段２１により、サーバ１０に対して、コンパイルの要求、ソースコードの更新情報、及び、更新されたソースコード等を出力させる。
【００４４】
編集手段２３は、図１の画面ｐ１に示すＧＵＩにより、ソースコードの編集機能を実現する。ファイル管理手段２４は、クライアント装置２０において作成、又は、編集されるソースコードを管理する。
【００４５】
図３は、本実施の形態に係るコンピュータプログラム開発支援方法の例を示すフロー図である。図３では、開発者がコンパイルするソースコードのファイルを選択することにより、コンパイルマシンにおいて、そのソースコードを含むコンパイルが行われる。
【００４６】
図３のステップＳ１１では、開発者により、コンパイルするソースコードのファイルが選択される。この選択は、例えば、図１の画面ｐ１において、開発者が、コンパイルファイル選択ボタンを選択することにより行われる。なお、選択されるファイルは、クライアント装置２０、又は、ユーザファイル保持手段１６の何れに保持されてもよい。
【００４７】
ステップＳ１１に続いてステップＳ１２に進み、開発者により、ｍａｋｅコマンドの実行が入力される。この入力は、例えば、図１の画面ｐ１において、開発者が、コマンド入力欄に「ｍａｋｅ」と入力することにより、行われる。
【００４８】
ステップＳ１２に続いてステップＳ１３に進み、実行ファイル生成手段１５が、ステップＳ１１で選択されたコンパイルするソースコードのファイルを、ファイル管理手段１４から取得する。このファイルは、コンパイルファイル保持手段１７に保持される。
【００４９】
ステップＳ１３に続いてステップＳ１４に進み、コンパイルに必要なファイルの有無が確認される。この処理は、更新情報取得手段１１、更新判断手段１２、及び、更新ファイル取得手段１３により実行される。
【００５０】
コンパイルに必要なファイルが揃っている場合には、ステップＳ１６に進み、コンパイルに必要なファイルが揃っていない場合には、ステップＳ１５に進む。
【００５１】
ステップＳ１５では、更新ファイル取得手段１３が、更新されたソースコードのファイルを取得する。これにより、コンパイルファイル保持手段１７に、コンパイルに用いるソースコードのファイルが全てそろえられる。
【００５２】
ステップＳ１４又はステップＳ１５に続いてステップＳ１６に進み、実行ファイル生成手段１５が、コンパイルを行う。ステップＳ１６に続いてステップＳ１７に進み、実行ファイル生成手段１５が、コンパイル結果を、クライアント装置２０に送信する。
【００５３】
図４は、図３のステップＳ１４及びステップＳ１５の詳細な例を説明するフロー図である。図４のステップＳ２１では、更新判断手段１２が、コンパイルに用いるファイルのソースコードのバージョン情報が更新されているか否かを判断する。更新されていれば、ステップＳ１５に進み、更新されていなければ、ステップＳ２２に進む。
【００５４】
ステップＳ２１に続くステップＳ２２では、更新判断手段１２が、クライアント装置２０で、ファイルが編集されているか否かを判断する。この判断は、例えば、差分情報の有無を確認することにより行われてもよい。編集されている場合には、ステップＳ１５に進み、編集されていない場合には、ステップＳ１６に進む。
【００５５】
（コンピュータ等による実現）
図５は、本実施の形態に係るコンピュータプログラム支援方法を実行するコンピュータの構成の例を示す図である。図５のコンピュータは、制御部６０、ＮＩＣ６９、表示装置６５、入力装置６６、及び、ハードディスク装置（以下、「ＨＤＤ」という。）６８を有する。
【００５６】
制御部６０は、コンピュータ装置の各部の制御を行う。制御部６０は、ＣＰＵ６１、ＲＯＭ６２、及び、ＲＡＭ６３を有する。ＣＰＵ６１は、ＲＯＭ６２に格納されているコンピュータプログラムを実行して、各部を制御する機能を実現する。ＲＯＭ６２には、ＣＰＵ６１が実行するコンピュータプログラムが格納される。
【００５７】
ＲＡＭ６３は、ＣＰＵ６１がコンピュータプログラムを実行する際の、ワークエリアである。
【００５８】
ＮＩＣ６９は、ネットワークを介して接続される他の装置との通信を行う。表示装置６５は、コンピュータの状態や実行するコンピュータプログラムに係る情報等を表示する。入力装置６６は、操作者による指示等が入力される。ＨＤＤ６８は、大容量のデータを格納する。
【００５９】
ＣＰＵ６１、ＲＯＭ６２、ＲＡＭ６３、ＮＩＣ６９、表示装置６５、入力装置６６、及び、ＨＤＤ６８は、バスを介して接続される。ＮＩＣ６９、表示装置６５、入力装置６６、及び、ＨＤＤ６８は、それぞれ、バスとのインタフェース部を有する。
【００６０】
以上、発明を実施するための最良の形態について説明を行ったが、本発明は、この最良の形態で述べた実施の形態に限定されるものではない。本発明の主旨をそこなわない範囲で変更することが可能である。
【産業上の利用可能性】
【００６１】
以上のように、本発明にかかるコンピュータプログラム開発支援装置は、ソフトウェアの開発に有用であり、特に、複数人による開発の環境を提供するシステムに適している。
【符号の説明】
【００６２】
１      コンパイルマシン
１０    サーバ
１１    更新情報取得手段
１２    更新判断手段
１３    更新ファイル取得手段
１４    ファイル管理手段
１５    実行ファイル生成手段
１６    ユーザファイル保持手段
１７    コンパイルファイル保持手段
２０    クライアント装置
２１    通信手段
２２    制御手段
２３    編集手段
２４    ファイル管理手段
４０    構成管理ツール
５０    記憶装置
６０    制御部
６５    表示装置
６６    入力装置
【先行技術文献】
【特許文献】
【００６３】
【特許文献１】特開２００７−２７２２８６号公報
【図１】
2011227575.tif 000003
【図２】
2011227575.tif 000004
【図３】
2011227575.tif 000005
【図４】
2011227575.tif 000006
【図５】
2011227575.tif 000007