JP2008090857A - シーケンス解析プログラムを記録した記録媒体、シーケンス解析装置およびシーケンス解析方法 - Google Patents

シーケンス解析プログラムを記録した記録媒体、シーケンス解析装置およびシーケンス解析方法 Download PDF

Info

Publication number
JP2008090857A
JP2008090857A JP2007297346A JP2007297346A JP2008090857A JP 2008090857 A JP2008090857 A JP 2008090857A JP 2007297346 A JP2007297346 A JP 2007297346A JP 2007297346 A JP2007297346 A JP 2007297346A JP 2008090857 A JP2008090857 A JP 2008090857A
Authority
JP
Japan
Prior art keywords
class
sequence
instance
information
database
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
JP2007297346A
Other languages
English (en)
Other versions
JP4180099B2 (ja
Inventor
Hiroshi Miyazaki
比呂志 宮崎
Jiyun Ginbayashi
純 銀林
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 JP2007297346A priority Critical patent/JP4180099B2/ja
Publication of JP2008090857A publication Critical patent/JP2008090857A/ja
Application granted granted Critical
Publication of JP4180099B2 publication Critical patent/JP4180099B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】オブジェクト指向言語で設計されたシステムの全体のシーケンスを簡易に把握できるように解析する。
【解決手段】シーケンス図及びクラス図の情報を記録したデータベースよりシーケンス図情報を取得し(S10)、矢印の接続元と接続先のクラスのデータを取得する(S11,S12)。次に、シーケンス図に含まれる各矢印の接続元のクラス及びインスタンス・接続元のクラスが含まれるシーケンスの識別子・メソッド名と、各矢印の接続先のクラス及びインスタンス・接続先のクラスが含まれるシーケンスの識別子・メソッド名とを取得する(S14,S15)。そして、クラス名に対応する列と呼び出し関係に対する行とで構成された行列形式のシーケンス一覧表の情報を生成して表示する(S16)。
【選択図】図8

Description

本発明はシーケンス解析プログラムを記録した記録媒体、シーケンス解析装置およびシーケンス解析方法に関し、特に、オブジェクト指向言語で記述されたプログラムのシーケンスを解析するシーケンス解析プログラムを記録した記録媒体、シーケンス解析装置およびシーケンス解析方法に関する。
オブジェクト指向言語によりシステム開発を行う場合には、OMG(Object Management Group)によって標準化されたUML(Unified Modeling Language)の中のシーケンス図が実装のためのドキュメントとして重視されている。
このシーケンス図は、所定の機能に関するクラス群のメソッド(手続き型言語の関数に対応するもの)の呼び出し関係を示すものであり、機能単位に作成されることが通例である。
ところで、システム全体に対するシーケンス図は、数百枚または数千枚のオーダーになることが多いため、例えば、メソッドのシーケンス図間での一貫性についてチェックすることが困難であるという問題があった。
そこで、これらのシーケンス図を1枚の図面に集約し、チェックの簡易化を図ることも考えられるが、オブジェクト指向言語ではクラスがアトミック(Atomic)な操作単位であるため、単に集約して1枚の図面にし、クラスのメンバに対する編集を許可すると、クラス単位での編集がかえって困難になるという問題点もあった。
本発明はこのような点に鑑みてなされたものであり、オブジェクト指向言語を用いたシステム全体の一覧性を高めることが可能なシーケンス解析プログラムを記録した記録媒体、シーケンス解析装置およびシーケンス解析方法を提供することを目的とする。
本発明では上記課題を解決するために、オブジェクト指向で記述されたプログラムに対し、プログラムの各機能毎にクラスから派生したインスタンスに含まれている呼び出し関係を矢印情報として記憶するシーケンス図、及び、各クラスに対応するメソッドの対応関係を示すクラス図の情報を記憶したデータベースにアクセス可能なコンピュータを、データベースより、シーケンス図情報を取得するシーケンス取得手段、データベースに記憶されたシーケンス図情報を参照し、シーケンス取得手段が取得したシーケンス図から矢印の接続元と接続先のクラスのデータを取得するクラス情報取得手段、データベースを参照し、シーケンス取得手段が取得したシーケンス図に含まれる各矢印の接続元のクラス及びインスタンス、接続元のクラスが含まれるシーケンスの識別子、及びメソッド名を取得するとともに、矢印の接続先のクラス及びインスタンス、接続先のクラスが含まれるシーケンスの識別子、及びメソッド名を取得する変換手段、データベースを参照し、変換手段が取得した各矢印の接続元のクラスのインスタンスと接続先のクラスのインスタンスとが接続関係であることを示す情報を元にクラス名に対応する列と呼び出し関係に対応する行とで構成された行列形式のシーケンス一覧表の情報を生成するシーケンス一覧表情報生成手段、シーケンス一覧表情報生成手段が生成したシーケンス一覧表情報を表示するシーケンス一覧表情報表示手段として機能させることを特徴とするシーケンス解析プログラムを記録した記録媒体が提供される。
ここで、シーケンス取得手段が、シーケンス図及びクラス図の情報を記録したデータベースより、シーケンス図情報を取得する。クラス情報取得手段が、シーケンス取得手段が取得したシーケンス図から矢印の接続元と接続先のクラスのデータを取得する。変換手段が、シーケンス取得手段が取得したシーケンス図に含まれる各矢印の接続元のクラス及びインスタンス、接続元のクラスが含まれるシーケンスの識別子、及びメソッド名を取得するとともに、矢印の接続先のクラス及びインスタンス、接続先のクラスが含まれるシーケンスの識別子、及びメソッド名を取得する。シーケンス一覧表情報生成手段が、変換手段が取得した各矢印の接続元のクラスのインスタンスと接続先のクラスのインスタンスとが接続関係であることを示す情報を元にクラス名に対応する列と呼び出し関係に対応する行とで構成された行列形式のシーケンス一覧表の情報を生成する。シーケンス一覧表情報表示手段が、シーケンス一覧表情報生成手段が生成したシーケンス一覧表情報を表示する。
本発明では、オブジェクト指向で記述されたプログラムに対し、プログラムの各機能毎にクラスから派生したインスタンスに含まれている呼び出し関係を矢印情報として記憶するシーケンス図、及び、各クラスに対応するメソッドの対応関係を示すクラス図の情報を記憶したデータベースにアクセス可能なコンピュータを、データベースより、シーケンス図情報を取得するシーケンス取得手段、データベースに記憶されたシーケンス図情報を参照し、シーケンス取得手段が取得したシーケンス図から矢印の接続元と接続先のクラスのデータを取得するクラス情報取得手段、データベースを参照し、シーケンス取得手段が取得したシーケンス図に含まれる各矢印の接続元のクラス及びインスタンス、接続元のクラスが含まれるシーケンスの識別子、及びメソッド名を取得するとともに、矢印の接続先のクラス及びインスタンス、接続先のクラスが含まれるシーケンスの識別子、及びメソッド名を取得する変換手段、データベースを参照し、変換手段が取得した各矢印の接続元のクラスのインスタンスと接続先のクラスのインスタンスとが接続関係であることを示す情報を元にクラス名に対応する列と呼び出し関係に対応する行とで構成された行列形式のシーケンス一覧表の情報を生成するシーケンス一覧表情報生成手段、シーケンス一覧表情報生成手段が生成したシーケンス一覧表情報を表示するシーケンス一覧表情報表示手段として機能させるようにしたので、オブジェクト指向言語で記述されたシステムが有するシーケンスの一覧性を向上させることが可能になる。
以下、本発明の実施の形態を図面を参照して説明する。
図1は、本発明の動作原理を説明する原理図である。この図において、本発明に係るシーケンス解析方法を実現するシーケンス解析装置2は、複数のシーケンス図1a〜1dを読み込んで解析し、シーケンス一覧表3を出力する。
シーケンス解析装置2は、クラス名取得手段2a、インスタンス名取得手段2b、メソッド名取得手段2c、呼び出し関係取得手段2d、シーケンス一覧表表示手段2eによって構成されている。
ここで、クラス名取得手段2aは、プログラムを構成するクラスのクラス名を取得する。
インスタンス名取得手段2bは、各クラスから派生するインスタンスのインスタンス名を取得する。
メソッド名取得手段2cは、各インスタンスに含まれているメソッドのメソッド名を取得する。
呼び出し関係取得手段2dは、各メソッドの呼び出し関係を取得する。
シーケンス一覧表表示手段2eは、クラス名取得手段2a、インスタンス名取得手段2b、メソッド名取得手段2cによって取得された情報を表形式で一覧表示し、呼び出し関係取得手段2dによって取得した情報に基づいて、各メソッドの呼び出し関係を表示したシーケンス一覧表を表示する。
次に、以上の原理図の動作について説明する。
処理対象のシーケンス図として、クラスA、クラスB、および、クラスCから構成され、クラスAがクラスBのメソッドAを呼び出し、クラスBがクラスCのメソッドBおよびメソッドCを呼び出す構造を有するシーケンス図1aおよびその他のシーケンス図1b〜1dが選択されたとする。
クラス名取得手段2aは、これらのシーケンス図1a〜1dに含まれているクラス名(例えば、クラスA〜クラスC)を取得する。
インスタンス名取得手段2bは、シーケンス図1a〜1dに含まれているインスタンス名(例えば、インスタンスA〜インスタンスB(図示せず))を取得する。
メソッド名取得手段2cは、シーケンス図1a〜1dに含まれているメソッド名(例えば、メソッドA〜メソッドC)を取得する。
呼び出し関係取得手段2dは、シーケンス図1a〜1dに含まれているメソッドの呼び出し関係(「クラスAがクラスBのメソッドAを呼び出す」等)を取得する。
シーケンス一覧表表示手段2eは、クラス名取得手段2a、インスタンス名取得手段2b、および、メソッド名取得手段2cによって取得されたクラス名、インスタンス名、および、メソッド名と、呼び出し関係取得手段2dによって取得された呼び出し関係に基づいてシーケンス一覧表3を生成し、表示出力する。
ここで、シーケンス一覧表3は、シーケンス図1a〜1dに含まれている全てのクラスが列挙されており、各クラスのインスタンスとメソッドとが属性として示されている。また、メソッド同士の呼び出し関係は矢線によって示されている。
例えば、クラスBは、メソッドA(mA)を有しており、このメソッドAはクラスAから呼び出されている。また、クラスCはメソッドB(mB)とメソッドC(mC)とを有しており、これらのメソッドは、クラスBのインスタンスA(iA)から呼び出されている。なお、この図では、シーケンス図1aに対応する部分のみを示しているが、実際にはシーケンス図1b〜1dに対応するクラスに関する内容も表示されている。
ところで、以上のようにして表示されたシーケンス一覧表3の表示内容は、クラスを単位としての編集(例えば、クラスの移動、複写、削除)のみが許可されるので、例えば、クラスBを異なる位置に移動させることは可能であるが、クラスBのメソッドAのみを移動させることは禁止される。従って、目的に応じて、表示の態様を変化させることが可能になるとともに、クラスを単位とする変更のみを許可することにより、操作の煩雑性(インスタンスとメソッドを個別に移動させる等)を解消することが可能になる。
以上に説明したように、本発明によれば、複数のシーケンス図から1枚のシーケンス一覧表を生成するようにしたので、システム全体の一覧性を向上させることが可能になる。
また、表示内容の変更については、クラス単位での変更のみを許可するようにしたので、既述したように操作の煩雑性を解消させることが可能となる。
次に、本発明の実施の形態の構成例について説明する。
図2は、本発明に係るシーケンス解析方法を実現するシーケンス解析装置の構成例を示すブロック図である。
この図に示すように、シーケンス解析装置10は、CPU(Central Processing Unit)10a、ROM(Read Only Memory)10b、RAM(Random Access Memory)10c、HDD(Hard Disk Drive)10d、GB(Graphics Board)10e、I/F(Interface)10f、および、バス10gによって構成されており、その外部には表示装置11と入力装置12とが接続されている。
ここで、CPU10aは、HDD10dに格納されているプログラムに従って装置の各部を制御するとともに、種々の演算処理を実行する。
ROM10bは、CPU10aが実行する基本的なプログラムやデータを格納している。
RAM10cは、CPU10aが実行の対象とするプログラムや、演算途中のデータを一時的に格納する。
HDD10dは、CPU10aが実行する各種プログラムや、解析対象となるシーケンス図や、解析結果であるシーケンス一覧表のデータを格納する。
GB10eは、CPU10aから供給された描画命令に従って描画された画像データを映像信号に変換して出力する。
I/F10fは、入力装置12から供給されたデータの表現形式を、シーケンス解析装置10の内部形式に適合するように変換する。
表示装置11は、例えば、CRT(Cathode Ray Tube)モニタによって構成されており、GB10eから出力された映像信号を表示する。
入力装置12は、例えば、マウスやキーボード等の入力デバイスによって構成されている。
図3は、図2に示すシーケンス解析装置10のHDD10dに格納されているアプリケーションプログラムが起動された場合に、実現される機能ブロックについて説明する図である。
この図において、データベース20は、HDD10dによって構成され、処理の対象となるシーケンス図やクラス図(詳細は後述する)が格納されている。
変換部21は、CPU10aその他によって実現され、データベース20に格納されているシーケンス図から必要な項目を取得し、シーケンス一覧表に変換する処理を実行する。
データベース22は、HDD10dによって構成され、変換部21によって生成されたシーケンス一覧表を格納する。
表示処理部23は、CPU10aその他の機能によって実現され、データベース22に格納されているシーケンス一覧表に対して所定の処理を施した後、表示部26に供給する。
逆変換部24は、データベース22に格納されているシーケンス一覧表の指定された部分を、シーケンス図に逆変換し、表示処理部23に供給する。
チェック部25は、データベース22に格納されているシーケンス一覧表の内容に瑕疵がないか否かをチェックし、チェック結果を表示処理部23に供給する。
表示部26は、GB10eおよび表示装置11によって構成されており、表示処理部23から出力された情報を表示出力する。
入力部27は、I/F10fおよび入力装置12によって構成されており、ユーザの操作に応じた情報を表示処理部23に供給する。
次に、以上の実施の形態の動作について説明する。
いま、図4に示すシーケンス図40〜43と、図5に示すクラス図50〜53がデータベース20に格納されているとする。ここで、シーケンス図は、クラスから派生したインスタンスに含まれているメソッドの呼び出し関係を示した図であり、機能毎に生成される図である。図4に示すシーケンス図40の例では、コントローラクラス40a、商品クラスの鉛筆インスタンス40b、および、在庫クラスのA倉庫インスタンス40cが表示されている。矢線によって示すように、コントローラクラス40aは、鉛筆インスタンス40bの受注メソッドを呼び出している。また、鉛筆インスタンス40bは、A倉庫インスタンス40cのget数量メソッドと、get在庫メソッドとを呼び出している。また、鉛筆インスタンス40bは、鉛筆インスタンス40b自身が有するcalc数量メソッドを呼び出している。なお、各メソッドの左側に表示されている数値は、メソッドの呼び出し関係の階層を示すものであるが、その詳細については後述する。
図5は、クラスと、クラスに含まれているメソッドとの関係を示すクラス図である。この例は、クラス図50〜53を含んでおり、処理の対象となるクラス図50の内容が例示されている。この例では、コントローラクラス50a、商品クラス50b、および、在庫クラス50cが表示されており、商品クラス50bは、受注メソッドとcalc数量メソッドとを有している。また、在庫クラス50cは、get数量メソッドと、get在庫メソッドとを有している。本例では、クラス図を複数に分けた例を説明しているが、一枚にまとめて表示させてもよい。
このような対象データに対して解析処理を施すために、入力装置12を操作して解析用のアプリケーションプログラムを起動すると、CPU10aはHDD10dから該当するプログラムを読み込んで実行する。その結果、表示装置11には、図6に示すような解析用プログラムの画面60が表示される。
この表示例では、タイトル「シーケンス解析」の下に、ボタン61〜66が表示され、また、その下には解析対象のデータや解析結果のデータが配置される表示領域67が表示されている。
図7は、図6に示すボタン61〜66が操作された場合に表示されるプルダウンメニューの一例を示す図である。なお、ボタン66については、プルダウンメニューは表示されずにコマンドが直接実行されるので、図7には表示していない。
図7に示すように、ボタン61が操作されると、解析対象となるファイルを読み込む際に選択される読み込み61aと、表示領域67に表示されている内容をプリントアウトする際に選択される印刷61bとがメニュー項目として表示される。
ボタン62が操作されると、表示領域67に表示されたシーケンス一覧表の所定のクラスを移動する際に選択される移動62a、指定されたクラスを削除する際に選択される削除62b、指定されたクラスを表示又は非表示とする際に選択される表示/非表示62cとがメニュー項目として表示される。
ボタン63が操作されると、読み込まれたシーケンス図をシーケンス一覧表に変換する際に選択される変換63aおよびシーケンス一覧表の一部をシーケンス図に逆変換する際に選択される逆変換63bがメニュー項目として表示される。
ボタン64が操作されると、表示領域67に表示されているシーケンス一覧表にメソッドの呼び出し関係を示す矢線を追加表示する際に選択される矢線64a、類似または同一のメソッドを集約して表示する際に選択されるメソッド集約64b、および、クラスの表示項目を省略または追加する際に選択される詳細/省略64cがメニュー項目として表示される。
ボタン65が操作されると、シーケンス一覧表とクラス図の相互の内容のチェックを行う際に選択される相互チェック65a、シーケンス一覧表の各メソッドに付与されたシーケンス番号の適否をチェックする際に選択されるシーケンス番号65b、入り口のメソッドをチェックする際に選択される入り口65c、および、メソッドのパラメタをチェックする際に選択されるパラメタ65dがメニュー項目として表示される。
次に、図6に示す画面60において、ボタン61が操作され、メニューの項目である読み込み61aが選択された後、図4に示すシーケンス図40〜43が解析対象として選択されたとすると、変換部21はデータベース20からシーケンス図40〜43を読み込む。その結果、画面60の表示領域67には、図6に示すようにシーケンス図40〜43が表示される。
次に、ボタン63が操作され、変換63aが選択されると、変換部21はシーケンス図をシーケンス一覧表に変換する処理を実行する。なお、この処理の一例を図8を参照して説明する。図8に示すフローチャートが開始されると、以下のステップが実行される。
ステップS10:
変換部21は、読み込み61aが選択されて指定されたシーケンス図をデータベース20から読み込む。
ステップS11:
変換部21は、ボタン63が操作されて変換63aが選択された場合にはステップS12に進み、それ以外の場合には同様の処理を繰り返す。
ステップS12:
変換部21は、シーケンス図から1本の矢線データを取得する。即ち、矢線の接続元と接続先のクラスのデータをデータベース20から取得する。
ステップS13:
変換部21は、矢線データの取得に成功した場合、即ち、未処理の矢線データが存在した場合にはステップS14に進み、それ以外の場合には処理対象となる矢線を全て処理し終えたとして処理を終了する。
ステップS14:
変換部21は、矢線の接続元の情報を解析する。即ち、変換部21は、矢線の接続元の情報を解析し、接続元クラス、接続元インスタンス、シーケンス図ID、インスタンス名、生成インスタンス、シーケンスNo.、メソッド名、パラメタ、返り値、接続先クラス、接続先インスタンスを取得する。
ここで、接続元クラスおよび接続元インスタンスは、矢線の接続元のクラスとインスタンスとを示す。シーケンス図IDは、矢線の接続元と接続先のクラスが含まれているシーケンス図のID(Identification)を示す。インスタンス名は、接続元インスタンスの名前を示し、生成インスタンスは変換部21が自動的に割り当てた識別コードである。シーケンスNo.は、クラスの階層構造を反映して各メソッドに付与されたシリアル番号である。メソッド名はメソッドの名前を示し、パラメタおよび返り値は、メソッドのパラメタ(引数)と返り値を示す。接続先クラスおよび接続先インスタンスは、接続先のクラスとそのインスタンスとを示す。
ステップS15:
変換部21は、矢線の接続先の情報を解析する。即ち、変換部21は、矢線の接続先の情報を解析し、接続元クラス、接続元インスタンス、シーケンス図ID、インスタンス名、生成インスタンス、シーケンスNo.、メソッド名、パラメタ、返り値、接続先クラス、接続先インスタンスを取得する。なお、各情報は、前述した場合と同様である。
ステップS16:
シーケンス一覧表に対して、取得した矢線の接続元および接続先の情報を書き込む。そして、ステップS12に戻って同様の処理を繰り返す。
以上に示す処理の結果として生成されたシーケンス一覧表は、図9に示すように、画面60の表示領域67に表示される。この表示例では、シーケンス一覧表のうち、コントローラクラス50aに関する部分のみが表示されている。なお、スライダ70またはボタン68,69を操作すると、商品クラス50bおよび在庫クラス50cを表示領域67に表示させることができる。
なお、紙面の関係から、全てのクラスに関するシーケンス一覧表を同時に表示することができないので、シーケンス一覧表の各クラスに関する部分の詳細について個別に説明する。
図10は、コントローラクラス50aに関するシーケンス一覧表の一例である。この例では、列の項目として、接続元クラス、接続元インスタンス、シーケンス図ID、インスタンス名、生成インスタンス、シーケンスNo.、メソッド名、パラメタ、返り値、接続先クラス、および、接続先インスタンスが表示されている。また、各行には、図4に示すシーケンス図の各矢線に該当するデータが1つずつ格納される。例えば、図10の例では、図4に示すシーケンス図の受注メソッドに該当するデータが格納されている。具体的には、受注メソッドのシーケンス図IDは、「Patten」であり、生成インスタンスは「Patten01」であり、シーケンス番号は「1」であり、メソッド名は「受注」であり、接続先クラスは「商品」であることが示されている。
図11は、商品クラス50bに関するシーケンス一覧表の一例である。この例において、第1行目の項目は、図10の第1行目に示す受注メソッドに対応する情報であり、接続元クラスとして「コントローラ」が、また、シーケンス図ID、インスタンス名、生成インスタンス、シーケンスNo.、および、メソッド名として、「Patten」、「鉛筆」、「Patten02」、「1」、および、「受注」がそれぞれ格納されている。
従って、図10および図11の第1行目の項目を参照することにより、元のシーケンス図の矢線の接続元と接続先に関する情報を取得することができる。
図12は、在庫クラス50cに関するシーケンス一覧表の一例である。この例では、図11に示すメソッドget数量とget在庫の接続先に関する情報が格納されている。具体的には、メソッドget在庫に対応する情報として、接続元クラス、接続元インスタンス、シーケンス図ID、インスタンス名、生成インスタンス、シーケンスNo.、および、メソッド名のそれぞれについて、「商品」、「鉛筆」、「Patten」、「A倉庫」、「Patten03」、「1.1」、および、「get数量」が格納されている。
以上に説明したように、本実施の形態によれば、複数のシーケンス図から1枚のシーケンス一覧表を生成して表示するようにしたので、システム全体の構造を一瞥の下に参照することが可能になる。
また、シーケンス図をシーケンス一覧表に変換することにより、関係データベースへ格納することが可能になるので、以下に説明するように、関係データベースの機能を活用し、項目の検索や編集を簡易に行うことが可能になる。
図13は、シーケンス一覧表に含まれている所定の文字列を検索する際の手続きについて説明する図である。文字列を検索する場合には、先ず、ボタン66を操作し、その結果として表示される文字列入力画面(図示せず)から、検索しようとする文字列を入力し、検索を開始する操作を行うと、表示処理部23は、入力部27から入力された文字列を取得し、シーケンス一覧表に含まれている該当する文字列を検索する。そして、該当する文字列が検出された場合には、シーケンス一覧表の該当部分を反転表示する。図13は、検索する文字列として「受注」が入力された場合における検索結果を示している。この例では、メソッド名「受注」が反転表示されており、入力された文字列に該当する項目を即座に見出すことが可能になる。
次に、図14を参照し、ボタン64が操作された後、メソッド集約64bが選択された場合に実行される処理について説明する。
メソッド集約64bが選択されると、表示処理部23は、シーケンス一覧表に表示されているメソッドのうち、同一または類似の名前を有するものが近接するように並べ替えを行った後、表示部26に供給して表示を更新する。
その結果、商品クラス50bに関するシーケンス一覧表は、図14に示すようにメソッドget数量およびメソッドget在庫が連続するように並べ替えがなされることになる。このように同一または類似するメソッドを近接して配置することで、従来においては、複数のシーケンス図に散在していた同一メソッドの呼び出し方、および、使い方等の一貫性および整合性を容易にチェックすることが可能となる。また、同一または類似するメソッドを近接して配置する他にも、例えば、アルファベット順やあいうえお順に並べ替えることにより、類似するメソッドが近接して表示されるので、メソッド名の誤記等を簡単に見つけることが可能になる。
次に、図15を参照し、ボタン64の詳細/省略64cが選択された場合の処理について説明する。
詳細/省略64cが選択されると、表示処理部23は、表示項目を選択するための画面(図示せず)を表示部26に表示させ、表示項目の選択を受ける。具体的には、接続元クラス、接続元インスタンス、シーケンス図ID、インスタンス名、生成インスタンス、シーケンスNo.、メソッド名、パラメタ、返り値、接続先クラス、および、接続先インスタンスのそれぞれについて表示の有無を入力する画面を表示させて、必要な項目の入力を受ける。
続いて、表示処理部23は、シーケンス一覧表のうち、先に指定された必要な項目のみを選択して、表示部26に表示させる。例えば、必要な表示項目として、インスタンス名とメソッド名のみが選択された場合には、図15の表示領域67に示す情報が表示される。
この例では、各クラスのインスタンス名とメソッド名のみが表示されている。例えば、鉛筆インスタンスは、在庫クラスのインスタンスA倉庫のget数量メソッドを呼び出していることが分かる。又、calc数量メソッドは、商品クラスの鉛筆インスタンスが有するcalc数量自身を呼び出している。
このように、必要項目以外を画面上から排除することにより、シーケンス一覧表の全体の一覧性を高めることが可能になるとともに、検索速度を向上させることが可能になる。
次に、図15に示す画面60において、ボタン64が操作され、矢線64aが選択された場合の動作について説明する。
ボタン64が操作され、矢線64aが選択されると、表示処理部23は、シーケンス一覧表上に現在矢線が表示されていない場合には、各メソッドの呼び出し関係に応じた矢線を表示する。また、矢線が表示状態である場合には、画面上から消去して非表示状態にする。いまの例では、図15に示すように、矢線は非表示状態であるので、表示処理部23は、矢線を表示状態にする。その結果、図16に示すように、矢線が表示されることになる。
このように、矢線を必要に応じて表示または非表示の状態にすることにより、他の情報の視認性を高めたり、あるいは、矢線によるメソッドの呼び出し関係の視認性を高めたりすることを任意に選択することが可能になる。
次に、図16において、ボタン62が操作された後、移動62aが選択された場合に動作について説明する。
移動62aが選択されると、任意のクラスを任意の位置に移動させることが可能になる。なお、移動はクラス単位でのみ許可するものとする。例えば、図16において、コントローラクラスが移動の対象として選択(例えば、マウスでクリック)された後、このコントローラクラスを在庫クラスの右側に移動させる操作がなされたとすると、表示処理部23は、シーケンス一覧表上のコントローラクラスが在庫クラスの右側に配置されるように並べ替え処理を行い、並べ替えが終了したデータを表示部26に供給して表示させる。
その結果、図17の表示領域67に示すように、コントローラクラスが在庫クラスの後に表示されるとともに、矢線の方向が適宜修正されて表示されることになる。
このように、クラスの位置を自由に変更することを可能としたので、目的に応じてクラスを再配置することにより、メソッドの参照関係をより簡易に知ることが可能になる。
なお、以上の例では、クラスを移動させる場合について説明したが、クラスを削除したり、表示または非表示の状態にしたり、あるいは複写する処理を行うことも可能である。例えば、クラスを削除する場合には、呼び出し関係を有する他方のクラスとの関係が消滅するので、その点を考慮して削除する。また、非表示の状態にする場合も同様である。このように、表示されている内容に対してクラス単位で編集を許可することにより、目的に応じて表示の態様を変更し、作業性を向上させることが可能になる。
次に、任意のクラスが選択された後、ボタン63が操作されて逆変換63bが選択された場合に実行される処理について図18を参照して説明する。このフローチャートが開始されると、以下のステップが実行される。
ステップS30:
逆変換部24は、表示処理部23を介して入力部27から取得した情報に応じて、指定されたクラスを特定する。例えば、入力部27から、複数のクラスを指定する情報が入力された場合には、逆変換部24は指定された複数のクラスを特定する。
ステップS31:
逆変換部24は、指定されたクラスに含まれている、シーケンス図における1本の矢線に対応するデータを取得する。具体的には、矢線の接続元と接続先のクラス、インスタンス、および、メソッド名等を取得する。
ステップS32:
逆変換部24は、矢線に対応するデータの取得に成功したか否かを判定し、取得に成功した場合にはステップS33に進み、それ以外の場合には処理を終了する。
ステップS33:
逆変換部24は、ステップS31において取得した矢線1本に対応するデータ(接続元および接続先のデータ)から、シーケンス図の矢線データ(ステップS31において取得したデータをクラス毎に分けて配置したデータ)を生成する。
ステップS34:
逆変換部24は、シーケンス図の該当する部分に対して、ステップS33で生成した矢線データを書き込み、ステップS31に戻って前述の場合と同様の処理を繰り返す。
以上の処理によれば、シーケンス一覧表上において所望のクラス群を指定し、指定されたクラス群に対応するシーケンス図を作成することが可能になるので、必要なクラスのみに着目したシーケンス図を簡易に作成することが可能になる。
次に、ボタン65が操作され、相互チェック65aが選択された場合に実行される処理について説明する。
ボタン65が操作され、相互チェック65aが選択されると、チェック部25は、図19に示すフローチャートを実行する。
ステップS50:
チェック部25は、データベース20から図5に示すクラス図を読み込む。
ステップS51:
チェック部25は、シーケンス一覧表の該当するクラス(ステップS50で読み込んだクラス図に対応するクラス)に含まれているメソッドの一覧表であるメソッド一覧表を作成する。
ステップS52:
チェック部25は、取得したクラスがシーケンス一覧表の最後の行であるか否かを判定し、最後の行である場合には処理を終了し、それ以外の場合にはステップS53に進む。
ステップS53:
チェック部25は、クラス図に含まれているメソッドと、メソッド一覧表に含まれているメソッドとを比較する。
ステップS54:
チェック部25は、ステップS53の比較により、両者が一致するか否かを判定し、両者が一致する場合には正常であるとしてステップS50に戻って同様の処理を繰り返し、それ以外の場合にはステップS55に進む。
ステップS55:
チェック部25は、シーケンス一覧表上の該当する行全体を反転表示する。
ステップS56:
チェック部25は、クラス図と不一致のメソッドが存在する旨を示すエラーメッセージを表示する。
ところで、シーケンス図上にあるメソッドはクラス図上のクラスのメソッドとして定義されている必要があるが、以上の処理によれば、シーケンス図上にあるメソッドがクラス図上のメソッドとして定義されているか否かを自動的に判定することが可能となる。
本例では、クラス図に含まれるクラスから呼び出されるメソッドと、シーケンス図上のメソッドが一致しているかをチェックしているが、本発明はクラス図とシーケンス図の不一致をチェックすることを目的とするものであるため、図示しないが、クラス図上のクラスとシーケンス図上のクラスとの不一致をチェックするものも本発明に含まれる。
次に、ボタン65が操作され、シーケンス番号65bが選択された場合に実行される処理について図20を参照して説明する。このフローチャートが開始されると、以下のステップが実行される。
ステップS70:
チェック部25は、シーケンス一覧表の所定の1行を読み込む。
ステップS71:
チェック部25は、読み込みに成功したか否か、即ち、未処理の行が残っていた場合にはステップS72に進み、それ以外の場合には処理対象が存在しないとして処理を終了する。
ステップS72:
チェック部25は、読み込んだ行のシーケンス番号が1.であるか否か、即ち、階層が最も上の(入り口の)メソッドであるか否かを判定する。1.である場合にはステップS73に進み、それ以外の場合にはステップS76に進む。
ステップS73:
チェック部25は、矢線の接続元の「接続元クラス」と、「接続元インスタンス」のカラムに格納されている情報を取得する。
ステップS74:
チェック部25は、これら双方のカラムが空であるか否かを判定し、空である場合には正常であるとしてステップS70に戻って同様の処理を繰り返し、それ以外の場合にはステップS75に進む。
ステップS75:
チェック部25は、シーケンス番号が1.であるクラスは、通常は入り口クラスであり、クラスの接続元クラスと接続元インスタンスは空であるのに、何らかの情報が格納されている場合にはエラーであるとして当該行を反転するとともに、エラーが発生した旨を示すメッセージを表示する。
ステップS76:
チェック部25は、1行上のシーケンス番号との関係を取得する。
ステップS77:
チェック部25は、1行上のシーケンス番号が1階層上のクラスのものであるか否かを判定し、1階層上のクラスのものである場合にはステップS79に進み、それ以外の場合にはステップS78に進む。ここで、1階層上であるか否かは、シーケンス番号に含まれているドット「.」の数を参照して決定する。即ち、ドットの数が多い程、階層が深いシーケンスだからである。
ステップS78:
チェック部25は、1行上の接続元クラスおよび接続元インスタンスと、当該行の接続元クラスおよび接続元インスタンスとが一致するか否かを判定し、一致する場合には同一階層のシーケンスとして正常であることから、ステップS70に戻って同様の処理を繰り返し、それ以外の場合にはステップS81に進む。
ステップS79:
チェック部25は、1行上の接続先クラスおよび接続先インスタンスと、当該行の接続元クラスおよび接続元インスタンスとが一致するか否かを判定する。
ステップS80:
チェック部25は、ステップS79の双方が一致するか否かを判定し、この双方が一致する場合には、1行上が1階層上のシーケンスであり、また、当該行が1階層下のシーケンスである場合に該当するとともに、正常な状態であるとして、ステップS70に戻って同様の処理を繰り返し、それ以外の場合にはステップS81に進む。
ステップS81:
チェック部25は、1行上と当該行のシーケンスとが正常でないとして、当該行を反転するとともに、正常でない旨を示すメッセージを表示し、ステップS70に戻って同様の処理を繰り返す。
以上の処理によれば、シーケンス番号の付与のしかたが正常であるか否かを自動的にチェックすることが可能になる。
次に、ボタン65が操作され、入り口65cが選択された場合に実行される処理について図21を参照して説明する。このフローチャートが開始されると、以下の処理が実行される。
ステップS100:
チェック部25は、シーケンス一覧表の所定の1行を読み込む。
ステップS101:
チェック部25は、読み込みに成功したか否か、即ち、未処理の行が残っていた場合にはステップS102に進み、それ以外の場合には処理対象が存在しないとして処理を終了する。
ステップS102:
チェック部25は、読み込んだ行のシーケンス番号が1.であるか否かを判定し、1.である場合にはステップS103に進み、それ以外の場合にはステップS100に戻って同様の処理を繰り返す。
ステップS103:
チェック部25は、矢線の接続元の「接続元クラス」と、「接続元インスタンス」のカラムに格納されている情報を取得する。
ステップS104:
チェック部25は、これら双方のカラムが空であるか否かを判定し、空である場合にはステップS105に進み、それ以外の場合には処理を終了する。
ステップS105:
チェック部25は、シーケンス番号が1.であるクラスは、通常は入り口クラスであり、クラスの接続元クラスと接続元インスタンスは空であるのに、何らかの情報が格納されている場合にはエラーであるとして当該行を反転するとともに、エラーが発生した旨を示すメッセージを表示した後、処理を終了する。
以上の処理によれば、入り口メソッドが正常であるか否かのチェックを行うことが可能になる。
次に、ボタン65が操作され、パラメタ65dが選択された場合に実行される処理について図22を参照して説明する。この処理は、シーケンス一覧表に記載されたメソッドのパラメタおよび返り値が正常であるか否かを判定する処理である。このフローチャートが開始されると、以下のステップが実行される。
ステップS120:
チェック部25は、シーケンス一覧表の所定の1行を読み込む。
ステップS121:
チェック部25は、読み込みに成功したか否かを判定する。即ち、シーケンス一覧表に未処理の行が存在しない場合には処理を終了し、それ以外の場合にはステップS122に進む。
ステップS122:
チェック部25は、ステップS120で読み込んだ所定の行の接続元のパラメタと返り値とを取得する。
ステップS123:
チェック部25は、ステップS120で読み込んだ所定の行の接続先のパラメタと返り値とを取得する。
ステップS124:
チェック部25は、接続元と接続先のパラメタおよび返り値の型および個数を比較する。
ステップS125:
チェック部25は、ステップS124の比較の結果、両者が一致したか否かを判定し、一致した場合には正常であるとしてステップS120に戻って同様の処理を繰り返し、それ以外の場合にはステップS126に進む。
ステップS126:
チェック部25は、現在の行を反転するとともに、パラメタと返り値が正常でない旨を示すメッセージを表示し、ステップS120に戻って同様の処理を繰り返す。
以上の処理によれば、シーケンス一覧表に含まれている接続元と接続先のパラメタが一致しない、エラーを有する行を自動的に検出することが可能になる。
なお、以上の実施の形態においては、シーケンス図からシーケンス一覧表を生成するようにしたが、例えば、ソースファイルからシーケンス一覧表を生成することも可能である。その場合には、ソースファイルを各クラス毎に分解し、各クラスから派生するインスタンスと、各インスタンスに含まれているメソッドを特定し、メソッドの呼び出し関係を、テキスト解析によって解析することにより得ることができる。そして、そのようにして得られた情報に基づいて、上述の場合と同様の処理を施すことにより、メソッド一覧表を生成することができる。
また、以上に示したシーケンス一覧表の表示は一例であり、このような場合のみに本発明が限定されるものではない。
最後に、上記の処理機能は、コンピュータによって実現することができる。その場合、シーケンス解析装置が有すべき機能の処理内容は、コンピュータで読み取り可能な記録媒体に記録されたプログラムに記述されており、このプログラムをコンピュータで実行することにより、上記処理がコンピュータで実現される。コンピュータで読み取り可能な記録媒体としては、磁気記録装置や半導体メモリ等がある。市場へ流通させる場合には、CD−ROM(Compact Disk Read Only Memory)やフロッピーディスク(登録商標)等の可搬型記録媒体にプログラムを格納して流通させたり、ネットワークを介して接続されたコンピュータの記憶装置に格納しておき、ネットワークを通じて他のコンピュータに転送することもできる。コンピュータで実行する際には、コンピュータ内のハードディスク装置等にプログラムを格納しておき、メインメモリにロードして実行する。
本発明の動作原理を説明する原理図である。 本発明の実施の形態の構成例を示すブロック図である。 図2に示すシーケンス解析装置のHDDに格納されているアプリケーションプログラムが起動された場合に、実装される機能ブロックについて説明する図である。 処理対象となるシーケンス図の一例である。 処理対象となるクラス図の一例である。 本発明に係る解析用のアプリケーションプログラムが起動された場合に表示される画面の一例である。 図6に示すボタンを操作した場合に表示されるプルダウンメニューの一例を示す図である。 ボタン63が操作され、変換63aが選択された場合に実行される、シーケンス図をシーケンス一覧表に変換する処理の一例を説明するフローチャートである。 変換処理によって生成されたシーケンス一覧表の表示例である。 コントローラクラスに関するシーケンス一覧表の一例である。 商品クラスに関するシーケンス一覧表の一例である。 在庫クラスに関するシーケンス一覧表の一例である。 ボタン66が操作されて文字列が入力され、検索が実行された結果を示す画面である。 メソッド集約処理の結果を示す表示例である。 メソッド省略処理の結果を示す表示例である。 クラス移動処理の結果を示す表示例である。 矢線非表示処理の結果を示す表示例である。 シーケンス一覧表をシーケンス図に逆変換する処理の一例を説明するフローチャートである。 クラス図とシーケンス一覧表との比較処理の一例を説明するフローチャートである。 シーケンス番号チェック処理の一例を説明するフローチャートである。 入り口メソッドチェック処理の一例を説明するフローチャートである。 パラメタチェック処理の一例を説明するフローチャートである。
符号の説明
1a〜1d シーケンス図
2 シーケンス解析装置
2a クラス名取得手段
2b インスタンス名取得手段
2c メソッド名取得手段
2d 呼び出し関係取得手段
2e シーケンス一覧表表示手段
3 シーケンス一覧表
10 シーケンス解析装置
10a CPU
10b ROM
10c RAM
10d HDD
10e GB
10f I/F
10g バス
11 表示装置
12 入力装置
20 データベース
21 変換部
22 データベース
23 表示処理部
24 逆変換部
25 チェック部
26 表示部
27 入力部

Claims (3)

  1. オブジェクト指向で記述されたプログラムに対し、該プログラムの各機能毎にクラスから派生したインスタンスに含まれている呼び出し関係を矢印情報として記憶するシーケンス図、及び、各クラスに対応するメソッドの対応関係を示すクラス図の情報を記憶したデータベースにアクセス可能なコンピュータを、
    前記データベースより、シーケンス図情報を取得するシーケンス取得手段、
    前記データベースに記憶されたシーケンス図情報を参照し、前記シーケンス取得手段が取得したシーケンス図から矢印の接続元と接続先のクラスのデータを取得するクラス情報取得手段、
    前記データベースを参照し、前記シーケンス取得手段が取得したシーケンス図に含まれる各矢印の接続元のクラス及びインスタンス、接続元のクラスが含まれるシーケンスの識別子、及びメソッド名を取得するとともに、該矢印の接続先のクラス及びインスタンス、接続先のクラスが含まれるシーケンスの識別子、及びメソッド名を取得する変換手段、
    前記データベースを参照し、前記変換手段が取得した各矢印の接続元のクラスのインスタンスと接続先のクラスのインスタンスとが接続関係であることを示す情報を元にクラス名に対応する列と呼び出し関係に対応する行とで構成された行列形式のシーケンス一覧表の情報を生成するシーケンス一覧表情報生成手段、
    前記シーケンス一覧表情報生成手段が生成したシーケンス一覧表情報を表示するシーケンス一覧表情報表示手段、
    として機能させることを特徴とするシーケンス解析プログラムを記録した記録媒体。
  2. オブジェクト指向で記述されたプログラムに対し、該プログラムの各機能毎にクラスから派生したインスタンスに含まれている呼び出し関係を矢印情報として記憶するシーケンス図、及び、各クラスに対応するメソッドの対応関係を示すクラス図の情報を記憶したデータベースと、
    前記データベースより、シーケンス図情報を取得するシーケンス取得手段と、
    前記データベースに記憶されたシーケンス図情報を参照し、前記シーケンス取得手段が取得したシーケンス図から矢印の接続元と接続先のクラスのデータを取得するクラス情報取得手段と、
    前記データベースを参照し、前記シーケンス取得手段が取得したシーケンス図に含まれる各矢印の接続元のクラス及びインスタンス、接続元のクラスが含まれるシーケンスの識別子、及びメソッド名を取得するとともに、該矢印の接続先のクラス及びインスタンス、接続先のクラスが含まれるシーケンスの識別子、及びメソッド名を取得する変換手段と、
    前記データベースを参照し、前記変換手段が取得した各矢印の接続元のクラスのインスタンスと接続先のクラスのインスタンスとが接続関係であることを示す情報を元にクラス名に対応する列と呼び出し関係に対応する行とで構成された行列形式のシーケンス一覧表の情報を生成するシーケンス一覧表情報生成手段と、
    前記シーケンス一覧表情報生成手段が生成したシーケンス一覧表情報を表示するシーケンス一覧表情報表示手段と、
    を有することを特徴とするシーケンス解析装置。
  3. オブジェクト指向で記述されたプログラムに対し、該プログラムの各機能毎にクラスから派生したインスタンスに含まれている呼び出し関係を矢印情報として記憶するシーケンス図、及び、各クラスに対応するメソッドの対応関係を示すクラス図の情報を記憶したデータベースにアクセス可能なコンピュータが、
    前記データベースより、シーケンス図情報を取得するシーケンス取得ステップと、
    前記データベースに記憶されたシーケンス図情報を参照し、前記シーケンス取得ステップにて取得したシーケンス図から矢印の接続元と接続先のクラスのデータを取得するクラス情報取得ステップと、
    前記データベースを参照し、前記シーケンス取得ステップにて取得したシーケンス図に含まれる各矢印の接続元のクラス及びインスタンス、接続元のクラスが含まれるシーケンスの識別子、及びメソッド名を取得するとともに、該矢印の接続先のクラス及びインスタンス、接続先のクラスが含まれるシーケンスの識別子、及びメソッド名を取得する変換ステップと、
    前記データベースを参照し、前記変換ステップにて取得した各矢印の接続元のクラスのインスタンスと接続先のクラスのインスタンスとが接続関係であることを示す情報を元にクラス名に対応する列と呼び出し関係に対応する行とで構成された行列形式のシーケンス一覧表の情報を生成するシーケンス一覧表情報生成ステップと、
    前記シーケンス一覧表情報生成ステップにて生成したシーケンス一覧表情報を表示するシーケンス一覧表情報表示ステップと、
    を実行することを特徴とするシーケンス解析方法。
JP2007297346A 2007-11-15 2007-11-15 シーケンス解析プログラムを記録した記録媒体、シーケンス解析装置およびシーケンス解析方法 Expired - Fee Related JP4180099B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007297346A JP4180099B2 (ja) 2007-11-15 2007-11-15 シーケンス解析プログラムを記録した記録媒体、シーケンス解析装置およびシーケンス解析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007297346A JP4180099B2 (ja) 2007-11-15 2007-11-15 シーケンス解析プログラムを記録した記録媒体、シーケンス解析装置およびシーケンス解析方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002548582A Division JP4588295B2 (ja) 2000-12-08 2000-12-08 シーケンス解析方法およびシーケンス解析装置

Publications (2)

Publication Number Publication Date
JP2008090857A true JP2008090857A (ja) 2008-04-17
JP4180099B2 JP4180099B2 (ja) 2008-11-12

Family

ID=39374872

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007297346A Expired - Fee Related JP4180099B2 (ja) 2007-11-15 2007-11-15 シーケンス解析プログラムを記録した記録媒体、シーケンス解析装置およびシーケンス解析方法

Country Status (1)

Country Link
JP (1) JP4180099B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013164670A (ja) * 2012-02-09 2013-08-22 Fuji Electric Co Ltd オブジェクト指向プログラム生成装置、その方法、プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013164670A (ja) * 2012-02-09 2013-08-22 Fuji Electric Co Ltd オブジェクト指向プログラム生成装置、その方法、プログラム

Also Published As

Publication number Publication date
JP4180099B2 (ja) 2008-11-12

Similar Documents

Publication Publication Date Title
JP4588295B2 (ja) シーケンス解析方法およびシーケンス解析装置
US8909597B2 (en) Document-based workflows
CN111602114B (zh) 用于在集成开发环境内提供即时通信信道的系统和方法
CN111886579A (zh) 用于在集成开发环境内提供即时通信信道的系统和方法
US7840895B2 (en) System and method for data manipulation
KR101312848B1 (ko) 브라우즈 모드 디자이너
US20050060653A1 (en) Object operation apparatus, object operation method and object operation program
US20210263833A1 (en) Code Generation Platform with Debugger
JP2004348310A (ja) レビュー支援装置、方法及びプログラム
US8548967B1 (en) System for visual query and manipulation of configuration management records
CN102067117B (zh) 显示和操作表的方法
US6999966B2 (en) Content management system and methodology for implementing a complex object using nested/recursive structures
JP4180099B2 (ja) シーケンス解析プログラムを記録した記録媒体、シーケンス解析装置およびシーケンス解析方法
CN112732643B (zh) 流程图图形文件数据与s1000d标准xml格式数据的相互转换方法
JP5884925B2 (ja) 管理支援装置、管理支援方法及び管理支援プログラム
JPH05313969A (ja) ファイル一覧表示方法
JP2001134424A (ja) システムパラメタ作成方法、システムパラメタ作成装置、システムパラメタ作成プログラムを記録したコンピュータ読み取り可能な記録媒体及びシステムパラメタ作成データを格納したコンピュータ読み取り可能な記録媒体
JP3424558B2 (ja) オブジェクト管理方法
WO2021084769A1 (ja) 可視化データへの付箋の付与及び復元
CN117453713A (zh) 多类型数据库的sql语句生成方法、设备和存储介质
JPH09152965A (ja) クラスライブラリ再構築方法
CN111427882A (zh) 数据编辑方法及系统、数据处理设备、存储介质
US20070206026A1 (en) Computer readable recording medium recorded with graphics editing program, and graphics editing apparatus
US20040172414A1 (en) CAD generation management system and computer-readable storage medium
JPH1195992A (ja) データ作成支援装置、オブジェクト指向分析設計支援装置及びデータ管理方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080507

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080707

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: 20080826

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: 20080826

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110905

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120905

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120905

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130905

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees