(57)【要約】【課題】リポジトリに登録されたソフトウェア部品群のディレクトリ構造に拘束されずに、当該リポジトリと作業環境の間でソフトウェア部品を転送可能なソフトウェア部品管理システムを提供すること。【解決手段】複数のソフトウェア部品が所定のディレクトリ構造で格納されるリポジトリを用いたソフトウェア部品管理システムは、複数のソフトウェア部品の少なくとも１つを作成又は編集するための作業環境及びリポジトリのそれぞれにおける各ソフトウェア部品のディレクトリ構造上の位置関係を示すソフトウェア部品表を作成する部品表作成部と、部品表作成部が作成したソフトウェア部品表及びソフトウェア部品をリポジトリに格納するチェックイン部と、リポジトリに格納されたソフトウェア部品表を参照して、所定のソフトウェア部品を作業環境に取り出し、作業環境でのディレクトリ構造上の該当箇所に当該取り出したソフトウェア部品を保存するチェックアウト部とを備える。【選択図】図３
2012194890.tif 000002
【特許請求の範囲】
【請求項１】
複数のソフトウェア部品が所定のディレクトリ構造で格納されるリポジトリを用いたソフトウェア部品管理システムであって、
前記複数のソフトウェア部品の少なくとも１つを作成又は編集するための作業環境及び前記リポジトリのそれぞれにおける各ソフトウェア部品のディレクトリ構造上の位置関係を示すソフトウェア部品表を作成する部品表作成部と、
前記部品表作成部が作成した前記ソフトウェア部品表及びソフトウェア部品を前記リポジトリに格納するチェックイン部と、
前記リポジトリに格納された前記ソフトウェア部品表を参照して、所定のソフトウェア部品を前記作業環境に取り出し、前記作業環境でのディレクトリ構造上の該当箇所に当該取り出したソフトウェア部品を保存するチェックアウト部と、
を備えたことを特徴とするソフトウェア部品管理システム。
【請求項２】
請求項１に記載のソフトウェア部品管理システムであって、
前記複数のソフトウェア部品は、アプリケーションソフトウェア又はシステムソフトウェアを構成することを特徴とするソフトウェア部品管理システム。
【請求項３】
請求項１又は２に記載のソフトウェア部品管理システムであって、
前記リポジトリには、前記複数のソフトウェア部品の各ソースコードが格納されることを特徴とするソフトウェア部品管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のソフトウェア部品が所定のディレクトリ構造で格納されるリポジトリを用いたソフトウェア部品管理システムに関する。
【背景技術】
【０００２】
特許文献１には、アプリケーションソフトウェアプログラムを構成するフレームワーク部品を修正したとき、アプリケーションソフトウェアプログラムが正常に動作するかを検知する方法が開示されている。また、特許文献２には、ソフトウェア部品を管理する際に、各ソフトウェア部品に関する情報をリポジトリ（repository）に登録して管理する方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１１０２０１号公報
【特許文献２】特開２００７−１２８４５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
図１０は、従来の条件でリポジトリに登録されたディレクトリ構造と作業環境でのディレクトリ構造の一例を示す図である。図１０に示すように、従来のソフトウェア部品管理システムにおいては、ソフトウェア開発の目的で構成されたフォルダツリーの形態を維持したまま、リポジトリに格納する必要があった。従来のソフトウェア部品管理システムにおいては、ソフトウェア共通部品を管理するための様々な機能が考慮されていたが、フォルダツリー体系に関しては、実際のソフトウェア開発作業環境における形態を維持しなければならなかった。このことにより、ソフトウェア部品の管理構造を管理目的の体系で構築することが困難であり、また、フォルダツリー階層が商品ごとに数多くなることで、視覚的にも把握しづらいという問題があった。
【０００５】
図８は、１つの商品開発における、従来の条件でリポジトリに登録されたディレクトリ構造と作業環境でディレクトリ構造の一例を示す図である。アプリケーションソフトウェア又はシステムソフトウェアを構成する複数のソフトウェア部品の一部を修正する等といった作業をソフトウェア管理者が行うとき、リポジトリに登録されたディレクトリ構造のままソフトウェア部品を取り出して作業しなければならなかった。このため、ソフトウェア部品の修正等といった作業に適したディレクトリ構造でソフトウェア部品をリポジトリに登録する必要があった。また、リポジトリに登録済みのソフトウェア部品のディレクトリ構造を作業の途中で変更することが困難であるため、ソフトウェア部品の数が多いほど作業が煩雑になる。
【０００６】
さらに、図９は、既存の商品Ａから新モデルの商品Ｂ，Ｃを派生して開発する場合に従来の条件でリポジトリに登録されたディレクトリ構造の一例を示す図である。図９に示すように、一度、先行モデル（ベースモデル）となる商品Ａが完成した後に、同系統・別モデルのソフトウェアを開発する場合は、商品Ａのソフトウェア部品のディレクトリ構造を引き継がなければならず、その構造を容易に変更できなかった。
【０００７】
また、視覚上の問題として、ディスプレイにリポジトリの全体のディレクトリ構造を表示しようとしても、全てをディスプレイに表示しきれない場合がある。図９に示した例では、商品Ａ〜Ｃの全てのディレクトリ構造をディスプレイに表示しきれない場合がある。このとき、異なる商品間に使われている同種のソフトウェア部品を並べて比較したい場合に、何度も画面を上下にスクロールさせる等の作業が必要となるため、作業効率の妨げとなっていた。
【０００８】
本発明の目的は、リポジトリに登録された複数のソフトウェア部品のディレクトリ構造に拘束されずに、当該リポジトリと作業環境の間でソフトウェア部品を転送可能なソフトウェア部品管理システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
図１１は、本願発明を利用したソフトウェア部品管理システムの一例を示す図である。リポジトリ内のフォルダツリー形態をソフトウェア作業環境のフォルダツリー体系とは異なる形態で構築することが可能である。リポジトリ内のフォルダツリー形態をソフトウェア作業環境のフォルダツリー形態を意識することなく構築できることによって、リポジトリ内のフォルダツリー形態をソフトウェア部品の管理を容易に、かつ視覚的にも捉えやすい形態で構築することが可能となる。
【００１０】
このように、本発明は、複数のソフトウェア部品が所定のディレクトリ構造で格納されるリポジトリを用いたソフトウェア部品管理システムであって、前記複数のソフトウェア部品の少なくとも１つを作成又は編集するための作業環境及び前記リポジトリのそれぞれにおける各ソフトウェア部品のディレクトリ構造上の位置関係を示すソフトウェア部品表を作成する部品表作成部と、前記部品表作成部が作成した前記ソフトウェア部品表及びソフトウェア部品を前記リポジトリに格納するチェックイン部と、前記リポジトリに格納された前記ソフトウェア部品表を参照して、所定のソフトウェア部品を前記作業環境に取り出し、前記作業環境でのディレクトリ構造上の該当箇所に当該取り出したソフトウェア部品を保存するチェックアウト部と、を備えたソフトウェア部品管理システムを提供する。
【００１１】
上記ソフトウェア部品管理システムでは、前記複数のソフトウェア部品は、アプリケーションソフトウェア又はシステムソフトウェアを構成する。
【００１２】
上記ソフトウェア部品管理システムでは、前記リポジトリには、前記複数のソフトウェア部品の各ソースコードが格納される。
【発明の効果】
【００１３】
本発明に係るソフトウェア部品管理システムによれば、リポジトリに登録された複数のソフトウェア部品のディレクトリ構造に拘束されずに、当該リポジトリと作業環境の間でソフトウェア部品を転送できる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態おけるリポジトリと作業環境から構成されたソフトウェア部品管理システムを示す説明図
【図２】作業環境１００でのソフトウェア部品群のディレクトリ構造の一例を示す図
【図３】作業環境１００でのディレクトリ構造上の各ソフトウェア部品の箇所とリポジトリ２００内でのディレクトリ構造上の各ソフトウェア箇所の格納箇所との関係の一例を示す図
【図４】ソフトウェア部品表の一例を示す図
【図５】作業環境１００でのディレクトリ構造上の各ソフトウェア部品の箇所とリポジトリ２００内でのディレクトリ構造上の各ソフトウェア箇所の格納箇所との関係の他の例を示す図
【図６】新規のソフトウェア部品（dvd*.*）に係る位置関係を追加したソフトウェア部品表の一例を示す図
【図７】リポジトリ２００に格納するソフトウェア部品群のディレクトリ構造をリポジトリ２００に格納する際の説明図
【図８】従来の条件でリポジトリに登録されたディレクトリ構造と作業環境でのディレクトリ構造の一例を示す図
【図９】商品Ａから新モデルの商品Ｂ，Ｃを派生して開発する場合に従来の条件でリポジトリに登録されたディレクトリ構造の一例を示す図
【図１０】従来のソフトウェア管理システムにおけるリポジトリと商品開発作業環境の一例を示す図
【図１１】本願発明を利用したソフトウェア部品管理システムの一例を示す図
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態について、図面を参照して説明する。
【００１６】
図１は、本発明の一実施形態おけるリポジトリと作業環境から構成されたソフトウェア部品管理システムを示す説明図である。図１に示す作業環境１００は、アプリケーションソフトウェア又はシステムソフトウェアを構成する複数のソフトウェア部品（以下「ソフトウェア部品群」という）の少なくとも一部を編集する等といった作業を行うための環境である。
【００１７】
図１に示すように、作業環境１００では、部品表作成部１０１と、チェックイン部１０３と、チェックアウト部１０５とが機能し得る。部品表作成部１０１は、リポジトリ２００と作業環境１００における各ソフトウェア部品のディレクトリ構造上の位置関係を示すソフトウェア部品表を作成する。また、チェックイン部１０３は、ソフトウェア部品のソースコード及び部品表作成部１０１が作成したソフトウェア部品表をリポジトリ２００に格納する。また、チェックアウト部１０５は、リポジトリ２００に格納されているソフトウェア部品表を参照して、リポジトリ２００からソフトウェア部品のソースコードを取り出す。
【００１８】
リポジトリ２００には、ソフトウェア部品表２０１と各ソフトウェア部品のソースコード２０３とが格納される。ソフトウェア部品表２０１は、作業環境１００で生成されたソフトウェア部品群のリポジトリ２００内でのディレクトリ構造と作業環境１００上でのディレクトリ構造の関係を示す。ソフトウェア部品表２０１は、作業環境１００上で部品表作成部１０１によって作成される。
【００１９】
以下、部品表作成部１０１の動作について説明する。まず、部品表作成部１０１が動作する前に、ソフトウェア部品の作成又は編集等を行う作業者は、作業環境１００でのソフトウェア部品群のディレクトリ構造を決定する。図２は、作業環境１００でのソフトウェア部品群のディレクトリ構造の一例を示す図である。なお、作業環境１００でのソフトウェア部品群のディレクトリ構造は、作業環境１００でソフトウェア部品を作成又は編集する際のルールに基づいて決定される必要がある。作業者は、実際の作業が可能なことを確認して、ルールを鑑みてディレクトリ構造を決定しなければならない。
【００２０】
部品表作成部１０１は、ソフトウェア部品毎に、作業環境１００でのディレクトリ構造上の箇所と作業者が決定したリポジトリ２００内でのディレクトリ構造上の格納箇所との関係を定義付けする。図３は、作業環境１００でのディレクトリ構造上の各ソフトウェア部品の箇所とリポジトリ２００内でのディレクトリ構造上の各ソフトウェア箇所の格納箇所との関係の一例を示す図である。次に、部品表作成部１０１は、ソフトウェア部品毎に位置関係を対応付けたソフトウェア部品表のファイルを作成する。図４は、ソフトウェア部品表の一例を示す図である。チェックイン部１０３は、部品表作成部１０１が作成したソフトウェア部品表のファイルをリポジトリ２００に格納する。リポジトリ２００に格納されたソフトウェア部品表のファイルは、全ての作業者で共有される。
【００２１】
また、作業環境１００での作業によって新規のソフトウェア部品が作成された場合、作業者は、リポジトリ２００におけるソフトウェア部品群のディレクトリ構造を更新する。このとき、部品表作成部１０１は、新規のソフトウェア部品の、作業環境１００でのディレクトリ構造上の箇所と更新されたリポジトリ２００内でのディレクトリ構造上の格納箇所との関係を定義付けする。図５は、作業環境１００でのディレクトリ構造上の各ソフトウェア部品の箇所とリポジトリ２００内でのディレクトリ構造上の各ソフトウェア箇所の格納箇所との関係の他の例を示す図である。次に、部品表作成部１０１は、従前のソフトウェア部品表に新規のソフトウェア部品に係る位置関係を追加したソフトウェア部品表のファイルを作成する。図６は、新規のソフトウェア部品（dvd*.*）に係る位置関係を追加したソフトウェア部品表の一例を示す図である。チェックイン部１０３は、部品表作成部１０１が作成したソフトウェア部品表のファイルをリポジトリ２００に格納する。なお、リポジトリ２００に既にソフトウェア部品表が格納されている場合、チェックイン部１０３は、既存のソフトウェア部品表のファイルに前記作成したソフトウェア部品表のファイルを上書きする。
【００２２】
リポジトリ２００には、ソフトウェア部品表のファイルだけでなく、チェックイン部１０３によってソフトウェア部品のソースコードも格納される。リポジトリ２００に格納されているソースコードは、チェックアウト部１０５によって、ソフトウェア部品表が参照された上で作業環境１００へ取り出される。なお、リポジトリ２００には複数の作業者がアクセス可能であり、各作業者は、チェックアウト部１０５を利用してソフトウェア部品のソースコードを取り出して、各自の作業環境に保存する。チェックアウト部１０５及びチェックアウト部１０５は、部品表作成部１０１と同様に、作業環境１００で機能する。
【００２３】
チェックイン部１０３の動作は、作業環境１００で生成されたソフトウェア部品群のソースコードを初めてリポジトリ２００に格納する場合（リポジトリ２００に初期環境を登録する場合）と、リポジトリ２００の利用開始以降にソフトウェア部品群のソースコードをリポジトリ２００に格納する（リポジトリ２００に環境を登録した後の場合）とで異なる。
【００２４】
以下、リポジトリ２００に初期環境を登録する場合のチェックイン部１０３の動作について説明する。図７に示すように、リポジトリ２００に格納するソフトウェア部品群のディレクトリ構造を作業者が決定すると、チェックイン部１０３は、当該決定されたディレクトリ構造でソフトウェア部品群のソースコードをリポジトリ２００に格納する。なお、作業者は、リポジトリ２００上のソフトウェア部品群のディレクトリ構造を自由に設計できる。但し、リポジトリ２００に格納されたソフトウェア部品群のディレクトリ構造を変更できない場合、当該ディレクトリ構造は、アルファベット順や５０音順、ソフトウェア部品の作成時期又は担当者毎といった恒久的に形を変える必要のない管理体系である必要がある。したがって、この場合は、ソフトウェア部品群をリポジトリ２００に格納する前にそのディレクトリ構造が十分に精査される。図５に示した例では、ソフトウェア部品群がアルファベット毎に分けられたディレクトリ構造であるが、ソフトウェア部品の作成時期又は担当者毎に分けられたディレクトリ構造であっても良い。
【００２５】
次に、リポジトリ２００に環境を登録した後のチェックイン部１０３の動作について説明する。ソフトウェア部品毎に作業環境１００でのディレクトリ構造上の箇所とリポジトリ２００内でのディレクトリ構造上の格納箇所との関係が特定のソフトウェア部品表で定義付けられている状態では、チェックイン部１０３は、作業環境１００で編集されたソフトウェア部品のソースコードをリポジトリ２００に差し戻す。このとき、チェックイン部１０３は、ソフトウェア部品表を参照して、編集されたソフトウェア部品のソースコードをリポジトリ２００のディレクトリ構造上の元の格納箇所に格納する。
【００２６】
また、作業環境１００での作業によって新規のソフトウェア部品が作成された場合、作業者は、リポジトリ２００におけるソフトウェア部品群のディレクトリ構造を更新する。チェックイン部１０３は、リポジトリ２００内での当該更新されたディレクトリ構造上の該当箇所に新規のソフトウェア部品のソースコードを格納する。なお、リポジトリ２００におけるソフトウェア部品群のディレクトリ構造の更新は、新規のソフトウェア部品の作成時に限らず、新規のフォルダを追加して既存のソフトウェア部品間の関係を変更する際に行われても良い。
【００２７】
次に、チェックアウト部１０５の動作について説明する。リポジトリ２００から当該作業者の作業環境にソフトウェア部品表が読み出されると、チェックアウト部１０５は、当該ソフトウェア部品表を参照して、作業者から指定されたソフトウェア部品のソースコードをリポジトリ２００からその作業環境に取り出す。なお、リポジトリ２００から取り出されたソフトウェア部品は、作業環境でのディレクトリ構造上の該当箇所に保存される。
【００２８】
以上説明したように、本実施形態によれば、ソフトウェア部品群が所定のディレクトリ構造で格納されたリポジトリ２００から所望のソフトウェア部品のソースコードが作業環境へ取り出される際には、ソフトウェア部品表が参照される。このため、取り出されたソフトウェア部品のソースコードは、作業環境に設定されたディレクトリ構造上の該当箇所に保存される。また、作業環境で編集されたソフトウェア部品のソースコードは、リポジトリ２００のディレクトリ構造上の元の格納箇所に格納される。また、作業環境のディレクトリ構造を変更しても、リポジトリ２００のディレクトリ構造を変更することなく、ソフトウェア部品表のファイルを更新すれば、当該変更に対応できる。さらに、リポジトリ２００におけるソフトウェア部品群のディレクトリ構造が変更されるとソフトウェア部品表における位置関係の定義付けが再び行われるため、リポジトリ２００におけるソフトウェア部品群のディレクトリ構造を、その初期環境の登録後に変更できる。
【００２９】
このように、ディレクトリ構造の部分を切り離してソフトウェア部品の内容とは別に管理し、作業環境ではディレクトリ構造を後からでも変更できるため、リポジトリに格納されたソフトウェア部品群のディレクトリ構造に拘束されずに、当該リポジトリと作業環境の間でソフトウェア部品を転送できる。したがって、従来ではソフトウェア部品群の構築の初期段階で必要だったディレクトリ構造の設計タイミングは固定されない。その結果、ソフトウェア部品群の構築の初期工程における作業効率が向上する。
【００３０】
また、リポジトリ２００に格納されたソフトウェア部品表のファイルを複数の作業者が共有できるため、異なる作業者が同一の作業環境でソフトウェア部品の編集等を行うことができる。なお、本実施形態の部品管理システムによれば、ソフトウェア部品の再利用を目的として、ソフトウェア部品表により取り出すソフトウェア部品のバージョン情報を含めて管理することで、ソフトウェアの共通部品管理においても同様の効果が得られる。
【産業上の利用可能性】
【００３１】
本発明に係るソフトウェア部品管理システムは、リポジトリに登録された複数のソフトウェア部品のディレクトリ構造に拘束されないソフトウェア部品管理システム等として有用である。
【符号の説明】
【００３２】
１００  作業環境
１０１  部品表作成部
１０３  チェックイン部
１０５  チェックアウト部
２００  リポジトリ
２０１  ソフトウェア部品表
２０３  ソースコード
【図１】
2012194890.tif 000003
【図２】
2012194890.tif 000004
【図３】
2012194890.tif 000005
【図４】
2012194890.tif 000006
【図５】
2012194890.tif 000007
【図６】
2012194890.tif 000008
【図７】
2012194890.tif 000009
【図８】
2012194890.tif 000010
【図９】
2012194890.tif 000011
【図１０】
2012194890.tif 000012
【図１１】
2012194890.tif 000013