JPH0830445A - クラス構成図表示装置 - Google Patents
クラス構成図表示装置Info
- Publication number
- JPH0830445A JPH0830445A JP6167680A JP16768094A JPH0830445A JP H0830445 A JPH0830445 A JP H0830445A JP 6167680 A JP6167680 A JP 6167680A JP 16768094 A JP16768094 A JP 16768094A JP H0830445 A JPH0830445 A JP H0830445A
- Authority
- JP
- Japan
- Prior art keywords
- class
- elements
- information
- target
- configuration
- 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
Links
Landscapes
- Digital Computer Display Output (AREA)
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
(57)【要約】
【目的】C++言語において、対象クラスの実体の構成を
そのクラスが継承しているクラス(基本クラス)と、そ
の対象クラスがアクセス(使用)可能な要素のようにク
ラス利用者が必要とする情報を、クラス毎に視覚的に表
示するクラス構成図として作図し、クラス構成理解作業
の効率向上を図ることを目的とする。 【構成】装置は装置の起動命令を行う入力装置15と、
C++言語で記述されたソースファイル11と、クラスの
定義情報を取得するクラス定義部抽出処理プログラム1
2aと、クラス構成情報作成処理プログラム12b、ク
ラス構成出力プログラム12cを記憶する記憶装置2
2、プログラムやデータをローディングし各処理を実行
するCPU13、クラス構成を出力するプリンタ等の出
力装置14で構成される。
そのクラスが継承しているクラス(基本クラス)と、そ
の対象クラスがアクセス(使用)可能な要素のようにク
ラス利用者が必要とする情報を、クラス毎に視覚的に表
示するクラス構成図として作図し、クラス構成理解作業
の効率向上を図ることを目的とする。 【構成】装置は装置の起動命令を行う入力装置15と、
C++言語で記述されたソースファイル11と、クラスの
定義情報を取得するクラス定義部抽出処理プログラム1
2aと、クラス構成情報作成処理プログラム12b、ク
ラス構成出力プログラム12cを記憶する記憶装置2
2、プログラムやデータをローディングし各処理を実行
するCPU13、クラス構成を出力するプリンタ等の出
力装置14で構成される。
Description
【0001】
【産業上の利用分野】本発明は、クラスの実体の構成
を、基本クラスとアクセス可能な要素のアクセス属性、
型、名称とそれを囲む枠線を使用して表示する装置に係
り、特に基本クラスを多数持つクラスや、入れ子構造を
構成する要素を多数持つクラスの実体の構成を理解する
のに好適な表示装置に関する。
を、基本クラスとアクセス可能な要素のアクセス属性、
型、名称とそれを囲む枠線を使用して表示する装置に係
り、特に基本クラスを多数持つクラスや、入れ子構造を
構成する要素を多数持つクラスの実体の構成を理解する
のに好適な表示装置に関する。
【0002】
【従来の技術】従来の装置は、以下の方法を採用してい
た。特開平5−616615号公報に記載の方法は、階
層構造データの継承関係の表示において、データの継承
関係をデータを図形で囲み、その図形を線で結び表示し
ていた。また、特開平4−289921号公報に記載の
方法は、データの多重継承の表示において、継承関係を
ツリー構造で表示していた。特開平4−288641公
報に記載の方法は電子ライブラリ情報の管理において、
使用者の環境から関連し共有できるオブジェクトの視覚
的階層を作成し提供していた。
た。特開平5−616615号公報に記載の方法は、階
層構造データの継承関係の表示において、データの継承
関係をデータを図形で囲み、その図形を線で結び表示し
ていた。また、特開平4−289921号公報に記載の
方法は、データの多重継承の表示において、継承関係を
ツリー構造で表示していた。特開平4−288641公
報に記載の方法は電子ライブラリ情報の管理において、
使用者の環境から関連し共有できるオブジェクトの視覚
的階層を作成し提供していた。
【0003】上記以外では、例えばクラスの構成を表示
する場合、対象クラスを選択し、そのクラスの持つ要素
の一覧を新たな画面に表示するなどの方法が採られてい
た。
する場合、対象クラスを選択し、そのクラスの持つ要素
の一覧を新たな画面に表示するなどの方法が採られてい
た。
【0004】
【発明が解決しようとする課題】上記従来技術を利用し
た表現では、クラスの理解効率を上げるための必要情報
の表示における配慮がされていないため、理解の容易な
図面を得ることができないという問題があった。ツリー
表現では対象クラスの継承時属性が表示されないため、
またクラス選択による内部要素の表示では全ての内部要
素が表示されるため、特に多数の基本クラスを持つクラ
スや、入れ子構造を構成する要素を多数持つクラスに対
してはアクセス可能な情報の解読性が著しく低下する。
また、入れ子構造を成す要素の構成や基本クラスの構成
を異なる画面で表示しているため、全体の関係や構成を
把握することが難しい。電子ライブラリ管理方式は視覚
的配慮がなされているが、対象はライブラリの階層をマ
ルチウインドウで表したものであり、クラスの構成は対
象としていない。
た表現では、クラスの理解効率を上げるための必要情報
の表示における配慮がされていないため、理解の容易な
図面を得ることができないという問題があった。ツリー
表現では対象クラスの継承時属性が表示されないため、
またクラス選択による内部要素の表示では全ての内部要
素が表示されるため、特に多数の基本クラスを持つクラ
スや、入れ子構造を構成する要素を多数持つクラスに対
してはアクセス可能な情報の解読性が著しく低下する。
また、入れ子構造を成す要素の構成や基本クラスの構成
を異なる画面で表示しているため、全体の関係や構成を
把握することが難しい。電子ライブラリ管理方式は視覚
的配慮がなされているが、対象はライブラリの階層をマ
ルチウインドウで表したものであり、クラスの構成は対
象としていない。
【0005】本発明の目的は、対象クラスの基本クラス
と、その対象クラスからアクセス可能な要素をそれで囲
む枠線で表し、また入れ子構造を成す要素は、その構成
を図形の重ね合せで階層的に表して、そのクラスの記述
ファイル名と合わせて視覚的に表現することにより、基
本クラスを多数持つクラスや、入れ子構造を構成する要
素を多数持つクラスに対しても理解の容易な図面を得る
ことにある。
と、その対象クラスからアクセス可能な要素をそれで囲
む枠線で表し、また入れ子構造を成す要素は、その構成
を図形の重ね合せで階層的に表して、そのクラスの記述
ファイル名と合わせて視覚的に表現することにより、基
本クラスを多数持つクラスや、入れ子構造を構成する要
素を多数持つクラスに対しても理解の容易な図面を得る
ことにある。
【0006】
【課題を解決するための手段】上記目的を達成するため
に、C++ソースファイルを解析し、記述して行く時に、
まず、基本クラスからアクセス属性を基にアクセス可能
な要素を記述し、最後に対象クラスの各要素を記述す
る。また、クラス構成の記述方式を階層化し、入れ子構
造を成す要素が出現した時点で桁下げして再帰的に記述
することで、その母体の上に階層的に表現するようにし
たものである。
に、C++ソースファイルを解析し、記述して行く時に、
まず、基本クラスからアクセス属性を基にアクセス可能
な要素を記述し、最後に対象クラスの各要素を記述す
る。また、クラス構成の記述方式を階層化し、入れ子構
造を成す要素が出現した時点で桁下げして再帰的に記述
することで、その母体の上に階層的に表現するようにし
たものである。
【0007】
【作用】まず解析対象となるC++ソースファイルを上か
ら順に読み込み、解析し、クラスの定義部分のみを抽出
し、そのクラスの要素のアクセス属性、型、名称と記述
ファイル名を保存する。次にクラスの定義情報から、対
象クラスを抽出し、アクセス可能な要素のアクセス属
性、型、名称を左右の枠線と共に一時保存する。要素が
無くなったら下の枠線を追加する。次に対象クラスの基
本クラスに対しても同様の処理を行う。この途中で、入
れ子構造を成す要素が出現したら、桁下げして再帰的に
上記処理を行う。基本クラス情報が無くなったら、保存
しておいた基本クラスの構成情報から出力し、最後に対
象クラスの構成情報を出力し処理を終了する。以上によ
り、対象クラスの構成が図式的に表現された、理解の容
易な図面が得られる。
ら順に読み込み、解析し、クラスの定義部分のみを抽出
し、そのクラスの要素のアクセス属性、型、名称と記述
ファイル名を保存する。次にクラスの定義情報から、対
象クラスを抽出し、アクセス可能な要素のアクセス属
性、型、名称を左右の枠線と共に一時保存する。要素が
無くなったら下の枠線を追加する。次に対象クラスの基
本クラスに対しても同様の処理を行う。この途中で、入
れ子構造を成す要素が出現したら、桁下げして再帰的に
上記処理を行う。基本クラス情報が無くなったら、保存
しておいた基本クラスの構成情報から出力し、最後に対
象クラスの構成情報を出力し処理を終了する。以上によ
り、対象クラスの構成が図式的に表現された、理解の容
易な図面が得られる。
【0008】
【実施例】以下、本発明の実施例を図面を用いて説明す
る。
る。
【0009】図1は、本発明の実施例のシステム構成を
示すブロック図である。図中11はC++言語で記述され
たソースファイルである。12はCPU13の処理に必
要なプログラム、例えばファイル11のC++ソースファ
イルを入力しクラス定義情報を抽出するクラス定義部抽
出処理プログラム12aや、クラス定義情報をもとに階
層的なクラス構成情報を抽出するクラス構成情報作成処
理プログラム12bや、クラス構成情報を出力するクラ
ス構成出力プログラム12cを格納する記憶装置であ
る。入力装置15からの指令により、CPU13はプロ
グラム12a、12b、12cを実行させ、ファイル1
1に格納されたC++ソースファイルを入力し、プリンタ
等の出力装置14を介してクラス構成図16を出力す
る。
示すブロック図である。図中11はC++言語で記述され
たソースファイルである。12はCPU13の処理に必
要なプログラム、例えばファイル11のC++ソースファ
イルを入力しクラス定義情報を抽出するクラス定義部抽
出処理プログラム12aや、クラス定義情報をもとに階
層的なクラス構成情報を抽出するクラス構成情報作成処
理プログラム12bや、クラス構成情報を出力するクラ
ス構成出力プログラム12cを格納する記憶装置であ
る。入力装置15からの指令により、CPU13はプロ
グラム12a、12b、12cを実行させ、ファイル1
1に格納されたC++ソースファイルを入力し、プリンタ
等の出力装置14を介してクラス構成図16を出力す
る。
【0010】図2は、本発明の実施例のシステム処理フ
ローを示すブロック図である。図中のクラス定義部抽出
処理プログラム12aは、C++ソースファイルをファイ
ル11から入力し、クラス定義部分21aを対象とし
て、クラスの要素を全て抽出し、内部メモリ27に一時
保存する。この時、ファイル名称も保存する。クラス構
成情報作成処理プログラム12bは、保存したクラス定
義情報27aのうち対象と成るクラスのアクセス可能な
要素を上から順に取り出し、そのアクセス属性と、型、
名称を左右の枠線と共に出力形式でクラス構成情報27
bに一時保存する。この時、要素が入れ子構造を成す場
合は、図形が母体の上に重なり合い階層的に表現できる
ように保存する。クラス構成出力プログラム12cは、
一時保存したクラス構成情報27bを取り出し、プリン
タ等の出力装置14にクラス構成図16を出力する。
ローを示すブロック図である。図中のクラス定義部抽出
処理プログラム12aは、C++ソースファイルをファイ
ル11から入力し、クラス定義部分21aを対象とし
て、クラスの要素を全て抽出し、内部メモリ27に一時
保存する。この時、ファイル名称も保存する。クラス構
成情報作成処理プログラム12bは、保存したクラス定
義情報27aのうち対象と成るクラスのアクセス可能な
要素を上から順に取り出し、そのアクセス属性と、型、
名称を左右の枠線と共に出力形式でクラス構成情報27
bに一時保存する。この時、要素が入れ子構造を成す場
合は、図形が母体の上に重なり合い階層的に表現できる
ように保存する。クラス構成出力プログラム12cは、
一時保存したクラス構成情報27bを取り出し、プリン
タ等の出力装置14にクラス構成図16を出力する。
【0011】図3は、クラスの要素一覧を出力した例で
ある。図中のが基本クラスを、が入れ子構造を成す
要素を示しているが、基本クラスの要素のうちアクセス
可能な要素が把握しにくく、クラスの実体の構成が分か
りにくい。
ある。図中のが基本クラスを、が入れ子構造を成す
要素を示しているが、基本クラスの要素のうちアクセス
可能な要素が把握しにくく、クラスの実体の構成が分か
りにくい。
【0012】図4は、本発明を適用し、見やすい図面と
なるよう、クラスの実体の構成を基本クラスとアクセス
可能な要素、入れ子構造を成す要素の構成表示を考慮し
た図形の重ね合せで階層的に表現した例である。図中
は基本クラスの構成、は入れ子構造を成す要素の構成
を示している。基本クラスや要素が統合的に表示されて
いるため、基本クラスやアクセス可能な要素を一覧し易
い。また入れ子構造を成す要素の構成も階層的に表現さ
れているため、クラスの実体の構成の把握が容易とな
る。
なるよう、クラスの実体の構成を基本クラスとアクセス
可能な要素、入れ子構造を成す要素の構成表示を考慮し
た図形の重ね合せで階層的に表現した例である。図中
は基本クラスの構成、は入れ子構造を成す要素の構成
を示している。基本クラスや要素が統合的に表示されて
いるため、基本クラスやアクセス可能な要素を一覧し易
い。また入れ子構造を成す要素の構成も階層的に表現さ
れているため、クラスの実体の構成の把握が容易とな
る。
【0013】図5は、本発明の実施例のフローチャート
1である。まず、ファイル11に格納されているC++ソ
ースファイルを内部メモリに入力し(501)、クラス
定義部抽出処理を行う。
1である。まず、ファイル11に格納されているC++ソ
ースファイルを内部メモリに入力し(501)、クラス
定義部抽出処理を行う。
【0014】クラス定義部抽出処理では、まずクラス定
義部分を1つ取り出し(502)、クラス定義部分があ
れば(503)、クラス名を内部メモリに保存する(5
04)。また、要素があれば(505)、そのアクセス
属性と型と名称を左右の枠線と共に内部メモリに保存す
る(506)。ファイル名称も保存する(507)。以
上の処理を内部メモリにクラス定義部分があるかぎり繰
り返す(508、503)。
義部分を1つ取り出し(502)、クラス定義部分があ
れば(503)、クラス名を内部メモリに保存する(5
04)。また、要素があれば(505)、そのアクセス
属性と型と名称を左右の枠線と共に内部メモリに保存す
る(506)。ファイル名称も保存する(507)。以
上の処理を内部メモリにクラス定義部分があるかぎり繰
り返す(508、503)。
【0015】次に、クラス定義情報27aから対象と成
るクラス情報を1つ取り出し(509)、対象クラスが
あれば(510)、クラス構成情報作成処理を行う。
るクラス情報を1つ取り出し(509)、対象クラスが
あれば(510)、クラス構成情報作成処理を行う。
【0016】作成したクラス構成情報27bから基本ク
ラスの構成情報を取り出し(511)、基本クラス構成
情報があれば(512)その情報を出力(513)す
る。基本クラス情報がなければ(512)、対象クラス
構成情報を取り出し(514)、その情報を出力する
(515)。
ラスの構成情報を取り出し(511)、基本クラス構成
情報があれば(512)その情報を出力(513)す
る。基本クラス情報がなければ(512)、対象クラス
構成情報を取り出し(514)、その情報を出力する
(515)。
【0017】図6は、本発明の実施例のフローチャート
2(クラス構成情報作成処理)である。まず、クラス名
と記述ファイル名を内部メモリに保存する(601)。
クラス定義情報から要素を1つ取り出し(602)、要
素があり(603)、アクセスが可能の場合(60
4)、次の情報を保存する。当該クラス定義情報が対象
クラスであれば(605)アクセス属性を保存し(60
6)、当該要素がデータメンバであれば(607)型を
保存し(608)、名称、左右の枠線を内部メモリに保
存する(609)。右の枠線は、階層(描画位置カウン
タ)分保存する。当該要素がデータメンバであり(61
0)、入れ子構造を成す要素ならば(611)、桁下げ
して(612)再帰的にクラス構成情報作成処理を行
う。クラス構成情報作成処理終了後、桁上げし(61
3)、次の処理を行う(602)。全ての要素を取り出
したら、下の枠線を保存して(614)、基本クラス情
報を1つ取り出す(615)。
2(クラス構成情報作成処理)である。まず、クラス名
と記述ファイル名を内部メモリに保存する(601)。
クラス定義情報から要素を1つ取り出し(602)、要
素があり(603)、アクセスが可能の場合(60
4)、次の情報を保存する。当該クラス定義情報が対象
クラスであれば(605)アクセス属性を保存し(60
6)、当該要素がデータメンバであれば(607)型を
保存し(608)、名称、左右の枠線を内部メモリに保
存する(609)。右の枠線は、階層(描画位置カウン
タ)分保存する。当該要素がデータメンバであり(61
0)、入れ子構造を成す要素ならば(611)、桁下げ
して(612)再帰的にクラス構成情報作成処理を行
う。クラス構成情報作成処理終了後、桁上げし(61
3)、次の処理を行う(602)。全ての要素を取り出
したら、下の枠線を保存して(614)、基本クラス情
報を1つ取り出す(615)。
【0018】基本クラス情報があれば(616)、上の
枠線を保存し(617)、クラス構成情報作成処理を再
帰的に行う。基本クラス情報が無くなれば処理を終了す
る。
枠線を保存し(617)、クラス構成情報作成処理を再
帰的に行う。基本クラス情報が無くなれば処理を終了す
る。
【0019】
【発明の効果】本発明によれば、クラスの実体の構成が
その基本クラスと、アクセス可能な要素で図的に表現さ
れ、また、入れ子構造を成す要素の構成が図形の重ね合
せで階層的に表現される。これによりクラスの実体の構
成が、その継承関係やアクセス可能な要素の情報を合わ
せて視覚的に表現されるので、特に基本クラスを多数持
つクラスや、入れ子構造を成す要素を多数持つクラスで
あっても、クラスの実体の構成の把握が容易な図面を得
ることができるという効果がある。
その基本クラスと、アクセス可能な要素で図的に表現さ
れ、また、入れ子構造を成す要素の構成が図形の重ね合
せで階層的に表現される。これによりクラスの実体の構
成が、その継承関係やアクセス可能な要素の情報を合わ
せて視覚的に表現されるので、特に基本クラスを多数持
つクラスや、入れ子構造を成す要素を多数持つクラスで
あっても、クラスの実体の構成の把握が容易な図面を得
ることができるという効果がある。
【図1】本発明の実施例のシステム構成を示すブロック
図である。
図である。
【図2】本発明の実施例のシステム処理フローを示すブ
ロック図である。
ロック図である。
【図3】本発明を実施する前のクラスの定義情報出力例
である。
である。
【図4】本発明を実施した時のクラス構成出力例であ
る。
る。
【図5】本発明の実施例の手順を示すフローチャート1
である。
である。
【図6】本発明の実施例の手順を示すフローチャート2
である。
である。
11…ファイル、 12a〜12c…プログラム、 16…クラス構成図、 27a…クラス定義情報、 27b…クラス構成情報。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 館山 正一 宮城県仙台市青葉区一番町二丁目4番1号 日立東北ソフトウェア株式会社内
Claims (1)
- 【請求項1】C++言語において、対象クラスの実体の構
成をそのクラスが継承しているクラス(基本クラス)
と、その対象クラスがアクセス(使用)可能な要素と、
これらを囲む枠線で表現する。要素とはデータメンバと
メンバ関数である。各要素はアクセス属性、型名、要素
名から成る。また、図形の左方に対象クラス、基本クラ
スの名称とそのクラスが記述されているファイル名を表
示する。さらに各要素が入れ子構造(クラス、構造体、
共用体、列挙子)を構成している場合、図形の重ね合わ
せで階層的に表し、クラスの構成をクラス毎に視覚的に
表示することにより、理解の容易な構成図を作図できる
ことを特徴とする構成表示装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6167680A JPH0830445A (ja) | 1994-07-20 | 1994-07-20 | クラス構成図表示装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6167680A JPH0830445A (ja) | 1994-07-20 | 1994-07-20 | クラス構成図表示装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0830445A true JPH0830445A (ja) | 1996-02-02 |
Family
ID=15854238
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6167680A Pending JPH0830445A (ja) | 1994-07-20 | 1994-07-20 | クラス構成図表示装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0830445A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008269273A (ja) * | 2007-04-20 | 2008-11-06 | Meidensha Corp | ソフトウェア開発支援システム、開発支援方法およびプログラム |
-
1994
- 1994-07-20 JP JP6167680A patent/JPH0830445A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008269273A (ja) * | 2007-04-20 | 2008-11-06 | Meidensha Corp | ソフトウェア開発支援システム、開発支援方法およびプログラム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7337401B2 (en) | User interface element representation with simplified view | |
| CN100442265C (zh) | 用于作为图形布局/表示对象的宿主的系统 | |
| JP3392870B2 (ja) | 図形エッジ・システム | |
| CN112748923A (zh) | 一种可视化看板的创建方法、装置、电子设备和存储介质 | |
| EP0829801A2 (en) | Method for displaying functional objects in a visual programming environment | |
| JP2006048408A (ja) | 入出力画面作成システム、入出力画面作成方法及び業務処理システム | |
| JP4138231B2 (ja) | 複合ユーザーインタフェース方法、コンピュータシステム及びコンピュータ読み取り可能な記録媒体 | |
| CN116467433A (zh) | 面向多源数据的知识图谱可视化方法、装置、设备及介质 | |
| KR20040021563A (ko) | 화면 표시 처리 장치, 화면 표시 처리 방법 및 컴퓨터프로그램 | |
| CN114647409A (zh) | 大屏可视化应用创建平台、方法、计算设备和存储介质 | |
| JPH0830445A (ja) | クラス構成図表示装置 | |
| Koivunen et al. | HutWindows: an improved architecture for a user interface management system | |
| JP2003196264A (ja) | ウエブページ作成方法、ウエブページ作成プログラム及びウエブページ作成装置 | |
| CN112925843A (zh) | 基于图形化界面配置改变地图显示效果的方法及系统 | |
| JPS61226834A (ja) | 表示画面編集方式 | |
| JP2000250909A (ja) | 構造化文書表示装置及び方法 | |
| JP3347047B2 (ja) | 電子カルテ作成装置および電子カルテ作成プログラム記憶媒体 | |
| US6650344B1 (en) | Method and system for displaying computer documents | |
| JPH10162093A (ja) | 商品情報割付装置 | |
| JPH11296463A (ja) | フレームを使用しているホームページのマーキング・再表示方式 | |
| JP3677852B2 (ja) | 文書処理方法および装置 | |
| JPH01296354A (ja) | ルール型推論のデバッグ方式 | |
| Lindner | Aspects Of Interactive Computer Graphics-Applications And Systems | |
| JPH03186893A (ja) | 画像処理方法及び装置 | |
| Cheng | Visual exploration of large amounts of record-based sequence data |