(57)【要約】【課題】ネットワーク上でのソフトウェアの開発管理をなすソフトウェア開発管理システムについて、その潜在的な各種履歴情報を活用できるようにする。【解決手段】ソフトウェア開発管理システム１は、それぞれネットワーク上に配置された管理サーバ３、開発用端末装置４、及び実行マシン５を含み、開発用端末装置を通じてソフトウェアの開発をなすとともに、開発されたソフトウェアを管理サーバにより管理しつつ実行マシンに配布するようにされており、さらに管理サーバが管理するソフトウェア個々について、それらへのアクセスに関する情報である対ソフトウェアアクセス履歴情報、及びソフトウェアの配布に関する情報であるソフトウェア配布履歴情報を生成するとともに、それらの情報からソフトウェアの開発を支援するための情報であるソフトウェア開発支援情報を生成して管理するソフトウェア開発支援情報管理手段６を備えている。【選択図】  図１
2010072830.tif 000002
【特許請求の範囲】
【請求項１】
それぞれネットワーク上に配置された管理サーバ、開発用端末装置、及び実行マシンを含み、そして前記開発用端末装置を通じてソフトウェアの開発をなすとともに、開発されたソフトウェアを前記管理サーバにより管理しつつ前記実行マシンに配布するようにされているソフトウェア管理システムにおいて、
前記管理サーバが管理する前記ソフトウェア個々について、前記ソフトウェアへのアクセスに関する情報である対ソフトウェアアクセス履歴情報、及び前記ソフトウェアの配布に関する情報であるソフトウェア配布履歴情報を生成して管理する履歴情報管理手段を備えていることを特徴とするソフトウェア開発管理システム。
【請求項２】
認証手段を含み、前記認証手段による認証がなされることを条件に前記管理サーバへのアクセスを許容するようにされているとともに、前記認証手段による認証に際してアクセス識別情報を生成するようにされており、そして前記履歴情報管理手段は、前記対ソフトウェアアクセス履歴情報を前記アクセス識別情報に関連付けて管理するようにされていることを特徴とする請求項１に記載のソフトウェア開発管理システム。
【請求項３】
ソフトウェアの開発を支援するための情報であるソフトウェア開発支援情報を前記対ソフトウェアアクセス履歴情報及び前記ソフトウェア配布履歴情報に基づいて生成して管理するソフトウェア開発支援情報管理手段を備えていることを特徴とする請求項１又は請求項２に記載のソフトウェア開発管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアの開発とその開発したソフトウェアの管理に係り、特にネットワーク上に配置された管理サーバによる管理の下でソフトウェアの開発や配布がなされるようになっているソフトウェア開発管理システムに関する。
【背景技術】
【０００２】
ソフトウェア（プログラムやドキュメントなど）の開発と管理の形態の１つとして、ネットワーク上に配置した管理サーバによる管理の下でソフトウェアの開発（ソフトウェアの作成や変更）や配布をなす方式がある。すなわちネットワーク上に管理サーバと開発用端末装置、及び実行マシンを配置し、ネットワーク上の開発用端末装置を通じてソフトウェア開発者（開発管理者及び開発担当者）によるソフトウェアの開発をなさせるとともに、開発されたソフトウェアをネットワーク上の管理サーバにより管理しつつネットワーク上の実行マシンに配布する方式である。以下ではこれを仮にネットワーク上ソフトウェア開発管理方式と呼ぶ。
【０００３】
ネットワーク上ソフトウェア開発管理方式は、ソフトウェア開発業者がソフトウェア使用者からの委託の下でソフトウェア使用者が必要とする様々なシステム（種々の設備や装置などの管理システムや制御システムなど）のためのソフトウェア、つまりシステム用ソフトウェアを開発してソフトウェア使用者に提供する形態において主に用いられる。
【０００４】
ところで、システム用ソフトウェアの開発は、既存ソフトウェア（ドキュメント、プログラム、ミドルウェアなど）を流用（再利用）しながらなされる場合が少なくない。特に、ソフトウェアの委託開発では、ソフトウェア開発対象のシステムが共通あるいは類似する機能を有する場合が少なくなく、既存ソフトウェアを流用する割合が高くなるのが一般的である。このためシステム用ソフトウェアの開発、特に委託開発におけるシステム用ソフトウェア開発では、既存ソフトウェアの流用を効率的になせるようにする開発環境を整えることが重要となる。例えば高い頻度で流用される既存ソフトウェアは、機能面や品質（信頼性）で実績があると推定され、流用適性が高いことを期待できるが、そうした流用適性の高い既存ソフトウェアをソフトウェア開発における既存ソフトウェア流用にあたって容易に選択できるような開発環境が重要となる。
【０００５】
また近年では市販パッケージやフレームワークをシステム用ソフトウェアの開発に有効活用することが主流となっている。このためシステム用ソフトウェアの開発では、それらを活用するためのスキルを持った人材の確保が重要となり、さらに動作実績のあるミドルウェアやハードウェアなどを適切に選択できるようにすることも重要となっている。
【０００６】
以上のことから、委託開発におけるシステム用ソフトウェア開発などのようなシステム用ソフトウェアの開発においては、例えば個々の開発対象ソフトウェアへの流用に最適な既存ソフトウェアを容易に特定することのできる開発環境、あるいは個々の開発対象ソフトウェアに応じた既存ソフトウェアの流用や既存ソフトウェアの流用で開発されたソフトウェアが動作するミドルウェアやハードウェアの構築について高いスキルなどを持つ人材の配置について適切な情報を容易に取得できるような開発環境などを必要とするといえる。そしてシステム用ソフトウェアの開発効率（生産性）は、そうした開発環境の整備程度に支配されることになるといえる。
【０００７】
またシステム用ソフトウェアの開発は、開発全体についての管理を担当する開発管理者と個々のソフトウェアの開発を担当する複数の開発担当者からなるプロジェクトチームにより実行されるのが一般的である。このようなプロジェクトチームにおける開発管理者は、開発全体についての管理として、開発対象のソフトウェアごとにそのソフトウェアへの既存ソフトウェアの流用に最適な人材を選択し、また開発対象のソフトウェアに最適なミドルウェアやハードウェアを選択する必要がある。そのために開発管理者は、既存ソフトウェアをより効果的に流用する上で必要な担当者のスキル、既存ソフトウェアの信頼性、開発対象ソフトウェアに最適なミドルウェアやハードウェアとその構造などを十分に把握する必要がある。
【０００８】
一方、開発担当者は、担当するソフトウェアの開発にあたって流用適性の高い既存ソフトウェアを特定して選択し、また流用する既存ソフトウェアに改変を必要とする場合に、そのための処理手続きやデータ構造を把握する必要がある。そのために開発担当者は、既存ソフトウェアの流用適性、既存ソフトウェアの流用に関して留意すべき要件の有無、利用可能な開発ツールの有無、その利用方法・手順、既存ソフトウェアを改変する際の影響範囲の特定など様々な開発ノウハウが求められる。
【０００９】
こうしたシステム用ソフトウェアの開発で必要となるノウハウ（管理ノウハウや開発ノウハウあるいはソフトウェア開発についてのスキルなど）は、過去のソフトウェア開発における開発情報（既存ソフトウェアの流用に関する情報である流用情報、個々のソフトウェアの開発時に閲覧・参照されたソフトウェアに関する情報である閲覧・参照情報、個々のソフトウェアの開発担当者に関する情報である開発担当者情報など）などを通じ開発管理者や開発担当者個々において経験的に取得・蓄積されるものである。つまり開発管理者や開発担当者個々の開発業務経験に応じて取得・蓄積されるものである。
【００１０】
しかるに、開発管理者による管理作業や開発担当者による開発作業は時間・空間的に分散して行われ、そのため個々のソフトウェア開発を通じて得られる開発情報は断片的となり、また開発管理者や開発担当者の交代によりノウハウが消失することも少なくない。そのため従来にあっては、過去のソフトウェア開発における開発情報やノウハウをプロジェクトチームにおける開発管理者や各開発担当者の間で共有することに難があり、そのため過去のソフトウェア開発から得られる開発情報やノウハウの活用という点で不十分なものがあった。つまり上述のような開発環境の整備という点で不十分なものがあった。
【００１１】
また、近年はシステム用ソフトウェアの開発対象となるシステムの大規模化や機能の複雑化が進み、それに伴って開発対象のシステム用ソフトウェアの規模が大きくなり、またその開発作業の分散化も進んでいる。そしてこのことは、開発情報やノウハウの共有に難のある従来のソフトウェア開発管理方式にあって開発情報やノウハウの活用についての開発環境をさらに低下させる結果を招いている。
【００１２】
こうしたことから、既存ソフトウェアの流用を伴うシステム用ソフトウェア開発の効率性を高める上で有用な情報である開発支援情報（これは既存ソフトウェアの流用を伴うシステム用ソフトウェア開発に関するノウハウ的な情報でもある）を開発管理者や開発担当者個々の開発業務経験に依存せずに蓄積して開発管理者や開発担当者に提供できるような開発支援環境の整備が求められることになる。
【００１３】
このような開発支援環境要求に応える技術としては、特許文献１に開示される例が知られている。特許文献１の技術は、流用に適する既存ソフトウェアの特定に関し、開発対象ソフトウェアと既存ソフトウェアそれぞれにおける機能要件の対応関係から、流用に適する既存ソフトウェアを提示できるようにしている。この技術によれば、開発対象ソフトウェアの機能要件を入力することで、流用に適した既存ソフトウェアを特定することができる。しかし、流用に適した既存ソフトウェアの特定だけでは、既存ソフトウェアの流用を伴うソフトウェア開発の支援として十分とはいえない。
【００１４】
また開発支援環境要求に応える技術として特許文献２に開示される例も知られている。特許文献２の技術は、既存ソフトウェアに関する開発ノウハウの取得に関し、システム開発の要求仕様に応じて既存ソフトウェアに関する開発ノウハウを的確に取り出すことを可能としている。しかしこの技術では、既存ソフトウェアに関する開発ノウハウの蓄積を人手に頼っている。すなわち既存ソフトウェアに関する開発ノウハウを蓄積するについて、既存ソフトウェアを改変した場合のその改変事由、既存ソフトウェアを流用した際に使用したツールやその使用手順といった開発情報などの開発ノウハウをキーワードで特定できるようにして開発管理者や開発担当者が個々に入力する必要がある。このため開発管理者や開発担当者が開発ノウハウの登録を怠る可能性があり、そのようなことがあった場合、適切な開発ノウハウが提供されない可能性がある。また開発管理者や開発担当者が誤った開発ノウハウを登録する可能性もあり、そのようなことがあった場合、適切な開発ノウハウが提供されないだけでなく、誤った開発ノウハウによりソフトウェア開発に支障を来たす可能性もある。
【００１５】
以上のような特許文献１や特許文献２の他にも、例えば特許文献３や特許文献４にも開発支援環境要求に応える技術に関する例が開示されている。
【００１６】
【特許文献１】特開平４−３４７７２７号公報
【特許文献２】特開平９−２１２３５３号公報
【特許文献３】特開２０００−１２９６７２号公報
【特許文献４】特開２００３−１２２５７０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
上述のように、システム用ソフトウェア開発に関しては、既存ソフトウェアの流用を伴うソフトウェア開発の効率性を高める上で有用な情報である開発支援情報を開発管理者や開発担当者個々の開発業務経験に依存せずに蓄積して開発管理者や開発担当者に提供できるような開発支援環境の整備が求められており、このような要求は、近年におけるシステム用ソフトウェアの開発対象となるシステムの大規模化や機能の複雑化により、さらに一層切実なものとなってきている。しかるに、従来の技術は、上述の特許文献１や特許文献２に開示の例のように、開発支援環境要求にある程度応えるものの、その程度は未だ不十分である。
【００１８】
ところで、上述のネットワーク上ソフトウェア開発管理方式で用いられるソフトウェア開発管理システム、つまりそれぞれネットワーク上に配置された管理サーバ、開発用端末装置、及び実行マシンを含み、開発用端末装置を通じてソフトウェアの開発をなすとともに、開発されたソフトウェアを管理サーバにより管理しつつ実行マシンに配布するように構成されるソフトウェア管理システムは、各種履歴情報について潜在性を有している。すなわちネットワーク上ソフトウェア開発管理方式用のソフトウェア開発管理システムは、管理サーバにより全てのソフトウェアを一括管理していることから、そこで扱われるソフトウェアに関して生じる全ての事象が何らかの痕跡を管理サーバに残し得るという特性を有しており、この特性を活用することにより、各種履歴情報を自動的に取得して蓄積することについての可能性を有している。
【００１９】
その履歴情報としては、例えば管理サーバが管理するソフトウェア個々への開発管理者や開発担当者などによるアクセスに関する情報である対ソフトウェアアクセス履歴情報、管理サーバが管理するソフトウェアの実行マシンに対する配布に関する情報であるソフトウェア配布履歴情報が主なものとしてある。
【００２０】
このような各種履歴情報は、様々な目的における有用情報として利用可能であり、特に開発支援情報としての利用に高い有効性がある。すなわちネットワーク上ソフトウェア開発管理方式用のソフトウェア開発管理システムにおける潜在的な各種履歴情報を顕在化させて開発支援情報に利用することで、有効性の高い開発支援情報が得られ、これを適切に開発管理者や開発担当者に提供できるようにすることで、上述のような要求に十分に応えることのできる開発支援環境を確立することが可能となる。
【００２１】
本発明は、以上のような知見に基づいてなされたものであり、ネットワーク上ソフトウェア開発管理方式用のソフトウェア開発管理システムについて、その潜在的な各種履歴情報を活用できるようにすることを第１の課題とし、またその各種履歴情報の活用により、既存ソフトウェアの流用を伴うシステム用ソフトウェア開発の効率性を高める上で有用な情報である開発支援情報を開発管理者や開発担当者個々の開発業務経験に依存せずに蓄積して提供できるような開発支援環境の確立を第２の課題としている。
【課題を解決するための手段】
【００２２】
本発明では上記第１の課題を解決するために、それぞれネットワーク上に配置された管理サーバ、開発用端末装置、及び実行マシンを含み、そして前記開発用端末装置を通じてソフトウェアの開発をなすとともに、開発されたソフトウェアを前記管理サーバにより管理しつつ前記実行マシンに配布するようにされているソフトウェア管理システムにおいて、前記管理サーバが管理する前記ソフトウェア個々について、前記ソフトウェアへのアクセスに関する情報である対ソフトウェアアクセス履歴情報、及び前記ソフトウェアの配布に関する情報であるソフトウェア配布履歴情報を生成して管理する履歴情報管理手段を備えていることを特徴としている。
【００２３】
このようにすることにより、ソフトウェア開発管理システムにおける潜在的な履歴情報を対ソフトウェアアクセス履歴情報及びソフトウェア配布履歴情報として顕在化させることができ、これら履歴情報を様々な目的における有用情報として利用することができる。
【００２４】
上記のようなソフトウェア開発管理システムは、ネットワーク上でのソフトウェア開発管理におけるセキュリティ性を高めるために、開発管理者や開発担当者などによる管理サーバへのアクセスについて認証を条件にする場合がある。このような場合には、個々のアクセスについてそのアクセスを行った開発管理者や開発担当者などを個々に識別するアクセス識別情報を認証に基づいて得ることが可能で、それを対ソフトウェアアクセス履歴情報に関連付けて管理することにより、対ソフトウェアアクセス履歴情報の有用性をより高めることができる。
【００２５】
こうしたことから、本発明では、上記のソフトウェア開発管理システムについて、認証手段を含み、前記認証手段による認証がなされることを条件に前記管理サーバへのアクセスを許容するようにされているとともに、前記認証手段による認証に際してアクセス識別情報を生成するようにされており、そして前記履歴情報管理手段は、前記対ソフトウェアアクセス履歴情報を前記アクセス識別情報に関連付けて管理するようにされていることを好ましい形態としている。
【００２６】
上記のようなソフトウェア開発管理システムで得られる対ソフトウェアアクセス履歴情報及びソフトウェア配布履歴情報を有用情報として利用する形態の代表的な１つは、開発支援情報としての利用である。そして対ソフトウェアアクセス履歴情報及びソフトウェア配布履歴情報を活用することにより、既存ソフトウェアの流用を伴うシステム用ソフトウェア開発の効率性を高める上で有用な情報である開発支援情報を開発管理者や開発担当者個々の開発業務経験に依存せずに蓄積して提供できるような開発支援環境を十全なものとして確立することができ、上記第２の課題を解決することができる。
【００２７】
こうしたことから、本発明では、上記のソフトウェア開発管理システムについて、ソフトウェアの開発を支援するための情報であるソフトウェア開発支援情報を前記対ソフトウェアアクセス履歴情報及び前記ソフトウェア配布履歴情報に基づいて生成して管理するソフトウェア開発支援情報管理手段を備えていることを好ましい形態としている。
【発明の効果】
【００２８】
以上のような本発明によれば、ネットワーク上ソフトウェア開発管理方式用のソフトウェア開発管理システムについて、その潜在的な各種履歴情報を活用できるようになり、またその各種履歴情報の活用により、既存ソフトウェアの流用を伴うシステム用ソフトウェア開発の効率性を高める上で有用な情報である開発支援情報を開発管理者や開発担当者個々の開発業務経験に依存せずに蓄積して提供できるような開発支援環境を確立することができる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明を実施するための形態について説明する。図１に、一実施形態によるソフトウェア開発管理システムの構成を模式化して示す。図１におけるソフトウェア開発管理システム１は、ネットワーク上ソフトウェア開発管理方式のためのシステムで、通信ネットワーク２を備えており、この通信ネットワーク２を通じて構築されるネットワーク上に１台又は複数台の管理サーバ（資産管理サーバ）３、ｎ台の開発用端末装置４、ｍ台の実行マシン５を配置して構成される。そして開発用端末装置４を通じて図外のソフトウェア開発者（開発管理者及び開発担当者）によりソフトウェアの開発がなされるとともに、開発による成果物（開発されたソフトウェアやシステム）が管理サーバ３により管理されつつ実行マシン５に配布されて使用される。また管理サーバ３に実装されるソフトウェア開発支援情報管理手段（ソフトウェア開発支援情報管理システム）６により、ソフトウェア開発支援情報を生成して管理し、それをソフトウェア開発者に提供する。
【００３０】
ここで、「ソフトウェア開発」ないし「ソフトウェアの開発」とは、狭義のソフトウェア開発、つまりソフトウェアの作成や変更あるいは更新を意味するだけでなく、狭義のソフトウェア開発に関連するシステムの開発（種々の設備や装置などの管理システムや制御システムなどとしてシステムの開発であり、その構築や更新を含む）を意味する場合もあるものとする。
【００３１】
図２に、ソフトウェア開発支援情報管理手段６の構成を示す。ソフトウェア開発支援情報管理手段６は、基本的には履歴情報管理手段であり、そこで生成・管理する履歴情報とアクセス識別情報をソフトウェア開発支援情報として活用するソフトウェア開発支援情報管理機能に特化したシステムとして形成されている。すなわちソフトウェア開発支援情報管理手段６は、ソフトウェア開発支援情報の生成・管理を行い、それに伴う履歴情報の生成・管理を行う。
【００３２】
履歴情報の生成・管理では、管理サーバ３が成果物として管理するソフトウェアの個々について、それらへのユーザ（ソフトウェア開発者ないし開発用端末装置４や実行マシン５など）による閲覧、登録、取出しなどのためのアクセスに関する情報である対ソフトウェアアクセス履歴情報、及び成果物であるソフトウェアの実行マシン５への配布に関する情報であるソフトウェア配布履歴情報を生成して管理し、さらに後述のようなユーザの認証に際し、個々のアクセスについてそのアクセスを行った開発管理者や開発担当者などを個々に識別するアクセス識別情報を生成し、そのアクセス識別情報を対ソフトウェアアクセス履歴情報やソフトウェア配布履歴情報と関連付けて管理する。ここで、アクセス識別情報の対ソフトウェアアクセス履歴情報やソフトウェア配布履歴情報の関連付けとは、例えば個々のアクセスに個々のユーザをアクセス識別情報で対応付けたり、ソフトウェア個々にその配布先実行マシンを個々に対応付けたりすることである。
【００３３】
一方、ソフトウェア開発支援情報の生成・管理では、ソフトウェアの開発を支援するための情報として後述のようなソフトウェア開発支援情報を対ソフトウェアアクセス履歴情報やソフトウェア配布履歴情報に基づいて生成して管理する。
【００３４】
このような機能ためにソフトウェア開発支援情報管理手段６は、ユーザＩ／Ｆ部１１、認証管理部１２、資産管理部１３、及び開発支援情報管理部１４を備えている。
【００３５】
ユーザＩ／Ｆ部１１は、開発用端末装置４を通じたソフトウェア開発者による管理サーバ３へのアクセスについてのインターフェース機能や管理サーバ３で管理するソフトウェアの実行マシン５への配布についてのインターフェース機能を負う。このユーザＩ／Ｆ部１１は、ユーザの要求により資産管理部１３や開発支援情報管理部１４を呼び出し、ユーザの権限に応じた機能をユーザに提供する。具体的には開発用端末装置４に対しては、表示機能（開発作業画面の表示機能など）や成果物の閲覧、登録、取出しなどについての機能を提供し、一方実行マシン５に対しては、表示機能やソフトウェアの配布機能を提供する。またユーザＩ／Ｆ部１１は、実行マシン５のネットワーク構成やミドルウェア情報を取得する機能も有している。
【００３６】
認証管理部１２は、認証手段であり、ユーザ認証部１５とユーザ認証データベース１６を含み、ユーザの管理サーバ３へのアクセス（管理サーバ３における資産管理部１３や開発支援情報管理部１４へのアクセス）に関する認証を行う。具体的には、管理サーバ３へのアクセスのためにユーザが入力する認証データ（ユーザ名やユーザ名ＩＤなど）をユーザ認証部１５がユーザＩ／Ｆ部１１からを受け取り、それがユーザ認証データベース１６に格納のデータと一致するかを判定し、一致するとなった場合に認証成立として当該ユーザのアクセスを許容する。
【００３７】
資産管理部１３は、ソフトウェア開発管理システム１上での開発による成果物（ソフトウェアやシステム）を資産として管理する。そのために資産管理部１３は、資産登録部１７と資産データベース１８を含む。資産登録部１７は、開発用端末装置４で開発された成果物をユーザＩ／Ｆ部１１から受け取って資産データベース１８に登録する成果物登録、資産データベース１８から必要な成果物を取り出し、ユーザＩ／Ｆ部１１を介して該当の実行マシン５に配布する成果物配布、及び資産データベース１８に格納されている成果物の構成を管理する成果物構成管理を行う。成果物登録や成果物配布は、ユーザ認証部１５による認証の成立を条件とする。したがって成果物登録や成果物配布に関する処理は、ユーザ認証部１５による認証処理過程、及び認証成立時になされる資産登録部１７による成果物登録処理過程又は成果物配布処理過程を含むことになる。
【００３８】
開発支援情報管理部１４は、ソフトウェア開発支援情報管理手段６における上述のような機能、つまりソフトウェア開発支援情報の生成・管理機能とそれに伴う履歴情報の生成・管理機能の主体となる機能部位である。そのために開発支援情報管理部１４は、開発支援情報生成部１９、開発支援情報提供部２０及び開発支援情報データベース２１を含む。
【００３９】
開発支援情報生成部１９は、対ソフトウェアアクセス履歴情報、ソフトウェア配布履歴情報及びアクセス識別情報を生成するとともに、それらの履歴情報やアクセス識別情報からソフトウェア開発支援情報を生成して開発支援情報データベース２１に登録する。
【００４０】
開発支援情報提供部２０は、開発対象のソフトウェアに有用なソフトウェア開発支援情報を開発支援情報データベース２１から取り出してソフトウェア開発者に提供する。
【００４１】
図３に、ユーザ認証データベース１６、資産データベース１８及び開発支援情報データベース２１のそれぞれにおけるデータの格納構造の例を示す。図３の（ａ）はユーザ認証データベース１６に格納されるユーザ認証テーブル３１であり、図３の（ｂ）は資産データベース１８に格納されるシステム一覧テーブル３２、ファンクション一覧テーブル３３、モジュール一覧テーブル３４、アセット一覧テーブル３５、装置一覧テーブル３６、装置構成一覧テーブル３７、装置構成要素一覧テーブル３８であり、図３の（ｃ）は開発支援情報データベース２１に格納される作業一覧テーブル３９、機能要件一覧テーブル４０である。
【００４２】
ユーザ認証テーブル３１は、ユーザ認証に必要なデータを記録する。具体的には、ユーザＩＤ、ユーザ名、ユーザ認証情報及びユーザ権限が記録される。
【００４３】
システム一覧テーブル３２は、既に開発がなされているシステム（種々の設備や装置などの管理システムや制御システムなど）やこれから開発がなされるシステムがそれらに付されるシステムＩＤとシステム名の一覧として記録される。
【００４４】
ファンクション一覧テーブル３３は、システム一覧テーブル３２に記録される既開発や未開発のシステムで動作する機能（ファンクション：サブシステムに相当する）が一覧的に記録される。具体的には、機能ごとに付されるファンクションＩＤ、ファンクション名、当該機能が動作するシステムを特定するシステムＩＤ、当該機能が動作するシステムが適用される装置（実行マシン）を特定する装置ＩＤ、及び当該機能についての機能要件を特定する機能要件ＩＤが記録される。
【００４５】
モジュール一覧テーブル３４は、ファンクション一覧テーブル３３に記録される機能を構成するモジュール（プログラムにおけるモジュール）が一覧的に記録される。具体的には、モジュールごとに付されるモジュールＩＤ、モジュール名、当該モジュールが動作する機能を特定するファンクションＩＤ、及び当該モジュールを後述のアセットとして特定するアセットＩＤが記録される。
【００４６】
アセット一覧テーブル３５は、資産管理部１３で管理対象とするソフトウェアについてのアセットが一覧的に記録される。具体的には、アセットごとに付されるアセットＩＤ、アセット名、及び当該アセットの格納先を特定するアセット格納アドレスが記録される。ここで、アセットとは、資産管理部１３によるソフトウェアの資産としての管理におけるソフトウェアの資産化単位である。本実施形態ではモジュールや各種定義ファイルを資産化単位としている。
【００４７】
装置一覧テーブル３６は、システム一覧テーブル３２に記録されるシステムが動作する装置が一覧的に記録される。具体的には、装置ごとに付される装置ＩＤ、装置名、及び当該装置についての装置構成ＩＤが記録される。ここで、装置構成ＩＤとは、装置の構成をパターンなどにより識別するＩＤである。
【００４８】
装置構成一覧テーブル３７は、装置一覧テーブル３６に記録される装置を構成するハードウェアやソフトウェア要素が一覧的に記録される。具体的には、装置構成ＩＤと装置構成名が記録される。
【００４９】
装置構成要素一覧テーブル３８は、装置構成一覧テーブル３７に記録される装置構成における装置構成要素が一覧的に記録される。具体的には、装置構成要素ごとに付される装置構成要素ＩＤ、構成要素名、及び当該構成要素が対応する装置構成を特定する装置構成ＩＤが記録される。
【００５０】
作業一覧テーブル３９は、システム用ソフトウェアの開発に伴う各種作業に関する各種データが一覧的に記録される。具体的には、ソフトウェアについての作成、変更、閲覧、削除、配布などの各種作業を識別するための作業ＩＤ、作業ＩＤに対応する作業種別（作業種別名）、当該作業についての作業開始日時、当該作業についての作業修了日時、及び当該作業による成果物に付されるアセットＩＤ、当該作業の担当者を特定するユーザＩＤが記録される。
【００５１】
図４に、作業一覧テーブル３９におけるデータ記録の例を示す。この例の場合、ユーザＩＤ７４８ＥＦ４５のユーザがアセットＩＤ２１６４４の既存ソフトウェアを閲覧したこと、それ続いてアセットＩＤ７７５１６のソフトウェアを登録したこと、それらの作業時間が０８／０５／１１／１１２４〜０８／０５／１１／１３１４と０８／０５／１１／１３４５〜０８／０５／１１／１３４６であることが記録されている。このような記録から、アセットＩＤ７７５１６の新規ソフトウェアを適用するシステムとアセットＩＤ２１６４４の既存ソフトウェアが適用されているシステムの間に、同一の機能や同一の装置がある場合として、ユーザＩＤ７４８ＥＦ４５のユーザがアセットＩＤ７７５１６の新規ソフトウェアを開発するためにアセットＩＤ２１６４４の既存ソフトウェアを参照したことが推測できる。このため作業一覧テーブル３９のデータは、対ソフトウェアアクセス履歴情報生成用として有力なデータとなる。なお、システム間に同一の機能や同一の装置があるかを判断するについては、ユーザはシステム一覧テーブル３２、ファンクション一覧テーブル３３、モジュール一覧テーブル３４、アセット一覧テーブル３５、装置構成一覧テーブル３７、装置構成要素一覧テーブル３８なども参照することになる。
【００５２】
機能要件一覧テーブル４０は、システム一覧テーブル３２に記録されるシステムに必要な機能について要件が一覧的に記録される。具体的には、機能要件ごとに付される機能要件ＩＤと機能要件名が記録される。
【００５３】
以上はソフトウェア開発支援情報管理手段６がシステム用ソフトウェアの開発やシステムの開発に関連して管理する基礎的な各種データである。ソフトウェア開発支援情報管理手段６は、これらの基礎的データなどを用いて履歴情報（アクセス識別情報と関連付けられた対ソフトウェアアクセス履歴情報及びソフトウェア配布履歴情報）を生成して管理し、さらにその履歴情報からソフトウェア開発支援情報を生成して管理する。
【００５４】
ソフトウェア開発支援情報管理手段６が生成・管理するソフトウェア開発支援情報としては、例えば既存ソフトウェア流用情報、既存ソフトウェア信頼性情報、開発担当者選定情報、装置構成選定情報、流用候補既存ソフトウェア特定情報、変更影響範囲ソフトウェア特定情報などが主なものとしてある。そして既存ソフトウェアの流用を伴うソフトウェア開発にとっては、既存ソフトウェア流用情報と流用候補既存ソフトウェア特定情報が特に有用である。
【００５５】
既存ソフトウェア流用情報は、資産管理部１３が管理している既存ソフトウェアの流用に関する情報であり、例えば既存ソフトウェアの個々について、それが過去のソフトウェア開発で流用された回数や頻度などを求めることで生成される。流用回数や頻度の導出は、対ソフトウェアアクセス履歴情報を解析することで容易に行え、またモジュールＩＤやアセットＩＤなどに関するデータを用いることでも可能である。
【００５６】
既存ソフトウェア信頼性情報は、資産管理部１３が管理している既存ソフトウェアの信頼性に関する情報であり、既存ソフトウェアを流用する場合にその流用の適否判断に有用性が高い。このような既存ソフトウェア信頼性情報は、個々の既存ソフトウェアについてそれを流用しようとする場合に期待できる信頼性についての信頼性期待情報、及び個々の既存ソフトウェアについてそれを流用した場合の将来的な信頼性を予測する将来的信頼性予測情報に分けることができる。これら信頼性期待情報や将来的信頼性予測情報は、既存ソフトウェア流用情報や既存ソフトウェア変更情報（これは対ソフトウェアアクセス履歴情報から生成することができる）を利用して生成することができる。つまり流用が多い既存ソフトウェアや変更の少ない既存ソフトウェアは高い信頼性を期待できることから、流用の回数や変更の回数を指標にするなどして、信頼性期待情報や将来的信頼性予測情報を生成することができる。
【００５７】
開発担当者選定情報は、開発しようとしているソフトウェア（開発対象ソフトウェア）の開発に最適な開発担当者を開発管理者が選定するのに用いられる開発支援情報である。このような開発担当者選定情報は、例えば当該開発対象ソフトウェアに関する開発担当者のスキル、特に既存ソフトウェアの流用による当該開発対象ソフトウェアの開発についての開発担当者のスキルを判定できるような情報として生成されもので、既存ソフトウェア流用情報やそれに関連付けることのできるアクセス識別情報を用いて生成することができ、選定対象となっている開発担当者が過去に開発したソフトウェアに関する既存ソフトウェア信頼性情報から当該開発担当者のスキルを推測できるような情報も含ませることで、より有効性の高い情報とすることができる。
【００５８】
装置構成選定情報は、開発対象ソフトウェアに適する装置構成を選定するのに用いられる開発支援情報である。このような装置構成選定情報は、例えば既存ソフトウェアの配布先装置での動作実績に基づいて当該開発対象ソフトウェアの動作に適するに装置構成を特定できるような情報として生成されるもので、ソフトウェア配布履歴情報に基づいて生成することができる。
【００５９】
流用候補既存ソフトウェア特定情報は、開発対象ソフトウェアの開発における既存ソフトウェアの流用に際して当該開発対象ソフトウェアへの流用適性の高い既存ソフトウェアを特定するのに用いられる開発支援情報である。このような流用候補既存ソフトウェア特定情報は、例えば既存ソフトウェア流用情報における流用回数や頻度情報に流用元システムや流用先システムの情報などを組み合わせた情報として生成される。なお、流用候補既存ソフトウェア特定情報には、流用候補として特定された既存ソフトウェアの流用に関して留意すべき要件の有無、利用可能な開発ツールの有無、その利用方法や手順などに関する情報を付帯させることができ、そのようにすることで、流用候補既存ソフトウェア特定情報の有用性をより高めることができる。
【００６０】
変更影響範囲ソフトウェア特定情報は、資産管理部１３が管理している既存ソフトウェアについて、ある既存ソフトウェアを変更（変更や更新）した場合にその変更の影響を受ける既存ソフトウェアを特定するのに用いられる開発支援情報である。このような変更影響範囲ソフトウェア特定情報は、対ソフトウェアアクセス履歴情報を基本的な情報として用いることが生成することができる。なお、変更影響範囲ソフトウェア特定情報には、ソフトウェア配布先の装置におけるハードウェアの変更による影響を受ける既存ソフトウェアを特定する情報を含ませることもでき、そのようにすることで、変更影響範囲ソフトウェア特定情報の有用性をより高めることができる。
【００６１】
本実施形態におけるソフトウェア開発管理システム１では、システム用ソフトウェアの開発やそれに伴うシステムの開発に際してソフトウェア開発者に以上のようなソフトウェア開発支援情報を提供することができる。このため既存ソフトウェアの流用を伴うシステム用ソフトウェア開発を、ソフトウェア開発者個々の業務経験に依存せずとも、効率的になすことができる。
【００６２】
図５に示すのは、システム開発を伴うシステム用ソフトウェア開発における処理の基本的な流れの代表的な例である。この例の開発作業では、まずステップＳ１でユーザ認証を行う。ユーザ認証がなされると、ステップＳ２で開発対象システムの登録を行い、次いでステップＳ３で開発対象システムを構成する装置の登録を行う。続くステップＳ４では開発支援情報の提示が行われる。開発支援情報提示は、例えばステップＳ２とステップＳ３で登録された開発対象システムやその装置構成に基づいて当該開発対象システムや装置構成に有用な開発支援情報をソフトウェア開発支援情報管理手段６が自動的に選択・構成して提供する、というようにしてなされる。
【００６３】
こうして提示される開発支援情報は流用候補既存ソフトウェア特定情報を含むのが通常である。これを受けてステップＳ５で流用候補既存ソフトウェアが実現する機能について選択を行い、さらにステップＳ６で流用候補既存ソフトウェアから最終的に流用する既存ソフトウェアを選択する。
【００６４】
図６と図７に示すのは、上記のような開発作業に際して開発用端末装置４に表示される作業画面の例である。図７の作業画面は、システムと装置構成の登録用であり、装置登録部４１と装置構成要素登録部４２を含む。ユーザは、まずシステムを構成する装置を装置登録部４１で選択し、それから装置の構成要素を装置構成要素登録部４２で登録する。この処理により生成されたデータは、資産データベース１８に格納される。
【００６５】
図８の作業画面は、流用既存ソフトウェア選択用であり、流用機能選択部４３、流用元システム選択部４４、動作装置選択部４５、モジュール情報表示部４６、モジュール来歴表示部４７、及び流用前後比較表示部４８を含む。ユーザは、まずシステムを構成する機能とモジュールを流用機能選択部４３で選択する。次いで、流用機能選択部４３で選択したモジュールごとに、どの既存資産を流用するかの選択を流用元システム選択部４４で行い、さらに流用元システム選択部４４で選択した機能ごとに、どの装置で動作するかを動作装置選択部４５で選択する。
【００６６】
これらの作業は開発支援情報の提示による支援の下で進められる。開発支援情報の提示としては、流用するモジュールのヴァージョン、作成日時、最終更新日時などがモジュール情報表示部４６で表示され、また流用するモジュールがどの開発者のどのような作業に関係するかについての表示がモジュール来歴表示部４７でなされ、さらに流用するモジュールが動作した実行マシンの構成要素や流用後のモジュールが動作する実行マシンの構成要素の比較一覧が流用前後比較表示部４８で表示される。これらの開発支援情報は、例えば流用元システム選択部４４での流用元システムの選択に際して利用され、流用に適した既存資産の選択や当該開発対象ソフトウェアの開発に適したスキルを持つ開発担当者の選定が容易となるように支援する。
【００６７】
以上、本発明を実施するための形態について説明したが、これは代表的な例に過ぎず、本発明はその趣旨を逸脱することのない範囲で様々な形態で実施することができる。
【図面の簡単な説明】
【００６８】
【図１】一実施形態によるソフトウェア開発管理システムの構成を模式化して示す図である。
【図２】ソフトウェア開発支援情報管理手段の構成を示す図である。
【図３】各種データベースにおけるデータの格納構造の例を示す図である。
【図４】作業一覧テーブルにおけるデータ記録例を示す図である。
【図５】ソフトウェア開発における処理の流れを示す図である。
【図６】作業画面の例を示す図である。
【図７】作業画面の他の例を示す図である。
【符号の説明】
【００６９】
１    ソフトウェア管理システム
３    管理サーバ
４    開発用端末装置
５    実行マシン
６    ソフトウェア開発支援情報管理手段（履歴情報管理手段）
１２    認証管理部（認証手段）
【図１】
2010072830.tif 000003
【図２】
2010072830.tif 000004
【図３】
2010072830.tif 000005
【図４】
2010072830.tif 000006
【図５】
2010072830.tif 000007
【図６】
2010072830.tif 000008
【図７】
2010072830.tif 000009