JP3447365B2 - Object-oriented programming support device and object-oriented programming support method - Google Patents

Object-oriented programming support device and object-oriented programming support method

Info

Publication number
JP3447365B2
JP3447365B2 JP07620094A JP7620094A JP3447365B2 JP 3447365 B2 JP3447365 B2 JP 3447365B2 JP 07620094 A JP07620094 A JP 07620094A JP 7620094 A JP7620094 A JP 7620094A JP 3447365 B2 JP3447365 B2 JP 3447365B2
Authority
JP
Japan
Prior art keywords
class
conversion
data
input
inter
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.)
Expired - Lifetime
Application number
JP07620094A
Other languages
Japanese (ja)
Other versions
JPH06348499A (en
Inventor
裕子 入内島
明宏 山城
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP07620094A priority Critical patent/JP3447365B2/en
Publication of JPH06348499A publication Critical patent/JPH06348499A/en
Application granted granted Critical
Publication of JP3447365B2 publication Critical patent/JP3447365B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、オブジェクト指向プロ
グラミングを支援するオブジェクト指向プログラミング
支援装置の改良に関するもので、特に、プログラムのク
ラス間ネットワーク構造の等価変換を行うものに係る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an improvement in an object-oriented programming support device for supporting object-oriented programming, and more particularly to an equivalent conversion of a network structure between classes of a program.

【0002】[0002]

【従来の技術】近年、ソフトウェア開発手法の一つとし
て、オブジェクト指向プログラミングが普及している。
ここで、オブジェクト指向プログラミングとは、ソフト
ウェアが処理対象とする現実の事物をソフトウェア上の
実体である「オブジェクト」(「インスタンス」と呼ば
れる場合がある)によって表し、現実の事物に関する情
報やその振る舞いを、それぞれ、前記オブジェクトの内
部データを記述するための特性、状態、及び他のオブジ
ェクトとの関係を表す「属性」や、属性の書き換えや他
の操作関数の呼び出しを行うためのこの属性の処理手順
を表す「操作関数」として定義する手法である。このよ
うなオブジェクト指向プログラミングによれば、現実の
事物の情報構成がソフトウェア構成上に模擬されるの
で、構成の明快な保守性に優れたソフトウェアを実現す
ることができる。
2. Description of the Related Art In recent years, object-oriented programming has become popular as one of software development methods.
Here, object-oriented programming expresses the real thing that the software processes by means of "objects" (sometimes called "instances"), which are the actual entities on the software, and represent information about real things and their behavior. , "Attributes" representing characteristics, states, and relationships with other objects for describing the internal data of the object, and the processing procedure of this attribute for rewriting attributes and calling other operation functions Is a method defined as an “operation function” that represents According to such object-oriented programming, since the information structure of the real thing is simulated on the software structure, it is possible to realize software with a clear structure and excellent maintainability.

【0003】このようなオブジェクト指向プログラミン
グは、C++のようなオブジェクト指向プログラミング
言語によって行われる。
Such object-oriented programming is performed by an object-oriented programming language such as C ++.

【0004】一般に、オブジェクト指向プログラミング
を行うためには、プログラムをネットワークのノードを
構成するモジュールごとに開発するオブジェクト指向設
計技法が前提とされる。すなわち、オブジェクト指向プ
ログラミング言語において、プログラムは、そのモジュ
ールである(通常複数の)クラス及びクラス間の関係に
よって構成され、複数のオブジェクト間で、相互に操作
関数を呼び出し合うことによって処理を行なう。そし
て、オブジェクト指向プログラミングでは、このような
各モジュール(クラス)にも現実の事物の情報構成が反
映されるので、各モジュールの内容も客観的に理解しや
すいものとなり、各モジュールの再利用性も向上するこ
ととなる。
Generally, in order to perform object-oriented programming, an object-oriented design technique for developing a program for each module that constitutes a node of a network is premised. That is, in an object-oriented programming language, a program is composed of (usually a plurality of) classes that are its modules and relationships among the classes, and a plurality of objects perform processing by mutually calling operation functions. In object-oriented programming, since the information structure of the real thing is reflected in each module (class) like this, the contents of each module become objectively easy to understand and the reusability of each module is improved. It will be improved.

【0005】なお、前記オブジェクトは、プログラムの
ソースコードがコンパイルされ、実行モジュールがコン
ピュータ上で実行されたときに初めてコンピュータ上に
実体化するもので、その属性もコンピュータのメモリ領
域上に割り当てられた時点で初めて具体的な値をもつこ
とができる。このため、プログラムの各クラスがオブジ
ェクトやその属性・操作関数のひな型としての役割を有
しており、同一の属性や操作関数をもつ全てのオブジェ
クトは1つのクラスでまとめて定義される。実際のプロ
グラミング作業では、個々のクラスごとの定義、及びク
ラス間の関係をプログラミング言語の文法に基づいて表
現する。
The object is realized on the computer for the first time when the source code of the program is compiled and the execution module is executed on the computer, and its attribute is also assigned to the memory area of the computer. Only at a point can we have a concrete value. For this reason, each class of the program has a role as a template for an object and its attributes and operation functions, and all objects having the same attributes and operation functions are collectively defined in one class. In the actual programming work, the definition of each individual class and the relationship between the classes are expressed based on the grammar of the programming language.

【0006】オブジェクト指向プログラミング言語にお
ける各クラス間の関係は、大別して継承、包含、関連に
分けられる。
The relationships between the classes in the object-oriented programming language are roughly divided into inheritance, inclusion, and association.

【0007】ここで、「継承」とは、あるクラス(子ク
ラス)が、他のクラス(親クラス)で定義される属性や
操作関数を、再定義することなく受け継ぐことができる
関係である。この関係は、クラスにおける所定の記述に
よって表され、プログラム全体のネットワーク構造を定
義する。継承関係の親クラスが持つ第3のクラスとの関
係を子クラスから見ると、子クラス自体と第3のクラス
との関係と等価であると見なせることから、継承関係を
利用して等価の内容を意味する複数の構造を表現するこ
とができる。また、定義の再記述の省略によってプログ
ラムの開発効率・信頼性・コンパクトさを向上させるこ
とができる。一方、親クラスで定義された属性や操作関
数を変更した場合には、子クラスは変更後の属性や操作
関数を受け継ぐことから、変更の影響は親クラスの内部
にとどまらず、子クラスにも及ぶ。
Here, "inheritance" is a relationship in which a class (child class) can inherit the attributes and operation functions defined in another class (parent class) without redefining. This relationship is represented by a predetermined description in the class and defines the network structure of the entire program. From the viewpoint of the child class, the relationship between the inheritance parent class and the third class can be regarded as equivalent to the relationship between the child class itself and the third class. Can represent multiple structures. In addition, the development efficiency, reliability, and compactness of the program can be improved by omitting re-description of the definition. On the other hand, when the attribute or operation function defined in the parent class is changed, the child class inherits the changed attribute or operation function, so the effect of the change is not limited to the inside of the parent class, and it affects the child class as well. Reach

【0008】また、「包含」とは、あるクラス(全体ク
ラス)が他のクラス(部分クラス)を自己の部品として
包含する関係である。この関係も、クラスにおける所定
の記述によって表され、この関係を利用すれば、段階的
プログラム開発やクラスのライブラリ・モジュール的活
用が容易になる。
"Inclusion" is a relationship in which a class (entire class) includes another class (partial class) as its own component. This relationship is also represented by a predetermined description in the class, and using this relationship facilitates stepwise program development and class / library utilization of the class.

【0009】さらに、「関連」とは、クラス間に通信関
係があることを表す一般的な関係で、継承でも包含でも
ない。
Furthermore, "association" is a general relationship indicating that there is a communication relationship between classes, and is neither inheritance nor inclusion.

【0010】そして、各クラスは、これらクラス間関係
で結合されることによってクラス間ネットワーク構造を
構成し、この構造がプログラム全体の構造となる。
Each class constitutes an inter-class network structure by being linked by these inter-class relationships, and this structure becomes the structure of the entire program.

【0011】なお、このようなオブジェクト指向プログ
ラミングを支援する装置として、オブジェクト指向プロ
グラミング支援装置が知られている。この装置は、クラ
ス間ネットワーク構造のようなプログラムの各種要素を
ダイヤグラム(図表)化して表示するなど、オブジェク
ト指向プログラミングに必要な各種機能を有する装置で
ある。この装置を利用すれば、ユーザは、オブジェクト
指向プログラミングにおける開発効率や信頼性の向上を
図ることができる。
An object-oriented programming support device is known as a device for supporting such object-oriented programming. This device is a device having various functions necessary for object-oriented programming, such as displaying various elements of a program such as an interclass network structure in a diagram (chart). By using this device, the user can improve development efficiency and reliability in object-oriented programming.

【0012】[0012]

【発明が解決しようとする課題】しかしながら、従来の
オブジェクト指向プログラミング支援装置は、前記のよ
うなクラス間関係の解消又は生成によってクラス間ネッ
トワーク構造及び個々のクラス定義を自動的に変更する
手段を備えていなかった。このため、次のような問題点
が存在していた。
However, the conventional object-oriented programming support device is provided with means for automatically changing the inter-class network structure and individual class definitions by eliminating or generating the inter-class relation as described above. Didn't. Therefore, there are the following problems.

【0013】(1)すなわち、まず、一つのクラスの内
容変更の影響がクラス間関係を通じて他のクラスに波及
する場合、プログラムの一部変更が困難であった。例え
ば、親クラスで定義される属性や操作関数が継承関係を
通じて子クラスでも利用されている場合、当該属性や操
作関数を親クラスで変更すると、この変更が継承関係を
通じて子クラスに波及し、その結果、子クラスの動作内
容が不完全になる可能性がある。このため、プログラム
を一部変更する場合、ユーザが変更の波及範囲を判断し
たり、当該範囲における必要な変更を施すという煩雑な
作業を手作業で行わなければならなかった。
(1) That is, first, when the influence of the content change of one class spreads to other classes through the inter-class relation, it is difficult to change a part of the program. For example, if the attribute or operation function defined in the parent class is also used in the child class through the inheritance relationship, if the attribute or operation function is changed in the parent class, this change will be propagated to the child class through the inheritance relationship. As a result, the behavior of the child class may be incomplete. For this reason, when a part of the program is changed, the user has to manually perform the complicated work of determining the spread range of the change and making a necessary change in the range.

【0014】また、このような変更の波及を回避するた
めには、クラス間関係を事前に解消しておく必要がある
が、クラス間関係の解消のためには、継承や包含される
内容を継承や包含を行う側の各クラスの定義情報を再記
述しなければならず、このような作業を手作業で行うこ
とは煩雑であった。したがって、従来では、プログラム
の一部変更を迅速かつ正確に行うことが困難で、プログ
ラムの開発効率や信頼性を十分向上させることができな
かった。
Further, in order to avoid the spread of such changes, it is necessary to eliminate the inter-class relation in advance, but in order to eliminate the inter-class relation, inheritance and inclusion contents are required. It was necessary to re-describe the definition information of each class on the side of inheritance or inclusion, and it was complicated to perform such work manually. Therefore, conventionally, it has been difficult to change some programs quickly and accurately, and it has been impossible to sufficiently improve the development efficiency and reliability of the programs.

【0015】(2)また、プログラム開発過程のうち、
各クラスにおける定義範囲やクラス間ネットワーク構造
を明確化していく分析段階では、作業の性質上、クラス
のネットワークの変更自体が頻発する。このような場合
も、上記のようなクラス間ネットワーク構造の変更は手
作業で行わなければならず、迅速な処理が困難であっ
た。
(2) In the program development process,
At the analysis stage where the definition range and inter-class network structure in each class are clarified, the class network changes frequently due to the nature of the work. Even in such a case, the change of the inter-class network structure as described above has to be done manually, and it has been difficult to perform prompt processing.

【0016】(3)さらに、クラス間関係を解消するク
ラス間ネットワーク構造の変更を自動的に行うことがで
きない結果、一覧性に優れた簡明なクラス間ネットワー
ク構造を実現することも困難であった。従来では、一旦
各クラスにおいて別個独立に宣言された操作関数やクラ
スを分配するためには、これらの特定作業と操作関数や
クラスの分配を手作業で行わざるを得ず、これを正確か
つ迅速に行うことは困難であった。
(3) Furthermore, as a result of the inability to automatically change the inter-class network structure that eliminates the inter-class relationship, it is also difficult to realize a simple inter-class network structure with excellent listability. . Conventionally, in order to distribute operation functions and classes that have been individually and independently declared in each class, it is inevitable to manually distribute these specific tasks and operation functions and classes. It was difficult to do.

【0017】なお、上記のようなクラス間関係の解消に
よるクラス間ネットワーク構造の変更は、変更前後でプ
ログラム全体の意味的な構造が等価となることを前提に
行われるので、本明細書において「等価変換」という。
すなわち、「等価変換」とは、プログラムデータに含ま
れるクラスデータ内の属性、操作関数の配置変更による
プログラムの振る舞いについての内部構造の変更や、ク
ラス間関係の変更によるクラス間ネットワーク構造の変
更であり、視覚的なクラス間ネットワーク構造は変更前
後で変化しても、プログラムの振る舞いは、実行するク
ラスは変更されるが属性、操作関数は変更されないた
め、プログラム全体の処理結果は変更前後で等価とな
り、プログラム的な意味的な構造が変更前後で等価にな
るようにする技術である。
Note that the change of the inter-class network structure due to the elimination of the inter-class relation as described above is performed on the premise that the semantic structure of the entire program becomes equivalent before and after the change. Equivalent conversion ".
In other words, "equivalent conversion" means changing the internal structure of the behavior of the program by changing the attributes of the class data included in the program data and the arrangement of operation functions , and
This is a change in the inter-class network structure due to the change in the relationship between the classes , and the behavior of the program will not change even if the visual inter-class network structure changes before and after the change .
Ras is changed, but attributes and operation functions are not changed.
Because, the processing result of the whole program becomes equivalent before and after the change, programmatic semantic structure is technology that is equivalent before and after the change.

【0018】本発明は、上記のような従来技術の問題点
を解決するために提案されたもので、その目的は、クラ
ス間ネットワーク構造の等価変換を行うオブジェクト指
向プログラミング支援装置を提供することである。ま
た、本発明の他の目的は、未完成の段階にあるプログラ
ムについても等価変換が可能なオブジェクト指向プログ
ラミング支援装置を提供することである。また、本発明
の他の目的は、プログラム内容の理解が容易なプログラ
ムデータの出力を行うオブジェクト指向プログラミング
支援装置を提供することである。
The present invention has been proposed in order to solve the above-mentioned problems of the prior art, and its object is to provide an object-oriented programming support device for performing equivalent conversion of an inter-class network structure. is there. Another object of the present invention is to provide an object-oriented programming support device capable of equivalent conversion even for a program in an incomplete stage. Another object of the present invention is to provide an object-oriented programming support device that outputs program data that allows easy understanding of program contents.

【0019】[0019]

【課題を解決するための手段】上記の目的を達成するた
めに、請求項1のオブジェクト指向プログラミング装置
は、クラスの内容を表す属性、操作関数を含むクラスデ
ータとクラス間関係を表す関係データから構成され、継
承関係を有する親クラスと子クラスを含むクラス間ネッ
トワーク構造を表すプログラムデータを入力する入力手
段と、この入力手段から入力されたクラスデータと関係
データを記憶する記憶手段と、前記プログラムデータで
表されるクラス間ネットワーク構造について変換範囲を
入力する変換範囲入力手段と、前記変換範囲に対する変
換態様を入力する変換態様入力手段と、前記変換範囲の
入力及び前記変換態様として操作関数の分配が入力され
た場合には、前記記憶手段に記憶された関係データから
変換範囲に該当するクラスを特定し、該当クラスにおけ
る親クラスのクラスデータの操作関数を前記親クラスと
継承関係を有する子クラスに追加複写し、前記親クラス
の操作関数を削除して、変換前の前記クラス間ネットワ
ーク構造と等価なクラス間ネットワーク構造を表すプロ
グラムデータに変換する変換手段と、を有することを特
徴とする。
In order to achieve the above object, an object-oriented programming device according to a first aspect of the present invention uses an attribute representing the content of a class, class data including an operation function, and relational data representing a relation between classes. An input unit configured to input program data representing an inter-class network structure including a parent class and a child class having an inheritance relationship, a storage unit storing the class data and the relationship data input from the input unit, and the program Conversion range input means for inputting a conversion range for the inter-class network structure represented by data, conversion mode input means for inputting a conversion mode for the conversion range, input of the conversion range, and distribution of operation functions as the conversion modes Is input, it corresponds to the conversion range from the relational data stored in the storage means. To identify the class, the operation function of the class data of the parent class in the relevant class and add copied to child classes with an inheritance relationship with the parent class, by deleting the operation function of the parent class, before conversion of the interclass network And a conversion means for converting into program data representing an inter-class network structure equivalent to the structure.

【0020】また、請求項2の発明は、クラスの内容を
表すクラスデータとクラス間関係を表す関係データから
構成され、継承関係を有する親クラスと子クラスを含む
クラス間ネットワーク構造を表すプログラムデータを入
力する入力手段と、この入力手段から入力されたクラス
データと関係データを記憶する記憶手段と、前記プログ
ラムデータで表されるクラス間ネットワーク構造につい
て変換範囲を入力する変換範囲入力手段と、前記変換範
囲に対する変換態様を入力する変換態様入力手段と、前
記変換範囲の入力及び前記変換態様として包含関係また
は関連の解消が入力された場合には、前記記憶手段に記
憶された関係データから変換範囲に該当するクラスを特
定し、該当クラスにおける親クラスと包含関係または関
連するクラスのクラスデータを、前記親クラスと継承関
係を有する子クラスとの関係に変更して、変換前の前記
クラス間ネットワーク構造と等価なクラス間ネットワー
ク構造を表すプログラムデータに変換する変換手段と、
を有することを特徴とする。
Further, the invention of claim 2 is composed of class data showing the contents of classes and relational data showing the relation between classes, and is program data showing an inter-class network structure including a parent class and a child class having an inheritance relation. Input means for inputting, a storage means for storing the class data and the relational data input from the input means, a conversion range input means for inputting a conversion range for the inter-class network structure represented by the program data, A conversion mode input means for inputting a conversion mode for the conversion range, and a conversion range from the relational data stored in the storage means when the conversion range is input and the inclusion relationship or the relationship is resolved as the conversion mode. The class corresponding to the The Sudeta, conversion means the change in the relationship between the child class having an inheritance relationship with the parent class, and converts the program data representing the interclass network structure equivalent to the interclass network structure before conversion,
It is characterized by having.

【0021】また、請求項3の発明は、クラスの内容を
表すクラスデータとクラス間関係を表す関係データから
構成され、継承関係を有する親クラスと子クラスを含む
クラス間ネットワーク構造を表すプログラムデータを入
力する入力手段と、この入力手段から入力されたクラス
データと関係データを記憶する記憶手段と、前記プログ
ラムデータで表されるクラス間ネットワーク構造につい
て変換範囲を入力する変換範囲入力手段と、前記変換範
囲に対する変換の態様を入力する変換態様入力手段と、
前記変換範囲の入力及び前記換態様として継承関係の解
消が入力された場合には、前記記憶手段に記憶された関
係データから変換範囲に該当するクラスを特定し、該当
クラスにおける親クラスのクラスデータを、前記親クラ
スと継承関係を有する子クラスに追加複写し、前記親ク
ラスと子クラスの関係を削除して、変換前の前記クラス
間ネットワーク構造と等価なクラス間ネットワーク構造
を表すプログラムデータに変換する変換手段と、を有す
ることを特徴とする。
According to the invention of claim 3, the program data is composed of class data representing the contents of the class and relationship data representing the inter-class relationship, and represents the inter-class network structure including a parent class and a child class having an inheritance relationship. Input means for inputting, a storage means for storing the class data and the relational data input from the input means, a conversion range input means for inputting a conversion range for the inter-class network structure represented by the program data, Conversion mode input means for inputting a conversion mode for the conversion range;
When the conversion range is input and the inheritance relationship is canceled as the conversion mode, the class corresponding to the conversion range is specified from the relationship data stored in the storage unit, and the class data of the parent class in the corresponding class is specified. Is additionally copied to a child class having an inheritance relationship with the parent class, the relationship between the parent class and the child class is deleted, and program data representing an inter-class network structure equivalent to the inter-class network structure before conversion is created. And a conversion means for converting .

【0022】また、請求項4の発明は、クラスの内容を
表すクラスデータとクラス間関係を表す関係データから
構成され、継承関係を有する親クラスと子クラスを含む
クラス間ネットワーク構造を表すプログラムデータを入
力する入力手段と、この入力手段から入力されたクラス
データと関係データを記憶する記憶手段と、前記プログ
ラムデータで表されるクラス間ネットワーク構造につい
て変換範囲を入力する変換範囲入力手段と、前記変換範
囲に対する変換の態様を入力する変換態様入力手段と、
前記変換範囲として、複数のクラスが入力された場合に
は、前記記憶された関係データから変換範囲に該当する
クラスを特定し、当該クラスに共通する前記クラスデー
タを含む上位の抽象クラスを生成し、下位クラスに前記
生成された上位クラスのクラスデータを継承させて、前
記クラス間ネットワーク構造と等価なクラス間ネットワ
ーク構造を表すプログラムデータに変換する変換手段
と、を有することを特徴とする。
Further, the invention of claim 4 is such that the contents of the class are
From the class data that represents and the relationship data that represents the relationship between classes
Contains parent and child classes that are constructed and have inheritance relationships
Enter the program data that represents the inter-class network structure
Input means to input and the class input from this input means
Storage means for storing data and related data;
The inter-class network structure represented by ram data
Conversion range input means for inputting a conversion range by
A conversion mode input means for inputting a conversion mode for the enclosure;
Conversion rangeMultiple classes were entered asIn case
Corresponds to the conversion range from the stored relational data
The class day that identifies the class and is common to the class
The upper abstract class that includes the
Inherit the class data of the generated superior class,
An inter-class network equivalent to the inter-class network structure
Converted to program data that represents the network structureConversion means
And are included.

【0023】また、請求項5の発明は、クラスの内容を
表す属性、操作関数を含むクラスデータとクラス間関係
を表す関係データから構成されるクラス間ネットワーク
構造を表すプログラムデータを入力する入力手段と、こ
の入力手段から入力されたクラスデータと関係データを
記憶する記憶手段と、前記プログラムデータで表される
クラス間ネットワーク構造について変換範囲を入力する
変換範囲入力手段と、前記変換範囲に対する変換態様を
入力する変換態様入力手段と、前記変換範囲の入力に伴
い、前記記憶手段に記憶された関係データを参照して変
換範囲に該当するクラスを特定し、前記入力された変換
態様に基づき前記該当クラスの前記記憶手段に記憶され
たクラスデータの追加複写または削除または関係データ
の変更の少なくとも1つを行い、変換前の前記クラス間
ネットワーク構造と等価なクラス間ネットワーク構造を
表すプログラムデータに変換する変換手段と、を有する
ことを特徴とする。
According to the invention of claim 5, input means for inputting program data representing an inter-class network structure composed of class data including attributes indicating class contents and operation functions and relationship data representing inter-class relationships. A storage unit for storing the class data and the relational data input from the input unit; a conversion range input unit for inputting a conversion range for the inter-class network structure represented by the program data; and a conversion mode for the conversion range. And a conversion mode input means for inputting the conversion range, and referring to the relational data stored in the storage means in association with the input of the conversion range, a class corresponding to the conversion range is specified, and the corresponding class is input based on the input conversion mode. When less additional copy or delete or related data changes stored class data in the memory means class One was carried out, and having a conversion means for converting the program data representing a network structure equivalent to between-class network structure between the classes before conversion.

【0024】また、請求項6の発明は、クラスの内容を
表すクラスデータとクラス間関係を表す関係データから
構成されるクラス間ネットワーク構造を表すプログラム
データを入力する入力手段と、この入力手段から入力さ
れたクラスデータと関係データを記憶する記憶手段と、
前記プログラムデータで表されるクラス間ネットワーク
構造について変換範囲を入力する変換範囲入力手段と、
前記変換範囲に対する変換態様を入力する変換態様入力
手段と、前記変換範囲の入力に伴い、前記記憶手段に記
憶された関係データを参照して前記変換範囲に該当する
クラスを特定し、前記入力された変換態様に基づき前記
該当クラスの前記記憶手段に記憶されたクラスデータま
たは関係データを変更して変換前の前記クラス間ネット
ワーク構造と等価なクラス間ネットワーク構造を表すプ
ログラムデータに変換する変換手段と、を有することを
特徴とする。
Further, the invention of claim 6 sets the content of the class
From the class data that represents and the relationship data that represents the relationship between classes
Program that represents the inter-class network structure that is configured
Input means to input data and input from this input means
Storage means for storing the class data and the relational data,
Interclass network represented by the program data
A conversion range input means for inputting a conversion range for the structure,
A conversion mode input for inputting a conversion mode for the conversion range
Means and the storage means, as the conversion range is input.
Corresponds to the conversion range by referring to the stored relational data
The class is specified, and based on the input conversion mode,
The class data stored in the storage means of the corresponding class
Or the inter-class net before conversion by changing the relational data
A network that represents an inter-class network structure equivalent to the work structure.
And a conversion means for converting into program data .

【0025】また、請求項7の発明は、請求項1乃至6
記載のオブジェクト指向プログラミング支援装置にお
いて、前記関係データはクラス関係を有する各クラス間
に設定される双方向リンクを含むことを特徴とする。
Further, the invention of claim 7 is based on claims 1 to 6.
In the object-oriented programming support device described in [3], the relational data is between classes having a class relation.
It is characterized by including a bidirectional link set to .

【0026】また、請求項8の発明は、請求項1乃至6
に記載のオブジェクト指向プログラミング支援装置にお
いて、前記プログラムデータをダイヤグラム形式で出力
する出力手段を有し、前記変換手段における変換前また
は変換後のプログラムデータで表されるクラス間ネット
ワーク構造の少なくとも何れか一方をダイヤグラム形式
で出力することを特徴とする。
The invention of claim 8 is the same as claims 1 to 6.
In the object-oriented programming support device described in the paragraph 1, there is an output means for outputting the program data in a diagram format, and at least one of inter-class network structure represented by program data before or after conversion in the conversion means . Is output in a diagram format.

【0027】また、請求項9の発明は、請求項5または
6に記載のオブジェクト指向プログラミング支援装置に
おいて、前記変換手段は、前記変換範囲の入力に伴い、
前記記憶手段に記憶された関係データを参照して前記変
換範囲に該当するクラスおよびこのクラスと関係を有す
る他のクラスを特定し、前記入力された変換態様に基づ
いて前記該当クラスの前記関係データの変更を前記他の
クラスに波及させることを特徴とする。
According to a ninth aspect of the present invention, in the object-oriented programming support device according to the fifth or sixth aspect, the converting means inputs the conversion range,
A class corresponding to the conversion range and another class having a relationship with this class are identified by referring to the relationship data stored in the storage unit, and the relationship data of the corresponding class is specified based on the input conversion mode. It is characterized in that the change of is propagated to the other classes.

【0028】[0028]

【0029】[0029]

【0030】[0030]

【0031】[0031]

【0032】[0032]

【0033】[0033]

【0034】[0034]

【0035】[0035]

【0036】[0036]

【0037】[0037]

【0038】[0038]

【0039】[0039]

【0040】[0040]

【作用】上記のような構成を有する本発明は、次のよう
な作用を有する。すなわち、請求項1乃至6の発明で
は、等価変換の範囲及び態様を入力すれば、クラス間ネ
ットワーク構造を表すプログラムデータ内のクラス間関
係を表す関係データから前記変換の範囲を特定し、前記
態様に基づいてクラス間ネットワーク構造を表すプログ
ラムデータの変換が行われる。この変換は、すなわち、
プログラムデータによって表されるクラス間ネットワー
ク構造が自動的に変換されることを意味するので、プロ
グラム開発の効率や信頼性が向上する。また、前記変換
の態様を指定できるので、各クラスの独立性を効用させ
る処理が容易である。
The present invention having the above structure has the following functions. That is, in the inventions according to claims 1 to 6 , if the range and the mode of the equivalent conversion are input, the range of the conversion is specified from the relational data representing the interclass relationship in the program data representing the interclass network structure, and the mode Based on, the program data that represents the inter-class network structure is converted . This transformation is
Since the inter-class network structure represented by the program data is automatically converted , the efficiency and reliability of program development are improved. In addition, since the aspect of the conversion can be designated, the process of making the independence of each class effective is easy.

【0041】また、請求項7の発明では、前記関係デー
タが、クラス関係を有する各クラス間に設定される双方
向リンクを含むので、クラス間関係に関わるどのクラス
からでも、このリンクに基づいて、当該関係に関わる他
のクラスを特定することができる。
According to the invention of claim 7, the relational data is
Data is set between classes that have class relationships.
Which class is involved in the inter-class relationship because it includes a bidirectional link
Even based on this link, from others involved in the relationship
The class of can be specified.

【0042】また、請求項8の発明では、前記プログラ
ムデータをダイヤグラム形式で出力できるので、変換前
や変換後のプログラムデータの理解が容易になると共
に、視覚的把握が容易になる。
According to the invention of claim 8, the program is
Before conversion, you can output the system data in diagram format.
And the program data after conversion become easy to understand.
Moreover, it becomes easy to grasp visually.

【0043】また、請求項9の発明では、前記変換手段
が、クラス間関係の変換を、前記変換範囲に該当するク
ラスと関係を有する他のクラスに波及させるので、クラ
ス間関係同士に齟齬が生じることがない。
[0043] In the invention of claim 9, wherein the converting means <br/> is, the conversion of the inter-class relationship, so to spread to other classes having relationships with class corresponding to the conversion range, the inter-class relationship There is no discrepancy between them.

【0044】[0044]

【0045】[0045]

【0046】[0046]

【0047】[0047]

【0048】[0048]

【0049】[0049]

【0050】[0050]

【0051】[0051]

【0052】[0052]

【0053】[0053]

【0054】[0054]

【0055】[0055]

【0056】[0056]

【0057】[0057]

【0058】[0058]

【0059】[0059]

【0060】[0060]

【実施例】次に、本発明の一実施例であるオブジェクト
指向プログラミング支援装置(以下「本装置」という)
について、図面に従って具体的に説明する。なお、本装
置はコンピュータ上に実現されるもので、本装置の各機
能は、プログラムとして格納された所定の手順で前記コ
ンピュータを動作させることによって実現されている。
したがって、以下、本装置の各機能を有する仮想的回路
ブロック(手段)を想定して本装置を説明する。
EXAMPLE Next, an object-oriented programming support device (hereinafter referred to as "this device") which is an embodiment of the present invention.
Will be specifically described with reference to the drawings. The device is realized on a computer, and each function of the device is realized by operating the computer according to a predetermined procedure stored as a program.
Therefore, the present apparatus will be described below assuming a virtual circuit block (means) having each function of the present apparatus.

【0061】なお、前記コンピュータは、一般には、C
PU(中央演算処理装置)と、RAM(随時書込読出型
記憶素子)からなる主記憶装置とを有する。また、前記
コンピュータの規模は自由であり、マイクロコンピュー
タ・パーソナルコンピュータ・スモールコンピュータ・
ワークステーション・メインフレームなど、いかなる規
模のものを用いてもよい。
The computer is generally a C
It has a PU (central processing unit) and a main storage device composed of a RAM (random writing / reading type storage element). Further, the scale of the computer is arbitrary, such as microcomputers, personal computers, small computers,
Any size, such as workstation or mainframe, may be used.

【0062】また、前記コンピュータのハードウェア
は、典型的には、キーボードやマウスなどの入力装置
と、ハードディスク装置などの外部記憶装置と、CRT
表示装置やプリンタ印字装置などの出力装置と、必要な
入出力制御回路を含む。
The hardware of the computer is typically an input device such as a keyboard and a mouse, an external storage device such as a hard disk device, and a CRT.
It includes an output device such as a display device and a printer printer, and necessary input / output control circuits.

【0063】但し、前記コンピュータのハードウェア構
成は自由であり、本発明が実施できる限り、上記の構成
要素の一部を追加・変更・除外してもよい。例えば、本
装置は、複数のコンピュータを接続したコンピュータネ
ットワーク上に実現してもよい。また、CPUの種類は
自由であり、CPUを複数同時に用いたり、単一のCP
Uをタイムシェアリング(時分割)で使用し、複数の処
理を同時平行的に行ってもよい。また、入力装置とし
て、他の装置、例えば、タッチパネル・ライトペン・ト
ラックボールなどのポインティングデバイスや、デジタ
イザ・イメージ読取装置やビデオカメラなどの画像入力
装置・音声識別装置・各種センサを用いてもよい。ま
た、外部記憶装置として、他の装置、例えば、フロッピ
ーディスク装置・RAMカード装置・磁気テープ装置・
光学ディスク装置・光磁気ディスク装置・バブルメモリ
装置・フラッシュメモリなどを用いてもよい。また、出
力装置として、他の装置、例えば、液晶表示装置・プラ
ズマディスプレイ装置・ビデオプロジェクター・LED
表示装置・音響発生回路・音声合成回路を用いてもよ
い。
However, the hardware configuration of the computer is arbitrary, and as long as the present invention can be implemented, some of the above components may be added / changed / excluded. For example, the device may be realized on a computer network in which a plurality of computers are connected. Also, the type of CPU is arbitrary, and multiple CPUs can be used simultaneously or a single CP can be used.
U may be used for time sharing (time division), and a plurality of processes may be simultaneously performed in parallel. Further, as the input device, another device, for example, a pointing device such as a touch panel, a light pen, or a trackball, an image input device such as a digitizer, an image reading device, a video camera, a voice recognition device, or various sensors may be used. . Further, as an external storage device, other devices such as a floppy disk device, a RAM card device, a magnetic tape device,
An optical disk device, a magneto-optical disk device, a bubble memory device, a flash memory or the like may be used. Further, as an output device, another device such as a liquid crystal display device / plasma display device / video projector / LED
A display device / sound generation circuit / voice synthesis circuit may be used.

【0064】また、前記コンピュータにおいて本装置を
実現するためのソフトウェアの構成としては、典型的に
は、本装置の各機能を実現するためのアプリケーション
プログラムが、OS(オペレーティングシステム)上で
実行される態様が考えられる。また、本装置を実現する
ためのプログラムの態様としては、典型的には、高級言
語やアセンブラからコンパイル(翻訳)された機械語が
考えられる。但し、前記コンピュータのソフトウェア構
成も自由であり、本発明が実施できる限り、ソフトウェ
ア構成を変更してもよい。例えば、必ずしもOSを用い
る必要はなく、また、プログラムの表現形式も自由であ
り、BASICのようなインタプリタ(逐次解釈実行
型)言語を用いてもよい。
Further, as a software configuration for realizing the present apparatus in the computer, typically, an application program for realizing each function of the present apparatus is executed on an OS (operating system). Embodiments are possible. In addition, as a mode of a program for realizing the present apparatus, typically, a machine language compiled (translated) from a high-level language or an assembler can be considered. However, the software configuration of the computer is also free, and the software configuration may be changed as long as the present invention can be implemented. For example, it is not always necessary to use the OS, the expression format of the program is free, and an interpreter (sequential interpretation execution type) language such as BASIC may be used.

【0065】また、プログラムの格納態様も自由であ
り、ROM(読出し専用メモリ)に格納しておいてもよ
く、また、ハードディスク装置のような外部記憶装置に
格納しておき、コンピュータの起動時や処理の開始時に
主メモリ上にロード(読み込み)してもよい。また、プ
ログラムを複数の部分に分割して外部記憶装置に格納し
ておき、処理内容に応じて必要なモジュールのみを随時
主メモリ上にロード(読み込み)してもよい。さらに、
プログラムの部分ごとに異なった態様で格納してもよ
い。
The program can be stored in any manner, and may be stored in a ROM (read-only memory), or stored in an external storage device such as a hard disk drive when the computer is started or when the computer is started. It may be loaded into the main memory at the start of processing. Alternatively, the program may be divided into a plurality of parts and stored in an external storage device, and only the necessary modules may be loaded (read) into the main memory at any time according to the processing content. further,
The parts of the program may be stored differently.

【0066】なお、本明細書における各「手段」は、本
装置の各機能に対応する概念的なもので、必ずしも特定
のハードウェアやソフトウェア・ルーチンとの1対1対
応関係を意味しない。例えば、同一のハードウェア要素
が、場合によって異なった手段を構成する。また、一つ
の手段が、わずか1命令によって実現される場合もあれ
ば、多数の命令によって実現される場合もある。
Each "means" in this specification is a conceptual one corresponding to each function of the present apparatus, and does not necessarily mean a one-to-one correspondence with a specific hardware or software routine. For example, the same hardware element may in some cases constitute different means. Also, one means may be realized by only one instruction, or may be realized by a large number of instructions.

【0067】また、本実施例における各手順の各ステッ
プは、その性質に反しない限り、実行順序を変更し、複
数同時に実行し、また、実行ごとに異なった順序で実行
してもよい。このような順序の変更は、例えば、ユーザ
が実行可能な処理を選択するなどメニュー形式のインタ
フェース手法によって実現することができる。
The execution order of each step of each procedure in the present embodiment may be changed, a plurality of steps may be executed at the same time, or a different order may be executed for each execution. Such a change in the order is performed in a menu-type interface , for example, when the user selects an executable process.
It can be realized by the face method .

【0068】また、本明細書において「入力」というと
きは、本来の情報の入力のみならず、情報の入力と密接
に関連する他の処理を含む。このような処理は、例え
ば、入力内容を確認のため出力装置へ出力(エコーバッ
ク)することや、入力内容の修正・編集である。また、
本明細書における「出力」は、本来の情報の出力のみな
らず、情報の出力と密接に関連する他の処理を含む。こ
のような処理は、例えば、出力すべき範囲の入力や、画
面スクロールの指示である。なお、対話型インタフェー
スを用いて入力と出力を一体的操作によって実現しても
よく、また、このような一体的操作は、選択・指定・特
定など、何らかの出力情報に基づいた入力処理に適用し
得る。
The term "input" used in this specification includes not only the original input of information but also other processing closely related to the input of information. Such processing is, for example, outputting (echoback) of the input content to the output device for confirmation, and correcting / editing the input content. Also,
The "output" in this specification includes not only the original output of information but also other processing closely related to the output of information. Such processing is, for example, input of a range to be output or an instruction for screen scrolling. Note that input and output may be realized by an integrated operation using an interactive interface, and such an integrated operation may be applied to input processing based on some output information such as selection, designation, and specification. obtain.

【0069】また、本明細書におけるデータ(情報)
は、やデータの格納手段は前記コンピュータ上において
いかなる態様で存在してもよい。例えば、データのハー
ドウェア上の所在部分は、主記憶装置・外部記憶装置・
CPUのレジスタやキャッシュメモリなどいかなる部分
でもよい。また、データの保持態様も自由である。例え
ば、データは、ファイル形式で保持・アクセスされるの
みならず、メモリやディスクなどの記憶装置を物理的ア
ドレスで直接アクセスすることによって保持・アクセス
されてもよい。また、データの表現形式も自由である。
例えば、文字列は、文字単位のコードで格納しても単語
単位のコードで格納してもよい。また、データは必要と
される一定時間だけ保持されれば十分で、その後消滅し
てもよく、保持時間の長短は自由である。また、辞書デ
ータのように当面変更されない情報は、ROMに格納し
てもよい。
Data (information) in the present specification
The data storage means may exist in any form on the computer. For example, the location part of the data on the hardware is the main storage device / external storage device /
It may be any part such as a CPU register or a cache memory. Further, the data retention mode is also free. For example, the data may be held and accessed not only in a file format but also by directly accessing a storage device such as a memory or a disk by a physical address. Also, the expression format of the data is free.
For example, the character string may be stored as a code for each character or a code for each word. Further, it is sufficient that the data is retained for the required fixed time, and the data may be deleted thereafter, and the retention time is free. Information that is not changed for the time being, such as dictionary data, may be stored in the ROM.

【0070】また、本明細書において、特定の情報への
言及は確認的で、言及されない情報の存在を否定するも
のではない。すなわち、本発明の動作では、動作に必要
な一般的な情報、例えば、各種ポインタ、カウンタ、フ
ラグ、パラメータ、バッファなどが適宜用いられる。
Further, in this specification, reference to specific information is a confirmation and does not deny the existence of information not referred to. That is, in the operation of the present invention, general information necessary for the operation, such as various pointers, counters, flags, parameters, buffers, etc., is appropriately used.

【0071】本装置の各部分が処理に要する情報は、特
に記載がない場合、当該情報を保持している他の部分か
ら獲得される。このような情報の獲得は、例えば、当該
情報を格納している変数やメモリをアクセスすることに
よって実現することができる。なお、情報の消去・抹消
は、当該情報の内容自体を必ずしも記憶領域から現実に
削除せず、消去を表すフラグを設定するなど、情報の修
飾の変更によって行うことができる。
The information required by each part of the apparatus for processing is obtained from the other part holding the information unless otherwise specified. Such acquisition of information can be realized, for example, by accessing a variable or memory that stores the information. The information can be erased / erased by not actually deleting the content itself of the information from the storage area, but by changing the modification of the information, such as setting a flag indicating the deletion.

【0072】また、本装置はコンピュータ上に実現され
ているが、本装置の機能の全部又は一部は専用の電子回
路上に実現してもよい。
Although the present apparatus is implemented on a computer, all or some of the functions of the apparatus may be implemented on a dedicated electronic circuit.

【0073】[1.実施例の構成] まず、図1は、本装置の構成を示す機能ブロック図であ
る。すなわち、本装置は、この図に示すように、入力用
のキーボード1と、出力用の表示装置2と、I/O制御
回路3とを有している。また、本装置は、プログラムを
構成する各クラスの内容を表すクラスデータをキーボー
ド1から入力するクラスデータ入力部4と、前記各クラ
ス間における継承・包含・関連のうちいずれかのクラス
間関係を表す関係データをキーボード1から入力する
係データ入力部5とを有している。なお、クラスデータ
及び関係データは、請求項1のプログラムデータに相当
する。
[1. Configuration of Embodiment] First, FIG. 1 is a functional block diagram showing a configuration of the present apparatus. That is, the present device has an input keyboard 1, an output display device 2, and an I / O control circuit 3, as shown in this figure. Further, the present apparatus establishes a class data input unit 4 for inputting class data representing the contents of each class constituting a program from the keyboard 1 and an inter-class relationship among inheritance / inclusion / association between the classes. the relationship data representing and a related <br/> engagement data input unit 5 to input from the keyboard 1. The class data and the relational data correspond to the program data of claim 1.

【0074】また、本装置は、前記クラスデータを格納
するクラスデータファイル6と、前記関係データを格納
する関係データファイル7とを有している。
Further, this apparatus has a class data file 6 for storing the class data and a relational data file 7 for storing the relational data.

【0075】また、本装置は、前記プログラムのクラス
間ネットワーク構造について等価変換の範囲をキーボー
ド1から入力する変換範囲入力部8と、前記変換の態様
をキーボード1から入力する変換態様入力部9とを有し
ている。なお、変換範囲入力部8は、キーボード1及び
I/O制御回路3と共に、請求項1の変換範囲入力手段
を構成している。また、変換態様入力部9は、キーボー
ド1及びI/O制御回路3と共に、請求項1の変換態様
入力手段を構成している。また、本装置は、前記範囲及
び前記態様に基づいてクラスデータ及び関係データを等
価変換する等価変換部10(請求項1の等価変換手段に
相当するもの)を有している。なお、本装置において行
われる等価変換の態様は、操作関数の分配、包含関係・
関連の解消、継承関係の解消であるが、これらの等価変
換の具体的内容、すなわち、各態様の処理手順や出力形
式等については後述する。
The apparatus further includes a conversion range input section 8 for inputting the range of equivalent conversion for the inter-class network structure of the program from the keyboard 1, and a conversion mode input section 9 for inputting the conversion mode from the keyboard 1. have. The conversion range input unit 8 constitutes the conversion range input means of claim 1 together with the keyboard 1 and the I / O control circuit 3. The conversion mode input unit 9 constitutes the conversion mode input means of claim 1 together with the keyboard 1 and the I / O control circuit 3. Further, the present apparatus has an equivalence conversion unit 10 (corresponding to the equivalence conversion means of claim 1) that equivalence-converts the class data and the relational data based on the range and the aspect. The mode of the equivalent conversion performed in this device is the distribution of operation functions, the inclusion relation,
Related eliminated, but is a cancellation of the inheritance relationship, these equivalent variation
Specific contents of the conversion, that is, the processing procedure and output form of each mode
Formulas and the like will be described later.

【0076】また、本装置は、前記クラスデータ及び関
係データに基づいてダイヤグラムの表示データを生成す
る生成部11を有しており、この生成部11は、I/O
制御回路3及び表示装置2と共に請求項9のデータ出力
手段を構成している。また、本装置は、前記ダイヤグラ
ムの表示範囲をキーボード1から入力する表示範囲入力
部12と、前記ダイヤグラムの表示形式をキーボード1
から入力する表示形式入力部13とを有している。な
お、表示範囲入力部12は、キーボード1及びI/O制
御回路3と共に、請求項15の出力範囲入力手段を構成
している。また、表示形式入力部13は、キーボード1
及びI/O制御回路3と共に、請求項9の出力形式入力
手段を構成している。なお、本装置には、ポインティン
グデバイスとして、図示しないマウスが接続されてお
り、ユーザがマウスを移動させると、表示画面上に表示
されるマウスポインタがマウスに連動して移動する。
Further, the present apparatus has a generating unit 11 for generating the display data of the diagram based on the class data and the relational data, and the generating unit 11 is the I / O.
The control circuit 3 and the display device 2 constitute the data output means of claim 9. In addition, the present apparatus includes a display range input unit 12 for inputting the display range of the diagram from the keyboard 1, and a display format of the diagram for the keyboard 1.
And a display format input section 13 for inputting from. The display range input section 12 constitutes the output range input means of claim 15 together with the keyboard 1 and the I / O control circuit 3. Further, the display format input unit 13 is the keyboard 1
And the I / O control circuit 3 constitute the output format input means of claim 9. A mouse (not shown) is connected to the apparatus as a pointing device. When the user moves the mouse, the mouse pointer displayed on the display screen moves in association with the mouse.

【0077】[2.実施例の作用] 上記のような構成を有する本実施例は、次のような作用
を有する。すなわち、まず、ユーザがキーボード1によ
ってクラスデータ入力用の操作を行い、クラスデータ入
力部4がキーボード1からクラスデータを入力すると
クラスデータファイル6が各クラスデータを格納する。
また、ユーザがキーボード1によって関係データ入力用
の操作を行い、関係データ入力部5がキーボード1から
関係データを入力すると、関係データファイル7が各ク
ラスデータを格納する。
[2. Operation of Embodiment] The present embodiment having the above-described configuration has the following operation. That is, first, the user operates the keyboard 1.
Perform the operation for class data input, and enter the class data.
When the force section 4 inputs class data from the keyboard 1 ,
The class data file 6 stores each class data.
In addition, the user can use the keyboard 1 to enter related data.
, And the related data input section 5 from the keyboard 1
When the relational data is input , the relational data file 7 stores each class data.

【0078】なお、関係データに含まれるデータとし
て、クラス間関係が設定されている各クラス間に双方向
のリンクを設定する。このようにすれば、各クラス間関
係のいずれの側からでも、クラス間関係の相手方クラス
をこのリンクに基づいて特定することができる。さら
に、親クラス方向へも子クラス方向へも継承関係を多段
に辿ることができ、また、全体クラス又は部分クラスの
一方から他方へ包含関係を辿ることもできる。このた
め、クラス間関係の全体の把握が可能になる。
As the data included in the relationship data, a bidirectional link is set between the classes for which the interclass relationship is set. By doing so, the opposite party class of the interclass relationship can be specified from either side of the interclass relationship based on this link. Further, the inheritance relationship can be traced in multiple steps toward the parent class and toward the child class, and the inclusion relationship can be traced from one of the whole class or the partial class to the other. Therefore, it becomes possible to grasp the entire relationship between classes.

【0079】ここで、図2は、本実施例におけるクラス
データの一般的形式を示し、「位置データ」は、画面上
のダイヤグラム表示における当該クラスの表示位置座標
を、また、「関係」は、当該クラスと関係するクラスを
特定するためのデータを示す。また、図3は、本実施例
における関係データの一般的形式を示す。この図3にお
いて、「位置データ」は、画面上のダイヤグラム表示に
おける複数のクラスのクラス間関係を表すシンボルの表
示位置座標を示し、「クラス情報」は、当該複数のクラ
スを表示するための各クラスに関する個別の情報を示し
ている。また、「関係の種別」は、継承・包含・包含の
うちのいずれかのクラス間関係の種別を表し、「接続位
置データ」は、画面上のダイヤグラム表示における各ク
ラス間関係を表すシンボルとの位置関係を示す。そし
て、図4、図5、図6は、クラスデータの具体例を、ま
た、図7は、関係データの具体例を示す。
FIG. 2 shows the general format of the class data in this embodiment. "Position data" is the display position coordinates of the class in the diagram display on the screen, and "Relationship" is The data for identifying the class related to the class is shown. Further, FIG. 3 shows a general format of relational data in this embodiment. In this Figure 3
The "position data" is displayed in a diagram on the screen.
Table of symbols that represent the relationships between classes in multiple classes
Indicates the position coordinates, and the "class information" is the
Shows individual information about each class to display
ing. In addition, "relationship type" represents the type of interclass relation of inheritance, inclusion, or inclusion, and "connection position data" is a symbol that represents the interclass relation in the diagram display on the screen. The positional relationship is shown. 4, 5, and 6 show specific examples of class data, and FIG. 7 shows specific examples of relational data.

【0080】このように、本装置では、前記クラスデー
タや関係データが位置データを含み、この位置データ
が、ダイヤグラム表示においてクラスを表す枠やクラス
間関係を表す図形の表示位置を示す。このため、表示の
際に各クラスの配置位置の計算処理が必要がなく、ま
た、各クラス間関係に応じた適切な位置関係による表示
が自動的に実現される。
As described above, in the present apparatus, the class data and the relational data include the position data, and the position data indicates the display position of the frame representing the class and the figure representing the interclass relationship in the diagram display. Therefore, it is not necessary to calculate the placement position of each class at the time of display, and the display with an appropriate positional relationship according to the inter-class relationship is automatically realized.

【0081】また、本実施例では、プログラムデータと
して、ソースコードのようなプログラムのデータではな
く、各クラスごとの内容を表すクラスデータと、各クラ
ス間関係を表す関係データを用いる。このため、クラス
内部のデータと、クラスの対外的関係を、独立した問題
として扱うことが可能である。
Further, in this embodiment, not the program data such as the source code but the class data representing the contents of each class and the relational data representing the relation between the classes are used as the program data. Therefore, it is possible to treat the internal data of the class and the external relationship of the class as independent problems.

【0082】また、これらクラスデータや関係データの
具体性の程度は自由である。したがって、プログラムの
設計段階のように、プログラムの具体的内容が未決定の
段階においても、決定済みのクラス間ネットワーク構造
に係るデータを入力すれば、完成したプログラムと同様
に等価変換を行うことができる。
Further, the degree of concreteness of these class data and relational data is arbitrary. Therefore, even when the concrete contents of the program are not decided, such as the design stage of the program, by inputting the data related to the decided inter-class network structure, the equivalent conversion can be performed as in the completed program. it can.

【0083】そして、生成部11が、これらクラスデー
タ及び関係データに基づいてダイヤグラムの表示データ
を生成すると、この表示データによって表されるダイヤ
グラムは、表示装置2に表示される。なお、ユーザが、
ダイヤグラムの表示範囲(すなわち、クラスデータ及び
関係データのうち、表示対象とするクラスの範囲)や表
示形式を変更したい場合は、キーボード1により表示範
囲選択用の操作を行って表示範囲入力部12により表示
範囲を入力(選択)させるか、又は、表示形式選択用の
操作を行って表示形式入力部13により表示形式を入力
(選択)させればよい
When the generator 11 generates the display data of the diagram based on the class data and the relational data, the diagram represented by this display data is displayed on the display device 2. In addition, the user
If you want to change the display range of the diagram (that is, the range of the class to be displayed among the class data and related data) or the display format, use the keyboard 1 to display the range.
Perform the operation for selecting the area and display with the display range input unit 12.
Enter (select) the range or select the display format
Input the display format by operating the display format input unit 13
(Select) .

【0084】このように、本装置では、出力範囲入力手
段や出力形式入力手段から、プログラムデータの出力の
範囲や形式を入力できるので、ユーザは、利用目的に合
致した範囲のプログラムデータの出力を得ることができ
る。
As described above, in this apparatus, since the output range and format of the program data can be input from the output range input means and the output format input means, the user can output the program data in the range that matches the purpose of use. Obtainable.

【0085】このように入力・表示されたプログラムデ
ータを等価変換するときは、変換範囲入力部8を介して
キーボード1から変換範囲を入力(選択)し、及び、変
換態様入力部9を介してキーボード1から変換態様を入
力(選択)すればよい。このように変換範囲及び変換態
様が入力されると、等価変換部10が、当該変換範囲及
び変換態様に基づいてクラスデータ及び関係データを等
価変換する。なお、クラスデータ及び関係データによっ
て表されるプログラムのクラス間ネットワーク構造は、
すなわち、クラスデータ及び関係データによって表現さ
れる構造であり、クラスデータ及び関係データの等価変
換は、すなわち、これらによって表されるプログラムの
クラス間ネットワーク構造の等価変換を意味する。
When the program data input / displayed in this way is equivalently converted, the conversion range is input (selected) from the keyboard 1 via the conversion range input unit 8 and via the conversion mode input unit 9. The conversion mode may be input (selected) from the keyboard 1. When the conversion range and the conversion mode are input in this way, the equivalence conversion unit 10 equivalently converts the class data and the relational data based on the conversion range and the conversion mode. The inter-class network structure of the program represented by the class data and the relational data is
That is, the structure is represented by the class data and the relational data, and the equivalent conversion of the class data and the relational data means the equivalent conversion of the inter-class network structure of the program represented by them.

【0086】ここで、図8は、本装置におけるダイヤグ
ラムの表示から等価変換までの処理手順の一例を示すフ
ローチャートである。なお、入力など各ステップの順序
は、本装置が対話的入出力手順によって自律的に制御し
てもよいし、メニュー形式の入出力手順によってユーザ
が自主的に決定してもよい。
Here, FIG. 8 is a flow chart showing an example of the processing procedure from the display of the diagram to the equivalent conversion in this apparatus. The order of each step such as input may be autonomously controlled by the apparatus by an interactive input / output procedure, or may be voluntarily determined by the user by a menu type input / output procedure.

【0087】また、図8の手順のうち、操作関数の分配
は、継承関係における親クラスの操作関数を子クラス内
にコピーし、当該属性や操作関数を親クラスから削除す
ることによって自動的に行われる。また、包含関係・関
連の解消は、全体クラスである親クラスが包含する被包
含クラス(部分クラス)を各子クラスの部分クラスと
し、あるいは親クラスと関連で結ばれた他のクラスを各
子クラスと関連で結び、そのかわりに、当該部分クラス
と親クラスとの包含関係あるいは関連を削除することに
よって自動的に行われる。また、継承関係の解消は、親
クラスの全ての属性及び操作関数を子クラス内にコピー
し、親クラス−子クラス間の継承関係を削除することに
よって自動的に行われる。
In the procedure of FIG. 8, the distribution of the operation function is automatically performed by copying the operation function of the parent class in the inheritance relationship into the child class and deleting the attribute or the operation function from the parent class. Done. In addition, the inclusion relationship / relationship is resolved by using the included class (partial class) included in the parent class, which is the entire class, as a partial class of each child class, or by using another class connected in association with the parent class for each child. This is done automatically by connecting with a class in association, and instead deleting the inclusive relationship or association between the subclass and the parent class. Further, the inheritance relationship is automatically canceled by copying all the attributes and operation functions of the parent class into the child class and deleting the inheritance relationship between the parent class and the child class.

【0088】このように、本実施例では、等価変換の態
様として、操作関数の分配、継承関係の解消、包含関係
・関連の解消を指定できるので、各クラスの独立性を向
上させる処理が容易である。また、本実施例では、これ
らの等価変換が自動的に行われるので、これらの操作を
手作業で行う必要がない。
As described above, in the present embodiment, the distribution of operation functions, the resolution of inheritance relationships, and the resolution of inclusion relationships / relationships can be specified as the form of equivalence conversion, so that the process of improving the independence of each class is easy. Is. Further, in the present embodiment, since these equivalent conversions are automatically performed, it is not necessary to manually perform these operations.

【0089】[3.等価変換の実例] 次に、本装置を用いた等価変換の実例を示す。図9は、
本装置に入力されたクラスデータ及び関係データの内容
出力表示の一例であり、クラス名の一覧表示をダイヤグ
ラム形式で行ったものである。なお、本装置のダイヤグ
ラム表示では、各クラスを4角の枠で表し、各枠内に各
クラスの名称を表す。また、クラス間関係は枠同士を結
ぶ線で表し、線の形状によって異なった関係を表す。す
なわち、継承関係は親クラスと子クラスとを結ぶ線に三
角形を付加して表し、包含関係は全体クラスと部分クラ
スとを結ぶ線の全体クラス側に菱形を付加して表し、関
連は2つのクラス間を結ぶ線で表す。なお、表示範囲
は、クラス単位に自由に選択することができる。
[3. Example of Equivalent Conversion] Next, an example of equivalent conversion using the present device will be described. Figure 9
It is an example of the content output display of the class data and the relational data input to this device, and is a diagram in which a list of class names is displayed in a diagram format. In the diagram display of this device, each class is represented by a square frame, and the name of each class is represented in each frame. Further, the relationship between classes is represented by a line connecting the frames, and the different relationship is represented by the shape of the line. That is, the inheritance relationship is represented by adding a triangle to the line connecting the parent class and the child class, and the inclusion relationship is represented by adding a diamond to the whole class side of the line connecting the whole class and the partial classes. Expressed by a line connecting classes. The display range can be freely selected for each class.

【0090】このように、本装置では、プログラムデー
タの出力形式として、ダイヤグラム形式を選択できるの
で、変換前や変換後のプログラムデータの理解が容易に
なる。また、本装置では、前記ダイヤグラム形式の出力
において、各クラスを所定の枠で、また、各クラス間の
クラス間関係は、関係の種類に応じて異なった形状で表
されるので、プログラムの内容を一見して把握すること
ができる。
As described above, in this apparatus, the diagram format can be selected as the output format of the program data, so that the program data before conversion and after conversion can be easily understood. Further, in the present apparatus, in the output of the diagram format, each class is represented by a predetermined frame, and the inter-class relation between each class is represented by a different shape according to the type of the relation. You can see at a glance.

【0091】すなわち、生成部11がダイヤグラムを描
画する際には、まず、個々のクラスのクラスデータに基
づいて、各クラスを示す枠(すなわちボックス)とクラ
ス名を描画する。次に、関係データに基づいて、個々の
関係をシンボルで描画する。シンボルの描画は、各関連
ごとに、関係するクラスとその方向を判断して描画す
る。
That is, when the generating unit 11 draws a diagram, first, based on the class data of each class, a frame (that is, a box) indicating each class and a class name are drawn. Next, based on the relationship data, each relationship is drawn as a symbol. The symbol is drawn by determining the related class and its direction for each association.

【0092】図9では、親クラス"Title" は、子クラ
ス"DocTitle"及び"RtrvTitle" との間に継承関係を有
し、親クラス"Title" が、子クラス"DocTitle"及び子ク
ラス"RtrvTitle" に共通な要素を有している。さらに、
親クラス"Title" が全体クラスの立場で部分クラス"Key
Word" を包含する包含関係を有する。
In FIG. 9, the parent class "Title" has an inheritance relationship with the child classes "DocTitle" and "RtrvTitle", and the parent class "Title" has the child class "DocTitle" and the child class "RtrvTitle". Have common elements. further,
Parent class "Title" is a partial class from the perspective of the whole class "Key"
It has an inclusive relationship that includes "Word".

【0093】なお、表示範囲はクラス単位に選択するこ
とができ、また、表示形式として、これらクラスにおけ
るクラス定義の表示を選択することもできる。ここで、
クラス定義とは、各クラスにおいて行われるクラスの属
性や操作関数の定義である。
The display range can be selected on a class-by-class basis, and as the display format, the display of the class definition in these classes can also be selected. here,
A class definition is a definition of a class attribute or operation function performed in each class.

【0094】この画面において、等価変換を行うには、
まず、変換対象とする範囲を選択する。なお、変換対象
は、クラスを単位に、又は、クラス間関係を単位に選択
することができる。このため、変換の対象を必要十分な
範囲に限定することが容易である。
On this screen, to perform equivalent conversion,
First, the range to be converted is selected. The conversion target can be selected in units of classes or in units of inter-class relationships. Therefore, it is easy to limit the conversion target to a necessary and sufficient range.

【0095】[3−1.操作関数の分配] 図10は、変換態様の一つである「操作関数の分配」の
手順を示すフローチャートである。この手順では、ま
ず、ユーザが、変換対象とするクラスを指定する(ステ
ップ101)。
[3-1. Distribution of Operation Function] FIG. 10 is a flowchart showing a procedure of “distribution of operation function” which is one of conversion modes. In this procedure, the user first specifies a class to be converted (step 101).

【0096】すなわち、ユーザが、画面左上のメニュー
ボタン「変換処理」をマウスでクリックすると、処理の
種類を示すプルダウンメニューが表示される(図1
1)。このメニューはクリックボタンを押し下げている
間、継続して表示される。ユーザがマウスのクリックボ
タンを押し下げたままマウスを移動させると(ドラッ
グ)、マウスポインタがポイントしている処理の表示が
反転表示される(図11)。このように、ある処理が反
転表示されている最中にユーザがボタンを放すと、当該
処理が選択され、実行される。
That is, when the user clicks the menu button "conversion processing" at the upper left of the screen with the mouse, a pull-down menu showing the type of processing is displayed (FIG. 1).
1). This menu will continue to be displayed as long as you hold down the click button. When the user moves the mouse while holding down the click button of the mouse (drag), the display of the process pointed by the mouse pointer is highlighted (FIG. 11). In this way, when the user releases the button while a certain process is highlighted, the process is selected and executed.

【0097】このとき、「対象の指定」が選択されると
(図11)、画面下方のメッセージ欄に、等価変換の対
象を指定すべき旨が表示される。この状態で、ユーザ
が、マウスでボックスをクリックすると、そのボックス
が選択され、当該ボックスの名称・属性・関数などのク
ラス定義が、クラスデータに基づいて、クラスに対応し
た新たなウィンドウ(サブウィンドウ)に表形式で表示
される(図12)。図12では、元のウィンドウ上に、
元のウィンドウよりも小さなサブウィンドウがオーバー
ラップして表示されている。
At this time, if "designate target" is selected (FIG. 11), a message field at the bottom of the screen indicates that the target of equivalent conversion should be designated. In this state, when the user clicks a box with the mouse, the box is selected, and the class definition such as the name, attribute, and function of the box is added to the new window (subwindow) corresponding to the class based on the class data. Is displayed in a table format (Fig. 12). In Figure 12, on the original window,
Subwindows that are smaller than the original window are displayed overlapping.

【0098】したがって、ユーザが、複数のボックスを
クリックすると、クリックした数だけのサブウィンドウ
が現れ、各サブウィンドウに各クラスのクラス名・属性
・関数が一覧表示される(図13)。このように、本装
置では、マウスを通じて出力形式入力手段からプログラ
ムデータの出力形式を入力できるので、ユーザは、利用
目的に合致した形式のプログラムデータの出力を得るこ
とができる。
Therefore, when the user clicks a plurality of boxes, the number of clicked sub-windows appears, and the class names, attributes, and functions of each class are displayed in a list in each sub-window (FIG. 13). In this way, in this apparatus, since the output format of the program data can be input from the output format input means through the mouse, the user can obtain the output of the program data in the format that matches the purpose of use.

【0099】また、本装置では、前記出力形式として、
クラスの属性や操作関数を含むクラスデータの表示を選
択することもできる。そして、本装置では、この出力形
式をダイヤグラム表示と併用している。このため、ダイ
ヤグラム表示の状態で所定の操作を行うことによって、
具体的なクラスデータも出力させることができ、プログ
ラム内容の理解性が一層向上する。
In this device, the output format is as follows.
You can also choose to display class data, including class attributes and manipulation functions. In this device, this output format is used in combination with the diagram display. Therefore, by performing the specified operation in the diagram display,
Specific class data can also be output, further improving the understandability of the program contents.

【0100】特に、本装置では、マルチウィンドウの表
示画面において、一のウィンドウに前記ダイヤグラムが
表示され、ユーザが、マウスなどのポインティングデバ
イスでクラスの前記枠に対して所定の操作を行ったとき
に、当該クラスの前記クラスデータが、クラスに対応し
た新たなウィンドウであるサブウィンドウに表示され
る。このため、簡明な操作と理解しやすい形式で、必要
なクラスデータのみを確認することができる。
In particular, in the present apparatus, when the diagram is displayed in one window on the multi-window display screen and the user performs a predetermined operation on the frame of the class with a pointing device such as a mouse. , The class data of the class is displayed in a subwindow which is a new window corresponding to the class. Therefore, it is possible to confirm only the required class data in a simple operation and in an easy-to-understand format.

【0101】続いて、ユーザが、変換態様として、前記
「変換処理」メニューの「操作関数の分配」を選択する
と(図14)、分配すべき関数を選択すべき旨がメッセ
ージ欄に表示され、分配すべき関数を選択できる状態と
なる(ステップ102)。すなわち、ユーザがクラスの
サブウィンドウに表示されている関数を1又は2以上ク
リックすると、クリックされた各関数が選択され、反転
表示される(図15)。また、選択された関数が所属す
るクラス名、当該クラスが持つ関係、及び各関係に関与
する全てのクラスが特定される。このように、本実施例
では、前記操作関数の分配の対象は、関数を単位として
選択することができるので、分配の対象を必要十分な関
数に限定することが容易になる。
Subsequently, when the user selects "Distribution of operation function" from the "Conversion process" menu as the conversion mode (FIG. 14), a message indicating that the function to be distributed should be selected is displayed in the message field. The function to be distributed is selected (step 102). That is, when the user clicks one or more functions displayed in the sub window of the class, each clicked function is selected and highlighted (FIG. 15). Also, the class name to which the selected function belongs, the relationships that the class has, and all the classes involved in each relationship are specified. As described above, in the present embodiment, the distribution target of the operation function can be selected in units of functions, so that it becomes easy to limit the distribution target to necessary and sufficient functions.

【0102】このように関数が選択されると、その関数
の分配先となる子クラスを指定できる状態となり、その
旨がメッセージ欄に表示される(図15)。この状態
で、ユーザが、継承を示すシンボルをクリックすると、
その継承関係が選択され(ステップ103)、その継承
関係に関与する全てのクラスのボックスが反転表示され
る(図16)。
When the function is selected in this way, the child class to which the function is distributed can be specified, and that effect is displayed in the message column (FIG. 15). In this state, when the user clicks the symbol indicating inheritance,
The inheritance relationship is selected (step 103), and boxes of all classes involved in the inheritance relationship are highlighted (FIG. 16).

【0103】なお、図16では、親クラスとしてクラ
ス"Title" が、また、子クラスとして、クラス"DocTitl
e"及び"RtrvTitle" が選択されている。また、親クラ
ス"Title" が持っている int型の操作関数setKey(int i
d)が選択されている。そして、メッセージ欄を用いて変
換処理を実行するか否かが確認される。
In FIG. 16, the class "Title" is used as the parent class and the class "DocTitl" is used as the child class.
"e" and "RtrvTitle" are selected. Also, the int type operation function setKey (int i of the parent class "Title" has
d) is selected. Then, it is confirmed using the message field whether or not the conversion process is executed.

【0104】ユーザが、キー入力など所定の操作によっ
て実行を指示すると(図16)、選択された操作関数
が、選択された子クラスに分配される。すなわち、下位
の選択された全ての(ステップ104)子クラスが順次
特定され(ステップ105)、指定された関数が、上位
の親クラスのクラスデータから、特定された全ての子ク
ラスのクラスデータの関数群にコピーして追加され(ス
テップ106)、その上で、コピー元の関数が親クラス
の関数群から削除される(ステップ107)。その後、
分配によって更新されたデータに基づいてダイヤグラム
が再度描画される(ステップ108、図17)なお、分
配後に、ユーザが子クラスのボックスをクリックすれ
ば、子クラスのクラス定義がサブウィンドウに表示され
るので(図18)、ユーザは、分配の結果を確認するこ
とができる。
When the user instructs execution by a predetermined operation such as key input (FIG. 16), the selected operation function is distributed to the selected child class. That is, all the child classes selected in the lower order (step 104) are sequentially specified (step 105), and the specified function is changed from the class data of the upper parent class to the class data of all the specified child classes. The function is copied and added to the function group (step 106), and then the copy source function is deleted from the function group of the parent class (step 107). afterwards,
The diagram is drawn again based on the data updated by the distribution (step 108, FIG. 17). After the distribution, if the user clicks the box of the child class, the class definition of the child class is displayed in the subwindow. (FIG. 18), the user can confirm the distribution result.

【0105】この図では、親クラス"Title" が持ってい
た int型の操作関数setKey(int id)が個々の子クラス"D
ocTitle"及び子クラス"RtrvTitle" に分配されている。
In this figure, the int type operation function setKey (int id) possessed by the parent class "Title" is the individual child class "D".
ocTitle "and child class" RtrvTitle ".

【0106】[3−2.包含関係・関連の解消] 図19は、変換態様の他の一つである「包含関係・関連
の解消」の手順を示すフローチャートである。この手順
では、まず、ユーザが、「操作関数の分配」で説明した
と同様に、等価変換を行う対象である部分クラスを指定
する(ステップ191、図11、図20)。この指定
は、分配対象とするクラスをポイントして行い(図2
0)、指定されたクラスについてクラス定義がサブウィ
ンドウに表示される。ここで、分配の対象は、さらに関
数を単位として選択してもよく、選択された関数は反転
表示される。
[3-2. Resolution of Inclusion Relationship / Relationship] FIG. 19 is a flowchart showing the procedure of “resolution of inclusion relationship / relationship” which is another conversion mode. In this procedure, the user first specifies the partial class for which the equivalence conversion is to be performed, as described in "Distribution of operation function" (step 191, FIG. 11, FIG. 20). This designation is made by pointing to the class to be distributed (Fig. 2
0), the class definition for the specified class is displayed in the sub-window. Here, the distribution target may be selected in units of functions, and the selected function is highlighted.

【0107】次に、ユーザが、前記「変換処理」メニュ
ーの「包含関係・関連の解消」を選択すると(図2
1)、等価変換すなわち分配の経路となる継承関係を指
定できる状態となる(ステップ192、図22)。この
状態で、ユーザが、継承を示すシンボルをクリックする
と(図22)、その継承関係が選択され、関係データに
基づいてその継承関係に関与する全てのクラスが特定さ
れ、これら各クラスのボックスが反転表示される(図2
3)。
Next, when the user selects "resolve inclusion relation / association" from the "conversion process" menu (FIG. 2).
1) The equivalence conversion, that is, a state in which an inheritance relationship serving as a distribution path can be designated (step 192, FIG. 22). In this state, when the user clicks the symbol indicating inheritance (FIG. 22), the inheritance relationship is selected, all the classes involved in the inheritance relationship are specified based on the relationship data, and the boxes for these classes are displayed. Inverted display (Fig. 2
3).

【0108】次に、ユーザが、キー入力操作など所定の
操作によって実行を指示すると(図23)、前記指定さ
れた(選ばれた)クラスが分配される。すなわち、ま
ず、継承関係の上位クラスと継承関係を有する下位の全
ての(ステップ193)子クラスが順次特定され(ステ
ップ194)、親クラスの属性群から指定されたクラス
のクラス型又は指定されたクラスへのポインタの属性
が、特定された全ての子クラスの属性群にコピーして追
加され(ステップ195)、これらコピーされたデータ
は、親クラスから削除される(ステップ196)。
Next, when the user instructs execution by a predetermined operation such as a key input operation (FIG. 23), the designated (selected) class is distributed. That is, first, all lower child classes (step 193) having an inheritance relationship with the upper class having an inheritance relationship are sequentially specified (step 194), and the class type of the specified class or the specified class is specified from the attribute group of the parent class. The attributes of the pointer to the class are copied and added to the attribute groups of all the specified child classes (step 195), and these copied data are deleted from the parent class (step 196).

【0109】その後、分配によって更新されたデータに
基づいて、ダイヤグラムが再度描画される(ステップ1
97、図24)。この描画では、指定されたクラスと、
継承関係において子クラスである各クラスとが、関係を
表す線やシンボルで直接接続され、継承関係における親
クラスと指定されたクラスとを結合するシンボルが削除
される。
Thereafter, the diagram is drawn again based on the data updated by the distribution (step 1
97, FIG. 24). In this drawing, with the specified class,
Each class that is a child class in the inheritance relationship is directly connected by a line or symbol that represents the relationship, and the symbol that connects the parent class and the designated class in the inheritance relationship is deleted.

【0110】図24では、親クラス"Title" と部分クラ
ス"KeyWord" との包含関係が解消され、クラス"KeyWor
d" がクラス"DocTitle"及び"RtrvTitle" に直接包含さ
れている。
In FIG. 24, the inclusion relationship between the parent class "Title" and the partial class "KeyWord" is resolved, and the class "KeyWor" is deleted.
d "is directly included in the classes" DocTitle "and" RtrvTitle ".

【0111】なお、解消後に、ユーザが各クラスのボッ
クスをクリックすれば、各クラスのクラス定義がサブウ
ィンドウに表示されるので、ユーザは、解消の結果を確
認することができる(図25)。
After the resolution, if the user clicks the box of each class, the class definition of each class is displayed in the sub-window, so that the user can confirm the result of the resolution (FIG. 25).

【0112】[3−3.継承関係の解消] 図26は、変換態様の他の一つである「継承関係の解
消」の手順を示すフローチャートである。この手順で
は、ユーザが、変換態様として、前記「変換処理」メニ
ューの「継承関係の解消」を選択すると(図27)、等
価変換すなわち解消の対象とする継承関係を選択できる
状態となる(ステップ261)。この状態で、ユーザ
が、継承を示すシンボルをクリックすると、その継承関
係が選択され、その継承関係に関与する全てのクラスの
ボックスが反転表示される(図23)。なお、図23で
は、親クラスとしてクラス"Title" が、また、子クラス
として、クラス"DocTitle"及び"RtrvTitle" が選択され
ている。
[3-3. Resolution of Inheritance Relationship] FIG. 26 is a flowchart showing a procedure of “resolution of inheritance relationship” which is another conversion mode. In this procedure, when the user selects "Resolve inheritance relationship" in the "Conversion process" menu as the conversion mode (FIG. 27), the equivalent conversion, that is, the inheritance relationship to be resolved is selected (step). 261). In this state, when the user clicks the symbol indicating inheritance, the inheritance relationship is selected and the boxes of all classes involved in the inheritance relationship are highlighted (FIG. 23). In FIG. 23, the class "Title" is selected as the parent class, and the classes "DocTitle" and "RtrvTitle" are selected as the child classes.

【0113】そして、ユーザが、キー入力操作など所定
の操作によって実行を指示すると(図23)、選択され
た継承関係が解消される。すなわち、まず、継承関係の
親クラスが関係データに基づいて特定され(ステップ2
62)、この親クラスと継承関係を有していた下位の全
ての(ステップ263)子クラスが順次特定され(ステ
ップ264)、親クラスの属性群の値が特定された全て
の子クラスの属性群に(ステップ265)、また、親ク
ラスの関数群の値が特定された全ての子クラスの関数群
に(ステップ266)、それぞれコピーして追加され、
その上で、親クラスが削除される。
Then, when the user instructs execution by a predetermined operation such as a key input operation (FIG. 23), the selected inheritance relationship is canceled. That is, first, the parent class of the inheritance relationship is specified based on the relationship data (step 2
62), all lower child classes (step 263) having an inheritance relationship with this parent class are sequentially specified (step 264), and the values of the attribute groups of the parent class are specified. To the group (step 265) and to the function groups of all the child classes in which the values of the function group of the parent class are specified (step 266), respectively, and added.
Then the parent class is deleted.

【0114】その後、解消によって更新されたデータに
基づいて、ダイヤグラムが再度描画される(ステップ2
67、図28)。この描画では、継承関係において親ク
ラスであったクラスと接続されている各クラスと、継承
関係において子クラスであった各クラスとが、関係を表
す線やシンボルで接続され、上位クラスであったクラス
のボックス、及び、解消された継承関係を表すシンボル
が削除される。
Thereafter, the diagram is drawn again based on the data updated by the resolution (step 2).
67, FIG. 28). In this drawing, each class that was connected to the parent class in the inheritance relationship and each class that was a child class in the inheritance relationship were connected by lines or symbols representing the relationship, and were the superclasses. The class box and the symbol representing the resolved inheritance relationship are deleted.

【0115】なお、解消後に、ユーザが子クラスであっ
たクラスのボックスをクリックすれば、当該クラスのク
ラス定義がサブウィンドウに表示されるので、ユーザ
は、分配の結果を確認することができる(図29)。図
29では、クラス"DocTitle"及び"RtrvTitle" のクラス
定義に、親クラス"Title" が持っていた char*型の属性
KeyWord[21] や int型の操作関数setKey(int id)が独自
の定義として追加されている一方、クラス"Title" とク
ラス"DocTitle"及び"RtrvTitle" の継承関係が削除され
ている。
After the solution, if the user clicks the box of the class that was the child class, the class definition of the class is displayed in the sub window, so that the user can confirm the distribution result (Fig. 29). In FIG. 29, in the class definitions of the classes "DocTitle" and "RtrvTitle", the char * type attribute that the parent class "Title" had
While KeyWord [21] and int type operation function setKey (int id) are added as their own definitions, the inheritance relationship between class "Title" and classes "DocTitle" and "RtrvTitle" has been deleted.

【0116】[4.実施例の効果] 以上のように、本実施例によれば、変換の範囲及び態様
を入力すればクラスデータ及び関係データによって表さ
れるクラス間ネットワーク構造の等価変換が、等価変換
部10によって、自動的に行われる。この等価変換は、
すなわち、プログラムデータによって表されるクラス間
ネットワーク構造が自動的に等価変換されることを意味
するので、プログラム開発の効率や信頼性が向上する。
[4. Effect of Embodiment] As described above, according to the present embodiment, the equivalent conversion of the inter-class network structure represented by the class data and the relational data is performed by the equivalence conversion unit 10 when the conversion range and mode are input. It is done automatically. This equivalent conversion is
That is, it means that the inter-class network structure represented by the program data is automatically equivalently converted, so that the efficiency and reliability of program development are improved.

【0117】また、本実施例によれば、生成部11が、
表示装置2のために表示データをダイヤグラム形式で生
成するので、変換前や変換後のクラスデータ及び関係デ
ータの内容理解が容易になる。
Further, according to this embodiment, the generation unit 11
Since the display data is generated in the diagram format for the display device 2, it is easy to understand the contents of the class data and the relational data before and after the conversion.

【0118】また、本実施例では、ユーザは、ダイヤグ
ラムの出力範囲を指定したり、ダイヤグラムの出力形式
指定できるので、利用目的に合致したダイヤグラムを
得ることができる。
[0118] Further, in this embodiment, the user can specify the output range of the diagram, it is possible to specify the output format of the diagram, it is possible to obtain a diagram that matches the purpose.

【0119】特に、本実施例では、プログラムの内容を
表すプログラムデータとして、プログラムデータそのも
のではなく、各クラスの内容を表すクラスデータや各ク
ラス間関係を表す関係データを用いている。そして、ク
ラスデータや関係データの具体性の程度は自由である。
したがって、プログラムの設計段階のように、プログラ
ムの具体的内容が未決定の段階においても、決定済みの
クラス間ネットワーク構造に対応するこれらデータのみ
を入力すれば、完成したプログラムと同様に等価変換を
行うことができる。
In particular, in this embodiment, as the program data representing the contents of the program, not the program data itself but the class data representing the contents of each class and the relational data representing the relationship between the classes are used. And, the degree of concreteness of the class data and the relational data is free.
Therefore, even when the specific contents of the program are undecided, such as in the design stage of the program, if only these data corresponding to the decided inter-class network structure are input, equivalent conversion will be performed as in the completed program. It can be carried out.

【0120】[5.他の実施例] なお、本発明は上記実施例に限定されるものではなく、
実施態様の変更は自由であるから、次のような他の実施
例をも包含する。例えば、前記実施例では、前記プログ
ラムデータとしてクラスデータ及び関係データを用いた
が、プログラムデータとしては、完成したプログラムの
ソースコードそのものを用いてもよい。また、前記実施
例において、クラスデータ及び関係データはあらかじめ
本装置内に保存されていたものを利用してもよい。
[5. Other Embodiments] The present invention is not limited to the above embodiments,
Since the embodiment can be freely changed, the following other examples are also included. For example, in the above embodiment, the class data and the relational data are used as the program data, but the source code itself of the completed program may be used as the program data. Further, in the above embodiment, the class data and the relational data may be stored in advance in this device.

【0121】また、オブジェクト指向プログラミング言
語の表記文法・クラス間関係・等価変換の態様・表示形
式などの具体的内容は前記実施例に示すものには限定さ
れず、自由に定めることができる。
The specific contents such as the notation grammar of the object-oriented programming language, the relationship between classes, the mode of equivalence conversion, and the display format are not limited to those shown in the above embodiment, and can be freely determined.

【0122】具体的には、各クラスに共通の属性や操作
関数をまとめて上位の抽象クラスを生成し、下位クラス
がこれらを継承するように等価変換を行えば、一覧性に
優れた簡明なプログラムを実現することができる。ま
た、あるクラス間関係の変換を、この関係に連なる多段
のクラス間関係に自動的に及ぼすようにすれば、等価変
換に影響に基づくプログラムの手作業による修正が最小
限となる。
Specifically, if attributes and operation functions common to each class are collected to generate a higher-level abstract class, and equivalent conversion is performed so that the lower-level class inherits these, it is easy to obtain a good list. A program can be realized. Further, if the conversion of a certain interclass relation is automatically applied to the multistage interclass relations linked to this relation, the manual correction of the program due to the influence of the equivalence conversion is minimized.

【0123】また、等価変換の具体的内容、すなわち、
各態様の処理手順や出力形式等を定義する定義手段を設
けた場合には、等価変換の具体的内容をユーザが自由に
決めることができるため、ユーザの利用目的に応じた実
施が容易になる
The concrete contents of the equivalent conversion, that is,
Definition means is provided to define the processing procedure and output format of each mode.
If you do, the user is free to specify the specific contents of the equivalent conversion.
Since it can be decided, the actual
It is easy to apply .

【0124】また、プログラムデータをダイヤグラム形
式によらずに出力してもよい。また、プログラムデータ
としてソースコードそのものを処理する場合、表示形式
として、プログラムテキストそのものを表示するか、プ
ログラムのクラス間ネットワーク構造を表示するかを選
択できるようにしてもよい。
Further, the program data may be output without depending on the diagram format. Further, when the source code itself is processed as the program data, the display format may be selected to display the program text itself or the inter-class network structure of the program.

【0125】[0125]

【発明の効果】以上のように、本発明によれば、クラス
間ネットワーク構造の等価変換を行うオブジェクト指向
プログラミング支援装置を提供することができるので、
ソフトウェア開発の効率や信頼性が向上する。
As described above, according to the present invention, it is possible to provide an object-oriented programming support device that performs equivalent conversion of an inter-class network structure.
Improves software development efficiency and reliability.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の実施例の構成を示す機能ブロック図FIG. 1 is a functional block diagram showing a configuration of an embodiment of the present invention.

【図2】本発明の実施例におけるクラスデータの一般的
形式
FIG. 2 is a general format of class data in the embodiment of the present invention.

【図3】本発明の実施例における関係データの一般的形
FIG. 3 is a general format of relational data according to an embodiment of the present invention.

【図4】本発明の実施例におけるクラスデータの具体例FIG. 4 is a specific example of class data according to an embodiment of the present invention.

【図5】本発明の実施例におけるクラスデータの具体例FIG. 5 is a specific example of class data according to the embodiment of the present invention.

【図6】本発明の実施例におけるクラスデータの具体例FIG. 6 is a specific example of class data according to the embodiment of the present invention.

【図7】本発明の実施例における関係データの具体例FIG. 7 is a specific example of relational data according to the embodiment of the present invention.

【図8】本発明の実施例における処理手順の一例を示す
フローチャート
FIG. 8 is a flowchart showing an example of a processing procedure in the embodiment of the present invention.

【図9】本発明の実施例における画面表示例FIG. 9 is a screen display example according to the embodiment of the present invention.

【図10】本発明の実施例における操作関数の分配の手
順を示すフローチャート
FIG. 10 is a flowchart showing a procedure of distributing operation functions in the embodiment of the present invention.

【図11】本発明の実施例における画面表示例FIG. 11 is a screen display example according to the embodiment of the present invention.

【図12】本発明の実施例における画面表示例FIG. 12 is a screen display example according to the embodiment of the present invention.

【図13】本発明の実施例における画面表示例FIG. 13 is a screen display example according to the embodiment of the present invention.

【図14】本発明の実施例における画面表示例FIG. 14 is a screen display example according to the embodiment of the present invention.

【図15】本発明の実施例における画面表示例FIG. 15 is a screen display example according to the embodiment of the invention.

【図16】本発明の実施例における画面表示例FIG. 16 is a screen display example according to the embodiment of the present invention.

【図17】本発明の実施例における画面表示例FIG. 17 is a screen display example according to the embodiment of the present invention.

【図18】本発明の実施例における画面表示例FIG. 18 is a screen display example according to the embodiment of the present invention.

【図19】本発明の実施例における包含関係・関連の解
消の手順を示すフローチャート
FIG. 19 is a flow chart showing a procedure for resolving an inclusion relation / association according to the embodiment of the present invention.

【図20】本発明の実施例における画面表示例FIG. 20 is a screen display example according to the embodiment of the present invention.

【図21】本発明の実施例における画面表示例FIG. 21 is a screen display example according to the embodiment of the present invention.

【図22】本発明の実施例における画面表示例FIG. 22 is a screen display example according to the embodiment of the invention.

【図23】本発明の実施例における画面表示例FIG. 23 is a screen display example according to an embodiment of the present invention.

【図24】本発明の実施例における画面表示例FIG. 24 is a screen display example according to the embodiment of the present invention.

【図25】本発明の実施例における画面表示例FIG. 25 is a screen display example according to the embodiment of the present invention.

【図26】本発明の実施例における継承関係の解消の手
順を示すフローチャート
FIG. 26 is a flow chart showing the procedure for resolving inheritance relationships in the embodiment of the present invention.

【図27】本発明の実施例における画面表示例FIG. 27 is a screen display example according to the embodiment of the present invention.

【図28】本発明の実施例における画面表示例FIG. 28 is a screen display example according to the embodiment of the present invention.

【図29】本発明の実施例における画面表示例FIG. 29 is a screen display example according to the embodiment of the present invention.

【符号の説明】[Explanation of symbols]

1:キーボード 2:表示装置 3:I/O制御回路 4:クラスデータ入力部 5:関係データ入力部 6:クラスデータファイル 7:関係データファイル 8:変換範囲入力部 9:変換態様入力部 10:等価変換部 11:生成部 12:表示範囲入力部 13:表示形式入力部 STEP:手順の各ステップ 1: Keyboard 2: Display device 3: I / O control circuit 4: Class data input section 5: Relational data input section 6: Class data file 7: Relationship data file 8: Conversion range input section 9: Conversion mode input unit 10: Equivalent conversion unit 11: Generation unit 12: Display range input section 13: Display format input section STEP: Each step of the procedure

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平4−279932(JP,A) 特開 平1−116729(JP,A) 国際公開91/19237(WO,A1) (58)調査した分野(Int.Cl.7,DB名) G06F 9/06 G06F 9/44 ─────────────────────────────────────────────────── ─── Continuation of the front page (56) Reference JP-A-4-279932 (JP, A) JP-A-1-116729 (JP, A) International publication 91/19237 (WO, A1) (58) Fields investigated (Int.Cl. 7 , DB name) G06F 9/06 G06F 9/44

Claims (9)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 クラスの内容を表す属性、操作関数を含
むクラスデータとクラス間関係を表す関係データから構
成され、継承関係を有する親クラスと子クラスを含むク
ラス間ネットワーク構造を表すプログラムデータを入力
する入力手段と、この入力手段から入力されたクラスデ
ータと関係データを記憶する記憶手段と、 前記プログラムデータで表されるクラス間ネットワーク
構造について変換範囲を入力する変換範囲入力手段と、 前記変換範囲に対する変換態様を入力する変換態様入力
手段と、 前記変換範囲の入力及び前記変換態様として操作関数の
分配が入力された場合には、前記記憶手段に記憶された
関係データから変換範囲に該当するクラスを特定し、該
当クラスにおける親クラスのクラスデータの操作関数を
前記親クラスと継承関係を有する子クラスに追加複写
し、前記親クラスの操作関数を削除して、変換前の前記
クラス間ネットワーク構造と等価なクラス間ネットワー
ク構造を表すプログラムデータに変換する変換手段と、 を有することを特徴とするオブジェクト指向プログラミ
ング支援装置。
1. Program data representing an inter-class network structure including a parent class and a child class having an inheritance relationship, which is composed of class data including attributes indicating class contents, operation data, and relationship data indicating inter-class relationships. Input means for inputting, storage means for storing the class data and relational data input from the input means, conversion range input means for inputting a conversion range for the inter-class network structure represented by the program data, and the conversion When a conversion mode input means for inputting a conversion mode for the range and an input of the conversion range and an operation function distribution as the conversion mode are input, the conversion range corresponds from the relational data stored in the storage means. Specify the class and specify the operation function of the class data of the parent class in the relevant class and the inheritance relation with the parent class. A conversion means for additionally copying to a child class having a relation, deleting the operation function of the parent class, and converting into program data representing an interclass network structure equivalent to the interclass network structure before conversion. An object-oriented programming support device.
【請求項2】 クラスの内容を表すクラスデータとクラ
ス間関係を表す関係データから構成され、継承関係を有
する親クラスと子クラスを含むクラス間ネットワーク構
造を表すプログラムデータを入力する入力手段と、 この入力手段から入力されたクラスデータと関係データ
を記憶する記憶手段と、 前記プログラムデータで表されるクラス間ネットワーク
構造について変換範囲を入力する変換範囲入力手段と、 前記変換範囲に対する変換態様を入力する変換態様入力
手段と、 前記変換範囲の入力及び前記変換態様として包含関係ま
たは関連の解消が入力された場合には、前記記憶手段に
記憶された関係データから変換範囲に該当するクラスを
特定し、該当クラスにおける親クラスと包含関係または
関連するクラスのクラスデータを、前記親クラスと継承
関係を有する子クラスとの関係に変更して、変換前の前
記クラス間ネットワーク構造と等価なクラス間ネットワ
ーク構造を表すプログラムデータに変換する変換手段
と、 を有することを特徴とするオブジェクト指向プログラミ
ング支援装置。
2. Class data and class representing content of class
It is composed of relational data that represents the relationships between
Inter-class network structure including parent and child classes
Input means for inputting program data representing a structure, Class data and relational data input from this input means
Storage means for storing Interclass network represented by the program data
A conversion range input means for inputting a conversion range for the structure, A conversion mode input for inputting a conversion mode for the conversion range
Means and The input of the conversion range and the inclusion relation as the conversion mode
Or when the cancellation of the relation is input, the storage means
From the stored relationship data, select the class corresponding to the conversion range
Identify and contain the parent class in the applicable class or
Inherit the class data of the related class from the parent class
Before conversion, change to the relationship with the child class that has the relationship
An inter-class network equivalent to the inter-class network structure
Converted to program data that represents the network structureConversion means
When, Object oriented programming characterized by having
Support device.
【請求項3】 クラスの内容を表すクラスデータとクラ
ス間関係を表す関係データから構成され、継承関係を有
する親クラスと子クラスを含むクラス間ネットワーク構
造を表すプログラムデータを入力する入力手段と、 この入力手段から入力されたクラスデータと関係データ
を記憶する記憶手段と、 前記プログラムデータで表されるクラス間ネットワーク
構造について変換範囲を入力する変換範囲入力手段と、 前記変換範囲に対する変換の態様を入力する変換態様入
力手段と、 前記変換範囲の入力及び前記換態様として継承関係の解
消が入力された場合には、前記記憶手段に記憶された関
係データから変換範囲に該当するクラスを特定し、該当
クラスにおける親クラスのクラスデータを、前記親クラ
スと継承関係を有する子クラスに追加複写し、前記親ク
ラスと子クラスの関係を削除して、変換前の前記クラス
間ネットワーク構造と等価なクラス間ネットワーク構造
を表すプログラムデータに変換する変換手段と、 を有することを特徴とするオブジェクト指向プログラミ
ング支援装置。
3. Input means for inputting program data representing an inter-class network structure including a parent class and a child class having an inheritance relationship, the input means comprising class data representing class contents and relationship data representing inter-class relationships, A storage unit for storing the class data and the relational data input from the input unit, a conversion range input unit for inputting a conversion range for the inter-class network structure represented by the program data, and a conversion mode for the conversion range. When the conversion mode input means for inputting and the input of the conversion range and the resolution of the inheritance relationship as the conversion mode are input, the class corresponding to the conversion range is specified from the relational data stored in the storage means, the class data of the parent class in the relevant class, add double the child class with an inheritance relationship with the parent class Object-oriented, and delete the relationship of the parent class and a child class and a conversion means for converting the program data representing the interclass network structure equivalent to the interclass network structure before the conversion, characterized in that it has a Programming support device.
【請求項4】 クラスの内容を表すクラスデータとクラ
ス間関係を表す関係データから構成され、継承関係を有
する親クラスと子クラスを含むクラス間ネットワーク構
造を表すプログラムデータを入力する入力手段と、 この入力手段から入力されたクラスデータと関係データ
を記憶する記憶手段と、 前記プログラムデータで表されるクラス間ネットワーク
構造について変換範囲を入力する変換範囲入力手段と、 前記変換範囲に対する変換の態様を入力する変換態様入
力手段と、 前記変換範囲として、複数のクラスが入力された場合に
は、前記記憶された関係データから変換範囲に該当する
クラスを特定し、当該クラスに共通する前記クラスデー
タを含む上位の抽象クラスを生成し、下位クラスに前記
生成された上位クラスのクラスデータを継承させて、前
記クラス間ネットワーク構造と等価なクラス間ネットワ
ーク構造を表すプログラムデータに変換する変換手段
と、 を有することを特徴とするオブジェクト指向プログラミ
ング支援装置。
4. The class data and class representing the contents of the class
It is composed of relational data that represents the relationships between
Inter-class network structure including parent and child classes
Input means for inputting program data representing a structure, Class data and relational data input from this input means
Storage means for storing Interclass network represented by the program data
A conversion range input means for inputting a conversion range for the structure, Input the conversion mode for the conversion range
Force means, Conversion rangeMultiple classes were entered asIn case
Corresponds to the conversion range from the stored relational data
The class day that identifies the class and is common to the class
The upper abstract class that includes the
Inherit the class data of the generated superior class,
An inter-class network equivalent to the inter-class network structure
Converted to program data that represents the network structureConversion means
When, Object oriented programming characterized by having
Support device.
【請求項5】 クラスの内容を表す属性、操作関数を含
むクラスデータとクラス間関係を表す関係データから構
成されるクラス間ネットワーク構造を表すプログラムデ
ータを入力する入力手段と、 この入力手段から入力されたクラスデータと関係データ
を記憶する記憶手段と、 前記プログラムデータで表されるクラス間ネットワーク
構造について変換範囲を入力する変換範囲入力手段と、 前記変換範囲に対する変換態様を入力する変換態様入力
手段と、 前記変換範囲の入力に伴い、前記記憶手段に記憶された
関係データを参照して変換範囲に該当するクラスを特定
し、前記入力された変換態様に基づき前記該当クラスの
前記記憶手段に記憶されたクラスデータの追加複写また
は削除または関係データの変更の少なくとも1つを行
い、変換前の前記クラス間ネットワーク構造と等価なク
ラス間ネットワーク構造を表すプログラムデータに変換
する変換手段と、 を有することを特徴とするオブジェクト指向プログラミ
ング支援装置。
5. Input means for inputting program data representing an inter-class network structure composed of class data including attributes and operation functions representing class contents and relationship data representing inter-class relationships, and input from this input means. Means for storing the generated class data and relational data, a conversion range input means for inputting a conversion range for the inter-class network structure represented by the program data, and a conversion mode input means for inputting a conversion mode for the conversion range. With the input of the conversion range, a class corresponding to the conversion range is specified by referring to the relational data stored in the storage unit, and stored in the storage unit of the corresponding class based on the input conversion mode. at least one carried out pre-conversion has been the class data added copied or deleted or relationship data change Object-oriented programming support apparatus characterized by having a conversion means for converting the program data representing a network structure equivalent to between-class network structure between the classes.
【請求項6】 クラスの内容を表すクラスデータとクラ
ス間関係を表す関係データから構成されるクラス間ネッ
トワーク構造を表すプログラムデータを入力する入力手
段と、 この入力手段から入力されたクラスデータと関係データ
を記憶する記憶手段と、 前記プログラムデータで表されるクラス間ネットワーク
構造について変換範囲を入力する変換範囲入力手段と、 前記変換範囲に対する変換態様を入力する変換態様入力
手段と、 前記変換範囲の入力に伴い、前記記憶手段に記憶された
関係データを参照して前記変換範囲に該当するクラスを
特定し、前記入力された変換態様に基づき前記該当クラ
スの前記記憶手段に記憶されたクラスデータまたは関係
データを変更して変換前の前記クラス間ネットワーク構
造と等価なクラス間ネットワーク構造を表すプログラム
データに変換する変換手段と、 を有することを特徴とするオブジェクト指向プログラミ
ング支援装置。
6. Input means for inputting program data representing an inter-class network structure composed of class data representing class contents and relationship data representing inter-class relationships, and relationship with the class data input from this input means. Storage means for storing data; conversion range input means for inputting a conversion range for the inter-class network structure represented by the program data; conversion mode input means for inputting a conversion mode for the conversion range; Along with the input, the class corresponding to the conversion range is specified by referring to the relational data stored in the storage unit, and the class data stored in the storage unit of the corresponding class based on the input conversion mode or An inter-class network equivalent to the inter-class network structure before conversion by changing the relational data Object-oriented programming support apparatus characterized by having a conversion means for converting the program data representing the structure.
【請求項7】 前記関係データはクラス関係を有する各
クラス間に設定される双方向リンクを含むことを特徴と
する請求項1乃至6の何れか一項に記載のオブジェクト
指向プログラミング支援装置。
7. The object-oriented programming support device according to claim 1, wherein the relational data includes a bidirectional link set between each class having a class relation.
【請求項8】 前記プログラムデータをダイヤグラム形
式で出力する出力手段を有し、 前記変換手段における変換前または変換後のプログラム
データで表されるクラス間ネットワーク構造の少なくと
も何れか一方をダイヤグラム形式で出力することを特徴
とする請求項1乃至6の何れか一項に記載のオブジェク
ト指向プログラミング支援装置。
8. An output means for outputting the program data in a diagram format, wherein at least one of an inter-class network structure represented by the program data before or after conversion in the conversion means is output in a diagram format. The object-oriented programming support device according to any one of claims 1 to 6, characterized in that:
【請求項9】 前記変換手段は、前記変換範囲の入力に
伴い、前記記憶手段に記憶された関係データを参照して
前記変換範囲に該当するクラスおよびこのクラスと関係
を有する他のクラスを特定し、前記入力された変換態様
に基づいて前記該当クラスの前記関係データの変更を前
記他のクラスに波及させることを特徴とする請求項5ま
たは6に記載のオブジェクト指向プログラミング支援装
置。
9. The conversion means specifies a class corresponding to the conversion range and another class having a relationship with this class by referring to the relational data stored in the storage means in accordance with the input of the conversion range. The object-oriented programming support device according to claim 5 or 6, wherein the change of the relational data of the corresponding class is propagated to the other classes based on the input conversion mode.
JP07620094A 1993-04-14 1994-04-14 Object-oriented programming support device and object-oriented programming support method Expired - Lifetime JP3447365B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP07620094A JP3447365B2 (en) 1993-04-14 1994-04-14 Object-oriented programming support device and object-oriented programming support method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP8726593 1993-04-14
JP5-87265 1993-04-14
JP07620094A JP3447365B2 (en) 1993-04-14 1994-04-14 Object-oriented programming support device and object-oriented programming support method

Publications (2)

Publication Number Publication Date
JPH06348499A JPH06348499A (en) 1994-12-22
JP3447365B2 true JP3447365B2 (en) 2003-09-16

Family

ID=26417352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP07620094A Expired - Lifetime JP3447365B2 (en) 1993-04-14 1994-04-14 Object-oriented programming support device and object-oriented programming support method

Country Status (1)

Country Link
JP (1) JP3447365B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4588295B2 (en) 2000-12-08 2010-11-24 富士通株式会社 Sequence analysis method and sequence analysis apparatus
JP5025098B2 (en) * 2005-06-07 2012-09-12 キヤノン株式会社 Object-oriented program generation apparatus and information processing method
JP5636017B2 (en) * 2012-03-19 2014-12-03 日本電信電話株式会社 Class diagram creation device and class diagram creation program
JP5952716B2 (en) * 2012-11-02 2016-07-13 日本電信電話株式会社 Class diagram conversion device and class diagram conversion program
JP6655524B2 (en) * 2016-11-11 2020-02-26 日本電信電話株式会社 Network management device, method and program
CN117581167A (en) * 2021-12-21 2024-02-20 三菱电机株式会社 Programming support program, programming support device, and programming support method

Also Published As

Publication number Publication date
JPH06348499A (en) 1994-12-22

Similar Documents

Publication Publication Date Title
Reiss Interacting with the FIELD environment
Wasserman et al. A graphical, extensible integrated environment for software development
JP3136035B2 (en) Automatic layout generator for database system interface and method for generating the same
JP3014284B2 (en) Dialog box display method and system
JP2008512794A (en) Object processing graph application development system
JP2003140897A (en) Resource file builder tool and computer readable code
JP2000048016A (en) Format and display method for text executable on computer processor, computer device capable of formatting and displaying text and computer readable storage medium storing program capable of formatting and displaying text, and method for adding new style to text editor capable of formatting and displaying text
JP2002189595A (en) Integrated method for creating refreshable web query
JPH09222977A (en) Method based on rule of user interface design for application and device therefor
US9817811B2 (en) Web server system, dictionary system, dictionary call method, screen control display method, and demonstration application generation method
US7603624B2 (en) System and method for styling content in a graphical user interface control
US20050060685A1 (en) Program generator
JPH11353077A (en) Display device, image display method and graphic user interface
US6070006A (en) Object oriented software development tool for creation of new class(es)
KR950012084B1 (en) Display generating method and system therefor
US20110126171A1 (en) Dynamic native editor code view facade
JP3447365B2 (en) Object-oriented programming support device and object-oriented programming support method
Koivunen et al. HutWindows: an improved architecture for a user interface management system
EP0692112B1 (en) Dynamic browser system
CN114003226A (en) Layered distributed graphic design system
JP3372106B2 (en) Program debug device
JPH064280A (en) Graphical user interface having function of user control for object with wysiwyg type editor
Noble et al. Functional languages and graphical user interfaces: a review and a case study
JPH0683594A (en) Graphical user interface, wherein withy-wig type edditer and compiler are integrated
Bovey A debugger for a graphical workstation

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080704

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090704

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090704

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100704

Year of fee payment: 7