JP2001092651A - システム解析装置及び方法、並びに解析プログラムを格納した記憶媒体 - Google Patents
システム解析装置及び方法、並びに解析プログラムを格納した記憶媒体Info
- Publication number
- JP2001092651A JP2001092651A JP27160899A JP27160899A JP2001092651A JP 2001092651 A JP2001092651 A JP 2001092651A JP 27160899 A JP27160899 A JP 27160899A JP 27160899 A JP27160899 A JP 27160899A JP 2001092651 A JP2001092651 A JP 2001092651A
- Authority
- JP
- Japan
- Prior art keywords
- data item
- program
- data
- access status
- programs
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/75—Structural analysis for program understanding
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
目及びプロセスの結合関係を解析する。 【解決手段】プログラム等を分析し、プログラムの各ス
テップごとにデータ項目に対するアクセス命令の種類及
び回数を調べる(ステップ13)。そして、アクセス命
令の種類等によりデータ項目結合度を計算し、システム
要件等により結合度の値を補正する(ステップ15及び
17)。補正された結合度を参照して、結合度の高いプ
ロセスを収集する(ステップ21)。収集されたプロセ
スの塊などから、プロセス及びデータ項目の分割を実施
する(ステップ22)。分割されたプロセス及びデータ
項目に基づき、プロセス間のインターフェースを表示す
る(ステップ25)。
Description
に関し、より詳しくは、既存システム内のサブシステム
を他の資産から分離等するために使用されるシステム解
析技術に関する。
システムでも中心となる機能は現行システムとあまり変
わらないということもあって、現行システムのサブシス
テムを再利用することが開発費用の削減と開発期間の短
縮の両面から必要とされている。再利用するためには、
膨大な既存システムの資産から再利用に必要なサブシス
テムを分離・分割することが必要となる。現在このシス
テムの分離・分割は、開発時の設計ドキュメントや開発
者の知識を使用して行われているが、設計時のノウハウ
に負うところが大きい。しかし、このような人間の経験
などに依存する手法では、再利用するシステム資産を明
確にすることができず、余分な開発費用と期間を必要と
する場合も生ずる。加えて、再利用部分と新規開発部分
のインターフェースの設計ミスにより開発途中のコスト
増加につながる危険性が高くなる。
り、設計ドキュメントと現行システムに不一致があった
り、現行システムの開発者が不在であったりすると、現
行システムのサブシステムをまとめたり、サブシステム
単位に再利用、新規開発、パッケージ適用等といった検
討すら簡単にはできないので、システム自体の解析が必
要となる。
化されている今日においては、業務自体がブラックボッ
クス化されてしまっていたり、業務同士の関係が複雑化
しているため、すべてを新規に開発することは非常に難
しく、この点においても現行システムの再構築には現行
システム自体の解析作業が必須となる。
は、現行システムを解析するためのシステム解析装置及
び方法並びに解析プログラムを提供することである。
り、現行システムの分割等に使用するための情報を得る
ことも目的である。
る、1又は複数のプログラムを含むシステムを解析する
装置は、プログラム内におけるデータ項目アクセス状況
を調査する手段と、プログラム、プログラムの集合又は
プログラムの部分のうちの少なくとも一つであるプロセ
スとデータ項目の結合関係を、データ項目アクセス状況
に基づき解析する解析器とを有する。データ項目は、例
えば、データ・ファイル内のデータ項目、電文メッセー
ジ内のデータ項目、サブプログラム・インターフェース
内のデータ項目である。このようにシステム解析として
データ項目及びプロセスの結合関係を解析することによ
り、システムの分割などに役立つ情報を得ることができ
る。より具体的には、様々な単位のプロセス(プログラ
ムの部分、プログラム自体、JOB、サブシステム)の
まとまり、データ項目のまとまり、データ項目とプロセ
スの結合関係を明確化することができる。
状況に含まれる、データ項目に対するアクセスの態様
(例えば参照・更新など)及びアクセス回数を数量化
し、数量化されたデータ項目アクセス状況データを生成
する手段を含むような構成とすることも可能である。数
値化することによりデータ項目及びプロセスの結合度が
示されることになる。
要件を含む外部要件により、数量化されたデータ項目ア
クセス状況データを補正する手段をさらに含むような構
成とすることも可能である。システム設計要件などの外
部要件により結合させるべき部分を指定するためであ
る。
データ項目アクセス状況データにおいて所定の条件を満
たすデータ項目にアクセスするプロセスを収集する手段
をさらに含むような構成とすることも可能である。
たデータ項目アクセス状況データ及び収集されたプロセ
スの情報を使用して、データ項目の振り分け態様及びプ
ロセスの分割態様のうち少なくとも一つを提示する手段
をさらに含むような構成とすることも可能である。
置を、提示されたプロセスの分割態様における、プロセ
スのインターフェースを提示する手段をさらに有するよ
うな構成とすることも可能である。これにより、システ
ム分割時のインターフェースの設計に役立つ。
法は、プログラム内におけるデータ項目アクセス状況を
調査するステップと、プログラム、プログラムの集合又
はプログラムの部分のうちの少なくとも一つであるプロ
セスとデータ項目の結合関係を、データ項目アクセス状
況に基づき解析するステップとを含む。
るプログラムを作成することも可能であって、当該プロ
グラムは、例えばフロッピー・ディスク、CD−RO
M、光磁気ディスク、半導体メモリ、ハードディスク等
の記憶媒体又は記憶装置に格納される。
示す。入力は現行システムにおいて使用されているプロ
グラム101、JCL(Job Control Language)10
3、サブシステム情報105である。これらの入力をデ
ータ項目アクセス状況集計部107が用いる。データ項
目アクセス状況集計部107の出力はデータ項目結合度
計算部109に入力される。データ項目結合度計算部1
09は別途用意されている結合度係数を用いて計算を行
い、結果をデータ項目結合度補正部113に出力する。
データ項目結合度補正部113は補正処理を実施した後
その結果をプロセス集積部115に出力する。プロセス
集積部115は集積処理の結果を、プロセス・データ分
割部117に出力する。プロセス・データ分割部117
の処理結果はインターフェース表示部119に出力され
る。インターフェース表示部119の処理結果はインタ
ーフェース情報121として表示され且つ記憶装置に格
納される。各機能の処理結果も記憶装置に格納される。
あるデータ項目に、どの段階でどのような種類のアクセ
スが何回行われるかを、ソース・プログラムであるプロ
グラム101、実行するプログラム名や制御パラメー
タ、プログラムに割り当てられるデータ・セット等を定
義したJCL103、サブシステム名と従属するJOB
の情報を含むサブシステム情報105を使用して集計す
る。データ項目結合度計算部109は、アクセスの態様
(例えば、参照、更新など)及びアクセス回数によりデ
ータ項目アクセス状況を数値化する。アクセス態様毎に
結合度の強弱があるので、アクセス態様毎に定義された
結合度を予め格納した結合度係数格納部111を参照し
て、アクセス態様に対応する結合度とアクセス回数の積
で数値化する。
ム設計要件等の外部要件の入力により、強く結合させる
べき部分等に関連する結合度を補正する。例えば、ある
データ項目のデータ量が他と比べて多い場合には、その
データ項目の結合度を増加させる等の処理を行う。プロ
セス集積部115は、所定の条件を満たすデータ項目を
アクセスするプロセスを収集し、データ項目アクセス状
況のデータの中で当該プロセスを寄せ集める。プロセス
を寄せ集めたことにより、データ項目及びプロセスはそ
のまとまりが分かりやすくなったので、プロセス・デー
タ分割部117はプロセスの分割及びデータ項目の振り
分けを行う。そして、このプロセスの分割によりプロセ
ス間のインターフェースが明らかになるので、インター
フェース表示部119は、そのインターフェースを表示
する。
示し、各ステップについて詳細に説明する。まず、デー
タ項目アクセス状況集計部107が、プログラム10
1、JCL103及びサブシステム情報105を分析
し、データ項目アクセス命令を集計する(ステップ1
3)。この処理は例えば図3のような処理フローにて行
われる。
にて記述されたソース・プログラムに対し語分解を実施
する(図3:ステップ33)。すなわち、ソース・プロ
グラムを各命令に分解する。そして、アクセス命令テー
ブルを参照しつつ、データ項目毎にアクセス状況を記録
する(ステップ35)。アクセス命令テーブルとは、デ
ータを参照する命令(例えばREAD,GET)、データを生
成する命令(例えばWRITE,STORE)、データを更新する
命令(例えばREWRITE,MODIFY)、データを削除する命
令(例えばDELETE)及びデータを再定義する命令(例え
ばREDEFINE)等のアクセス命令として取り扱われる命令
群をリストアップしたものである。すなわち、アクセス
命令テーブルに列挙された命令を見出す毎に、例えば図
4のような記録を行う。すなわち、プログラムの名称
と、そのプログラムにおけるセクション名、そのセクシ
ョンにおけるステップ名、アクセスされたデータ項目、
そしてアクセス種類を記憶装置に記録する。図4の例で
は、現在プログラム名Pgm11のセクションSec1
11を分析中であり、ステップ1にはデータ項目D11
及びD12への参照アクセスがあり、ステップ4にはデ
ータ項目D11、D12及びD22への更新アクセスが
存在する。図4は分析途中であって、解析対象システム
に含まれる全てのプログラムについて記録する。
況が記録されると、さらにJCL103及びサブシステ
ム情報105を参照し、各ステップ毎に同じ種類のアク
セスをカウントして、データ項目アクセス状況テーブル
を作成する(ステップ37)。データ項目アクセス状況
テーブルは例えば図5のようなテーブルであって、記憶
装置に格納される。図5はシステムSystemAのデ
ータ項目アクセス状況テーブルである。SystemA
には、ジョブJob1、Job2、Job3が含まれて
いる。そしてJob1にはプログラムPgm11及びP
gm12、Job2にはプログラムPgm21及びPg
m22、Job3にはプログラムPgm31が含まれて
いる。これらの情報は、JCL103及びサブシステム
情報105を参照することにより得られる。Pgm11
にはセクションSec111及びSec112、Pgm
12にはセクションSec121、Pgm21にセクシ
ョンSec211、Pgm22にはセクションSec2
21、Pgm31にはセクションSec311が含まれ
る。そして、Sec111にはステップ1乃至7、Se
c112にはステップ8乃至10、Sec121にはス
テップ11乃至13、Sec211にはステップ14乃
至16、Sec221にはステップ17乃至19、Se
c311にはステップ20乃至25が含まれる。ステッ
プはセクション内の処理の括りごとの連番を示す。これ
らの情報はステップ35の処理にて図4に示すように記
録される。
2、ファイルF2はレコードR3を含んでいる。このレ
コードR1はデータ項目D11乃至D14、レコードR
2はデータ項目D21及びD22、レコードR3はD3
1及びD32を含んでいる。これらの情報はファイルの
構造から得られる。図5のテーブル内には、参照(REA
D)アクセスが存在する場合にはRが、更新アクセス(U
PDATE)が存在する場合にはUが、生成アクセスが存在
する場合にはCが、記録されている。図5では使用され
ていないが、削除アクセスが存在する場合にはDを、再
定義アクセスが存在する場合にはAを記録する。それら
の英文字の後にはアクセス回数を記録している。R5は
参照アクセスが5回あったことを示す。また上で説明し
た英文字の後にaが記録されている場合には、全レコー
ド処理であることを示す。
ブルが生成された後に、データ項目結合度計算部109
が結合度係数格納部111を参照してデータ項目結合度
を計算する(図2:ステップ15)。結合度はアクセス
の態様によって強弱があり、その強弱を表したのが結合
度係数である。一般的に結合度は、データを参照してい
るよりも、更新する方が強く、更新よりも生成・削除の
方がより強い。また、ファイルへのアクセスより、サブ
プログラムを呼び出すCALLパラメータで使用される
方が強く、さらにCOPY句やローカル変数を共用する
方がより強い。よって、一般的には、以下のような大小
関係がある。結合関係については、 参照 < 更新 < 生成=削除 < 再定義 結合媒体については、 ファイル < CALLパラメータ < COPY句
< ローカル変数 これらの大小関係に基づき、例えば図6に示したような
具体的な結合度係数を用意する。但し、図6は一例であ
って異なる数値を使用することが可能である。さらに、
上で述べた大小関係を、状況に応じて変更することも可
能である。
況テーブル(図5)にまとめられたアクセスの態様とア
クセス回数を、アクセス態様に対応する結合度係数×ア
クセス回数で数値化する。なお、図5の例ではファイル
アクセスしか存在していないので、この例ではその他の
結合媒体の部分は使用されない。数値化の結果を図7に
示す。数値化されたデータ項目アクセス状況テーブルは
記憶装置に格納される。例えば図5でU2とあった場合
には、更新であるから結合度係数は5で回数2であるか
ら結合度10となる。また、本例では全レコード処理の
場合にはアクセス回数10回として計算している。すな
わち、Raは結合度係数が1で回数10であるから結合
度10となる。
データ項目アクセス状況テーブル内の結合度を補正する
(図2:ステップ17)。プロセスとデータの結合度合
いは、データをアクセスする命令の種類や回数の他に、
データの量やクリアすべきレスポンス時間などによって
も強弱がある。このようなシステム設計要件を考慮する
ことにより、ステップ15にて得られたデータ項目アク
セス状況テーブル内の結合度を補正する必要がある。例
えば、データ量が多いデータ項目については、結合度を
それに応じて増加させる。図7の例ではファイルF2の
データ量が多いので、このF2に含まれるデータ項目の
結合度を2倍にする。結合度を2倍にする補正を実施し
た後のデータ項目アクセス状況テーブルを図8に示す。
セス又はデータを結合させなければならないという要件
があった場合に、そのような拘束を付けてプロセス又は
データの分割処理を行うことも可能である。しかし、本
例のように個々のデータ項目の結合度を増加(又は減
少)させるということにより本実施例における後の処理
を実施すれば、明示的に結合させた場合に隠れてしまう
ような、データ項目及びプロセス(データ項目間、プロ
セス間及びデータ項目とプロセス間)の結合関係を見出
すことができるようになる。但し、補正(ステップ1
7)を行わないで、プロセスの集積(ステップ21)を
行うことも可能である。
テップ19)。補正が適正でなければステップ17に戻
って補正をやり直す。なお補正が適正であるか否かは、
例えば次の処理であるプロセスの集積処理が可能か否か
で判断する。
いプロセスを集積する(ステップ21)。例えば、図9
のような処理を実施する。まず、結合度が最高のデータ
項目を求める(ステップ43)。図8の例ではデータ項
目D32である。次に、当該データ項目を含むレコード
を使用しているプログラムをプログラム単位で集める
(ステップ45)。図8の場合にはデータ項目D32を
含むレコードはレコードR3であり、レコードR3を使
用するのはプログラムPgm11、Pgm22及びPg
m31である。次に、集められたプログラムを結合度の
点数順にプログラム単位で並べる(ステップ47)。プ
ログラムPgm11は結合度140、Pgm22は結合
度20、Pgm31は結合度40であるから、Pgm1
1、Pgm31、Pgm22の順番に並べられる。
(データ項目アクセス状況テーブルの縦方向)及びレコ
ード(横方向)をテーブルから除いた場合に残りの要素
があるかを判断する(ステップ49)。図8の例では、
プログラムPgm11とPgm31とPgm22が縦方
向で除去されるので、Pgm12、Pgm21のみが残
る。また、レコードR3が横方向で除去されるので、レ
コードR1及びR2が残る。この残った部分で結合度が
所定のしきい値より大きい要素があればステップ43に
戻る。図8の例では残った部分の最大の結合度が10で
あるが、しきい値より小さいとして処理を終了する。
ップ21ではデータ項目アクセス状況テーブルにおける
並べ替え対象プログラムの列を全て移動させる。よっ
て、図10に示すように、Pgm11の次にPgm3
1、その次にPgm22が並べられることになる。一
方、並び替え対象以外のプログラムは図8の例ではそれ
以上の並べ替えを行わなかったので、Pgm12、Pg
m21の順番でPgm22の後に並べられている。JO
B名は並べ替え対象のプログラムに従って記述し直され
ている。当然プログラム内のセクション及びステップ
も、プログラムの並べ替え及び移動に伴って移動してい
る。このように並べ替えると、プログラム毎に使用して
いるデータ項目に偏りがあることが明らかになる。な
お、図10のデータ項目アクセス状況テーブルは、記憶
装置内に格納される。
項目を含むレコードを基準にプログラムを集めたが、レ
コードを基準に行うのは一例であって他の単位、例えば
データ項目を基準にプログラムを集めるようにしても良
い。また、プログラム単位でプログラムを集めていた
が、これもセクション単位やJOB単位で集めるように
しても良い。
部117がプロセス及びデータ項目の分割を実施する
(ステップ22)。この処理の一例について図11を用
いて詳しく説明する。
ション単位で括る(ステップ63)。ステップ63を実
施すると、図12のようになる。すなわち、データ項目
D11はセクションSec111とSec112とSe
c311にて結合度が5以上になる。データ項目D12
は、セクションSec111とSec311にて結合度
が5以上になる。データ項目D13は、セクションSe
c211にて結合度が5以上になる。データ項目D14
は、セクションSec211にて結合度が5以上にな
る。データ項目D21は、セクションSec311にて
結合度が5以上になる。データ項目D22は、セクショ
ンSec111及びSec311にて結合度が5以上に
なる。データ項目D31は、セクションSec112及
びSec311にて結合度が5以上になる。データ項目
D32は、セクションSec112、Sec311及び
Sec221にて結合度が5以上になる。
目で且つ下記のいずれかの条件を満たした場合、一つに
括る(ステップ65)。条件とは、(1)括ったセクシ
ョンの範囲が同じである、(2)共通するセクションが
ある、である。例えば図12の上の行から順番に処理す
る。第1行と第2行は同じファイルF1のデータ項目で
並んでおり、共通するセクションがあるから一つに括る
(範囲a)。第3行目は同じファイルF1のデータ項目
であるが、括ったセクションの範囲が同じではなく且つ
共通するセクションが無いので、第1行目から第3行目
まで一つに括ることはできない。第3行目と第4行目を
比較すると、同じファイルF1のデータ項目であって、
括ったセクションの範囲が同じであるから一つに括る
(範囲d)。第3行目乃至第5行目は同じファイルF1
のデータ項目であるが、括った範囲が同じでもなく且つ
共通のセクションでもないので、一つに括ることはでき
ない。
ァイルF1のデータ項目で並んでおり、括った範囲に共
通のセクションが存在するので一つに括る(範囲b)。
第6行目と第7行目の間にファイルの切れ目があるの
で、第7行目と第8行目を比較する。これを見ると、同
じファイルF2のデータ項目で並んでおり、セクション
Sec112及びSec311が共通しているので一つ
に括る(範囲c)。以上の括りを図示すると図13のよ
うになる。図12及び図13の情報は、記憶装置に格納
される。
クセス状況テーブルに示すと図14のようになる。図1
1の処理ではデータ項目毎にセクションをまとめたの
で、データ項目の結合関係が明らかになる。また、デー
タ項目とプロセスとの結合関係も示される。図14の例
では、データ項目D11及びD12は結合度合いが強
く、このデータ項目D11及びD12と結合度合いが強
いプロセスは、セクションSec111、Sec112
及びSec311又はプログラムPgm11及びPgm
31である(範囲a)。また、データ項目D13とD1
4は結合度合いが強く、このデータ項目D13及びD1
4と結合度合いが強いプロセスは、セクションSec2
11又はプログラムPgm21である(範囲d)。デー
タ項目D21とD22は結合度合いが強く、このデータ
項目D21及びD22と結合度合いが強いプロセスは、
セクションSec111及びSec311又はプログラ
ムPgm11及びPgm31である(範囲b)。データ
項目D31及びD32は結合度合いが強く、このデータ
項目D31及びD32と結合度合いが強いプロセスは、
セクションSec112、Sec311及びSec22
1又はプログラムPgm11、Pgm31及びPgm2
2である(範囲c)。この図14をユーザに提示するよ
うな構成も可能である。
タ項目D11及びD12とD13及びD14を分離し、
別レコードにすることができることが分かる。
項目を探すようになっているが、これは一例であって、
解析対象システムにおける状況に応じて変更することが
できる。また、セクション単位で括るとしているが、プ
ログラム単位などで括るようにすることも可能である。
プロセスの分割もできる。図14を見ても分かるよう
に、範囲a乃至cについてはプログラムPgm31又は
セクションSec311を含んでいるのに対し、範囲d
は含んでいない。よって、範囲a乃至cから導き出され
るプログラムPgm11、Pgm31及びPgm22
(又はセクションSec111、Sec112、Sec
311及びSec221)と、範囲dから導き出される
Pgm21(又はSec211)とでプロセスの分割が
できることも分かる。どちらの範囲にも属さないプログ
ラムPgm12(又はSec121)は、Pgm12
(又はSec121)が使用するデータ項目はD13で
あり、データ項目D13及びD14と強く結合している
のはPgm21であるから、Pgm21といっしょに括
る。図14には分割単位として、Pgm11、Pgm3
1及びPgm22と、Pgm12及びPgm21とが示
されている。
以下のようになる。(1)データ項目D11及びD12
をベースに結合度合いの強いセクションを集める。Se
c111、Sec112及びSec311である。
(2)D21及びD22をベースに結合度合いの強いセ
クションを集める。Sec111及びSec311であ
る。(3)D31及びD32をベースに結合度合いの強
いセクションを集める。Sec112、Sec311及
びSec221である。(4)これら3つのセクション
群に共通するセクションSec311が存在しているの
で、D11及びD12、D21及びD22、並びにD3
1及びD32と結合度合いの強いセクションを集める。
Sec111、Sec112、Sec311及びSec
221となる。プログラム単位ではPgm11、Pgm
31及びPgm22となる。(5)D13及びD14を
ベースに結合度合いの強いセクションを集める。Sec
211である。結合度1の部分は結合度合いが弱いので
集めない(Sec311及びSec121)。Sec2
11は他のデータ項目との結合度が弱いことが分かる。
(6)結合度合いの強いデータ項目がないSec121
についてはD13への参照が含まれているので、D13
及びD14との結合度合いの強いSec211と同じグ
ループにする。プログラム単位ではプログラムPgm2
1とPgm12が同じグループとなる。よって、Sec
111、Sec112、Sec311及びSec221
のグループと、Sec211及びSec121のグルー
プの2つの分割単位に分割する。
た後に、分割は適正か否かを判断する(ステップ2
3)。適正でなければステップ17まで戻る。適正でな
いかどうかは、例えばシステム設計要件を満たしている
か否かで判断する。また、ステップ22で分割できなか
った場合も適正でないと判断される。
断された場合には、インターフェース表示部119がイ
ンターフェースを表示する(ステップ25)。ここでは
ステップ22で分割したプロセスと、プロセスで使用す
るデータを表示する。図15にインターフェースの例を
示す。分割されたプロセスは、プログラム単位でPgm
11、Pgm31及びPgm22と、Pgm12及びP
gm21である。分割されたプロセスをオブジェクトと
し、最初のグループをオブジェクトObj−1、二番目
のグループをオブジェクトObj−2としている。デー
タ項目は、分割したプロセスの他のプロセスとのインタ
ーフェースで使用する外部データをパブリック・データ
(public data)とし、分割したプロセス内部だけで使
用する内部データをプライベート・データ(private da
ta)とする。
11及びD12はオブジェクトObj−1にとってはプ
ライベート・データであるが、オブジェクトObj−2
にとってデータ項目D11はパブリック・データであ
る。一方、データ項目D13及びD14はオブジェクト
Obj−2にとってはプライベート・データであるが、
オブジェクトObj−2にとってデータ項目D14はパ
ブリック・データである。また、D21及びD22並び
にD31及びD32はオブジェクトObj−1にとって
プライベート・データである。インターフェース表示に
おいても、データ項目の振り分け、プロセスの分離が示
されている。
ける結合度の数値を参照や更新といったアクセスの態様
に戻して表示する。このようにすれば、プライベート・
データ及びパブリック・データに対しどのようなアクセ
スがなされるかが明確になる。図15ではパブリック・
データは参照のみで、外部のプロセスとの結合度が低い
ということも分かる。オブジェクトに分けることによ
り、オブジェクト指向技術等を適用することができるよ
うになる。
インターフェースが明確になり、新システムの設計に役
立てることができる。このように明確なインターフェー
スが提示されれば、部品であるオブジェクトの仕様を決
めることが容易になり、設計ミスが少なくなることが期
待できる。
ミングすれば本発明をプログラムにて実装することがで
きる。このプログラムは、例えばフロッピー・ディス
ク、CD−ROM、光磁気ディスク、半導体メモリ、ハ
ードディスク等の記憶媒体又は記憶装置に格納される。
そして、通常のコンピュータにて実行される。本発明の
システム解析プログラムを実行するコンピュータはシス
テム解析装置として動作する。
を、専用の電子回路、又は電子回路とプログラムの組み
合せにて実装し、本発明のシステム解析装置を実現する
ことも可能である。なお、図1に示した機能ブロックは
一例であって、複数の機能ブロックを一つにすること
も、また一つの機能ブロックを複数に分けることも可能
である。
プロセス間の結合強度を解析することができ、プロセス
単位で再構築の方式を検討することができ、開発費用と
期間を大幅に削減することができるようになる。また、
結合強度の強いプロセスの塊を集めることにより、サブ
システムのまとまり、サブシステム内のJOBのまとま
り、JOB内のプログラムのまとまり、プログラム内の
セクションのまとまり、セクション内の命令群のまとま
りを明確にすることができ、プログラムやプログラムの
一部の再利用を可能にすることができる。さらに、プロ
セスの分割だけでなく、データ・ファイルの分割も可能
にし、データの正規化の支援やデータの最適再配置を行
うことができるようになる。
解析装置及び方法並びに解析プログラムを提供すること
ができた。
り、現行システムの分割等に使用するための情報を得る
こともできた。
る。
す図である。
示す図である。
示す図である。
示す図である。
ある。
を示す図である。
ローチャートである。
るデータの一例を示す。
るデータの一例を示す。
を示す図である。
表示の一例である。
ブシステム情報 107 データ項目アクセス状況集計部 109 データ項目結合度計算部 111 結合度係
数格納部 113 データ項目結合度補正部 115 プロセス
集積部 117 プロセス・データ分割部 119 インター
フェース表示 121 インターフェース情報
Claims (8)
- 【請求項1】1又は複数のプログラムを含むシステムを
解析する装置であって、 前記プログラム内におけるデータ項目アクセス状況を調
査する手段と、 プログラム、プログラムの集合又はプログラムの部分の
うちの少なくとも一つであるプロセスとデータ項目の結
合関係を、前記データ項目アクセス状況に基づき解析す
る解析器と、 を有するシステム解析装置。 - 【請求項2】前記解析器が、 前記データ項目アクセス状況に含まれる、前記データ項
目に対するアクセスの態様及びアクセス回数を数量化
し、数量化されたデータ項目アクセス状況データを生成
する手段を含む、請求項1記載のシステム解析装置。 - 【請求項3】前記解析器が、 システム設計要件を含む外部要件により、前記数量化さ
れたデータ項目アクセス状況データを補正する手段をさ
らに含む、請求項2記載のシステム解析装置。 - 【請求項4】前記解析器が、 前記数値化されたデータ項目アクセス状況データにおい
て所定の条件を満たすデータ項目にアクセスするプロセ
スを収集する手段をさらに含む、請求項3記載のシステ
ム解析装置。 - 【請求項5】前記解析器が、 前記数値化されたデータ項目アクセス状況データ及び収
集されたプロセスの情報を使用して、前記データ項目の
振り分け態様及び前記プロセスの分割態様のうち少なく
とも一つを提示する手段をさらに含む、請求項4記載の
システム解析装置。 - 【請求項6】提示された前記プロセスの分割態様におけ
る、プロセスのインターフェースを提示する手段をさら
に有する請求項5記載のシステム解析装置。 - 【請求項7】1又は複数のプログラムを含むシステムを
解析する方法であって、 前記プログラム内におけるデータ項目アクセス状況を調
査するステップと、 プログラム、プログラムの集合又はプログラムの部分の
うちの少なくとも一つであるプロセスとデータ項目の結
合関係を、前記データ項目アクセス状況に基づき解析す
るステップと、 を含むシステム解析方法。 - 【請求項8】1又は複数のプログラムを含むシステムを
解析するための解析プログラムを格納した記憶媒体であ
って、 前記解析プログラムは、コンピュータに、 前記プログラム内におけるデータ項目アクセス状況を調
査するステップと、 プログラム、プログラムの集合又はプログラムの部分の
うちの少なくとも一つであるプロセスとデータ項目の結
合関係を、前記データ項目アクセス状況に基づき解析す
るステップと、 を実行させる、記憶媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27160899A JP3838825B2 (ja) | 1999-09-27 | 1999-09-27 | システム解析装置及び方法、並びに解析プログラムを格納した記憶媒体 |
US09/553,316 US6922825B1 (en) | 1999-09-27 | 2000-04-20 | System analysis apparatus and method, and storage medium storing system analysis program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27160899A JP3838825B2 (ja) | 1999-09-27 | 1999-09-27 | システム解析装置及び方法、並びに解析プログラムを格納した記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001092651A true JP2001092651A (ja) | 2001-04-06 |
JP3838825B2 JP3838825B2 (ja) | 2006-10-25 |
Family
ID=17502452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27160899A Expired - Fee Related JP3838825B2 (ja) | 1999-09-27 | 1999-09-27 | システム解析装置及び方法、並びに解析プログラムを格納した記憶媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6922825B1 (ja) |
JP (1) | JP3838825B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003067186A (ja) * | 2001-08-23 | 2003-03-07 | Hitachi Koukiyou Syst Eng Kk | データフロー自動生成方法 |
JP2006277430A (ja) * | 2005-03-30 | 2006-10-12 | Hitachi Ltd | ビジネスシステム開発支援方法及びシステム |
JP2007241916A (ja) * | 2006-03-13 | 2007-09-20 | Fujitsu Ltd | プログラム解析方法、プログラム及びプログラム解析装置 |
JP2010122716A (ja) * | 2008-11-17 | 2010-06-03 | Fujitsu Ltd | 改修作業範囲分割プログラム,改修作業範囲分割装置,及び改修作業範囲分割方法 |
JP2020160922A (ja) * | 2019-03-27 | 2020-10-01 | 日本電気株式会社 | 情報処理装置、情報処理システム、情報処理方法、及びプログラム |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100242024A1 (en) * | 2009-03-17 | 2010-09-23 | Gonzales Ii Jesus Orlando | User Interface System and Method for Controlling Conversion of a Source Job Control Language File into a Test Job Control Language File |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5161216A (en) * | 1989-03-08 | 1992-11-03 | Wisconsin Alumni Research Foundation | Interprocedural slicing of computer programs using dependence graphs |
US5193180A (en) * | 1991-06-21 | 1993-03-09 | Pure Software Inc. | System for modifying relocatable object code files to monitor accesses to dynamically allocated memory |
US5937195A (en) * | 1996-11-27 | 1999-08-10 | Hewlett-Packard Co | Global control flow treatment of predicated code |
US6085035A (en) * | 1997-09-09 | 2000-07-04 | Sun Microsystems, Inc. | Method and apparatus for efficient operations on primary type values without static overloading |
US6247175B1 (en) * | 1998-12-22 | 2001-06-12 | Nortel Networks Limited | Method and apparatus for identifying and removing unused software procedures |
US6449711B1 (en) * | 1999-02-04 | 2002-09-10 | Sun Microsystems, Inc. | Method, apparatus, and article of manufacture for developing and executing data flow programs |
US6430741B1 (en) * | 1999-02-26 | 2002-08-06 | Hewlett-Packard Company | System and method for data coverage analysis of a computer program |
-
1999
- 1999-09-27 JP JP27160899A patent/JP3838825B2/ja not_active Expired - Fee Related
-
2000
- 2000-04-20 US US09/553,316 patent/US6922825B1/en not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003067186A (ja) * | 2001-08-23 | 2003-03-07 | Hitachi Koukiyou Syst Eng Kk | データフロー自動生成方法 |
JP2006277430A (ja) * | 2005-03-30 | 2006-10-12 | Hitachi Ltd | ビジネスシステム開発支援方法及びシステム |
JP2007241916A (ja) * | 2006-03-13 | 2007-09-20 | Fujitsu Ltd | プログラム解析方法、プログラム及びプログラム解析装置 |
JP2010122716A (ja) * | 2008-11-17 | 2010-06-03 | Fujitsu Ltd | 改修作業範囲分割プログラム,改修作業範囲分割装置,及び改修作業範囲分割方法 |
JP2020160922A (ja) * | 2019-03-27 | 2020-10-01 | 日本電気株式会社 | 情報処理装置、情報処理システム、情報処理方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP3838825B2 (ja) | 2006-10-25 |
US6922825B1 (en) | 2005-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7418453B2 (en) | Updating a data warehouse schema based on changes in an observation model | |
US8566810B2 (en) | Using database knowledge to optimize a computer program | |
JP2768433B2 (ja) | 物理データベース設計システム | |
JP4422345B2 (ja) | スクリプト駆動ツールの並列処理アプリケーション | |
CN115543402B (zh) | 一种基于代码提交的软件知识图谱增量更新方法 | |
JP3205406B2 (ja) | 参照対象変数決定処理方法および翻訳処理システム | |
CN110990055B (zh) | 一种基于程序分析的Pull Request功能分类方法 | |
JP2001092651A (ja) | システム解析装置及び方法、並びに解析プログラムを格納した記憶媒体 | |
CN110618926A (zh) | 源代码分析方法和源代码分析装置 | |
US20050086647A1 (en) | Apparatus for and method of creating computer program specifications, and computer program product | |
JP2003067186A (ja) | データフロー自動生成方法 | |
US20220206788A1 (en) | Version control method for program project and associated electric device | |
US7844627B2 (en) | Program analysis method and apparatus | |
JP3144022B2 (ja) | プログラムデータベースシステム | |
US7996366B1 (en) | Method and system for identifying stale directories | |
US8296336B2 (en) | Techniques for efficient dataloads into partitioned tables using swap tables | |
JP2785317B2 (ja) | ソフトウェア標準化方法 | |
JP3703076B2 (ja) | 構造化文書により定義された品質管理及び品質評価ルールによるソフトウェア品質管理・評価方法、ならびにそのプログラムを記録した記録媒体 | |
CN112597156B (zh) | 无编程化动态数据存储及表格绘制方法及装置 | |
CN117608536B (zh) | 缺口数据在线模版定制补录系统及其方法 | |
JPS6284337A (ja) | 仕様書情報解析方式 | |
JP3295930B2 (ja) | 実行プログラム管理方法及び装置及び記録媒体 | |
JP2023151987A (ja) | 項目名チェック装置、項目名チェック方法、及びプログラム | |
Kugler et al. | Bridging data management and knowledge discovery in the life sciences | |
Fantechi et al. | Object-oriented analysis of COBOL |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040907 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041026 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050419 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050516 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050628 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050727 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20050912 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060711 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060711 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060801 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060801 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090811 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100811 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110811 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120811 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120811 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130811 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |