JP2008129858A - 設計/検証支援プログラムおよび該プログラムを記録した記録媒体 - Google Patents

設計/検証支援プログラムおよび該プログラムを記録した記録媒体 Download PDF

Info

Publication number
JP2008129858A
JP2008129858A JP2006314316A JP2006314316A JP2008129858A JP 2008129858 A JP2008129858 A JP 2008129858A JP 2006314316 A JP2006314316 A JP 2006314316A JP 2006314316 A JP2006314316 A JP 2006314316A JP 2008129858 A JP2008129858 A JP 2008129858A
Authority
JP
Japan
Prior art keywords
diagram
activity
use case
verification
design
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006314316A
Other languages
English (en)
Other versions
JP4589294B2 (ja
Inventor
Ryosuke Oishi
亮介 大石
Akio Matsuda
明男 松田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006314316A priority Critical patent/JP4589294B2/ja
Priority to US11/896,301 priority patent/US8370781B2/en
Publication of JP2008129858A publication Critical patent/JP2008129858A/ja
Application granted granted Critical
Publication of JP4589294B2 publication Critical patent/JP4589294B2/ja
Priority to US13/730,102 priority patent/US9177088B2/en
Priority to US14/851,501 priority patent/US9378316B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】ユースケース図またはアクティビティ図のうちいずれか一方の図を与えるだけで他方の図を自動生成することにより、両図間の整合性を取ることができる。
【解決手段】対象ユースケースが包含関係のあるユースケースA,Bを含むユースケース300である場合、ユースケースAが包含元、ユースケースBが包含先であるとすると、ユースケースAを、アクティビティAを処理するアクティビティ311に変換し、ユースケースBを、アクティビティAのサブアクティビティBを処理するアクティビティ312に変換する。対象アクティビティがアクティビティAを処理するアクティビティ311とそのサブアクティビティBを処理するサブアクティビティ312を含むアクティビティ図集合310である場合、アクティビティAを包含元のユースケースA、サブアクティビティBをその包含先のユースケースBとするユースケース300に変換する。
【選択図】図3

Description

この発明は、LSI設計やソフトウェア開発全般の上流工程における設計/検証を支援する設計/検証支援プログラム、該プログラムを記録した記録媒体、設計/検証支援装置、および設計/検証支援方法に関する。
LSI設計における上流設計の工程において、またはソフトウェア開発全般の上流工程において、仕様書やコンピュータで解釈可能な仕様モデルをUML(Unified Modeling Language)を用いて表現、記述することが必須となりつつある。仕様書をユースケース図で記述したり、仕様モデルをアクティビティ図で記述したりするが(その逆もあり)、これらについて、それぞれを表現する手段は提供されている(たとえば、下記特許文献1〜6を参照。)。
特開2003−76548号公報 特開2003−108220号公報 特開2003−178103号公報 特表2005−530238号公報 特開2004−70810号公報 特開2000−353082号公報
しかしながら、上述した従来技術では、同一の設計/検証対象についてユースケース図とアクティビティ図とを独立して作成していたため、ユースケース図とアクティビティ図間で整合性が取れていない場合が発生するという問題があった。
また、同一の設計/検証対象についてユースケース図とアクティビティ図との整合性がとれていないと、誤った上流設計をおこなってしまうこととなり、設計ミスや手戻りが発生する。したがって、作業労力が増大し、設計期間が長期化するという問題があった。
また、上述した従来技術では、ユースケース図とアクティビティ図との整合性をとる場合、人手によりおこなわなければならず、見落としなどの人的エラーが生じるおそれがある。したがって、この場合においても、設計ミスや手戻りが発生する。したがって、作業労力が増大し、設計期間が長期化するという問題があった。
この発明は、上述した従来技術による問題点を解消するため、ユースケース図またはアクティビティ図のうちいずれか一方の図を与えるだけで他方の図を自動生成することにより、作業労力の低減化および設計期間の短縮化を実現することができる設計/検証支援プログラム、該プログラムを記録した記録媒体、設計/検証支援装置、および設計/検証支援方法を提供することを目的とする。
また、整合性の取れた高品質なユースケース図やアクティビティ図を容易に生成することにより、作業労力の低減化および設計期間の短縮化を実現することができる設計/検証支援プログラム、該プログラムを記録した記録媒体、設計/検証支援装置、および設計/検証支援方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、第1の発明にかかる設計/検証支援プログラム、該プログラムを記録した記録媒体、設計/検証支援装置、および設計/検証支援方法は、設計/検証対象の機能を表現するユースケース図を取得し、取得されたユースケース図の構造を解析し、解析された構造に基づいて、前記ユースケース図を前記設計/検証対象の処理手順を表現するアクティビティ図に変換し、変換されたアクティビティ図を出力することを特徴とする。
この発明によれば、ユースケース図を与えるだけで、その機能と等価な処理をおこなうアクティビティ図を自動的に生成することができる。
また、第2の発明にかかる設計/検証支援プログラム、該プログラムを記録した記録媒体、設計/検証支援装置、および設計/検証支援方法は、設計/検証対象の処理手順を表現するアクティビティ図を取得し、取得されたアクティビティ図の構造を解析し、解析された構造に基づいて、前記アクティビティ図を前記設計/検証対象の機能を表現するユースケース図に変換し、変換されたユースケース図を出力することを特徴とする。
この発明によれば、アクティビティ図を与えるだけで、その処理手順と等価な機能を有するユースケース図を自動的に生成することができる。
また、第3の発明にかかる設計/検証支援プログラム、該プログラムを記録した記録媒体、設計/検証支援装置、および設計/検証支援方法は、設計/検証対象の機能を表現するユースケース図と前記設計/検証対象の処理手順を表現するアクティビティ図を取得し、取得されたユースケース図の構造を解析し、解析された構造に基づいて、前記ユースケース図を前記設計/検証対象の処理手順を表現するアクティビティ図に変換し、取得されたアクティビティ図と変換されたアクティビティ図との同一性の検証をおこない、検証結果を出力することを特徴とする。
この発明によれば、アクティビティ図とユースケース図から自動生成されたアクティビティ図との整合性をとることができる。
また、上記発明において、取得されたアクティビティ図が変換されたアクティビティ図に含まれているか否かという検証をおこなうこととしてもよい。また、取得されたアクティビティ図の構造と変換されたアクティビティ図の構造との一致検証をおこなうこととしてもよい。
この発明によれば、アクティビティ図とユースケース図から自動生成されたアクティビティ図とが相違する箇所を明確にすることができる。
また、第4の発明にかかる設計/検証支援プログラム、該プログラムを記録した記録媒体、設計/検証支援装置、および設計/検証支援方法は、設計/検証対象の機能を表現するユースケース図と前記設計/検証対象の処理手順を表現するアクティビティ図を取得し、取得されたアクティビティ図の構造を解析し、解析された構造に基づいて、前記アクティビティ図を前記設計/検証対象の処理手順を表現するユースケース図に変換し、取得されたユースケース図と変換されたユースケース図との同一性の検証をおこない、検証結果を出力することを特徴とする。
この発明によれば、ユースケース図とアクティビティ図から自動生成されたユースケース図との整合性をとることができる。
また、上記発明において、取得されたユースケース図の構造と変換されたユースケース図の構造との一致検証をおこなうこととしてもよい。また、ユースケースの一致検証をおこなうこととしてもよい。さらに、ユースケース間の関係の一致検証をおこなうこととしてもよい。
この発明によれば、ユースケース図とアクティビティ図から自動生成されたユースケース図とが相違する箇所を明確にすることができる。
本発明にかかる設計/検証支援プログラム、該プログラムを記録した記録媒体、設計/検証支援装置、および設計/検証支援方法によれば、ユースケース図またはアクティビティ図のうちいずれか一方の図を与えるだけで他方の図を自動生成することにより、作業労力の低減化および設計期間の短縮化を実現することができるという効果を奏する。
また、整合性の取れた高品質なユースケース図やアクティビティ図を容易に生成することにより、作業労力の低減化および設計期間の短縮化を実現することができるという効果を奏する。
以下に添付図面を参照して、この発明にかかる設計/検証支援プログラム、該プログラムを記録した記録媒体、設計/検証支援装置、および設計/検証支援方法の好適な実施の形態を詳細に説明する。
(設計/検証支援装置のハードウェア構成)
まず、この発明の実施の形態にかかる設計/検証支援装置のハードウェア構成について説明する。図1は、この発明の実施の形態にかかる設計/検証支援装置のハードウェア構成を示すブロック図である。
図1において、設計/検証支援装置は、CPU101と、ROM102と、RAM103と、HDD(ハードディスクドライブ)104と、HD(ハードディスク)105と、FDD(フレキシブルディスクドライブ)106と、着脱可能な記録媒体の一例としてのFD(フレキシブルディスク)107と、ディスプレイ108と、I/F(インターフェース)109と、キーボード110と、マウス111と、スキャナ112と、プリンタ113と、を備えている。また、各構成部はバス100によってそれぞれ接続されている。
ここで、CPU101は、設計/検証支援装置の全体の制御を司る。ROM102は、ブートプログラムなどのプログラムを記憶している。RAM103は、CPU101のワークエリアとして使用される。HDD104は、CPU101の制御にしたがってHD105に対するデータのリード/ライトを制御する。HD105は、HDD104の制御で書き込まれたデータを記憶する。
FDD106は、CPU101の制御にしたがってFD107に対するデータのリード/ライトを制御する。FD107は、FDD106の制御で書き込まれたデータを記憶したり、FD107に記憶されたデータを設計/検証支援装置に読み取らせたりする。
また、着脱可能な記録媒体として、FD107のほか、CD−ROM(CD−R、CD−RW)、MO、DVD(Digital Versatile Disk)、メモリーカードなどであってもよい。ディスプレイ108は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ108は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F109は、通信回線を通じてインターネットなどのネットワーク114に接続され、このネットワーク114を介して他の装置に接続される。そして、I/F109は、ネットワーク114と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F109には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード110は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス111は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ112は、画像を光学的に読み取り、設計/検証支援装置内に画像データを取り込む。なお、スキャナ112は、OCR機能を持たせてもよい。また、プリンタ113は、画像データや文書データを印刷する。プリンタ113には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
(設計/検証支援装置の機能的構成)
つぎに、この発明の実施の形態にかかる設計/検証支援装置の機能的構成について説明する。図2は、この発明の実施の形態にかかる設計/検証支援装置の機能的構成を示すブロック図である。図2において、設計/検証支援装置200は、取得部201と構造解析部202と変換部203と検証部204と出力部205を備えている。これらの機能的構成は、具体的には、たとえば、図1に示したROM102、RAM103、HD105、FD107などに記録されたプログラムを、CPU101が実行することによって、またはI/F109によってその機能を実現する。
まず、取得部201は、同一設計/検証対象のユースケース図211およびアクティビティ図212を取得する機能を有する。ここで、設計/検証対象とは、たとえば、上流設計において設計や検証の対象となっているシステムであり、ハードウェアであるかソフトウェアであるかは問わない。
また、ユースケース図211とは、設計/検証対象の機能を表現した図データであり、その記述内容はコンピュータ(CPU101)により解釈可能なデータとなっている。また、アクティビティ図212は、設計/検証対象の処理手順を表現した図データであり、その記述内容もコンピュータ(CPU101)により解釈可能なデータとなっている。
ここで、ユースケース図211やアクティビティ図212を構成するデータを「要素」と称す。特に、ユースケース図211を構成するデータを「ユースケース要素」と称し、アクティビティ図212を構成する要素を「アクティビティ要素」と称す。すなわち、ユースケース図211は、ユースケース要素の集合により構成されており、アクティビティ図212は、アクティビティ要素の集合により構成されている。
たとえば、ユースケース要素には、ユースケース、アクター、ユースケースやアクターを結ぶ接続線、ユースケース間の関係(包含関係、拡張関係、汎化関係)を表現した接続線(ステレオタイプを含む)などがある。また、アクティビティ要素には、アクティビティ、サブアクティビティ、開始点、終了点、遷移(アクティビティなどに対する矢印)、ガード条件、分岐、同期バー(フォーク、ジョイン)、スイムレーン、シグナルなどがある。
また、取得部201では、キーボード110やマウス111などの入力装置を用いて要素を入力することで作成されたユースケース図やアクティビティ図を読み込む構成としてもよく、あらかじめデータベースに格納されたユースケース図やアクティビティ図を抽出することとしてもよい、また、外部のコンピュータ装置からネットワーク114を介して受信(ダウンロード)することとしてもよい。
ここで、取得されたユースケース図211は、設計/検証対象全体の機能を表現したユースケース図でもよく、また、少なくともユースケースを含んでいれば設計/検証対象の一部の機能を表現したユースケース図であってもよい。以後、このユースケース図211を、「対象ユースケース図211」と称す。
また、取得されたアクティビティ図212についても、設計/検証対象全体の処理手順を表現したアクティビティ図212でもよく、また、少なくともアクティビティまたはサブアクティビティを含んでいれば設計/検証対象の一部の処理手順を表現したアクティビティ図212であってもよい。以後、このアクティビティ図212を、「対象アクティビティ図212」と称す。
また、構造解析部202は、ユースケース図構造解析部221とアクティビティ図構造解析部222とを備えている。ユースケース図構造解析部221は、対象ユースケース図211の構造を解析する機能を有する。具体的には、対象ユースケース図211がどのようなユースケース要素から構成され、それらがどのユースケース要素と繋がっているか、またどのような関係(包含関係、拡張関係、汎化関係)があるかといったことを解析する。
また、アクティビティ図構造解析部222は、対象アクティビティ図212の構造を解析する機能を有する。具体的には、対象アクティビティ図212がどのようなアクティビティ要素から構成され、それらがどのアクティビティ要素と繋がっているか、またどのような処理手順を表現しているのか、またどのような条件が課されているのかといったことを解析する。
また、変換部203は、ユースケース図/アクティビティ図変換部231とアクティビティ図/ユースケース図変換部232とを備えている。ユースケース図/アクティビティ図変換部231は、ユースケース図構造解析部221により構造解析された対象ユースケース図211をアクティビティ図に変換する機能を有する。
詳細な変換例については後述するが、簡単に変換手法を説明すると、たとえば、対象ユースケース図211内のユースケースxをアクティビティxとするアクティビティ図Xに変換する。たとえば、ユースケースxが『見積もりを作成する』というユースケースであるとすると、アクティビティ図Xは、『見積もりを作成する』というアクティビティxを処理するアクティビティ図となる。
また、ユースケースx,y間に包含関係がある場合、包含元のユースケースxをアクティビティxとするアクティビティ図Xに変換する。この場合、アクティビティ図Xのサブアクティビティ図として、包含先のユースケースyをアクティビティxのサブアクティビティyとするサブアクティビティ図Yに変換する。
たとえば、ユースケースyが『ユーザ情報を確認する』というユースケースであるとすると、アクティビティ図Xは、『見積もりを作成する』というアクティビティxを処理するアクティビティ図となり、アクティビティ図Yは、『ユーザ情報を確認する』というサブアクティビティyを処理するアクティビティ図となる。
また、ユースケースx,z間に拡張関係がある場合、拡張対象となるユースケースxをアクティビティxとするアクティビティ図Xに変換する。この場合、拡張機能を有するユースケースzをアクティビティxの分岐先のサブアクティビティとするサブアクティビティ図Zに変換する。
たとえば、ユースケースzが『割引する』というユースケースであるとすると、アクティビティ図Xは、『見積もりを作成する』というアクティビティxを処理するアクティビティ図となり、アクティビティ図Zは、『割引する』というサブアクティビティzを『見積もりを作成する』というアクティビティxの分岐先のサブアクティビティとするアクティビティ図となる。
また、ユースケースw1,w2間に汎化関係がある場合、抽象的なユースケースw1と具象的なユースケースw2とをそれぞれアクティビティw1,w2とするアクティビティ図W1,W2に変換する。この場合、抽象的なアクティビティ図W1にサブアクティビティ図W3があるとすると、具象的なアクティビティ図W2のサブアクティビティ図もサブアクティビティ図W3となる。なお、変換により得られたアクティビティ図を「変換済みアクティビティ図251」と称す。なお、変換によりえられたサブアクティビティ図も便宜上、「変換済みアクティビティ図251」と称す。
また、アクティビティ図/ユースケース図変換部232は、アクティビティ図構造解析部222により構造解析された対象アクティビティ図212をユースケース図に変換する機能を有する。
詳細な変換例については後述するが、簡単に変換手法を説明すると、たとえば、対象アクティビティ図212内のアクティビティxをユースケースxとするユースケース図Xに変換する。たとえば、アクティビティxが『見積もりを作成する』というアクティビティであるとすると、ユースケース図Xは、『見積もりを作成する』というユースケースxという機能を表現するユースケース図となる。
また、アクティビティxについてサブアクティビティyが存在する場合、アクティビティxを包含元のユースケースxとし、サブアクティビティyを包含先のユースケースyとし、ユースケースx,y間を包含関係とするユースケース図XYに変換する。
たとえば、サブアクティビティyが『ユーザ情報を確認する』というアクティビティであるとすると、ユースケース図XYは、『見積もりを作成する』というアクティビティxを包含元のユースケースxとし、『ユーザ情報を確認する』というサブアクティビティyを包含先のユースケースyとし、包含元のユースケースxと包含先のユースケースyとを包含関係で接続したユースケース図となる。
また、アクティビティxについて分岐先となるサブアクティビティzが存在する場合、アクティビティxを拡張対象のユースケースxとし、サブアクティビティzを拡張機能を有するユースケースzとし、ユースケースx,z間を拡張関係とするユースケース図XZに変換する。
たとえば、サブアクティビティzが『割引する』というアクティビティであるとすると、ユースケース図XZは、『見積もりを作成する』というアクティビティxを拡張対象のユースケースxとし、『割引する』というサブアクティビティzを拡張機能を有するユースケースzとし、拡張対象のユースケースxと拡張機能を有するユースケースzとを拡張関係で接続したユースケース図となる。なお、変換により得られたユースケース図を「変換済みユースケース図252」と称す。
また、検証部204は、アクティビティ図検証部241とユースケース図検証部242とを備えている。アクティビティ図検証部241は、対象アクティビティ図212と変換済みアクティビティ図251(または変換済みサブアクティビティ図)との同一性の検証をおこなう。この検証は、たとえば、対象アクティビティ図212が変換済みアクティビティ図251と一致するか否かを検証する。また、対象アクティビティ図212が変換済みサブアクティビティ図と一致するか否かを検証する。また、変換済みサブアクティビティ図が複数ある場合、対象アクティビティ図212が変換済みサブアクティビティ図に含まれているか否かを検証する。
また、ユースケース図検証部242は、対象ユースケース図211と変換済みユースケース図252との同一性の検証をおこなう。この検証は、たとえば、対象ユースケース図211と変換済みユースケース図252との間でユースケースが一致するか否かを検証したり、対象ユースケース図211における各ユースケース間の関係と、変換済みユースケース図252における各ユースケース間の関係とが一致するか否かを検証する。
また、出力部205は、変換済みユースケース図252、変換済みアクティビティ図251(変換済みサブアクティビティ図も含む)、検証部204からの検証結果253を出力する機能を有する。具体的には、これらの出力情報をディスプレイ108の表示画面に表示したり、プリンタ113により印刷出力する。また、HD105などの記録媒体に出力して記録することとしてもよい。
(ユースケース図とアクティビティ図との変換ルール)
つぎに、変換部203におけるユースケース図211とアクティビティ図212との変換ルールについて説明する。図3は、変換ルール<R1>,<R2>を示す説明図であり、図4は、変換ルール<R3>,<R4>を示す説明図である。
<R1>(図3参照)
対象ユースケース図211が包含関係のあるユースケースA,Bを含むユースケース図300である場合、ユースケースAが包含元、ユースケースBが包含先であるとすると、ユースケースAを、アクティビティAを処理するアクティビティ図311に変換し、ユースケースBを、アクティビティAのサブアクティビティBを処理するサブアクティビティ図312に変換する。
<R2>(図3参照)
対象アクティビティ図212がアクティビティAを処理するアクティビティ図311とそのサブアクティビティBを処理するサブアクティビティ図312を含むアクティビティ図集合310である場合、アクティビティAを包含元のユースケースA、サブアクティビティBをその包含先のユースケースBとするユースケース図300に変換する。
<R3>(図4参照)
対象ユースケース図211が拡張関係のあるユースケースA,Bを含むユースケース図400である場合、ユースケースAが拡張対象、ユースケースBがその拡張機能であるとすると、ユースケースAを、アクティビティAを処理するアクティビティ図411に変換し、ユースケースBを、分岐によりアクティビティAのサブアクティビティBを処理する場合があるサブアクティビティ図412に変換する。
<R4>(図4参照)
対象アクティビティ図212がアクティビティAを処理するアクティビティ図411と分岐によりそのサブアクティビティBを処理する場合があるサブアクティビティ図412を含むアクティビティ図集合410である場合、アクティビティAを拡張対象となるユースケースAとし、サブアクティビティBをその拡張機能となるユースケースBとするユースケース図400に変換する。
つぎに、上記変換ルール<R1>〜<R4>を用いた変換例について説明する。図5は、ユースケース図とアクティビティ図との変換例1を示す説明図である。変換例1はユースケースA,C間に拡張関係があり、かつ、ユースケースB,C間に包含関係がある場合の例である。具体的には、ユースケース図500において、ユースケースCが、ユースケースAの拡張機能となるユースケースであるとともに、ユースケースBの包含先となるユースケースでもある。
図5において、ユースケース図500を対象ユースケース図211とすると、ユースケースA,C間においては、変換ルール<R3>が適用される。これにより、ユースケースAをアクティビティAとして処理するアクティビティ図511と、アクティビティAにおいて分岐によりサブアクティビティCを処理する場合があるサブアクティビティ図512とを含むアクティビティ図集合510を生成する。
同様に、ユースケースB,C間においては、変換ルール<R1>が適用される。これにより、ユースケースBをアクティビティBとして処理するアクティビティ図521と、アクティビティBにおいてサブアクティビティCを処理するサブアクティビティ図522とを含むアクティビティ図集合520を生成する。
また、アクティビティ図集合510,520を対象アクティビティ図212とすると、アクティビティ図集合510には変換ルール<R4>が適用され、アクティビティ図集合520には変換ルール<R2>が適用される。この場合、変換後のユースケース図500では、サブアクティビティCから変換されたユースケースCがユースケースA,Bに共通のユースケースとなる。
このように、図5の変換例1では、サブアクティビティCが同一アクティビティであることは、個々のアクティビティ図集合510,520からは判断できない。このアクティビティ図集合510,520をユースケース図500に変換することで、ユースケースAの拡張機能となるユースケースとユースケースBの包含先となるユースケースとが、同一のユースケースCであることがわかる。
図6は、ユースケース図とアクティビティ図との変換例2を示す説明図である。変換例2はユースケースA,C間に包含関係があるとともに、ユースケースB,C間にも包含関係がある場合の例である。具体的には、ユースケース図600において、ユースケースA,BはともにユースケースCの包含元のユースケースである。
図6において、ユースケース図600を対象ユースケース図211とすると、ユースケースA,C間およびユースケースB,C間ともに、変換ルール<R1>が適用される。具体的には、ユースケースAをアクティビティAとして処理するアクティビティ図611と、アクティビティAにおいてサブアクティビティCを処理するサブアクティビティ図612とを含むアクティビティ図集合610を生成する。また、ユースケースBをアクティビティBとして処理するアクティビティ図621と、アクティビティBにおいてサブアクティビティCを処理するサブアクティビティ図622とを含むアクティビティ図集合620を生成する。
一方、アクティビティ図集合610,620を対象アクティビティ図212とすると、アクティビティ図集合610,620ともに、変換ルール<R3>が適用される。具体的には、上位のアクティビティA,Bを包含元のユースケースとし、そのサブアクティビティCを包含先となるユースケースとするユースケース図600を生成する。
このように、図6の変換例2では、サブアクティビティCが同一アクティビティであることは、個々のアクティビティ図集合610,620からは判断できない。このアクティビティ図集合610,620をユースケース図600に変換することで、ユースケースAの包含先となるユースケースとユースケースBの包含先となるユースケースとが、同一のユースケースCであることがわかる。
図7は、ユースケース図とアクティビティ図との変換例3を示す説明図である。変換例3はユースケースA,C間に拡張関係があるとともに、ユースケースB,C間にも拡張関係がある場合の例である。具体的には、ユースケース図700において、ユースケースA,BはともにユースケースCの拡張対象となるユースケースである。
図7において、ユースケース図700を対象ユースケース図211とすると、ユースケースA,C間およびユースケースB,C間ともに、変換ルール<R2>が適用される。具体的には、ユースケースAをアクティビティAとして処理するアクティビティ図711と、アクティビティAにおいて分岐によりサブアクティビティCを処理する場合があるサブアクティビティ図712とを含むアクティビティ図集合710を生成する。また、ユースケースBをアクティビティBとして処理するアクティビティ図721と、アクティビティBにおいて分岐によりサブアクティビティCを処理する場合があるサブアクティビティ図722とを含むアクティビティ図集合720を生成する。
一方、アクティビティ図集合710,720を対象アクティビティ図212とすると、アクティビティ図集合710,720ともに、変換ルール<R4>が適用される。具体的には、上位のアクティビティA,Bを拡張対象となるユースケースとし、そのサブアクティビティCを拡張機能となるユースケースとするユースケース図700を生成する。
このように、図7の変換例3では、サブアクティビティCが同一アクティビティであることは、個々のアクティビティ図集合710,720からは判断できない。このアクティビティ図集合710,720をユースケース図700に変換することで、ユースケースAの拡張機能となるユースケースとユースケースBの拡張機能となるユースケースとが、同一のユースケースCであることがわかる。
図8は、ユースケース図とアクティビティ図との変換例4を示す説明図である。変換例4はユースケースA,B間に包含関係があり、かつ、ユースケースA,C間にも包含関係がある場合の例である。具体的には、ユースケース図800において、ユースケースAはユースケースB,Cの包含元となる共通のユースケースである。
図8において、ユースケース図800を対象ユースケース図211とすると、ユースケースA,B間およびユースケースA,C間ともに、変換ルール<R1>が適用される。具体的には、ユースケースAをアクティビティAとして処理するアクティビティ図811に変換する。また、アクティビティAにおいてユースケースB,CをサブアクティビティB,Cとするサブアクティビティ図821〜823を生成する。ユースケース図は順序関係を持たないため、順序関係をすべて網羅したサブアクティビティ図821〜823が生成される。
一方、対象アクティビティ図212からユースケース図800に変換する場合、変換ルール<R3>が適用される。この場合、対象アクティビティ図212としては、上位となるアクティビティAを処理するアクティビティ図811のほか、そのサブアクティビティ図821〜823のうち少なくともいずれか一つのサブアクティビティ図を与えればよい。したがって、対象アクティビティ図212として1つでもサブアクティビティ図を与えることができれば、対応するユースケース図を自動生成でき、その自動生成されたユースケース図を変換することで、すべての順序関係を網羅するサブアクティビティ図を得ることもできる。
また、ユースケース図は通常順序関係を持たないが、ユースケースB,C間で事前関係や事後関係が与えられている場合、サブアクティビティ図821〜823のうち事前条件や事後条件を満足するサブアクティビティ図に変換したり、対象アクティビティ図212として与えることとしてもよい。
図9は、ユースケース図とアクティビティ図との変換例5を示す説明図である。変換例5はユースケースA,B間に拡張関係があり、かつ、ユースケースA,C間に包含関係がある場合の例である。具体的には、ユースケース図900において、ユースケースAはユースケースBの拡張対象となるユースケースであるとともに、ユースケースCの包含元となる共通のユースケースである。
図9において、ユースケース図900を対象ユースケース図211とすると、ユースケースA,B間には変換ルール<R2>が適用され、ユースケースA,C間には変換ルール<R1>が適用される。具体的には、ユースケースAをアクティビティAとして処理するアクティビティ図911に変換する。また、アクティビティAにおいてユースケースBをサブアクティビティBとし、ユースケースCをサブアクティビティCとして、サブアクティビティCの単独処理、または分岐によりサブアクティビティBが処理する場合があるサブアクティビティ図921〜923を生成する。ユースケース図は順序関係を持たないため、順序関係をすべて網羅したサブアクティビティ図921〜923が生成される。
一方、対象アクティビティ図212からユースケース図900に変換する場合、サブアクティビティBに対しては変換ルール<R4>が、サブアクティビティCに対しては変換ルール<R3>が適用される。
この場合、対象アクティビティ図212としては、上位となるアクティビティAを処理するアクティビティ図911のほか、そのサブアクティビティ図921〜923のうち少なくともいずれか一つのサブアクティビティ図を与えればよい。したがって、対象アクティビティ図212として1つでもサブアクティビティ図を与えることができれば、対応するユースケース図を自動生成でき、その自動生成されたユースケース図を変換することで、すべての順序関係を網羅するサブアクティビティ図を得ることもできる。
また、ユースケース図は通常順序関係を持たないが、ユースケースB,C間で事前関係や事後関係が与えられている場合、サブアクティビティ図921〜923のうち事前条件や事後条件を満足するサブアクティビティ図に変換したり、対象アクティビティ図212として与えることとしてもよい。
図10は、ユースケース図とアクティビティ図との変換例6を示す説明図である。変換例6はユースケースA,B間に拡張関係があり、かつ、ユースケースA,C間にも拡張関係がある場合の例である。具体的には、ユースケース図1000において、ユースケースAはユースケースB,Cの拡張対象となる共通のユースケースである。
図10において、ユースケース図1000を対象ユースケース図211とすると、ユースケースA,B間およびユースケースA,C間には変換ルール<R2>が適用される。具体的には、ユースケースAをアクティビティAとして処理するアクティビティ図1011に変換する。
また、アクティビティAにおいてユースケースBをサブアクティビティBとし、ユースケースCをサブアクティビティCとして、それぞれ分岐によりサブアクティビティB,Cを処理する場合があるサブアクティビティ図1021〜1023を生成する。ユースケース図は順序関係を持たないため、順序関係をすべて網羅したサブアクティビティ図1021〜1023が生成される。
一方、対象アクティビティ図212からユースケース図1000に変換する場合、サブアクティビティB,Cに対しては変換ルール<R4>が適用される。この場合、対象アクティビティ図212としては、上位となるアクティビティAを処理するアクティビティ図1011のほか、そのサブアクティビティ図1021〜1023のうち少なくともいずれか一つのサブアクティビティ図を与えればよい。
したがって、対象アクティビティ図212として1つでもサブアクティビティ図を与えることができれば、対応するユースケース図を自動生成でき、その自動生成されたユースケース図を変換することで、すべての順序関係を網羅するサブアクティビティ図を得ることもできる。
また、ユースケース図は通常順序関係を持たないが、ユースケースB,C間で事前関係や事後関係が与えられている場合、サブアクティビティ図1021〜1023のうち事前条件や事後条件を満足するサブアクティビティ図に変換したり、対象アクティビティ図212として与えることとしてもよい。
また、ユースケース図には包含関係、拡張関係のほか、汎化関係もある。汎化関係に関する変換ルールについて説明する。図11は、汎化関係に関する変換ルールを示す説明図である。汎化関係は、ユースケース間に抽象化または具象化の関係があることを示している。『ユースケースAがユースケースBに汎化である』とは、ユースケースAを具象化した機能がユースケースBであることを意味する。たとえば、ユースケースAを『商品を検索する』とした場合、ユースケースBは『(商品の一つである)本を検索する』となる。汎化関係の変換ルール<R5>は以下の通りである。
<R5>
汎化関係のユースケースA,Bはそれぞれ上位のアクティビティA,Bを処理するアクティビティ図1101,1102となる。この場合、アクティビティAのサブアクティビティが存在すると、アクティビティ図1102に対するサブアクティビティ図は、アクティビティ図Aのサブアクティビティ図と同一処理内容のアクティビティ図となる。なお、アクティビティ図集合1110,1120では、汎化関係を特定できないため、アクティビティ図集合1110,1120からユースケース図1100には変換できない。
たとえば、ユースケース図1100において、ユースケースAに包含先となるユースケースC,Dが存在する場合、アクティビティAを処理するアクティビティ図1101のサブアクティビティ図1103の処理内容は、アクティビティBを処理するアクティビティ図1102のサブアクティビティ図1104の処理内容に引き継がれて同一内容となる。
(検証の具体例)
つぎに、検証部204による検証の具体例について説明する。図12は、検証処理内容を示す説明図である。図12において、ユースケース図1201が正しいと仮定する。アクティビティ図集合1210を対象アクティビティ図212とすると、このアクティビティ図集合1210を変換することで変換済みユースケース図1202を得る。
そして、このユースケース図1201と変換済みユースケース図1202との検証をおこなう。ユースケース図1201と変換済みユースケース図1202とでは、ユースケース間の関係(包含、拡張)は一致しているため、ユースケースどうしを比較すると、ユースケースCの包含先のユースケースがユースケース図1201と変換済みユースケース図1202とでは異なっている。
図13−1は、図12に示したユースケース図の検証結果を示す図表である。図13−1において、ユースケース図1201にはユースケースA〜Dが存在し(○印)、ユースケースEは存在しない(×印)。一方、変換済みユースケース図1202では、ユースケースA〜C,Eが存在し(○印)、ユースケースDが存在しない(×印)。したがって、変換済みユースケース図1202では、本来存在しなければならないユースケースDが存在しないため、変換元となるアクティビティ図集合1211に誤りがあることがわかる。
また、図12において、アクティビティ図集合1210が正しいと仮定する。ユースケース図1201を対象ユースケース図211とすると、このユースケース図1201を変換することで変換済みアクティビティ図集合1220を得る。そして、このアクティビティ図集合1210と変換済みアクティビティ図集合1220との検証をおこなう。アクティビティ図1211,1221は一致するため、サブアクティビティ図1212,1222を比較すると、一部のサブアクティビティが異なっている。
図13−2は、図12に示したアクティビティ図の検証結果を示す図表である。図13−2において、アクティビティ図集合1210にはアクティビティDは存在するが(○印)、アクティビティEは存在しない(×印)。一方、アクティビティ図集合1220にはアクティビティEは存在するが(○印)、アクティビティDは存しない(×印)。
すなわち、アクティビティCの処理の後は、サブアクティビティ図1212ではアクティビティEが処理され、サブアクティビティ図1222ではアクティビティEではなくアクティビティDが処理される。ここでは、アクティビティ図集合1210が正しいと仮定しているため、変換元となるユースケース図1201に誤りがあることがわかる。
図14は、他の検証処理内容を示す説明図である。図14において、ユースケース図1400が正しいと仮定する。アクティビティ図集合1410を対象アクティビティ図212とすると、このアクティビティ図集合1410を変換することで変換済みユースケース図1401,1402を得る。
具体的には、アクティビティ図1411およびサブアクティビティ図1412(または1414)を変換すると、ユースケース図1401が得られるが、アクティビティ図1411およびサブアクティビティ図1413を変換するとユースケース図1402が得られる。
そして、このユースケース図1400と変換済みユースケース図1401,1402との検証をおこなう。各ユースケース図1400〜1402ではユースケースA〜Cは一致しているため、ユースケース間の関係を検証する。
図15−1は、図14に示したユースケース図の検証結果を示す図表である。ユースケース図1400および変換済みユースケース図1401では、ユースケースA,B間およびA,C間ともに同一の関係である(○印)。一方、変換済みユースケース図2521402では、ユースケースA,C間はユースケース図1400と同一の関係であるが(○印)、ユースケースA,B間では包含関係となっているため、ユースケース図1400とは異なっている(×印)。
また、図14において、アクティビティ図集合1410が正しいと仮定する。ユースケース図1400を対象ユースケース図211とすると、このユースケース図1400を変換することで変換済みアクティビティ図集合1420を得る。そして、アクティビティ図集合1410,1420の同一性検証をおこなう。具体的には、上位のアクティビティ図1411,1421との同一性検証をおこなう。
図15−2は、図14に示した上位のアクティビティ図の検証結果を示す図表である。図15−2において、アクティビティ図1411,1421の処理手順はともに一致している(○印)。
また、サブアクティビティ図1412〜1414,1422〜1424の同一性検証をおこなう。具体的には、並列処理をおこなうサブアクティビティ図1412,1422の同一性検証、アクティビティB→Cの順に処理するサブアクティビティ図1413,1423の同一性検証、アクティビティC→Bの順に処理するサブアクティビティ図1414,1424の同一性検証をおこなう。
図15−3は、図14に示したサブアクティビティ図の検証結果を示す図表である。図15−3において、サブアクティビティ図1412,1422のアクティビティB,Cの処理手順はともに一致している(○印)。また、サブアクティビティ図1414,1424のアクティビティB,Cの処理手順もともに一致している(○印)。
一方、サブアクティビティ図1413,1423のアクティビティB,Cの処理手順については、図14において、サブアクティビティ図1413ではアクティビティBをアクティビティCの処理前に必ず処理されるが、サブアクティビティ図1423では、アクティビティCの処理前にアクティビティBは分岐により処理される場合とされない場合がある。したがって、アクティビティBの処理が異なっている(×印)。
(設計/検証支援装置200の設計/検証支援処理手順)
つぎに、この発明の実施の形態にかかる設計/検証支援装置200の設計/検証支援処理手順について説明する。図16は、ユースケース図からアクティビティ図に変換する場合の設計/検証支援処理手順を示すフローチャートである。
図16において、まず、取得部201により対象ユースケース図211を取得する(ステップS1601)。つぎに、ユースケース図構造解析部221により対象ユースケース図211の構造を解析する(ステップS1602)。そして、ユースケース図/アクティビティ図変換部231により、構造解析された対象ユースケース図211をアクティビティ図に変換する(ステップS1603)。そして、変換済みアクティビティ図251を表示する(ステップS1604)。これにより、取得されたアクティビティ図と変換済みアクティビティ図251との同一性を視覚的に確認することができる。
図17は、アクティビティ図からユースケース図に変換する場合の設計/検証支援処理手順を示すフローチャートである。まず、取得部201により対象アクティビティ図212を取得する(ステップS1701)。つぎに、アクティビティ図構造解析部222により対象アクティビティ図212の構造を解析する(ステップS1702)。そして、アクティビティ図/ユースケース図変換部232により、構造解析された対象アクティビティ図212をユースケース図に変換する(ステップS1703)。そして、変換済みユースケース図252を表示する(ステップS1704)。これにより、取得されたユースケース図と変換済みユースケース図252との同一性を視覚的に確認することができる。
図18は、アクティビティ図の検証をおこなう場合の設計/検証支援処理手順を示すフローチャートである。まず、取得部201により、ユースケース図およびアクティビティ図(図18の説明において、「取得アクティビティ図」という)を取得する(ステップS1801)。
つぎに、ユースケース図を対象ユースケース図211に設定し(ステップS1802)、ユースケース図構造解析部221により対象ユースケース図211を構造解析する(ステップS1803)。そして、ユースケース図/アクティビティ図変換部231により、構造解析された対象ユースケース図211をアクティビティ図に変換する(ステップS1804)。そして、取得アクティビティ図および変換済みアクティビティ図251を表示する(ステップS1805)。これにより、取得アクティビティ図と変換済みアクティビティ図251との同一性を視覚的に確認することができる。
つぎに、アクティビティ図検証部241により、取得アクティビティ図と変換済みアクティビティ図251の一致検証をおこなう(ステップS1806)。これにより、取得アクティビティ図と変換済みアクティビティ図251の相違点を自動抽出することができる。そして、その検証結果を表示する(ステップS1807)。これにより、取得アクティビティ図と変換済みアクティビティ図251の相違点を自動的に明確化することができる。
図19は、ユースケース図の検証をおこなう場合の設計/検証支援処理手順を示すフローチャートである。まず、取得部201により、ユースケース図およびアクティビティ図(図19の説明において、「取得ユースケース図」という)を取得する(ステップS1901)。
つぎに、アクティビティ図を対象アクティビティ図212に設定し(ステップS1902)、アクティビティ図構造解析部222により対象アクティビティ図212を構造解析する(ステップS1903)。そして、アクティビティ図/ユースケース図変換部232により、構造解析された対象アクティビティ図212をユースケース図に変換する(ステップS1904)。そして、取得ユースケース図および変換済みユースケース図252を表示する(ステップS1905)。これにより、取得ユースケース図と変換済みユースケース図252との同一性を視覚的に確認することができる。
つぎに、ユースケース図検証部242により、取得ユースケース図と変換済みユースケース図252の一致検証をおこなう(ステップS1907)。これにより、取得ユースケース図と変換済みユースケース図252の相違点を自動抽出することができる。そして、その検証結果を表示する(ステップS1906)。これにより、取得ユースケース図と変換済みユースケース図252の相違点を自動的に明確化することができる。
このように、この発明の実施の形態によれば、ユースケース図を与えるだけで、そのユースケース図と同一内容のアクティビティ図を自動生成することができ、また、アクティビティ図を与えるだけで、そのアクティビティ図と同一内容のユースケース図を自動生成することができる。
したがって、設計/検証者は、同一設計対象について、ユースケース図またはアクティビティ図のうちいずれか一方の図を取得できればよく、設計/検証作業効率の向上を図ることができる。
特に、アクティビティ図にはアクティビティの順序関係という概念があるため、複数とおりのサブアクティビティ図が存在するケースが多々あるが、一つのユースケース図を与えるだけで、対応するすべてのアクティビティ図を網羅することができ、作業効率の向上を図ることができる。
また、人手によりユースケース図およびアクティビティ図を作成すると、両図の間で齟齬が生じる場合もあるが、変換後のユースケース図/アクティビティ図を検証することで、そのような齟齬が生じることがなく整合性の取れた高品質のユースケース図/アクティビティ図を得ることができる。
以上説明したように、設計/検証支援プログラム、該プログラムを記録した記録媒体、設計/検証支援装置、および設計/検証支援方法によれば、整合性の取れた高品質なユースケース図やアクティビティ図を容易に生成することにより、作業労力の低減化および設計期間の短縮化を実現することができる。
なお、本実施の形態で説明した設計/検証支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
(付記1)設計/検証対象の機能を表現するユースケース図を取得させる取得工程と、
前記取得工程によって取得されたユースケース図の構造を解析させる解析工程と、
前記解析工程によって解析された構造に基づいて、前記ユースケース図を前記設計/検証対象の処理手順を表現するアクティビティ図に変換させる変換工程と、
前記変換工程によって変換されたアクティビティ図を出力させる出力工程と、
をコンピュータに実行させることを特徴とする設計/検証支援プログラム。
(付記2)設計/検証対象の処理手順を表現するアクティビティ図を取得させる取得工程と、
前記取得工程によって取得されたアクティビティ図の構造を解析させる解析工程と、
前記解析工程によって解析された構造に基づいて、前記アクティビティ図を前記設計/検証対象の機能を表現するユースケース図に変換させる変換工程と、
前記変換工程によって変換されたユースケース図を出力させる出力工程と、
をコンピュータに実行させることを特徴とする設計/検証支援プログラム。
(付記3)設計/検証対象の機能を表現するユースケース図と前記設計/検証対象の処理手順を表現するアクティビティ図を取得させる取得工程と、
前記取得工程によって取得されたユースケース図の構造を解析させる解析工程と、
前記解析工程によって解析された構造に基づいて、前記ユースケース図を前記設計/検証対象の処理手順を表現するアクティビティ図に変換させる変換工程と、
前記取得工程によって取得されたアクティビティ図と前記変換工程によって変換されたアクティビティ図との同一性の検証をおこなわせる検証工程と、
前記検証工程によって検証された検証結果を出力させる出力工程と、
をコンピュータに実行させることを特徴とする設計/検証支援プログラム。
(付記4)前記検証工程は、
前記取得工程によって取得されたアクティビティ図が前記変換工程によって変換されたアクティビティ図に含まれているか否かという検証をおこなわせることを特徴とする付記3に記載の設計/検証支援プログラム。
(付記5)前記検証工程は、
前記取得工程によって取得されたアクティビティ図の構造と前記変換工程によって変換されたアクティビティ図の構造との一致検証をおこなわせることを特徴とする付記3に記載の設計/検証支援プログラム。
(付記6)設計/検証対象の機能を表現するユースケース図と前記設計/検証対象の処理手順を表現するアクティビティ図を取得させる取得工程と、
前記取得工程によって取得されたアクティビティ図の構造を解析させる解析工程と、
前記解析工程によって解析された構造に基づいて、前記アクティビティ図を前記設計/検証対象の処理手順を表現するユースケース図に変換させる変換工程と、
前記取得工程によって取得されたユースケース図と前記変換工程によって変換されたユースケース図との同一性の検証をおこなわせる検証工程と、
前記検証工程によって検証された検証結果を出力させる出力工程と、
をコンピュータに実行させることを特徴とする設計/検証支援プログラム。
(付記7)前記検証工程は、
前記取得工程によって取得されたユースケース図の構造と前記変換工程によって変換されたユースケース図の構造との一致検証をおこなわせることを特徴とする付記6に記載の設計/検証支援プログラム。
(付記8)前記検証工程は、
ユースケースの一致検証をおこなわせることを特徴とする付記7に記載の設計/検証支援プログラム。
(付記9)前記検証工程は、
ユースケース間の関係の一致検証をおこなわせることを特徴とする付記7または8に記載の設計/検証支援プログラム。
(付記10)付記1〜9のいずれか一つに記載の設計/検証支援プログラムを記録した前記コンピュータに読み取り可能な記録媒体。
(付記11)設計/検証対象の機能を表現するユースケース図を取得する取得手段と、
前記取得手段によって取得されたユースケース図の構造を解析する解析手段と、
前記解析手段によって解析された構造に基づいて、前記ユースケース図を前記設計/検証対象の処理手順を表現するアクティビティ図に変換する変換手段と、
前記変換手段によって変換されたアクティビティ図を出力する出力手段と、
を備えることを特徴とする設計/検証支援装置。
(付記12)設計/検証対象の処理手順を表現するアクティビティ図を取得する取得手段と、
前記取得手段によって取得されたアクティビティ図の構造を解析する解析手段と、
前記解析手段によって解析された構造に基づいて、前記アクティビティ図を前記設計/検証対象の機能を表現するユースケース図に変換する変換手段と、
前記変換手段によって変換されたユースケース図を出力する出力手段と、
を備えることを特徴とする設計/検証支援装置。
(付記13)設計/検証対象の機能を表現するユースケース図と前記設計/検証対象の処理手順を表現するアクティビティ図を取得する取得手段と、
前記取得手段によって取得されたユースケース図の構造を解析する解析手段と、
前記解析手段によって解析された構造に基づいて、前記ユースケース図を前記設計/検証対象の処理手順を表現するアクティビティ図に変換する変換手段と、
前記取得手段によって取得されたアクティビティ図と前記変換手段によって変換されたアクティビティ図との同一性の検証をおこなわせる検証手段と、
前記検証手段によって検証された検証結果を出力する出力手段と、
を備えることを特徴とする設計/検証支援装置。
(付記14)前記検証手段は、
前記取得手段によって取得されたアクティビティ図が前記変換手段によって変換されたアクティビティ図に含まれているか否かという検証をおこなうことを特徴とする付記13に記載の設計/検証支援装置。
(付記15)前記検証手段は、
前記取得手段によって取得されたアクティビティ図の構造と前記変換手段によって変換されたアクティビティ図の構造との一致検証をおこなうことを特徴とする付記13に記載の設計/検証支援装置。
(付記16)設計/検証対象の機能を表現するユースケース図と前記設計/検証対象の処理手順を表現するアクティビティ図を取得する取得手段と、
前記取得手段によって取得されたアクティビティ図の構造を解析する解析手段と、
前記解析手段によって解析された構造に基づいて、前記アクティビティ図を前記設計/検証対象の処理手順を表現するユースケース図に変換する変換手段と、
前記取得手段によって取得されたユースケース図と前記変換手段によって変換されたユースケース図との同一性の検証をおこなわせる検証手段と、
前記検証手段によって検証された検証結果を出力する出力手段と、
を備えることを特徴とする設計/検証支援装置。
(付記17)前記検証手段は、
前記取得手段によって取得されたユースケース図の構造と前記変換手段によって変換されたユースケース図の構造との一致検証をおこなうことを特徴とする付記16に記載の設計/検証支援装置。
(付記18)前記検証手段は、
ユースケースの一致検証をおこなうことを特徴とする付記17に記載の設計/検証支援装置。
(付記19)前記検証手段は、
ユースケース間の関係の一致検証をおこなうことを特徴とする付記17または18に記載の設計/検証支援装置。
(付記20)設計/検証対象の機能を表現するユースケース図を取得する取得工程と、
前記取得工程によって取得されたユースケース図の構造を解析する解析工程と、
前記解析工程によって解析された構造に基づいて、前記ユースケース図を前記設計/検証対象の処理手順を表現するアクティビティ図に変換する変換工程と、
前記変換工程によって変換されたアクティビティ図を出力する出力工程と、
を含んだことを特徴とする設計/検証支援方法。
(付記21)設計/検証対象の処理手順を表現するアクティビティ図を取得する取得工程と、
前記取得工程によって取得されたアクティビティ図の構造を解析する解析工程と、
前記解析工程によって解析された構造に基づいて、前記アクティビティ図を前記設計/検証対象の機能を表現するユースケース図に変換する変換工程と、
前記変換工程によって変換されたユースケース図を出力する出力工程と、
を含んだことを特徴とする設計/検証支援方法。
(付記22)設計/検証対象の機能を表現するユースケース図と前記設計/検証対象の処理手順を表現するアクティビティ図を取得する取得工程と、
前記取得工程によって取得されたユースケース図の構造を解析する解析工程と、
前記解析工程によって解析された構造に基づいて、前記ユースケース図を前記設計/検証対象の処理手順を表現するアクティビティ図に変換する変換工程と、
前記取得工程によって取得されたアクティビティ図と前記変換工程によって変換されたアクティビティ図との同一性の検証をおこなわせる検証工程と、
前記検証工程によって検証された検証結果を出力する出力工程と、
を含んだことを特徴とする設計/検証支援方法。
(付記23)前記検証工程は、
前記取得工程によって取得されたアクティビティ図が前記変換工程によって変換されたアクティビティ図に含まれているか否かという検証をおこなうことを特徴とする付記22に記載の設計/検証支援方法。
(付記24)前記検証工程は、
前記取得工程によって取得されたアクティビティ図の構造と前記変換工程によって変換されたアクティビティ図の構造との一致検証をおこなうことを特徴とする付記22に記載の設計/検証支援方法。
(付記25)設計/検証対象の機能を表現するユースケース図と前記設計/検証対象の処理手順を表現するアクティビティ図を取得する取得工程と、
前記取得工程によって取得されたアクティビティ図の構造を解析する解析工程と、
前記解析工程によって解析された構造に基づいて、前記アクティビティ図を前記設計/検証対象の処理手順を表現するユースケース図に変換する変換工程と、
前記取得工程によって取得されたユースケース図と前記変換工程によって変換されたユースケース図との同一性の検証をおこなわせる検証工程と、
前記検証工程によって検証された検証結果を出力する出力工程と、
を含んだことを特徴とする設計/検証支援方法。
(付記26)前記検証工程は、
前記取得工程によって取得されたユースケース図の構造と前記変換工程によって変換されたユースケース図の構造との一致検証をおこなうことを特徴とする付記25に記載の設計/検証支援方法。
(付記27)前記検証工程は、
ユースケースの一致検証をおこなうことを特徴とする付記26に記載の設計/検証支援方法。
(付記28)前記検証工程は、
ユースケース間の関係の一致検証をおこなうことを特徴とする付記26または27に記載の設計/検証支援方法。
以上のように、本発明にかかる設計/検証支援プログラム、該プログラムを記録した記録媒体、設計/検証支援装置、および設計/検証支援方法は、LSI設計やソフトウェア開発全般の上流工程における設計やその検証に有用である。
この発明の実施の形態にかかる設計/検証支援装置のハードウェア構成を示すブロック図である。 この発明の実施の形態にかかる設計/検証支援装置の機能的構成を示すブロック図である。 変換ルール<R1>,<R2>を示す説明図である。 変換ルール<R3>,<R4>を示す説明図である。 ユースケース図とアクティビティ図との変換例1を示す説明図である。 ユースケース図とアクティビティ図との変換例2を示す説明図である。 ユースケース図とアクティビティ図との変換例3を示す説明図である。 ユースケース図とアクティビティ図との変換例4を示す説明図である。 ユースケース図とアクティビティ図との変換例5を示す説明図である。 ユースケース図とアクティビティ図との変換例6を示す説明図である。 汎化関係に関する変換ルールを示す説明図である。 検証処理内容を示す説明図である。 図12に示したユースケース図の検証結果を示す図表である。 図12に示したアクティビティ図の検証結果を示す図表である。 他の検証処理内容を示す説明図である。 図14に示したユースケース図の検証結果を示す図表である。 図14に示した上位のアクティビティ図の検証結果を示す図表である。 図14に示したサブアクティビティ図の検証結果を示す図表である。 ユースケース図からアクティビティ図に変換する場合の設計/検証支援処理手順を示すフローチャートである。 アクティビティ図からユースケース図に変換する場合の設計/検証支援処理手順を示すフローチャートである。 アクティビティ図の検証をおこなう場合の設計/検証支援処理手順を示すフローチャートである。 ユースケース図の検証をおこなう場合の設計/検証支援処理手順を示すフローチャートである。
符号の説明
200 設計/検証支援装置
201 取得部
202 構造解析部
203 変換部
204 検証部
205 出力部
221 ユースケース図構造解析部
222 アクティビティ図構造解析部
231 ユースケース図/アクティビティ図変換部
232 アクティビティ図/ユースケース図変換部
241 アクティビティ図検証部
242 ユースケース図検証部

Claims (8)

  1. 設計/検証対象の機能を表現するユースケース図を取得させる取得工程と、
    前記取得工程によって取得されたユースケース図の構造を解析させる解析工程と、
    前記解析工程によって解析された構造に基づいて、前記ユースケース図を前記設計/検証対象の処理手順を表現するアクティビティ図に変換させる変換工程と、
    前記変換工程によって変換されたアクティビティ図を出力させる出力工程と、
    をコンピュータに実行させることを特徴とする設計/検証支援プログラム。
  2. 設計/検証対象の処理手順を表現するアクティビティ図を取得させる取得工程と、
    前記取得工程によって取得されたアクティビティ図の構造を解析させる解析工程と、
    前記解析工程によって解析された構造に基づいて、前記アクティビティ図を前記設計/検証対象の機能を表現するユースケース図に変換させる変換工程と、
    前記変換工程によって変換されたユースケース図を出力させる出力工程と、
    をコンピュータに実行させることを特徴とする設計/検証支援プログラム。
  3. 設計/検証対象の機能を表現するユースケース図と前記設計/検証対象の処理手順を表現するアクティビティ図を取得させる取得工程と、
    前記取得工程によって取得されたユースケース図の構造を解析させる解析工程と、
    前記解析工程によって解析された構造に基づいて、前記ユースケース図を前記設計/検証対象の処理手順を表現するアクティビティ図に変換させる変換工程と、
    前記取得工程によって取得されたアクティビティ図と前記変換工程によって変換されたアクティビティ図との同一性の検証をおこなわせる検証工程と、
    前記検証工程によって検証された検証結果を出力させる出力工程と、
    をコンピュータに実行させることを特徴とする設計/検証支援プログラム。
  4. 前記検証工程は、
    前記取得工程によって取得されたアクティビティ図が前記変換工程によって変換されたアクティビティ図に含まれているか否かという検証をおこなわせることを特徴とする請求項3に記載の設計/検証支援プログラム。
  5. 前記検証工程は、
    前記取得工程によって取得されたアクティビティ図の構造と前記変換工程によって変換されたアクティビティ図の構造との一致検証をおこなわせることを特徴とする請求項3に記載の設計/検証支援プログラム。
  6. 設計/検証対象の機能を表現するユースケース図と前記設計/検証対象の処理手順を表現するアクティビティ図を取得させる取得工程と、
    前記取得工程によって取得されたアクティビティ図の構造を解析させる解析工程と、
    前記解析工程によって解析された構造に基づいて、前記アクティビティ図を前記設計/検証対象の処理手順を表現するユースケース図に変換させる変換工程と、
    前記取得工程によって取得されたユースケース図と前記変換工程によって変換されたユースケース図との同一性の検証をおこなわせる検証工程と、
    前記検証工程によって検証された検証結果を出力させる出力工程と、
    をコンピュータに実行させることを特徴とする設計/検証支援プログラム。
  7. 前記検証工程は、
    前記取得工程によって取得されたユースケース図の構造と前記変換工程によって変換されたユースケース図の構造との一致検証をおこなわせることを特徴とする請求項6に記載の設計/検証支援プログラム。
  8. 請求項1〜7のいずれか一つに記載の設計/検証支援プログラムを前記コンピュータに記録した記録媒体。
JP2006314316A 2006-11-21 2006-11-21 設計/検証支援プログラムおよび該プログラムを記録した記録媒体 Active JP4589294B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006314316A JP4589294B2 (ja) 2006-11-21 2006-11-21 設計/検証支援プログラムおよび該プログラムを記録した記録媒体
US11/896,301 US8370781B2 (en) 2006-11-21 2007-08-30 Computer product for supporting design and verification of integrated circuit
US13/730,102 US9177088B2 (en) 2006-11-21 2012-12-28 Computer product for supporting design and verification of integrated circuit
US14/851,501 US9378316B2 (en) 2006-11-21 2015-09-11 Computer product for supporting design and verification of integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006314316A JP4589294B2 (ja) 2006-11-21 2006-11-21 設計/検証支援プログラムおよび該プログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JP2008129858A true JP2008129858A (ja) 2008-06-05
JP4589294B2 JP4589294B2 (ja) 2010-12-01

Family

ID=39418329

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006314316A Active JP4589294B2 (ja) 2006-11-21 2006-11-21 設計/検証支援プログラムおよび該プログラムを記録した記録媒体

Country Status (2)

Country Link
US (3) US8370781B2 (ja)
JP (1) JP4589294B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9069559B2 (en) * 2010-06-30 2015-06-30 International Business Machines Corporation Modularizing steps within a UML user model interaction pattern
CN109614096B (zh) * 2018-11-27 2022-05-06 成都信息工程大学 一种基于uml需求建模过程用例与活动转换的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000112747A (ja) * 1998-10-01 2000-04-21 Fujitsu Ltd プログラム資産における非実行文の等価性検証装置
JP2004070810A (ja) * 2002-08-08 2004-03-04 Nippon Telegr & Teleph Corp <Ntt> ビジュアルプログラミングシステム、ビジュアルプログラミング方法、ビジュアルプログラミング用プログラム及びそのプログラムを記録した記録媒体
US20040078777A1 (en) * 2002-10-22 2004-04-22 Ali Bahrami System and methods for business process modeling
US20050256665A1 (en) * 2004-01-26 2005-11-17 Jean Hartmann System and method for model based system testing of interactive applications
JP2008077449A (ja) * 2006-09-22 2008-04-03 Meidensha Corp ソフトウェア開発支援システムおよび支援方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5519630A (en) * 1993-03-22 1996-05-21 Matsushita Electric Industrial Co., Ltd. LSI automated design system
JP4625155B2 (ja) 1999-04-06 2011-02-02 新日鉄ソリューションズ株式会社 要求仕様記述支援装置およびその方法、記録媒体
US6718535B1 (en) * 1999-07-30 2004-04-06 Accenture Llp System, method and article of manufacture for an activity framework design in an e-commerce based environment
US6681383B1 (en) * 2000-04-04 2004-01-20 Sosy, Inc. Automatic software production system
JP2003076548A (ja) 2001-09-03 2003-03-14 Kawasaki Heavy Ind Ltd 知識情報処理システムの開発支援方法および開発支援システム
JP2003108220A (ja) 2001-09-28 2003-04-11 Omron Corp 制御プログラム開発支援方法及び装置
JP2003178103A (ja) 2001-12-10 2003-06-27 Nippon Telegr & Teleph Corp <Ntt> ネットワークシミュレーションシステム、ネットワークシステムの性能評価方法およびそのプログラム
US20040034846A1 (en) 2002-06-12 2004-02-19 I-Logix Inc. System, method and medium for providing dynamic model-code associativity
US7272820B2 (en) * 2002-12-12 2007-09-18 Extrapoles Pty Limited Graphical development of fully executable transactional workflow applications with adaptive high-performance capacity
JP4255079B2 (ja) * 2004-09-30 2009-04-15 株式会社リコー アサーション生成システムと回路検証システムおよびプログラムならびにアサーション生成方法
US7950004B2 (en) * 2005-10-21 2011-05-24 Siemens Corporation Devices systems and methods for testing software

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000112747A (ja) * 1998-10-01 2000-04-21 Fujitsu Ltd プログラム資産における非実行文の等価性検証装置
JP2004070810A (ja) * 2002-08-08 2004-03-04 Nippon Telegr & Teleph Corp <Ntt> ビジュアルプログラミングシステム、ビジュアルプログラミング方法、ビジュアルプログラミング用プログラム及びそのプログラムを記録した記録媒体
US20040078777A1 (en) * 2002-10-22 2004-04-22 Ali Bahrami System and methods for business process modeling
US20050256665A1 (en) * 2004-01-26 2005-11-17 Jean Hartmann System and method for model based system testing of interactive applications
JP2008077449A (ja) * 2006-09-22 2008-04-03 Meidensha Corp ソフトウェア開発支援システムおよび支援方法

Also Published As

Publication number Publication date
US9177088B2 (en) 2015-11-03
US9378316B2 (en) 2016-06-28
US8370781B2 (en) 2013-02-05
JP4589294B2 (ja) 2010-12-01
US20130117720A1 (en) 2013-05-09
US20150379177A1 (en) 2015-12-31
US20080120581A1 (en) 2008-05-22

Similar Documents

Publication Publication Date Title
JP4783658B2 (ja) 検証支援装置、検証支援方法、検証支援プログラム、および記録媒体
US10678406B1 (en) Conversational user interface design
JP4759392B2 (ja) 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法
JP2007122135A (ja) 開発支援装置、開発支援方法、および、開発支援プログラム
Gunawardhana Process of requirement analysis link to software development
JP7280388B2 (ja) カスタマイズされた人工知能生産ラインを実行する装置及び方法、機器及び媒体
Aleixo et al. A Model-driven Approach to Managing and Customizing Software Process Variabilities.
JP4589294B2 (ja) 設計/検証支援プログラムおよび該プログラムを記録した記録媒体
Hochstrasser et al. A process-oriented build tool for safety-critical model-based software development
JP2008003944A (ja) 帳票出力制御装置及び帳票出力制御方法及びコンピュータ読み取り可能なプログラム
JP4819593B2 (ja) 情報処理装置及び情報処理方法及び情報処理プログラム
Schindler et al. Jetbrains MPS as core DSL technology for developing professional digital printers
JP5494660B2 (ja) プロセス設計プログラム、プロセス設計装置およびプロセス設計方法
JPWO2013054581A1 (ja) 業務仕様からワークフローを生成する方法、プログラム及びシステム
JP4370274B2 (ja) 検証支援装置、検証支援方法、および検証支援プログラム
JP2008077316A (ja) 検証装置、検証プログラム、および検証方法
Neto et al. Developing and evaluating web multimodal interfaces-a case study with usability principles
Cu et al. Architecture-centric derivation of products in a software product line
JP2007233905A (ja) 要求仕様作成支援方法、そのプログラム及び要求仕様作成支援装置
JP6265030B2 (ja) アプリケーション開発システム、開発装置のデータ処理方法、およびプログラム
Okawa et al. An information system development method based on the link of business process modeling with executable UML modeling and its evaluation by Prototyping
JP2006126943A (ja) ワークフロー管理装置、ネットワークシステム、制御方法、及びプログラム
JP2008243022A (ja) 契約交渉支援プログラム、該プログラムを記録した記録媒体、契約交渉支援方法、および契約交渉支援装置
Kealey et al. Towards the automated conversion of natural-language use cases to graphical use case maps
JP2010244140A (ja) 状態遷移設計支援装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090519

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100511

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100712

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100907

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100909

R150 Certificate of patent or registration of utility model

Ref document number: 4589294

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130917

Year of fee payment: 3