(57)【要約】      （修正有）【課題】ユースケース図またはアクティビティ図のうちいずれか一方の図を与えるだけで他方の図を自動生成することにより、両図間の整合性を取ることができる。【解決手段】対象ユースケースが包含関係のあるユースケースＡ，Ｂを含むユースケース３００である場合、ユースケースＡが包含元、ユースケースＢが包含先であるとすると、ユースケースＡを、アクティビティＡを処理するアクティビティ３１１に変換し、ユースケースＢを、アクティビティＡのサブアクティビティＢを処理するアクティビティ３１２に変換する。対象アクティビティがアクティビティＡを処理するアクティビティ３１１とそのサブアクティビティＢを処理するサブアクティビティ３１２を含むアクティビティ図集合３１０である場合、アクティビティＡを包含元のユースケースＡ、サブアクティビティＢをその包含先のユースケースＢとするユースケース３００に変換する。【選択図】図３
2008129858.tif 000002
【特許請求の範囲】
【請求項１】
設計／検証対象の機能を表現するユースケース図を取得させる取得工程と、
前記取得工程によって取得されたユースケース図の構造を解析させる解析工程と、
前記解析工程によって解析された構造に基づいて、前記ユースケース図を前記設計／検証対象の処理手順を表現するアクティビティ図に変換させる変換工程と、
前記変換工程によって変換されたアクティビティ図を出力させる出力工程と、
をコンピュータに実行させることを特徴とする設計／検証支援プログラム。
【請求項２】
設計／検証対象の処理手順を表現するアクティビティ図を取得させる取得工程と、
前記取得工程によって取得されたアクティビティ図の構造を解析させる解析工程と、
前記解析工程によって解析された構造に基づいて、前記アクティビティ図を前記設計／検証対象の機能を表現するユースケース図に変換させる変換工程と、
前記変換工程によって変換されたユースケース図を出力させる出力工程と、
をコンピュータに実行させることを特徴とする設計／検証支援プログラム。
【請求項３】
設計／検証対象の機能を表現するユースケース図と前記設計／検証対象の処理手順を表現するアクティビティ図を取得させる取得工程と、
前記取得工程によって取得されたユースケース図の構造を解析させる解析工程と、
前記解析工程によって解析された構造に基づいて、前記ユースケース図を前記設計／検証対象の処理手順を表現するアクティビティ図に変換させる変換工程と、
前記取得工程によって取得されたアクティビティ図と前記変換工程によって変換されたアクティビティ図との同一性の検証をおこなわせる検証工程と、
前記検証工程によって検証された検証結果を出力させる出力工程と、
をコンピュータに実行させることを特徴とする設計／検証支援プログラム。
【請求項４】
前記検証工程は、
前記取得工程によって取得されたアクティビティ図が前記変換工程によって変換されたアクティビティ図に含まれているか否かという検証をおこなわせることを特徴とする請求項３に記載の設計／検証支援プログラム。
【請求項５】
前記検証工程は、
前記取得工程によって取得されたアクティビティ図の構造と前記変換工程によって変換されたアクティビティ図の構造との一致検証をおこなわせることを特徴とする請求項３に記載の設計／検証支援プログラム。
【請求項６】
設計／検証対象の機能を表現するユースケース図と前記設計／検証対象の処理手順を表現するアクティビティ図を取得させる取得工程と、
前記取得工程によって取得されたアクティビティ図の構造を解析させる解析工程と、
前記解析工程によって解析された構造に基づいて、前記アクティビティ図を前記設計／検証対象の処理手順を表現するユースケース図に変換させる変換工程と、
前記取得工程によって取得されたユースケース図と前記変換工程によって変換されたユースケース図との同一性の検証をおこなわせる検証工程と、
前記検証工程によって検証された検証結果を出力させる出力工程と、
をコンピュータに実行させることを特徴とする設計／検証支援プログラム。
【請求項７】
前記検証工程は、
前記取得工程によって取得されたユースケース図の構造と前記変換工程によって変換されたユースケース図の構造との一致検証をおこなわせることを特徴とする請求項６に記載の設計／検証支援プログラム。
【請求項８】
請求項１〜７のいずれか一つに記載の設計／検証支援プログラムを前記コンピュータに記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＬＳＩ設計やソフトウェア開発全般の上流工程における設計／検証を支援する設計／検証支援プログラム、該プログラムを記録した記録媒体、設計／検証支援装置、および設計／検証支援方法に関する。
【背景技術】
【０００２】
ＬＳＩ設計における上流設計の工程において、またはソフトウェア開発全般の上流工程において、仕様書やコンピュータで解釈可能な仕様モデルをＵＭＬ（Unified Modeling Language）を用いて表現、記述することが必須となりつつある。仕様書をユースケース図で記述したり、仕様モデルをアクティビティ図で記述したりするが（その逆もあり）、これらについて、それぞれを表現する手段は提供されている（たとえば、下記特許文献１〜６を参照。）。
【０００３】
【特許文献１】特開２００３−７６５４８号公報
【特許文献２】特開２００３−１０８２２０号公報
【特許文献３】特開２００３−１７８１０３号公報
【特許文献４】特表２００５−５３０２３８号公報
【特許文献５】特開２００４−７０８１０号公報
【特許文献６】特開２０００−３５３０８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来技術では、同一の設計／検証対象についてユースケース図とアクティビティ図とを独立して作成していたため、ユースケース図とアクティビティ図間で整合性が取れていない場合が発生するという問題があった。
【０００５】
また、同一の設計／検証対象についてユースケース図とアクティビティ図との整合性がとれていないと、誤った上流設計をおこなってしまうこととなり、設計ミスや手戻りが発生する。したがって、作業労力が増大し、設計期間が長期化するという問題があった。
【０００６】
また、上述した従来技術では、ユースケース図とアクティビティ図との整合性をとる場合、人手によりおこなわなければならず、見落としなどの人的エラーが生じるおそれがある。したがって、この場合においても、設計ミスや手戻りが発生する。したがって、作業労力が増大し、設計期間が長期化するという問題があった。
【０００７】
この発明は、上述した従来技術による問題点を解消するため、ユースケース図またはアクティビティ図のうちいずれか一方の図を与えるだけで他方の図を自動生成することにより、作業労力の低減化および設計期間の短縮化を実現することができる設計／検証支援プログラム、該プログラムを記録した記録媒体、設計／検証支援装置、および設計／検証支援方法を提供することを目的とする。
【０００８】
また、整合性の取れた高品質なユースケース図やアクティビティ図を容易に生成することにより、作業労力の低減化および設計期間の短縮化を実現することができる設計／検証支援プログラム、該プログラムを記録した記録媒体、設計／検証支援装置、および設計／検証支援方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するため、第１の発明にかかる設計／検証支援プログラム、該プログラムを記録した記録媒体、設計／検証支援装置、および設計／検証支援方法は、設計／検証対象の機能を表現するユースケース図を取得し、取得されたユースケース図の構造を解析し、解析された構造に基づいて、前記ユースケース図を前記設計／検証対象の処理手順を表現するアクティビティ図に変換し、変換されたアクティビティ図を出力することを特徴とする。
【００１０】
この発明によれば、ユースケース図を与えるだけで、その機能と等価な処理をおこなうアクティビティ図を自動的に生成することができる。
【００１１】
また、第２の発明にかかる設計／検証支援プログラム、該プログラムを記録した記録媒体、設計／検証支援装置、および設計／検証支援方法は、設計／検証対象の処理手順を表現するアクティビティ図を取得し、取得されたアクティビティ図の構造を解析し、解析された構造に基づいて、前記アクティビティ図を前記設計／検証対象の機能を表現するユースケース図に変換し、変換されたユースケース図を出力することを特徴とする。
【００１２】
この発明によれば、アクティビティ図を与えるだけで、その処理手順と等価な機能を有するユースケース図を自動的に生成することができる。
【００１３】
また、第３の発明にかかる設計／検証支援プログラム、該プログラムを記録した記録媒体、設計／検証支援装置、および設計／検証支援方法は、設計／検証対象の機能を表現するユースケース図と前記設計／検証対象の処理手順を表現するアクティビティ図を取得し、取得されたユースケース図の構造を解析し、解析された構造に基づいて、前記ユースケース図を前記設計／検証対象の処理手順を表現するアクティビティ図に変換し、取得されたアクティビティ図と変換されたアクティビティ図との同一性の検証をおこない、検証結果を出力することを特徴とする。
【００１４】
この発明によれば、アクティビティ図とユースケース図から自動生成されたアクティビティ図との整合性をとることができる。
【００１５】
また、上記発明において、取得されたアクティビティ図が変換されたアクティビティ図に含まれているか否かという検証をおこなうこととしてもよい。また、取得されたアクティビティ図の構造と変換されたアクティビティ図の構造との一致検証をおこなうこととしてもよい。
【００１６】
この発明によれば、アクティビティ図とユースケース図から自動生成されたアクティビティ図とが相違する箇所を明確にすることができる。
【００１７】
また、第４の発明にかかる設計／検証支援プログラム、該プログラムを記録した記録媒体、設計／検証支援装置、および設計／検証支援方法は、設計／検証対象の機能を表現するユースケース図と前記設計／検証対象の処理手順を表現するアクティビティ図を取得し、取得されたアクティビティ図の構造を解析し、解析された構造に基づいて、前記アクティビティ図を前記設計／検証対象の処理手順を表現するユースケース図に変換し、取得されたユースケース図と変換されたユースケース図との同一性の検証をおこない、検証結果を出力することを特徴とする。
【００１８】
この発明によれば、ユースケース図とアクティビティ図から自動生成されたユースケース図との整合性をとることができる。
【００１９】
また、上記発明において、取得されたユースケース図の構造と変換されたユースケース図の構造との一致検証をおこなうこととしてもよい。また、ユースケースの一致検証をおこなうこととしてもよい。さらに、ユースケース間の関係の一致検証をおこなうこととしてもよい。
【００２０】
この発明によれば、ユースケース図とアクティビティ図から自動生成されたユースケース図とが相違する箇所を明確にすることができる。
【発明の効果】
【００２１】
本発明にかかる設計／検証支援プログラム、該プログラムを記録した記録媒体、設計／検証支援装置、および設計／検証支援方法によれば、ユースケース図またはアクティビティ図のうちいずれか一方の図を与えるだけで他方の図を自動生成することにより、作業労力の低減化および設計期間の短縮化を実現することができるという効果を奏する。
【００２２】
また、整合性の取れた高品質なユースケース図やアクティビティ図を容易に生成することにより、作業労力の低減化および設計期間の短縮化を実現することができるという効果を奏する。
【発明を実施するための最良の形態】
【００２３】
以下に添付図面を参照して、この発明にかかる設計／検証支援プログラム、該プログラムを記録した記録媒体、設計／検証支援装置、および設計／検証支援方法の好適な実施の形態を詳細に説明する。
【００２４】
（設計／検証支援装置のハードウェア構成）
まず、この発明の実施の形態にかかる設計／検証支援装置のハードウェア構成について説明する。図１は、この発明の実施の形態にかかる設計／検証支援装置のハードウェア構成を示すブロック図である。
【００２５】
図１において、設計／検証支援装置は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、ＨＤＤ（ハードディスクドライブ）１０４と、ＨＤ（ハードディスク）１０５と、ＦＤＤ（フレキシブルディスクドライブ）１０６と、着脱可能な記録媒体の一例としてのＦＤ（フレキシブルディスク）１０７と、ディスプレイ１０８と、Ｉ／Ｆ（インターフェース）１０９と、キーボード１１０と、マウス１１１と、スキャナ１１２と、プリンタ１１３と、を備えている。また、各構成部はバス１００によってそれぞれ接続されている。
【００２６】
ここで、ＣＰＵ１０１は、設計／検証支援装置の全体の制御を司る。ＲＯＭ１０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ１０３は、ＣＰＵ１０１のワークエリアとして使用される。ＨＤＤ１０４は、ＣＰＵ１０１の制御にしたがってＨＤ１０５に対するデータのリード／ライトを制御する。ＨＤ１０５は、ＨＤＤ１０４の制御で書き込まれたデータを記憶する。
【００２７】
ＦＤＤ１０６は、ＣＰＵ１０１の制御にしたがってＦＤ１０７に対するデータのリード／ライトを制御する。ＦＤ１０７は、ＦＤＤ１０６の制御で書き込まれたデータを記憶したり、ＦＤ１０７に記憶されたデータを設計／検証支援装置に読み取らせたりする。
【００２８】
また、着脱可能な記録媒体として、ＦＤ１０７のほか、ＣＤ−ＲＯＭ（ＣＤ−Ｒ、ＣＤ−ＲＷ）、ＭＯ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、メモリーカードなどであってもよい。ディスプレイ１０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ１０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００２９】
Ｉ／Ｆ１０９は、通信回線を通じてインターネットなどのネットワーク１１４に接続され、このネットワーク１１４を介して他の装置に接続される。そして、Ｉ／Ｆ１０９は、ネットワーク１１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ１０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００３０】
キーボード１１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス１１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００３１】
スキャナ１１２は、画像を光学的に読み取り、設計／検証支援装置内に画像データを取り込む。なお、スキャナ１１２は、ＯＣＲ機能を持たせてもよい。また、プリンタ１１３は、画像データや文書データを印刷する。プリンタ１１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００３２】
（設計／検証支援装置の機能的構成）
つぎに、この発明の実施の形態にかかる設計／検証支援装置の機能的構成について説明する。図２は、この発明の実施の形態にかかる設計／検証支援装置の機能的構成を示すブロック図である。図２において、設計／検証支援装置２００は、取得部２０１と構造解析部２０２と変換部２０３と検証部２０４と出力部２０５を備えている。これらの機能的構成は、具体的には、たとえば、図１に示したＲＯＭ１０２、ＲＡＭ１０３、ＨＤ１０５、ＦＤ１０７などに記録されたプログラムを、ＣＰＵ１０１が実行することによって、またはＩ／Ｆ１０９によってその機能を実現する。
【００３３】
まず、取得部２０１は、同一設計／検証対象のユースケース図２１１およびアクティビティ図２１２を取得する機能を有する。ここで、設計／検証対象とは、たとえば、上流設計において設計や検証の対象となっているシステムであり、ハードウェアであるかソフトウェアであるかは問わない。
【００３４】
また、ユースケース図２１１とは、設計／検証対象の機能を表現した図データであり、その記述内容はコンピュータ（ＣＰＵ１０１）により解釈可能なデータとなっている。また、アクティビティ図２１２は、設計／検証対象の処理手順を表現した図データであり、その記述内容もコンピュータ（ＣＰＵ１０１）により解釈可能なデータとなっている。
【００３５】
ここで、ユースケース図２１１やアクティビティ図２１２を構成するデータを「要素」と称す。特に、ユースケース図２１１を構成するデータを「ユースケース要素」と称し、アクティビティ図２１２を構成する要素を「アクティビティ要素」と称す。すなわち、ユースケース図２１１は、ユースケース要素の集合により構成されており、アクティビティ図２１２は、アクティビティ要素の集合により構成されている。
【００３６】
たとえば、ユースケース要素には、ユースケース、アクター、ユースケースやアクターを結ぶ接続線、ユースケース間の関係（包含関係、拡張関係、汎化関係）を表現した接続線（ステレオタイプを含む）などがある。また、アクティビティ要素には、アクティビティ、サブアクティビティ、開始点、終了点、遷移（アクティビティなどに対する矢印）、ガード条件、分岐、同期バー（フォーク、ジョイン）、スイムレーン、シグナルなどがある。
【００３７】
また、取得部２０１では、キーボード１１０やマウス１１１などの入力装置を用いて要素を入力することで作成されたユースケース図やアクティビティ図を読み込む構成としてもよく、あらかじめデータベースに格納されたユースケース図やアクティビティ図を抽出することとしてもよい、また、外部のコンピュータ装置からネットワーク１１４を介して受信（ダウンロード）することとしてもよい。
【００３８】
ここで、取得されたユースケース図２１１は、設計／検証対象全体の機能を表現したユースケース図でもよく、また、少なくともユースケースを含んでいれば設計／検証対象の一部の機能を表現したユースケース図であってもよい。以後、このユースケース図２１１を、「対象ユースケース図２１１」と称す。
【００３９】
また、取得されたアクティビティ図２１２についても、設計／検証対象全体の処理手順を表現したアクティビティ図２１２でもよく、また、少なくともアクティビティまたはサブアクティビティを含んでいれば設計／検証対象の一部の処理手順を表現したアクティビティ図２１２であってもよい。以後、このアクティビティ図２１２を、「対象アクティビティ図２１２」と称す。
【００４０】
また、構造解析部２０２は、ユースケース図構造解析部２２１とアクティビティ図構造解析部２２２とを備えている。ユースケース図構造解析部２２１は、対象ユースケース図２１１の構造を解析する機能を有する。具体的には、対象ユースケース図２１１がどのようなユースケース要素から構成され、それらがどのユースケース要素と繋がっているか、またどのような関係（包含関係、拡張関係、汎化関係）があるかといったことを解析する。
【００４１】
また、アクティビティ図構造解析部２２２は、対象アクティビティ図２１２の構造を解析する機能を有する。具体的には、対象アクティビティ図２１２がどのようなアクティビティ要素から構成され、それらがどのアクティビティ要素と繋がっているか、またどのような処理手順を表現しているのか、またどのような条件が課されているのかといったことを解析する。
【００４２】
また、変換部２０３は、ユースケース図／アクティビティ図変換部２３１とアクティビティ図/ユースケース図変換部２３２とを備えている。ユースケース図／アクティビティ図変換部２３１は、ユースケース図構造解析部２２１により構造解析された対象ユースケース図２１１をアクティビティ図に変換する機能を有する。
【００４３】
詳細な変換例については後述するが、簡単に変換手法を説明すると、たとえば、対象ユースケース図２１１内のユースケースｘをアクティビティｘとするアクティビティ図Ｘに変換する。たとえば、ユースケースｘが『見積もりを作成する』というユースケースであるとすると、アクティビティ図Ｘは、『見積もりを作成する』というアクティビティｘを処理するアクティビティ図となる。
【００４４】
また、ユースケースｘ，ｙ間に包含関係がある場合、包含元のユースケースｘをアクティビティｘとするアクティビティ図Ｘに変換する。この場合、アクティビティ図Ｘのサブアクティビティ図として、包含先のユースケースｙをアクティビティｘのサブアクティビティｙとするサブアクティビティ図Ｙに変換する。
【００４５】
たとえば、ユースケースｙが『ユーザ情報を確認する』というユースケースであるとすると、アクティビティ図Ｘは、『見積もりを作成する』というアクティビティｘを処理するアクティビティ図となり、アクティビティ図Ｙは、『ユーザ情報を確認する』というサブアクティビティｙを処理するアクティビティ図となる。
【００４６】
また、ユースケースｘ，ｚ間に拡張関係がある場合、拡張対象となるユースケースｘをアクティビティｘとするアクティビティ図Ｘに変換する。この場合、拡張機能を有するユースケースｚをアクティビティｘの分岐先のサブアクティビティとするサブアクティビティ図Ｚに変換する。
【００４７】
たとえば、ユースケースｚが『割引する』というユースケースであるとすると、アクティビティ図Ｘは、『見積もりを作成する』というアクティビティｘを処理するアクティビティ図となり、アクティビティ図Ｚは、『割引する』というサブアクティビティｚを『見積もりを作成する』というアクティビティｘの分岐先のサブアクティビティとするアクティビティ図となる。
【００４８】
また、ユースケースｗ１，ｗ２間に汎化関係がある場合、抽象的なユースケースｗ１と具象的なユースケースｗ２とをそれぞれアクティビティｗ１，ｗ２とするアクティビティ図Ｗ１，Ｗ２に変換する。この場合、抽象的なアクティビティ図Ｗ１にサブアクティビティ図Ｗ３があるとすると、具象的なアクティビティ図Ｗ２のサブアクティビティ図もサブアクティビティ図Ｗ３となる。なお、変換により得られたアクティビティ図を「変換済みアクティビティ図２５１」と称す。なお、変換によりえられたサブアクティビティ図も便宜上、「変換済みアクティビティ図２５１」と称す。
【００４９】
また、アクティビティ図／ユースケース図変換部２３２は、アクティビティ図構造解析部２２２により構造解析された対象アクティビティ図２１２をユースケース図に変換する機能を有する。
【００５０】
詳細な変換例については後述するが、簡単に変換手法を説明すると、たとえば、対象アクティビティ図２１２内のアクティビティｘをユースケースｘとするユースケース図Ｘに変換する。たとえば、アクティビティｘが『見積もりを作成する』というアクティビティであるとすると、ユースケース図Ｘは、『見積もりを作成する』というユースケースｘという機能を表現するユースケース図となる。
【００５１】
また、アクティビティｘについてサブアクティビティｙが存在する場合、アクティビティｘを包含元のユースケースｘとし、サブアクティビティｙを包含先のユースケースｙとし、ユースケースｘ，ｙ間を包含関係とするユースケース図ＸＹに変換する。
【００５２】
たとえば、サブアクティビティｙが『ユーザ情報を確認する』というアクティビティであるとすると、ユースケース図ＸＹは、『見積もりを作成する』というアクティビティｘを包含元のユースケースｘとし、『ユーザ情報を確認する』というサブアクティビティｙを包含先のユースケースｙとし、包含元のユースケースｘと包含先のユースケースｙとを包含関係で接続したユースケース図となる。
【００５３】
また、アクティビティｘについて分岐先となるサブアクティビティｚが存在する場合、アクティビティｘを拡張対象のユースケースｘとし、サブアクティビティｚを拡張機能を有するユースケースｚとし、ユースケースｘ，ｚ間を拡張関係とするユースケース図ＸＺに変換する。
【００５４】
たとえば、サブアクティビティｚが『割引する』というアクティビティであるとすると、ユースケース図ＸＺは、『見積もりを作成する』というアクティビティｘを拡張対象のユースケースｘとし、『割引する』というサブアクティビティｚを拡張機能を有するユースケースｚとし、拡張対象のユースケースｘと拡張機能を有するユースケースｚとを拡張関係で接続したユースケース図となる。なお、変換により得られたユースケース図を「変換済みユースケース図２５２」と称す。
【００５５】
また、検証部２０４は、アクティビティ図検証部２４１とユースケース図検証部２４２とを備えている。アクティビティ図検証部２４１は、対象アクティビティ図２１２と変換済みアクティビティ図２５１（または変換済みサブアクティビティ図）との同一性の検証をおこなう。この検証は、たとえば、対象アクティビティ図２１２が変換済みアクティビティ図２５１と一致するか否かを検証する。また、対象アクティビティ図２１２が変換済みサブアクティビティ図と一致するか否かを検証する。また、変換済みサブアクティビティ図が複数ある場合、対象アクティビティ図２１２が変換済みサブアクティビティ図に含まれているか否かを検証する。
【００５６】
また、ユースケース図検証部２４２は、対象ユースケース図２１１と変換済みユースケース図２５２との同一性の検証をおこなう。この検証は、たとえば、対象ユースケース図２１１と変換済みユースケース図２５２との間でユースケースが一致するか否かを検証したり、対象ユースケース図２１１における各ユースケース間の関係と、変換済みユースケース図２５２における各ユースケース間の関係とが一致するか否かを検証する。
【００５７】
また、出力部２０５は、変換済みユースケース図２５２、変換済みアクティビティ図２５１（変換済みサブアクティビティ図も含む）、検証部２０４からの検証結果２５３を出力する機能を有する。具体的には、これらの出力情報をディスプレイ１０８の表示画面に表示したり、プリンタ１１３により印刷出力する。また、ＨＤ１０５などの記録媒体に出力して記録することとしてもよい。
【００５８】
（ユースケース図とアクティビティ図との変換ルール）
つぎに、変換部２０３におけるユースケース図２１１とアクティビティ図２１２との変換ルールについて説明する。図３は、変換ルール＜Ｒ１＞，＜Ｒ２＞を示す説明図であり、図４は、変換ルール＜Ｒ３＞，＜Ｒ４＞を示す説明図である。
【００５９】
＜Ｒ１＞（図３参照）
対象ユースケース図２１１が包含関係のあるユースケースＡ，Ｂを含むユースケース図３００である場合、ユースケースＡが包含元、ユースケースＢが包含先であるとすると、ユースケースＡを、アクティビティＡを処理するアクティビティ図３１１に変換し、ユースケースＢを、アクティビティＡのサブアクティビティＢを処理するサブアクティビティ図３１２に変換する。
【００６０】
＜Ｒ２＞（図３参照）
対象アクティビティ図２１２がアクティビティＡを処理するアクティビティ図３１１とそのサブアクティビティＢを処理するサブアクティビティ図３１２を含むアクティビティ図集合３１０である場合、アクティビティＡを包含元のユースケースＡ、サブアクティビティＢをその包含先のユースケースＢとするユースケース図３００に変換する。
【００６１】
＜Ｒ３＞（図４参照）
対象ユースケース図２１１が拡張関係のあるユースケースＡ，Ｂを含むユースケース図４００である場合、ユースケースＡが拡張対象、ユースケースＢがその拡張機能であるとすると、ユースケースＡを、アクティビティＡを処理するアクティビティ図４１１に変換し、ユースケースＢを、分岐によりアクティビティＡのサブアクティビティＢを処理する場合があるサブアクティビティ図４１２に変換する。
【００６２】
＜Ｒ４＞（図４参照）
対象アクティビティ図２１２がアクティビティＡを処理するアクティビティ図４１１と分岐によりそのサブアクティビティＢを処理する場合があるサブアクティビティ図４１２を含むアクティビティ図集合４１０である場合、アクティビティＡを拡張対象となるユースケースＡとし、サブアクティビティＢをその拡張機能となるユースケースＢとするユースケース図４００に変換する。
【００６３】
つぎに、上記変換ルール＜Ｒ１＞〜＜Ｒ４＞を用いた変換例について説明する。図５は、ユースケース図とアクティビティ図との変換例１を示す説明図である。変換例１はユースケースＡ，Ｃ間に拡張関係があり、かつ、ユースケースＢ，Ｃ間に包含関係がある場合の例である。具体的には、ユースケース図５００において、ユースケースＣが、ユースケースＡの拡張機能となるユースケースであるとともに、ユースケースＢの包含先となるユースケースでもある。
【００６４】
図５において、ユースケース図５００を対象ユースケース図２１１とすると、ユースケースＡ，Ｃ間においては、変換ルール＜Ｒ３＞が適用される。これにより、ユースケースＡをアクティビティＡとして処理するアクティビティ図５１１と、アクティビティＡにおいて分岐によりサブアクティビティＣを処理する場合があるサブアクティビティ図５１２とを含むアクティビティ図集合５１０を生成する。
【００６５】
同様に、ユースケースＢ，Ｃ間においては、変換ルール＜Ｒ１＞が適用される。これにより、ユースケースＢをアクティビティＢとして処理するアクティビティ図５２１と、アクティビティＢにおいてサブアクティビティＣを処理するサブアクティビティ図５２２とを含むアクティビティ図集合５２０を生成する。
【００６６】
また、アクティビティ図集合５１０，５２０を対象アクティビティ図２１２とすると、アクティビティ図集合５１０には変換ルール＜Ｒ４＞が適用され、アクティビティ図集合５２０には変換ルール＜Ｒ２＞が適用される。この場合、変換後のユースケース図５００では、サブアクティビティＣから変換されたユースケースＣがユースケースＡ，Ｂに共通のユースケースとなる。
【００６７】
このように、図５の変換例１では、サブアクティビティＣが同一アクティビティであることは、個々のアクティビティ図集合５１０，５２０からは判断できない。このアクティビティ図集合５１０，５２０をユースケース図５００に変換することで、ユースケースＡの拡張機能となるユースケースとユースケースＢの包含先となるユースケースとが、同一のユースケースＣであることがわかる。
【００６８】
図６は、ユースケース図とアクティビティ図との変換例２を示す説明図である。変換例２はユースケースＡ，Ｃ間に包含関係があるとともに、ユースケースＢ，Ｃ間にも包含関係がある場合の例である。具体的には、ユースケース図６００において、ユースケースＡ，ＢはともにユースケースＣの包含元のユースケースである。
【００６９】
図６において、ユースケース図６００を対象ユースケース図２１１とすると、ユースケースＡ，Ｃ間およびユースケースＢ，Ｃ間ともに、変換ルール＜Ｒ１＞が適用される。具体的には、ユースケースＡをアクティビティＡとして処理するアクティビティ図６１１と、アクティビティＡにおいてサブアクティビティＣを処理するサブアクティビティ図６１２とを含むアクティビティ図集合６１０を生成する。また、ユースケースＢをアクティビティＢとして処理するアクティビティ図６２１と、アクティビティＢにおいてサブアクティビティＣを処理するサブアクティビティ図６２２とを含むアクティビティ図集合６２０を生成する。
【００７０】
一方、アクティビティ図集合６１０，６２０を対象アクティビティ図２１２とすると、アクティビティ図集合６１０，６２０ともに、変換ルール＜Ｒ３＞が適用される。具体的には、上位のアクティビティＡ，Ｂを包含元のユースケースとし、そのサブアクティビティＣを包含先となるユースケースとするユースケース図６００を生成する。
【００７１】
このように、図６の変換例２では、サブアクティビティＣが同一アクティビティであることは、個々のアクティビティ図集合６１０，６２０からは判断できない。このアクティビティ図集合６１０，６２０をユースケース図６００に変換することで、ユースケースＡの包含先となるユースケースとユースケースＢの包含先となるユースケースとが、同一のユースケースＣであることがわかる。
【００７２】
図７は、ユースケース図とアクティビティ図との変換例３を示す説明図である。変換例３はユースケースＡ，Ｃ間に拡張関係があるとともに、ユースケースＢ，Ｃ間にも拡張関係がある場合の例である。具体的には、ユースケース図７００において、ユースケースＡ，ＢはともにユースケースＣの拡張対象となるユースケースである。
【００７３】
図７において、ユースケース図７００を対象ユースケース図２１１とすると、ユースケースＡ，Ｃ間およびユースケースＢ，Ｃ間ともに、変換ルール＜Ｒ２＞が適用される。具体的には、ユースケースＡをアクティビティＡとして処理するアクティビティ図７１１と、アクティビティＡにおいて分岐によりサブアクティビティＣを処理する場合があるサブアクティビティ図７１２とを含むアクティビティ図集合７１０を生成する。また、ユースケースＢをアクティビティＢとして処理するアクティビティ図７２１と、アクティビティＢにおいて分岐によりサブアクティビティＣを処理する場合があるサブアクティビティ図７２２とを含むアクティビティ図集合７２０を生成する。
【００７４】
一方、アクティビティ図集合７１０，７２０を対象アクティビティ図２１２とすると、アクティビティ図集合７１０，７２０ともに、変換ルール＜Ｒ４＞が適用される。具体的には、上位のアクティビティＡ，Ｂを拡張対象となるユースケースとし、そのサブアクティビティＣを拡張機能となるユースケースとするユースケース図７００を生成する。
【００７５】
このように、図７の変換例３では、サブアクティビティＣが同一アクティビティであることは、個々のアクティビティ図集合７１０，７２０からは判断できない。このアクティビティ図集合７１０，７２０をユースケース図７００に変換することで、ユースケースＡの拡張機能となるユースケースとユースケースＢの拡張機能となるユースケースとが、同一のユースケースＣであることがわかる。
【００７６】
図８は、ユースケース図とアクティビティ図との変換例４を示す説明図である。変換例４はユースケースＡ，Ｂ間に包含関係があり、かつ、ユースケースＡ，Ｃ間にも包含関係がある場合の例である。具体的には、ユースケース図８００において、ユースケースＡはユースケースＢ，Ｃの包含元となる共通のユースケースである。
【００７７】
図８において、ユースケース図８００を対象ユースケース図２１１とすると、ユースケースＡ，Ｂ間およびユースケースＡ，Ｃ間ともに、変換ルール＜Ｒ１＞が適用される。具体的には、ユースケースＡをアクティビティＡとして処理するアクティビティ図８１１に変換する。また、アクティビティＡにおいてユースケースＢ，ＣをサブアクティビティＢ，Ｃとするサブアクティビティ図８２１〜８２３を生成する。ユースケース図は順序関係を持たないため、順序関係をすべて網羅したサブアクティビティ図８２１〜８２３が生成される。
【００７８】
一方、対象アクティビティ図２１２からユースケース図８００に変換する場合、変換ルール＜Ｒ３＞が適用される。この場合、対象アクティビティ図２１２としては、上位となるアクティビティＡを処理するアクティビティ図８１１のほか、そのサブアクティビティ図８２１〜８２３のうち少なくともいずれか一つのサブアクティビティ図を与えればよい。したがって、対象アクティビティ図２１２として１つでもサブアクティビティ図を与えることができれば、対応するユースケース図を自動生成でき、その自動生成されたユースケース図を変換することで、すべての順序関係を網羅するサブアクティビティ図を得ることもできる。
【００７９】
また、ユースケース図は通常順序関係を持たないが、ユースケースＢ，Ｃ間で事前関係や事後関係が与えられている場合、サブアクティビティ図８２１〜８２３のうち事前条件や事後条件を満足するサブアクティビティ図に変換したり、対象アクティビティ図２１２として与えることとしてもよい。
【００８０】
図９は、ユースケース図とアクティビティ図との変換例５を示す説明図である。変換例５はユースケースＡ，Ｂ間に拡張関係があり、かつ、ユースケースＡ，Ｃ間に包含関係がある場合の例である。具体的には、ユースケース図９００において、ユースケースＡはユースケースＢの拡張対象となるユースケースであるとともに、ユースケースＣの包含元となる共通のユースケースである。
【００８１】
図９において、ユースケース図９００を対象ユースケース図２１１とすると、ユースケースＡ，Ｂ間には変換ルール＜Ｒ２＞が適用され、ユースケースＡ，Ｃ間には変換ルール＜Ｒ１＞が適用される。具体的には、ユースケースＡをアクティビティＡとして処理するアクティビティ図９１１に変換する。また、アクティビティＡにおいてユースケースＢをサブアクティビティＢとし、ユースケースＣをサブアクティビティＣとして、サブアクティビティＣの単独処理、または分岐によりサブアクティビティＢが処理する場合があるサブアクティビティ図９２１〜９２３を生成する。ユースケース図は順序関係を持たないため、順序関係をすべて網羅したサブアクティビティ図９２１〜９２３が生成される。
【００８２】
一方、対象アクティビティ図２１２からユースケース図９００に変換する場合、サブアクティビティＢに対しては変換ルール＜Ｒ４＞が、サブアクティビティＣに対しては変換ルール＜Ｒ３＞が適用される。
【００８３】
この場合、対象アクティビティ図２１２としては、上位となるアクティビティＡを処理するアクティビティ図９１１のほか、そのサブアクティビティ図９２１〜９２３のうち少なくともいずれか一つのサブアクティビティ図を与えればよい。したがって、対象アクティビティ図２１２として１つでもサブアクティビティ図を与えることができれば、対応するユースケース図を自動生成でき、その自動生成されたユースケース図を変換することで、すべての順序関係を網羅するサブアクティビティ図を得ることもできる。
【００８４】
また、ユースケース図は通常順序関係を持たないが、ユースケースＢ，Ｃ間で事前関係や事後関係が与えられている場合、サブアクティビティ図９２１〜９２３のうち事前条件や事後条件を満足するサブアクティビティ図に変換したり、対象アクティビティ図２１２として与えることとしてもよい。
【００８５】
図１０は、ユースケース図とアクティビティ図との変換例６を示す説明図である。変換例６はユースケースＡ，Ｂ間に拡張関係があり、かつ、ユースケースＡ，Ｃ間にも拡張関係がある場合の例である。具体的には、ユースケース図１０００において、ユースケースＡはユースケースＢ，Ｃの拡張対象となる共通のユースケースである。
【００８６】
図１０において、ユースケース図１０００を対象ユースケース図２１１とすると、ユースケースＡ，Ｂ間およびユースケースＡ，Ｃ間には変換ルール＜Ｒ２＞が適用される。具体的には、ユースケースＡをアクティビティＡとして処理するアクティビティ図１０１１に変換する。
【００８７】
また、アクティビティＡにおいてユースケースＢをサブアクティビティＢとし、ユースケースＣをサブアクティビティＣとして、それぞれ分岐によりサブアクティビティＢ，Ｃを処理する場合があるサブアクティビティ図１０２１〜１０２３を生成する。ユースケース図は順序関係を持たないため、順序関係をすべて網羅したサブアクティビティ図１０２１〜１０２３が生成される。
【００８８】
一方、対象アクティビティ図２１２からユースケース図１０００に変換する場合、サブアクティビティＢ，Ｃに対しては変換ルール＜Ｒ４＞が適用される。この場合、対象アクティビティ図２１２としては、上位となるアクティビティＡを処理するアクティビティ図１０１１のほか、そのサブアクティビティ図１０２１〜１０２３のうち少なくともいずれか一つのサブアクティビティ図を与えればよい。
【００８９】
したがって、対象アクティビティ図２１２として１つでもサブアクティビティ図を与えることができれば、対応するユースケース図を自動生成でき、その自動生成されたユースケース図を変換することで、すべての順序関係を網羅するサブアクティビティ図を得ることもできる。
【００９０】
また、ユースケース図は通常順序関係を持たないが、ユースケースＢ，Ｃ間で事前関係や事後関係が与えられている場合、サブアクティビティ図１０２１〜１０２３のうち事前条件や事後条件を満足するサブアクティビティ図に変換したり、対象アクティビティ図２１２として与えることとしてもよい。
【００９１】
また、ユースケース図には包含関係、拡張関係のほか、汎化関係もある。汎化関係に関する変換ルールについて説明する。図１１は、汎化関係に関する変換ルールを示す説明図である。汎化関係は、ユースケース間に抽象化または具象化の関係があることを示している。『ユースケースＡがユースケースＢに汎化である』とは、ユースケースＡを具象化した機能がユースケースＢであることを意味する。たとえば、ユースケースＡを『商品を検索する』とした場合、ユースケースＢは『（商品の一つである）本を検索する』となる。汎化関係の変換ルール＜Ｒ５＞は以下の通りである。
【００９２】
＜Ｒ５＞
汎化関係のユースケースＡ，Ｂはそれぞれ上位のアクティビティＡ，Ｂを処理するアクティビティ図１１０１，１１０２となる。この場合、アクティビティＡのサブアクティビティが存在すると、アクティビティ図１１０２に対するサブアクティビティ図は、アクティビティ図Ａのサブアクティビティ図と同一処理内容のアクティビティ図となる。なお、アクティビティ図集合１１１０，１１２０では、汎化関係を特定できないため、アクティビティ図集合１１１０，１１２０からユースケース図１１００には変換できない。
【００９３】
たとえば、ユースケース図１１００において、ユースケースＡに包含先となるユースケースＣ，Ｄが存在する場合、アクティビティＡを処理するアクティビティ図１１０１のサブアクティビティ図１１０３の処理内容は、アクティビティＢを処理するアクティビティ図１１０２のサブアクティビティ図１１０４の処理内容に引き継がれて同一内容となる。
【００９４】
（検証の具体例）
つぎに、検証部２０４による検証の具体例について説明する。図１２は、検証処理内容を示す説明図である。図１２において、ユースケース図１２０１が正しいと仮定する。アクティビティ図集合１２１０を対象アクティビティ図２１２とすると、このアクティビティ図集合１２１０を変換することで変換済みユースケース図１２０２を得る。
【００９５】
そして、このユースケース図１２０１と変換済みユースケース図１２０２との検証をおこなう。ユースケース図１２０１と変換済みユースケース図１２０２とでは、ユースケース間の関係（包含、拡張）は一致しているため、ユースケースどうしを比較すると、ユースケースＣの包含先のユースケースがユースケース図１２０１と変換済みユースケース図１２０２とでは異なっている。
【００９６】
図１３−１は、図１２に示したユースケース図の検証結果を示す図表である。図１３−１において、ユースケース図１２０１にはユースケースＡ〜Ｄが存在し（○印）、ユースケースＥは存在しない（×印）。一方、変換済みユースケース図１２０２では、ユースケースＡ〜Ｃ，Ｅが存在し（○印）、ユースケースＤが存在しない（×印）。したがって、変換済みユースケース図１２０２では、本来存在しなければならないユースケースＤが存在しないため、変換元となるアクティビティ図集合１２１１に誤りがあることがわかる。
【００９７】
また、図１２において、アクティビティ図集合１２１０が正しいと仮定する。ユースケース図１２０１を対象ユースケース図２１１とすると、このユースケース図１２０１を変換することで変換済みアクティビティ図集合１２２０を得る。そして、このアクティビティ図集合１２１０と変換済みアクティビティ図集合１２２０との検証をおこなう。アクティビティ図１２１１，１２２１は一致するため、サブアクティビティ図１２１２，１２２２を比較すると、一部のサブアクティビティが異なっている。
【００９８】
図１３−２は、図１２に示したアクティビティ図の検証結果を示す図表である。図１３−２において、アクティビティ図集合１２１０にはアクティビティＤは存在するが（○印）、アクティビティＥは存在しない（×印）。一方、アクティビティ図集合１２２０にはアクティビティＥは存在するが（○印）、アクティビティＤは存しない（×印）。
【００９９】
すなわち、アクティビティＣの処理の後は、サブアクティビティ図１２１２ではアクティビティＥが処理され、サブアクティビティ図１２２２ではアクティビティＥではなくアクティビティＤが処理される。ここでは、アクティビティ図集合１２１０が正しいと仮定しているため、変換元となるユースケース図１２０１に誤りがあることがわかる。
【０１００】
図１４は、他の検証処理内容を示す説明図である。図１４において、ユースケース図１４００が正しいと仮定する。アクティビティ図集合１４１０を対象アクティビティ図２１２とすると、このアクティビティ図集合１４１０を変換することで変換済みユースケース図１４０１，１４０２を得る。
【０１０１】
具体的には、アクティビティ図１４１１およびサブアクティビティ図１４１２（または１４１４）を変換すると、ユースケース図１４０１が得られるが、アクティビティ図１４１１およびサブアクティビティ図１４１３を変換するとユースケース図１４０２が得られる。
【０１０２】
そして、このユースケース図１４００と変換済みユースケース図１４０１，１４０２との検証をおこなう。各ユースケース図１４００〜１４０２ではユースケースＡ〜Ｃは一致しているため、ユースケース間の関係を検証する。
【０１０３】
図１５−１は、図１４に示したユースケース図の検証結果を示す図表である。ユースケース図１４００および変換済みユースケース図１４０１では、ユースケースＡ，Ｂ間およびＡ，Ｃ間ともに同一の関係である（○印）。一方、変換済みユースケース図２５２１４０２では、ユースケースＡ，Ｃ間はユースケース図１４００と同一の関係であるが（○印）、ユースケースＡ，Ｂ間では包含関係となっているため、ユースケース図１４００とは異なっている（×印）。
【０１０４】
また、図１４において、アクティビティ図集合１４１０が正しいと仮定する。ユースケース図１４００を対象ユースケース図２１１とすると、このユースケース図１４００を変換することで変換済みアクティビティ図集合１４２０を得る。そして、アクティビティ図集合１４１０，１４２０の同一性検証をおこなう。具体的には、上位のアクティビティ図１４１１，１４２１との同一性検証をおこなう。
【０１０５】
図１５−２は、図１４に示した上位のアクティビティ図の検証結果を示す図表である。図１５−２において、アクティビティ図１４１１，１４２１の処理手順はともに一致している（○印）。
【０１０６】
また、サブアクティビティ図１４１２〜１４１４，１４２２〜１４２４の同一性検証をおこなう。具体的には、並列処理をおこなうサブアクティビティ図１４１２，１４２２の同一性検証、アクティビティＢ→Ｃの順に処理するサブアクティビティ図１４１３，１４２３の同一性検証、アクティビティＣ→Ｂの順に処理するサブアクティビティ図１４１４，１４２４の同一性検証をおこなう。
【０１０７】
図１５−３は、図１４に示したサブアクティビティ図の検証結果を示す図表である。図１５−３において、サブアクティビティ図１４１２，１４２２のアクティビティＢ，Ｃの処理手順はともに一致している（○印）。また、サブアクティビティ図１４１４，１４２４のアクティビティＢ，Ｃの処理手順もともに一致している（○印）。
【０１０８】
一方、サブアクティビティ図１４１３，１４２３のアクティビティＢ，Ｃの処理手順については、図１４において、サブアクティビティ図１４１３ではアクティビティＢをアクティビティＣの処理前に必ず処理されるが、サブアクティビティ図１４２３では、アクティビティＣの処理前にアクティビティＢは分岐により処理される場合とされない場合がある。したがって、アクティビティＢの処理が異なっている（×印）。
【０１０９】
（設計／検証支援装置２００の設計／検証支援処理手順）
つぎに、この発明の実施の形態にかかる設計／検証支援装置２００の設計／検証支援処理手順について説明する。図１６は、ユースケース図からアクティビティ図に変換する場合の設計／検証支援処理手順を示すフローチャートである。
【０１１０】
図１６において、まず、取得部２０１により対象ユースケース図２１１を取得する（ステップＳ１６０１）。つぎに、ユースケース図構造解析部２２１により対象ユースケース図２１１の構造を解析する（ステップＳ１６０２）。そして、ユースケース図／アクティビティ図変換部２３１により、構造解析された対象ユースケース図２１１をアクティビティ図に変換する（ステップＳ１６０３）。そして、変換済みアクティビティ図２５１を表示する（ステップＳ１６０４）。これにより、取得されたアクティビティ図と変換済みアクティビティ図２５１との同一性を視覚的に確認することができる。
【０１１１】
図１７は、アクティビティ図からユースケース図に変換する場合の設計／検証支援処理手順を示すフローチャートである。まず、取得部２０１により対象アクティビティ図２１２を取得する（ステップＳ１７０１）。つぎに、アクティビティ図構造解析部２２２により対象アクティビティ図２１２の構造を解析する（ステップＳ１７０２）。そして、アクティビティ図／ユースケース図変換部２３２により、構造解析された対象アクティビティ図２１２をユースケース図に変換する（ステップＳ１７０３）。そして、変換済みユースケース図２５２を表示する（ステップＳ１７０４）。これにより、取得されたユースケース図と変換済みユースケース図２５２との同一性を視覚的に確認することができる。
【０１１２】
図１８は、アクティビティ図の検証をおこなう場合の設計／検証支援処理手順を示すフローチャートである。まず、取得部２０１により、ユースケース図およびアクティビティ図（図１８の説明において、「取得アクティビティ図」という）を取得する（ステップＳ１８０１）。
【０１１３】
つぎに、ユースケース図を対象ユースケース図２１１に設定し（ステップＳ１８０２）、ユースケース図構造解析部２２１により対象ユースケース図２１１を構造解析する（ステップＳ１８０３）。そして、ユースケース図／アクティビティ図変換部２３１により、構造解析された対象ユースケース図２１１をアクティビティ図に変換する（ステップＳ１８０４）。そして、取得アクティビティ図および変換済みアクティビティ図２５１を表示する（ステップＳ１８０５）。これにより、取得アクティビティ図と変換済みアクティビティ図２５１との同一性を視覚的に確認することができる。
【０１１４】
つぎに、アクティビティ図検証部２４１により、取得アクティビティ図と変換済みアクティビティ図２５１の一致検証をおこなう（ステップＳ１８０６）。これにより、取得アクティビティ図と変換済みアクティビティ図２５１の相違点を自動抽出することができる。そして、その検証結果を表示する（ステップＳ１８０７）。これにより、取得アクティビティ図と変換済みアクティビティ図２５１の相違点を自動的に明確化することができる。
【０１１５】
図１９は、ユースケース図の検証をおこなう場合の設計／検証支援処理手順を示すフローチャートである。まず、取得部２０１により、ユースケース図およびアクティビティ図（図１９の説明において、「取得ユースケース図」という）を取得する（ステップＳ１９０１）。
【０１１６】
つぎに、アクティビティ図を対象アクティビティ図２１２に設定し（ステップＳ１９０２）、アクティビティ図構造解析部２２２により対象アクティビティ図２１２を構造解析する（ステップＳ１９０３）。そして、アクティビティ図／ユースケース図変換部２３２により、構造解析された対象アクティビティ図２１２をユースケース図に変換する（ステップＳ１９０４）。そして、取得ユースケース図および変換済みユースケース図２５２を表示する（ステップＳ１９０５）。これにより、取得ユースケース図と変換済みユースケース図２５２との同一性を視覚的に確認することができる。
【０１１７】
つぎに、ユースケース図検証部２４２により、取得ユースケース図と変換済みユースケース図２５２の一致検証をおこなう（ステップＳ１９０７）。これにより、取得ユースケース図と変換済みユースケース図２５２の相違点を自動抽出することができる。そして、その検証結果を表示する（ステップＳ１９０６）。これにより、取得ユースケース図と変換済みユースケース図２５２の相違点を自動的に明確化することができる。
【０１１８】
このように、この発明の実施の形態によれば、ユースケース図を与えるだけで、そのユースケース図と同一内容のアクティビティ図を自動生成することができ、また、アクティビティ図を与えるだけで、そのアクティビティ図と同一内容のユースケース図を自動生成することができる。
【０１１９】
したがって、設計／検証者は、同一設計対象について、ユースケース図またはアクティビティ図のうちいずれか一方の図を取得できればよく、設計／検証作業効率の向上を図ることができる。
【０１２０】
特に、アクティビティ図にはアクティビティの順序関係という概念があるため、複数とおりのサブアクティビティ図が存在するケースが多々あるが、一つのユースケース図を与えるだけで、対応するすべてのアクティビティ図を網羅することができ、作業効率の向上を図ることができる。
【０１２１】
また、人手によりユースケース図およびアクティビティ図を作成すると、両図の間で齟齬が生じる場合もあるが、変換後のユースケース図／アクティビティ図を検証することで、そのような齟齬が生じることがなく整合性の取れた高品質のユースケース図／アクティビティ図を得ることができる。
【０１２２】
以上説明したように、設計／検証支援プログラム、該プログラムを記録した記録媒体、設計／検証支援装置、および設計／検証支援方法によれば、整合性の取れた高品質なユースケース図やアクティビティ図を容易に生成することにより、作業労力の低減化および設計期間の短縮化を実現することができる。
【０１２３】
なお、本実施の形態で説明した設計／検証支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【０１２４】
（付記１）設計／検証対象の機能を表現するユースケース図を取得させる取得工程と、
前記取得工程によって取得されたユースケース図の構造を解析させる解析工程と、
前記解析工程によって解析された構造に基づいて、前記ユースケース図を前記設計／検証対象の処理手順を表現するアクティビティ図に変換させる変換工程と、
前記変換工程によって変換されたアクティビティ図を出力させる出力工程と、
をコンピュータに実行させることを特徴とする設計／検証支援プログラム。
【０１２５】
（付記２）設計／検証対象の処理手順を表現するアクティビティ図を取得させる取得工程と、
前記取得工程によって取得されたアクティビティ図の構造を解析させる解析工程と、
前記解析工程によって解析された構造に基づいて、前記アクティビティ図を前記設計／検証対象の機能を表現するユースケース図に変換させる変換工程と、
前記変換工程によって変換されたユースケース図を出力させる出力工程と、
をコンピュータに実行させることを特徴とする設計／検証支援プログラム。
【０１２６】
（付記３）設計／検証対象の機能を表現するユースケース図と前記設計／検証対象の処理手順を表現するアクティビティ図を取得させる取得工程と、
前記取得工程によって取得されたユースケース図の構造を解析させる解析工程と、
前記解析工程によって解析された構造に基づいて、前記ユースケース図を前記設計／検証対象の処理手順を表現するアクティビティ図に変換させる変換工程と、
前記取得工程によって取得されたアクティビティ図と前記変換工程によって変換されたアクティビティ図との同一性の検証をおこなわせる検証工程と、
前記検証工程によって検証された検証結果を出力させる出力工程と、
をコンピュータに実行させることを特徴とする設計／検証支援プログラム。
【０１２７】
（付記４）前記検証工程は、
前記取得工程によって取得されたアクティビティ図が前記変換工程によって変換されたアクティビティ図に含まれているか否かという検証をおこなわせることを特徴とする付記３に記載の設計／検証支援プログラム。
【０１２８】
（付記５）前記検証工程は、
前記取得工程によって取得されたアクティビティ図の構造と前記変換工程によって変換されたアクティビティ図の構造との一致検証をおこなわせることを特徴とする付記３に記載の設計／検証支援プログラム。
【０１２９】
（付記６）設計／検証対象の機能を表現するユースケース図と前記設計／検証対象の処理手順を表現するアクティビティ図を取得させる取得工程と、
前記取得工程によって取得されたアクティビティ図の構造を解析させる解析工程と、
前記解析工程によって解析された構造に基づいて、前記アクティビティ図を前記設計／検証対象の処理手順を表現するユースケース図に変換させる変換工程と、
前記取得工程によって取得されたユースケース図と前記変換工程によって変換されたユースケース図との同一性の検証をおこなわせる検証工程と、
前記検証工程によって検証された検証結果を出力させる出力工程と、
をコンピュータに実行させることを特徴とする設計／検証支援プログラム。
【０１３０】
（付記７）前記検証工程は、
前記取得工程によって取得されたユースケース図の構造と前記変換工程によって変換されたユースケース図の構造との一致検証をおこなわせることを特徴とする付記６に記載の設計／検証支援プログラム。
【０１３１】
（付記８）前記検証工程は、
ユースケースの一致検証をおこなわせることを特徴とする付記７に記載の設計／検証支援プログラム。
【０１３２】
（付記９）前記検証工程は、
ユースケース間の関係の一致検証をおこなわせることを特徴とする付記７または８に記載の設計／検証支援プログラム。
【０１３３】
（付記１０）付記１〜９のいずれか一つに記載の設計／検証支援プログラムを記録した前記コンピュータに読み取り可能な記録媒体。
【０１３４】
（付記１１）設計／検証対象の機能を表現するユースケース図を取得する取得手段と、
前記取得手段によって取得されたユースケース図の構造を解析する解析手段と、
前記解析手段によって解析された構造に基づいて、前記ユースケース図を前記設計／検証対象の処理手順を表現するアクティビティ図に変換する変換手段と、
前記変換手段によって変換されたアクティビティ図を出力する出力手段と、
を備えることを特徴とする設計／検証支援装置。
【０１３５】
（付記１２）設計／検証対象の処理手順を表現するアクティビティ図を取得する取得手段と、
前記取得手段によって取得されたアクティビティ図の構造を解析する解析手段と、
前記解析手段によって解析された構造に基づいて、前記アクティビティ図を前記設計／検証対象の機能を表現するユースケース図に変換する変換手段と、
前記変換手段によって変換されたユースケース図を出力する出力手段と、
を備えることを特徴とする設計／検証支援装置。
【０１３６】
（付記１３）設計／検証対象の機能を表現するユースケース図と前記設計／検証対象の処理手順を表現するアクティビティ図を取得する取得手段と、
前記取得手段によって取得されたユースケース図の構造を解析する解析手段と、
前記解析手段によって解析された構造に基づいて、前記ユースケース図を前記設計／検証対象の処理手順を表現するアクティビティ図に変換する変換手段と、
前記取得手段によって取得されたアクティビティ図と前記変換手段によって変換されたアクティビティ図との同一性の検証をおこなわせる検証手段と、
前記検証手段によって検証された検証結果を出力する出力手段と、
を備えることを特徴とする設計／検証支援装置。
【０１３７】
（付記１４）前記検証手段は、
前記取得手段によって取得されたアクティビティ図が前記変換手段によって変換されたアクティビティ図に含まれているか否かという検証をおこなうことを特徴とする付記１３に記載の設計／検証支援装置。
【０１３８】
（付記１５）前記検証手段は、
前記取得手段によって取得されたアクティビティ図の構造と前記変換手段によって変換されたアクティビティ図の構造との一致検証をおこなうことを特徴とする付記１３に記載の設計／検証支援装置。
【０１３９】
（付記１６）設計／検証対象の機能を表現するユースケース図と前記設計／検証対象の処理手順を表現するアクティビティ図を取得する取得手段と、
前記取得手段によって取得されたアクティビティ図の構造を解析する解析手段と、
前記解析手段によって解析された構造に基づいて、前記アクティビティ図を前記設計／検証対象の処理手順を表現するユースケース図に変換する変換手段と、
前記取得手段によって取得されたユースケース図と前記変換手段によって変換されたユースケース図との同一性の検証をおこなわせる検証手段と、
前記検証手段によって検証された検証結果を出力する出力手段と、
を備えることを特徴とする設計／検証支援装置。
【０１４０】
（付記１７）前記検証手段は、
前記取得手段によって取得されたユースケース図の構造と前記変換手段によって変換されたユースケース図の構造との一致検証をおこなうことを特徴とする付記１６に記載の設計／検証支援装置。
【０１４１】
（付記１８）前記検証手段は、
ユースケースの一致検証をおこなうことを特徴とする付記１７に記載の設計／検証支援装置。
【０１４２】
（付記１９）前記検証手段は、
ユースケース間の関係の一致検証をおこなうことを特徴とする付記１７または１８に記載の設計／検証支援装置。
【０１４３】
（付記２０）設計／検証対象の機能を表現するユースケース図を取得する取得工程と、
前記取得工程によって取得されたユースケース図の構造を解析する解析工程と、
前記解析工程によって解析された構造に基づいて、前記ユースケース図を前記設計／検証対象の処理手順を表現するアクティビティ図に変換する変換工程と、
前記変換工程によって変換されたアクティビティ図を出力する出力工程と、
を含んだことを特徴とする設計／検証支援方法。
【０１４４】
（付記２１）設計／検証対象の処理手順を表現するアクティビティ図を取得する取得工程と、
前記取得工程によって取得されたアクティビティ図の構造を解析する解析工程と、
前記解析工程によって解析された構造に基づいて、前記アクティビティ図を前記設計／検証対象の機能を表現するユースケース図に変換する変換工程と、
前記変換工程によって変換されたユースケース図を出力する出力工程と、
を含んだことを特徴とする設計／検証支援方法。
【０１４５】
（付記２２）設計／検証対象の機能を表現するユースケース図と前記設計／検証対象の処理手順を表現するアクティビティ図を取得する取得工程と、
前記取得工程によって取得されたユースケース図の構造を解析する解析工程と、
前記解析工程によって解析された構造に基づいて、前記ユースケース図を前記設計／検証対象の処理手順を表現するアクティビティ図に変換する変換工程と、
前記取得工程によって取得されたアクティビティ図と前記変換工程によって変換されたアクティビティ図との同一性の検証をおこなわせる検証工程と、
前記検証工程によって検証された検証結果を出力する出力工程と、
を含んだことを特徴とする設計／検証支援方法。
【０１４６】
（付記２３）前記検証工程は、
前記取得工程によって取得されたアクティビティ図が前記変換工程によって変換されたアクティビティ図に含まれているか否かという検証をおこなうことを特徴とする付記２２に記載の設計／検証支援方法。
【０１４７】
（付記２４）前記検証工程は、
前記取得工程によって取得されたアクティビティ図の構造と前記変換工程によって変換されたアクティビティ図の構造との一致検証をおこなうことを特徴とする付記２２に記載の設計／検証支援方法。
【０１４８】
（付記２５）設計／検証対象の機能を表現するユースケース図と前記設計／検証対象の処理手順を表現するアクティビティ図を取得する取得工程と、
前記取得工程によって取得されたアクティビティ図の構造を解析する解析工程と、
前記解析工程によって解析された構造に基づいて、前記アクティビティ図を前記設計／検証対象の処理手順を表現するユースケース図に変換する変換工程と、
前記取得工程によって取得されたユースケース図と前記変換工程によって変換されたユースケース図との同一性の検証をおこなわせる検証工程と、
前記検証工程によって検証された検証結果を出力する出力工程と、
を含んだことを特徴とする設計／検証支援方法。
【０１４９】
（付記２６）前記検証工程は、
前記取得工程によって取得されたユースケース図の構造と前記変換工程によって変換されたユースケース図の構造との一致検証をおこなうことを特徴とする付記２５に記載の設計／検証支援方法。
【０１５０】
（付記２７）前記検証工程は、
ユースケースの一致検証をおこなうことを特徴とする付記２６に記載の設計／検証支援方法。
【０１５１】
（付記２８）前記検証工程は、
ユースケース間の関係の一致検証をおこなうことを特徴とする付記２６または２７に記載の設計／検証支援方法。
【産業上の利用可能性】
【０１５２】
以上のように、本発明にかかる設計／検証支援プログラム、該プログラムを記録した記録媒体、設計／検証支援装置、および設計／検証支援方法は、ＬＳＩ設計やソフトウェア開発全般の上流工程における設計やその検証に有用である。
【図面の簡単な説明】
【０１５３】
【図１】この発明の実施の形態にかかる設計／検証支援装置のハードウェア構成を示すブロック図である。
【図２】この発明の実施の形態にかかる設計／検証支援装置の機能的構成を示すブロック図である。
【図３】変換ルール＜Ｒ１＞，＜Ｒ２＞を示す説明図である。
【図４】変換ルール＜Ｒ３＞，＜Ｒ４＞を示す説明図である。
【図５】ユースケース図とアクティビティ図との変換例１を示す説明図である。
【図６】ユースケース図とアクティビティ図との変換例２を示す説明図である。
【図７】ユースケース図とアクティビティ図との変換例３を示す説明図である。
【図８】ユースケース図とアクティビティ図との変換例４を示す説明図である。
【図９】ユースケース図とアクティビティ図との変換例５を示す説明図である。
【図１０】ユースケース図とアクティビティ図との変換例６を示す説明図である。
【図１１】汎化関係に関する変換ルールを示す説明図である。
【図１２】検証処理内容を示す説明図である。
【図１３−１】図１２に示したユースケース図の検証結果を示す図表である。
【図１３−２】図１２に示したアクティビティ図の検証結果を示す図表である。
【図１４】他の検証処理内容を示す説明図である。
【図１５−１】図１４に示したユースケース図の検証結果を示す図表である。
【図１５−２】図１４に示した上位のアクティビティ図の検証結果を示す図表である。
【図１５−３】図１４に示したサブアクティビティ図の検証結果を示す図表である。
【図１６】ユースケース図からアクティビティ図に変換する場合の設計／検証支援処理手順を示すフローチャートである。
【図１７】アクティビティ図からユースケース図に変換する場合の設計／検証支援処理手順を示すフローチャートである。
【図１８】アクティビティ図の検証をおこなう場合の設計／検証支援処理手順を示すフローチャートである。
【図１９】ユースケース図の検証をおこなう場合の設計／検証支援処理手順を示すフローチャートである。
【符号の説明】
【０１５４】
２００  設計／検証支援装置
２０１  取得部
２０２  構造解析部
２０３  変換部
２０４  検証部
２０５  出力部
２２１  ユースケース図構造解析部
２２２  アクティビティ図構造解析部
２３１  ユースケース図／アクティビティ図変換部
２３２  アクティビティ図／ユースケース図変換部
２４１  アクティビティ図検証部
２４２  ユースケース図検証部
【図１】
2008129858.tif 000003
【図２】
2008129858.tif 000004
【図３】
2008129858.tif 000005
【図４】
2008129858.tif 000006
【図５】
2008129858.tif 000007
【図６】
2008129858.tif 000008
【図７】
2008129858.tif 000009
【図８】
2008129858.tif 000010
【図９】
2008129858.tif 000011
【図１０】
2008129858.tif 000012
【図１１】
2008129858.tif 000013
【図１２】
2008129858.tif 000014
【図１３−１】
2008129858.tif 000015
【図１３−２】
2008129858.tif 000016
【図１４】
2008129858.tif 000017
【図１５−１】
2008129858.tif 000018
【図１５−２】
2008129858.tif 000019
【図１５−３】
2008129858.tif 000020
【図１６】
2008129858.tif 000021
【図１７】
2008129858.tif 000022
【図１８】
2008129858.tif 000023
【図１９】
2008129858.tif 000024