JP4948126B2 - Java(登録商標)言語プログラムを用いた大規模業務システムを分析するプログラム及びその処理方法 - Google Patents
Java(登録商標)言語プログラムを用いた大規模業務システムを分析するプログラム及びその処理方法 Download PDFInfo
- Publication number
- JP4948126B2 JP4948126B2 JP2006306422A JP2006306422A JP4948126B2 JP 4948126 B2 JP4948126 B2 JP 4948126B2 JP 2006306422 A JP2006306422 A JP 2006306422A JP 2006306422 A JP2006306422 A JP 2006306422A JP 4948126 B2 JP4948126 B2 JP 4948126B2
- Authority
- JP
- Japan
- Prior art keywords
- class
- information
- concrete
- destination
- methods
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
Java言語は多数のクラスの組み合わせにより成り立っているため、生産性に優れ、また、システムを拡張するのに適した言語でもある。しかしながらシステムを保守する場合には、以下説明するような数々の問題がある。
(イ)該プログラムを形成するクラスのID情報と、該クラスが具象クラス、抽象クラス、インターフェイスの何れの種類のクラスであるかを示すクラス種類情報とを含むクラス情報と、
(ロ)各クラスに属するメソッドの情報であって、属するクラスのID情報、該メソッドのID情報と、該メソッドが具象メソッド、抽象メソッド、その他のメソッドの何れの種類のメソッドであるかを示すメソッド種類情報とを含むメソッド情報と、
(ハ)メソッド間の関連を示す情報であって、該メソッドが属するクラスのクラスID情報、該メソッドのID情報、該メソッドの関連先のクラス、メソッドのID情報及び関連先のクラスが具象クラス、抽象クラス、インターフェイスの何れの種類のクラスであるかを示す関連先クラス種類情報を含むメソッド関連情報とを抽出する処理ステップと、前記クラスファイルから抽出したクラス情報、メソッド情報及びメソッド関連情報に基づいて、関連元の具象クラスと、該関連元具象クラスに属する関連元の具象メソッドとのIDを示す関連元クラス・メソッドIDと、上記関連元具象クラスの関連先である関連先具象クラスと、該関連先具象クラスに属する関連先の具象メソッドとのIDを示す関連先クラス・メソッドIDとの組み合わせからなるペア情報を生成する処理ステップと、ユーザが所望のクラスと該クラスに属するメソッドを指定したときに、上記ペア情報から指定されたクラス及びメソッドに関連する一連の具象クラス・メソッドを抽出し、表示する処理ステップとを備えたことに一つの特徴を有する。
まず、Javaプログラムからクラスファイルを生成する。
次に、このクラスファイルを分析して4種類の情報を抽出する。図3−1に示すクラス情報、図3−2に示すメソッド情報、図3−3に示すスーパークラス情報、及び図3−4に示すメソッド関連情報である。
class A extends B
という記述は、サブクラス(子クラス)Aがスーパークラス(親クラス)Bを継承したことを表す。また、インターフェースに対してextendsの記号を用いる場合は、拡張インターフェース(子インターフェース)がそのインターフェース(親インターフェース)を継承したことを表す。
class C implements D
と記述すると、例えばインターフェースDをクラスCが実装することを表す。
上記のようにして抽出された情報は、DBに投入される。図4−5は、DB投入のフローを示すもので、ステップS501において、前述のXMLファイルにより各クラス毎のレコードが読み込まれ、ステップS502でクラスに関する情報が、図4−1に例示するクラス情報テーブルT100に登録される。またステップS503では、メソッドに関する情報が、図4−2に例示するメソッド情報テーブルT200に登録される。ステップS504では、クラスのスーパークラス及びインターフェースの情報が、図4−3に例示するスーパークラス情報テーブルT300に登録される。更にステップS505では、メソッド関連情報が、図4−4に例示するメソッド関連情報テーブルT400に登録される。このようにして、数万〜数10万個の全クラスの情報が、すべてDBに投入される(S506)。
次にDBに投入された各種の情報に基づいて、メソッド間関連情報を作成する。メソッド間関連情報とは、図1−5を例にとると、具象クラス・メソッドIDのC11m2と、その参照先の具象クラス・メソッドIDのC21m4とのペア情報を称し、C11m2を参照元のクラス・メソッドID、C21m4を参照先のクラス・メソッドIDという。なお、具象クラス・メソッドが抽象クラスやインターフェースを介して他の具象クラスを参照する場合もあるので、関連先クラス・メソッドID、関連元クラス・メソッドIDということもある。
次に、上述のようにして生成された具象クラス・メソッド間関連情報を表示するためのフローを、図6−1を参照して説明する。
200:インターフェース
100´,300´,400´:オブジェクト
10:クラス情報
20:メソッド情報
30:メソッド間関連情報
C11,C21,C22,C31,C41,C42,C43:具象クラス
M1,M2,M3,M4,M5:具象メソッド
T100:クラス情報テーブル
T200:メソッド情報テーブル
T300:スーパークラス情報テーブル
T400:メソッド関連情報テーブル
T900:メソッド間関連情報テーブル
70:端末
71:サーバ
72:データベース(DB)
73:PC
74:ネットワーク
Claims (3)
- データと、該データの操作方法を定義するメソッドとよりなるクラスを多数組み合わせて形成されるJava(登録商標)言語プログラムを用いた大規模業務システムにおいて、ユーザが特定のクラスと、該クラスに属する特定のメソッドを指定する情報を入力すると、指定されたクラスとメソッドに関連するクラスとメソッドを抽出し、表示するためにコンピュータが実行する方法であって、
上記Java(登録商標)言語プログラムのクラスファイルから、
(イ)該プログラムを形成するクラスのID情報と、該クラスが具象クラス、抽象クラス、インターフェイスの何れの種類のクラスであるかを示すクラス種類情報とを含むクラス情報と、
(ロ)各クラスに属するメソッドの情報であって、属するクラスのID情報、該メソッドのID情報と、該メソッドが具象メソッド、抽象メソッド、その他のメソッドの何れの種類のメソッドであるかを示すメソッド種類情報とを含むメソッド情報と、
(ハ)メソッド間の関連を示す情報であって、該メソッドが属するクラスのクラスID情報、該メソッドのID情報、該メソッドの関連先のクラス、メソッドのID情報及び関連先のクラスが具象クラス、抽象クラス、インターフェイスの何れの種類のクラスであるかを示す関連先クラス種類情報を含むメソッド関連情報と
を抽出する処理ステップと、
前記クラスファイルから抽出したクラス情報、メソッド情報及びメソッド関連情報に基づいて、関連元の具象クラスと、該関連元具象クラスに属する関連元の具象メソッドとのIDを示す関連元クラス・メソッドIDと、上記関連元具象クラスの関連先である関連先具象クラスと、該関連先具象クラスに属する関連先の具象メソッドとのIDを示す関連先クラス・メソッドIDとの組み合わせからなるペア情報を生成する処理ステップと
ユーザが所望のクラスと該クラスに属するメソッドを指定したときに、上記ペア情報から指定されたクラス及びメソッドに関連する一連の具象クラス・メソッドを抽出し、表示する処理ステップと
を有することを特徴とするJava(登録商標)言語プログラムを用いた大規模業務システムの処理方法。 - データと、該データの操作方法を定義するメソッドとよりなるクラスを多数組み合わせて形成されるJava(登録商標)言語プログラムを用いた大規模業務システムにおいて、ユーザが特定のクラスと、該クラスに属する特定のメソッドを指定する情報を入力すると、指定されたクラスとメソッドに関連するクラスとメソッドを抽出し、表示することによってJava言語プログラムを用いた大規模業務システムの影響分析を行うためのプログラムであって、
上記Java(登録商標)言語プログラムのクラスファイルから、
(イ)該プログラムを形成するクラスのID情報と、該クラスが具象クラス、抽象クラス、インターフェイスの何れの種類のクラスであるかを示すクラス種類情報とを含むクラス情報と、
(ロ)各クラスに属するメソッドの情報であって、属するクラスのID情報、該メソッドのID情報と、該メソッドが具象メソッド、抽象メソッド、その他のメソッドの何れの種類のメソッドであるかを示すメソッド種類情報とを含むメソッド情報と、
(ハ)メソッド間の関連を示す情報であって、該メソッドが属するクラスのクラスID情報、該メソッドのID情報、該メソッドの関連先のクラス、メソッドのID情報及び関連先のクラスが具象クラス、抽象クラス、インターフェイスの何れの種類のクラスであるかを示す関連先クラス種類情報を含むメソッド関連情報と
を抽出する処理と、
前記クラスファイルから抽出したクラス情報、メソッド情報及びメソッド関連情報に基づいて、関連元の具象クラスと、該関連元具象クラスに属する関連元の具象メソッドとのIDを示す関連元クラス・メソッドIDと、上記関連元具象クラスの関連先である関連先具象クラスと、該関連先具象クラスに属する関連先の具象メソッドとのIDを示す関連先クラス・メソッドIDとの組み合わせからなるペア情報を生成する処理と、
ユーザが所望のクラスと該クラスに属するメソッドを指定したときに、上記ペア情報から指定されたクラス及びメソッドに関連する一連の具象クラス・メソッドを抽出し、表示する処理とをコンピュータに実行させることを特徴とするJava(登録商標)言語プログラムを用いた大規模業務システムを分析するプログラム。 - 請求項1において、ペア情報を生成する処理ステップは、
前記メソッド情報を格納したテーブルから具象メソッドのメソッド種類情報を有する具象メソッドID情報を1件ずつ取り出す処理ステップと、
前記メソッド関連情報を参照して取り出した具象メソッドが関連先情報を有するか否か判定する処理ステップと、
関連先情報が存在する場合は、関連先のクラスのクラスID情報及びクラス種類情報と関連先のメソッドのメソッドID情報及びメソッド種類情報を取り出す処理ステップと、
1件ずつ取り出した具象メソッドのID情報と、該具象メソッドが属する具象クラスのID情報を関連元具象クラス・メソッドのID情報とし、関連先クラスの中の具象クラス及び具象メソッドのID情報を関連先具象クラス・メソッド情報として、上記関連元具象クラス・メソッドID情報及び上記作用効果具象クラス・メソッドID情報のペア情報をテーブルに登録する処理ステップと
を具備することを特徴とするJava(登録商標)言語プログラムを用いた大規模業務システムの処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006306422A JP4948126B2 (ja) | 2006-11-13 | 2006-11-13 | Java(登録商標)言語プログラムを用いた大規模業務システムを分析するプログラム及びその処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006306422A JP4948126B2 (ja) | 2006-11-13 | 2006-11-13 | Java(登録商標)言語プログラムを用いた大規模業務システムを分析するプログラム及びその処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008123254A JP2008123254A (ja) | 2008-05-29 |
JP4948126B2 true JP4948126B2 (ja) | 2012-06-06 |
Family
ID=39507944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006306422A Expired - Fee Related JP4948126B2 (ja) | 2006-11-13 | 2006-11-13 | Java(登録商標)言語プログラムを用いた大規模業務システムを分析するプログラム及びその処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4948126B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5057539B2 (ja) * | 2006-11-13 | 2012-10-24 | 日本証券テクノロジー株式会社 | Java(登録商標)言語プログラムを用いた大規模業務系の影響分析を行うプログラム |
JP5057540B2 (ja) * | 2006-11-27 | 2012-10-24 | 日本証券テクノロジー株式会社 | Java(登録商標)言語プログラムを用いた大規模業務系の影響分析を行うプログラム |
JP5381179B2 (ja) * | 2008-06-06 | 2014-01-08 | 株式会社リコー | 画像処理装置 |
JP5427802B2 (ja) * | 2011-02-17 | 2014-02-26 | 株式会社日立ソリューションズ | プログラミング言語間でのライブラリ変換方法及びプログラム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07319676A (ja) * | 1994-05-20 | 1995-12-08 | Hitachi Ltd | メッセージフロー図生成方式 |
JPH1195990A (ja) * | 1997-09-22 | 1999-04-09 | Nippon Telegr & Teleph Corp <Ntt> | プログラム構造表示方法および装置 |
JP2002222082A (ja) * | 2000-11-24 | 2002-08-09 | Fujitsu Ltd | 記録媒体およびプログラム |
CA2436609C (en) * | 2000-12-08 | 2011-10-25 | Fujitsu Limited | Sequence analysis method and apparatus |
-
2006
- 2006-11-13 JP JP2006306422A patent/JP4948126B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008123254A (ja) | 2008-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kaliszyk et al. | Holstep: A machine learning dataset for higher-order logic theorem proving | |
Kamimura et al. | Extracting candidates of microservices from monolithic application code | |
Kazman et al. | View extraction and view fusion in architectural understanding | |
Androutsopoulos et al. | State-based model slicing: A survey | |
JPH08512152A (ja) | インクリメンタル生成システム | |
US20050125401A1 (en) | Wizard for usage in real-time aggregation and scoring in an information handling system | |
Garcés et al. | White-box modernization of legacy applications: The oracle forms case study | |
TW200844855A (en) | Using collaborative development information in a team environment | |
US20120272211A1 (en) | Generating Constraints in a Class Model | |
Bhattacharya et al. | Combining concern input with program analysis for bloat detection | |
JP4948126B2 (ja) | Java(登録商標)言語プログラムを用いた大規模業務システムを分析するプログラム及びその処理方法 | |
JPH10254689A (ja) | クライアント・サーバシステムのアプリケーション構成設計支援方式 | |
Boronat | Code-first model-driven engineering: On the agile adoption of mde tooling | |
Chekhaba et al. | Coach: classification-based architectural patterns detection in Android apps | |
Wojszczyk et al. | The process of verifying the implementation of design patterns—used data models | |
Molina et al. | Specifying conceptual interface patterns in an object-oriented method with automatic code generation | |
Mafazi et al. | Conflict resolution for on-the-fly change propagation in business processes | |
JP5057539B2 (ja) | Java(登録商標)言語プログラムを用いた大規模業務系の影響分析を行うプログラム | |
US10657476B2 (en) | Just in time compilation (JIT) for business process execution | |
Garcés et al. | White-box modernization of legacy applications | |
Wang et al. | An aspect-oriented UML tool for software development with early aspects | |
Horozal et al. | Tool Support for Architectural Pattern Selection and Application in Cloud-Centric Service-Oriented IDEs | |
JP3540241B2 (ja) | アプリケーション起動メニュー定義ファイル生成装置及びアプリケーション起動メニュー生成装置 | |
Chagas et al. | Kdm as the underlying metamodel in architecture-conformance checking | |
Salah | An environment for comprehending the behavior of software systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090422 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111004 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111101 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111226 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120118 |
|
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: 20120305 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120306 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150316 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4948126 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |