JPH06124197A - Software structure analysis supporting system - Google Patents

Software structure analysis supporting system

Info

Publication number
JPH06124197A
JPH06124197A JP4276107A JP27610792A JPH06124197A JP H06124197 A JPH06124197 A JP H06124197A JP 4276107 A JP4276107 A JP 4276107A JP 27610792 A JP27610792 A JP 27610792A JP H06124197 A JPH06124197 A JP H06124197A
Authority
JP
Japan
Prior art keywords
class
information
display
classes
registered
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.)
Pending
Application number
JP4276107A
Other languages
Japanese (ja)
Inventor
Akihiro Yamashiro
明宏 山城
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 JP4276107A priority Critical patent/JPH06124197A/en
Publication of JPH06124197A publication Critical patent/JPH06124197A/en
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To suitably support the structure analysis of an application program by always properly maintaining and clearly displaying the structure of relation between classes and objects from those objects even when changing the defini tion or structure of those classes. CONSTITUTION:A source code describing the class structure and the relation of class/object is applied to a class/object registering device 1. At the registering device 1, the source code is analyzed, and class information and class structure information is written to a class structure information data base 2. On the other hand, object information and class/object information is written to a class/object related information data base 3. At a class/object information processor 4, the data bases 2 and 3 are retrieved, and the result is written in a display information memory 5 and monitored back to a display/input controller 7. A user confirms the reaction of the system corresponding to a user request such as 'display the list of information for a certain object' or 'display the list of operation functions for a certain class' or the like.

Description

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

【0001】[0001]

【産業上の利用分野】この発明は、ソフトウェアの開発
や保守に際してそのソフトウェア構造の解析作業を支援
するソフトウェア構造解析支援システムに関し、特に、
オブジェクト指向プログラミングによってプログラムさ
れたソフトウェアについて、そのオブジェクトからみた
オブジェクトとクラスの関係構造解析を支援するに好適
なシステムの具現に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a software structure analysis support system for supporting software structure analysis work in software development and maintenance, and more particularly,
The present invention relates to implementation of a system suitable for supporting the relation structure analysis of objects and classes in terms of software programmed by object-oriented programming.

【0002】[0002]

【従来の技術】オブジェクト指向プログラミングとは周
知のように、計算機記憶装置上に割り当てられた時点で
値をもつことができる属性群(データ群)とその属性群
の値を操作する操作関数群(メソッド群)とをまとめた
概念上の単位であるクラスを予め定義するとともに、該
クラスを型として、その1つのクラス、若しくは上記操
作関数群が階層的に継承された複数のクラスによる修飾
(宣言)によって、その実体であるオブジェクトを生成
し、これら生成したオブジェクト同士の計算機記憶装置
上での情報(メッセージ)のやり取りを記述することに
よってソフトウェア(プログラム)開発を行うプログラ
ミング手法である。
2. Description of the Related Art As is well known as object-oriented programming, a group of attributes (data group) that can have a value at the time of being assigned to a computer storage device and a group of operation functions (for operating values of the attribute group ( Method is defined in advance as a conceptual unit that is a group of methods, and that class is used as a type to modify (declare) one class or a plurality of classes in which the operation function groups are hierarchically inherited. ) Is a programming method for developing software (program) by creating an object that is the entity of the object and describing the exchange of information (message) on the computer storage device between these created objects.

【0003】また、このようなオブジェクト指向による
プログラミングが、 ・プログラムの再利用を容易とする。
Further, such object-oriented programming makes it easy to reuse a program.

【0004】・これにより、ソフトウェアの開発効率も
著しく向上される。
-Thus, the development efficiency of software is significantly improved.

【0005】等の理由によって、近年大いに注目されて
いるプログラミング手法であることもよく知られてい
る。
It is also well known that it is a programming technique that has received a great deal of attention in recent years due to the above reasons.

【0006】ところで、いわゆる手続き型のプログラミ
ング言語を用いる伝統的なプログラム開発環境では、ク
ロスリファレンスという考え方があり、例えば特定のデ
−タをアクセスする処理の一覧や特定の処理がアクセス
するデ−タの一覧を表示する機能が、ソフトウェア開発
/保守支援環境の一部として提供されている。
By the way, in a traditional program development environment using a so-called procedural programming language, there is a concept of cross reference. For example, a list of processes that access specific data or data accessed by specific processes. The function to display the list is provided as part of the software development / maintenance support environment.

【0007】一方、オブジェクト指向型のプログラミン
グ言語を用いる近年のプログラム開発環境にあっても、
こうしたクロスリファレンスという考え方とは異なるも
のの、ブラウザ型の部品検索ツ−ルとして、再利用可能
な部品一覧の中から特定の部品を選択することによりそ
の部品の内容/利用法を表示する機能が、ソフトウェア
開発支援環境の一部として提供されつつある。
On the other hand, even in a recent program development environment using an object-oriented programming language,
Although it is different from the concept of cross reference, as a browser-type parts search tool, the function to display the content / usage of a part by selecting a specific part from the list of reusable parts is available. It is being provided as part of the software development support environment.

【0008】例えば、こうしたオブジェクト指向型プロ
グラミング言語の1つであるSmalltalk(スモ
ールトーク)ではクラス階層ブラウザという機能を提供
しており、クラスの一覧表示と、該一覧項目から、個々
のクラスで定義される属性、操作の詳細を確認/変更す
ることが可能となっている。ただし、このクラス階層ブ
ラウザが保持する情報とはクラスの情報のみであって、
実際にアプリケ−ションプログラムの文脈中で定義され
るオブジェクトと既存のクラスとの関係等は、このクラ
ス階層ブラウザには保持されない。このため、クラスに
変更があった場合に、クラス間での変更の波及範囲は特
定できても、そのオブジェクトへの波及範囲までは特定
できないのが普通である。
[0008] For example, Smalltalk, which is one of such object-oriented programming languages, provides a function called a class hierarchy browser, which displays a list of classes and defines individual classes from the list items. It is possible to confirm / change the attributes and details of operations. However, the information held by this class hierarchy browser is only the class information,
The relationship between the objects actually defined in the context of the application program and the existing classes is not retained in this class hierarchy browser. Therefore, when there is a change in a class, the range of change between classes can be specified, but the range of spread to the object cannot be specified.

【0009】[0009]

【発明が解決しようとする課題】オブジェクト指向プロ
グラミングでは上述のように、オブジェクト同士の情報
(メッセージ)のやりとりを記述することによってプロ
グラムを開発する。
As described above, in object-oriented programming, a program is developed by describing the exchange of information (message) between objects.

【0010】ここで、オブジェクトは抽象デ−タ型を実
現するものであるから、デ−タの変更があっても、その
波及範囲は個々のオブジェクト内部に特定されると一般
にはいわれている。しかしながら、クラスの定義や構造
に不具合があった場合には、その変更は多数のオブジェ
クトに影響を与えることとなる。このような事態は、プ
ログラム開発や保守の工程では当然起こり得ることに加
え、近年提案されているオブジェクト指向ソフトウェア
分析(OOA)工程においても、クラスの定義や構造が
最初から特定できずに分析の過程でこれらが変更される
ことは多い。
Here, since an object realizes an abstract data type, it is generally said that, even if the data is changed, its ripple range is specified within each object. However, if there is a defect in the class definition or structure, the change will affect many objects. Such a situation naturally occurs in the process of program development and maintenance, and even in the recently proposed object-oriented software analysis (OOA) process, the class definition and structure cannot be specified from the beginning and the analysis is not performed. These are often changed in the process.

【0011】したがって、こうしたオブジェクト指向プ
ログラミングを前提としたソフトウェアの開発におい
て、クラス階層の変更とそれに伴う関連するオブジェク
トへの該変更の波及は、ソフトウェア開発のどの工程に
おいても頻繁に発生する可能性を秘めている。
Therefore, in software development based on such object-oriented programming, the change of the class hierarchy and the spillover of the change to the related objects due to the change may occur frequently in any process of software development. I have a secret.

【0012】ここに従来は、上述のようなクラス階層ブ
ラウザを通じて、クラスの一覧表示並びにその一覧項目
からの個々のクラスで定義される属性及び操作の詳細の
確認/変更が可能であったとはいえ、こうしてクラスの
定義や構造が変更された場合には、その関連するオブジ
ェクトへの波及範囲まではこれを特定し、その内容を確
認することができなかったことから、アプリケーション
プログラム全体としてのソフトウェア構造を適切に解析
し、その振舞いを正確に把握することは至難の作業とな
っていた。
Heretofore, it has been possible to display the list of classes and confirm / change the details of attributes and operations defined by each class from the list items through the class hierarchy browser as described above. , When the definition or structure of the class is changed in this way, it was not possible to identify and confirm the contents to the related object's spillover range, so the software structure of the application program as a whole. It was a difficult task to properly analyze the behavior and grasp its behavior accurately.

【0013】この発明は、こうした実情に鑑みてなされ
たものであり、オブジェクト指向プログラミングによっ
てプログラムされたソフトウェアについて、たとえクラ
スの定義や構造が変更される場合であっても、それらク
ラスとオブジェクトとの関係構造を常に適正に維持し、
且つこれを明確に表示して、アプリケーションプログラ
ム全体としての構造解析を好適に支援するソフトウェア
構造解析支援システムを提供することを目的とする。
The present invention has been made in view of these circumstances, and in software programmed by object-oriented programming, even if the definition or structure of a class is changed, the class and the object are Always maintain proper relationship structure,
Moreover, it is an object of the present invention to provide a software structural analysis support system that clearly displays this and suitably supports the structural analysis of the entire application program.

【0014】[0014]

【課題を解決するための手段】こうした目的を達成する
ため、この発明では、上記オブジェクト指向プログラミ
ングによってプログラムされたソフトウェアを前提に、
( a)それぞれ構造解析の対象となるソフトウェアについ
てその定義されたクラス、及びこれらクラス同士の従属
関係を示すクラス構造が登録される第1のデータベー
ス、( b)同ソフトウェアについてその生成されたオブジ
ェクトのオブジェクト名、及びこれら各オブジェクトの
上記クラス修飾による具象化態様が登録される第2のデ
ータベース、( c)これら第1及び第2のデータベースに
登録された各種情報を可視表示するための表示手段、(
d)第1及び第2のデータベースに登録された全てのクラ
ス、及び全てのオブジェクトについてその一覧を表示手
段に表示する第1の表示制御手段、( e)第1のデータベ
ースに登録された全てのクラスを対象に、適宜ユーザ指
定されるオブジェクトに関連する1乃至複数のクラスを
第2のデータベースに登録された当該オブジェクトの具
象化態様及び第1のデータベースに登録されたクラス構
造に基づき検索してこれを表示手段に識別表示する第2
の表示制御手段、をそれぞれ具えて当該システムを構成
するようにする。
In order to achieve these objects, the present invention is premised on software programmed by the above object-oriented programming.
(a) A first database in which the classes defined for each piece of software to be structurally analyzed, and a class structure indicating the dependency relationships between these classes are registered, (b) the objects of the generated objects for the same software. A second database in which the object name and the reification form of each of the objects by class modification are registered, (c) display means for visually displaying various information registered in the first and second databases, (
d) first display control means for displaying a list of all classes and all objects registered in the first and second databases on the display means, and (e) all classes registered in the first database. A class is searched for one or a plurality of classes related to an object designated by a user based on the concrete aspect of the object registered in the second database and the class structure registered in the first database. Second for identifying and displaying this on the display means
The display control means of 1 is provided to configure the system.

【0015】[0015]

【作用】このシステムでは上記のように、解析対象ソフ
トウェアで定義されたクラス、及びこれらクラス同士の
従属関係を示すクラス構造を( a)の第1のデータベース
を通じて管理することに加え、そのアプリケーションプ
ログラムとしての文脈中でその都度宣言、生成されたオ
ブジェクトについても、そのオブジェクト名、及びこれ
ら各オブジェクトの上記クラス修飾による具象化態様を
( b)の第2のデータベースを通じて管理するようにして
いる。ここで、上記クラス同士の従属関係を示すクラス
構造とは、各クラスの親子関係を示すべくこれらクラス
間に張られた双方向リンク構造に他ならず、また、上記
各オブジェクトのクラス修飾による具象化態様とは、各
オブジェクトのそれぞれ関係するクラスとの間に張られ
た双方向リンク構造に他ならない。
In this system, as described above, in addition to managing the classes defined in the analysis target software and the class structure showing the dependency relationships between these classes through the first database of (a), its application program In each context, the object name of each object that is declared and created, and the concrete aspect of each of these objects by the above class qualification,
It is managed through the second database in (b). Here, the class structure showing the dependency relationship between the classes is nothing but a bidirectional link structure formed between these classes to show the parent-child relationship of each class, and the concrete structure by class modification of each object. The form of conversion is nothing but a bidirectional link structure that is set up between each object and each related class.

【0016】上記( d)の第1の表示制御手段とは、上記
対象となるソフトウェアの構造を解析するための初期画
面として、上記登録された全てのクラス及びオブジェク
トについてその一覧を( c)の表示手段に表示するもので
あり、また、上記( e)の第2の表示制御手段とは、上記
第1のデータベースに登録されている各クラスの親子関
係を保持する双方向リンクを上向き(子から親の向き)
に辿り、且つ上記第2のデータベースに登録されている
オブジェクトとクラスの関係を保持する双方向リンクを
上向き(オブジェクトからクラスの向き)に辿ることに
よって、ユーザ指定された特定のオブジェクトからクラ
ス群を見た場合に、どのクラスが該特定のオブジェクト
から利用(継承)されているのかを、同表示手段に識別
表示するものである。
The (d) first display control means is a list of all the registered classes and objects described in (c) as an initial screen for analyzing the structure of the target software. The second display control means of (e) above displays a bidirectional link holding the parent-child relationship of each class registered in the first database upward (child To parent direction)
And a two-way link that holds the relationship between the object and the class registered in the second database in the upward direction (from the object to the class), the class group from the specific object specified by the user. When viewed, which class is being used (inherited) from the specific object is displayed on the display means in an identifying manner.

【0017】したがって、たとえ上記クラスの定義や構
造が変更されても、その変更されたプログラムを該解析
対象のソフトウェアとして上記第1及び第2のデータベ
ースに登録し、あとは解析を所望する任意のオブジェク
トを適宜指定するのみで、該オブジェクトからみたオブ
ジェクトとクラスとの関係構造が適正に識別表示される
こととなり、ひいてはそれらオブジェクトがクラスから
継承できる情報も容易に把握することができるようにな
る。
Therefore, even if the definition or structure of the class is changed, the changed program is registered in the first and second databases as the software to be analyzed, and after that, any arbitrary analysis is desired. By simply specifying the object as appropriate, the relationship structure between the object and the class viewed from the object can be properly identified and displayed, and the information that the objects can inherit from the class can be easily grasped.

【0018】なお、上記構成に加えて更に、( f)上記識
別表示される個々のクラスを対象に、当該オブジェクト
が利用できるこれらクラスの操作関数群を第1のデータ
ベースに登録されたクラス及びクラス構造に基づき検索
してこれを表示手段に識別表示する第3の表示制御手
段。を併せ具えるようにすれば、こうしたオブジェクト
がクラスから継承できる情報の把握をより一層的確なも
のとすることができるようにもなる。
In addition to the above configuration, (f) a class and a class in which an operation function group of these classes that can be used by the object is registered in the first database for each of the identified and displayed classes. Third display control means for searching based on the structure and identifying and displaying this on the display means. By including the above, it becomes possible to more accurately grasp the information that these objects can inherit from the class.

【0019】因みにこの場合、該第3の表示制御手段と
は、同ユーザ指定された特定のオブジェクトに関して、
上記第2のデータベースに登録されたクラスとオブジェ
クトの関係を辿るとともに、上記第1のデータベースに
登録されたクラスの親子関係を辿ることにより、オブジ
ェクトの直接の親となるクラスで定義される操作関数に
加え、更にその親の操作関数、また更にその親の操作関
数というように、一番最初の親まで繰り返し操作関数の
検索を行って、新たな操作関数が見つかる都度操作関数
の一覧の登録内容を追加していくことで、最終的な操作
関数の一覧を同表示手段に識別表示するものである。
Incidentally, in this case, the third display control means refers to a specific object designated by the user.
By tracing the relationship between the class and the object registered in the second database and tracing the parent-child relation of the class registered in the first database, the operation function defined in the class that is the direct parent of the object In addition to the parent operation function, and further the parent operation function, it repeats the search for the operation function up to the first parent, and the registered contents of the operation function list each time a new operation function is found. Is added to identify the final list of operation functions on the display means.

【0020】また、上記第1及び第2のデータベースに
登録される情報及びそのリンク構造によれば、従来のよ
うな各クラス毎に定義されている操作関数の一覧表示は
もとより、例えば上記第1のデータベースに登録された
親子間に張られたリンクを上から下に辿ることによっ
て、それら操作関数のうち、子クラスで再定義されてい
ない操作関数のみを区別してこれを識別表示したりする
こともできる。
Further, according to the information registered in the first and second databases and the link structure thereof, not only the conventional display of the list of operation functions defined for each class, but also, for example, the first By tracing the link between the parent and child registered in the database of above from top to bottom, among these operation functions, only the operation functions that have not been redefined in the child class can be distinguished and displayed. You can also

【0021】また、各オブジェクトに対してそこで利用
できる属性や操作関数群を確認したいといった場合で
も、それら情報の一覧表示や、どの情報がどのクラスか
ら継承されているか等についての識別表示を行うことも
でき、容易にその確認をすることができるようになる。
Further, even when it is desired to confirm the attributes and operation functions available for each object, a list display of such information and an identification display as to which information is inherited from which class and the like are displayed. You can also check it easily.

【0022】因みに従来は、個々のクラスの仕様、実装
を前記ブラウザのような環境で確認するのに、個々のク
ラス毎に定義される属性とその操作関数群さえ1度に見
ることができれば十分であり、親クラスから継承すべき
情報が子クラスで再定義され、実際には子クラスに継承
されなかったとしても、親クラスの情報は親クラス、子
クラスの情報は子クラスでそれぞれ別途に確認すること
ができればよい、という方針のもとに情報の表示制御が
行われており、こうした子クラスで再定義されていない
操作関数の識別表示や、どの情報がどのクラスから継承
されているか等についての識別表示すら行うことができ
なかった。
Incidentally, conventionally, in order to confirm the specifications and implementations of individual classes in an environment such as the browser, it is sufficient to be able to see even the attributes defined for each class and their operation function groups at once. Therefore, even if the information that should be inherited from the parent class is redefined in the child class and is not actually inherited in the child class, the parent class information is the parent class and the child class information is the child class separately. Information display control is performed based on the policy that it is necessary to be able to confirm, such as identification display of operation functions that are not redefined in such child classes, and which information is inherited from which class. Could not even be identified.

【0023】[0023]

【実施例】図1に、この発明にかかるソフトウェア構造
解析支援システムについて、その一実施例を示す。
FIG. 1 shows an embodiment of a software structure analysis support system according to the present invention.

【0024】すなわちこのシステムは、前述したオブジ
ェクト指向型のプログラミング言語によって記述された
ソフトウェアの構造解析を支援するものであって、この
うち同図1に示されるクラス/オブジェクト登録装置1
は、このオブジェクト指向型のプログラミング言語とし
て例えば、Smalltalk(スモールトーク)、C
++(シー・プラスプラス)、Objective−C
(オブジェクティブ・シー)等のうちの任意の言語に対
応してその文法や構文を解釈するアルゴリズムを具え、
その対応する言語で記述されたソースコードが入力され
ることにより、該ソースコードを字句解析しつつ、( A)
そこで定義されているクラス名、及びこれら各クラス毎
に定義されている属性(データ)群、並びにこれら属性
群を操作するための操作関数(メソッド)群等からなる
クラス情報、( B)これらクラス同士の親子関係を示すク
ラス構造情報、( C)生成されたオブジェクト名、及びそ
れらオブジェクトが定義されているソースファイル名、
それらオブジェクトの該ソースファイル上での定義/利
用箇所(行数番号)情報等からなるオブジェクト情報、
( D)これらオブジェクトがどのクラスを親として具象化
されているか、その具象化態様を示すクラス−オブジェ
クト関連情報、をそれぞれ抽出し、これら抽出した情報
のうち、( A)のクラス情報、及び( B)のクラス構造情報
についてはこれをクラス構造情報データベース2に登録
し、( C)のオブジェクト情報、及び( D)のクラス−オブ
ジェクト関連情報についてはこれをクラス−オブジェク
ト関連情報データベース3に登録する装置である。な
お、クラス構造情報データベース2に登録される上記ク
ラス情報やクラス構造情報に関しては、ライブラリ、す
なわちクラス・ライブラリでの定義も含まれるものとす
る。このクラス・ライブラリでの定義内容に関しては、
上記ソースコード入力以前の予登録が可能である。また
ここで、上記クラス構造情報とは、各クラスの親子関係
を示すべくこれらクラス間に張られた双方向リンク構造
を示すものであって、クラス構造情報データベース2に
は、そのリンク構造が例えば参照テーブルとして記述登
録され、また上記クラス−オブジェクト関連情報も、各
オブジェクトのそれぞれ関係するクラスとの間に張られ
た双方向リンク構造を示すものであって、クラス−オブ
ジェクト関連情報データベース3には、そのリンク構造
がこれも例えば参照テーブルとして記述登録される。
That is, this system supports the structural analysis of the software described by the above-mentioned object-oriented programming language, of which the class / object registration device 1 shown in FIG.
Is an object-oriented programming language such as Smalltalk, C
++ (Sea Plus Plus), Objective-C
It has an algorithm that interprets its grammar and syntax corresponding to any language such as (Objective Sea).
By inputting the source code described in the corresponding language, while lexically analyzing the source code, (A)
Class information consisting of the class names defined there, the attributes (data) group defined for each of these classes, and the operation functions (methods) group for operating these attribute groups, etc. (B) These classes Class structure information indicating parent-child relationship between each other, (C) generated object name, and source file name where these objects are defined,
Object information including definition / usage location (line number number) information of those objects on the source file,
(D) which class the object is reified with, and class-object related information indicating the reification mode are respectively extracted, and among these extracted information, the class information of (A), and ( The class structure information of (B) is registered in the class structure information database 2, and the object information of (C) and the class-object related information of (D) are registered in the class-object related information database 3. It is a device. The class information and class structure information registered in the class structure information database 2 also include definitions in a library, that is, a class library. Regarding the definition contents in this class library,
Pre-registration before inputting the above source code is possible. Further, here, the class structure information indicates a bidirectional link structure that is set up between the classes to show the parent-child relationship of each class. The class-object relation information is described and registered as a reference table, and the above-mentioned class-object relation information also indicates a bidirectional link structure extended between each object and its related class. The link structure is also described and registered as a reference table, for example.

【0025】また、同図1に示されるクラス/オブジェ
クト情報処理装置4は、上記クラス構造情報データベー
ス2に登録されたクラスの一覧、及びクラス−オブジェ
クト関連情報データベース3に登録されたオブジェクト
の一覧を表示情報メモリ5に書き出し、それらをウィン
ドウ管理装置6を通じて表示/入力制御装置7に可視表
示させるとともに、ウィンドウ管理装置6から与えられ
るイベント情報、すなわちマウスやキーボード等の入力
装置を通じてユーザ入力された指令(ここではクラスや
オブジェクト等の指定)内容に応じて上記クラス構造情
報データベース2及びクラス−オブジェクト関連情報デ
ータベース3を検索し、その検索結果として、 ・特定の1乃至複数のクラス ・特定の1乃至複数のオブジェクト ・特定の1乃至複数のクラス若しくはオブジェクトに関
連する操作関数群 ・それら操作関数の実装 ・特定の1乃至複数のクラス若しくはオブジェクトに関
連する属性群 等々についての情報を獲得する装置である。これら獲得
された情報についても、それらを適宜識別せしめる情報
が表示情報メモリ5に書き込まれ、それらが上記と同
様、ウィンドウ管理装置6を通じて表示/入力制御装置
7に可視表示されるようになる。
The class / object information processing apparatus 4 shown in FIG. 1 displays a list of classes registered in the class structure information database 2 and a list of objects registered in the class-object relation information database 3. The information is written in the display information memory 5, and the display / input control device 7 visually displays them through the window management device 6, and at the same time, event information given from the window management device 6, that is, a command input by a user through an input device such as a mouse or a keyboard. The class structure information database 2 and the class-object relation information database 3 are searched according to the contents (here, designation of a class, an object, etc.), and the search results are as follows: -specific 1 to multiple classes-specific 1 to Multiple objects ・ Specific 1 to A device for obtaining information about its attribute so related to the implementation-specific one or a plurality of classes or objects in the operation function group, their operation functions related to the number of classes or objects. As for these acquired information, information for appropriately identifying them is written in the display information memory 5, and the information can be visually displayed on the display / input control device 7 through the window management device 6 as in the above.

【0026】ここで、上記表示情報メモリ5とは、その
都度の可視表示情報が一時的に格納される例えばVRA
M(ビデオ・ランダムアクセスメモリ)等からなる記憶
装置であり、また上記ウィンドウ管理装置6とは、ワー
クステーションやパーソナルコンピュータ等の1つの表
示装置画面中に、各種作業(データの表示や処理)を行
うための1乃至複数の窓、すなわちウィンドウを定義
し、これら定義したウィンドウを通して複数の各別のデ
ータを同時に表示したり、或いは同一のデータを各種異
なる形態で表示したりして、これら表示されるデータ間
(場合によってはインアクティブなウィンドウ上にあっ
て直接には表示されないデータもある)での統一された
処理環境を提供する装置であり、そして上記表示/入力
制御装置7とは、このウィンドウ管理装置6による管理
のもとに、CRTディスプレイ装置等に上記ウィンドウ
やそれらウィンドウで扱われるデータ、メッセージ等を
可視表示するとともに、上記マウスやキーボード等の入
力装置を通じたユーザ指令の内容(イベント)を解釈し
てこれをウィンドウ管理装置6に伝達する、いわばユー
ザ・インターフェースを司る装置である。これらの装置
は何れも周知であり、これら装置についてのここでの改
めての説明は割愛する。
Here, the display information memory 5 is, for example, a VRA in which visible display information for each time is temporarily stored.
The window management device 6 is a storage device including M (video / random access memory) and the like, and the window management device 6 can perform various operations (display and processing of data) on one display device screen such as a workstation or a personal computer. One or a plurality of windows to be performed, that is, windows are defined, and a plurality of different data are simultaneously displayed through the defined windows, or the same data is displayed in various different forms. Is a device that provides a unified processing environment between the data (some of which are on inactive windows and may not be directly displayed), and the display / input control device 7 is Under the control of the window management device 6, the above windows and those windows are displayed on a CRT display device or the like. A device that controls the user interface, which visually displays handled data, messages, and the like, interprets the contents (events) of the user command through the input device such as the mouse and keyboard, and transmits this to the window management device 6. Is. All of these devices are well known and will not be described again here.

【0027】次に、この実施例システムの動作について
説明する。
Next, the operation of this embodiment system will be described.

【0028】このシステムは基本的に、以下の3つのフ
ェーズで利用される。 ( 1)クラス、オブジェクトの登録 ( 2)クラス、オブジェクトの情報の初期表示 ( 3)ユーザの指示に対する、クラス、オブジェクトの情
報の表示 以下、これらフェーズに従って、その利用態様、及びそ
れに伴う該実施例システムの動作を説明する。
This system is basically used in the following three phases. (1) Registration of class and object (2) Initial display of class and object information (3) Display of class and object information in response to user's instructions Hereinafter, according to these phases, usage modes and accompanying embodiments The operation of the system will be described.

【0029】( 1)クラス、オブジェクトの登録 ここでは、クラスの構造とクラス/オブジェクトの関係
が書かれている上記のソースコードをクラス/オブジェ
クト登録装置1に対して与える。
(1) Registration of Class and Object Here, the above source code in which the structure of the class and the relationship between the class and the object are written is given to the class / object registration device 1.

【0030】これによりクラス/オブジェクト登録装置
1では上述したように、このソースコードを解析して、
個々のクラスのクラス情報、及びそれらクラスのクラス
構造情報をクラス構造情報データベース2に書き出し、
また、個々のオブジェクトのオブジェクト情報、及びそ
れらオブジェクトと上記クラスとの間のクラス−オブジ
ェクト関連情報についてはこれをクラス−オブジェクト
関連情報データベース3に書き出す。
As a result, the class / object registration device 1 analyzes this source code as described above,
Write the class information of each class and the class structure information of those classes to the class structure information database 2,
Also, regarding the object information of each object and the class-object related information between those objects and the above-mentioned class, this is written in the class-object related information database 3.

【0031】図2、及び図3に、これら書き出されたと
するクラス情報、クラス構造情報、オブジェクト情報、
及びクラス−オブジェクト関連情報について、それらの
一例を模式的に示す。
2 and 3, class information, class structure information, object information, which are assumed to have been written out,
And about class-object related information, an example thereof is schematically shown.

【0032】因みに図2は、クラスとして「class-0
」、「class-1 」、「class-11」、「class-2 」、「c
lass-3 」、「class-31」、「class-32」、「class-4
」、及び「class-5 」とともに、それらの親子関係
(クラス構造)が ・「class-0 」←「class-1 」←「class-11」 ・「class-0 」←「class-2 」 ・「class-0 」←「class-3 」←「class-31」 ・「class-0 」←「class-3 」←「class-32」 ・「class-0 」←「class-4 」 ・「class-0 」←「class-5 」 として、クラス構造情報データベース2に登録され、ま
たオブジェクト「object-01 」、「object-02 」、「ob
ject-03 」、…「object-09 」、「object-10 」ととも
に、それらのクラスとの係わり(クラス−オブジェクト
関連情報)が ・「object-01 」→「class-3 」 ・「object-02 」→「class-11」 ・「object-03 」→「class-31」 … ・「object-09 」→「class-32」 ・「object-10 」→「class-3 」 として、クラス−オブジェクト関連情報データベース3
に登録されていることを示している。
By the way, in FIG. 2, as a class, "class-0
, "Class-1", "class-11", "class-2", "c"
"lass-3", "class-31", "class-32", "class-4"
, And “class-5”, and their parent-child relationship (class structure) is “class-0” ← “class-1” ← “class-11” · “class-0” ← “class-2” "Class-0" ← "class-3" ← "class-31" ・ "class-0" ← "class-3" ← "class-32" ・ "class-0" ← "class-4" ・ "class -0 "←" class-5 "is registered in the class structure information database 2, and the objects" object-01 "," object-02 ", and" ob "are registered.
"ject-03", ... "object-09", "object-10" and their relationship (class-object related information)-"object-01"->"class-3"-"object-02"->"Class-11"-"object-03"->"class-31" ...- "object-09"->"class-32"-"object-10"->"class-3" Information database 3
It has been registered in.

【0033】また図3は、上記各クラスのクラス情報の
一部として、 ・「class-0 」には操作関数として「method-01 」、
「method-02 」、及び「method-03 」が定義されてい
る。
In addition, FIG. 3 shows, as a part of the class information of each of the above classes: "class-0", an operation function "method-01",
"Method-02" and "method-03" are defined.

【0034】・「class-3 」には操作関数として「meth
od-02 」、「method-04 」、及び「method-05 」が定義
されている。
"Class-3" has an operation function of "meth"
"od-02", "method-04", and "method-05" are defined.

【0035】・「class-31」には操作関数として「meth
od-04 」、「method-05 」、「method-06 」、及び「me
thod-07 」が定義されている。
-"Meth-31" has an operation function "meth"
od-04 "," method-05 "," method-06 ", and" me "
thod-07 "is defined.

【0036】・「class-32」には操作関数として「meth
od-11 」、及び「method-12 」が定義されている。
"Class-32" has an operation function "meth"
"od-11" and "method-12" are defined.

【0037】・「class-4 」には操作関数として「meth
od-08 」、「method-09 」、及び「method-10 」が定義
されている。
"Class-4" has an operation function of "meth"
"od-08", "method-09", and "method-10" are defined.

【0038】ことをそれぞれ示している。These are shown respectively.

【0039】以下では、これら図2及び図3での例示を
前提に、それらに関する表示制御の態様を説明するもの
とする。
In the following, on the premise of the examples in FIGS. 2 and 3, the modes of display control relating to them will be described.

【0040】( 2)クラス、オブジェクトの情報の初期表
示 ここでは、上記( 1)の「クラス、オブジェクトの登録」
フェーズを通じてクラス構造情報データベース2及びク
ラス−オブジェクト関連情報データベース3にそれぞれ
登録されたクラス構造情報とクラス−オブジェクト関連
情報を用いて、クラス/オブジェクト情報処理装置4
が、初期状態において表示/入力制御装置7の画面上に
表示すべき情報を表示情報メモリ5に書き出す。
(2) Initial display of class and object information In this case, "class and object registration" in (1) above is performed.
Using the class structure information and the class-object related information registered in the class structure information database 2 and the class-object related information database 3 throughout the phase, the class / object information processing device 4
Writes the information to be displayed on the screen of the display / input control device 7 in the display information memory 5 in the initial state.

【0041】これによってウィンドウ管理装置6が、こ
の表示情報メモリ5に書き込まれた情報をもとに、表示
/入力制御装置7の画面上に、その初期画面としてクラ
ス群とオブジェクト群の一覧を表示するようになること
は前述した通りである。
As a result, the window management device 6 displays a list of classes and objects as an initial screen on the screen of the display / input control device 7 based on the information written in the display information memory 5. This is as described above.

【0042】( 3)ユーザの指示に対する、クラス、オブ
ジェクトの情報の表示 ここではまず、ユーザが、表示/入力制御装置7の画面
上で、マウス、或いはキーボードなどの入力装置を使っ
て、解析所望とする要求を指示をする。
(3) Display of Class and Object Information in Response to User's Instructions Here, first, the user uses the input device such as a mouse or keyboard on the screen of the display / input control device 7 to request analysis. And request a request.

【0043】こうしたユーザの指示は、上述したよう
に、表示/入力制御装置7により解釈され、イベントに
置き換えられてウィンドウ管理装置6に入力される。
As described above, the user's instruction is interpreted by the display / input control device 7, converted into an event, and input to the window management device 6.

【0044】イベントを受け取ったウィンドウ管理装置
6では、該イベント内容を解釈して更にそれを適当なイ
ベント情報に翻訳し、その翻訳したイベント情報をクラ
ス/オブジェクト情報処理装置4に引き渡す。
Upon receiving the event, the window management device 6 interprets the content of the event, further translates it into appropriate event information, and delivers the translated event information to the class / object information processing device 4.

【0045】これにより、クラス/オブジェクト情報処
理装置4では上述したように、この渡された情報に応じ
てクラス構造情報データベース2及びクラス−オブジェ
クト関連情報データベース3を検索し、その検索結果と
して得た情報を先の表示情報メモリ5に書き込むことと
なる。そしてこれら書き込まれた情報が、ウィンドウ管
理装置6を通じて表示/入力制御装置7にモニタバック
される。
As a result, as described above, the class / object information processing device 4 searches the class structure information database 2 and the class-object relation information database 3 according to the passed information, and obtains the search result. The information will be written in the display information memory 5. Then, the written information is monitored back to the display / input control device 7 through the window management device 6.

【0046】こうしてユーザは、その解析所望とした要
求に対する当該システムの反応を、上記表示/入力制御
装置7の画面上で確認することができるようになる。
In this way, the user can check the reaction of the system to the analysis-desired request on the screen of the display / input control device 7.

【0047】なおここで、上記ユーザの要求とは、 ・あるオブジェクトの(属性の)情報の一覧を表示せよ ・あるオブジェクトの操作関数の一覧を表示せよ ・あるオブジェクトが継承するクラス(群)を特定せよ ・あるオブジェクトの特定の操作関数の実装を表示せよ ・あるクラスの(属性の)情報の一覧を表示せよ ・あるクラスの操作関数の一覧を表示せよ のいずれかであるとする。The user's request is as follows: -Display a list of (attribute) information of a certain object-Display a list of operation functions of a certain object-Class (group) inherited by a certain object Specify-Display the implementation of a specific operation function of an object-Display a list of (attribute) information of a class-Display a list of operation functions of a class.

【0048】図4は、この( 3)の「ユーザの指示に対す
る、クラス、オブジェクトの情報の表示」のフェーズに
関して、ユーザの都度の要求に対する該実施例システム
としての表示制御態様の推移を示したものであり、また
図5〜図11は、それら表示制御に伴う上記表示/入力
制御装置7での画面表示例を示したものであり、以下、
これら図4、及び図5〜図11を併せ参照して、この
「ユーザの指示に対する、クラス、オブジェクトの情報
の表示」フェーズにおける該実施例システムの動作を更
に詳述する。
FIG. 4 shows the transition of the display control mode as the system of the embodiment with respect to each user's request regarding the phase of "display of information on class and object in response to user's instruction" in (3). Further, FIGS. 5 to 11 show examples of screen display on the display / input control device 7 associated with the display control.
With reference to FIG. 4 and FIGS. 5 to 11, the operation of the embodiment system in the “display of class and object information in response to user instruction” phase will be described in more detail.

【0049】図5は、上記( 2)の「クラス、オブジェク
トの情報の初期表示」のフェーズで形成された表示/入
力制御装置7の画面の初期画面を示している(図4ステ
ップS1)。
FIG. 5 shows an initial screen of the screen of the display / input control device 7 formed in the phase (2) "initial display of class and object information" (step S1 in FIG. 4).

【0050】ここで、該画面のクラス表示領域である
「classes 」ペインには、前記ソースコードで定義され
るクラスの一覧が構造的に表示される。構造的、という
のは、例えば「class-0 」の下位クラスが「class-1
」、「class-2 」、「class-3 」、「class-4 」、「c
lass-5 」であり、更に「class-1 」の下位クラスが「c
lass-11」である、といったことをインデントによって
図示していることを意味する。ここでの例の場合、この
インデントによって示されるクラスの構造が、先の図2
に示したクラス構造の上半分と同じになることはいうま
でもない。
Here, a list of classes defined by the source code is structurally displayed in the "classes" pane which is the class display area of the screen. Structurally, for example, a subclass of "class-0" is "class-1".
, "Class-2", "class-3", "class-4", "c"
lass-5 "and the subclass of" class-1 "is" c
"lass-11", etc. means that it is illustrated by indentation. In the case of the example here, the structure of the class indicated by this indentation is as shown in FIG.
It goes without saying that it will be the same as the upper half of the class structure shown in.

【0051】他方、同画面のオブジェクト表示領域であ
る「objects 」ペインには、同ソースコードで定義され
るクラスによって生成されるオブジェクトの一覧が表示
される。ここには構造はない。そして、ここでの例の場
合これは、先の図2に示したクラス構造の下半分と同じ
である。
On the other hand, in the "objects" pane which is the object display area of the same screen, a list of objects generated by the classes defined by the same source code is displayed. There is no structure here. And in the case of the example here, this is the same as the lower half of the class structure shown in FIG. 2 above.

【0052】こうした初期画面において、ユーザが任意
のオブジェクトをマウスポインタで指示すると、表示/
入力制御装置7の画面は、図6に示される態様で遷移す
る。この図6は、ユーザが任意のオブジェクト(この例
では「object-03 」)をマウスポインタで指示した結果
の画面を示している。
When the user points an arbitrary object on the initial screen with a mouse pointer, it is displayed / displayed.
The screen of the input control device 7 transits in the manner shown in FIG. FIG. 6 shows a screen as a result of the user pointing an arbitrary object (“object-03” in this example) with the mouse pointer.

【0053】こうしたユーザの指示により、指定された
オブジェクト「object-03 」が反転表示されるととも
に、その「classes 」ペインにおいて、当該指定オブジ
ェクト「object-03 」が情報を継承するクラスがマーキ
ングされる(図4ステップS2)。ここではマーク「s
」が付加されており、これによって当該指定オブジェ
クト「object-03 」が、「class-0 」、「class-3 」、
「class-31」といった各クラスの情報を継承しているこ
とが分かる。またこの状態において、画面の下のペイン
には、当該指定オブジェクト「object-03 」がこれらク
ラス「class-0 」、「class-3 」、及び「class-31」か
ら継承する全ての属性が併せ表示される(図4ステップ
S2)。
According to such a user's instruction, the designated object "object-03" is highlighted and the class to which the designated object "object-03" inherits information is marked in the "classes" pane. (FIG. 4 step S2). Here the mark's
"Is added, and the specified object" object-03 "becomes" class-0 "," class-3 ",
It can be seen that the information of each class such as "class-31" is inherited. In this state, the bottom pane of the screen also contains all the attributes that the specified object "object-03" inherits from these classes "class-0", "class-3", and "class-31". It is displayed (step S2 in FIG. 4).

【0054】この図6に示される表示制御状態において
は、「classes 」ペインから任意のクラスを選択するこ
ともできるし、当該オブジェクト「object-03 」で利用
できる操作関数の一覧を表示させることもできる。
In the display control state shown in FIG. 6, an arbitrary class can be selected from the "classes" pane and a list of operation functions available for the object "object-03" can be displayed. it can.

【0055】図7は、この指定オブジェクト「object-0
3 」を指示したまま、例えばマウスをドラッグ(マウス
ボタンを押した状態でずらす操作)したとする状態での
画面例を示している。
FIG. 7 shows this designated object "object-0.
For example, a screen example is shown in which the mouse is dragged (the mouse button is pressed and moved while the mouse button is being pressed) while instructing "3".

【0056】この場合には、同図7に示されるように、
「objects 」ペインの横に、指定したオブジェクト「ob
ject-03 」に対して利用可能な操作関数の一覧がポップ
アップ画面として併せ表示される(図4ステップS
3)。
In this case, as shown in FIG.
Next to the objects pane, specify the specified object "ob
A list of operation functions that can be used for "ject-03" is also displayed as a popup screen (step S in FIG. 4).
3).

【0057】なおここで、これら表示される個々のクラ
スで利用できる操作関数は、先の図3に例示したクラス
構造及びそこで定義される操作関数に基づき、前記クラ
ス/オブジェクト情報処理装置4によって次のように検
索される。
Here, the operation functions that can be used in each of the displayed classes are based on the class structure illustrated in FIG. 3 and the operation functions defined therein. Is searched for.

【0058】すなわち、当該オブジェクト「object-03
」は、「class-0 」、「class-3 」、及び「class-3
1」の3つのクラスの情報を継承していることがまず判
断され、次いで、オブジェクト指向におけるこの「継
承」の性質により、子の操作関数が親の操作関数よりも
優先される条件が加味され、結果として、このうちの
「class-0 」で定義される「method-01 」と「method-0
3 」、また「class-3 」で定義される「method-02 」、
更に「class-31」で定義される「method-04 」、「meth
od-05 」、「method-06 」、及び「method-07 」の7つ
の操作関数が利用できる旨判断される。こうして、上記
ポップアップ画面には、これら7つの操作関数が一覧表
示されることとなる。
That is, the object "object-03"
"Is for" class-0 "," class-3 ", and" class-3 "
It is first determined that the information of the three classes of "1" is inherited, and then the property of this "inheritance" in object orientation is added to the condition that the child operation function has priority over the parent operation function. , As a result, of these, "method-01" and "method-0" defined by "class-0"
3 ", or" method-02 "defined by" class-3 ",
Furthermore, "method-04" and "meth" defined by "class-31"
It is determined that seven operation functions of "od-05", "method-06", and "method-07" can be used. Thus, the pop-up screen displays a list of these seven operation functions.

【0059】この図7に示される表示制御状態において
は、上記開かれたポップアップ画面をキャンセルするこ
ともできるし、該ポップアップ画面内に表示された操作
関数一覧の中から特定の操作関数を選択することもでき
る。
In the display control state shown in FIG. 7, the opened pop-up screen can be canceled, or a specific operation function is selected from the operation function list displayed in the pop-up screen. You can also

【0060】図8は、上記ポップアップ画面に一覧表示
された操作関数の任意のもの(この例では「method-05
」)を、例えばマウスクリック(マウスボタンを押す
操作)したとする結果の画面例を示している。
FIG. 8 shows any of the operation functions listed in the pop-up screen (in this example, "method-05
)) Is, for example, a mouse click (operation of pressing a mouse button).

【0061】この場合には、同図8に示されるように、
該ユーザ指定された操作関数「method-05 」が反転表示
されるとともに、その下のペインには該操作関数「meth
od-05 」の実装が表示されることとなる(図4ステップ
S4)。なお、先の図3に例示したクラス構造及びそこ
で定義される操作関数によると、この操作関数「method
-05 」は「class-3 」と「class-31」の両方のクラスで
定義されているが、ここでも上記「継承」の性質によ
り、子の操作関数が親の操作関数よりも優先されること
となり、結局ここで上記下のペインに表示される実装と
は、クラス「class-31」で定義されている操作関数「me
thod-05 」の実装となる。
In this case, as shown in FIG.
The operation function "method-05" specified by the user is highlighted, and the operation function "meth" is displayed in the pane below it.
"od-05" is displayed (step S4 in FIG. 4). According to the class structure illustrated in FIG. 3 and the operation function defined therein, the operation function "method
-05 "is defined in both" class-3 "and" class-31 ", but here again due to the nature of" inheritance ", the child operation function takes precedence over the parent operation function. In the end, here, the implementation displayed in the lower pane is the operation function "me" defined in the class "class-31".
thod-05 ”.

【0062】この図8に示される表示制御状態において
は、この開かれているポップアップ画面をキャンセルす
ることができる。
In the display control state shown in FIG. 8, this open popup screen can be canceled.

【0063】図9は、オブジェクト表示領域である「ob
jects 」ペインから任意のオブジェクトを選択したあ
と、クラス表示領域である「classes 」ペインから任意
のクラス(この例では「class-3 」)をマウスポインタ
で指示したとする結果の画面例を示している。
FIG. 9 shows the object display area "ob".
After selecting an object from the "jects" pane, and then pointing to the desired class ("class-3" in this example) with the mouse pointer from the "classes" pane, which is the class display area. There is.

【0064】この場合には、同図9に示されるように、
ユーザ指定されたクラス「class-3」が反転表示される
とともに、その下のペインには、該クラス「class-3 」
の情報(属性)が表示されるようになる(図4ステップ
S5)。ただしここでは、上位から継承する属性は表示
されない。
In this case, as shown in FIG.
The class "class-3" specified by the user is highlighted, and in the pane below it, the class "class-3" is displayed.
Information (attribute) is displayed (step S5 in FIG. 4). However, the attributes inherited from the upper level are not displayed here.

【0065】この図9に示される表示制御状態において
は、「objects 」ペインから任意のオブジェクトを選択
することもできるし、当該指定クラス「class-3 」で定
義されている操作関数の一覧を表示させることもでき
る。
In the display control state shown in FIG. 9, an arbitrary object can be selected from the "objects" pane, and a list of operation functions defined by the designated class "class-3" is displayed. You can also let it.

【0066】図10は、上記クラス「class-3 」を指示
したまま、マウスをドラッグしたとする状態での画面例
を示している。
FIG. 10 shows an example of a screen when the mouse is dragged while the class "class-3" is being designated.

【0067】この場合には、同図10に示されるよう
に、「classes 」ペインの横に、この指定したクラス
「class-3 」に対して定義されている操作関数の一覧
が、ポップアップ画面として併せ表示されるようになる
(図4ステップS6)。
In this case, as shown in FIG. 10, a list of operation functions defined for the specified class "class-3" is displayed as a pop-up screen next to the "classes" pane. It is also displayed together (step S6 in FIG. 4).

【0068】ここで、このクラス「class-3 」で利用で
きる操作関数は、先の図3に例示したクラス構造及びそ
こで定義される操作関数に示される通りである。すなわ
ち、このクラス「class-3 」には、操作関数として「me
thod-02 」、「method-04 」、及び「method-05 」が定
義されており、上記ポップアップ画面には、これら3つ
の操作関数が一覧表示されることとなる。
Here, the operation functions that can be used in this class "class-3" are as shown in the class structure illustrated in FIG. 3 and the operation functions defined therein. That is, this class "class-3" has "me
"thod-02", "method-04", and "method-05" are defined, and a list of these three operation functions is displayed on the pop-up screen.

【0069】またここでは、先に指定されているオブジ
ェクト(この場合は「object-03 」)に対してこれら操
作関数が有効か否かを区別するためのマーキング(「s
」印)も併せ表示される。
In addition, here, a marking ("s") for distinguishing whether or not these operation functions are valid for the previously specified object (in this case, "object-03")
"Mark) is also displayed.

【0070】因みに同図10の例においては、マーキン
グされた操作関数「method-02 」が、上記オブジェクト
「object-03 」に対し有効であり、他のマーキングされ
ない操作関数「method-04 」と「method-05 」は、同オ
ブジェクト「object-3」に対して有効ではないことを示
している。理由は、先の図3に例示したクラス構造及び
そこで定義される操作関数において、 ・操作関数「method-04 」と「method-05 」はクラス
「class-31」にて再定義されている ・上記オブジェクト「object-03 」はクラス「class-3
1」と「class-3 」の両方の情報を継承している ・クラスの構造上クラス「class-31」はクラス「class-
3 」の子として定義されている といった実情により、ここでも上記「継承」の性質によ
って、当該「object-03」に対しては、子クラス「class
-31」で定義された操作関数「method-04 」及び「metho
d-05 」が、その親クラス「class-3 」で定義された操
作関数「method-04 」及び「method-05 」よりも優先さ
れることによる。
Incidentally, in the example of FIG. 10, the marked operation function "method-02" is valid for the above-mentioned object "object-03", and other unmarked operation functions "method-04" and "method-02" are used. method-05 ”indicates that it is not valid for the same object“ object-3 ”. The reason is that in the class structure illustrated in FIG. 3 and the operation function defined therein, the operation functions “method-04” and “method-05” are redefined in the class “class-31”. The above object "object-03" is a class "class-3"
Information of both "1" and "class-3" is inherited-The class "class-31" is a class "class-" due to the structure of the class.
Due to the fact that it is defined as a child of "3", the child class "class-03
-31 ", the operation functions" method-04 "and" metho "
"d-05" has priority over the operation functions "method-04" and "method-05" defined in its parent class "class-3".

【0071】この図10に示される表示制御状態におい
ては、上記開かれたポップアップ画面をキャンセルする
こともできるし、同ポップアップ画面の中に表示された
操作関数群から特定の操作関数を選択することもでき
る。
In the display control state shown in FIG. 10, the opened pop-up screen can be canceled, or a specific operation function can be selected from the operation function group displayed in the pop-up screen. You can also

【0072】図11は、上記ポップアップ画面に一覧表
示された操作関数の任意のもの(この例では「method-0
5 」)を、例えばマウスクリックしたとする結果の画面
例を示している。
FIG. 11 shows an arbitrary operation function (in this example, "method-0
5 ”) shows an example of a screen as a result of mouse click.

【0073】この場合には、同図11に示されるよう
に、ユーザ指定された操作関数「method-05 」が反転表
示されるとともに、その下のペインに該操作関数「meth
od-05」の実装が表示される(図4ステップS7)。な
お、先の図3に例示したクラス構造及びそこで定義され
る操作関数によると、この操作関数「method-05 」は
「class-3 」と「class-31」の両方のクラスで定義され
ているが、ここではクラス「class-3 」で定義される操
作関数を対象としているので、この場合に上記下のペイ
ンに表示される実装は、このクラス「class-3 」で定義
されている操作関数「method-05 」の実装となる。
In this case, as shown in FIG. 11, the operation function "method-05" designated by the user is highlighted and the operation function "meth" is displayed in the pane below it.
"od-05" is displayed (step S7 in FIG. 4). According to the class structure illustrated in FIG. 3 and the operation function defined therein, the operation function "method-05" is defined in both "class-3" and "class-31". However, since the operation function defined in the class "class-3" is targeted here, the implementation displayed in the lower pane above is the operation function defined in this class "class-3". It is an implementation of "method-05".

【0074】この図11に示される表示制御状態におい
ては、該開かれているポップアップ画面をキャンセルす
ることができる。
In the display control state shown in FIG. 11, the open pop-up screen can be canceled.

【0075】このように、該実施例によるソフトウェア
構造解析支援システムによれば、予めクラス構造情報デ
ーベース2及びクラス−オブジェクト関連情報データベ
ース3に登録された情報をもとに、 ・当該登録(解析対象)プログラムにおいて定義され且
つ生成されたクラス及びオブジェクトの一覧表示(初期
画面)。 ・オブジェクト一覧の中からユーザ指定されたオブジェ
クトに関連する全クラスの識別表示(マーキング表
示)。 ・当該指定オブジェクトの全属性情報の参照表示。 ・当該指定オブジェクトが利用できる全操作関数(メソ
ッド)の参照表示。 ・その中からユーザ指定された操作関数の実装の参照表
示。 ・クラス一覧の中からユーザ指定されたクラスの全属性
情報の参照表示。 ・当該指定クラスに定義された全操作関数(メソッド)
の参照表示。 ・その中からユーザ指定された操作関数の実装の参照表
示。 等々、といった表示制御が実現されるため、特にオブジ
ェクトからみて、それら任意のオブジェクトとそれに関
連するクラスとの関係、更には、オブジェクトがクラス
から継承できる情報の詳細等が、視覚的に容易に把握で
きるようになり、たとえ第三者であっても、当プログラ
ムにおけるそれらの関係構造を正確に解析、判断できる
ようになる。
As described above, according to the software structure analysis support system according to the embodiment, based on the information registered in the class structure information database 2 and the class-object relation information database 3 in advance: Target) List display of classes and objects defined and generated in the program (initial screen). -Identification display (marking display) of all classes related to the object specified by the user from the object list. -Reference display of all attribute information of the specified object. -Reference display of all operation functions (methods) that can be used by the specified object. -A reference display of the implementation of the operation function specified by the user. -Reference display of all attribute information of the class specified by the user from the class list. -All operation functions (methods) defined in the specified class
Reference display. -A reference display of the implementation of the operation function specified by the user. Since display control such as etc. is realized, it is easy to visually understand the relationship between any given object and its related class, in particular, the details of the information that the object can inherit from the class, etc. Even if it is a third party, it will be possible to accurately analyze and judge the relational structure of them in this program.

【0076】なお、上記実施例システムにおいて図5〜
図11に例示したクラスやオブジェクトについての表示
態様、更にはその属性群や操作関数群並びに実装等につ
いての表示態様は一例にすぎず、それらの情報が所定に
関連付けされて視覚的に明示されさえすれば、他の如何
なる表示態様としてもよいことは勿論である。
It should be noted that in the system of the above embodiment, FIG.
The display modes of the classes and objects illustrated in FIG. 11, and further the display modes of the attribute groups, operation function groups, and implementations thereof are merely examples, and the information may be visually associated with predetermined association. As a matter of course, any other display form may be adopted.

【0077】また、これら表示態様(表示制御)を切り
換えるための上述した操作(マウスクリックやドラッグ
等々)も一例にすぎない。要は、前記イベントとしてウ
ィンドウ管理装置6が認識できる操作内容との兼ね合い
のもとに定義され、且つユーザの意図が的確に反映され
るものであれば、キーボードによる操作をも含め、該表
示態様(表示制御)を切り換えるための操作として、他
の如何なる操作が定義されてもよい。
The above-described operation (mouse click, drag, etc.) for switching these display modes (display control) is also merely an example. In short, if the event is defined in consideration of the operation content that can be recognized by the window management device 6 and the user's intention is accurately reflected, the display mode including the operation by the keyboard is also included. As the operation for switching (display control), any other operation may be defined.

【0078】また、先の図2や図3においては、簡単の
ため、そこで例示する継承の構造が「単純継承(1つの
祖先(スーパークラス)しか持たない形での継承)」で
ある場合についてのみ述べたが、該継承の構造がいわゆ
る「多重継承(複数の祖先(スーパークラス)を持つ形
での継承)」となる場合であっても、該システムは同様
に適用することができる。すなわち同システムによれ
ば、こうした「多重継承」にあっても、前記クラス/オ
ブジェクト登録装置1を通じて前述同様に、そのリンク
構造が上記データベース2及び3に登録されるようにな
ることから、それらの表示制御に際してのみ、例えば図
式化したり、マーキングを変えるなど、その構造が識別
できる態様とすればよい。
In addition, in FIG. 2 and FIG. 3 described above, for simplification, the case where the inheritance structure illustrated therein is “simple inheritance (inheritance in the form having only one ancestor (superclass)”) Although mentioned only, even when the structure of the inheritance is so-called “multiple inheritance (inheritance in the form of having multiple ancestors (superclasses)”), the system can be similarly applied. That is, according to the system, even in such "multiple inheritance", the link structure is registered in the databases 2 and 3 through the class / object registration device 1 as described above. Only at the time of display control, it is sufficient to adopt a mode in which the structure can be identified by, for example, making it graphic or changing the marking.

【0079】ところで、同実施例のシステムによれば、
図4にも示されるように、指定したオブジェクトやクラ
スに関する属性群や操作関数群、更にはその実装等、ユ
ーザの操作に応じて、かなり詳細な情報が、上記データ
ベース2及び3に登録された情報に基づいて表示制御さ
れることとなるが、中でも、指定したオブジェクトに関
連するクラスの一覧を識別表示することができさえすれ
ば、 ・任意のオブジェクトとクラスとの関係の把握、或いは ・特定のクラス、オブジェクトの変更に伴うその影響の
波及範囲の特定 を行う上で、最低限必要な情報は得られることとなり、
該発明のシステムとして必ずしも上述した表示制御機能
の全てを具備している必要はない。
By the way, according to the system of the embodiment,
As shown in FIG. 4, considerably detailed information is registered in the databases 2 and 3 according to the user's operation such as the attribute group and the operation function group related to the specified object and class, and further the implementation thereof. The display will be controlled based on the information, but above all, if the list of classes related to the specified object can be identified and displayed, ・ Grasping the relationship between any object and class, or ・ Specifying The minimum necessary information will be obtained in order to identify the scope of the impact of changes to the classes and objects of
The system of the present invention does not necessarily have to have all of the display control functions described above.

【0080】[0080]

【発明の効果】以上説明したように、この発明によれ
ば、クラスのみならず、アプリケ−ションプログラムに
おいて随時宣言、生成される全てのオブジェクトに対し
ても、その存在と親となるクラスの情報をデ−タベ−ス
に登録してこれを同時に管理するようにし、その上で、
これら登録された全てのクラスを対象に、適宜ユーザ指
定されるオブジェクトに関連する1乃至複数のクラスを
当該オブジェクトの具象化態様及びこれらクラスの従属
関係に基づき検索してこれを表示手段に識別表示するよ
うにしたことから、オブジェクトからみたオブジェクト
とクラスの関係構造が瞭然となり、ひいてはオブジェク
トがクラスから継承できる情報の把握や、特定のクラ
ス、オブジェクトの変更に伴うその影響の波及範囲の特
定なども容易となる。
As described above, according to the present invention, not only the class but also the information of the class that becomes the parent and the existence of all the objects that are declared and created in the application program at any time. To register it in the database and manage it at the same time, and then
Targeting all of these registered classes, one or a plurality of classes related to the object designated by the user are searched based on the concrete aspect of the object and the dependency of these classes, and this is identified and displayed on the display means. By doing so, the relationship structure between the object and the class from the viewpoint of the object becomes clear, and by the way, the information that the object can inherit from the class can be grasped, the specific class, and the influence range of the influence of the change of the object can be specified. It will be easy.

【0081】そしてこれにより、オブジェクト指向プロ
グラミングを前提としたソフトウェアの開発/保守にか
かる作業量も著しく軽減されるようになる。
As a result, the amount of work involved in software development / maintenance based on object-oriented programming can be significantly reduced.

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

【図1】この発明にかかるソフトウェア構造解析支援シ
ステムの一実施例構成を示すブロック図である。
FIG. 1 is a block diagram showing the configuration of an embodiment of a software structure analysis support system according to the present invention.

【図2】図1に示されるクラス構造情報データベース、
及びクラス−オブジェクト関連情報データベースに登録
されるとするクラス構造情報及びクラス−オブジェクト
関連情報の一例について、それらのリンク構造を模式的
に示すブロック図である。
FIG. 2 is a class structure information database shown in FIG.
FIG. 3 is a block diagram schematically showing a link structure of class structure information and class-object related information that are to be registered in a class-object related information database.

【図3】図2に示されるクラスの一部においてそれらに
定義されているとする操作関数の一例を模式的に示すブ
ロック図である。
FIG. 3 is a block diagram schematically showing an example of operation functions defined in some of the classes shown in FIG.

【図4】この実施例システムの動作例として、各種イベ
ントに応じた表示制御の推移を示すフローチャートであ
る。
FIG. 4 is a flowchart showing a transition of display control according to various events, as an operation example of the system of this embodiment.

【図5】図1に示される表示/入力制御装置での表示画
面例として、同実施例システムの初期画面例を示す略図
である。
5 is a schematic diagram showing an example of an initial screen of the system of the embodiment as an example of a display screen on the display / input control device shown in FIG. 1. FIG.

【図6】図1に示される表示/入力制御装置での表示画
面例として、オブジェクトがユーザ指定された様子を示
す略図である。
FIG. 6 is a schematic view showing a state where an object is designated by a user as an example of a display screen in the display / input control device shown in FIG.

【図7】図1に示される表示/入力制御装置での表示画
面例として、指定オブジェクトが利用することのできる
操作関数の一覧表示例を示す略図である。
7 is a schematic diagram showing a display example of a list of operation functions that can be used by a designated object as an example of a display screen on the display / input control device shown in FIG.

【図8】図1に示される表示/入力制御装置での表示画
面例として、指定操作関数の実装表示例を示す略図であ
る。
FIG. 8 is a schematic diagram showing an example of a display for implementing a designated operation function as an example of a display screen on the display / input control device shown in FIG.

【図9】図1に示される表示/入力制御装置での表示画
面例として、更にクラスがユーザ指定された様子を示す
略図である。
9 is a schematic diagram showing a state in which a class is further designated by the user as an example of a display screen in the display / input control device shown in FIG. 1. FIG.

【図10】図1に示される表示/入力制御装置での表示
画面例として、指定クラスに定義された操作関数の一覧
表示例を示す略図である。
10 is a schematic diagram showing a list display example of operation functions defined in a designated class as an example of a display screen in the display / input control device shown in FIG. 1. FIG.

【図11】図1に示される表示/入力制御装置での表示
画面例として、指定操作関数の実装表示例を示す略図で
ある。
FIG. 11 is a schematic diagram showing an example of a specified operation function mounted as an example of a display screen on the display / input control device shown in FIG. 1.

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

1 クラス/オブジェクト登録装置 2 クラス構造情報データベース 3 クラス−オブジェクト関連情報データベース 4 クラス/オブジェクト情報処理装置 5 表示情報メモリ 6 ウィンドウ管理装置 7 表示/入力制御装置 1 class / object registration device 2 class structure information database 3 class-object related information database 4 class / object information processing device 5 display information memory 6 window management device 7 display / input control device

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】計算機記憶装置上に割り当てられた時点で
値をもつことができる属性群とその属性群の値を操作す
る操作関数群とをまとめた概念上の単位であるクラスを
複数定義する工程と、これらクラス同士を継承という関
係で階層的に関連付けする工程と、計算機記憶装置上に
割り当てられる実体としてのオブジェクトをこれら定義
された1乃至複数のクラスで修飾することによりそれら
クラスに定義されている属性群及び操作関数群をその該
当するオブジェクトに割り付ける工程と、を具え且つ、
前記オブジェクト同士の前記計算機記憶装置上での情報
のやり取りの記述としてプログラムされるソフトウェア
について、その構造の解析を支援するシステムであっ
て、 構造解析の対象となるソフトウェアについてその前記定
義されたクラス、及びこれらクラス同士の従属関係を示
すクラス構造が登録される第1のデータベースと、 同ソフトウェアについてその前記生成されたオブジェク
トのオブジェクト名、及びこれら各オブジェクトの前記
クラス修飾による具象化態様が登録される第2のデータ
ベースと、 これら第1及び第2のデータベースに登録された各種情
報を可視表示するための表示手段と、 前記第1及び第2のデータベースに登録された全てのク
ラス、及び全てのオブジェクトについてその一覧を前記
表示手段に表示する第1の表示制御手段と、 前記第1のデータベースに登録された全てのクラスを対
象に、適宜ユーザ指定されるオブジェクトに関連する1
乃至複数のクラスを前記第2のデータベースに登録され
た当該オブジェクトの具象化態様及び前記第1のデータ
ベースに登録されたクラス構造に基づき検索してこれを
前記表示手段に識別表示する第2の表示制御手段と、 を具えることを特徴とするソフトウェア構造解析支援シ
ステム。
1. A plurality of classes that are conceptual units that define an attribute group that can have a value when assigned to a computer storage device and an operation function group that operates the value of the attribute group are defined. Processes and processes for hierarchically associating these classes with each other in the relation of inheritance, and objects defined as entities assigned to the computer storage device are defined in these classes by modifying them with one or more defined classes. Assigning a group of attributes and a group of operation functions to the corresponding object, and
A system that supports the analysis of the structure of software that is programmed as a description of the exchange of information between the objects on the computer storage device, and the defined class of the software that is the target of the structure analysis, And a first database in which a class structure showing a dependency relationship between these classes is registered, an object name of the generated object of the software, and a concrete embodiment of the class modification of each of these objects are registered. A second database, display means for visually displaying various information registered in the first and second databases, all classes and all objects registered in the first and second databases About displaying a list of the And a display control unit of the above, and 1 related to an object appropriately designated by the user for all classes registered in the first database.
A second display for searching a plurality of classes based on the concrete aspect of the object registered in the second database and the class structure registered in the first database, and identifying and displaying them on the display means A software structure analysis support system characterized by comprising control means.
【請求項2】請求項1に記載のシステムにおいて更に、 前記識別表示される個々のクラスを対象に、前記ユーザ
指定されるオブジェクトが利用できるこれらクラスの操
作関数群を前記第1のデータベースに登録されたクラ
ス、及びクラス構造に基づき検索してこれを前記表示手
段に識別表示する第3の表示制御手段を具えることを特
徴とするソフトウェア構造解析支援システム。
2. The system according to claim 1, further comprising: registering, in the first database, a group of operation functions of the classes designated by the user and usable by the object designated by the user. A software structure analysis support system comprising a third display control means for searching on the basis of the generated class and class structure and identifying and displaying this on the display means.
JP4276107A 1992-10-14 1992-10-14 Software structure analysis supporting system Pending JPH06124197A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4276107A JPH06124197A (en) 1992-10-14 1992-10-14 Software structure analysis supporting system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4276107A JPH06124197A (en) 1992-10-14 1992-10-14 Software structure analysis supporting system

Publications (1)

Publication Number Publication Date
JPH06124197A true JPH06124197A (en) 1994-05-06

Family

ID=17564898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4276107A Pending JPH06124197A (en) 1992-10-14 1992-10-14 Software structure analysis supporting system

Country Status (1)

Country Link
JP (1) JPH06124197A (en)

Similar Documents

Publication Publication Date Title
Calvary et al. Plasticity of user interfaces: A revised reference framework
EP0453386B1 (en) Hierarchical inter-panel process flow control
US9395958B2 (en) Systems and methods for drag-and-drop data binding
US6209125B1 (en) Method and apparatus for software component analysis
US5995103A (en) Window grouping mechanism for creating, manipulating and displaying windows and window groups on a display screen of a computer system
US9032374B2 (en) Metadata-integrated debugger
US8117562B2 (en) Runtime modification of data presented in a graphical element
US5627959A (en) Method for manipulating graphic objects
RU2483350C2 (en) Layout manager
US20090132966A1 (en) Method and System for Modifying Properties of Graphical User Interface Components
US6246403B1 (en) Method and apparatus for generating a graphical user interface
JPH0756628B2 (en) Graphical user interface editing device
KR20040054465A (en) User interface element representation with simplified view
JPH09510567A (en) Document proxy framework
WO2001046798A2 (en) System and method for computer-aided graph-based dependency analysis
CA2144875A1 (en) Incremental linker system
US8918756B2 (en) Generating constraints in a class model
JPH022419A (en) Program information control system
Reiss et al. GARDEN tools: Support for graphical programming
US6216149B1 (en) Method and system for efficient control of the execution of actions in an object oriented program
US9262060B1 (en) Method and apparatus for performing viewmarking
US7065717B1 (en) Tree-based interface apparatus for display of call dependencies and method therefor
JPH06124197A (en) Software structure analysis supporting system
Bellamy et al. Re-structuring the programmer's task
JPH06124200A (en) Software structure analysis supporting system