JP2011060062A - システム仕様変更の支援システム、支援方法及び支援プログラム - Google Patents
システム仕様変更の支援システム、支援方法及び支援プログラム Download PDFInfo
- Publication number
- JP2011060062A JP2011060062A JP2009209979A JP2009209979A JP2011060062A JP 2011060062 A JP2011060062 A JP 2011060062A JP 2009209979 A JP2009209979 A JP 2009209979A JP 2009209979 A JP2009209979 A JP 2009209979A JP 2011060062 A JP2011060062 A JP 2011060062A
- Authority
- JP
- Japan
- Prior art keywords
- data item
- source code
- processing
- specification change
- processing unit
- 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.)
- Withdrawn
Links
- 230000008859 change Effects 0.000 title claims abstract description 69
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000012545 processing Methods 0.000 claims abstract description 191
- 238000010586 diagram Methods 0.000 claims description 75
- 238000004458 analytical method Methods 0.000 claims description 66
- 230000008569 process Effects 0.000 claims description 26
- 230000009897 systematic effect Effects 0.000 claims description 8
- 230000014759 maintenance of location Effects 0.000 claims 3
- 230000006870 function Effects 0.000 description 7
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000011835 investigation Methods 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
【課題】複数のシステムからなる業務システムにおいて仕様変更が及ぼす影響範囲を自動的かつ網羅的に特定し、視覚的に分かりやすく表示することができるシステム仕様変更の支援システム、支援方法及び支援プログラムを提供する。
【解決手段】システム全体のソースコードから対象データに対する操作を記述したSQL文を検出し、さらにそのデータの格納先のテーブル項目及びデータ項目を特定し、当該格納先テーブル項目及びデータ項目を利用する処理プログラム(SQL文)を特定するという処理を繰り返し行うことにより、システム全体における仕様変更の対象となるデータ項目の利用箇所を連鎖的かつ網羅的に特定する。
【選択図】図1
【解決手段】システム全体のソースコードから対象データに対する操作を記述したSQL文を検出し、さらにそのデータの格納先のテーブル項目及びデータ項目を特定し、当該格納先テーブル項目及びデータ項目を利用する処理プログラム(SQL文)を特定するという処理を繰り返し行うことにより、システム全体における仕様変更の対象となるデータ項目の利用箇所を連鎖的かつ網羅的に特定する。
【選択図】図1
Description
本発明は、システムの仕様変更に伴い影響が生じる範囲を自動的に特定するための支援システム、支援方法及び支援プログラムに関し、特に、複数のシステムにわたる仕様変更の影響範囲を自動的に特定し、かつ、視覚的に分かりやすく表示できるシステム仕様変更の支援システム、支援方法及び支援プログラムに関するものである。
企業などに導入されている業務システムは、業務の変更、改善、規模拡大などに応じて仕様を変更しながら継続使用される。業務システムの仕様変更においては、データ項目の追加や変更(桁数、属性、値のコード体系など)が生じると、システム内でそれらのデータ項目を取り扱う部分には仕様変更の影響が生じることとなる。大規模な業務システムでは、仕様変更に伴う作業量及び作業範囲は膨大となるので、予め仕様変更が及ぼす影響の程度や範囲を見積もっておくことが重要となる。
従来、仕様変更に伴う影響調査の実施方法としては、そのシステムがERPパッケージやアプリケーション開発フレームワークなどによって構築されたものであれば、そのパッケージやフレームワークに付随する専用ツールを用いて、システム内のデータ項目やロジックに対する影響範囲を分析し、把握することができる。一方、そのようなパッケージに頼らず独自開発したシステムである場合には、ソースコード全体に検索をかけて影響箇所を抽出するという方法もある。
また、システムの仕様変更に対応するための作業の一部を自動化するための従来技術として、特許文献1には、ソフトウェアの一部に引数やデータ項目を新たに追加する場合に、引数の追加・変更が必要となる処理部間の入出力経路を特定する装置及びプログラムが開示されている。特許文献2には、システム内におけるデータ項目の相互関連関係を視覚的に表示するとともに、プログラム修正の自動化を図る技術が開示されている。
大規模な業務システムの場合は、帳票システム、生産管理システム、会計システム、スケジューリングシステム、データベースシステムなど複数の開発ベースが異なるシステムを採用していることが多い。このような複数のシステムからなる業務システムにおいて仕様変更が生じた場合、その影響範囲を把握するのには、多大な時間と工数が必要とされている。これは、システム全体の規模の大きさのみの問題ではなく、上記したようなシステム開発用パッケージやフレームワークに付随する専用ツールを利用してシステム全体の影響範囲を分析することができないためであった。
このような場合、各システムにおけるデータ項目の使用状況を確認するには、ソースコード全体に検索をかけて影響箇所を逐一目視で確認することが必要となる。しかしながら、ソースコードの検索結果からは、対象のデータ項目の利用箇所を特定できるだけであり、例えば、その値がどのデータベースのどの箇所にセットされており、そのテーブルがどの機能に利用されているのかについては、設計書や仕様書などを基にソースコードを精読したり、場合によっては開発者の記憶を辿ったりしなければ正確な分析を行うことができない。
以上の通り、複数のシステムからなる業務システムにおいて仕様変更が及ぼす影響範囲の調査には膨大な工数や時間がかかるのが現状であり、相当な作業負荷及びコスト負荷となっている。
本発明は、このような実情に鑑みてなされたものであり、複数のシステムからなる業務システムにおいて仕様変更が及ぼす影響範囲を自動的かつ網羅的に特定し、視覚的に分かりやすく表示することができるシステム仕様変更の支援システム、支援方法及び支援プログラムを提供しようとするものである。
本発明は、このような実情に鑑みてなされたものであり、複数のシステムからなる業務システムにおいて仕様変更が及ぼす影響範囲を自動的かつ網羅的に特定し、視覚的に分かりやすく表示することができるシステム仕様変更の支援システム、支援方法及び支援プログラムを提供しようとするものである。
上記解決課題に鑑みて鋭意研究の結果、本発明者は、複数のシステム間にわたってデータが利用される場合には、SQLによるデータ操作が行われるのが通例であることに着目し、システム全体のソースコードから対象データに対する操作を記述したSQL文を検出し、さらにそのデータの格納先のテーブル項目及びデータ項目を特定し、当該格納先テーブル項目及びデータ項目を利用する処理プログラム(SQL文)を特定するという処理を繰り返し行うことにより、システム全体における仕様変更の対象となるデータ項目の利用箇所を連鎖的かつ網羅的に特定することができることに想到し、以下に示す本発明を成すに至った。
すなわち、本発明は、複数のシステムから構成される全体システムにおける仕様変更の支援システムであって、各システムのソースコードを格納するソースコード格納部と、各システムにおけるデータ保持のためのテーブル構成及びデータ項目に関する情報を格納するシステム構成情報格納部と、解析対象のデータ項目について、当該データ項目に対する操作を行う各システムの処理命令及び当該処理命令による操作対象となっている関連データ項目を連鎖的に抽出する処理を繰り返すことにより、当該データ項目から派生する関連データ項目及び処理命令の連鎖的関係を解析するソースコード解析処理部と、前記ソースコード解析処理部による解析結果に基づき、解析対象のデータ項目から派生する関連データ項目及び処理命令の連鎖的関係を示す関連図を生成する関連図生成処理部とを有し、前記ソースコード解析処理部は、前記ソースコード格納部に格納された各システムのソースコードからデータ項目をキーとして検索することにより当該データ項目に対する操作を行う処理命令を検出し、前記システム構成情報格納部からデータ項目が属するシステム及びテーブルに関する情報を取得することを特徴とする仕様変更の支援システムを提供するものである。
本発明の仕様変更の支援システムにおいて、前記システム構成情報格納部は、各システムが有する各プログラムの相互関連及び実行順序に関するジョブフロー情報を格納しており、前記ソースコード解析処理部は、前記システム構成情報格納部に格納されたジョブフロー情報に基づき、処理命令の実行時間又は実行順序を解析し、前記関連図生成処理部は、前記解析された各処理命令の実行時間又は実行順序を反映した関連図を生成することを特徴とする。
これにより、実際の各処理命令の実行順序・実行時間を考慮して解析を行い、実際の各処理命令の実行順序・実行時間を反映した関連図を生成することができるので、解析結果及び関連図の信頼性が向上する。
本発明の仕様変更の支援システムにおいて、前記ソースコード解析処理部は、データ項目に対する操作を行う処理命令として、ソースコードに含まれるSQL命令文を検索することを特徴とする。
一般的に、業務システムにおけるデータ操作はSQLにより行われるので、その命令文を解析すれば、処理内容を明確に特定することが可能である。
一般的に、業務システムにおけるデータ操作はSQLにより行われるので、その命令文を解析すれば、処理内容を明確に特定することが可能である。
本発明の仕様変更の支援システムにおいて、前記関連図生成処理部は、解析対象のデータ項目のオブジェクトを中心として、放射状かつ系統樹状に連鎖延伸する関連データ項目及び処理命令のオブジェクトの関連図を生成することを特徴とする。
これにより、解析対象のデータ項目から派生する処理命令及び関連データ項目の相互関連性を視覚的に把握することが可能となる。
これにより、解析対象のデータ項目から派生する処理命令及び関連データ項目の相互関連性を視覚的に把握することが可能となる。
本発明の仕様変更の支援システムにおいて、前記関連図生成処理部は、前記放射状かつ系統樹状に連鎖延伸する関連データ項目及び処理命令のオブジェクトの関連図の生成処理において、系統樹において処理命令を実行時間又は実行順序に基づき配列した関連図を生成することを特徴とする。
これにより、処理命令及び関連データ項目の相互関連性を時系列で把握することができる。
これにより、処理命令及び関連データ項目の相互関連性を時系列で把握することができる。
本発明は、また、複数のシステムから構成される全体システムにおける仕様変更の支援プログラムであって、各システムのソースコードを格納するソースコード格納部と、各システムにおけるデータ保持のためのテーブル構成及びデータ項目に関する情報を格納するシステム構成情報格納部と、解析対象のデータ項目から派生する関連データ項目及び処理命令の連鎖的関係を解析するソースコード解析処理部と、データ項目及び処理命令間の連鎖的関係を示す関連図を生成する関連図生成処理部とを有するコンピュータにおいて、前記ソースコード解析処理部により、前記ソースコード格納部に格納された各システムのソースコードから解析対象のデータ項目をキーとして検索することにより当該データ項目に対する操作を行う処理命令を検出し、当該処理命令による操作対象となっている関連データ項目を抽出し、前記システム構成情報格納部から当該関連データ項目が属するシステム及びテーブルに関する情報を取得し、当該関連データ項目を再度解析対象データ項目として本処理ステップを再帰的に実行する解析処理ステップと、前記関連図生成処理部により、前記ソースコード解析処理部による解析結果に基づき、解析対象のデータ項目から派生する関連データ項目及び処理命令の連鎖的関係を示す関連図を生成する関連図生成ステップとを実行させることを特徴とする仕様変更の支援プログラムを提供するものである。
本発明の仕様変更の支援プログラムにおいて、前記システム構成情報格納部は、各システムが有する各プログラムの相互関連及び実行順序に関するジョブフロー情報を格納しており、前記解析処理ステップにおいて、前記システム構成情報格納部に格納されたジョブフロー情報に基づき、処理命令の実行時間又は実行順序を解析し、前記関連図生成ステップにおいて、前記解析された各処理命令の実行時間又は実行順序を反映した関連図を生成することを特徴とする。
これにより、実際の各処理命令の実行順序・実行時間を考慮して解析を行い、実際の各処理命令の実行順序・実行時間を反映した関連図を生成することができるので、解析結果及び関連図の信頼性が向上する。
本発明の仕様変更の支援プログラムにおいて、前記解析処理ステップにおいて、データ項目に対する操作を行う処理命令として、ソースコードに含まれるSQL命令文を検索することを特徴とする。
一般的に、業務システムにおけるデータ操作はSQLにより行われるので、その命令文を解析すれば、処理内容を明確に特定することが可能である。
一般的に、業務システムにおけるデータ操作はSQLにより行われるので、その命令文を解析すれば、処理内容を明確に特定することが可能である。
本発明の仕様変更の支援プログラムにおいて、前記関連図生成ステップにおいて、解析対象のデータ項目のオブジェクトを中心として、放射状かつ系統樹状に連鎖延伸する関連データ項目及び処理命令のオブジェクトの関連図を生成することを特徴とする。
これにより、解析対象のデータ項目から派生する処理命令及び関連データ項目の相互関連性を視覚的に把握することが可能となる。
これにより、解析対象のデータ項目から派生する処理命令及び関連データ項目の相互関連性を視覚的に把握することが可能となる。
本発明の仕様変更の支援プログラムにおいて、前記関連図生成ステップにおいて、前記放射状かつ系統樹状に連鎖延伸する関連データ項目及び処理命令のオブジェクトの関連図の生成処理において、系統樹において処理命令を実行時間又は実行順序に基づき配列した関連図を生成することを特徴とする。
これにより、処理命令及び関連データ項目の相互関連性を時系列で把握することができる。
これにより、処理命令及び関連データ項目の相互関連性を時系列で把握することができる。
本発明は、また、複数のシステムから構成される全体システムにおける仕様変更の支援方法であって、各システムのソースコードを格納するソースコード格納部と、各システムにおけるデータ保持のためのテーブル構成及びデータ項目に関する情報を格納するシステム構成情報格納部と、解析対象のデータ項目から派生する関連データ項目及び処理命令の連鎖的関係を解析するソースコード解析処理部と、データ項目及び処理命令間の連鎖的関係を示す関連図を生成する関連図生成処理部とを有するコンピュータにおいて、前記ソースコード解析処理部により、前記ソースコード格納部に格納された各システムのソースコードから解析対象のデータ項目をキーとして検索することにより当該データ項目に対する操作を行う処理命令を検出し、当該処理命令による操作対象となっている関連データ項目を抽出し、前記システム構成情報格納部から当該関連データ項目が属するシステム及びテーブルに関する情報を取得し、当該関連データ項目を再度解析対象データ項目として本処理ステップを再帰的に実行する解析処理ステップと、前記関連図生成処理部により、前記ソースコード解析処理部による解析結果に基づき、解析対象のデータ項目から派生する関連データ項目及び処理命令の連鎖的関係を示す関連図を生成する関連図生成ステップとを実行させることを特徴とする仕様変更の支援方法を提供するものである。
以上、説明したように、本発明のシステム仕様変更の支援システム、支援方法及び支援プログラムによれば、複数のシステムからなる業務システムにおいて仕様変更が及ぼす影響範囲を自動的かつ網羅的に特定し、視覚的に分かりやすく表示することができる。これにより、ユーザは、システム仕様変更に伴うシステム修正作業の影響範囲、負荷、工程数、作業時間、費用などを正確に、かつ、漏れなく見積もることができる。
特に、本発明のシステム仕様変更の支援システム、支援方法及び支援プログラムによる顕著な効果としては、以下のような点が挙げられる。
1.複数システムにわたる仕様変更時の影響調査の自動化による事前調査時間の短縮化
単一のパッケージやアプリケーション開発フレームワーク内での影響範囲特定ではなく、複数システムをまたいだデータ項目の影響範囲を自動的に特定することができるものであり、検索条件として対象データ項目を1回入力するだけで、関連する全システムにおける影響範囲の調査が可能となっている。
単一のパッケージやアプリケーション開発フレームワーク内での影響範囲特定ではなく、複数システムをまたいだデータ項目の影響範囲を自動的に特定することができるものであり、検索条件として対象データ項目を1回入力するだけで、関連する全システムにおける影響範囲の調査が可能となっている。
2.影響範囲を連鎖的に特定することによる影響範囲調査の網羅性の実現
検索対象データ項目の直接の利用先だけでなく、その利用先プログラムを介して関連する先のデータ項目を特定し、さらにそのデータ項目の利用先を特定する処理を繰り返すことにより、影響を及ぼし得る範囲を芋づる式で網羅的に特定することができる。
検索対象データ項目の直接の利用先だけでなく、その利用先プログラムを介して関連する先のデータ項目を特定し、さらにそのデータ項目の利用先を特定する処理を繰り返すことにより、影響を及ぼし得る範囲を芋づる式で網羅的に特定することができる。
3.データ項目と処理の相互関連の視覚化によるシステム間連携の把握の容易化
データ項目と処理の連鎖的な相互関連性を系統樹的に視覚化して表示することにより、システム全体の構成、各システム間の連携、データ項目及び処理の利用・参照の相互関係をユーザが直感的に理解することができる。
データ項目と処理の連鎖的な相互関連性を系統樹的に視覚化して表示することにより、システム全体の構成、各システム間の連携、データ項目及び処理の利用・参照の相互関係をユーザが直感的に理解することができる。
以下、添付図面を参照しながら、本発明のシステム仕様変更の支援システム、支援方法及び支援プログラムを実施するための最良の形態を詳細に説明する。図1〜図15は、本発明の実施の形態を例示する図であり、これらの図において、同一の符号を付した部分は同一物を表わし、基本的な構成及び動作は同様であるものとする。
[1]システム構成
図1は、本発明の一実施形態に係るシステム仕様変更の支援システムの全体構成を概略的に示す図である。
図1において、本実施形態の支援システム100は、Webサーバ110と、データベースサーバ120と、ソースコード管理サーバ130とから構成される。
図1は、本発明の一実施形態に係るシステム仕様変更の支援システムの全体構成を概略的に示す図である。
図1において、本実施形態の支援システム100は、Webサーバ110と、データベースサーバ120と、ソースコード管理サーバ130とから構成される。
Webサーバ110は、クライアント200に対してシステム仕様変更に伴う支援機能を提供するWebアプリケーションとして、適用されている各システムのソースコードを収集するソースコード収集処理部111と、収集したソースコードを解析するソースコード解析処理部112と、ソースコードの解析結果に基づき各システムのプログラム・データ項目間の関連図を描画する関連図描画処理部113と、クライアント200に対するインタフェース処理部114とを有している。
データベースサーバ120は、Webサーバ110のソースコード解析処理部112による解析結果データを保持するデータベース121を有している。データベースサーバ120に格納される各種テーブル及びデータについては後述する。
ソースコード管理サーバ130は、ソースコード格納部131と、システム構成情報格納部132とを有しており、本支援システム100の適用対象となるシステムの情報を管理する。ソースコード格納部131は、適用対象となる各システムの全ソースコードを格納しており、システム構成情報格納部132は、適用対象となるシステム全体の構成情報、特に、各システムが有するデータ保持のためのテーブル構成及びデータ項目に関する情報並びに各プログラムのジョブフロー情報を格納している。
クライアント200は、一般的なパーソナルコンピュータであり、ネットワーク等を通じて支援システム100のWebアプリケーションを利用できる機能(通信手段、Webブラウザなど)を有している。尚、本実施形態の支援システム100は、サーバ上に構築されるアプリケーションシステムとして記載しているが、全ての機能をクライアント200上に実装することも可能である。
[2]処理内容
次に、上記で説明した本実施形態の支援システム100の処理内容について説明する。
図2は、本実施形態の支援システム100においてシステム仕様変更による影響範囲を自動的に特定し表示する機能を実現するための処理の流れを示すフローチャートである。前提として、支援システム100において、ソースコード収集処理部111が現在利用されている全システムのソースコードと、データベース構造、ジョブフロー情報等を含むシステム構成情報とを収集し、それぞれ、ソースコード管理サーバ130のソースコード格納部131とシステム構成情報格納部132とに格納しているものとする。
次に、上記で説明した本実施形態の支援システム100の処理内容について説明する。
図2は、本実施形態の支援システム100においてシステム仕様変更による影響範囲を自動的に特定し表示する機能を実現するための処理の流れを示すフローチャートである。前提として、支援システム100において、ソースコード収集処理部111が現在利用されている全システムのソースコードと、データベース構造、ジョブフロー情報等を含むシステム構成情報とを収集し、それぞれ、ソースコード管理サーバ130のソースコード格納部131とシステム構成情報格納部132とに格納しているものとする。
図2において、まず、支援システム100は、クライアント200から解析対象となるデータ項目の入力を受け付ける(ステップS21)。このとき例えば、クライアント200のインタフェース画面上にシステム、テーブル、データ項目の候補一覧を表示し選択させるようにしてもよい。
クライアント200からの対象データ項目の入力を受け付けると、ソースコード解析処理部112は、ソースコード管理サーバ130のシステム構成情報格納部132に格納されたデータベース構造情報から対象データ項目を検索し、検索結果をシステム構成情報テーブルとしてデータベースサーバ120のデータベース121に格納する(ステップS22)。
図3は、データベースサーバ120のデータベース121に格納されるシステム構成情報テーブル及びこれを基に生成される関連情報テーブル(後述する)の例を示す図である。図3に示すように、システム構成情報テーブルは、検索された対象データ項目(A)とそのデータ項目が属するシステム名及びテーブル名をレコードに持つ。
図3は、データベースサーバ120のデータベース121に格納されるシステム構成情報テーブル及びこれを基に生成される関連情報テーブル(後述する)の例を示す図である。図3に示すように、システム構成情報テーブルは、検索された対象データ項目(A)とそのデータ項目が属するシステム名及びテーブル名をレコードに持つ。
続いて、ソースコード解析処理部112は、システム構成情報テーブルの各レコードについて関連情報テーブルを生成する処理を順次実行する。図3に示すように、まず、システム構成情報テーブルから1レコードが関連情報テーブルにコピーされる。
ソースコード解析処理部112は、ソースコード管理サーバ130のソースコード格納部131に格納された全システムのソースコードから、対象データ項目(A)に対する処理命令を検索する(ステップS23)。ここで、対象データ項目に対する処理命令とは、具体的には、ソースコードにおいて対象データ項目を参照・登録・修正・追加・削除処理するSQL文を検索し、そのSQL文が記述された対象行(B)、処理内容(テーブル作成、データ読み出し、更新、削除など)(C)、プログラムID(D)、システム名を取得する。これらの取得された情報を関連情報テーブルのレコードに追加する(ステップS24)。このようにレコードが追加された関連情報テーブルの例を図4に示す。
ソースコード解析処理部112は、ソースコード管理サーバ130のソースコード格納部131に格納された全システムのソースコードから、対象データ項目(A)に対する処理命令を検索する(ステップS23)。ここで、対象データ項目に対する処理命令とは、具体的には、ソースコードにおいて対象データ項目を参照・登録・修正・追加・削除処理するSQL文を検索し、そのSQL文が記述された対象行(B)、処理内容(テーブル作成、データ読み出し、更新、削除など)(C)、プログラムID(D)、システム名を取得する。これらの取得された情報を関連情報テーブルのレコードに追加する(ステップS24)。このようにレコードが追加された関連情報テーブルの例を図4に示す。
また、ソースコード管理サーバ130のシステム構成情報格納部132に格納しているジョブフロー情報から取得されるプログラム実行時間(E)やレコードを一意に識別できるレコードNO.(F)を関連情報テーブルに追加してもよい。このようにレコードが追加された関連情報テーブルの例を図5に示す。この例では、プログラム実行時間(E)、プログラムID(D)、対象行(B)の昇順でレコードをソートしている。
ここで、ソースコード解析処理部112は、関連情報テーブルに格納した各処理命令のうち、参照以外の処理命令(登録・修正・追加・削除)について、当該処理の対象となっているデータ項目(A)以外のデータ項目を抽出し、当該データ項目(I)と当該データ項目(I)が属する関連システム名(G)及び関連テーブル名(H)をレコードに追加する(ステップS25)。このようにレコードが追加された関連情報テーブルの例を図6に示す。
このようにして、システムのソースコードから検索されたデータ項目(A)について、当該データ項目を処理対象とするSQL文を解析することにより、データ項目(A)に対して行われる処理内容(C)、さらには、当該処理内容を介してデータ項目(A)と関連性を有するデータ項目(I)を特定することができる。具体的には、例えば、データ項目(A)を参照し、その値に応じてデータ項目(I)の値を書き換える処理内容(C)が存在する場合、
データ項目(A)→処理内容(C)→データ項目(I)
という関連性を把握することができる。
この場合、データ項目(A)が属するシステムの仕様変更によりデータ項目(A)に加えられた定義内容等の変更は、処理内容(C)を介してデータ項目(I)に影響を及ぼすことになるので、処理内容(C)の命令文とデータ項目(I)の定義内容等とを、仕様変更に適応できるよう必要に応じて修正することとなる。
尚、処理内容(C)がデータ項目(I)を参照するのみの処理である場合には、データ項目(I)にはデータ項目(A)の変更の影響が及ばないので、関連先のデータ項目(I)とはしない。
データ項目(A)→処理内容(C)→データ項目(I)
という関連性を把握することができる。
この場合、データ項目(A)が属するシステムの仕様変更によりデータ項目(A)に加えられた定義内容等の変更は、処理内容(C)を介してデータ項目(I)に影響を及ぼすことになるので、処理内容(C)の命令文とデータ項目(I)の定義内容等とを、仕様変更に適応できるよう必要に応じて修正することとなる。
尚、処理内容(C)がデータ項目(I)を参照するのみの処理である場合には、データ項目(I)にはデータ項目(A)の変更の影響が及ばないので、関連先のデータ項目(I)とはしない。
続いて、支援システム100は、関連情報テーブルのデータ項目(I)について、ステップS23以降の処理を再度実行する(ステップS26)。具体的には、データ項目(I)をデータ項目(A)として新たに関連情報テーブルを生成し、上記同様にデータ項目(A)に対して行われる処理内容(C)と関連性を有するデータ項目(I)とを抽出する処理を行う。つまり、ステップS26において、ステップS23〜S26の処理を再帰的に呼び出すこととなる。
以上のようにして、最初に生成した関連情報テーブルの各データ項目から派生して、全システムにわたって当該データ項目と関連性を有するデータ項目及び処理内容を系統樹的、連鎖的に特定することができる。この処理を、システム構成テーブルの各レコードの各データ項目について実行することで、ソースコード解析処理部112による解析処理は終了する。
尚、上記したソースコード解析処理部112による解析処理において、データ項目と処理内容との連鎖がループ状になった場合には、そこから先の解析を停止する。また、関連先のデータ項目又は処理内容が、既に他のデータ項目又は処理内容の関連先として特定されている場合には、その先は重複した処理となるので、既に行っている解析結果を利用することとする。例えば、先に生成した関連情報テーブルのレコードにリンクをしてもよいし、重複部分を当該レコードからコピーしてもよい。
[3]データ項目関連図生成及び画面表示
ソースコード解析処理部112による解析処理が終了すると、関連図描画処理部113は、ソースコード解析処理部112により生成された関連情報テーブルを視覚的に表すデータ項目関連図を描画する処理を行う。インタフェース処理部114は、関連図描画処理部113により生成されたデータ項目関連図をクライアント200の表示画面に表示させる(ステップS27)。また、インタフェース処理部114は、クライアント200の入力装置を通じて、描画方法の変更や表示するデータ項目の変更、選択したデータ項目又は処理内容の詳細表示などの操作を受け付けるようにしてもよい。
図7〜図15は、関連図描画処理部113によるデータ項目関連図の描画方法を模式的に示す図である。また、これらに図示する内容は、クライアント200の表示画面上でのデータ項目関連図の表示例でもある。
図7に示すように、まず、最初に解析対象として選択されたデータ項目(A)について、システム名、テーブル名及びデータ項目名を含む仕様変更対象データ項目オブジェクト(J)を生成する。また、仕様変更対象データ項目オブジェクト(J)の水平右側に、データ項目1(A)を対象とする1つの処理について、システム名、処理行(B)、処理内容(C)、プログラムID(D)、処理時間(E)を含む処理内容オブジェクト(K)を生成し、仕様変更対象データ項目オブジェクト(J)から処理内容オブジェクト(K)への関連性を示す矢印を生成する。尚、各オブジェクトの項目は任意に設定することができる。
データ項目1(A)を対象とする処理が複数ある場合には、図8〜図10に示すように、仕様変更対象データ項目オブジェクト(J)を円周状に包囲するようにして各処理内容オブジェクト(K)を等間隔で配置する。本例では、図7に示す仕様変更対象データ項目オブジェクト(J)の水平右側方向(時計でいう3時の方向)を始点として時計回りに、処理内容オブジェクト(K)の処理時間(E)の昇順に配置している。このような配置により、データ項目と処理内容の相互関連性のみならず、時間的関係性も視覚的に把握することができる。この他、システムID、プログラムID、処理内容などを基準に配置してもよい。
続いて、仕様変更対象データ項目オブジェクト(J)について生成された処理内容オブジェクト(K)の1つについて、関連先データ項目がある場合には、関連先データ項目オブジェクト(L)を生成し、処理内容オブジェクト(K)から関連先データ項目オブジェクト(L)への関連性を示す矢印を生成する。このとき、関連先データ項目オブジェクト(L)が1つしかない場合は、図11に示すように、仕様変更対象データ項目オブジェクト(J)から処理内容オブジェクト(K)への矢印と同方向の矢印を生成する。関連先データ項目オブジェクト(L)が複数ある場合には、図12〜図14に示すように、処理内容オブジェクト(K)を円弧状に包囲するようにして各処理内容オブジェクト(K)を等間隔で配置する(円弧の中心角は他系統のオブジェクトと重ならないよう適宜調整する)。
以上の処理を、仕様変更対象データ項目オブジェクト(J)について生成された処理内容オブジェクト(K)の全てについて行う。
以上の処理を、仕様変更対象データ項目オブジェクト(J)について生成された処理内容オブジェクト(K)の全てについて行う。
その後さらに、図15に示すように、上記で生成された各関連先データ項目オブジェクト(L)について、当該関連先データ項目を対象とする処理の処理内容オブジェクト(M)を生成し、処理内容オブジェクト(M)の関連先データ項目オブジェクト(N)を生成し、という処理を繰り返すことにより、仕様変更対象データ項目オブジェクト(J)から派生する、当該データ項目と関連性を有するデータ項目オブジェクト及び処理内容オブジェクトを全システムにわたって系統樹的、連鎖的に示したデータ項目関連図を生成することができる。
尚、上記したソースコード解析処理部112による解析処理において説明したのと同様に、データ項目と処理内容との連鎖がループ状になった場合には、そこから先のオブジェクト生成を停止する。また、関連先のデータ項目又は処理内容が、既に他のデータ項目又は処理内容の関連先として特定されている場合には(この場合、系統樹に閉じた菱形ができる)、その先は重複した内容となるので、先に生成したオブジェクト等のデータをコピーしてもよいし、先に生成したオブジェクト等にリンクをしてもよい。
以上、本発明のシステム仕様変更の支援システム、支援方法及び支援プログラムについて、具体的な実施の形態を示して説明したが、本発明はこれらに限定されるものではない。当業者であれば、本発明の要旨を逸脱しない範囲内において、上記各実施形態における各種記憶手段、検索手段、描画手段、ユーザインタフェースなどの構成及び機能に様々な変更・改良を加えることが可能である。
また、上記の実施形態では、特定のデータ項目を解析対象として選択し、当該データ項目から派生して、全システムにわたって当該データ項目と関連性を有するデータ項目及び処理内容を系統樹的、連鎖的に特定するシステム仕様変更の支援システムについて説明したが、一方で、特定の処理内容を解析対象として選択し、当該処理内容から派生して、全システムにわたって当該データ項目と関連性を有するデータ項目及び処理内容を系統樹的、連鎖的に特定するシステム仕様変更の支援システムも同様に実現可能である。
本発明のシステム仕様変更の支援システム、支援方法及び支援プログラムは、図1等に示すように、コンピュータのCPU、メモリ、補助記憶装置、ディスプレイ、入力デバイス等を含むハードウェア資源上に構築されたOS、アプリケーションソフトウェア、データベース、ネットワークシステム等によって実現されるものであり、システム仕様変更による影響範囲を自動的に特定し視覚的に分かりやすく表示するという情報処理が上記のハードウェア資源を用いて具体的に実現されるものであるから、自然法則を利用した技術的思想に該当するものであり、情報システム産業において利用することができるものである。
100 支援システム
110サーバ
111 ソースコード収集処理部
112 ソースコード解析処理部
113 関連図描画処理部
114 インタフェース処理部
120 データベースサーバ
121 データベース
130 ソースコード管理サーバ
131 ソースコード格納部
132 システム構成情報格納部
200 クライアント
110サーバ
111 ソースコード収集処理部
112 ソースコード解析処理部
113 関連図描画処理部
114 インタフェース処理部
120 データベースサーバ
121 データベース
130 ソースコード管理サーバ
131 ソースコード格納部
132 システム構成情報格納部
200 クライアント
Claims (11)
- 複数のシステムから構成される全体システムにおける仕様変更の支援システムであって、
各システムのソースコードを格納するソースコード格納部と、
各システムにおけるデータ保持のためのテーブル構成及びデータ項目に関する情報を格納するシステム構成情報格納部と、
解析対象のデータ項目について、当該データ項目に対する操作を行う各システムの処理命令及び当該処理命令による操作対象となっている関連データ項目を連鎖的に抽出する処理を繰り返すことにより、当該データ項目から派生する関連データ項目及び処理命令の連鎖的関係を解析するソースコード解析処理部と、
前記ソースコード解析処理部による解析結果に基づき、解析対象のデータ項目から派生する関連データ項目及び処理命令の連鎖的関係を示す関連図を生成する関連図生成処理部とを有し、
前記ソースコード解析処理部は、前記ソースコード格納部に格納された各システムのソースコードからデータ項目をキーとして検索することにより当該データ項目に対する操作を行う処理命令を検出し、前記システム構成情報格納部からデータ項目が属するシステム及びテーブルに関する情報を取得することを特徴とする仕様変更の支援システム。 - 前記システム構成情報格納部は、各システムが有する各プログラムの相互関連及び実行順序に関するジョブフロー情報を格納しており、
前記ソースコード解析処理部は、前記システム構成情報格納部に格納されたジョブフロー情報に基づき、処理命令の実行時間又は実行順序を解析し、
前記関連図生成処理部は、前記解析された各処理命令の実行時間又は実行順序を反映した関連図を生成することを特徴とする請求項1に記載の仕様変更の支援システム。 - 前記ソースコード解析処理部は、データ項目に対する操作を行う処理命令として、ソースコードに含まれるSQL命令文を検索することを特徴とする請求項2に記載の仕様変更の支援システム。
- 前記関連図生成処理部は、解析対象のデータ項目のオブジェクトを中心として、放射状かつ系統樹状に連鎖延伸する関連データ項目及び処理命令のオブジェクトの関連図を生成することを特徴とする請求項2又は3のいずれか1項に記載の仕様変更の支援システム。
- 前記関連図生成処理部は、前記放射状かつ系統樹状に連鎖延伸する関連データ項目及び処理命令のオブジェクトの関連図の生成処理において、系統樹において処理命令を実行時間又は実行順序に基づき配列した関連図を生成することを特徴とする請求項4に記載の仕様変更の支援システム。
- 複数のシステムから構成される全体システムにおける仕様変更の支援プログラムであって、
各システムのソースコードを格納するソースコード格納部と、各システムにおけるデータ保持のためのテーブル構成及びデータ項目に関する情報を格納するシステム構成情報格納部と、解析対象のデータ項目から派生する関連データ項目及び処理命令の連鎖的関係を解析するソースコード解析処理部と、データ項目及び処理命令間の連鎖的関係を示す関連図を生成する関連図生成処理部とを有するコンピュータにおいて、
前記ソースコード解析処理部により、前記ソースコード格納部に格納された各システムのソースコードから解析対象のデータ項目をキーとして検索することにより当該データ項目に対する操作を行う処理命令を検出し、当該処理命令による操作対象となっている関連データ項目を抽出し、前記システム構成情報格納部から当該関連データ項目が属するシステム及びテーブルに関する情報を取得し、当該関連データ項目を再度解析対象データ項目として本処理ステップを再帰的に実行する解析処理ステップと、
前記関連図生成処理部により、前記ソースコード解析処理部による解析結果に基づき、解析対象のデータ項目から派生する関連データ項目及び処理命令の連鎖的関係を示す関連図を生成する関連図生成ステップと、
を実行させることを特徴とする仕様変更の支援プログラム。 - 前記システム構成情報格納部は、各システムが有する各プログラムの相互関連及び実行順序に関するジョブフロー情報を格納しており、
前記解析処理ステップにおいて、前記システム構成情報格納部に格納されたジョブフロー情報に基づき、処理命令の実行時間又は実行順序を解析し、
前記関連図生成ステップにおいて、前記解析された各処理命令の実行時間又は実行順序を反映した関連図を生成することを特徴とする請求項6に記載の仕様変更の支援プログラム。 - 前記解析処理ステップにおいて、データ項目に対する操作を行う処理命令として、ソースコードに含まれるSQL命令文を検索することを特徴とする請求項7に記載の仕様変更の支援プログラム。
- 前記関連図生成ステップにおいて、解析対象のデータ項目のオブジェクトを中心として、放射状かつ系統樹状に連鎖延伸する関連データ項目及び処理命令のオブジェクトの関連図を生成することを特徴とする請求項7又は8のいずれか1項に記載の仕様変更の支援プログラム。
- 前記関連図生成ステップにおいて、前記放射状かつ系統樹状に連鎖延伸する関連データ項目及び処理命令のオブジェクトの関連図の生成処理において、系統樹において処理命令を実行時間又は実行順序に基づき配列した関連図を生成することを特徴とする請求項9に記載の仕様変更の支援プログラム。
- 複数のシステムから構成される全体システムにおける仕様変更の支援方法であって、
各システムのソースコードを格納するソースコード格納部と、各システムにおけるデータ保持のためのテーブル構成及びデータ項目に関する情報を格納するシステム構成情報格納部と、解析対象のデータ項目から派生する関連データ項目及び処理命令の連鎖的関係を解析するソースコード解析処理部と、データ項目及び処理命令間の連鎖的関係を示す関連図を生成する関連図生成処理部とを有するコンピュータにおいて、
前記ソースコード解析処理部により、前記ソースコード格納部に格納された各システムのソースコードから解析対象のデータ項目をキーとして検索することにより当該データ項目に対する操作を行う処理命令を検出し、当該処理命令による操作対象となっている関連データ項目を抽出し、前記システム構成情報格納部から当該関連データ項目が属するシステム及びテーブルに関する情報を取得し、当該関連データ項目を再度解析対象データ項目として本処理ステップを再帰的に実行する解析処理ステップと、
前記関連図生成処理部により、前記ソースコード解析処理部による解析結果に基づき、解析対象のデータ項目から派生する関連データ項目及び処理命令の連鎖的関係を示す関連図を生成する関連図生成ステップと、
を実行させることを特徴とする仕様変更の支援方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009209979A JP2011060062A (ja) | 2009-09-11 | 2009-09-11 | システム仕様変更の支援システム、支援方法及び支援プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009209979A JP2011060062A (ja) | 2009-09-11 | 2009-09-11 | システム仕様変更の支援システム、支援方法及び支援プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011060062A true JP2011060062A (ja) | 2011-03-24 |
Family
ID=43947604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009209979A Withdrawn JP2011060062A (ja) | 2009-09-11 | 2009-09-11 | システム仕様変更の支援システム、支援方法及び支援プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011060062A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012208879A (ja) * | 2011-03-30 | 2012-10-25 | Kddi Corp | パッチ影響解析装置、方法及びプログラム |
JP2020129392A (ja) * | 2020-04-28 | 2020-08-27 | キヤノンマーケティングジャパン株式会社 | 情報処理装置と、その処理方法及びプログラム |
JP2021068091A (ja) * | 2019-10-21 | 2021-04-30 | 富士通株式会社 | 情報提示プログラム、情報提示装置、及び情報提示方法 |
JP2021124962A (ja) * | 2020-02-05 | 2021-08-30 | 富士通株式会社 | 管理プログラム,管理装置および管理方法 |
-
2009
- 2009-09-11 JP JP2009209979A patent/JP2011060062A/ja not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012208879A (ja) * | 2011-03-30 | 2012-10-25 | Kddi Corp | パッチ影響解析装置、方法及びプログラム |
JP2021068091A (ja) * | 2019-10-21 | 2021-04-30 | 富士通株式会社 | 情報提示プログラム、情報提示装置、及び情報提示方法 |
JP7356013B2 (ja) | 2019-10-21 | 2023-10-04 | 富士通株式会社 | 情報提示プログラム、情報提示装置、及び情報提示方法 |
JP2021124962A (ja) * | 2020-02-05 | 2021-08-30 | 富士通株式会社 | 管理プログラム,管理装置および管理方法 |
JP2020129392A (ja) * | 2020-04-28 | 2020-08-27 | キヤノンマーケティングジャパン株式会社 | 情報処理装置と、その処理方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9928155B2 (en) | Automated anomaly detection service on heterogeneous log streams | |
US11068510B2 (en) | Method and system for implementing efficient classification and exploration of data | |
US11163731B1 (en) | Autobuild log anomaly detection methods and systems | |
US20210318851A1 (en) | Systems and Methods for Dataset Merging using Flow Structures | |
US7418453B2 (en) | Updating a data warehouse schema based on changes in an observation model | |
Geist et al. | Major computer science challenges at exascale | |
EP3198478A1 (en) | Method and system for implementing efficient classification and exploration of data | |
US20090024426A1 (en) | Method and Apparatus for Dynamic Evolution in Business Performance Management | |
US20150032743A1 (en) | Analyzing files using big data tools | |
JP2012164211A (ja) | ソフトウェアの類似性評価方法 | |
Rabl et al. | Apache Flink in current research | |
Agarwal et al. | Implementation of an improved algorithm for frequent itemset mining using Hadoop | |
JP2017041171A (ja) | テストシナリオ生成支援装置およびテストシナリオ生成支援方法 | |
JP2007011604A (ja) | 不具合診断システム及びプログラム | |
JP2011060062A (ja) | システム仕様変更の支援システム、支援方法及び支援プログラム | |
US10346450B2 (en) | Automatic datacenter state summarization | |
JP6048957B2 (ja) | 情報処理装置、プログラム、及び情報処理方法 | |
JP2010237841A (ja) | 動作検証装置および動作検証プログラム | |
Husain et al. | Application of data mining techniques for improving software engineering | |
JP2009230420A (ja) | ソースコード品質管理装置 | |
CN116401025A (zh) | 一种数据处理系统及数据处理方法 | |
US20220405065A1 (en) | Model Document Creation in Source Code Development Environments using Semantic-aware Detectable Action Impacts | |
CN114385155A (zh) | vue项目可视化工具生成方法、装置、设备及存储介质 | |
JP2014067109A (ja) | データ遷移トレース装置、データ遷移トレース方法、及び、データ遷移トレースプログラム | |
JP2007172516A (ja) | Sql文によるデータベースの検索所要時間の予測方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20121204 |