JP2000181691A - プログラム構造解析方式 - Google Patents

プログラム構造解析方式

Info

Publication number
JP2000181691A
JP2000181691A JP10355685A JP35568598A JP2000181691A JP 2000181691 A JP2000181691 A JP 2000181691A JP 10355685 A JP10355685 A JP 10355685A JP 35568598 A JP35568598 A JP 35568598A JP 2000181691 A JP2000181691 A JP 2000181691A
Authority
JP
Japan
Prior art keywords
program
subprogram
access
programs
read
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
JP10355685A
Other languages
English (en)
Inventor
Harunobu Uehara
晴信 上原
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP10355685A priority Critical patent/JP2000181691A/ja
Publication of JP2000181691A publication Critical patent/JP2000181691A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 ドキュメント作成の作業負荷を軽減し、作成
者の能力レベルや経験度に依存しない正確で統一された
ドキュメントの作成を可能にする。 【解決手段】 サブプログラムアクセス解析手段21
は、プログラム読込み手段24により取得されたプログ
ラミング言語の識別情報に対応するサブプログラム呼出
しコマンドをサブプログラム呼出しコマンド記憶部22
から検索し、解析対象のプログラムと当該サブプログラ
ム呼出しコマンドに基づいて検出されるサブプログラム
名を有するサブプログラムとの間の親子関係をプログラ
ム構造マップ30上にビジュアルに表示出力する。デー
タベースアクセス解析手段23は、解析対象のプログラ
ムにおいて標準SQLで定義されたSQLコマンドを検
索し、当該検索結果に基づく「当該プログラムとデータ
ベースとの間のアクセス関係」をプログラム構造マップ
30上にビジュアルに表示出力する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、システム開発(い
くつかのプログラムによって構成されるソフトウェアシ
ステムの開発)において開発対象のプログラムの仕様等
を記述したドキュメントを作成する際に当該プログラム
の構造解析を行うプログラム構造解析方式に関する。
【0002】なお、本発明のプログラム構造解析方式
は、上記のような「システム開発時」のみならず、「現
行システムの現状分析時」においても効力を発揮する。
特に、構成要素のプログラムのドキュメントが十分に整
備されていないシステムや、仕様変更が頻繁に発生して
ドキュメント作成が間に合わない状態のシステムを、分
析・整理する際に有効なものとなる。
【0003】
【従来の技術】従来、システム開発における開発対象の
プログラムの仕様等が記述されたドキュメントの作成
は、一般に、プログラム開発者によってコーディングが
行われた後に、プログラム開発者自身によって行われて
いた。したがって、当該プログラムの構造解析も、プロ
グラム開発者自身によって行われていた。
【0004】
【発明が解決しようとする課題】上述した従来の技術に
は、以下に示すような問題点があった。
【0005】第1の問題点は、「プログラムの構造解
析」を含むドキュメントの作成のためのプログラム開発
者の作業負荷が大きくなるということである。
【0006】このような問題点が生じる理由は、プログ
ラム開発の現場ではプログラムのコーディングやテスト
が優先され、ドキュメント作成作業が後回しになること
が多いので、ドキュメントの作成のための作業時間が十
分にとれないために、プログラム開発者は短期間でドキ
ュメント作成作業を行わなければならないからである。
【0007】第2の問題点は、システム全体を通じたド
キュメントの統一性を確保することが困難になるという
ことである。
【0008】このような問題点が生じる理由は、一般的
に、システム開発では、複数のプログラム開発者により
プログラムのコーディングが行われ、それぞれのプログ
ラム開発者によって当該プログラムに関するドキュメン
ト作成が行われることになるので、当然、能力レベルや
経験の度合いにより表現方法や精密度の異なるドキュメ
ントが作成されることになるからである。なお、通常、
このような状況が想定される場合には、ドキュメント作
成に関する標準規則が導入され、その標準規則の徹底が
各プログラム開発者に対して図られる。しかし、全ての
プログラム開発者が完全に標準規則に適合する統一性を
持った正確なドキュメントの作成を行うということは、
一般的には困難なことである。
【0009】本発明の目的は、上述の点に鑑み、入力プ
ログラムソースファイル内のプログラムの構造解析を行
い、当該プログラムとサブプログラム(当該プログラム
に対するサブプログラム)との親子関係や当該プログラ
ムとデータベース(当該プログラムによって使用される
データベース)とのアクセス関係をビジュアルに表現す
る機能(それらの関係を有するプログラム構造マップを
自動的に生成する機能)を実現し、プログラム開発者に
より行われるドキュメント作成の作業負荷を軽減し、複
数のプログラム開発者の能力レベルや経験度合いに依存
しない正確で統一されたドキュメントの作成を可能にす
るプログラム構造解析方式を提供することにある。
【0010】すなわち、本発明では、入力プログラムソ
ースファイルから解析対象のプログラムを読み込むだけ
で自動的にプログラム構造マップが生成されるので、ド
キュメント作成の作業負荷を軽減することができ、上記
の第1の問題点を解決することができる。
【0011】また、本発明では、入力プログラムソース
ファイルから解析対象のプログラムを読み込むだけで自
動的にプログラム構造マップが生成されるので、ドキュ
メント作成者の能力レベルや経験度に依存しない、漏れ
のない正確で統一されたドキュメントの作成を可能にす
ることができ、上記の第2の問題点を解決することがで
きる。
【0012】なお、本発明に対する従来技術に関する特
許公報としては、特開平3−246626号公報があ
る。当該公報に係る技術である「関数のプログラム構造
図自動作成ツール」は、「複数の階層構造を有する関数
を含むソースプログラムと、その階層構造を図式化し、
関数のプログラム構造図として出力するツールとから成
り、前記ツールは、ソースプログラムを入力すると、階
層構造を有する前記関数を検出して図式化し、前記関数
の関数のプログラム構造図として出力すること」を特徴
とするものである。しかしながら、当該従来技術には、
解析対象のプログラム(ソースプログラム)のプログラ
ミング言語が1種類に限定されているという問題点があ
る。すなわち、プログラミング言語毎にサブプログラム
呼出しのための記述方法が異なるにもかかわらず、当該
従来技術では、異なるサブプログラム呼出しのための記
述方法には対処できないので、解析対象のソースプログ
ラムを記述しているプログラミング言語が1種類に限定
されてしまう。
【0013】これに対して、本発明では、プログラミン
グ言語毎に異なるサブプログラム呼出しのための記述方
法に対応でき、上記の従来技術における問題点を解決す
ることができる。また、本発明は、データベースアクセ
スコマンドの記述を標準SQL(System Que
ry Language)に準拠させることにより、デ
ータベースアクセスに関してもプログラミング言語に依
存しない検索を可能としている。
【0014】
【課題を解決するための手段】本発明のプログラム構造
解析方式は、入力プログラムソースファイル内のプログ
ラムの構造解析を行うプログラム構造解析方式におい
て、1以上のプログラミング言語におけるサブプログラ
ム呼出しコマンドを記憶するサブプログラム呼出しコマ
ンド記憶部と、前記入力プログラムソースファイル内の
解析対象のプログラムを読み込み、当該プログラムのプ
ログラミング言語の識別情報を取得するプログラム読込
み手段と、前記プログラム読込み手段により取得された
プログラミング言語の識別情報に対応するサブプログラ
ム呼出しコマンドを前記サブプログラム呼出しコマンド
記憶部から検索し、前記プログラム読込み手段により読
み込まれたプログラムと当該サブプログラム呼出しコマ
ンドに基づいて検出されるサブプログラム名を有するサ
ブプログラムとの間の親子関係をプログラム構造マップ
上にビジュアルに表示出力するサブプログラムアクセス
解析手段と、前記プログラム読込み手段により読み込ま
れたプログラムにおいて標準SQLで定義されたSQL
コマンドを検索し、当該検索結果に基づく「当該プログ
ラムとデータベースとの間のアクセス関係」を前記プロ
グラム構造マップ上にビジュアルに表示出力するデータ
ベースアクセス解析手段とを有する。
【0015】また、本発明のプログラム構造解析方式
は、解析対象のプログラムおよび当該プログラムに対す
るサブプログラム群を格納する入力プログラムソースフ
ァイル内の当該プログラムの構造解析を行うプログラム
構造解析方式において、前記入力プログラムソースファ
イル内のサブプログラム群を参照して解析対象のプログ
ラムに対するサブプログラム名の一覧を取得するサブプ
ログラム名一覧取得手段と、前記入力プログラムソース
ファイル内の解析対象のプログラムを読み込むプログラ
ム読込み手段と、前記サブプログラム名一覧取得手段に
より取得されたサブプログラム名の一覧を参照して前記
プログラム読込み手段により読み込まれたプログラムか
ら当該サブプログラム名を検索し、前記プログラム読込
み手段により読み込まれたプログラムと当該サブプログ
ラム名を有するサブプログラムとの間の親子関係をプロ
グラム構造マップ上にビジュアルに表示出力するサブプ
ログラムアクセス解析手段と、前記プログラム読込み手
段により読み込まれたプログラムにおいて標準SQLで
定義されたSQLコマンドを検索し、当該検索結果に基
づく「当該プログラムとデータベースとの間のアクセス
関係」を前記プログラム構造マップ上にビジュアルに表
示出力するデータベースアクセス解析手段とを有する構
成にすることも可能である。
【0016】
【発明の実施の形態】次に、本発明について図面を参照
して詳細に説明する。
【0017】(1) 第1の実施の形態 図1は、本発明の第1の実施の形態に係るプログラム構
造解析方式の構成を示すブロック図である。
【0018】本実施の形態に係るプログラム構造解析方
式は、入力プログラムソースファイル10と、プログラ
ム構造解析装置20と、プログラム構造マップ30とを
含んで構成されている。
【0019】入力プログラムソースファイル10は、プ
ログラム構造解析の対象となるプログラム(解析対象の
プログラム)のソースファイルであり、テキストファイ
ルの形式で構成されている。
【0020】プログラム構造解析装置20は、入力プロ
グラムソースファイル10内の解析対象のプログラムを
読み込み、当該プログラムの内容を検索・解析する装置
(ソフトウェアとして実現される装置)である。このプ
ログラム構造解析装置20は、サブプログラムアクセス
解析手段21と、サブプログラム呼出しコマンド記憶部
22と、データベースアクセス解析手段23と、プログ
ラム読込み手段24とを含んで構成されている。なお、
本実施の形態では、図1において破線で示す記憶部保守
手段220は存在しないものとする(この記憶部保守手
段220に関しては後に説明する)。
【0021】サブプログラムアクセス解析手段21は、
入力プログラムソースファイル10内の解析対象のプロ
グラム中でサブプログラムを呼び出している部分(本実
施の形態では、「サブプログラム呼出しコマンドが存在
する部分」)を検索し、その検索結果に基づく「当該プ
ログラムとサブプログラムとの間の親子関係」をプログ
ラム構造マップ30上にビジュアルに(図形および線か
らなるGUI(Graphic User Inter
face)の形式で)表示出力する。
【0022】サブプログラム呼出しコマンド記憶部22
は、プログラミング言語毎に異なるサブプログラム呼出
しコマンドを示す文字列を静的に記憶する。具体的に
は、各プログラミング言語の識別情報と当該プログラミ
ング言語におけるサブプログラム呼出しコマンドを示す
文字列との対応情報を記憶している。サブプログラムア
クセス解析手段21は、このサブプログラム呼出しコマ
ンド記憶部22に記憶されている情報を使用して、「解
析対象のプログラム中でサブプログラムを呼び出してい
る部分」の検索を行う。
【0023】データベースアクセス解析手段23は、入
力プログラムソースファイル10内の解析対象のプログ
ラム中でデータベースにアクセスしている部分を検索
し、その検索結果に基づく「当該プログラムとデータベ
ースとの間のアクセス関係」をプログラム構造マップ3
0上にビジュアルに(図形および線からなるGUIの形
式で)表示出力する。
【0024】プログラム読込み手段24は、入力プログ
ラムソースファイル10内の解析対象のプログラムを読
み込み、当該プログラムのプログラミング言語の識別情
報を取得する。この取得の態様としては、ユーザからの
指示を受け取る態様や、当該プログラムの記述内容に基
づいて認識する態様等が考えられる。
【0025】プログラム構造マップ30には、入力プロ
グラムソースファイル10内の解析対象のプログラムの
構造解析の結果が表示出力され、当該プログラムとサブ
プログラムとの間の親子関係や当該プログラムとデータ
ベースとの間のアクセス関係がビジュアルに表示出力さ
れる。
【0026】図2は、本実施の形態に係るプログラム構
造解析方式の処理を示す流れ図である。この処理は、解
析対象プログラム読込みステップ201と、プログラミ
ング言語識別情報取得ステップ202と、プログラム内
容引渡しステップ203と、サブプログラム呼出し部分
検索ステップ204と、サブプログラム関連検索結果表
示出力ステップ205と、データベースアクセス部分検
索ステップ206と、データベース関連検索結果表示出
力ステップ207とからなる。
【0027】図3は、入力プログラムソースファイル1
0内の解析対象のプログラム(ここでは、プログラム名
が「program1」であるプログラム)と、各種プ
ログラミング言語(上記の解析対象のプログラムを記述
するプログラミング言語を含む)に対するサブプログラ
ム呼出しコマンドを記憶するサブプログラム呼出しコマ
ンド記憶部22と、上記の解析対象のプログラムに対応
するプログラム構造マップ30とについて、それらの内
容の具体例を示す図である。ここで、入力プログラムソ
ースファイル10内の解析対象のプログラムは、「su
b」をサブプログラム呼出しコマンドとする架空のプロ
グラミング言語(識別情報が「Gengo」であるもの
とする)で記述されているプログラムであるものとす
る。
【0028】図4は、プログラム構造マップ30の内容
の他の具体例を示す図である。
【0029】次に、このように構成された本実施の形態
に係るプログラム構造解析方式の全体の動作について詳
細に説明する。
【0030】プログラム構造解析装置20内のプログラ
ム読込み手段24は、入力プログラムソースファイル1
0から解析対象のプログラム(ここでは、プログラム名
が「program1」であるプログラム)を読み込み
(ステップ201)、当該プログラムのプログラミング
言語の識別情報を取得する(ステップ202)。
【0031】さらに、プログラム読込み手段24は、当
該プログラムの内容をサブプログラムアクセス解析手段
21とデータベースアクセス解析手段23とに渡す(ス
テップ203)。
【0032】サブプログラムアクセス解析手段21は、
入力プログラムソースファイル10内の解析対象のプロ
グラムの中でサブプログラムを呼び出している部分に関
する検索を行う(ステップ204)。この検索手順は、
以下のa〜cに示すようなものである。
【0033】a.当該プログラムのプログラミング言語
の識別情報(プログラム読込み手段24で取得された識
別情報)に対するものとしてサブプログラム呼出しコマ
ンド記憶部22に記憶されているサブプログラム呼出し
コマンドの文字列を読み込む。
【0034】b.次に、当該プログラムにおいて、順
次、それらの文字列(サブプログラム呼出しコマンド)
を検索する。
【0035】c.上記のbの検索で当該文字列を検出し
た場合には、当該文字列で先導される部分を「サブプロ
グラムを呼び出している部分 」として認識し、当該文
字列の次の文字列を当該プログラムが呼び出しているサ
ブプログラムのプログラム名(サブプログラム名)と判
断する。なお、この際に、当該呼出しにおける引数をも
認識する。
【0036】例えば、図3に示すように、サブプログラ
ム呼出しコマンド記憶部22に識別情報「Gengo」
のプログラミング言語に対応するサブプログラム呼出し
コマンドとして文字列「sub」が記憶されている場合
には、入力プログラムソースファイル10内の解析対象
のプログラム(プログラム名が「program1」の
プログラム)の中から文字列「sub」という書き出し
で始まっている部分を検索し、「sub」の次の文字列
の「program11」をサブプログラム名と判断す
る。
【0037】サブプログラムアクセス解析手段21は、
ステップ204における検索結果をプログラム構造マッ
プ30上に図形および線としてビジュアルに表示出力す
る(ステップ205)。この表示出力手順は、以下のa
〜cに示すようなものである。
【0038】a.入力プログラムソースファイル10内
の解析対象のプログラムのプログラム名が記述された図
形と、ステップ204の検索で取得したサブプログラム
名が記述された図形とを、プログラム構造マップ30上
に表示する。
【0039】b.その後に、それらの図形の間を線で結
ぶ。
【0040】c.さらに、当該プログラムが当該サブプ
ログラムを呼ぶ出すときの引数を、上記のbにおける線
の近傍に表示する。
【0041】例えば、図3に示すように、解析対象のプ
ログラムのプログラム名である「program1」が
記述された図形(二重線で囲まれた長方形)と上記の検
索で検出されたサブプログラム名である「progra
m11」が記述された図形(長方形)とをプログラム構
造マップ30上に表示し、それらの図形の間を線で結
び、その線の近傍に引数の「(a,b)」を表示する。
【0042】一方、データベースアクセス解析手段23
は、入力プログラムソースファイル10内の解析対象の
プログラムにおいて、データベースにアクセスしている
SQL文(標準SQLで定義されたSQLコマンド)の
検索を行う(ステップ206)。
【0043】例えば、図3に示すように、入力プログラ
ムソースファイル10内の解析対象のプログラム中に
「select KINGAKU from TBL1
where K−CODE=’1234’」とあった
場合に、from句に続く「TBL1」というデータベ
ース名のデータベースに「select」というSQL
コマンドによるアクセスがあるものと認識する。そし
て、上記の例と同様にして、標準SQLで定義されたS
QLコマンド(図3では、「select」の他に、
「update」および「insert」がある)を全
て検索する。
【0044】データベースアクセス解析手段23は、ス
テップ206における検索結果をプログラム構造マップ
30上に図形および線としてビジュアルに表示出力する
(ステップ207)。この表示出力手順は、以下のa〜
cに示すようなものである。なお、データベースアクセ
ス解析手段23による表示出力は、サブプログラムアク
セス解析手段21による表示出力(ステップ205参
照)に重ねて行われる。
【0045】a.入力プログラムソースファイル10内
の解析対象のプログラムのプログラム名が記述された図
形と、ステップ206の検索で取得したデータベース名
が記述された図形とを、プログラム構造マップ30上に
表示する。
【0046】b.その後に、それらの図形の間を線で結
ぶ。
【0047】c.さらに、当該プログラムが当該データ
ベースをアクセスする際のSQLコマンドを、上記のb
における線の近傍に表示する。
【0048】例えば、図3に示すように、解析対象のプ
ログラムのプログラム名である「program1」が
記述された図形(二重線で囲まれた長方形)と上記の検
索で検出されたデータベース名である「TBL1」およ
び「TBL2」が記述された図形(円筒を示す図形)と
をプログラム構造マップ30上に表示し、それらの図形
の間を線で結び、その線の近傍にSQLコマンドの「s
elect」,「update」,および「inser
t」を表示する。
【0049】なお、サブプログラムアクセス解析手段2
1およびデータベースアクセス解析手段23による「プ
ログラム構造マップ30への検索結果のビジュアルな表
示出力」は、本実施の形態におけるような「図形および
線からなるGUIの形式での表示出力」の態様に限られ
ず、図4に示すような「表形式によるテキスト形式での
表示出力」の態様等であってもよい。
【0050】また、本実施の形態に対して、図1中の破
線の長方形で示す「記憶部保守手段220」を設けるこ
とも可能である。この場合に、記憶部保守手段220
は、サブプログラム呼出しコマンド記憶部22に対する
情報(プログラミング言語の識別情報と当該プログラミ
ング言語におけるサブプログラム呼出しコマンドとの対
応情報)の追加および修正による保守を行う。これによ
って、新しく開発されるプログラミング言語にも対応す
ることが可能になる。
【0051】(2) 第2の実施の形態 図5は、本発明の第2の実施の形態に係るプログラム構
造解析方式の構成を示すブロック図である。
【0052】本実施の形態に係るプログラム構造解析方
式は、上述の第1の実施の形態と同様に、入力プログラ
ムソースファイル10と、プログラム構造解析装置20
と、プログラム構造マップ30とを含んで構成されてい
る。
【0053】入力プログラムソースファイル10は、解
析対象のプログラムおよび当該プログラムに対するサブ
プログラム群のソースファイルであり、テキストファイ
ルの形式で構成されている。
【0054】プログラム構造解析装置20は、入力プロ
グラムソースファイル10内の解析対象のプログラムを
読み込み、当該プログラムの内容を検索・解析する装置
(ソフトウェアとして実現される装置)である。このプ
ログラム構造解析装置20は、サブプログラムアクセス
解析手段21と、データベースアクセス解析手段23
と、プログラム読込み手段24と、サブプログラム名一
覧取得手段25とを含んで構成されている。
【0055】サブプログラムアクセス解析手段21は、
サブプログラム名一覧取得手段25により取得されたサ
ブプログラム名の一覧を参照して、プログラム読込み手
段24により読み込まれたプログラムから当該サブプロ
グラム名を検索し、プログラム読込み手段24により読
み込まれたプログラムと当該サブプログラム名を有する
サブプログラムとの間の親子関係をプログラム構造マッ
プ30上にビジュアルに表示出力する。
【0056】データベースアクセス解析手段23は、入
力プログラムソースファイル10内の解析対象のプログ
ラムにおいて標準SQLで定義されたSQLコマンドを
検索し、当該検索結果に基づく「当該プログラムとデー
タベースとの間のアクセス関係」をプログラム構造マッ
プ30上にビジュアルに表示出力する。
【0057】プログラム読込み手段24は、入力プログ
ラムソースファイル10内の解析対象のプログラムを読
み込む。
【0058】サブプログラム名一覧取得手段25は、入
力プログラムソースファイル10内の解析対象のプログ
ラムに対するサブプログラム群のプログラム名(サブプ
ログラム名)の一覧を取得する。
【0059】プログラム構造マップ30には、入力プロ
グラムソースファイル10内の解析対象のプログラムの
構造解析の結果が表示出力され、当該プログラムとサブ
プログラムとの間の親子関係や当該プログラムとデータ
ベースとの間のアクセス関係がビジュアルに(図形およ
び線からなるGUIの形式等で)表示出力される。
【0060】第1の実施の形態と本実施の形態との差異
は、サブプログラム名の取得の方法の違いにある。すな
わち、第1の実施の形態では、サブプログラム呼出しコ
マンド記憶部22内の情報に基づいて解析対象のプログ
ラム中のサブプログラム名の検索が行われていたが、本
実施の形態では、解析対象のプログラムの検索に先立っ
てサブプログラム名一覧取得手段25によるサブプログ
ラム名の一覧の取得が行われて、当該一覧が参照されて
解析対象のプログラムに対するサブプログラム名の検索
が行われる。
【0061】なお、上記の差異以外の点については、本
実施の形態の動作と第1の実施の形態の動作とは同様な
ものとなる。
【0062】(3) 第3の実施の形態 図6は、本発明の第3の実施の形態に係るプログラム構
造解析方式の構成を示すブロック図である。
【0063】本実施の形態に係るプログラム構造解析方
式は、上述の第1の実施の形態と同様に、入力プログラ
ムソースファイル10と、プログラム構造解析装置20
と、プログラム構造マップ30とを含んで構成されてい
る。
【0064】入力プログラムソースファイル10は、解
析対象の複数のプログラムのソースファイルであり、テ
キストファイルの形式で構成されている。
【0065】プログラム構造解析装置20は、入力プロ
グラムソースファイル10内の解析対象の複数のプログ
ラムを読み込み、当該複数のプログラムの内容を検索・
解析する装置(ソフトウェアとして実現される装置)で
ある。このプログラム構造解析装置20は、サブプログ
ラムアクセス解析手段21と、サブプログラム呼出しコ
マンド記憶部22と、データベースアクセス解析手段2
3と、プログラム読込み手段24とを含んで構成されて
いる。なお、記憶部保守手段220は、第1の実施の形
態に関して説明した通り、任意選択的な構成要素である
(記憶部保守手段220の内容は第1の実施の形態と本
実施の形態とで同様のものである)。
【0066】サブプログラムアクセス解析手段21は、
プログラム読込み手段24により読み込まれた各プログ
ラムについて、プログラム読込み手段24により取得さ
れたプログラミング言語の識別情報に対応するサブプロ
グラム呼出しコマンドをサブプログラム呼出しコマンド
記憶部22から検索する。さらに、プログラム読込み手
段24により読み込まれたプログラムと当該サブプログ
ラム呼出しコマンドに基づいて検出されるサブプログラ
ム名を有するサブプログラムとの間の親子関係をプログ
ラム構造マップ30上にビジュアルに表示出力すること
を、当該複数のプログラムについて統合的に(例えば、
当該複数のプログラムの間の親子関係も示すように)行
う。
【0067】サブプログラム呼出しコマンド記憶部22
は、1以上のプログラミング言語におけるサブプログラ
ム呼出しコマンドを記憶する。
【0068】データベースアクセス解析手段23は、プ
ログラム読込み手段24により読み込まれた各プログラ
ムにおいて標準SQLで定義されたSQLコマンドを検
索する。さらに、当該検索結果に基づく「当該各プログ
ラムとデータベースとの間のアクセス関係」をプログラ
ム構造マップ30上にビジュアルに表示出力すること
を、当該複数のプログラムについて統合的に行う。
【0069】プログラム読込み手段24は、入力プログ
ラムソースファイル10内の解析対象の複数のプログラ
ムを順次読み込み、当該各プログラムのプログラミング
言語の識別情報を取得する。
【0070】プログラム構造マップ30には、入力プロ
グラムソースファイル10内の解析対象の複数のプログ
ラムの構造解析の結果が表示出力され、当該各プログラ
ムとサブプログラムとの間の親子関係や当該各プログラ
ムとデータベースとの間のアクセス関係(当該複数のプ
ログラムの間の関係を含む)がビジュアルに(図形およ
び線からなるGUIの形式等で)表示出力される。
【0071】本実施の形態に係るプログラム構造解析方
式では、第1の実施の形態とは異なり、入力プログラム
ソースファイル10内の解析対象のプログラムは複数に
なっている。また、プログラム構造マップ30には、当
該複数のプログラムのプログラム構造が統合的に表示出
力され、当該複数のプログラムの間の関係も表示出力さ
れる。なお、上記の点以外については、本実施の形態の
動作と第1の実施の形態の動作とは同様なものとなる。
【0072】(4) 第4の実施の形態 図7は、本発明の第4の実施の形態に係るプログラム構
造解析方式の構成を示すブロック図である。
【0073】本実施の形態に係るプログラム構造解析方
式は、上述の第2の実施の形態と同様に、入力プログラ
ムソースファイル10と、プログラム構造解析装置20
と、プログラム構造マップ30とを含んで構成されてい
る。
【0074】入力プログラムソースファイル10は、解
析対象の複数のプログラムおよび当該各プログラムに対
するサブプログラム群のソースファイルであり、テキス
トファイルの形式で構成されている。
【0075】プログラム構造解析装置20は、入力プロ
グラムソースファイル10内の解析対象の複数のプログ
ラムを読み込み、当該複数のプログラムの内容を検索・
解析する装置(ソフトウェアとして実現される装置)で
ある。このプログラム構造解析装置20は、サブプログ
ラムアクセス解析手段21と、データベースアクセス解
析手段23と、プログラム読込み手段24と、サブプロ
グラム名一覧取得手段25とを含んで構成されている。
【0076】サブプログラムアクセス解析手段21は、
サブプログラム名一覧取得手段25により取得された各
プログラムに対するサブプログラム名の一覧を参照し
て、プログラム読込み手段24により読み込まれた当該
各プログラムから当該サブプログラム名を検索する。さ
らに、プログラム読込み手段24により読み込まれた各
プログラムと当該サブプログラム名を有するサブプログ
ラムとの間の親子関係をプログラム構造マップ30上に
ビジュアルに表示出力することを、当該複数のプログラ
ムについて統合的に行う。
【0077】データベースアクセス解析手段23は、プ
ログラム読込み手段24により読み込まれた各プログラ
ムにおいて標準SQLで定義されたSQLコマンドを検
索する。さらに、当該検索結果に基づく「当該各プログ
ラムとデータベースとの間のアクセス関係」をプログラ
ム構造マップ30上にビジュアルに表示出力すること
を、当該複数のプログラムについて統合的に行う。
【0078】プログラム読込み手段24は、入力プログ
ラムソースファイル10内の解析対象の複数のプログラ
ムを順次読み込む。
【0079】サブプログラム名一覧取得手段25は、入
力プログラムソースファイル10内の各サブプログラム
群を参照して、当該各サブプログラム群に対応する解析
対象の各プログラムに対するサブプログラム名の一覧を
取得する。
【0080】プログラム構造マップ30には、入力プロ
グラムソースファイル10内の解析対象の複数のプログ
ラムの構造解析の結果が表示出力され、当該各プログラ
ムとサブプログラムとの間の親子関係や当該各プログラ
ムとデータベースとの間のアクセス関係(当該複数のプ
ログラムの間の関係を含む)がビジュアルに(図形およ
び線からなるGUIの形式等で)表示出力される。
【0081】本実施の形態に係るプログラム構造解析方
式では、第2の実施の形態とは異なり、入力プログラム
ソースファイル10内の解析対象のプログラムは複数に
なっている。また、プログラム構造マップ30には、当
該複数のプログラムのプログラム構造が統合的に表示出
力され、当該複数のプログラムの間の関係も表示出力さ
れる。なお、上記の点以外については、本実施の形態の
動作と第2の実施の形態の動作とは同様なものとなる。
【0082】(5) 第5の実施の形態 図8は、本発明の第5の実施の形態に係るプログラム構
造解析方式の構成を示すブロック図である。
【0083】図8を参照すると、本発明の第5の実施の
形態に係るプログラム構造解析方式は、図1に示した第
1の実施の形態に係るプログラム構造解析方式に対し
て、プログラム構造解析プログラムを記録した記録媒体
80を備える点が異なっている。この記録媒体80は、
磁気ディスク,半導体メモリ,その他の記録媒体であっ
てよい。
【0084】プログラム構造解析プログラムは、記録媒
体80からコンピュータ100(プログラム構造解析装
置20を実行し、入力プログラムソースファイル10お
よびプログラム構造マップ30の入出力を行うコンピュ
ータ)に読み込まれ、コンピュータ100におけるプロ
グラム構造解析装置20の動作をサブプログラムアクセ
ス解析手段21,サブプログラム呼出しコマンド記憶部
22,データベースアクセス解析手段23,およびプロ
グラム読込み手段24として制御する(任意選択的に、
記憶部保守手段220としても制御する)。プログラム
構造解析プログラムの制御によるプログラム構造解析装
置20の動作は、第1の実施の形態におけるプログラム
構造解析装置20の動作と全く同様になるので、その詳
しい説明を割愛する。
【0085】(6) 第6の実施の形態 図9は、本発明の第6の実施の形態に係るプログラム構
造解析方式の構成を示すブロック図である。
【0086】図9を参照すると、本発明の第6の実施の
形態に係るプログラム構造解析方式は、図5に示した第
2の実施の形態に係るプログラム構造解析方式に対し
て、プログラム構造解析プログラムを記録した記録媒体
90を備える点が異なっている。この記録媒体90は、
磁気ディスク,半導体メモリ,その他の記録媒体であっ
てよい。
【0087】プログラム構造解析プログラムは、記録媒
体90からコンピュータ200(プログラム構造解析装
置20を実行し、入力プログラムソースファイル10お
よびプログラム構造マップ30の入出力を行うコンピュ
ータ)に読み込まれ、コンピュータ200におけるプロ
グラム構造解析装置20の動作をサブプログラムアクセ
ス解析手段21,データベースアクセス解析手段23,
プログラム読込み手段24,およびサブプログラム名一
覧取得手段25として制御する。プログラム構造解析プ
ログラムの制御によるプログラム構造解析装置20の動
作は、第2の実施の形態におけるプログラム構造解析装
置20の動作と全く同様になるので、その詳しい説明を
割愛する。
【0088】
【発明の効果】以上説明したように、本発明では、以下
に示すような効果が生じる。
【0089】第1の効果は、ドキュメント作成の作業負
荷を軽減することができるということである。
【0090】このような効果が生じる理由は、入力プロ
グラムソースファイルから解析対象のプログラムを読み
込むだけで自動的にプログラム構造マップを生成するこ
とができるためである。
【0091】第2の効果は、解析対象のプログラム群
(開発対象等のシステム)について複数のプログラム開
発者がいる場合にも、共通のフォーマットの仕様のドキ
ュメント(全てのプログラム開発者について標準規則に
適合する統一性を持った正確なドキュメント)を作成す
ることができるということである。
【0092】このような効果が生じる理由は、入力プロ
グラムソースファイルから解析対象のプログラムを読み
込むだけで自動的にプログラム構造マップを生成するこ
とができるので、ドキュメント作成者の能力レベルや経
験度に依存しない、漏れのない正確で統一されたドキュ
メントを作成できるためである。
【0093】第3の効果は、上記の効果を実現する上
で、多種類のプログラミング言語に対応することができ
るということである。
【0094】このような効果が生じる理由は、サブプロ
グラム呼出しコマンド記憶部に複数のプログラミング言
語に対応するサブプログラム呼出しコマンドを記憶する
ことや、サブプログラム名一覧取得手段によってあらか
じめ解析対象のプログラムに係るサブプログラム名の一
覧を取得することを、行っているためである。また、デ
ータベースアクセス部分に関しては、標準SQLの仕様
に基づいてデータベース名の検索を行っていることも、
多種類のプログラミング言語に共通して対処できること
に寄与している。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係るプログラム構
造解析方式の構成を示すブロック図である。
【図2】図1に示すプログラム構造解析方式の処理を示
す流れ図である。
【図3】図1中の入力プログラムソースファイル内の解
析対象のプログラム,サブプログラム呼出しコマンド記
憶部,およびプログラム構造マップの内容の具体例を示
す図である。
【図4】図1中のプログラム構造マップの内容の他の具
体例を示す図である。
【図5】本発明の第2の実施の形態に係るプログラム構
造解析方式の構成を示すブロック図である。
【図6】本発明の第3の実施の形態に係るプログラム構
造解析方式の構成を示すブロック図である。
【図7】本発明の第4の実施の形態に係るプログラム構
造解析方式の構成を示すブロック図である。
【図8】本発明の第5の実施の形態に係るプログラム構
造解析方式の構成を示すブロック図である。
【図9】本発明の第6の実施の形態に係るプログラム構
造解析方式の構成を示すブロック図である。
【符号の説明】
10 入力プログラムソースファイル 20 プログラム構造解析装置 21 サブプログラムアクセス解析手段 22 サブプログラム呼出しコマンド記憶部 23 データベースアクセス解析手段 24 プログラム読込み手段 25 サブプログラム名一覧取得手段 30 プログラム構造マップ 80,90 記録媒体 100,200 コンピュータ 220 記憶部保守手段

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 入力プログラムソースファイル内のプロ
    グラムの構造解析を行うプログラム構造解析方式におい
    て、1以上のプログラミング言語におけるサブプログラ
    ム呼出しコマンドを記憶するサブプログラム呼出しコマ
    ンド記憶部と、前記入力プログラムソースファイル内の
    解析対象のプログラムを読み込み、当該プログラムのプ
    ログラミング言語の識別情報を取得するプログラム読込
    み手段と、前記プログラム読込み手段により取得された
    プログラミング言語の識別情報に対応するサブプログラ
    ム呼出しコマンドを前記サブプログラム呼出しコマンド
    記憶部から検索し、前記プログラム読込み手段により読
    み込まれたプログラムと当該サブプログラム呼出しコマ
    ンドに基づいて検出されるサブプログラム名を有するサ
    ブプログラムとの間の親子関係をプログラム構造マップ
    上にビジュアルに表示出力するサブプログラムアクセス
    解析手段と、前記プログラム読込み手段により読み込ま
    れたプログラムにおいて標準SQLで定義されたSQL
    コマンドを検索し、当該検索結果に基づく「当該プログ
    ラムとデータベースとの間のアクセス関係」を前記プロ
    グラム構造マップ上にビジュアルに表示出力するデータ
    ベースアクセス解析手段とを有することを特徴とするプ
    ログラム構造解析方式。
  2. 【請求項2】 前記サブプログラム呼出しコマンド記憶
    部に対する情報の追加および修正による保守を行う記憶
    部保守手段を有することを特徴とする請求項1記載のプ
    ログラム構造解析方式。
  3. 【請求項3】 解析対象のプログラムおよび当該プログ
    ラムに対するサブプログラム群を格納する入力プログラ
    ムソースファイル内の当該プログラムの構造解析を行う
    プログラム構造解析方式において、前記入力プログラム
    ソースファイル内のサブプログラム群を参照して解析対
    象のプログラムに対するサブプログラム名の一覧を取得
    するサブプログラム名一覧取得手段と、前記入力プログ
    ラムソースファイル内の解析対象のプログラムを読み込
    むプログラム読込み手段と、前記サブプログラム名一覧
    取得手段により取得されたサブプログラム名の一覧を参
    照して前記プログラム読込み手段により読み込まれたプ
    ログラムから当該サブプログラム名を検索し、前記プロ
    グラム読込み手段により読み込まれたプログラムと当該
    サブプログラム名を有するサブプログラムとの間の親子
    関係をプログラム構造マップ上にビジュアルに表示出力
    するサブプログラムアクセス解析手段と、前記プログラ
    ム読込み手段により読み込まれたプログラムにおいて標
    準SQLで定義されたSQLコマンドを検索し、当該検
    索結果に基づく「当該プログラムとデータベースとの間
    のアクセス関係」を前記プログラム構造マップ上にビジ
    ュアルに表示出力するデータベースアクセス解析手段と
    を有することを特徴とするプログラム構造解析方式。
  4. 【請求項4】 複数のプログラムを格納する入力プログ
    ラムソースファイル内の当該複数のプログラムの構造解
    析を行うプログラム構造解析方式において、1以上のプ
    ログラミング言語におけるサブプログラム呼出しコマン
    ドを記憶するサブプログラム呼出しコマンド記憶部と、
    前記入力プログラムソースファイル内の解析対象の複数
    のプログラムを順次読み込み、当該各プログラムのプロ
    グラミング言語の識別情報を取得するプログラム読込み
    手段と、前記プログラム読込み手段により読み込まれた
    各プログラムについて前記プログラム読込み手段により
    取得されたプログラミング言語の識別情報に対応するサ
    ブプログラム呼出しコマンドを前記サブプログラム呼出
    しコマンド記憶部から検索し、前記プログラム読込み手
    段により読み込まれたプログラムと当該サブプログラム
    呼出しコマンドに基づいて検出されるサブプログラム名
    を有するサブプログラムとの間の親子関係をプログラム
    構造マップ上にビジュアルに表示出力することを当該複
    数のプログラムについて統合的に行うサブプログラムア
    クセス解析手段と、前記プログラム読込み手段により読
    み込まれた各プログラムにおいて標準SQLで定義され
    たSQLコマンドを検索し、当該検索結果に基づく「当
    該各プログラムとデータベースとの間のアクセス関係」
    を前記プログラム構造マップ上にビジュアルに表示出力
    することを当該複数のプログラムについて統合的に行う
    データベースアクセス解析手段とを有することを特徴と
    するプログラム構造解析方式。
  5. 【請求項5】 前記サブプログラム呼出しコマンド記憶
    部に対する情報の追加および修正による保守を行う記憶
    部保守手段を有することを特徴とする請求項4記載のプ
    ログラム構造解析方式。
  6. 【請求項6】 解析対象の複数のプログラムおよび当該
    各プログラムに対するサブプログラム群を格納する入力
    プログラムソースファイル内の当該複数のプログラムの
    構造解析を行うプログラム構造解析方式において、前記
    入力プログラムソースファイル内の各サブプログラム群
    を参照して当該各サブプログラム群に対応する解析対象
    の各プログラムに対するサブプログラム名の一覧を取得
    するサブプログラム名一覧取得手段と、前記入力プログ
    ラムソースファイル内の解析対象の複数のプログラムを
    順次読み込むプログラム読込み手段と、前記サブプログ
    ラム名一覧取得手段により取得された各プログラムに対
    するサブプログラム名の一覧を参照して前記プログラム
    読込み手段により読み込まれた当該各プログラムから当
    該サブプログラム名を検索し、前記プログラム読込み手
    段により読み込まれた各プログラムと当該サブプログラ
    ム名を有するサブプログラムとの間の親子関係をプログ
    ラム構造マップ上にビジュアルに表示出力することを当
    該複数のプログラムについて統合的に行うサブプログラ
    ムアクセス解析手段と、前記プログラム読込み手段によ
    り読み込まれた各プログラムにおいて標準SQLで定義
    されたSQLコマンドを検索し、当該検索結果に基づく
    「当該各プログラムとデータベースとの間のアクセス関
    係」を前記プログラム構造マップ上にビジュアルに表示
    出力することを当該複数のプログラムについて統合的に
    行うデータベースアクセス解析手段とを有することを特
    徴とするプログラム構造解析方式。
  7. 【請求項7】 ビジュアルな表示出力として、図形およ
    び線からなるGUIの形式での表示出力を行うことを特
    徴とする請求項1,請求項2,請求項3,請求項4,請
    求項5,または請求項6記載のプログラム構造解析方
    式。
  8. 【請求項8】 コンピュータを、1以上のプログラミン
    グ言語におけるサブプログラム呼出しコマンドを記憶す
    るサブプログラム呼出しコマンド記憶部,入力プログラ
    ムソースファイル内の解析対象のプログラムを読み込
    み、当該プログラムのプログラミング言語の識別情報を
    取得するプログラム読込み手段,前記プログラム読込み
    手段により取得されたプログラミング言語の識別情報に
    対応するサブプログラム呼出しコマンドを前記サブプロ
    グラム呼出しコマンド記憶部から検索し、前記プログラ
    ム読込み手段により読み込まれたプログラムと当該サブ
    プログラム呼出しコマンドに基づいて検出されるサブプ
    ログラム名を有するサブプログラムとの間の親子関係を
    プログラム構造マップ上にビジュアルに表示出力するサ
    ブプログラムアクセス解析手段,および前記プログラム
    読込み手段により読み込まれたプログラムにおいて標準
    SQLで定義されたSQLコマンドを検索し、当該検索
    結果に基づく「当該プログラムとデータベースとの間の
    アクセス関係」を前記プログラム構造マップ上にビジュ
    アルに表示出力するデータベースアクセス解析手段とし
    て機能させるためのプログラムを記録した記録媒体。
  9. 【請求項9】 コンピュータを、入力プログラムソース
    ファイル内のサブプログラム群を参照して解析対象のプ
    ログラムに対するサブプログラム名の一覧を取得するサ
    ブプログラム名一覧取得手段,前記入力プログラムソー
    スファイル内の解析対象のプログラムを読み込むプログ
    ラム読込み手段,前記サブプログラム名一覧取得手段に
    より取得されたサブプログラム名の一覧を参照して前記
    プログラム読込み手段により読み込まれたプログラムか
    ら当該サブプログラム名を検索し、前記プログラム読込
    み手段により読み込まれたプログラムと当該サブプログ
    ラム名を有するサブプログラムとの間の親子関係をプロ
    グラム構造マップ上にビジュアルに表示出力するサブプ
    ログラムアクセス解析手段,および前記プログラム読込
    み手段により読み込まれたプログラムにおいて標準SQ
    Lで定義されたSQLコマンドを検索し、当該検索結果
    に基づく「当該プログラムとデータベースとの間のアク
    セス関係」を前記プログラム構造マップ上にビジュアル
    に表示出力するデータベースアクセス解析手段として機
    能させるためのプログラムを記録した記録媒体。
JP10355685A 1998-12-15 1998-12-15 プログラム構造解析方式 Pending JP2000181691A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10355685A JP2000181691A (ja) 1998-12-15 1998-12-15 プログラム構造解析方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10355685A JP2000181691A (ja) 1998-12-15 1998-12-15 プログラム構造解析方式

Publications (1)

Publication Number Publication Date
JP2000181691A true JP2000181691A (ja) 2000-06-30

Family

ID=18445248

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10355685A Pending JP2000181691A (ja) 1998-12-15 1998-12-15 プログラム構造解析方式

Country Status (1)

Country Link
JP (1) JP2000181691A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007122207A (ja) * 2005-10-26 2007-05-17 Fujitsu Ltd プログラム分析プログラム、プログラム分析装置、プログラム分析方法
JP2009080681A (ja) * 2007-09-26 2009-04-16 Hitachi Software Eng Co Ltd プログラム構造解析方法及び装置
JP2019016201A (ja) * 2017-07-07 2019-01-31 三菱電機インフォメーションシステムズ株式会社 プログラム比較方法、プログラム比較装置およびプログラム比較プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007122207A (ja) * 2005-10-26 2007-05-17 Fujitsu Ltd プログラム分析プログラム、プログラム分析装置、プログラム分析方法
JP2009080681A (ja) * 2007-09-26 2009-04-16 Hitachi Software Eng Co Ltd プログラム構造解析方法及び装置
JP2019016201A (ja) * 2017-07-07 2019-01-31 三菱電機インフォメーションシステムズ株式会社 プログラム比較方法、プログラム比較装置およびプログラム比較プログラム

Similar Documents

Publication Publication Date Title
US6279006B1 (en) Structured data management system and computer-readable recording medium storing structured data management program
US7912872B2 (en) Storing and retrieving the visual form of data
EP0785510B1 (en) Program debugging system for debugging a program having a graphical user interface
US6286131B1 (en) Debugging tool for linguistic applications
AU4098700A (en) Circuit arrangement for measuring the resistances of a pressure-sensitive resistance mat
JPH09212352A (ja) プログラム開発支援システム
US7062751B2 (en) Sequence analysis method and apparatus
JPH0683598A (ja) ジョブフロー仕様書自動作成方法
JP3828379B2 (ja) テスト仕様生成支援装置、方法、プログラム及び記録媒体
US6405189B1 (en) Method and apparatus for amplifying design information into software products
US5649180A (en) Method for generating hierarchical specification information from software
JP2000181691A (ja) プログラム構造解析方式
US5551036A (en) Method and system for generating operation specification object information
US5819287A (en) Database driven automatic program production system
JPH06290039A (ja) プログラム変更方法
JP3166699B2 (ja) オブジェクト指向プログラム設計支援装置、方法および記録媒体
JPH05197534A (ja) プログラムデータベースシステム
JPS6254337A (ja) プログラムの階層指定表示方式
JP2762934B2 (ja) テスト項目設計支援システム
US6564200B1 (en) Apparatus for cross referencing routines and method therefor
JP2000322295A (ja) データベースストアドサブプログラム用プログラミング支援方法ならびに装置
JPH056291A (ja) テスト資源の作成・管理方法
JPH07281879A (ja) アプリケーションプログラム編集装置
JPH0667870A (ja) ソフトウエア分析装置
JP3419483B2 (ja) 自然言語処理装置及びその方法

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term