(57)【要約】    【課題】２つのシーケンス図の間の類似度を計算する方法、そのプログラム及び装置を提供すること。    【解決手段】２つのシーケンス図のメッセージから動詞を抽出し、これを時系列的に並べたタスクフローをそれぞれ作成し（ｓ１）、各シーケンス図のメッセージから抽出された動詞間の類似度を求め（ｓ２）、各タスクフローを横軸及び縦軸に配置し、該横軸及び縦軸間の動詞の組み合わせをノードとするグラフを定義する（ｓ３）とともに、各ノード間の辺に前記動詞間の類似度に基づく重みを付与し（ｓ４）、前記グラフにおける各タスクフローの最初の動詞の組に対応するノードから各タスクフローの最後の動詞の組に対応するノードまでの最短経路を求め（ｓ５）、その最短経路長から２つのシーケンス図の類似度を計算する（ｓ６）。【選択図】図４
2006323624.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアの開発工程において作成され、ソフトウェアに関わるシステム全体の振る舞いを、当該システムに含まれるオブジェクト間の時系列的なメッセージのやりとりで表現したシーケンス図に関し、２つのシーケンス図の類似度をコンピュータを用いて計算する方法であって、
当該コンピュータは、
２つのシーケンス図のメッセージから動詞を抽出し、これを時系列的に並べたタスクフローをそれぞれ作成する第１のステップと、
各シーケンス図のメッセージから抽出された動詞間の類似度を求める第２のステップと、
各タスクフローを横軸及び縦軸に配置し、該横軸及び縦軸間の動詞の組み合わせをノードとして各ノード間の辺に前記動詞間の類似度に基づく重みを付したグラフを作成する第３のステップと、
前記グラフにおける各タスクフローの最初の動詞の組に対応するノードから各タスクフローの最後の動詞の組に対応するノードまでの最短経路を求め、その最短経路長から２つのシーケンス図の類似度を計算する第４のステップとを実行する
ことを特徴とするシーケンス図の類似度計算方法。
【請求項２】
ソフトウェアの開発工程において作成され、ソフトウェアに関わるシステム全体の振る舞いを、当該システムに含まれるオブジェクト間の時系列的なメッセージのやりとりで表現したシーケンス図に関し、複数の既存のソフトウェアのシーケンス図の中から新規に開発しようとするソフトウェアのシーケンス図に最も類似したシーケンス図を抽出して提示する方法であって、
複数の既存のソフトウェアのシーケンス図を記憶した記憶手段と、入力手段または通信手段の少なくとも一方と、情報提示手段とを備えたコンピュータを用い、
当該コンピュータは、
入力手段または通信手段を介して入力された新規に開発しようとしているソフトウェアのシーケンス図及び記憶手段より読み出した一つの既存のソフトウェアのシーケンス図のメッセージから動詞を抽出し、これを時系列的に並べたタスクフローをそれぞれ作成する第１のステップと、
各シーケンス図のメッセージから抽出された動詞間の類似度を求める第２のステップと、
各タスクフローを横軸及び縦軸に配置し、該横軸及び縦軸間の動詞の組み合わせをノードとして各ノード間の辺に前記動詞間の類似度に基づく重みを付したグラフを作成する第３のステップと、
前記グラフにおける各タスクフローの最初の動詞の組に対応するノードから各タスクフローの最後の動詞の組に対応するノードまでの最短経路を求め、その最短経路長から前記新規に開発しようとしているソフトウェアのシーケンス図と一つの既存のソフトウェアのシーケンス図との間の類似度を計算する第４のステップと、
記憶手段中の既存のソフトウェアのシーケンス図の全てを対象として第１乃至第３のステップを繰り返し、類似度が最も高い既存のソフトウェアのシーケンス図を情報提示手段に提示する第５のステップとを実行する
ことを特徴とするシーケンス図の類似度計算方法。
【請求項３】
請求項１または２記載のシーケンス図の類似度計算方法において、
各シーケンス図のメッセージから抽出された動詞間の類似度を求める第２のステップは、予め計算された動詞間の類似度を保持する手段より各シーケンス図のメッセージから抽出された動詞間の類似度を検索し記憶するステップからなる
ことを特徴とするシーケンス図の類似度計算方法。
【請求項４】
ソフトウェアの開発工程において作成され、ソフトウェアに関わるシステム全体の振る舞いを、当該システムに含まれるオブジェクト間の時系列的なメッセージのやりとりで表現したシーケンス図に関し、２つのシーケンス図の類似度をコンピュータに計算させるプログラムであって、
当該コンピュータに、
２つのシーケンス図のメッセージから動詞を抽出し、これを時系列的に並べたタスクフローをそれぞれ作成する第１のステップと、
各シーケンス図のメッセージから抽出された動詞間の類似度を求める第２のステップと、
各タスクフローを横軸及び縦軸に配置し、該横軸及び縦軸間の動詞の組み合わせをノードとして各ノード間の辺に前記動詞間の類似度に基づく重みを付したグラフを作成する第３のステップと、
前記グラフにおける各タスクフローの最初の動詞の組に対応するノードから各タスクフローの最後の動詞の組に対応するノードまでの最短経路を求め、その最短経路長から２つのシーケンス図の類似度を計算する第４のステップとを実行させるためのプログラム。
【請求項５】
ソフトウェアの開発工程において作成され、ソフトウェアに関わるシステム全体の振る舞いを、当該システムに含まれるオブジェクト間の時系列的なメッセージのやりとりで表現したシーケンス図に関し、複数の既存のソフトウェアのシーケンス図の中から新規に開発しようとするソフトウェアのシーケンス図に最も類似したシーケンス図を抽出して提示するプログラムであって、
複数の既存のソフトウェアのシーケンス図を記憶した記憶手段と、入力手段または通信手段の少なくとも一方と、情報提示手段とを備えたコンピュータに、
入力手段または通信手段を介して入力された新規に開発しようとしているソフトウェアのシーケンス図及び記憶手段より読み出した一つの既存のソフトウェアのシーケンス図のメッセージから動詞を抽出し、これを時系列的に並べたタスクフローをそれぞれ作成する第１のステップと、
各シーケンス図のメッセージから抽出された動詞間の類似度を求める第２のステップと、
各タスクフローを横軸及び縦軸に配置し、該横軸及び縦軸間の動詞の組み合わせをノードとして各ノード間の辺に前記動詞間の類似度に基づく重みを付したグラフを作成する第３のステップと、
前記グラフにおける各タスクフローの最初の動詞の組に対応するノードから各タスクフローの最後の動詞の組に対応するノードまでの最短経路を求め、その最短経路長から前記新規に開発しようとしているソフトウェアのシーケンス図と一つの既存のソフトウェアのシーケンス図との間の類似度を計算する第４のステップと、
記憶手段中の既存のソフトウェアのシーケンス図の全てを対象として第１乃至第３のステップを繰り返し、類似度が最も高い既存のソフトウェアのシーケンス図を情報提示手段に提示する第５のステップとを実行させるためのプログラム。
【請求項６】
請求項４または５記載のプログラムにおいて、
各シーケンス図のメッセージから抽出された動詞間の類似度を求める第２のステップは、予め計算された動詞間の類似度を保持する手段より各シーケンス図のメッセージから抽出された動詞間の類似度を検索し記憶するステップからなる
ことを特徴とするプログラム。
【請求項７】
ソフトウェアの開発工程において作成され、ソフトウェアに関わるシステム全体の振る舞いを、当該システムに含まれるオブジェクト間の時系列的なメッセージのやりとりで表現したシーケンス図に関し、２つのシーケンス図の類似度を計算する装置であって、
２つのシーケンス図のメッセージから動詞を抽出し、これを時系列的に並べたタスクフローをそれぞれ作成する段と、
各シーケンス図のメッセージから抽出された動詞間の類似度を求める手段と、
各タスクフローを横軸及び縦軸に配置し、該横軸及び縦軸間の動詞の組み合わせをノードとして各ノード間の辺に前記動詞間の類似度に基づく重みを付したグラフを作成する手段と、
前記グラフにおける各タスクフローの最初の動詞の組に対応するノードから各タスクフローの最後の動詞の組に対応するノードまでの最短経路を求め、その最短経路長から２つのシーケンス図の類似度を計算する手段とを備えた
ことを特徴とするシーケンス図の類似度計算装置。
【請求項８】
ソフトウェアの開発工程において作成され、ソフトウェアに関わるシステム全体の振る舞いを、当該システムに含まれるオブジェクト間の時系列的なメッセージのやりとりで表現したシーケンス図に関し、複数の既存のソフトウェアのシーケンス図の中から新規に開発しようとするソフトウェアのシーケンス図に最も類似したシーケンス図を抽出して提示する装置であって、
複数の既存のソフトウェアのシーケンス図を記憶した記憶手段と、
入力手段または通信手段と、
情報提示手段と、
入力手段または通信手段を介して入力された新規に開発しようとしているソフトウェアのシーケンス図及び記憶手段より読み出した一つの既存のソフトウェアのシーケンス図のメッセージから動詞を抽出し、これを時系列的に並べたタスクフローをそれぞれ作成する手段と、
各シーケンス図のメッセージから抽出された動詞間の類似度を求める手段と、
各タスクフローを横軸及び縦軸に配置し、該横軸及び縦軸間の動詞の組み合わせをノードとして各ノード間の辺に前記動詞間の類似度に基づく重みを付したグラフを作成する手段と、
前記グラフにおける各タスクフローの最初の動詞の組に対応するノードから各タスクフローの最後の動詞の組に対応するノードまでの最短経路を求め、その最短経路長から前記新規に開発しようとしているソフトウェアのシーケンス図と一つの既存のソフトウェアのシーケンス図との間の類似度を計算する手段と、
前記タスクフロー作成手段、グラフ作成手段及び最短経路探索手段に、記憶手段中の既存のソフトウェアのシーケンス図の全てを対象とする同様の処理を繰り返し実行させ、類似度が最も高い既存のソフトウェアのシーケンス図を情報提示手段に提示する手段とを備えた
ことを特徴とするシーケンス図の類似度計算装置。
【請求項９】
請求項７または８記載のシーケンス図の類似度計算装置において、
各シーケンス図のメッセージから抽出された動詞間の類似度を求める手段は、予め計算された動詞間の類似度を保持する手段より各シーケンス図のメッセージから抽出された動詞間の類似度を検索し記憶する手段からなる
ことを特徴とするシーケンス図の類似度計算装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアの開発工程において作成されたソフトウェア資産、特にシーケンス図を再利用するための技術に関する。
【背景技術】
【０００２】
新規にソフトウェアを開発する際、既存のソフトウェアの開発工程において作成されたソフトウェア資産を再利用できれば、開発期間の短縮及びそれに伴うコストの低減、品質向上を実現できると考えられる。そして、既存のソフトウェア資産を再利用する場合、新規に開発しようとしているソフトウェアに対し、より類似度の高いソフトウェア資産を利用することが好ましい。
【０００３】
前述したソフトウェア資産、例えばソフトウェア開発の上流工程において標準的に利用されているＵＭＬ（Unified Modeling Language）を用いた開発プロセスの１つであるＵＰ（Unified Process）におけるソフトウェア資産としては、要求工程にて作成される要求仕様書、分析工程にて作成される概念モデル図やユースケース、設計工程にて作成されるクラス図やシーケンス図、実装／テスト工程にて作成されるコンポーネントがある。
【０００４】
この中で、特にソフトウェアに関わるシステム全体の振る舞いを当該システムに含まれるオブジェクト間の時系列的なメッセージのやりとりで表現したシーケンス図の再利用が実現されれば、効率的なソフトウェア開発が進むことが期待される。
【０００５】
従来、２つの対象物間の類似度を計算する方法として、ＤＰ（Dynamic Programming）によるマッチング法がある（非特許文献１参照）。また、単語間の類似度を求める方法として、電子化辞書を用いたものがある（非特許文献２参照）。
【非特許文献１】田中穂積  監修、「自然言語処理−基礎と応用−」、初版、社団法人電子情報通信学会、平成１１年３月２５日、ｐ．１２〜１５
【非特許文献２】崔  進、小松英二、安原宏、「ＥＤＲ電子化辞書を用いた単語類似度計算法（自然言語処理９３−１）」、情報処理学会研究報告、１９９３年１月１３日、Ｖｏｌ．９３、Ｎｏ．１、ｐ．１〜６
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、前者の方法は、文字列を対象とした形態素解析などに用いられ、シーケンス図のように時系列的な流れを持つものの類似度は考えられていない。また、後者の方法では、単語間の類似度を計算することはできるが、シーケンス図のように単語が時系列的に並べられたものの類似度を計算することはできなかった。
【０００７】
本発明は、前述した従来の技術の問題点に鑑み、２つのシーケンス図の類似度を計算する方法、そのプログラム及び装置を提供することを目的とする。
【０００８】
また、本発明は、複数の既存のソフトウェアのシーケンス図の中から新規に開発しようとするソフトウェアのシーケンス図に最も類似したシーケンス図を抽出して提示する方法、そのプログラム及び装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明では、シーケンス図におけるメッセージ、特にその中に含まれる動詞に注目し、該動詞間の類似度を利用してシーケンス図の類似度を求める。
【００１０】
具体的には、ソフトウェアの開発工程において作成され、ソフトウェアに関わるシステム全体の振る舞いを、当該システムに含まれるオブジェクト間の時系列的なメッセージのやりとりで表現したシーケンス図に関し、２つのシーケンス図の類似度をコンピュータを用いて計算する方法であって、当該コンピュータは、２つのシーケンス図のメッセージから動詞を抽出し、これを時系列的に並べたタスクフローをそれぞれ作成する第１のステップと、２つのシーケンス図のメッセージから抽出された動詞間の類似度を求める第２のステップと、各タスクフローを横軸及び縦軸に配置し、該横軸及び縦軸間の動詞の組み合わせをノードとして各ノード間の辺に前記動詞間の類似度に基づく重みを付したグラフを作成する第３のステップと、前記グラフにおける各タスクフローの最初の動詞の組に対応するノードから各タスクフローの最後の動詞の組に対応するノードまでの最短経路を求め、その最短経路長から２つのシーケンス図の類似度を計算する第４のステップとを実行することを特徴とするシーケンス図の類似度計算方法を提案する。
【００１１】
前記構成によれば、シーケンス図のメッセージから動詞を抽出してタスクフローを作成することにより、シーケンス図が表すソフトウェアのモデルをオントロジー化でき、単語間の類似度を利用してＤＰによるマッチングにより該タスクフローの類似度を計算することにより、２つのシーケンス図の類似度を定量的に求めることが可能となる。
【００１２】
さらに、本発明では、前記計算方法を応用して、予め記憶手段に記憶された複数の既存のソフトウェアのシーケンス図のそれぞれと、入力手段または通信手段を介して入力された新規に開発しようとするソフトウェアのシーケンス図との類似度を計算し、これらのうちで類似度が最も高い既存のソフトウェアのシーケンス図を情報提示手段に提示することにより、ソフトウェアの開発に再利用可能なシーケンス図を選び出すことができる。
【発明の効果】
【００１３】
本発明によれば、ソフトウェアの開発工程において作成されるソフトウェア資産であるシーケンス図の類似度を計算することができ、これによって、既存のソフトウェアのシーケンス図の中から新規に開発しようとするソフトウェアのシーケンス図に類似したシーケンス図を抽出し、再利用することが可能となり、効率の良いソフトウェア開発が実現できる。
【発明を実施するための最良の形態】
【００１４】
最初に、２つのシーケンス図の類似度をコンピュータを用いて計算する方法の概要について述べる。
【００１５】
ここで、シーケンス図とは、ソフトウェアの開発工程において作成され、図１（ａ）に示すように、ソフトウェアに関わるシステム全体の振る舞いを、当該システムに含まれるオブジェクト間の時系列的な（１つの動詞を含む）メッセージのやりとりで表現したものとする。なお、ここでいうオブジェクトには、当該ソフトウェアが動作するコンピュータ等のハードウェア資源とともに、当該ソフトウェアを使用するユーザ（オペレータ）が含まれる場合もある。
【００１６】
まず、コンピュータは、シーケンス図中のメッセージ、例えばＡ−１，Ａ−２，…から動詞、例えばａ−１，ａ−２，…をそれぞれ抽出し、これを図１（ｂ）に示すように時系列的に並べる。この抽出された動詞の時系列的な列をタスクフローとし、２つのシーケンス図にそれぞれ対応する「２つのタスクフローの類似度」を計算することで、これらのシーケンス図の類似性を判断する。
【００１７】
次に、コンピュータは、２つのシーケンス図のメッセージから抽出された動詞の全ての組み合わせに対して、非特許文献２に記載された方法等により「動詞間の類似度」を求める。
【００１８】
次に、コンピュータは、図２に示すように、類似度を求める２つのタスクフロー、ここではＡ及びＢをそれぞれ横軸及び縦軸に配置し、該横軸及び縦軸間の動詞の組み合わせをノードとして各ノード間の辺に前記動詞間の類似度に基づく重みを付したグラフを作成する。
【００１９】
本発明におけるグラフとは、動詞の組により１つのノードを定義し、ノードとノードの間を向きを持つ辺で接続し、辺に対して実数の重みを付与した有向グラフを指す。
【００２０】
詳細には、タスクフローＡを構成する動詞を動詞ａ−ｉ（１≦ｉ≦Ｍ；Ｍは自然数）、タスクフローＢを構成する動詞を動詞ｂ−ｊ（１≦ｊ≦Ｎ；Ｎは自然数）とし、横軸及び縦軸間の動詞（ａ−ｉ及びｂ−ｊ）の組み合わせをノード（ｉ，ｊ）として、各ノード間にノード（ｉ−１，ｊ）からノード（ｉ，ｊ）への方向を有する辺、並びにノード（ｉ，ｊ−１）からノード（ｉ，ｊ）への方向を有する辺を備えたグラフを定義する。さらに、タスクフローＡのｉ番目の動詞及びタスクフローＢのｊ番目の動詞間の類似度ｓ（ｉ，ｊ）をノード（ｉ，ｊ）の重みとして、ノード（ｉ−１，ｊ）からノード（ｉ，ｊ）への方向を有する辺の重みＷ（ｉ−１，ｊ）（ｉ，ｊ）、並びにノード（ｉ，ｊ−１）からノード（ｉ，ｊ）への方向を有する辺の重みＷ（ｉ，ｊ−１）（ｉ，ｊ）を
Ｗ（ｉ−１，ｊ）（ｉ，ｊ）＝Ｗ（ｉ，ｊ−１）（ｉ，ｊ）＝１−ｓ（ｉ，ｊ）
として付与する。
【００２１】
最後に、コンピュータは、前記グラフにおける各タスクフローの最初の動詞の組に対応するノード、即ち（１，１）から各タスクフローの最後の動詞の組に対応するノード、即ち（Ｍ，Ｎ）までの最短経路を既知のダイクストラ法で求め、この時の最短経路の経路長、例えばｒを（Ｍ＋Ｎ−２）から引いて（Ｍ＋Ｎ−２）で割ったものをタスクフローＡ及びＢの類似度、即ちそれらの基となった２つのシーケンス図の類似性Ｓとする。
【００２２】
次に、本発明の詳細な実施の形態について説明する。
【００２３】
図３は本発明の実施の形態にかかるシーケンス図の類似度計算装置の一例を示すもので、図中、１は既存シーケンス図記憶部、２は動詞間類似度記憶部、３は入力部、４は表示部、５はコンピュータである。
【００２４】
既存シーケンス図記憶部１は、複数の既存のソフトウェアのシーケンス図を記憶している。動詞間類似度記憶部２は、非特許文献２に記載された方法等により予め計算された複数の動詞間の類似度を記憶・保持している。入力部３は、オペレータ（ユーザ）が新規に開発しようとしているソフトウェアのシーケンス図をコンピュータ５に入力するためのものである。表示部４は、コンピュータ５によって得られた類似度が最も高い既存のソフトウェアのシーケンス図をオペレータ（ユーザ）に提示するためのものである。
【００２５】
なお、新規に開発しようとしているソフトウェアのシーケンス図は、他のコンピュータより図示しない通信部を介して入力するようにしても良く、また、一旦、図示しない記憶手段に記憶したものを当該記憶手段から読み出して入力するようにしても良い。
【００２６】
コンピュータ５は、図４にフローチャートで示すプログラムに従って前述した各部を制御するとともに、この際、タスクフロー作成部６、グラフ作成部７、最短経路探索部８及び判定部９を構成する。
【００２７】
前記タスクフロー作成部６は、入力部３（または図示しない通信部）を介して入力された新規に開発しようとしているソフトウェアのシーケンス図及び既存シーケンス図記憶部１より読み出した一つの既存のソフトウェアのシーケンス図のメッセージから動詞を抽出し、これを時系列的に並べたタスクフローをそれぞれ作成する機能を実現する。
【００２８】
グラフ作成部７は、動詞間類似度記憶部２から各タスクフローに含まれる動詞間の類似度を検索・記憶するとともに、各タスクフローを横軸及び縦軸に配置し、該横軸及び縦軸間の動詞の組み合わせをノードとして各ノード間の辺に前記検索した動詞間の類似度に基づく重みを付したグラフを作成する機能を実現する。
【００２９】
最短経路探索部８は、前記グラフにおける各タスクフローの最初の動詞の組に対応するノードから各タスクフローの最後の動詞の組に対応するノードまでの最短経路を求め、その最短経路長から２つのシーケンス図の類似度を計算する機能を実現する。
【００３０】
判定部９は、タスクフロー作成部６、グラフ作成部７及び最短経路探索部８に、既存シーケンス図記憶部１中の既存のソフトウェアのシーケンス図の全てを対象とする同様の処理を繰り返し実行させ、類似度が最も高い既存のソフトウェアのシーケンス図を選択して表示部４に提示する機能を実現する。
【００３１】
以下、本発明装置によるシーケンス図の類似度計算方法を既に存在する２つのソフトウェア（機能）、具体的には光アクセスサービスを支えるＧＥ−ＰＯＮ（Gigabit Ethernet Passive Optical Network）というネットワークシステムを管理するＯＳＳ（Operation Support System）における「ＯＬＴを登録する」という機能及び「ＰＯＮ−ＩＦを登録する」という機能について比較する場合を例に挙げて説明する。
【００３２】
まず、コンピュータ５は、そのタスクフロー作成部６により、「ＯＬＴを登録する」という機能及び「ＰＯＮ−ＩＦを登録する」という機能に関する設計書であるシーケンス図（図示せず）のメッセージから動詞を抽出し、タスクフローを作成する（ｓ１）。この際の各タスクフローを図５にそれぞれ示す。
【００３３】
次に、コンピュータ５は、そのグラフ作成部７により、動詞間類似度記憶部２から前記各タスクフローに含まれる全ての動詞間の類似度を検索し記憶する（ｓ２）。この際の各動詞間の類似度を表形式で図６に示す。
【００３４】
また、コンピュータ５は、そのグラフ作成部７により、各タスクフローを横軸及び縦軸に配置し、該横軸及び縦軸間の動詞の組み合わせをノードとする有向グラフを定義し（ｓ３）、各ノード間の辺に前記動詞間の類似度に基づく重み付けを行う（ｓ４）。この際の有向グラフを図７に示す。
【００３５】
次に、コンピュータ５は、その最短経路探索部８により、前記グラフにおける各タスクフローの最初の動詞の組に対応するノード（Ｎｏ．１）から各タスクフローの最後の動詞の組に対応するノード（Ｎｏ．３２）までの最短経路を既知のダイクストラ法を用いて求める（ｓ５）。この際の最初のノード（Ｎｏ．１）から各ノードまでの最短距離を図８に示す。
【００３６】
また、コンピュータ５は、その最短経路探索部８により、ノード（Ｎｏ．１）からノード（Ｎｏ．３２）までの最短距離ｒ、ここでは「３」から類似度Ｓを
Ｓ＝（（Ｍ＋Ｎ−２）−（最短距離））／（Ｍ＋Ｎ−２）
＝（１０−３）／１０
＝０．７
により求める（ｓ６）。図７の有向グラフにおいて、この時の最短経路を実線で表したものを図９に示す。
【００３７】
これにより、「２つのタスクフローの類似度」、即ち「２つの機能（ソフトウェア）に対応するシーケンス図の類似度」を定量的に求めることが可能となる。「ＯＬＴを登録する」と「ＰＯＮ−ＩＦを登録する」は別々の機能であるが、類似度が０．７であることより、登録するという手順として類似する部分を含んでいることが分かる。
【００３８】
なお、以上では、比較するシーケンス図が２つの場合に絞って説明したが、新規に開発しようとするソフトウェアのシーケンス図を複数の既存のソフトウェアのシーケンス図と比較する場合のように、比較するシーケンス図が複数であれば、コンピュータ５は、その判定部９により、全てのシーケンス図に対する類似度Ｓを算出するまでｓ１〜ｓ６の動作を繰り返し実行させ（ｓ７）、その結果、類似度が最も高いシーケンス図を表示部４に提示する（ｓ８）ことになる。
【図面の簡単な説明】
【００３９】
【図１】シーケンス図及びこれから抽出されたタスクフローの一例を示す説明図
【図２】有向グラフの一例を示す説明図
【図３】本発明の実施の形態にかかるシーケンス図の類似度計算装置の構成図
【図４】本発明の実施の形態にかかるシーケンス図の類似度計算方法のプログラムに対応するフローチャート
【図５】タスクフローの具体例を示す説明図
【図６】動詞間の類似度の具体例を示す説明図
【図７】有向グラフの具体例を示す説明図
【図８】図７中のグラフにおける各ノードまでの最短距離を示す説明図
【図９】最短経路を示した有向グラフの具体例を示す説明図
【符号の説明】
【００４０】
１：既存シーケンス図記憶部、２：動詞間類似度記憶部、３：入力部、４：表示部、５：コンピュータ、６：タスクフロー作成部、７：グラフ作成部、８：最短経路探索部、９：判定部。
【図１】
2006323624.tif 000003
【図２】
2006323624.tif 000004
【図３】
2006323624.tif 000005
【図４】
2006323624.tif 000006
【図５】
2006323624.tif 000007
【図６】
2006323624.tif 000008
【図７】
2006323624.tif 000009
【図８】
2006323624.tif 000010
【図９】
2006323624.tif 000011