(57)【要約】【課題】ソフトウェア資産のカスタマイズによる影響範囲を特定するための参考情報を生成するソフトウェア分析装置を提供することである。【解決手段】実施形態のソフトウェア分析装置は、複数のコンポーネントを備えるソフトウェア資産の利用改修実績情報を記憶する記憶部と、機能利用改修実績情報に基づいて、所定のソフトウェア資産における利用改修実績ごとの他のソフトウェア資産の利用改修実績を集計する集計部と、機能集計部の集計結果に基づいて、機能ソフトウェア資産と機能他のソフトウェア資産間の関連性を算出する関連性算出部と、機能関連性算出部の算出結果から機能ソフトウェア資産と機能他のソフトウェア資産間の関連性の有無を判断する関連性判断部と、関連性判断部の判断結果をユーザに表示する判断結果表示部と、を備える。【選択図】図１
2014071462.tif 000002
【特許請求の範囲】
【請求項１】
複数のコンポーネントを備えるソフトウェア資産の利用改修実績情報を記憶する記憶部と、
前記利用改修実績情報に基づいて、所定のソフトウェア資産における利用改修実績ごとの他のソフトウェア資産の利用改修実績を集計する集計部と、
前記集計部の集計結果に基づいて、前記ソフトウェア資産と前記他のソフトウェア資産間の関連性を算出する関連性算出部と、
前記関連性算出部の算出結果から前記ソフトウェア資産と前記他のソフトウェア資産間の関連性の有無を判断する関連性判断部と、
前記関連性判断部の判断結果をユーザに表示する判断結果表示部と、
を備えるソフトウェア分析装置。
【請求項２】
前記判断結果表示部は、前記ソフトウェア資産と前記他のソフトウェア資産間の関連性を俯瞰できるビューである請求項１に記載のソフトウェア分析装置。
【請求項３】
複数のコンポーネントを備えるソフトウェア資産の利用改修実績情報を記憶する記憶部と、前記利用改修実績情報に基づいて、所定のソフトウェア資産における利用改修実績ごとの他のソフトウェア資産の利用改修実績を集計する集計部と、前記集計部の集計結果に基づいて、前記ソフトウェア資産と前記他のソフトウェア資産間の関連性を算出する関連性算出部と、前記関連性算出部の算出結果から前記ソフトウェア資産と前記他のソフトウェア資産間の関連性の有無を判断する関連性判断部と前記関連性判断部の判断結果をユーザに表示する判断結果表示部と、を備えるソフトウェア分析装置におけるソフトウェア分析方法であって、
前記利用改修実績情報に基づいて、所定のソフトウェア資産における利用改修実績ごとの他のソフトウェア資産の利用改修実績を集計するステップと、
前記集計結果に基づいて、前記ソフトウェア資産と前記他のソフトウェア資産間の関連性を算出するステップと、
前記算出結果から前記ソフトウェア資産と前記他のソフトウェア資産間の関連性の有無を判断するステップと、
前記関連性判断部の判断結果をユーザに表示するステップと、
を備えるソフトウェア分析方法。
【請求項４】
複数のコンポーネントを備えるソフトウェア資産の利用改修実績情報を記憶する記憶部と、前記利用改修実績情報に基づいて、所定のソフトウェア資産における利用改修実績ごとの他のソフトウェア資産の利用改修実績を集計する集計部と、前記集計部の集計結果に基づいて、前記ソフトウェア資産と前記他のソフトウェア資産間の関連性を算出する関連性算出部と、前記関連性算出部の算出結果から前記ソフトウェア資産と前記他のソフトウェア資産間の関連性の有無を判断する関連性判断部と前記関連性判断部の判断結果をユーザに表示する判断結果表示部と、を備えるソフトウェア分析装置におけるソフトウェア分析プログラムであって、
コンピュータに、
前記利用改修実績情報に基づいて、所定のソフトウェア資産における利用改修実績ごとの他のソフトウェア資産の利用改修実績を集計する機能と、
前記集計結果に基づいて、前記ソフトウェア資産と前記他のソフトウェア資産間の関連性を算出する機能と、
前記算出結果から前記ソフトウェア資産と前記他のソフトウェア資産間の関連性の有無を判断する機能と、
前記関連性判断部の判断結果をユーザに表示する機能と、
を実現させるソフトウェア分析プログラム。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ソフトウェア分析装置、方法、およびプログラムに関する
【背景技術】
【０００２】
ソフトウェアパッケージ製品では、顧客の要望に併せてカスタマイズを行う。カスタマイズを行う際に、カスタマイズ対象のソフトウェア資産だけではなく、カスタマイズの影響を受けるソフトウェア資産も改修しなくてはならない。改修箇所を局所化できない場合もあるため、カスタマイズの影響を受けるコンポーネントを全て特定することは困難である。
【０００３】
こうした背景から、カスタマイズの影響を受けるソフトウェアの資産の改修モレがおき、カスタマイズに起因した不具合が発生することがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１１３４４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、ソフトウェア資産のカスタマイズによる影響範囲を特定するための参考情報を生成するソフトウェア分析装置を提供することである。
【課題を解決するための手段】
【０００６】
実施形態のソフトウェア分析装置は、複数のコンポーネントを備えるソフトウェア資産の利用改修実績情報を記憶する記憶部と、機能利用改修実績情報に基づいて、所定のソフトウェア資産における利用改修実績ごとの他のソフトウェア資産の利用改修実績を集計する集計部と、機能集計部の集計結果に基づいて、機能ソフトウェア資産と機能他のソフトウェア資産間の関連性を算出する関連性算出部と、機能関連性算出部の算出結果から機能ソフトウェア資産と機能他のソフトウェア資産間の関連性の有無を判断する関連性判断部と、関連性判断部の判断結果をユーザに表示する判断結果表示部と、を備える。     
【図面の簡単な説明】
【０００７】
【図１】実施形態のソフトウェア分析装置に係る全体構成の一例を示す図。
【図２】実施形態のソフトウェア分析装置に係る動作の一例を示すフローチャート
【図３】実施形態のソフトウェア分析装置に係る利用改修実績情報を格納する利用改修情報テーブル２１の一例を示す図。
【図４】実施形態のソフトウェア分析装置に係るデータ集計処理の一例を示すフローチャート。
【図５】実施形態のソフトウェア分析装置に係る集計結果情報の一例を示す図。
【図６】実施形態のソフトウェア分析装置に係る集計結果情報の一例を示す図。
【図７】実施形態のソフトウェア分析装置に係る関連性算出判定処理の一例を示すフローチャート。
【図８】実施形態のソフトウェア分析装置に係る関連性算出判定処理の判定結果の一例を示す図。
【図９】実施形態のソフトウェア分析装置に係る関連性算出判定処理の判定結果の一例を示す図。
【図１０】実施形態のソフトウェア分析装置に係る判定結果表示部において表示される結果の一例を示す図。
【発明を実施するための形態】
【０００８】
以下、図面を参照して実施形態のソフトウェア分析装置について説明する。
【０００９】
図１は、本実施形態のソフトウェア分析装置１０の全体構成の一例を示す図である。  
図１に示すように、ソフトウェア分析装置１０は、実績情報格納部２０、集計部３０、関連性算出部４０、関連性判断部５０、及び判定結果表示部６０を備える。
【００１０】
実績情報格納部２０は、ソフトウェア資産ごとの利用実績と改修実績とを含む利用改修実績情報を記憶する。実施形態の利用改修実績情報は、複数のソフトウェア資産（コンポーネントなど）で構成しており、一部のソフトウェア資産をカスタマイズして顧客に納めるソフトウェアパッケージ製品に含まれるソフトウェア資産ごとの利用実績と改修実績である。本実施形態の利用改修実績情報は、「改修して利用する」、「改修せずに利用する」、「利用しない」、の３つとする。
【００１１】
集計部３０は、任意の２つのソフトウェア資産を選定し、選定したソフトウェア資産間の利用改修実績情報を集計する。
【００１２】
関連性算出部４０は、集積部３０による集計結果から、利用改修実績情報に関する特徴の度合いを数値化する。
【００１３】
関連性判断部５０は、関連性算出部４０の算出結果から、あらかじめ設定された閾値に従って、ソフトウェア資産間の利用改修実績情報に関する関係の有無を判定する。
【００１４】
判定結果表示部６０は、ソフトウェア資産間の利用改修実績情報に関する関係の有無をユーザに通知する。
【００１５】
図２を参照して、本実施形態のソフトウェア分析装置１０の動作について具体的に説明する。
【００１６】
図２は、本実施形態のソフトウェア分析装置１０における動作の一例を示すフローチャートである。
【００１７】
まず、ソフトウェア分析装置１０の集計部３０が実績情報格納部２０に記憶された利用改修実績情報２１と集計するデータ集計処理を行う（ステップＳ１０）。
【００１８】
ここで、図３に利用改修実績情報を格納する利用改修情報テーブル２１の一例を示す。利用改修実績情報テーブル２１は、処理対象のソフトウェアの納入先ごとに、このソフトウェアの各コンポーネントにおける利用改修実績を格納する。
【００１９】
具体的には、利用改修実績情報テーブル２１には、７つのコンポーネント２１１及びコンポーネント２１７ごとに、納入先２２２であるＡ〜Ｅまでの利用改修実績が格納されている。◎（二重丸）は、コンポーネントの改修を行ったことを示している。○（丸）は、コンポーネントをそのまま利用したことを示している。×（バツ）はコンポーネントを利用しなかったことを示している
図４を参照して、図３に示す利用改修実績情報テーブル２１に基づいて実行されるデータ集計処理について説明する。図４は本実施形態の集計部３０によるデータ集計処理の一例を示すフローチャートである。
【００２０】
まず、集計部３０は、利用改修実績情報テーブル２１のすべてのコンポーネント２２２についてデータ集計処理を行ったか判定する（ステップＳ１１）。
【００２１】
利用改修実績情報テーブル２１に未処理のコンポーネント２２２がある場合、集計部３０は、未処理のコンポーネントから１つのコンポーネント（以下、第１のコンポーネントという）を選択する（ステップＳ１２）。
【００２２】
続いて、集計部３０は、第１のコンポーネント以外のすべてのコンポーネント（以下、第２のコンポーネントという）について、第１のコンポーネントとのデータ集計処理を行ったかどうかを判定する（ステップＳ１３）。
【００２３】
第１のコンポーネント以外のすべてのコンポーネントについて第１のコンポーネントとのデータ集計処理が行われていない場合（ステップＳ１３がＮｏ）、集計部３０は、第１のコンポーネント以外のコンポーネントを選択する（ステップＳ１４）。選択されたコンポーネントを第２のコンポーネントという。
【００２４】
集計部３０は、利用改修実績情報テーブル２１から、選択した２つのコンポーネントの利用改修実績情報を取得する（ステップＳ１５）。
【００２５】
集計部３０は、取得した利用改修実績情報に基づいて、第１のコンポーネントの利用改修実績ごとの、第２のコンポーネントの利用改修実績を集計する（ステップＳ１６）。
【００２６】
図５及び図６にステップＳ１６で集計部３０が集計した集計結果情報３１-の一例を示す。図５は、第１のコンポーネントがコンポーネント２２１であり、第２のコンポーネントがコンポーネント２２２である場合の集計結果情報３１−１である。
【００２７】
図５に示すように、利用改修実績情報テーブル２１において、例えばコンポーネント２２１を改修して利用した場合、コンポーネント２２２を改修して利用したのは０回、コンポーネント２２２を改修せずに利用したのは２回、コンポーネント２２２を利用しなかったのは１回である。
【００２８】
図６は、第１のコンポーネントがコンポーネント２２３であり、第２のコンポーネントがコンポーネント２２７である場合の集計結果情報３１−２である。
【００２９】
すなわち、ステップＳ１６で集計部３０は、利用改修実績情報テーブル２１から以下の情報を集計し、集計結果情報３１を作成する。
【００３０】
・ あるソフトウェア資産を改修して利用した場合
O 別のソフトウェア資産を改修して利用した回数
O 改修せずに利用した回数
O 利用しなかった回数
なお、あるソフトウェア資産を改修せずに利用した場合、利用しなかった場合も同様である。
【００３１】
第１のコンポーネント以外のすべてのコンポーネントについて第１のコンポーネントとのデータ集計処理が行われている場合（ステップＳ１３がＹｅｓ）、集計部３０は、第１のコンポーネントを選択するためにステップＳ１１へ進む。
【００３２】
利用改修実績情報テーブル２１のすべてのコンポーネント２２２を処理した場合（ステップＳ１１がＹｅｓ）、集計部３０はデータ集計処理を終了する。
【００３３】
図２の説明に戻る。データ集計処理による集計結果について、関連性算出部４０と関連性判断部５０によって関連性算出判定処理が行われる（ステップＳ２０）。
【００３４】
図７を参照して、本実施形態における関連性算出判定処理の一例について説明する。
【００３５】
まず、関連性算出部４０が、集計結果情報３１に基づいて各コンポーネント２２１〜２２７間の変動係数を算出する（ステップＳ２１）。なお、変動係数は、分散と標準偏差に基づいて算出される。図５及び図６に変動係数３２の一例を示す。
【００３６】
算出された変動係数３２が１以上である場合（ステップＳ２２がＹｅｓ）、関連性判断部５０は、このコンポーネント間について「相関あり」と判定する（ステップＳ２３）。
【００３７】
算出された変動係数３２が１未満である場合（ステップＳ２２がＮｏ）、関連性判断部５０は、このコンポーネント間について「相関なし」と判定する（ステップＳ２４）。
【００３８】
集計情報３１−１における関連性算出判定処理について具体的に説明する。
【００３９】
まず、コンポーネント２２１を改修して利用した場合は、変動係数３１は１，００である。したがって、関連性判断部５０は、コンポーネント２２１について、当該コンポーネント２２１を改修して利用した場合は、コンポ−ネント２２２との相関は「なし」と判定する。また、コンポーネント２２１を改修せずに利用した場合は、変動係数３１は１．７３ある。したがって、関連性判断部５０は、コンポーネント２２１について、当該コンポーネント２２１を改修せずに利用した場合は、コンポ−ネント２２２との相関は「あり」と判定する。また、コンポーネント２２１を利用しなかった場合は、変動係数３１は算出不能である
図８及び図９に、集計情報３１−１と集計情報３１−２における関連性算出判定処理の判定結果の一例を示す。
【００４０】
すべてのコンポ−ネント間について関連性算出部４０及び関連性判断部５０が関連算出判定処理を行うと、この処理は終了する。
【００４１】
判定結果表示部６０は、関連性算出判定処理の結果を表示する（ステップＳ３０）。図１０に、判定結果表示部６０において表示される結果の一例を示す。
【００４２】
図１０は、本実施形態のコンポーネント２２１〜２２７間において、関係を集計した結果である。図１０ではコンポーネント２２１〜２２７の利用改修実績に関する規則性の有無をすべてのコンポーネントについて俯瞰できるようにマトリクスを使って表示している。
【００４３】
例えば、図１０の中でコンポーネント２２１の”◎”の行に着目すると、「コンポーネント２２１を改修した場合について。コンポーネント２２５とコンポーネント２２６は”○”になっていることから、コンポーネント２２５とコンポーネント２２６は改修なしで利用する。ほかのコンポーネントは“−”になっていることから、特に利用方法は定まっていない」ということを示している。
【００４４】
そのほか、図１０から、以下のことを読み取ることができる。
【００４５】
コンポーネント２２２とコンポーネント２２３について、コンポーネント２２２の”○”の行のうち、コンポーネント２２３は“×”になっている。コンポーネント２２２を利用した場合、コンポーネント２２３は利用しないことがわかる。
【００４６】
また、コンポーネント２２３の”○”の行のうち、コンポーネント２２２は“×”になっている。コンポーネント２２３を利用した場合、コンポーネント２２２は利用しないことがわかる。すなわち、コンポーネント２２２とコンポーネント２２３は、排他の関係にある。
【００４７】
コンポーネント２２５とコンポーネント２２６について、コンポーネント２２５の”◎”の行のうち、コンポーネント２２６は“◎”になっている。コンポーネント２２５を改修して利用した場合、コンポーネント２２６も改修して利用することがわかる。コンポーネント２２５の”○”の行のうち、コンポーネント２２６は“○”になっている。コンポーネント２２５を改修せずに利用した場合、コンポーネント２２６も改修せずに利用することがわかる。すなわち、コンポーネント２２５とコンポーネント２２６は、セットで扱うことが望ましい組み合わせであり、リファクタリング時に一緒に利用する仕組み（例：Abstract Factoryパターン）を適用する候補になる。
【００４８】
コンポーネント２２１とコンポーネント２２４について、コンポーネント２２４の”◎”の行のうち、コンポーネント２２１は“◎”になっていることから、２２４コンポーネントを改修した場合、２２１コンポーネントも改修することがわかる。
【００４９】
また、コンポーネント２２１の”◎”の行のうち、コンポーネント２２４は“−”になっていることから、２２１コンポーネントを改修したとしても、２２４コンポーネントの利用方法が決まらないことがわかる。すなわち、コンポーネント２２４を改修した場合は、コンポーネント２２１は改修が必要だが、コンポーネント２２１を改修しても、コンポーネント２２４を改修するとは限らないという改修の影響を及ぼす方向をよみとることができる。
【００５０】
このような情報を集めることで、本実施形態のソフトウェア分析装置１０によると、ソフトウェアパッケージ製品をリファクタリングする際に注意するべきことをよみとることができる。
【００５１】
すなわち、本実施形態のソフトウェア分析装置１０は、あるコンポーネントを改修する場合に、カスタマイズの影響を受ける別のコンポーネントを呼出し関係がなくても、共通のキーワードを使っていなくても特定可能である。これらのコンポーネントは、リファクタリング時に一緒に利用する仕組み（例：Abstract Factoryパターン）を適用する候補になる。また、ソフトウェア分析装置１０は、排他の関係を抽出することができる。また、ソフトウェア分析装置１０は、改修による影響を及ぼす方向に関する参考情報を取得できる。
【００５２】
なお、本発明の実施形態を説明したが、この実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００５３】
例えば、上述の実施形態では、コンポーネントに対して適用した例であったが、ドキュメントを初めとする他のソフトウェア資産にも適用することができる。
【００５４】
ドキュメントに適用する場合、利用実績、利用した場合の改修有無に関する情報の分解能をファイル単位ではなく、章・節・項ごとに持つことも可能である。また、工程を跨いたドキュメント間の関係性・規則性を分析することで、工程間の成果物の関係を見ることができる。この情報は、上流工程の要件に関するトレーサビリティを知る際の参考になる。
【符号の説明】
【００５５】
１０…ソフトウェア分析装置、２０…実績情報格納部、２１…利用改修実績情報テーブル、３０…集計部、３１…集計結果情報、３２…変動係数、４０…関連性算出部、５０…関連性判断部、６０…判定結果表示部
【図１】
2014071462.tif 000003
【図２】
2014071462.tif 000004
【図３】
2014071462.tif 000005
【図４】
2014071462.tif 000006
【図５】
2014071462.tif 000007
【図６】
2014071462.tif 000008
【図７】
2014071462.tif 000009
【図８】
2014071462.tif 000010
【図９】
2014071462.tif 000011
【図１０】
2014071462.tif 000012