JPH0424733A - プログラムの構造図編集処理方式 - Google Patents

プログラムの構造図編集処理方式

Info

Publication number
JPH0424733A
JPH0424733A JP2124629A JP12462990A JPH0424733A JP H0424733 A JPH0424733 A JP H0424733A JP 2124629 A JP2124629 A JP 2124629A JP 12462990 A JP12462990 A JP 12462990A JP H0424733 A JPH0424733 A JP H0424733A
Authority
JP
Japan
Prior art keywords
program
structure diagram
source program
section
display
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2124629A
Other languages
English (en)
Other versions
JP3299259B2 (ja
Inventor
Sumio Tasaka
田坂 澄生
Yoshio Hayashi
義雄 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP12462990A priority Critical patent/JP3299259B2/ja
Publication of JPH0424733A publication Critical patent/JPH0424733A/ja
Application granted granted Critical
Publication of JP3299259B2 publication Critical patent/JP3299259B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概要〕 ソースプログラムの編集機能を有するデータ処理装置に
おいて、プログラムの構造図を編集することにより、ソ
ースプログラム自体にその結果を反映できるようにした
プログラムの構造図編集処理方式に関し。
トップダウンプログラミングを支援し、プログラムの生
産性、拡張性、保守性を向上させるツールを提供するこ
とを目的とし ソースプログラムを解析し、プログラムの制御構造に関
係する構成単位をソースプログラムから抽出して、各構
成単位の結び付きを表す構造図を作成し表示する構造図
展開表示処理部と、構造図における各構成単位について
の追加、削除を含む編集を対話型処理により行う構造図
編集処理部と。
編集された構造図に基づいて、ソースプログラムを新規
作成または更新するソースプログラム反映処理部とを備
えるように構成する。
〔産業上の利用分野〕
本発明は、ソースプログラムの編集機能を有するデータ
処理装置において、プログラムの構造図を編集すること
により、ソースプログラム自体にその結果を反映できる
ようにしたプログラムの構造図編集処理方式に関する。
プログラムの規模が大きくなればなるほど プログラム
の開発が困難になり、生産性や保守性が悪くなる傾向に
ある。大きなプログラムであっても、全体の見通しが容
易で、単なる小さなプログラムの集まりと同じように取
り扱うことができる開発支援ツールが望まれている。特
に、トップダウンプログラミングを支援し、プログラム
の構造を簡明に組み立てて設計することができるツール
が必要とされている。
〔従来の技術〕
ソフトウェアを開発する場合、要求仕様から機能設計、
構成設計を行い、さらに詳細化、コーディング、テスト
というように開発が進められる。
このようなソフトウェアの生産性を向上させる方法とし
て、構造化プログラミングやその他の各種手法が提案さ
れている。
従来、構成設計からコーディングに至るif!l fi
tで。
ある処理単位やサブプログラムなどのプログラムの制御
構造に関係する構成単位から、プログラムの構造を決め
、それをソースプログラムに反映させる場合に9人間が
手書きでプログラムの構造図を作成し、それを見てソー
スプログラムの編集を行わなければならなかった。
また、プログラムを開発し、そのメンテナンスのために
、そのプログラムの構造に関するドキュメントを残して
おく必要がある場合には1人間が開発されたソースプロ
グラムや開発に使用した設計書を参考にして、プログラ
ムの構造図を書きおこすことを行っていた。
また、既に開発したプログラムを改良する場合には、プ
ログラムの構造図を参考にして、それに修正を加え、そ
の結果の構造図をもとに、さらにソースプログラムを骨
組みから編集しなおす必要があった。
〔発明が解決しようとする課題〕
従来技術では、プログラムの構造図をみて、ソースプロ
グラムを編集する場合に1人間が編集を行わなければな
らないので2作業が大変であり。
また、ii集誤りなどにより、プログラムの構造図が正
しくソースプログラムに反映されないことがあるという
問題があった。
また、既存のプログラムの構造解析を行い、概要を把握
しようとした場合に、適切なドキュメントが残っていな
いために、その概要を把握するのがきわめて困難なこと
があるという問題があった。
さらに、従来、プログラムのある部分を変更した場合に
、その影響範囲がわかりにりく、プログラムの制御構造
を変えることが難しいという問題があった。
本発明は上記問題点の解決を図り、ト・ンプダウンプロ
グラミングを支援し、プログラムの生産性。
拡張性、保守性を向上させるツールを提供することを目
的としている。
〔課題を解決するための手段〕
第1図は本発明の原理説明図である。
第1図において、10はCPUおよびメモリなどからな
るデータ処理装置、11は構造図編集に関する全体の制
御を行う主制御部、12は構造図を展開し表示する構造
図展開表示処理部、13は構造図編集処理部、14は構
造図をソースプログラムに反映するソースプログラム反
映処理部、15はコマンドルートバーなどによるコマン
ドの処理を行うコマンド処理部、16〜20はコマンド
により指定された処理を行う各処理部、21はソースプ
ログラムが格納されたソースプログラムファイル、22
は構造図の編集に用いる作業ファイル、23は構造図を
表示するデイスプレィ装置。
24はキーボードやマウスなどの入力装置を表す。
構造図展開表示処理部12は、指定されたソースプログ
ラムファイル21からソースプログラムを読み込み、そ
れを解析してプログラムの制御構造に関係する構成単位
(以下、セクションという)を抽出する処理を行う。そ
して、抽出した各セクションについて、その結び付きを
表す構造図を作成し、デイスプレィ装置23に表示する
処理を行う。
構造図編集処理部13は、各セクションの結び付きを表
す構造図を新規作成したり、構造図展開表示処理部12
が展開した構造図について、各セクションの追加(挿入
)、削除を含む編集を、対話型処理により行うものであ
る0編集結果については9作業ファイル22等に格納し
ておく。
ソースプログラム反映処理部14は1編集時における書
込み指示や編集終了時における保存指示があったときに
、構造図編集処理部13により編集された構造図に基づ
いて、ソースプログラムを新規作成または更新し、ソー
スプログラムファイル21′に出力する処理を行うもの
である。
上記構造図は1例えばセクションを要素とする木構造で
表される。
コマンド処理部15は、構造図の編集を支援する各種コ
マンドに関する処理を行うものである。
コマンドとしては3例えば番号表示、非表示、ボックス
変更、レイアウトなどの各種機能が、コマンドルートバ
ーにより提供されている。
番号表示処理部16は2番号表示のコマンドに対して、
各セクションについての木構造における階層位置を示す
階層位置番号および対応するソースプログラムにおける
位置を示す行番号などを選択的に表示する処理を行う。
非表示処理部17は、非表示のコマンドに対して、構造
図を読みやす<シ、概要の把握を容易にするために、指
定された階層以下のセクションを表示しないように抑止
する処理を行う。
構造図におけるプログラムの各セクションは。
デイスプレィ装置23の画面に示すように、矩形領域の
ボックスで表される。
ボックス変更処理部18は、ボックス変更のコマンドに
対して1行数および行内文字数を入力し。
ボックス内の表示文字数を変更する処理を行う。
レイアウト表示処理部19は、レイアウトのコマントに
対し、構造図の全体を縮小して表示する処理を行うもの
である。さらに2wi小して表示したレイアウト表示内
で9表示のジャンプ指定があると、ジャンプ処理部20
は、その指定位置に。
表示する構造図の位置づけを行い、その部分に表示先を
移行する処理を行う。
〔作用〕
構造図展開表示処理部12は、第1図に示すソースプロ
グラムファイル21中に図示されるようなソースプログ
ラムから、デイスプレィ装置23の画面に示す構造図を
作成し1表示する。
これにより、既存のソースプログラムについての構造を
容易に把握することができる。
構造図編集処理部13は1通常の図形編集や文書編集と
同様な操作による対話型処理により、デイスプレィ装置
23に表示されている構造図を編集する。
例えば、デイスプレィ装置23に表示されてpzる構造
図のセクション[処理A2]の下方にカーソルを合わせ
、挿入を指示すると、デイスプレィ装置23′に示すよ
うなセクション[処理A3]が追加される。このボック
ス内には、入力装置24から人力したセクション名が記
入される。
ソースプログラム反映処理部14は、構造図編集処理部
13が編集した構造図に対応するソースプログラムの自
動編集を行う。この例では、処理A3が追加されており
、ソースプログラムは、ソースプログラムファイル21
′に示すように更新されることになる。
これにより、プログラム中のある処理機能を追加したり
削除したりする作業を、ソースプログラムファイル21
に対して直接行うのではなく、それから展開した構造図
に対して行うことができソースプログラムの編集を誤り
なく、容易に行うことができる。
構造図編集処理部13は、既存のソースプログラムファ
イル21から作成した構造図の編集だけでなく、構造図
の新規作成も行うことができる。
新規作成の場合には1作成された構造図から新しいソー
スプログラムのスケルトンが、ソースプログラム反映処
理部14によって作成されることになる。
これにより、トップダウンプログラミングを容易に実現
することが可能になり、構造図によって概要記述から徐
々に詳細化していくことができる。
構造図の編集支援のために2番号表示のコマンドが用意
され、ソースプログラムの行番号や構造図における各セ
クションの階層位置番号を表示することができるように
なっているので、構造図およびソースプログラムにおけ
る各セクションの位置づけを容易に把握することができ
る。
また、非表示のコマンドが用意され、これにより、構造
図における概要の把握に必要な上位階層だけを表示させ
ることができるので、構造図の表示を見やすくシ、全体
の構造の把握を容易化することができる。
ボックス変更コマンドによって、各セクションを表すボ
ックスのサイズを簡単に変更できるので。
構造図の全体サイズを任意に変えることができる。
構造図が大きい場合に2 レイアウト・コマンドが用意
されているので2構造図における現在の表示位置を容易
に把握することができる。また、レイアウト表示におい
て表示のジャンプ先を指定できるので、必要な構造図の
部分を迅速に選択して表示させることができる。
なお、構造図編集処理部13は、ソースプログラムのエ
ディタと連携させることが可能であり構造図で選択した
セクションに対応するソースプログラムを表示させ、そ
の部分についてのソースプログラムを直接更新すること
も可能である。
〔実施例〕
以下の実施例の説明では、ソースプログラムとして、論
理図型仕様記述言語であるYPS言語によるプログラム
を例にとりあげて説明する。
第2図は、そのYPS言語によるソースプログラムの例
を示している。この論理図型仕様記述言語では、処理お
よびデータの構造を表記する図形要素と、その内容を表
すテキスト文との組み合わせによって、プログラムを記
述し、ソースプログラム自体が設計ドキュメントとなり
得るようになっている。このソースプログラムをブリコ
ンパイラにより、C言語やC0BOLなどの他の言語の
ソースプログラムに展開することが可能である。
このプログラムは、初期処理とメイン処理とからなり、
初期処理ではファイルオーブン処理を行っている。ファ
イルオーブン処理では、エラー処理を呼び出している。
また、メイン処理では9wI集処理と売上データ処理を
行い2編集処理では。
エラー処理を呼び出している。
第3図は、第2図に示すソースプログラムに対応する構
造図をデイスプレィに表示した例を示している。
第3図において、30は構造図の編集画面、31はウィ
ンドウ塩やファイル名を表示するタイトル表示域、32
はコマンドルートバーを表示するコマンドルートバー表
示域、33はシステムからのメツセージを表示するメツ
セージ表示域、34は編集機能選択用の編集機能メニュ
ー、35は操作位置を示すカーソルを表す。
第1図に示す構造図展開表示処理部12により。
第2図に示すソースプログラムを入力し、第3図に示す
構造図を自動表示させることができる。この構造図では
、初期処理やメイン処理、ファイルオーブン処理等のセ
クシ式ンが、木構造状に階層化されて表示される。
一方、第3図に示すような構造図を、構造図編集処理部
13により新規作成して、ソースプログラム反映処理部
14により、第2図に示すようなソースプログラムを作
り出すことも可能になっている。
この例におけるセクション構造図表記と、ソースプログ
ラム言語の対応は、第4図に示すとおりである。
セクションには、一般セクシッンと共用セクションとサ
ブプログラムとがある。他に、あらかじめ部品として用
意されたプログラム要素からなる部品セクションがある
が、ここでの説明は省略する。
一般セクションは、1箇所でしか参照されないセクショ
ンであって、第4図(a)に示すように、四角の枠で示
され、枠内にセクション塩が白字で表示される。論理図
型仕様記述言語によるソースプログラムでは、概要記述
を示す■を付けた文とその詳細部を示すマおよびムで囲
まれた部分の内容に対応する。これらの概要記述と詳細
部は1例えばC0BOLプログラムにおけるPERFO
RM文と5ECT I ONの処理とに対応すると考え
てよい。
共用セクションは、詳細部すなわちプログラムの実体が
1つであって、複数箇所からの呼び出しがあるセクショ
ンである。第4図(b)に示すように上下が二重線にな
っている枠で示され、セクション塩が緑字で表示される
。ソースプログラムにおける表記は、一般セクションと
同様であって、複数箇所で参照される点が異なる。
サブプログラムのセクションは、関数呼び出しにより呼
び出されるセクションである。第4図(C)に示すよう
に、左右が二重線になっている枠で示され セクション
塩が赤字で表示される。外部プログラムの呼び出しと内
部プログラムの呼び出しとがある。C0BOLプログラ
ムにおけるCALL文に対応する。
構造図の展開では、ソースプログラムにおけるこれらの
制御構造を示す図形表記と出現場所および出現回数とを
調べることにより、構造解析を行う。
次に、構造図の編集操作の例について説明する。
第5図は9本発明の一実施例によるセクション挿入の例
を示している。
編集機能メニューにより、「挿入」を選択し挿入したい
位置をマウスでクリックすることにより、構造図中にセ
クションを挿入することができる。
第5図(イ)に斜線で示すボックスの上側部分をマウス
で指定すると、新しいセクションが第5図(ロ)に示す
ように追加される。
第5図(ハ)に示すように、ボックスの右側部分をマウ
スで指定すると3第5図(ニ)に示すように、そのボッ
クスの下位の階層にセクションが追加される。
第5図(ホ)に示すように、ボックスの下側部分をマウ
スで指定すると、第5図(へ)に示すようにセクション
が追加される。
第5図(ト)に示すように、ボックスの左側部分をマウ
スで指定すると、第5図(チ)に示すようにセクシヨン
が追加されるが、下位に複数のセクションがくるように
追加したい場合には、第5図(す)示すように、上位側
のボックスのすぐ右側をマウスで指定する。これにより
、第5図(ヌ)に示すようにセクションが追加される。
第6図は1本発明の一実施例によるセクション削除の例
を示している。
指定セクションに子セクションがある場合、子セクショ
ンを含めて構造ごと削除することができる。
削除する場合には1編集機能メニューにより。
「削除」を選択し、第6図(イ)に示すように。
削除したいセクション(AAA)にカーソルを合わせて
、マウスでクリックする。これにより、第6図(ロ)に
点線で示すように削除対象のセクションの色が変わる。
「実行しますか?」という確認メツセージが表示される
ので、実行する場合には、マウスの左ボタンを押す。こ
れにより、指定された範囲が削除され、構造図は、第6
図(ハ)に示す状態になる。
第6図(ロ)に示す状態で、i!認メツセージに対しマ
ウスの右ボタンを押すと、指定した1つのセクションだ
けが削除対象となり、第6図(ニ)に点線で示すように
、その色が変わる。この状態で、マウスの左ボタンを押
すと、そのセクションだけが削除される。右ボタンを押
した場合には。
削除はキャンセルされ、第6図(イ)に示す状態に戻る
第7図は1本発明の一実施例によるセクション移動の例
を示している。
移動操作では、指定セクションに子セクションがある場
合、子セクションを含めて移動する。
編集機能メニューにより、「移動」を選択し第7図(イ
)に示すように、移動したいセクションのボックスをマ
ウスで指定する。これにより。
移動するセクシヨンの色が変わる。
次に、移動先をマウスで指定すると、第7図(ロ)に示
すように、移動対象のセクションが移動先に表示される
。「実行しますか?」という確認メツセージに対し、マ
ウスの左ボタンを押すと移動が実行され、右ボタンを押
すと移動がキャンセルされる。
複写操作についても、移動操作と同欅である。
移動では、移動元にセクションが残らないのに対し、複
写では、複写元のセクションがそのまま残る。一般セク
ションを複写した場合、複写されたセクションは複数箇
所で参照されることになるので、自動的に共用セクショ
ンに変更される。
以上のようにマウス等により、簡単に構造図を編集する
ことが可能である。
構造図として表示されているセクションのセクション名
の変更や、一般、共用、サブプログラム等の属性の変更
は、&I集機能メニューにより。
「変更」を選択して、変更したいセクションをマウスで
指定することにより行うことができる。
編集機能メニューにおいて、「書込」を選択すると、構
造図の編集結果をソースプログラムに反映したものを、
指定されたファイルに書き込む。
また2編集機能メニューに、「詳細記述」という項目が
あり、これを選択すると、確認メツセージの応答の後、
ソースプログラム・エディタが起動される。これにより
、構造図の編集モードからソースプログラムの編集モー
ドに移り、ソースプログラムを直接編集することができ
る。編集が終了し、エディタを終了させると、構造図の
編集モードに戻る。
編集機能メニューの「操作説明」により1以上の操作に
ついての説明を、西面に表示させることができる。
編集機能メニューで「終了」選択すると、終了メニュー
が表示され、W集結果を保存するかどうかの問い合わせ
が行われる。この終了メニューで保存を指定すると、構
造図の編集結果をソースプログラムに反映したものを、
指定したファイルに格納する。
以上の編集機能の他に、コマンドルートバーによる編集
支援機能が提供されている。
コマンドルートバーによる機能の選択は、マウス・カー
ソルをコマンドルートバー内の実行したい機能のアイコ
ン表示に合わせ、左ボタンをクリックすることにより行
う。
第8図は、このコマンドによる番号表示機能の説明図で
ある。
番号表示機能のアイコン表示を、マウスでクリックする
と、各セクションの左上に、そのセクションが対応する
ソースプログラム中の行番号が。
例えば第3図に示すように、8桁の数字で表示される。
さらに、マウスの左ボタンをクリックすると1行番号の
代わりに、第8図に示すように、各セクションの階層位
置を示す番号が表示される。
もう−度、左ボタンをクリックすると1番号表示は消え
る。
第9図は、コマンドによる非表示機能の説明図である。
コマンドルートバーによって、「非表示機能」を選択す
ることにより、指定階層以下を表示しないようにするこ
とができる。非表示となる子セクションがある場合、該
当位置にOが表示される。
非表示機能を選択した後1表示を省略したい位置をマウ
スで指定すると、非表示域の色が変わる。
そこで、実行する場合には、マウスの左ボタンを押す0
例えば、第8図に示す構造図について、第2階層以下を
非表示にしたい場合、その位置にマウス・カーソルを合
わせて左ボタンをクリックする。そうすると、非表示域
の色が変わり、確認メツセージが出力される。そこで、
マウスの左ボタンをクリックすると、構造図は、第9図
に示すように第2階層以下が省略された状態で表示され
る。
非表示域の色が変わった状態でマウスの右ボタンをクリ
ックすると、非表示がキャンセルされる。
非表示状態に入った後、それを解除したい場合には、再
びコマンドルートバーにより、「非表示機能」を選択す
る。
第10図は、コマンドによるボックス変更機能の説明図
である。
コマンドルートバーによって、「ボックス変更機能」を
選択することにより、セクションを表示するボックスの
大きさ2表示文字数を変更することができる。なお、こ
の機能による変更は一時的なものであり、セントアップ
とは無関係である。
コマンドルートバーにより、「ボックス変更機能」を選
択すると、第10図(イ)に示すようなボックス変更メ
ニューが表示される0行数は、1行から3行まで、1行
の文字数は、半角の6文字から20文字(全角の3文字
からlO文字)までの中から選択可能である。
例えば第9図に示すような構造図について、1行・半角
6文字のボックス変更を行うと、構造図は第10図(ロ
)に示すように5縮小されて表示される。
第11図は、コマンドによるレイアウト機能の説明図で
ある。
レイアウト機能により、構造図全体の縮小図を表示し、
現在の構造図の表示位置を表示させることができる。ま
た、マウスで指定位置へのジャンプ表示を指示すること
ができる。
コマンドルートバーにより、「レイアウト機能Jを選択
すると、第11図に示すレイアウト表示40のように、
セクション構造図の全体が縮小されて表示される。この
レイアウト表示40では。
Wlのように、現在デイスプレィに表示されている箇所
が異なる色で表示される。
マウス・カーソル35でジャンプ先を指定すると、W2
の枠で示す箇所に1元の構造図の画面の表示が変わる。
コマンドルートバーには、他に複数のウィンドウによる
編集を可能とする「ウィンドウ機能」やセクションをマ
ークし、その指定セクションへのジャンプを行う「マー
ク機能」が用意されている。
次に、構造図を展開したり、vM集したりするための内
部のデータ構造とそれの処理について説明する。
第12図は構造図展開処理説明図、第13図はセクシタ
ン管理のためのテーブル構成図、第14図は編集結果の
管理に用いる作業ファイル説明図。
第15図は本発明の一実施例に係る構造図展開表示処理
フロー、第16図は本発明の一実施例に係る構造図編集
処理フローを示す。
第12図において、21は入力のソースプログラムファ
イル、21′は出力されるソースプログラムファイル、
22は作業ファイル、50は構造図を表示するデイスプ
レィ画面、51はメモリ。
52はセクションの論理画面における配置位置を決める
ために用いるマツプ、53は各セクシヨンを管理する制
御テーブルのレコードからなる制御ブロック、54は制
御ブロックの全体が格納される制御ファイルを表す。
ソースプログラムファイル21から構造図を作成する場
合、ソースプログラムを解析して、各セクションごとに
レコードを作り、制御ブロック53に設定する。なお、
メモリ51上の制御ブロック53は、制御ファイル54
のバッファとして用いられると考えてよい、各セクショ
ンのレコードは、それぞれのりレーシゴン情報と、ソー
スプログラムの内容に関連づける情報とを持つ。
マツプ52は、デイスプレィの論理画面に対応し、制御
ブロック53における各セクションのレコードに対する
ポインタを持つ。各セクションをそのリレーシランに従
って論理画面に配置し、その配置状態をマツプ52から
のポインタによって表すことにより、デイスプレィ画面
50に示すような構造図の表示が可能になる。
セクションの挿入や削除などの構造図の編集を行った場
合、デイスプレィ画面50の位置に対応するマツプ52
から、該当するセクションのレコードを探し、レコード
の修正、追加、削除などを行う。この編集処理では、処
理を容易にするために、ソースプログラムの内容を固定
長レコードで管理する作業ファイル22を用い、制御ブ
ロック53で管理するセクションと2作業ファイル22
における対応するソースプログラムの内容とを関連づけ
2編集結果を作業ファイル22上に反映してお(ように
する。
編集時における書込み指示や終了時における保存指示が
あった場合2作業ファイル22から編集結果のソースプ
ログラム情報を読み出し、ソースプログラムファイル2
1′に出力する。
第12図に示す制御ブロック53および制御ファイル5
4で管理されるレコードによる制御テーブルの構成は、
具体的には第13図に示すようになっている。
第13図において、R1は全体の制御情報を管理するコ
ントロールレコード、R2,R3は空きレコード、R4
−R9はセクション管理用の制御テーブルを内容とする
レコードを表す、なお、第13図に示すレコードのテー
ブル構成は、第12図に示すデイスプレィ画面50に表
示している構造図に対応するものである。
コントロールレコードR1は、先頭セクションのレコー
ドと最終セクションのレコードに対するポインタを持つ
、また、空きレコードR2に対するポインタを持つ。空
きレコードR2,R3,・・・は2前後のポインタによ
ってキュー管理される。
セクション管理用制御テーブルのレコードR4〜R9は
1親のセクションへのポインタ、子のセクションへのポ
インタ 上のセクションへのポインタ、下のセクション
へのポインタを持つ。また共用セクションである場合に
、同じ共用セクションの代表となっている親の共用セク
ションへのポインタ、次の共用セクションへのポインタ
、直前の共用セクションへのポインタを持つ。
また、セクション管理用制御テーブルのレコードR4〜
R9は1作業ファイル22中のソースプログラムに対応
するレコードに対するポインタであって、セクションの
呼び出し部と、実体部とコメントがあればコメント部の
レコードに対するポインタを持つ。
この他に、セクション名、セクションの属性情報1gX
性に応じた線色の情報などを管理している。
第13図に示す制御テーブルの内容から、 AAAのセ
クションが、BBB、CCCおよび共用セクションの親
になっていることがわかる。また。
ポインタ関係から、レコードR9の共用セクションと、
BBBの配下に接続されるレコードR6の共用セクショ
ンの実体は同じものであることがわかる。
これらのレコードにより、構造図を表すことができるこ
とは、説明するまでもないであろう。
第14図は、制御ファイル54で管理するセクション管
理用の制御テーブルと作業ファイル22との関係を示し
ている。
作業ファイル22のレコードは、ソースプログラムの各
ステートメントを固定長にしたものであって、各レコー
ドの出現順序を示す前番号/後番号のポインタを持つ、
この各レコードの内容は。
行番号(St!Q) 、  オペレーションの種別を示
す情報。
文字テキストなどの項目からなる。
制御ファイル54中のセクション管理用制御テーブルか
ら2作業ファイル22中の該当する呼び出七部、実体部
、コメント部のレコードがポイントされる。
構造図の編集により2作業ファイル22中のレコードの
削除や挿入が必要になると、セクション構造の変更と同
時に、レコードの削除、挿入を行い、各レコードの並び
を示す前番号/後番号を更新する。これらの番号をたど
ることにより、必要なときに、ソースプログラムに展開
することができる。
第15図は、第1図に示す構造図展開表示処理部12の
処理フローを示している。以下、第15図に示す処理■
〜■に従って説明する。
■ 指定されたソースプログラムファイルからソースプ
ログラムを読み込む。
■ 読み込んだソースプログラムを解析し、概要記述や
その詳細部などのプログラムの制御構造に関係する構成
単位を抽出する。
■ 抽出した構成単位から、第13図で説、明したよう
なセクション管理用制御テーブルを作成し。
メモリまたは制御ファイルに格納する。
■ セクション管理用制御テーブルから、各セクション
のりレーションを調べ、論理画面におけるセクションの
配置位置を決めて、マツプを作成する。
■ デイスプレィの表示画面に対応する位置のマツプ要
素からポイントされるセクション管理用制御テーブルを
参照し、各セクションをボックス化して表示する。以下
、&W集モードに移る。
第16図は、第1図に示す構造図編集処理部13の処理
フローを示している。以下、第16図に示す処理■〜■
に従って説明する。
■ 構造図の編集画面上で、指定により編集機能メニュ
ーを表示し、そのメニューで選択された編集機能に応じ
て以下の処理を行う。
■ マウス等により画面上で指定された編集対象の位置
から、マツプの位置を割り出す。
■ マツプから編集の操作対象となるセクションおよび
位置を識別する。
■ 選択された編集機能に応じて9編集対象となったマ
ツプ、制御テーブル、作業ファイルの内容を修正する。
■ 修正した結果の構造図を画面バッファに展開し1表
示する。以下1次の処理に移る。
第1図に示すソースプログラム反映処理部14の処理は
、第14図に示す作業ファイル22の内容から、ソース
プログラムを復元する処理であり。
容易に実現できるので、処理フローによる説明は省略す
る。また、各種コマンドルートバーによる機能を実現す
る処理内容についても、第8図ないし第11図により、
具体的に何を行うかを説明したので、明らかであり、処
理フローによる説明は省略する。
上記実施例では、論理図型仕様記述言語によるソースプ
ログラムから構造図を抽出して編集する例をとりあげて
説明したが、C0BOLやC言語などの他のプログラム
言語を用いたソースプログラムについても、同様に本発
明を適用することができる。なお、構造図を表示するだ
けでなく、構造図を印刷する機能も用意することができ
ることは言うまでもない。
〔発明の効果〕
以上説明したように1本発明によれば、構造図によって
プログラムの構造を決め、ソースプログラムのスケルト
ンを自動生成することができるので、トッププログラミ
ングによる開発手法を効率よく実現でき、ソフトウェア
の生産性を向上させることができる。また、構造を意識
した編集を簡単に行うことができ、構造図とソースプロ
グラムとの不一致が生じることがないので、信転性の高
いプログラムの開発が可能となる。既存プログラムの構
造解析を、構造図によって容易に行うことができ、プロ
グラムの変更や保守を簡易化することができる。
【図面の簡単な説明】
第1図は本発明の原理説明図。 第2図は本発明の詳細な説明するためのソースプログラ
ムの例。 第3図は本発明の実施例による構造図編集画面の例。 第4図は本発明の詳細な説明するための構造図表記・プ
ログラム言語の対応図。 第5図は本発明の実施例によるセクション挿入の例 第6図は本発明の実施例によるセクション削除の例 第7図は本発明の実施例によるセクション移動の例。 第8図は本発明の実施例に係る番号表示機能説明図。 第9図は本発明の実施例に係る非表示機能説明図。 第10図は本発明の実施例に係るボックス変更機能説明
図 第11図は本発明の実施例に係るレイアウト機能説明図
。 第12図は本発明の実施例による構造図展開処理説明図
。 第13図は本発明の実施例におけるセクション管理説明
図。 第14図は本発明の実施例による編集結果の管理に用い
る作業ファイル説明図 第15図は本発明の一実施例に係る構造図展開表示処理
フロー 第16図は本発明の一実施例に係る構造図編集処理フロ
ーを示す。 図中、10はデータ処理装置、11は主制御部12は構
造図展開表示処理部、13は構造図編集処理部、14は
ソースプログラム反映処理部、15はコマンド処理部、
16は番号表示処理部、17は非表示処理部、18はボ
ックス変更処理部19はレイアウト表示処理部、20は
ジャンプ処理部、21はソースプログラムファイル、2
2は作業ファイル、23はデイスプレィ装置、24は入
力装置を表す。

Claims (1)

  1. 【特許請求の範囲】 1、ソースプログラムの編集機能を有するデータ処理装
    置において、 ソースプログラムを解析し、プログラムの制御構造に関
    係する構成単位をソースプログラムから抽出して、各構
    成単位の結び付きを表す構造図を作成し表示する構造図
    展開表示処理部(12)と、構造図における各構成単位
    についての追加、削除を含む編集を対話型処理により行
    う構造図編集処理部(13)と、 編集された構造図に基づいて、ソースプログラムを新規
    作成または更新するソースプログラム反映処理部(14
    )と を備えたことを特徴とするプログラムの構造図編集処理
    方式。 2、請求項1記載のプログラムの構造図編集処理方式で
    あって、 構造図が各構成単位を要素とする木構造で表され、 コマンドにより、各構成単位についての木構造における
    階層位置を示す情報および対応するソースプログラムに
    おける位置を示す情報を選択的に表示する番号表示処理
    部(16)を備えたことを特徴とするプログラムの構造
    図編集処理方式。 3、請求項1または請求項2記載のプログラムの構造図
    編集処理方式であって、 構造図が各構成単位を要素とする木構造で表され、 コマンドにより、指定された階層以下の構成単位を表示
    しないように処理する非表示処理部(17)を備えたこ
    とを特徴とするプログラムの構造図編集処理方式。 4、請求項1ないし請求項3いずれか記載のプログラム
    の構造図編集処理方式であって、 構造図におけるプログラムの各構成単位がボックスで表
    わされ、 コマンドにより、そのボックス内の表示文字数を変更す
    る処理を行うボックス変更処理部(18)を備えたこと
    を特徴とするプログラムの構造図編集処理方式。 5、請求項1ないし請求項4いずれか記載のプログラム
    の構造図編集処理方式であって、 コマンドにより、構造図の全体を縮小して表示するレイ
    アウト表示処理部(19)と、 縮小して表示したレイアウト表示内における指定位置に
    、表示する構造図の位置づけを行い、その部分に表示先
    を移行するレイアウトによるジャンプ処理部(20)と を備えたことを特徴とするプログラムの構造図編集処理
    方式。
JP12462990A 1990-05-15 1990-05-15 プログラムの構造図編集処理方式 Expired - Fee Related JP3299259B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12462990A JP3299259B2 (ja) 1990-05-15 1990-05-15 プログラムの構造図編集処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12462990A JP3299259B2 (ja) 1990-05-15 1990-05-15 プログラムの構造図編集処理方式

Publications (2)

Publication Number Publication Date
JPH0424733A true JPH0424733A (ja) 1992-01-28
JP3299259B2 JP3299259B2 (ja) 2002-07-08

Family

ID=14890144

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12462990A Expired - Fee Related JP3299259B2 (ja) 1990-05-15 1990-05-15 プログラムの構造図編集処理方式

Country Status (1)

Country Link
JP (1) JP3299259B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7046246B2 (en) 1999-03-29 2006-05-16 Fujitsu Limited Graphic editing apparatus graphic editing method and storage medium on which is recorded a program for graphic editing
JP2007272186A (ja) * 2006-03-09 2007-10-18 Konica Minolta Medical & Graphic Inc 学習支援システム、及び学習支援方法
JP2010134944A (ja) * 2009-12-28 2010-06-17 Fujitsu Ltd プログラム、編集方法、およびコンピュータ
US7930679B2 (en) 2004-04-28 2011-04-19 Fujitsu Limited Source-code-generation supporting method and computer product

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7046246B2 (en) 1999-03-29 2006-05-16 Fujitsu Limited Graphic editing apparatus graphic editing method and storage medium on which is recorded a program for graphic editing
US7930679B2 (en) 2004-04-28 2011-04-19 Fujitsu Limited Source-code-generation supporting method and computer product
JP2007272186A (ja) * 2006-03-09 2007-10-18 Konica Minolta Medical & Graphic Inc 学習支援システム、及び学習支援方法
JP2010134944A (ja) * 2009-12-28 2010-06-17 Fujitsu Ltd プログラム、編集方法、およびコンピュータ

Also Published As

Publication number Publication date
JP3299259B2 (ja) 2002-07-08

Similar Documents

Publication Publication Date Title
US6792595B1 (en) Source editing in a graphical hierarchical environment
JP4058118B2 (ja) プログラム生成システム及び方法
US8386919B2 (en) System for displaying an annotated programming file
JP3441309B2 (ja) 図的プログラミングにおける機能オブジェクトの表示方法
JPH04337843A (ja) プログラム動作表示方法
JPH07230538A (ja) グラフィカル・ユーザ・インターフェース
JPH04303246A (ja) データ処理システムにおける切貼りフィルタ
JPH07200278A (ja) 図形を用いたプログラミングシステム
JPH07239850A (ja) 構造化文書作成支援システム
WO2002021314A2 (en) Integrated design environment for a commerce server system
JPH0424733A (ja) プログラムの構造図編集処理方式
JP2000353083A (ja) 要求仕様記述支援装置およびその方法、記録媒体
JPH10240732A (ja) Www用htmlファイル作成方法及び装置
JPH0384661A (ja) 文書作成装置
JP2833158B2 (ja) ハイパーメディア装置のブラウザ表示方法
Ludewig et al. SPADES—a specification and design system and its graphical interface
JPH05204626A (ja) ソフトウェア開発支援システムの開発支援ツール起動方法
JPH03119465A (ja) 文書編集装置
JPH08147317A (ja) データ管理システムおよびそのデータ管理方法
Amsellem ChyPro: A hypermedia programming environment for SmallTalk-80
JPH07306776A (ja) ビジュアルプログラミング方法
JPH0365759A (ja) 表の編集処理方式
JP3966355B2 (ja) プログラム生成方法および装置
JPH02297149A (ja) 文書作成格納方式
JP2005259169A (ja) プログラム作成方法

Legal Events

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

Free format text: PAYMENT UNTIL: 20080419

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090419

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees