(57)【要約】【課題】統一的な設計表記法による図を新規に作成する際の作業効率を向上させた情報処理装置を提供する。【解決手段】統一的な設計表記法により作成された、複数の構成要素からなる図形要素を含む比較図が複数格納される第１の記憶部と、統一的な設計表記法による新規作成対象の基準図の構成の一部となる図形要素の情報が格納される第２の記憶部と、類似判定の適用範囲として基準図に含まれる図形要素または構成要素の種類を示す情報が格納された第３の記憶部と、適用範囲に基づいて基準図と複数の比較図のそれぞれとを比較し、基準図との類似性を示す類似度を比較図毎に算出し、算出した類似度の値が大きい方から順に複数の比較図を並べた情報を表示部に表示させる制御部と、を有する。【選択図】図１
2008146300.tif 000002
【特許請求の範囲】
【請求項１】
統一的な設計表記法により作成された、複数の構成要素からなる図形要素を含む比較図が複数格納される第１の記憶部と、
前記統一的な設計表記法による新規作成対象の基準図の構成の一部となる前記図形要素の情報が格納される第２の記憶部と、
類似判定の適用範囲として、前記基準図に含まれる前記図形要素または前記構成要素の種類を示す情報が格納された第３の記憶部と、
前記適用範囲に基づいて前記基準図と複数の前記比較図のそれぞれとを比較し、前記基準図との類似性を示す類似度を前記比較図毎に算出し、算出した類似度の値が大きい方から順に複数の前記比較図を並べた情報を表示部に表示させる制御部と、
を有する情報処理装置。
【請求項２】
前記基準図の構成の一部が複数種の前記図形要素で構成され、
前記適用範囲が前記基準図の複数種の図形要素の指定を含み、
前記制御部は、
前記類似度を算出する際、前記適用範囲の複数種の図形要素のそれぞれについて前記基準図に対する前記比較図の類似度である要素類似度を算出した後、算出した複数の要素類似度に基づいて前記比較図毎に前記基準図との類似度である全体類似度を算出し、算出した全体類似度で複数の前記比較図の順序を決める、請求項１記載の情報処理装置。
【請求項３】
前記第１の記憶部には、前記比較図毎に該比較図と異なる種類の他の比較図が格納され、
前記制御部は、
前記表示部に表示された情報から１つの比較図が指定されると、指定された比較図の前記他の比較図の情報を前記表示部に表示させる、請求項１または２記載の情報処理装置。
【請求項４】
統一的な設計表記法により作成される、複数の構成要素からなる図形要素を含む図の類似性を判定する情報処理方法であって、
前記統一的な設計表記法により作成された複数の比較図と、前記統一的な設計表記法による新規作成対象の基準図の構成の一部となる前記図形要素の情報と、類似判定の適用範囲として前記基準図に含まれる前記図形要素または前記構成要素の種類を示す情報とを準備し、
前記適用範囲に基づいて前記基準図と複数の前記比較図のそれぞれとを比較し、
前記基準図との類似性を示す類似度を前記比較図毎に算出し、
算出した類似度の値が大きい方から順に複数の前記比較図を並べた情報を表示する、情報処理方法。
【請求項５】
前記基準図の構成の一部が複数種の前記図形要素で構成され、
前記適用範囲が前記基準図の複数種の図形要素の指定を含み、
前記類似度を算出する際、前記適用範囲の複数種の図形要素のそれぞれについて前記基準図に対する前記比較図の類似度である要素類似度を算出し、
算出した複数の要素類似度に基づいて前記比較図毎に前記基準図との類似度である全体類似度を算出し、
算出した全体類似度で複数の前記比較図の順序を決める、請求項４記載の情報処理方法。
【請求項６】
前記比較図毎に該比較図と異なる種類の他の比較図を準備し、
複数の前記比較図を並べた情報から１つの比較図が指定されると、指定された比較図の前記他の比較図の情報を表示する、請求項４または５記載の情報処理方法。
【請求項７】
統一的な設計表記法により作成される、複数の構成要素からなる図形要素を含む図の類似性を判定する処理をコンピュータに実行させるためのプログラムであって、
前記統一的な設計表記法により作成された複数の比較図と、前記統一的な設計表記法による新規作成対象の基準図の構成の一部となる前記図形要素の情報と、類似判定の適用範囲として前記基準図に含まれる前記図形要素または前記構成要素の種類を示す情報とを記憶部に格納し、
前記適用範囲に基づいて前記基準図と複数の前記比較図のそれぞれとを比較し、
前記基準図との類似性を示す類似度を前記比較図毎に算出し、
算出した類似度の値が大きい方から順に複数の前記比較図を並べた情報を表示部に表示させる処理を前記コンピュータに実行させるためのプログラム。
【請求項８】
前記基準図が複数種の図形要素で構成され、
前記適用範囲が前記基準図の複数種の図形要素の指定を含み、
前記類似度を算出する際、前記適用範囲の複数種の図形要素のそれぞれについて前記基準図に対する前記比較図の類似度である要素類似度を算出し、
算出した複数の要素類似度に基づいて前記比較図毎に前記基準図との類似度である全体類似度を算出し、
算出した全体類似度で複数の前記比較図の順序を決める処理を前記コンピュータに実行させるための請求項７記載のプログラム。
【請求項９】
前記比較図毎に該比較図と異なる種類の他の比較図を前記記憶部に格納し、
前記表示部に表示された情報から１つの比較図が指定されると、指定された比較図の前記他の比較図の情報を前記表示部に表示させる処理を前記コンピュータに実行させるための請求項７または８記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア開発に用いられる表記法としてＵＭＬ（Unified Modeling Language：統一モデリング言語）などの統一的な設計表記法による図を作成するための情報処理装置、情報処理方法、およびコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
ソフトウェア開発では多数の文書やプログラムを成果物として作成する。ソフトウェア設計方法の１つであるオブジェクト指向分析/設計において、システムをモデル化する際の表記法として、ＵＭＬが知られている。ＵＭＬは、システムの設計情報を図形と線と文字列の組み合わせにより表現するものである。以下では、ＵＭＬを用いて設計情報を記述した図面をＵＭＬ図と称する。
【０００３】
ＵＭＬで規定されている図面には、ユースケース図、クラス図、アクティビティ図およびステートチャート図などがある。各図形が特定の意味情報を持つ。また、種類の同じ図形のうち、形状の違う図形であっても同じ意味情報を持つものがある。さらに、全く同じ図形の組み合わせが２つあったとしても、同じ設計情報であるとは限らない。
【０００４】
従来、このような図形同士を比較する手段として、ＣＡＤ（Computer Aided Design）等による図面上に図形をもつデータの編集装置において、図形情報と、その図形に対応する変更情報を用いて差分を検出するものが開示されている(特許文献１)。ただし、この装置の方法によると、表示状態または変更情報のどちらか必ず一致する必要があり、両方が異なる場合には対応できない。
【０００５】
その他の従来の図形比較手段として、ＵＭＬ図を文字列で記述する形式へ変換し、図形情報を用いないで比較する方法がある。ＵＭＬ図の作成を支援するツールにこの変換機能を備えたものがある。しかし、一旦文字列に変換してしまうと、図形情報が失われるため、図に差分を明示することが困難である。
【特許文献１】特開平９−１２８４２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ＵＭＬ図を用いたソフトウェア開発の設計過程において、過去のＵＭＬ図を用いた設計情報の中から、現在の設計と似たものを探して参考にしたい場合がある。
【０００７】
従来の図形比較手段では、新規に作成しようとするＵＭＬ図に似ているものを、過去に作成されたＵＭＬ図から探すには、次の２通りの方法が考えられる。それは、（１）過去に作成されたＵＭＬ図の全てを記憶装置から呼び出して１つずつ画面で目視確認するか、または、（２）ＵＭＬ図を比較可能なエディタでファイルを開いて比較する、という２通りである。
【０００８】
（１）の方法は、手間がかかり、設計者の労力負担が大きかった。また、（２）の方法では、従来、同時に２つのファイルの差分をみる機能を持ったものしかなく、２つのファイルの比較を繰り返す必要があり、必要なＵＭＬ図を取得するには煩雑な操作を繰り返さざるを得なかった。
【０００９】
本発明は上述したような従来の技術が有する問題点を解決するためになされたものであり、統一的な設計表記法による図を新規に作成する際の作業効率を向上させた情報処理装置、情報処理方法、およびコンピュータに実行させるためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するための本発明の情報処理装置は、
統一的な設計表記法により作成された、複数の構成要素からなる図形要素を含む比較図が複数格納される第１の記憶部と、
前記統一的な設計表記法による新規作成対象の基準図の構成の一部となる前記図形要素の情報が格納される第２の記憶部と、
類似判定の適用範囲として、前記基準図に含まれる前記図形要素または前記構成要素の種類を示す情報が格納された第３の記憶部と、
前記適用範囲に基づいて前記基準図と複数の前記比較図のそれぞれとを比較し、前記基準図との類似性を示す類似度を前記比較図毎に算出し、算出した類似度の値が大きい方から順に複数の前記比較図を並べた情報を表示部に表示させる制御部と、
を有する構成である。
【００１１】
本発明では、作成しようとする基準図に対して類似性の高い比較図から順に並べられた情報が表示されるので、過去に作成された比較図のうち基準図を作成するのに参考になる比較図を選びやすい。
【発明の効果】
【００１２】
本発明によれば、統一的な設計表記法で新規に図を作成する際、作成しようとする図に対して過去に作成された図のうち類似性の高い方から順に並べられた情報が表示されるので、本質的に類似する図を容易に検索でき、類似する図を参照することで設計作業の効率が向上する。
【発明を実施するための最良の形態】
【００１３】
本発明の情報処理装置は、統一的な設計表記法により作成される図の一部について、過去に作成された図の類似度を算出し、作成対象の図に本質的に類似した図を検索可能にしたことを特徴とする。
【実施例１】
【００１４】
本実施例の情報処理装置の構成を説明する。図１は本実施例の情報処理装置の一構成例を示すブロック図である。
【００１５】
図１に示すように、本実施例の情報処理装置１は、記憶部２０および制御部３０を有するコンピュータである。情報処理装置１には、操作者が指示を入力するためのキーボード７２と処理結果を操作者に表示するためのディスプレイ７１とが入出力インタフェース７を介して接続されている。操作者が指示を入力するための操作部には、キーボード７２の他にマウスがあってもよい。
【００１６】
記憶部２０は、記憶領域が基準ＵＭＬ図記憶手段２1と、比較ＵＭＬ図群記憶手段２２と、類似性判定条件記憶手段３１と、類似情報記憶手段６とに分割されている。基準ＵＭＬ図記憶手段２１には、新規に作成されるＵＭＬ図に関する情報が登録される。比較ＵＭＬ図群記憶手段２２は、過去に作成されたＵＭＬ図が登録されている。以下では、新規に作成されるＵＭＬ図を基準ＵＭＬ図と称し、過去に作成されたＵＭＬ図を比較ＵＭＬ図と称する。
【００１７】
なお、ソフトウェア設計では複数種のＵＭＬ図を複合的に用いることが多いことから、比較ＵＭＬ図群記憶手段２１には複数種類のＵＭＬ図が登録されている。また、基準ＵＭＬ図は、作成途中の図形であり、完成している必要はない。
【００１８】
制御部３０は、基準ＵＭＬ図の図形要素の類似性判定条件と適用範囲の情報を記憶部２０に登録する類似性判定条件格納手段３と、類似度算出部４と、結果表示生成部５とを有する。類似性判定条件格納手段３は、類似性判定条件および適用範囲に対応する基準ＵＭＬ図の情報を類似度算出部４に渡す。類似度算出部４は、ＵＭＬ図の図形要素の類似度を計算する要素類似度計算手段４１と、ＵＭＬ図全体の類似度を計算する全体類似度計算手段４２とを有する。結果表示生成部５は、抽出した比較ＵＭＬ図を並べ替える並べ替え手段５１と、並べ替えた比較ＵＭＬ図をディスプレイ７１に表示する結果表示生成手段５２とを有する。
【００１９】
また、制御部３０は、プログラムにしたがって所定の処理を実行するＣＰＵ（Central Processing Unit）（不図示）と、プログラムを格納するためのメモリ（不図示）とを有する。ＣＰＵがプログラムを実行することで、類似性判定条件格納手段３、要素類似度計算手段４１、全体類似度計算手段４２、並べ替え手段５１および結果表示生成手段５２が仮想的に情報処理装置１内に構成される。
【００２０】
ここで、ＵＭＬ図のデータ構造について詳しく説明する。
【００２１】
ＵＭＬ図は、クラス図やアクティビティ図などの各種図形の表記法において規定された、特定の意味を持つ図形である図形要素からなる。図２は図形要素のデータ構造を説明するための図である。
【００２２】
図形要素は、図形要素に共通な項目である図形表示情報と、図形要素毎に異なる項目である種類とに大きく分けられる。図形表示情報は、図形要素の位置、色、形状およびサイズの情報である。これらの情報は１つの図形要素に対してそれぞれ１つだけ存在するデータである。
【００２３】
図形要素毎に異なる種類には、それぞれの属性と、その図形要素に含まれる子となるものの図形要素または表記要素とがある。表記要素とは、本実施例において図形要素と区別して説明するために付与した名称であり、各種図形の表記法において規定された、特定の意味を持つ「表記」を意味する。
【００２４】
「図形要素の種類」は、利用する表記法において、その図形につけられた種類の名称を意味する。例えば、ＵＭＬ表記法における「クラス」および「パッケージ」などがある。属性は、利用する表記法において、その図形が持つことができる性質や特性を示す。例えば、ＵＭＬ表記法において、「名前」、「可視性」および「ステレオタイプ」などがある。なお、上述した各項目は図形要素を構成するための構成要素となる。
【００２５】
図３は図形要素を説明するための具体例を示す図である。なお、図形表示情報の説明については省略する。
【００２６】
パッケージ８１については、図形の種類が「パッケージ」であり、属性は名前が「社員管理システム」であり、子となる図形要素が「パッケージ８２、８３」である。パッケージ８２については、図形の種類が「パッケージ」であり、属性は名前が「基本情報」であり、子となる図形要素が「クラス８４」である。パッケージ８３については、図形の種類が「パッケージ」であり、属性は名前が「給与処理」であり、子となる図形要素が「クラス８５」である。
【００２７】
クラス８４については、図形の種類が「クラス」であり、属性１の名前が「社員」であり、属性２が「社員番号」であり、属性３が社員の「名前」である。クラス８５については、図形の種類が「クラス」であり、属性１の名前が「給与計算」であり、属性２の操作が「給与を算出する」である。
【００２８】
図４は図形要素を説明するための他の具体例を示す図である。図４（ａ）はユースケース図などに用いられる図形要素の例として、ユースケースとアクタを示す図である。ユースケースは、楕円で表現され、ソフトウェア開発対象のシステムにおける「機能」に相当する。アクタは、stick man（棒人間）で表現され、そのシステムの利用者の「役割」を意味する。それぞれにノード名が記述される。図形要素の種類が「ノード」であると、属性にはノード名を含む情報がある。「ノード」は開発対象のシステムにおけるオブジェクトを示す。
【００２９】
図４（ｂ）はステートチャート図やアクティビティ図で用いられる図形要素の例を示す図である。図４（ｂ）に示すエッジは１つのノードから他のノードへのデータの流れを示す表記である。それぞれにエッジ名が記述される。図形要素の種類が「エッジ」であると、属性には、エッジ名、接続元ノードおよび接続先ノードを含む情報がある。「エッジ」はノード間の接続やデータの流れを示すものである。
【００３０】
次に、図１に示した情報処理装置１の構成について詳しく説明する。
【００３１】
比較ＵＭＬ図群記憶手段２２には、上述した図形要素の情報が比較ＵＭＬ図毎に登録されている。類似性判定条件３１には、基準ＵＭＬと比較ＵＭＬ図を比較したときに、類似しているか否かを判定するための基準となる類似判定条件とその適用範囲が操作者により予め登録される。
【００３２】
類似性判定条件記憶手段３１に登録される類似性判定条件と適用範囲の表記の仕方として、例えば、「類似性判定条件：適用範囲」がある。類似性判定条件とは、図形要素の単位で、０〜１の数値で類似度を求めるための条件であり、判定対象と比較手法が含まれる。
【００３３】
判定対象とは、図形要素のどの構成要素を類似性の判定に用いるか特定するものである。図形要素の構成要素とは、図２に示した図形要素のデータ構造を構成する各項目を指す。
【００３４】
比較手法とは、特定の側面で２つの図形要素を比較するために用いる手法であり、上記判定対象に最適な方法を用いる。例えば、判定対象が"図形の位置"である場合は、図形間の距離を比較する一般的手法を用いる。判定対象が"図形名"である場合は、単語を比較する一般的手法を用いる。算出する類似度に対して最終的に正規化を行い、０〜１の数値で表す。数値１に近いほど類似度が高いことを示し、数値が０に近いほど類似度が低いことを示す。比較手法では、比較結果から類似度の数値に置き換える方法が予め規定されている。
【００３５】
適用範囲とは、類似性判定条件を適用する対象を限定するものである。対象として、図形要素、またはその構成要素（図２に示した項目）が指定される。具体例をいくつか説明する。適用範囲を"全図形要素"と指定すれば、基準ＵＭＬ図の図形要素の全てが類似判定の対象となる。適用範囲を"ノード図形要素で属性Ａの構成要素を持つもの"と指定すれば、比較ＵＭＬ図群記憶手段２２に格納されたノード図形要素のうち、属性Ａの構成要素を持つものが類似判定の対象となる。適用範囲を"「図形色＝黄色」以外の図形要素"と指定すれば、格納された比較ＵＭＬ図のうち、図形色が黄色以外の図形要素が類似判定の対象となる。なお、適用範囲が操作者により登録されない場合には、“全図形要素”について類似判定を行うなど、入力がない場合の適用範囲を予めプログラムに登録しておいてもよい。
【００３６】
要素類似度計算手段４１は、類似性判定条件格納手段３から基準ＵＭＬ図の情報、類似度判定条件および適用範囲の情報を受け取ると、それらの情報にしたがって基準ＵＭＬ図の図形要素および構成要素から類似判定対象の要素を特定する。そして、類似判定対象の各要素に対する、比較ＵＭＬ図群記憶手段２２に格納された比較ＵＭＬ図に含まれる要素の類似度を算出する。この算出方法についての詳細は、後述する。
【００３７】
全体類似度計算手段４２は、要素類似度計算手段４１の処理結果から、以下に説明する「ＵＭＬ全体の類似度算出方法」を用いてＵＭＬ図同士の類似度を求める。
【００３８】
図５はＵＭＬ図全体の類似度算出方法を説明するための図である。図５（ａ）は基準ＵＭＬ図および比較ＵＭＬ図の一例を示す図であり、図５（ｂ）は全体類似度の算出の際に用いる式の一例を示し、図５（ｃ）は類似度比較結果の一例を示す表である。図５（ａ）に示すように、基準ＵＭＬ図の図形種類がアクティビティ図であり、基準ＵＭＬ図には、３つの図形要素が表示されている。基準ＵＭＬ図は、作成途中の状態でよいが、説明のために簡単な図にしている。また、適用範囲が全図形要素であり、類似判定の最小単位は図形要素である。
【００３９】
要素類似度計算手段４１により、図５（ａ）に示す比較ＵＭＬ図ａ、ｂ、ｃのそれぞれと基準ＵＭＬ図との間で、図形要素の類似度が求められている。その結果、基準ＵＭＬ要素として図形要素「ノード１」、「ノード２」、「エッジ１」のそれぞれについて比較ＵＭＬ図ａ、ｂ、ｃの類似度が図５（ｃ）に示されている。この類似度が本発明の要素類似度に相当する。
【００４０】
ＵＭＬ図全体の類似度は、次の判定基準１と判定基準２の両方を考慮して決められる。判定基準１は基準ＵＭＬ図の図形要素に対応する図形要素が比較ＵＭＬ図に存在するか否かということであり、判定基準２は基準ＵＭＬ図の図形要素に対応する図形要素の類似度である。
【００４１】
判定基準１は、基準ＵＭＬ図を構成する図形要素が複数あれば、それぞれの図形要素に対応して設けられる。図形要素が多く含まれる比較ＵＭＬ図の類似性を高く設定するためである。例えば、基準ＵＭＬ図がノード１およびノード２の２つの図形要素により構成されている場合、ノード１に類似する図形要素を３つ含む比較ＵＭＬ図Ａよりも、ノード１に類似する図形要素とノード２に類似する図形要素を含む比較ＵＭＬ図Ｂの方が類似性が高くなる。これは、比較ＵＭＬ図Ａがノード１の判定基準１を満たすが、ノード２の判定基準１を満たさないのに対して、比較ＵＭＬ図Ｂがノード１およびノード２の両方の判定基準１を満たすからである。全体類似度計算手段４２は、基準ＵＭＬ図の全図形要素に関して比較ＵＭＬ図と比較を行う。
【００４２】
全体類似度計算手段４２は、比較ＵＭＬ図ａ、ｂ、ｃ毎に図５（ｃ）に示した要素の類似度の平均値を算出し、この値を「比較ノードの各要素が持つ類似度の平均」とする。そして、この「比較ノードの各要素が持つ類似度の平均」と、判定基準１および判定基準２の結果と、図５（ｂ）に示す式とから、各比較ＵＭＬ図ａ、ｂ、ｃについてＵＭＬ図全体の類似度を算出する。その結果の一例を図５（ｃ）に示す。類似度の値は、比較ＵＭＬ図ａが０．８３であり、比較ＵＭＬ図ｂが０．５であり、比較ＵＭＬ図ｃが０．３である。この類似度が本発明の全体類似度に相当する。
【００４３】
並べ替え手段５１は、比較ＵＭＬ図を類似度順に順位付けし、順位付けした比較ＵＭＬ図の情報を類似度情報として結果表示生成手段５２に渡す。結果表示生成手段５２は、並べ替え手段５１から比較ＵＭＬ図群の類似度情報を受け取ると、順位付けした比較ＵＭＬ図を入出力インタフェース７を介してディスプレイ７１に一覧表示する。表示方法は表形式で各比較ＵＭＬ図のファイル名を類似度順に並べる方法などが考えられる。
【００４４】
また、ディスプレイ７１に表示された複数のファイル名から操作者がキーボード７２を操作して１つを選択すると、結果表示生成手段５２は、選択されたファイル名の比較ＵＭＬ図をディスプレイ７１に表示させる。その際、基準ＵＭＬ図と比較して差異のある部分を強調した形で表示させるようにしてもよい。このようにして、操作者は抽出結果から見たい比較ＵＭＬ図を容易に参照することができる。
【００４５】
次に、基準ＵＭＬ図に類似する比較ＵＭＬ図を抽出するための、本実施例の情報処理装置による動作手順を説明する。なお、図５に示した具体例の場合で説明する。
【００４６】
類似性判定条件とその適用範囲の情報が予め図１に示した類似性判定条件記憶手段３１に予め格納されている。また、基準ＵＭＬ図が操作者の入力により予め基準ＵＭＬ図記憶手段２１に登録されている。
【００４７】
はじめに、操作者がキーボード７２を操作して基準ＵＭＬ図に類似する比較ＵＭＬ図を抽出する指示を入力すると、類似性判定条件格納手段３は、基準ＵＭＬ図の情報を基準ＵＭＬ図記憶手段２１から読み出し、類似性判定条件および適用範囲の情報を類似性判定条件記憶手段３１から読み出す。続いて、適用範囲で指定された図形要素および構成要素等の要素を基準ＵＭＬ図の要素と対応づける。ここでは、適用範囲が“全図形要素”であり、図５（ａ）に示したように、ノード１、ノード２およびエッジ１の図形要素が類似判定の対象となる。そして、類似性判定条件格納手段３は、類似判定の対象となる３つの図形要素の情報を類似度算出部４に渡す。
【００４８】
なお、操作者の入力により、適用範囲を要素単位で一括して変更する処理を追加してもよい。この段階で操作者の判断により適用範囲を変更可能にすることで、類似性判定の自由度が向上する。
【００４９】
次に、類似度算出部４の動作手順を説明する。はじめに、類似度算出部４が実行する、要素の類似度計算方法を説明する。図６は要素の類似度計算方法の手順を示すフローチャートである。
【００５０】
基準ＵＭＬ図の図形要素（以下では、単に「要素」と表記する）に対応する類似性判定条件を類似性判定条件記憶手段３１から取得する(ステップ１０１)。類似性判定条件に対応する比較手法により比較結果を数値で求め、類似性判定条件に対応する類似度とする(ステップ１０２)。
【００５１】
そして、類似度算出部４は、図６に説明した方法を用いて、以下のようにして、ＵＭＬ図の要素について要素類似度計算手段４１による処理を行った後、ＵＭＬ図全体について全体類似度計算手段４２による処理を行う。
【００５２】
図７は要素類似度計算手段４１の動作手順を示すフローチャートである。
【００５３】
要素類似度計算手段４１は、類似性判定条件格納手段３から類似判定対象となる要素の情報を受け取り、その要素に対応する類似性判定条件を類似性判定条件記憶手段３１から取得する(ステップ２０１)。続いて、基準ＵＭＬ図に含まれる要素のうち１つの要素について、類似判定条件の判定対象および比較手法にしたがって比較ＵＭＬ図群記憶手段２２に格納された、１つの比較ＵＭＬ図における要素の類似度を求める（ステップ２０２）。例えば、図５（ａ）に示した比較ＵＭＬ図ａの比較ノードａ１（「要素ａ１」とする）とを比較ＵＭＬ図群記憶手段２２から取得し、上述した「要素の類似度計算方法」により基準ＵＭＬ図のノード１（「要素１」とする）と比較ＵＭＬ図ａの要素ａ１との類似度を導出する(ステップ２０２)。図５（ｃ）に示すように、その結果は「１」である。
【００５４】
そして、全ての類似性判定条件を確認したかチェックする(ステップ２０３)。全ての類似性判定条件が確認できるまでステップ２０２の処理を繰り返す。ここでは、判定対象は図形要素の単位であり、比較手法は類似度を算出するものであるため、次のステップに進む。
【００５５】
類似性判定条件で求めた類似度の平均をとる(ステップ２０４)。ここでは、判定対象は図形要素の単位であるため平均をとる必要がない。さらに、比較ＵＭＬ図の全ての要素を確認したかチェックする(ステップ２０５)。基準ＵＭＬ図の要素１に類似する要素が比較ＵＭＬ図に複数存在する場合もあるからである。全ての比較ＵＭＬ図の要素を確認するまでステップ２０２から２０４の処理を繰り返す。
【００５６】
その後、基準ＵＭＬ図の１つの要素に対して、比較ＵＭＬ図内で類似度の一番大きい要素を求め、その情報を類似情報記憶手段６に格納する(ステップ２０６)。これは、基準ＵＭＬ図の特定の要素１つに類似する図形が比較ＵＭＬ図内に複数存在する場合、一番大きい要素を、ＵＭＬ図全体の全体類似度計算手段４２の処理対象にするためである。類似度が複数求められた場合には、最大値をその要素の類似度とする。また、該当する要素が複数ある場合には、その旨の情報を全て類似情報記憶手段６に格納する。類似情報記憶手段６に格納することで、結果表示生成部５の処理により操作者はディスプレイ７１で類似情報を参照することができる。
【００５７】
続いて、基準ＵＭＬ図の全ての要素を確認したかチェックする(ステップ２０７)。基準ＵＭＬ図の全ての要素について類似度を算出するまで、ステップ２０１から２０６の処理を繰り返す。ここでは、基準ＵＭＬ図のその他の要素ノード２、エッジ１のそれぞれについて、ステップ２０１から２０６の処理を行う。
【００５８】
図８は全体類似度計算手段４２の動作手順を示すフローチャートである。
【００５９】
全体類似度計算手段４２は、要素類似度計算手段４１から１つの比較ＵＭＬ図について要素の類似度の算出が終了した旨の情報を受信すると、その比較ＵＭＬ図に対応する要素と類似度の情報を類似情報記憶手段６から取り出す（ステップ３０１）。図５を参照して説明した「ＵＭＬ図全体の類似度算出方法」により、図５（ｂ）に示した式を用いて全体の類似度を算出し、その結果を類似情報記憶手段６に格納する(ステップ３０２)。図５（ａ）に示した比較ＵＭＬ図ａの場合には、全体の類似度は「０．８３」となる。
【００６０】
その後、比較ＵＭＬ図群記憶手段２２に格納された全ての比較ＵＭＬ図について、全体の類似度を算出したかをチェックする(ステップ３０３)。ここでは、比較ＵＭＬ図ｂ、ｃのそれぞれに対して、全体の類似度「０．５」、「０．３」がそれぞれ求められる。
【００６１】
次に、結果表示生成部５の動作手順を説明する。図９は結果表示生成部５の動作手順を示すフローチャートである。
【００６２】
結果表示生成部５は、比較ＵＭＬ図群記憶手段２２から全ての比較ＵＭＬ図を取得する(ステップ４０１)。類似情報記憶手段６から各比較ＵＭＬ図についての全体の類似度の情報を取得し、類似度の値が大きい方から順に小さくなるようにソートする(ステップ４０２)。ソート結果に応じて比較ＵＭＬ図のファイル名を順に並べた表をディスプレイ７１に表示する（ステップ４０３）。
【００６３】
また、類似度順に並べられる比較ＵＭＬ図をファイル名に限らず、アイコンなど他の表示形式でもよく、結果表示生成部５は、操作者のＧＵＩ（Graphical User Interface）操作によりいずれの比較ＵＭＬ図も参照できるようにディスプレイ７１に表示させる。また、結果表示生成部５は、類似情報記憶手段６から取り出した類似度情報を基にして、類似要素、または差異のある要素を強調表示した画面をディスプレイ７１に表示させてもよい。さらに、表示させるか否かの判定基準として類似度に予め閾値を設け、閾値よりも小さい類似度の比較ＵＭＬ図を表示対象から除外するようにしてもよい。
【００６４】
本実施例の情報処理装置は、統一的な設計表記法で作成しようとする基準図に対して過去に作成された比較図のうち類似性の高い方から順に並べられた情報が表示されるので、複数の比較図のうち基準図を作成するのに参考になる比較図を選びやすくなる。そのため、作成しようとする基準図に最も近い比較図を修正すれば、全く新しく基準図を作成する場合よりも早く作成することができ、設計効率が向上する。
【００６５】
なお、操作者がキーボード７２を操作して類似性判定条件格納手段３に類似性判定条件記憶手段３１から類似性判定条件を取り出させ、キーボード７２の操作により類似性判定条件を編集し、その条件を変更してもよい。また、類似性判定条件を新規に追加したり、削除したりしてもよい。
【実施例２】
【００６６】
実施例１は、未完成の基準ＵＭＬ図に部分的に類似するＵＭＬ図を過去の比較ＵＭＬ図から抽出するものであった。従来、ソフトウェア設計には、複数のＵＭＬ図を複合的に用いる場合が多い。そのため、本実施例では、１つの種類のＵＭＬ図について実施例１のようにして比較ＵＭＬ図を抽出すると、抽出した比較ＵＭＬ図が作成された際に同時に作成された、関連する他の種類のＵＭＬ図も参照できるようにしたものである。
【００６７】
本実施例の情報処理装置の構成を説明する。なお、本実施例では図１に示した情報処理装置１と異なる構成についてのみ詳細に説明し、同様な構成についてはその詳細な説明を省略する。
【００６８】
本実施例の比較ＵＭＬ図群記憶手段２２には、１つのソフトウェア設計に伴って作成された複数種のＵＭＬ図が組になって格納されている。例えば、あるソフトウェア設計の際にユースケース図、クラス図およびアクティビティ図が作成されていると、これらのＵＭＬ図が組になって登録されている。そのため、このうちの１つのＵＭＬ図を特定すれば、それに関連して作成された他のＵＭＬ図を参照することが可能である。
【００６９】
なお、組にして登録しなくても、同じ組に属する比較ＵＭＬ図に共通の識別子である共通識別子を付与し、各比較ＵＭＬ図のファイル名に共通識別子を一緒に記述した表を予め作成してもよい。この場合、比較ＵＭＬ図を記憶部２０のどこに登録しても、表を参照することで、１つの比較ＵＭＬ図から関連する他の比較ＵＭＬ図を読み出すことが可能となる。
【００７０】
結果表示生成部５は、実施例１と同様にしてソート結果をディスプレイ７１に表示し、操作者の操作により１つの比較ＵＭＬ図が選択されると、その比較ＵＭＬ図のソフトウェア設計に関連する他のＵＭＬ図を比較ＵＭＬ図群記憶手段２２から読み出してディスプレイ７１に表示させる。
【００７１】
本実施例の情報処理装置は、類似判定の対象になったＵＭＬ図に限らず、そのＵＭＬ図に関連する他の複数種のＵＭＬ図を活用することも可能となり、設計資産の活用が一層促進し、設計者の作業時間が短縮する。
【００７２】
上述したことから、本発明の情報処理装置は、統一的な設計表記法で新規に図を作成する際、作成しようとする図に対して過去に作成された図のうち類似性の高い方から順に並べられた情報が表示されるので、本質的に類似する図を容易に検索でき、類似する図を参照することで設計作業の効率が向上する。
【００７３】
また、類似判定条件や適用範囲を細かく指定することで、作成対象の基準図の本質的な図形要素または構成要素を用いた図を過去に作成された比較図の中から容易に検索が可能となる。そのため、図形の位置や表示状態に関わらず、意味的に同じ比較図を一度に抽出することができる。
【００７４】
また、図形要素を構成する構成要素の単位まで検索条件として指定可能にすることで、見かけではなく、本質的な内容での差分を明確にして比較図を管理することができる。
【００７５】
さらに、比較図の情報をデータベース化しておくことで、必要なときに比較図を情報処理装置に読み出させて図形要素を参照し、図形要素の単位で２つの図を比較することも可能である。そのため、操作者は、２つの図が本質的に異なるか否かを判断することができ、本質的な部分でない図形要素が異なっていると判断すれば、その図形要素を無視できる。
【００７６】
なお、本発明の利用が考えられる分野として、ＵＭＬを使った設計を支援するツールで利用することができる。ＵＭＬエディタやＵＭＬ図の管理を行うツールなどが考えられる。また、ＵＭＬ図に限らず、機能情報関連図（ＤＦＤ）、機能構成図（ＤＭＭ）、業務流れ図（ＷＦＡ）など、統一的な設計表記法により作成された図面であればよい。
【００７７】
また、本発明の情報処理装置がサーバ装置であってもよい。この場合、このサーバ装置にネットワークを介して複数の情報端末を接続可能にすることで、各情報端末でサーバ装置の情報を引き出すことが可能となる。
【００７８】
さらに、本発明の情報処理方法を、コンピュータに実行させるためのプログラムに記述してもよい。記録媒体またはネットワークを介してこのプログラムをやり取りすれば、このプログラムを他のコンピュータにロードして、他のコンピュータでも本発明の情報処理方法を実行させることが可能となる。
【図面の簡単な説明】
【００７９】
【図１】実施例１の情報処理装置の一構成例を示すブロック図である。
【図２】図形要素のデータ構造を説明するための図である。
【図３】図形要素を説明するための具体例を示す図である。
【図４】図形要素を説明するための他の具体例を示す図である。
【図５】ＵＭＬ図全体の類似度算出方法を説明するための図である。
【図６】要素の類似度計算方法を示すフローチャートである。
【図７】要素類似度計算手段の動作手順を示すフローチャートである。
【図８】全体類似度計算手段の動作手順を示すフローチャートである。
【図９】結果表示生成部の動作手順を示すフローチャートである。
【符号の説明】
【００８０】
１    情報処理装置
２０    記憶部
３０    制御部
【図１】
2008146300.tif 000003
【図２】
2008146300.tif 000004
【図３】
2008146300.tif 000005
【図４】
2008146300.tif 000006
【図５】
2008146300.tif 000007
【図６】
2008146300.tif 000008
【図７】
2008146300.tif 000009
【図８】
2008146300.tif 000010
【図９】
2008146300.tif 000011