(57)【特許請求の範囲】
【請求項１】
ソフトウェア開発の発注元が複数のソフトウェア開発装置に対してそれぞれ異なるソフトウェアの開発を発注し、各ソフトウェア開発装置は開発したソフトウェアをロードモジュールとして上記発注元にネットワークを介して納入し、上記発注元は納入されたロードモジュールを各ソフトウェア開発装置に上記ネットワークを介して配信するソフトウェア開発システムにおいて、
上記各ソフトウェア開発装置から納入された上記ロードモジュールに関する情報を作成して登録する登録手段と、
上記登録手段に登録された上記情報が更新されことが検出されたとき対応するロードモジュールを各ソフトウェア開発装置に配信する配信手段とを設けてなり、
上記ソフトウェア開発装置は、開発した最新のソフトウェアのソースファイルを修正し、修正したソースファイルを上記発注元に納入すると共に、上記修正したソースファイルと修正前のソースファイルとの第１の差分情報を取得し、
上記発注元は、上記納入された新しいソースファイルと上記修正前に納入され登録されたソースファイルとの第２の差分情報を取得し、
上記第１の差分情報と第２の差分情報とを比較し、一致したとき上記発注元は上記新しいソースファイルを正式に登録することを特徴とするソフトウェア開発システム。
【請求項２】
上記ソフトウェア開発装置は、開発したロードモジュール及び上記発注元から配信されたロードモジュールの動作確認試験を必要に応じて行うことを特徴とする請求項１記載のソフトウェア開発システム。
【請求項３】
上記ソフトウェア開発装置は、上記登録手段の登録内容を閲覧できることを特徴とする請求項１記載のソフトウェア開発システム。
【請求項４】
上記配信は所定の時間帯において行われることを特徴とする請求項１記載のソフトウェア開発システム。
【請求項５】
上記ソフトウェア開発装置は、上記修正したソースファイルを用いて動作確認試験を行い、異常がないときその修正したソースファイルを上記発注元に納入し、異常があったときはさらに修正することを特徴とする請求項１記載のソフトウェア開発システム。
【請求項６】
上記発注元とソフトウェア開発装置とは上記ネットワークを介して暗号化された情報を通信することを特徴とする請求項１記載のソフトウェア開発システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、発注元の注文に応じて複数のソフトウェア開発会社が異なるソフトウェアを開発する場合に用いて好適なソフトウェア開発システムに関するものである。
【０００２】
【従来の技術】
従来より、発注元の注文に応じて複数のソフトウェア開発会社が異なるソフトウェアを開発し、開発したソフトウェアをインターネット等のネットワークを介して納入先（発注元）に納入するようにしたソフトウェア開発システムが知られている。
【０００３】
【発明が解決しようとする課題】
しかしながら、従来のソフトウェア開発システムでは次のような問題があった。
・ソフトウェア開発会社は他社開発分のソフトウェアと連動して動作確認試験を行うことが一般的に行われるが、その際に他社開発分のソフトウェア（ロードモジュール）が必ずしも最新状態では無いことがあった。また、それが最新状態かどうかの判断をするのに手間が掛かっていた。
【０００４】
・開発したソースファイル（テキスト情報）のバージョン管理を開発担当者任せ（手作業）で行っていることから、開発担当者間の連絡ミス、作業ミス等により、誤ったバージョンを納入してしまった事例が続出していた。
・ソフトウェア開発会社とソフトウェア納入先を相互に接続するネットワークを専用線ベースで構築していたため、一年間に掛かる通信費が莫大であった。
【０００５】
本発明においては、以上の問題点を解決するためにインターネットを利用したソフトウェア開発システムにおける複数社によるソフトウェア納入とバージョン管理方法を提供することを目的としている。
【０００６】
【課題を解決するための手段】
上記の目的を達成するために、本発明によるソフトウェア開発システムは、ソフトウェア開発の発注元が複数のソフトウェア開発装置に対してそれぞれ異なるソフトウェアの開発を発注し、各ソフトウェア開発装置は開発したソフトウェアをロードモジュールとして上記発注元にネットワークを介して納入し、上記発注元は納入されたロードモジュールを各ソフトウェア開発装置に上記ネットワークを介して配信するソフトウェア開発システムにおいて、上記各ソフトウェア開発装置から納入された上記ロードモジュールに関する情報を作成して登録する登録手段と、上記登録手段に登録された上記情報が更新されことが検出されたとき対応するロードモジュールを各ソフトウェア開発装置に配信する配信手段とを設けたものである。
【０００７】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
本発明実施の形態は、発注元からそれぞれ別々のソフトウェアの開発を依頼された複数のソフトウェア開発会社が、インターネットを介して発注元（納入先）へロードモジュールを納入し、発注元がそのロードモジュールを各ソフトウェア開発会社へ提供する仕組みと、ソフトウェア開発会社がインターネットを介してソースファイル（テキスト情報）を納入する仕組みと、ソースファイルのバージョン管理方法を提供するものである。
【０００８】
始めに、各実施の形態の概略を説明する。
まず、ロードモジュールを納入する仕組みについて図１を参照して説明する。
図１において、ソフトウェア開発会社Ａ２０は、自社の開発サーバＡで開発したロードモジュールＡ１４をネットワーク１００を介してソフトウェア納入先（発注元）１０のロードモジュール格納領域１１へ送信する。また、ソフトウェア納入先１０のWWW サーバ１７内にあるロードモジュール更新情報１３を更新する。この後、定時刻起動の自動配信プログラム１２により、ロードモジュール格納領域１１内の更新状況が収集され、更新があったロードモジュールは各ソフトウェア開発会社Ａ２０，Ｂ３０，Ｃ４０に配信される。
【０００９】
次に、ソースファイルを納入する仕組みについて図２を参照して説明する。
ソフトウェア開発会社Ａは、自社の開発サーバＡでバージョン管理プログラム２４を使用して、最新バージョンのソースファイルＡ２５を取り出す。このソースファイルＡ２５に修正を加えた後、生成されたロードモジュールを用いて動作確認試験を行う。正常動作が確認できたならば、今回修正を加えたソースファイルＡ’２６をバージョン管理プログラム２４を使用して、最新バージョンとして登録する。このときソースファイルＡ２５とソースファイルＡ’２６との差分情報２７を取って手元に残しておく。そして、ソースファイルＡ’２６をネットワーク１００を介してソフトウェア納入先１０のソースファイル一時格納領域へ送信する。
【００１０】
ソフトウェア納入先１０では、今回納入されたソースファイルＡ’２２（ソースファイルＡ’２６）とその旧バージョンに相当するソースファイルＡ２１との差分情報２３を取り、この差分情報２３をネットワーク１００を介してソフトウェア開発会社Ａ２０に送信する。
【００１１】
ソフトウェア開発会社Ａ２０では、受け取った差分情報２３と手元に残しておいた差分情報２７との比較を行う。両者が同じであったならば、ソフトウェア納入先１０はソースファイルＡ’２２を正式な納入最新バージョンと判断しソースファイルＡ２１として登録する。
【００１２】
次に、上記ロードモジュール納入の仕組みの第１の実施の形態について詳細に説明する。
図１において、本実施の形態は、ソフトウェア納入先（発注元）１０の管理サーバ１８とWWW サーバ１７と、各ソフトウェア開発会社Ａ２０、Ｂ３０，Ｃ４０の開発サーバＡ、開発サーバＢ、開発サーバＣと、これらを相互に接続するインターネットによる通信ネットワーク１００から構成されている。
【００１３】
ソフトウェア納入先１０の管理サーバ１８とＷＷＷサーバ１７は磁気ディスク装置を備えた情報処理装置である。この管理サーバ１８は、各ソフトウェア開発会社Ａ２０、Ｂ３０，Ｃ４０から納入されるロードモジュールを格納し保存しておく領域と、自動配信プログラムを定時刻起動により実行して、各ソフトウェア開発会社の開発サーバにネットワーク１００を介して配信対象のロードモジュールを配信する機能を有する。
【００１４】
また、WWW サーバ１７は、各ソフトウェア開発会社から照会があったときに、ロードモジュールの更新情報を画面情報として提供する機能を有する。更新情報としては、図５に示すようにロードモジュールの和名、ＩＤ、更新日付等のロードモジュールに関する情報が参照可能である。
【００１５】
各ソフトウェア開発会社の開発サーバＡ、Ｂ、Ｃは、磁気ディスク装置を備えた情報処理装置であり、自社が開発したロードモジュール、及び他社が開発したロードモジュールを格納し保存しておく領域を有し、操作者のオペレーションによってネットワーク１００を介してソフトウェア納入先１０の管理サーバ１８とWWW サーバ１７に接続できる機能を有する。
【００１６】
次に、図１、図３及び図５を参照して本実施の形態の動作について詳細に説明する。
図３において、ソフトウェア開発会社Ａ２０は自社の開発サーバＡ上で、新規に作成、あるいは修正済みのソースファイルを用いて新しいロードモジュールＡを生成する（ステップＡ１）。次に、この新しいロードモジュールＡをソフトウェア納入先１０の管理サーバ１８内のロードモジュール格納領域１１に向けて、ファイル転送プロトコル（ＦＴＰ）を用いて送信する（ステップＡ２）。
【００１７】
また、ソフトウェア開発会社Ａ２０以外の開発会社及びソフトウェア納入先１０に対してロードモジュールＡに更新があったことを連絡する目的で、ロードモジュールの更新情報を作成してWWW サーバ１７に登録し、ブラウザから参照できるようにする（ステップＡ３）。ロードモジュールの更新情報としては、図５に示すような形式で業務名、和名、ＩＤ名、更新日付等のロードモジュールに関する情報が表示される。
【００１８】
次に、ソフトウェア納入先１０では、定時刻起動の自動配信プログラム１２が起動される。これは管理サーバ１８のＯＳに予め毎日の深夜帯（２３：００〜翌日３：００）に自動配信プログラム１２が実行されるように設定することで、指定時刻になると自動的にプログラムが起動される仕組みになっている。自動配信プログラム１２は、まず管理サーバ１８のロードモジュール格納領域１１の更新状況をチェックし、新たにロードモジュールが提供されたことで日付が更新された物件の抽出を行う。この抽出されたロードモジュールを各ソフトウェア開発会社の開発サーバに対してファイル転送プロトコル（ＦＴＰ）を用いて送信する（ステップＡ４）。
【００１９】
翌日以降、ロードジュールＡの配信を受けたソフトウェア開発会社Ｂ３０とソフトウェア開発会社Ｃ４０では、ソフトウェア納入先１０のWWW サーバ１７を閲覧することで、ロードモジュールＡに更新があったことを知ることができる（ステップＡ５、Ａ５’）。また、Ｂ社の管理サーバ内のロードモジュール格納領域にはロードモジュールＡ１５が、Ｃ社の管理サーバ内のロードモジュール格納領域にはロードモジュールＡ１６が、それぞれ格納済であるため、必要に応じてこのロードモジュールＡを実行して機能確認を行うことができる（ステップＡ６、Ａ６’）。
【００２０】
本実施の形態によれば、他社開発分のロードモジュールであってもソフトウェア納入先のロードモジュールが更新されると、自動的に配信プログラムが送信を行うため、自社環境において最新のロードモジュールで機能確認を行う環境を得ることができる。
また、他社開発分のロードモジュールの更新情報をWWW サーバ（ホームページ）を参照することで容易に知ることができる。
【００２１】
次に、ソースファイル納入とバージョン管理の仕組みの実施の形態について詳細に説明する。
図２において、本実施の形態は、ソフトウェア納入先１０の管理サーバ１８、ソフトウェア開発会社Ａ２０，Ｂ３０，Ｃ４０（ここではソフトウェア開発会社Ａを例にして説明する）の開発サーバＡ，Ｂ，Ｃと、これらを相互に接続するインターネットによる通信ネットワーク１００から構成されている。
【００２２】
ソフトウェア納入先１０の管理サーバ１８は磁気ディスク装置を備えた情報処理装置である。この管理サーバ１８は、各ソフトウェア開発会社から納入されるソースファイルを正式版として格納し保存しておく領域と、各ソフトウェア開発会社からソースファイルを納入直後に一時的に格納しておく領域を有する。
【００２３】
各ソフトウェア開発会社の開発サーバは磁気ディスク装置を備えた情報処理装置であり、自社が開発したソースファイルを格納し保存しておく領域と、それらのソースファイルのバージョン管理機能を持つプログラムから成り、ネットワーク１００を介してソフトウェア納入先１０の管理サーバ１８に接続できる機能を有する。
【００２４】
次に、図２、図４を参照して本実施の形態の動作について詳細に説明する。
図４において、ソフトウェア開発会社Ａ２０は自社の開発サーバＡ上で、バージョン管理プログラム２４を用いて最新バージョンのソースファイルＡ２５の払い出しを行う（ステップＢ１）。次に、この払い出しされたソースファイルＡ２５に修正を行う（ステップＢ２）。そして、修正済のソースファイルＡ’２６から生成されたロードモジュールを用いて、動作確認試験を実施する（ステップＢ３）。ここで動作確認試験において異常が認められた場合には、ステップＢ２まで戻って、再度ソースファイルＡ’２６の修正を実施する（ステップＢ３，ＮＧルート）。
【００２５】
上記動作確認試験において正常動作が確認できた場合、バージョン管理プログラム２４を用いて修正済ソースファイルＡ’２６を最新バージョンのソースファイルとして登録する（ステップＢ４）。
【００２６】
次に、修正前ソースファイルＡ２５と最新バージョンのソースファイルＡ’２６との差分情報２７を取得する（ステップＢ５）。差分情報２７は、開発サーバＡのＯＳがUNIXであった場合は、ｄｉｆｆコマンドを使用することにより取得可能である。
【００２７】
そして、最新バージョンのソースファイルＡ’２６をソフトウェア納入先１０の管理サーバ内のソースファイル一時格納領域に向けて、ファイル転送プロトコル（ＦＴＰ）を用いて送信する（ステップＢ６）。ソフトウェア納入先１０では、今回納入された最新バージョンのソースファイルＡ’２２（ソースファイルＡ’２６）と管理サーバ１８に登録済みの旧バージョンのソースファイルＡ２１との差分情報２３を取得する。差分情報２３も管理サーバのＯＳがUNIXであった場合は、ｄｉｆｆコマンドを使用することにより取得可能である。次に、この差分情報２３をソフトウェア開発会社Ａの開発サーバＡに対してファイル転送プロトコル（ＦＴＰ）を用いて送信する（ステップＢ８）。
【００２８】
これを受けてソフトウェア開発会社Ａ２０は、予め取得して手元に残しておいた差分情報２７と送信された差分情報２３との比較を行う（ステップＢ９）。ここで両者に不一致が発生した場合には、ステップＢ６まで戻って、再度ソースファイルＡ’２６の送信を行う（ステップＢ９，ＮＧルート）。
【００２９】
差分情報が一致した場合は、ソフトウェア開発会社Ａ２０はソースファイルが正しく送信された旨の報告をソフトウェア納入先１０に対して行う（ステップＢ１０）。この報告を受けてソフトウェア納入先１０では、今回納入されたソースファイルＡ’２２を正式なバージョンとして登録する（ステップＢ１１）。尚、ソフトウェア開発会社Ａ２０とソフトウェア納入先１０の間で、ファイル送信した旨の連絡をとり合う手段としては、電話、FAX 、電子メール等を用いることができる。
【００３０】
本実施の形態によれば、ソースファイルをバージョン管理プログラムを用いて払出し／登録する運用を行うことで、古いバージョンに修正を行ってしまうというような作業ミスを防ぐことができる。
また、インターネットを前提にしたネットワークを使用していることにより、ソースファイル（テキスト情報）が悪意の第三者により改竄される可能性があるが、開発側（修正元）と納入先の双方で取った差分情報の突き合わせを行っているため、改竄を防止することができる。
【００３１】
次に、ロードモジュール納入の仕組みについての第２の実施の形態について図６を参照して説明する。
図６において、本実施の形態は、ソフトウェア納入先１０の管理サーバ１８とWWW サーバ１７と、各ソフトウェア開発会社Ａ２０，Ｂ３０，Ｃ４０の開発サーバＡ，Ｂ，Ｃと、各場所の通信ネットワークの接続点にＶＰＮ機能（ヴァーチャル・プライベート・ネットワーク機能）を有するファイアウォール１９，１９Ａ，１９Ｂ，１９Ｃと、これらを相互に接続するインターネットによる通信ネットワーク１００から構成されている。通信ネットワーク１００の接続点にＶＰＮ機能を有するファイアウォールを設置するという点で、図１の第１の実施の形態と異なっているが、この部分を除くと第１の実施の形態と実質的な動作の面においては、何ら変わりはない。
【００３２】
上記ＶＰＮ機能を有するファイアウォール１９，１９Ａ，１９Ｂ，１９Ｃは、通信ネットワークとしてインターネットを使用しながら通信を行う際に自動的にユーザ認証を行い、通信情報を暗号化してやり取りを行うことによって、専用線に匹敵する機密性を確保することができる。第１の実施の形態においては、インターネットを経由するデータが暗号化されていないので、通信情報の漏洩及び改竄が懸念されるが、本実施の形態は、これを防止して機密性を確保することができ、より現実的な実施の形態である。
【００３３】
【発明の効果】
本発明によれば、他社開発分のロードモジュールであってもソフトウェア納入先（発注元）のロードモジュールが更新されると、自動的に最新のロードモジュールが配信されるので、各ソフトウェア開発装置は、常に最新のロードモジュールを用いて機能確認を行う環境を得ることができる。
また、他社開発分のロードモジュールの更新情報をWWW サーバ（ホームページ）等により容易に閲覧することができる。
【００３４】
また、古いバージョンのソースファイルに修正を行ってしまうというようなミスを防ぐことができる。
さらに、インターネットを前提にしたネットワークを使用していることにより、ソースファイル（テキスト情報）に対しては悪意の第三者により改竄される可能性があるが、ソフトウェア開発側（修正元）と納入先との双方で取った差分情報の突き合わせを行っているため、改竄を防止することができる。
【図面の簡単な説明】
【図１】  本発明によるソフトウェア開発システムにおけるロードモジュール納入の仕組みの第１の実施の形態を示すブロック図である。
【図２】  本発明によるソフトウェア開発システムにおけるソースファイル納入とバージョン管理の仕組みの実施の形態を示すブロック図である。
【図３】  ロードモジュール納入の仕組みの動作を示すフローチャートである。
【図４】  ソースファイル納入とバージョン管理の仕組みの動作を示すフローチャートである。
【図５】  ロードモジュールの更新情報を示す構成図である。
【図６】  本発明によるソフトウェア開発システムにおけるロードモジュール納入の仕組みの第２の実施の形態を示すブロック図である。
【符号の説明】
１０  ソフトウェア納入先
１１  ロードモジュールＡ
１２  自動配信プログラム
１３  ロードモジュール更新情報
１４  ロードモジュールＡ（Ａ）
１５  ロードモジュールＢ（Ａ）
１６  ロードモジュールＣ（Ａ）
１７  WWW サーバ
１８  管理サーバ
１９，１９Ａ，１９Ｂ，１９Ｃ  ＶＰＮ機能を持つファイアウォール
２０  ソフトウェア開発会社Ａ
３０  ソフトウェア開発会社Ｂ
４０  ソフトウェア開発会社Ｃ
２１  ソースファイルＡ
２２  ソースファイルＡ’
２３  差分情報（Ａ’−Ａ）
２４  バージョン管理プログラム
２５  ソースファイルＡ
２６  ソースファイルＡ’
２７  差分情報（Ａ−Ａ’）
１００  ネットワーク
【図１】
0003702294.tif 000002
【図２】
0003702294.tif 000003
【図３】
0003702294.tif 000004
【図４】
0003702294.tif 000005
【図５】
0003702294.tif 000006
【図６】
0003702294.tif 000007