JP5041986B2 - Component division support device, method and program thereof - Google Patents
Component division support device, method and program thereof Download PDFInfo
- Publication number
- JP5041986B2 JP5041986B2 JP2007306217A JP2007306217A JP5041986B2 JP 5041986 B2 JP5041986 B2 JP 5041986B2 JP 2007306217 A JP2007306217 A JP 2007306217A JP 2007306217 A JP2007306217 A JP 2007306217A JP 5041986 B2 JP5041986 B2 JP 5041986B2
- Authority
- JP
- Japan
- Prior art keywords
- dependency
- definition
- data
- policy
- component
- 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
本発明は、データベースを利用したソフトウェアの開発において、ソフトウェア開発者が実施するコンポーネント分割を支援する装置、及びその方法とプログラムに関する。 The present invention relates to an apparatus for supporting component division performed by a software developer in software development using a database, and a method and program therefor.
ソフトウェアの開発では、開発対象のソフトウェアを、要求仕様が決まった直後にコンポーネントに分割することが多い。ここでコンポーネントとは、最終的にプログラムとして実装される機能と、コンポーネント内部に隠蔽される機能をコンポーネント外部から参照できるようにするためのサービスインタフェース、コンポーネントの機能が扱うデータ(データベースを利用したソフトウェア開発の場合、データはデータベースのテーブルである。)を要素として有する論理的なモジュールのことである。ここでコンポーネント分割とは、要求仕様などで定義される機能やデータを構造化し、コンポーネントの要素であるコンポーネントの機能、サービスインタフェース及びテーブルへ変換し、これらをまとめてコンポーネントを構成することである。 In software development, software to be developed is often divided into components immediately after the required specifications are determined. Here, a component means a function that is finally implemented as a program, a service interface that enables the function hidden inside the component to be referenced from outside the component, and data handled by the component function (software using a database). In the case of development, data is a database table). Here, the component division is to structure the functions and data defined by the requirement specifications, convert them into component functions, service interfaces, and tables that are component elements, and configure these components together.
開発対象が大規模なソフトウェアを開発する際には、コンポーネント分割によって最終的にプログラムとして実装される多くの機能やそれらの機能で利用するデータを、開発の初期段階でコンポーネントして整理することができ、最終的に品質の高いソフトウェアを開発できるようになる。また、コンポーネント分割した単位に開発者を組織し、コンポーネント単位で開発を進めることができるため、開発を実施しやすくする。しかし、コンポーネント分割の仕方によっては、コンポーネント間に依存関係ができるなどにより、最終的に品質の低いソフトウェアが作られたり、コンポーネント単位の開発も難しくなる。 When developing large-scale software, many functions that are finally implemented as programs by component division and the data used by those functions can be organized into components at the initial stage of development. And finally it will be possible to develop high quality software. In addition, developers can be organized in units divided into components, and development can be carried out in units of components, making development easier. However, depending on how the components are divided, due to the dependency between the components, software with low quality is finally created, and it becomes difficult to develop components.
特許文献1では、ソフトウェア開発後に開発したプログラムのモジュール分割を評価する方法を提案している。特許文献1では、所与のプログラムのソースコードを分析し、モジュールとしてクラスを対象とし、さらにモジュール間の依存関係(メソッド同士の呼び出しなど)を分析し、所定の算式によって各種依存関係に対する評価値を算出する。これによって、従来、主観に頼りがちだったモジュール分割に対して、妥当なモジュール分割であるかどうかの客観的評価の判断材料を与える。
特許文献1では、ソースコードが存在するプログラムのモジュール分割を評価する技術が開示されている。しかし、これから開発するソフトウェアのコンポーネント分割を支援することに関しては、特許文献1ではその技術の外としている。
コンポーネント単位でのソフトウェア開発を行いやすく、かつ最終的に品質の高いソフトウェアを作れるようにするために、それらの阻害要因となる依存関係の有無などを予めポリシーとして規定しておき、規定したポリシーに反しないようにコンポーネント分割を行うようにすることが考えられる。ただし、要求仕様の数が多くなればなるほど、コンポーネント分割のパターンも多くなり、全てのポリシーに反しないようなコンポーネント分割のパターンを選択することは難しい。 In order to make it easier to develop software on a component-by-component basis, and finally to create high-quality software, the existence of dependencies that may be an obstacle to these factors should be specified in advance as a policy. It is conceivable to perform component division so as not to contradict. However, as the number of required specifications increases, the number of component division patterns increases, and it is difficult to select a component division pattern that does not violate all policies.
また、コンポーネント分割後に、要求仕様が追加・変更されることによってコンポーネントを再分割する必要が生じることがある。この際、既に分割済みのコンポーネントとその要素への影響を少なくし、かつポリシーに反しないようにコンポーネントを再分割することは、既存のコンポーネントの数と要求仕様の追加・変更の数が多いほど難しくなる。 Further, it may be necessary to re-divide the components by adding / changing the required specifications after dividing the components. At this time, reducing the influence on the already divided components and their elements and re-dividing the components so as not to violate the policy, the more the number of existing components and the number of additions / changes of requirement specifications, the more It becomes difficult.
本発明の目的は、コンポーネント分割の際にポリシーに反するコンポーネント要素間の依存関係を検出し、検出した不正依存関係に対する改善策の候補を出力する、コンポーネント分割支援装置、及びその方法とプログラムを提供することにある。 An object of the present invention is to provide a component division support apparatus, a method and a program for detecting dependency relations between component elements that violate a policy at the time of component division and outputting candidates for improvement measures for the detected illegal dependency relations. There is to do.
本発明のコンポーネント分割支援装置は次のような態様である。開発対象ソフトウェアのコンポーネントの要素であるサービスインタフェース、テーブル及びそれらの間の依存関係に関する定義データを格納するコンポーネント要素定義記憶部、前記依存関係に関して不正な依存関係を規定するポリシーデータを格納する依存関係ポリシー記憶部、ポリシーに反する依存関係を改善する案を格納する改善策記憶部、及び依存関係ポリシー記憶部に格納されている不正な依存関係を規定するポリシーデータを用いて、コンポーネント要素定義記憶部に格納されている依存関係の中からポリシーに反する依存関係を検出し、改善策記憶部に格納されている前記ポリシーに反する依存関係を改善する案を用いて、検出したポリシーに反する依存関係の改善案の候補を出力する依存関係分析部を有する。 The component division support apparatus according to the present invention is as follows. Service interface that is an element of the component of the development target software, a table, and a component element definition storage unit that stores definition data related to the dependency relationship between them, a dependency relationship that stores policy data that defines an illegal dependency relationship with respect to the dependency relationship A component storage unit that uses a policy storage unit, an improvement plan storage unit that stores a plan for improving a dependency relationship that violates a policy, and policy data that defines an illegal dependency stored in the dependency policy storage unit. Dependencies that are against the policy are detected by using a plan to detect a dependency that is against the policy from the dependencies that are stored in, and to improve the dependency that is against the policy stored in the improvement measure storage unit. A dependency analysis unit that outputs candidates for improvement;
本発明の他の態様は、入力装置、表示装置、記憶装置及びプロセッサを有するコンピュータにより、上記各記憶部の内容が記憶装置に格納され、上記依存関係分析部の処理をプロセッサで実行するコンポーネント分割支援方法及びそのプログラムである。 Another aspect of the present invention is a component division in which a computer having an input device, a display device, a storage device, and a processor stores the contents of each storage unit in the storage device and executes the processing of the dependency relationship analysis unit by the processor. A support method and a program thereof.
本発明によれば、開発対象ソフトウェアのコンポーネント分割において、ユーザは依存関係ポリシーに反するコンポーネント要素間の依存関係を確認することができる。また不正依存関係に対する改善策が出力されるので、コンポーネント分割作業が容易になる。 According to the present invention, in the component division of the software to be developed, the user can check the dependency relationship between component elements that violates the dependency policy. In addition, since the improvement measures against the illegal dependency relationship are output, the component division work becomes easy.
以下、本発明の実施の形態を詳細に説明する。本実施形態に係るコンポーネント分割支援装置100は、図1に示すようにコンポーネント要素定義編集部102、コンポーネント要素定義操作部104、改善策適用部106、依存関係分析部108、コンポーネント要素定義記憶部150、改善策記憶部170、依存関係ポリシー記憶部180、及び依存関係分析結果記憶部190を有する。図中の矢印は構成要素間におけるデータの流れを示す。
Hereinafter, embodiments of the present invention will be described in detail. As shown in FIG. 1, the component
コンポーネント分割支援装置100は、図2に示すように、CPU(プロセッサ) 201、主記憶装置(メモリ)202、入力装置203、表示装置204、及び外部記憶装置205を有する計算機システムを用いて実現される。
As shown in FIG. 2, the component
コンポーネント要素定義記憶部150、改善策記憶部170、依存関係ポリシー180および依存関係分析結果記憶部190は、外部記憶装置205に記憶され、CPU201によるプログラムの実行に伴って、主記憶装置202との間でデータの読み書きが行われる。コンポーネント要素定義編集部102、コンポーネント要素定義操作部104、改善策適用部106および依存関係分析部108は、主記憶装置202に格納され、CPU201によって実行されるプログラムである。
The component element
図3に、コンポーネント要素定義記憶部150、改善策記憶部170、依存関係ポリシー180および依存関係分析結果記憶部190の構成を示す。
FIG. 3 shows configurations of the component element
図3(a)に示すコンポーネント要素定義記憶部150は、コンポーネント定義3000、サービスインタフェース定義3050、テーブル定義3100、コンポーネント間依存関係定義3150、サービスインタフェース間依存関係定義3200、サービスインタフェース・テーブル依存関係定義3250およびテーブル間依存関係定義3300を有する。
The component element
コンポーネント定義3000は、コンポーネントの定義データを格納するためのテーブルである。コンポーネント定義3000は、図8にコンポーネント定義3000によって定義されるデータの一例を示すように、コンポーネント定義3000によって定義するデータを一意に識別するためのコンポーネントID 802と、コンポーネントの名前を表すコンポーネント名804を有する。
The
サービスインタフェース定義3050は、コンポーネント定義3000で定義されるコンポーネントに属するサービスインタフェースの定義データを格納するためのテーブルである。サービスインタフェースとは、コンポーネント内部にあり、かつコンポーネント外部から隠蔽される(最終的にプログラムとなる)機能を、コンポーネント外部から参照できるようにするためのインタフェースである。サービスインタフェース定義3050は、図9にサービスインタフェース定義3050によって定義されるデータの一例を示すように、サービスインタフェース定義3050によって定義するデータを一意に識別するためのサービスインタフェースID 902、サービスインタフェースの名前を表すサービスインタフェース名904、サービスインタフェースが属するコンポーネントを指定するための所属コンポーネントID 906、及びこのサービスインタフェース定義のデータ変更の可否を示す定義固定フラグ908を有する。
The
テーブル定義3100は、コンポーネント定義3000で定義されるコンポーネントに属するテーブルの定義データを格納するためのテーブルである。テーブル定義3100は、図10にテーブル定義3100によって定義されるデータの一例を示すように、テーブル定義3100によって定義するデータを一意に識別するためのテーブルID 1002、テーブルの名前を表すテーブル名1004、テーブルが属するコンポーネントを指定するための所属コンポーネントID 1006、及びこのテーブル定義のデータ変更の可否を示す定義固定フラグ1008を有する。
The
コンポーネント間依存関係定義3150は、コンポーネント定義3000で定義される任意の2つのコンポーネント間の依存関係の定義データを格納するためのテーブルである。コンポーネント間依存関係定義3150は、図11にコンポーネント間依存関係定義3150によって定義されるデータの一例を示すように、コンポーネント間依存関係3150によって定義するデータを一意に識別するためのコンポーネント間依存関係ID 1102、コンポーネント間依存関係の関連元(依存元)のコンポーネントのデータを指定するための関連元コンポーネントID 1104、及びコンポーネント依存関係の関連先(依存先)のコンポーネントを指定するための関連先コンポーネントID 1106を有する。
The
サービスインタフェース間依存関係定義3200は、サービスインタフェース定義3050で定義される任意の2つのサービスインタフェース間の依存関係の定義データを格納するためのテーブルである。サービスインタフェース間の依存関係とは、サービスインタフェースを公開している(最終的にプログラムとなる)機能が他の機能を呼び出すために他の機能が有するサービスインタフェースを参照することを意味する。サービスインタフェース間依存関係定義3200は、図12にサービスインタフェース間依存関係定義3200によって定義されるデータの一例を示すように、サービスインタフェース間依存関係3200によって定義するデータを一意に識別するためのサービスインタフェース間依存関係ID 1202、サービスインタフェース間依存関係の関連元のサービスインタフェースを指定するための関連元サービスインタフェースID 1204、サービスインタフェース間依存関係の関連先のサービスインタフェースを指定するための関連先サービスインタフェースID 1206、及びこのサービスインタフェース間依存関係定義のデータ変更の可否を示す定義固定フラグ1208を有する。
The inter-service
サービスインタフェース・テーブル依存関係定義3250は、サービスインタフェース定義2050で定義されるサービスインタフェースと、テーブル定義3100で定義されるテーブルとの、依存関係の定義データを格納するためのテーブルである。サービスインタフェースとテーブルとの依存関係とは、サービスインタフェースを有する(最終的にプログラムとなる)機能がテーブルを参照することを意味する。サービスインタフェース・テーブル依存関係定義3250は、図13にサービスインタフェース・テーブル依存関係定義3250によって定義されるデータの一例を示すように、サービスインタフェース・テーブル依存関係定義3250によって定義するデータを一意に識別するためのサービスインタフェース・テーブル依存関係ID 1302、サービスインタフェース・テーブル依存関係の関連元であるサービスインタフェースを指定するための関連元サービスインタフェース定義ID 1304、サービスインタフェース・テーブル依存関係の関連先であるテーブルを指定するための関連先テーブルID 1306、及びこのサービスインタフェース・テーブル依存関係定義のデータ変更の可否を示す定義固定フラグ 1308を有する。
The service interface / table
テーブル間依存関係定義3300は、テーブル定義3100で定義される任意の2つのテーブル間の依存関係の定義データを格納するためのテーブルである。テーブル間の依存関係とは、あるテーブルの外部キーと他のテーブルの主キーとの間に存在する関係を意味する。テーブル間依存関係定義3300は、図14にテーブル間依存関係定義3300によって定義されるデータの一例を示すように、テーブル間依存関係定義3300によって定義するデータを一意に識別するためのテーブル間依存関係ID 1402、テーブル間依存関係の関連元のテーブルを指定するための関連元テーブルID 1404、テーブル間依存関係の関連先のテーブルを指定するための関連先テーブルID 1406、及びこのテーブル間依存関係定義のデータ変更の可否を示す定義固定フラグ1408を有する。
The
図3(b)に示す改善策記憶部170は、不正依存関係改善策定義3350を有する。
The improvement
不正依存関係改善策定義3350は、依存関係分析部108において検出する不正な依存関係、すなわち、不正なサービスインタフェース間依存関係、不正なサービスインタフェース・テーブル依存関係、及び不正なテーブル間依存関係に対して、それぞれの不正な依存関係を改善するためのプログラムへのポインタを格納するためのテーブルである。不正依存関係改善策定義3350は、図15に不正依存関係改善策定義3350によって定義されるデータの一例を示すように、不正依存関係改善策定義3350によって定義するデータを一意に識別するための不正依存関係改善策ID 1502、不正な依存関係を改善するための不正依存関係改善策プログラムへのポインタである不正依存関係改善策プログラムID 1504、不正依存関係改善策の内容を示す不正依存関係改善策内容1506、及び不正依存関係改善策プログラムID 1504が対象とする不正依存関係ポリシー定義3400のデータを指定する不正依存関係ポリシーID 1508を有する。
The illegal dependency
図3(c)に示す依存関係ポリシー記憶部180は、不正依存関係ポリシー定義3400を有する。
The dependency
不正依存関係ポリシー定義3400は、依存関係分析部108において不正な依存関係を発見するための不正依存関係ポリシープログラムへのポインタを格納するためのテーブルである。不正依存関係ポリシー定義3400は、図16に不正依存関係ポリシー定義3400によって定義されるデータの一例を示すように、不正依存関係ポリシー定義3400によって定義するデータを一意に識別するための不正依存関係ポリシーID 1602、不正な依存関係を発見するための不正依存関係ポリシープログラムへのポインタである不正依存関係ポリシープログラムID 1604、不正依存関係ポリシープログラムID 1604が指定するプログラムが不正依存関係として検出した場合に検出した不正依存関係の不正度合い示す不正依存関係ポリシー点(評価点) 1606、及び不正依存関係ポリシーの内容を示す不正依存関係ポリシー内容1608を有する。
The illegal
図3(d)に示す依存関係分析結果記憶部190は、不正依存関係分析結果3500、及び不正依存関係改善案3550を有する。
The dependency analysis
不正依存関係分析結果3500は、依存関係分析部108において検出した不正依存関係分析結果を格納するためのテーブルである。不正依存関係分析結果3500は、図17に不正依存関係分析結果3500によって定義されるデータの一例を示すように、不正依存関係分析結果3500によって定義するデータを一意に識別するための不正依存関係分析結果ID 1702、不正な依存関係のデータのIDすなわち、不正なサービスインタフェース間依存関係のID 1202、不正なサービスインタフェース・テーブル依存関係のID 1302、または不正なテーブル間依存関係のID1402を指定する不正依存関係ID 1704と、不正依存関係を検出した不正依存関係ポリシー定義3400のデータ1602を指定する不正依存関係ポリシーID 1706を有する。
The unauthorized
不正依存関係改善案3550は、図18に不正依存関係改善案3550によって定義されるデータの一例を示すように、不正依存関係改善案3550によって定義するデータを一意に識別するための不正依存関係改善案ID 1802、不正依存関係分析結果3500のデータを指定する不正依存関係分析結果ID 1804、不正依存関係改善案定義3350のデータを指定する不正依存関係改善策ID 1806、及び不正依存関係に対して改善策を仮適用した結果に対する不正依存関係評価点から算出される不正依存関係改善結果評価点1808を有する。
The illegal
コンポーネント要素定義編集部102について、図4の処理フローにしたがって説明する。
The component element
ステップ402では、図19に示す編集メニュー画面1900を表示装置204に表示する。次に、入力装置203を通じて、図19中のコンポーネント定義編集ボタン1902、サービスインタフェース定義編集ボタン1904、テーブル定義編集ボタン1906、コンポーネント間依存関係定義編集ボタン1908、サービスインタフェース間依存関係定義編集ボタン1910、サービスインタフェース・テーブル依存関係定義編集ボタン1912、テーブル間依存関係定義編集ボタン1914、及び改善策適用ボタン1916の一つが押されたことを判定した場合、押されたボタンに対応してステップ404〜ステップ420(ただし、ステップ418を除く)の一つに処理を移す。入力装置203を通じて、図19中の終了ボタン1918が押されたことを判定した場合、処理を終了する。
In
ステップ404では、図20に示すコンポーネント定義編集画面2000を表示装置204に表示する。このとき、コンポーネント定義3000のデータをコンポーネント要素定義記憶部150から読込み、読み込んだデータを図20中の2020に示すように一覧にして表示する。入力装置203を通じて、カーソル2022が示すようにコンポーネント定義3000のデータが選択された場合、そのデータの内容であるコンポーネントID 2002とコンポーネント名2004とを表示する。
In
入力装置203を通じてコンポーネント名2004が変更され、登録ボタン2006が押されたことを判定した場合には、変更内容を反映したコンポーネント定義3000のデータをコンポーネント要素定義記憶部150に格納する。また、変更内容を反映して、一覧2020の表示を変える。
When it is determined that the
入力装置203を通じて新規ボタン2012が押されたことを判定した場合には、新たなコンポーネントIDを生成して2002に表示し、入力装置203を通じてコンポーネント名2004が入力され、登録ボタン2006が押されたことを判定した場合には、新たに作成したコンポーネントID 2002と入力されたコンポーネント名2004を有するコンポーネント定義3000のデータを作成してコンポーネント要素定義記憶部150に格納する。また、作成したコンポーネント定義3000のデータを一覧2020に追加表示する。
If it is determined that the
入力装置203を通じて、図20中の終了ボタン2010が押されたことを判定した場合、ステップ402に処理を移す。以上のようにして、ユーザはコンポーネント定義3000のデータを編集する。
When it is determined through the
ステップ406では、図21に示すサービスインタフェース定義編集画面2100を表示装置204に表示する。このとき、サービスインタフェース定義3050のデータをコンポーネント要素定義記憶部150から読み込み、読み込んだデータを図21中の2120に示すように一覧にして表示する。
In
入力装置203を通じて、カーソル2122が示すようにサービスインタフェース定義3050のデータが選択された場合、そのデータの内容であるサービスインタフェースID 2102、サービスインタフェース名2104、所属コンポーネントID 2106、及び定義固定フラグ2108を表示する。
When the data of the
入力装置203を通じて削除ボタン2112が押されたことを判定し、定義固定フラグ2108が“FALSE”であり、かつ表示されているサービスインタフェース定義3050に関係する、コンポーネント要素記憶部150内のサービスインタフェース間依存関係定義3200のデータとサービスインタフェース・テーブル依存関係定義3250のデータとを参照し、これらデータの定義固定フラグ1208及び1308が“FALSE”の場合、表示されているサービスインタフェース定義3050のデータと、これに関係するサービスインタフェース間依存関係定義3200のデータ及びサービスインタフェース・テーブル依存関係定義3250のデータとをコンポーネント要素記憶部150から削除する。削除したデータを一覧表示2120から消去する。
It is determined that the
入力装置203を通じてサービスインタフェース名2104や所属コンポーネントID 2106が変更され、かつ定義固定フラグ2108が“FALSE”であり、登録ボタン2110が押されたことを判定した場合には、変更内容を反映したサービスインタフェース定義3050のデータをコンポーネント要素定義記憶部150に格納する。また、変更内容を反映して、一覧2120の表示を変える。
If it is determined that the
入力装置203を通じて定義固定フラグ2108が“TRUE”から“FALSE”または“FALSE”から“TRUE”に変更され場合、変更内容を反映したサービスインタフェース定義3050のデータをコンポーネント要素定義記憶部150に格納する。また、変更内容を反映して、一覧2020の表示を変える。
When the
入力装置203を通じて新規ボタン2116が押されたことを判定した場合には、新たなサービスインタフェースIDを生成し2102に表示し、入力装置203を通じてサービスインタフェース名2104、所属コンポーネントID 2106、及び定義固定フラグ2108とが入力され、登録ボタン2110が押されたことを判定した場合には、新たに作成したサービスインタフェースID 2102、入力されたサービスインタフェース名2104、所属コンポーネントID 2106、及び定義固定フラグ2108を有するサービスインタフェース定義3050のデータを作成してコンポーネント要素定義記憶部150に格納する。また、作成したサービスインタフェース定義3050のデータを一覧2120に追加表示する。
When it is determined that the
入力装置203を通じて、図21中の終了ボタン2114が押されたことを判定した場合、ステップ402に処理を移す。以上のようにして、ユーザはサービスインタフェース定義3050のデータを編集する。
If it is determined that the
ステップ408では、図22に示すテーブル定義編集画面2200を表示装置204に表示する。このとき、テーブル定義3100のデータをコンポーネント要素定義記憶部150から読み込み、読み込んだデータを図22中の2220に示すように一覧にして表示する。
In
入力装置203を通じて、カーソル2222が示すようにテーブル定義3100のデータが選択された場合、そのデータの内容であるテーブルID 2202、テーブル名2204、所属コンポーネントID 2206、及び定義固定フラグ2208を表示する。
When the data of the
入力装置203を通じて削除ボタン2212が押されたことを判定し、定義固定フラグ2208が“FALSE”であり、かつ、表示されているテーブル定義3050に関係する、コンポーネント要素記憶部150内のサービスインタフェース・テーブル依存関係定義3250のデータとテーブル間依存関係定義3300のデータとを参照し、これらデータの定義固定フラグ1308及び1408が“FALSE”の場合は、表示されているテーブル定義3100のデータと、これに関係するサービスインタフェース・テーブル依存関係定義3250のデータ及びテーブル間依存関係定義3300のデータとをコンポーネント要素記憶部150から削除する。削除したデータを一覧表示2220から消去する。
It is determined that the
入力装置203を通じてテーブル名2204や所属コンポーネントID 2206が変更され、かつ定義固定フラグ2208が“FALSE”であり、登録ボタン2210が押されたことを判定した場合には、変更内容を反映したテーブル定義3100のデータをコンポーネント要素定義記憶部150に格納する。また、変更内容を反映して、一覧2220の表示を変える。
If it is determined that the
入力装置203を通じて定義固定フラグ2208が“TRUE”から“FALSE”または“FALSE”から“TRUE”に変更され場合、変更内容を反映したテーブル定義3100のデータをコンポーネント要素定義記憶部150に格納する。また、変更内容を反映して、一覧2220の表示を変える。
When the
入力装置203を通じて新規ボタン2216が押されたことを判定した場合には、新たなテーブルIDを生成して2202に表示し、入力装置203を通じてテーブル名2204、所属コンポーネントID 2206、及び定義固定フラグ2208が入力され、登録ボタン2210が押されたことを判定した場合には、新たに作成したテーブルID 2202と入力されたテーブル名2204、所属コンポーネントID 2206、及び定義固定フラグ2208とを有するテーブル定義3100のデータを作成してコンポーネント要素定義記憶部150に格納する。また、作成したテーブル定義3100のデータを一覧2220に追加表示する。
If it is determined that the
入力装置203を通じて、図22中の終了ボタン2214が押されたことを判定した場合、ステップ402に処理を移す。以上のようにして、ユーザはテーブル定義3100のデータを編集する。
If it is determined that the
ステップ410では、図28に示すコンポーネント間依存関係定義編集画面2800を表示装置204に表示する。このとき、コンポーネント間依存関係定義3150のデータと関係するコンポーネント定義3000のデータをコンポーネント要素定義記憶部150から読み込み、読み込んだデータの一覧を図28中の2820に示すようなマトリックスによって表示する。マトリックスの縦軸がコンポーネント間依存関係の関連元(依存元)を示し、マトリックスの横軸がコンポーネント間依存関係の関連先(依存先)を示す。コンポーネント間に依存関係が存在する(縦軸に示すコンポーネントが横軸に示すコンポーネントに依存する)場合は、該当するマトリックスのセルにチェック印2822を表示する。
In
チェック印2822があるマトリックスのセルが入力装置203を通じて選択された場合、選択されたセルに対応する関連元のコンポーネント名を関連元名2802に、選択されたセルに対応する関連先のコンポーネント名を関連先名2804に、関係があることを示すために関係フラグ2806を“TRUE”として、それぞれ表示する。チェック印が無いマトリックスのセルが入力装置203を通じて選択された場合、選択されたセルに対応する関連元のコンポーネント名を関連元名2802に、選択されたセルに対応する関連先のコンポーネント名を関連先名2804に、関係が無いことを示すために関係フラグ2806を“FALSE”として、それぞれ表示する。
When a cell in the matrix with the check mark 2822 is selected through the
表示した関係フラグ2806が“FALSE”だったのが“TRUE”に変更され、入力装置203を通じて登録ボタン2808が押された場合は、コンポーネント間に新たな依存関係が作成されたので、コンポーネント間依存関係ID 1102を生成し、関連元名2802に対応するコンポーネントID 802を関連元コンポーネントID 1104とし、関連先名2804に対応するコンポーネントID 802を関連先コンポーネントID 1106とするコンポーネント間依存関係定義3150のデータを作成し、作成したデータをコンポーネント要素定義記憶部150に格納する。マトリックス2820の、作成したデータに対応するセルにチェック印を表示する。
When the displayed
表示した関係フラグ2806が“TRUE”だったのが変更されずに、入力装置203を通じて登録ボタン2808が押された場合は、コンポーネント間の依存関係の内容(関連元名2802及び関連先名2804の一方)が変更されたこととみなし、領域2801に表示しているコンポーネント間依存関係定義3150のデータを、登録ボタン2808が押された時点で表示されている関連元名2802と関連先名2804とに変更し、変更したコンポーネント間依存関係定義3150のデータをコンポーネント要素定義記憶部150に格納する。このデータ変更に応じて、マトリックス2820の該当するセルのチェック印を変更表示する。
If the displayed
入力装置203を通じて、図28中の終了ボタン2810が押されたことを判定した場合、ステップ402に処理を移す。以上のようにして、ユーザはコンポーネント間依存関係定義3150のデータを編集する。
If it is determined that the end button 2810 in FIG. 28 has been pressed through the
ステップ412では、図23に示すサービスインタフェース間依存関係定義編集画面2300を表示装置204に表示する。このとき、サービスインタフェース間依存関係定義3200のデータと関係するコンポーネント定義3000のデータとサービスインタフェース定義3050のデータとをコンポーネント要素定義記憶部150から読み込み、読み込んだデータの一覧を図23中の2320に示すようなマトリックスによって表示する。マトリックスの縦軸がサービスインタフェース間依存関係の関連元(依存元)を示し、マトリックスの横軸がサービスインタフェース間依存関係の関連先(依存先)を示す。サービスインタフェース間に依存関係が存在する(縦軸に示すサービスインタフェースが横軸に示すサービスインタフェースに依存する)場合は、該当するマトリックスのセルにチェック印2322を表示する。
In
また、不正依存関係分析結果3500のデータを依存関係分析結果記憶部190から読み込み、読み込んだデータに該当するサービスインタフェース間の依存関係すなわち不正なサービスインタフェース間の依存関係は、該当するセルを2326に示すようにハッチング表示する。
In addition, the data of the illegal
チェック印2322があるマトリックスのセルが入力装置203を通じて選択された場合、選択されたセルに該当するサービスインタフェース間依存関係定義3200のデータの内容を表示する。この表示データの内容は、依存関係ポリシー記憶部180から読み込んだ不正依存関係ポリシー定義3400のデータの不正依存関係ポリシー内容1608を示す不正依存関係ポリシー内容2302(これはカーソル2324によって指定されたサービスインタフェース間依存関係が不正依存関係(ハッチング表示されている)の場合に存在する)、サービスインタフェース間依存関係3200の関連元のサービスインタフェース名904を示す関連元名2304、サービスインタフェース間依存関係3200の関連先のサービスインタフェース名904を示す関連先名2306、定義固定フラグ1208に該当する定義固定フラグ2308、及びサービスインタフェース間に依存関係があることを示す関係フラグ2310として“TRUE”である。
When the cell of the matrix having the
チェック印が無いマトリックスのセル2328が入力装置203を通じ選択された場合、選択されたセル2328に該当するサービスインタフェース間依存関係定義3200のデータの関連元のサービスインタフェース名を関連元名2304に、選択されたセルに該当するサービスインタフェース間依存関係定義3200のデータの関連先のサービスインタフェース名を関連先名2306にそれぞれ表示する。さらに、定義固定フラグ2308を“FALSE”として、サービスインタフェース間の依存関係が無いことを示すために関係フラグ2310を“FALSE”として表示する。
When the
表示した関係フラグ2310が“FALSE”だったのが“TRUE”に変更され、入力装置203を通じて登録ボタン2312が押された場合は、サービスインタフェース間に新たな依存関係が作成されたので、サービスインタフェース間依存関係ID 1202を生成し、関連元名2304に対応するサービスインタフェースID 902を関連元サービスインタフェースID 1204とし、関連先名2306に対応するサービスインタフェースID902を関連先サービスインタフェースID 1206とするサービスインタフェース間依存関係定義3200のデータを作成し、作成したデータをコンポーネント要素定義記憶部150に格納する。マトリックス2320の、作成したデータに対応するセルにチェック印を表示する。
When the displayed
表示した関係フラグ2310の“TRUE”が変更されずに、入力装置203を通じて登録ボタン2312が押された場合は、サービスインタフェース間の依存関係の内容(関連元名2304、関連先名2306、及び定義固定フラグ2308の少なくとも一つ)が変更されたので、該当するサービスインタフェース間依存関係定義3200のデータを、登録ボタン2312が押された時点で表示されている関連元名2304、関連先名2306、及び定義固定フラグ2308に変更し、変更したサービスインタフェース間依存関係定義3200のデータをコンポーネント要素定義記憶部150に格納する。このデータ変更に応じて、マトリックス2320の該当するセルのチェック印を変更表示する。
If the
表示した関係フラグ2310の“TRUE”が“FALSE”に変更され、かつ定義固定フラグ2308が“FALSE”である場合は、サービスインタフェース間の依存関係を削除することとみなし、表示されているサービスインタフェース間依存関係に該当するサービスインタフェース間依存関係定義3200のデータをコンポーネント要素定義記憶部150から削除する。この削除に応じて、マトリックス2320の該当するセルのチェック印を消去する。
If “TRUE” of the displayed
入力装置203を通じて登録ボタン2312が押され、かつ依存関係チェックフラグ2360にチェック印がある場合、依存関係分析部108の処理を呼び出し、その依存関係分析結果を反映した2320のマトリックスを前述の方法で再作成し表示装置204に表示する。
When the
不正依存関係ポリシー内容2302が表示されており、かつ改善策提示ボタン2314が入力装置203を通じて押されたことを判定した場合、ステップ418に処理を移す。
If it is determined that the illegal
入力装置203を通じて、図23中の終了ボタン2316が押されたことを判定した場合、ステップ402に処理を移す。以上のようにして、ユーザはサービスインタフェース間依存関係定義3200のデータを編集する。
If it is determined that the
ステップ414では、図24に示すサービスインタフェース・テーブル依存関係定義編集画面2400を表示装置204に表示する。サービスインタフェース・テーブル依存関係定義3250のデータと関係するコンポーネント定義3000のデータとサービスインタフェース定義3050のデータとテーブル定義3100とをコンポーネント要素定義記憶部150から読み込み、読み込んだデータの一覧を図24中の2420に示すようなマトリックスによって表示する。マトリックスの縦軸がサービスインタフェース・テーブル依存関係の関連元であるサービスインタフェースを示し、マトリックスの横軸がサービスインタフェース・テーブル依存関係の関連先であるテーブルを示す。
In
サービスインタフェース・テーブル間に依存関係が存在する場合は該当するマトリックスのセルにチェック印2422を表示する。また、不正依存関係分析結果3500のデータを依存関係分析結果記憶部190から読み込み、読み込んだデータに該当するサービスインタフェースとテーブルの依存関係、すなわち不正なサービスインタフェースとテーブルの依存関係は、該当するセルをハッチング2426表示する。
If there is a dependency between service interface tables, a
入力装置203を通じて、マトリックスのハッチング2426されているセルに該当するサービスインタフェース・テーブル依存関係定義3250のデータが入力装置203を通じて選択された場合、選択されたサービスインタフェース・テーブル依存関係定義3250のデータの内容を表示する。この表示データの内容は、依存関係ポリシー記憶部180から読み込んだ不正依存関係ポリシー定義3400のデータの不正依存関係ポリシー内容1608を示す不正依存関係ポリシー内容2402(これはカーソル2424によって指定されたサービスインタフェース間依存関係が不正依存関係の場合だけ存在する)、サービスインタフェースとテーブルとの間の依存関係の関連元であるサービスインタフェース名904を示す関連元名2404、サービスインタフェースとテーブルの依存関係の関連先であるテーブル名1004を示す関連先名2406、定義固定フラグ1308に該当する定義固定フラグ2408、及びサービスインタフェースとテーブルとの間に依存関係があることを示す関係フラグ2410として“TRUE”である。
When data of the service interface /
また、チェック印が無いマトリックスのセル2428が入力装置203を通じて選択された場合、選択されたセル2428に対応したサービスインタフェース・テーブル依存関係定義3250のデータの関連元であるサービスインタフェース名を関連元名2402に、サービスインタフェース・テーブル依存関係定義3250のデータの関連先であるテーブル名を関連先名2406に、定義固定フラグ2408に“FALSE”を、さらにサービスインタフェースとテーブルとの間に依存関係が無いことを示すために関係フラグ2410に“FALSE”を表示する。
If a
表示した関係フラグ2410の“FALSE”が“TRUE”に変更され、入力装置203を通じて登録ボタン2412が押された場合は、サービスインタフェースとテーブルの間に新たな依存関係が作成されたので、サービスインタフェース・テーブル依存関係ID 1302を生成し、関連元名2404に対応するサービスインタフェースID 902を関連元サービスインタフェースID 1304とし、関連先名2406に対応するテーブルID 1002を関連先テーブルID 1306とするサービスインタフェース・テーブル依存関係定義3250のデータを作成し、作成したデータをコンポーネント要素定義記憶部150に格納する。マトリックス2420の、作成したデータに対応するセルにチェック印を表示する。
When the displayed
表示した関係フラグ2410の“TRUE”が変更されずに、入力装置203を通じて登録ボタン2412が押された場合は、サービスインタフェースとテーブルの間の依存関係の内容(関連元名2404か関連先名2406か定義固定フラグ2408)が変更されたので、該当するサービスインタフェース・テーブル依存関係定義3250のデータを、登録ボタン2412が押された時点で表示されている関連元名2404、関連先名2406、及び定義固定フラグ2408に変更し、変更したサービスインタフェース・テーブル依存関係定義3250のデータをコンポーネント要素定義記憶部150に格納する。このデータ変更に応じて、マトリックス2420の該当するセルのチェック印を変更表示する。
When the
表示した関係フラグ2410の“TRUE”が“FALSE”に変更され、かつ定義固定フラグ2408が“FALSE”である場合は、サービスインタフェースとテーブルとの間の依存関係の削除であるので、表示されているサービスインタフェースとテーブルとの間の依存関係に該当するサービスインタフェース・テーブル依存関係定義3250のデータをコンポーネント要素定義記憶部150から削除する。この削除に応じて、マトリックス2420の該当するセルのチェック印を消去する。
When “TRUE” of the displayed
入力装置203を通じて登録ボタン2412が押され、かつ依存関係チェックフラグ2460にチェック印がある場合、依存関係分析部108の処理を呼び出し、その依存関係分析結果を反映した2420のマトリックスを前述の方法で再作成し表示装置204に表示する。
When the
不正依存関係ポリシー内容2402が表示されており、かつ改善策提示ボタン2414が入力装置203を通じて押されたことを判定した場合、ステップ418に処理を移す。
If it is determined that the illegal
入力装置203を通じて、図24中の終了ボタン2416が押されたことを判定した場合、ステップ402に処理を移す。以上のようにして、ユーザはサービスインタフェース・テーブル依存関係定義3250のデータを編集する。
If it is determined that the
ステップ416では、図25に示すテーブル間依存関係定義編集画面2500を表示装置204に表示する。テーブル間依存関係定義3300のデータと関係するコンポーネント定義3000のデータとテーブル定義3100のデータとをコンポーネント要素定義記憶部150から読み込み、読み込んだデータの一覧を図25中の2520に示すようなマトリックスによって表示する。マトリックスの縦軸がテーブル間依存関係の関連元を示し、マトリックスの横軸がテーブル間依存関係の関連先を示す。
In
テーブル間に依存関係が存在する場合は該当するマトリックスのセルにチェック印2522を表示する。不正依存関係分析結果3500のデータを依存関係分析結果記憶部190から読み込み、読み込んだデータに該当するテーブル間の依存関係、すなわち不正なテーブル間の依存関係は、該当するセルをハッチング表示2526する。
If there is a dependency relationship between the tables, a
チェック印2522があるマトリックスのセルが入力装置203を通じて選択された場合、選択されたセルに該当するテーブル間依存関係定義3300のデータの内容を表示する。この表示データの内容は、依存関係ポリシー記憶部180から読み込んだ不正依存関係ポリシー定義3400のデータの不正依存関係ポリシー内容1608を示す不正依存関係ポリシー内容2302(これはカーソル2524によって指定されたテーブル間依存関係が不正依存関係の場合だけ存在する)、テーブル間依存関係の関連元のテーブル名1004を示す関連元名2504、テーブル間依存関係の関連先のテーブル名1004を示す関連先名2506、定義固定フラグ1408に該当する定義固定フラグ2508、及びテーブル間に依存関係があることを示す関係フラグ2510としての“TRUE”である。
When the cell of the matrix having the
チェック印が無いマトリックスのセル2528が入力装置203を通じて選択された場合、選択されたセル2528に対応したテーブル間依存関係定義3300のデータの関連元のテーブル名を関連元名2504に、選択されたセルに対応したテーブル間依存関係定義3300のデータの関連先のテーブル名を関連先名2506に、定義固定フラグ2508に“FALSE”を、さらにテーブル間の依存関係が無いことを示すために関係フラグ2510に“FALSE”を表示する。
When a
表示した関係フラグ2510の“FALSE”が“TRUE”に変更され、入力装置203を通じて登録ボタン2512が押された場合は、テーブル間に新たな依存関係が作成されたので、テーブル間依存関係ID 1402を生成し、関連元名2504に対応するテーブルID 1002を関連元テーブルID 1404とし、関連先名2506に対応するテーブルID1002を関連先テーブルID 1406とするテーブル間依存関係定義3300のデータを作成し、作成したデータをコンポーネント要素定義記憶部150に格納する。マトリックス2520の、作成したデータに対応するセルにチェック印を表示する。
When “FALSE” of the displayed
表示した関係フラグ2510の“TRUE”が変更されずに、入力装置203を通じて登録ボタン2512が押された場合は、テーブル間の依存関係の内容(関連元名2504、関連先名2506、及び定義固定フラグ2508の一つ)が変更されたこととみなし、該当するテーブル間依存関係定義3300のデータを、登録ボタン2512が押された時点で表示されている関連元名2504と関連先名2506と定義固定フラグ2508に変更し、変更したテーブル間依存関係定義3300のデータをコンポーネント要素定義記憶部150に格納する。このデータ変更に応じて、マトリックス2520の該当するセルのチェック印を変更表示する。
When the
表示した関係フラグ2510の“TRUE”が“FALSE”に変更されかつ定義固定フラグ2508が“FALSE”である場合は、テーブル間の依存関係を削除することとみなし、2501に表示されているテーブル間依存関係に該当するテーブル間依存関係定義3300のデータをコンポーネント要素定義記憶部150から削除する。この削除に応じて、マトリックス2520の該当するセルのチェック印を消去する。
If “TRUE” of the displayed
入力装置203を通じて登録ボタン2512が押され、かつ依存関係チェックフラグ2560にチェック印がある場合、依存関係分析部108の処理を呼び出し、その依存関係分析結果を反映した2520のマトリックスを前述の方法で再作成し表示装置204に表示する。
When the
不正依存関係ポリシー内容2502が表示されており、かつ改善策提示ボタン2514が入力装置203を通じて押されたことを判定した場合、ステップ418に処理を移す。
If it is determined that the illegal
入力装置203を通じて、図25中の終了ボタン2516が押されたことを判定した場合、ステップ402に処理を移す。以上のようにして、ユーザはテーブル間依存関係定義3300のデータを編集する。
If it is determined through the
なお、図23〜図25の説明において、入力装置203を通じて登録ボタンが押され、かつ依存関係チェックフラグにチェック印がある場合、依存関係分析部108の処理を呼び出すようにしたが、データの一覧を表示する段階、又はチェック印があるセルが選択された段階で、依存関係分析部108の処理を呼び出してもよい。
23 to 25, when the registration button is pressed through the
図4のステップ412〜416のいずれかから処理が移る(図23〜図25のいずれかの改善案提示ボタンが押されたときに処理が移る)ステップ418では、図26に示す不正依存関係改善策適用画面(1) 2600を表示装置204に表示する。不正依存関係ポリシー内容2602にはステップ418を呼び出した画面に表示されていた不正依存関係ポリシー内容を、不正依存関係関連元名2604にはステップ418を呼び出した画面に表示されていた関連元名を、不正依存関係関連先名2606にはステップ418を呼び出した画面に表示されていた関連先名を、それぞれ表示する。
The process moves from any of
不正依存関係関連元名2604と不正依存関係関連先名2606に該当する、サービスインタフェース間依存関係定義3150のデータ、サービスインタフェース・テーブル依存関係定義3250、及びテーブル間依存関係3300の一つのデータをコンポーネント要素定義記憶部150から読み込む。読み込んだそれら依存関係定義のデータのサービスインタフェース間依存関係ID 1202、サービスインタフェース間依存関係ID 1302、及びテーブル間依存関係ID 1402のいずれか一つと同じ値を不正依存関係ID1704に有する不正依存関係分析結果3500のデータを依存関係分析結果記憶部190から読み込む。読み込んだ不正依存関係分析結果3500のデータの不正依存関係分析結果ID 1702と同じ値を不正依存関係改善策定義3350に有するデータを依存関係ポリシー記憶部180から読み込む。読み込んだ不正依存関係改善策定義3350の不正依存関係改善策内容1506を不正依存関係改善策結果評価点1808の低い順に表2608として表示する。
The component of the inter-service
入力装置203を通じてカーソル2650によって改善策が選択され、入力装置203を通じて改善策適用ボタン2610が押されたことを判定した場合、2650で選択された改善策を適用するために、改善策適用部106の処理を呼び出す。改善策適用部106の処理を呼び出す際には、2650で選択された改善策に対応する不正依存関係改善策ID 1502と、2604および2606に対応する不正依存関係ID 1704を渡す。改善策適用部106の処理が終了したならば、改善策が適用されたコンポーネント要素定義(コンポーネント定義3000、サービスインタフェース定義3050とテーブル定義3100、コンポーネント間依存関係定義3150、サービスインタフェース間依存関係定義3200、サービスインタフェース・テーブル依存関係定義3250、及びテーブル間依存関係定義3300)のデータをコンポーネント要素定義記憶部150に格納する。入力装置203を通じて図26中の終了ボタン2612が押されたことを判定した場合、ステップ418を呼び出したステップに処理を戻す。
When it is determined that the improvement measure is selected by the
ステップ420では、図27に示す不正依存関係改善策適用画面(2) 2700を表示装置204に表示する。不正依存関係改善案3550のデータ全てを依存関係分析結果記憶部190から読み込む。読み込んだ不正依存関係改善案3550のデータの不正依存関係改善策結果評価点1808が小さい順に表2706を作成し表示する。
In
表2706の作成にあたり、読み込んだ不正依存関係改善案3550のデータの不正依存関係改善結果評価点1808を評価点2720として表示する。
In creating the table 2706, the illegal dependence improvement
表2706の作成にあたり、読み込んだ不正依存関係改善案3550のデータの不正依存関係分析結果ID 1804から不正依存関係分析結果3500のデータを読み込む。読み込んだ不正依存関係分析結果3500のデータの不正依存関係ID 1704から各種依存関係(サービスインタフェース間依存関係定義3200、サービスインタフェース・テーブル依存関係定義3250、またはテーブル間依存関係3300)のデータを読み込む。それら読み込んだ各種依存関係のデータに関連するサービスインタフェース定義3050またはテーブル定義3100のデータを読み込む。読み込んだサービスインタフェース定義3050のデータのサービスインタフェース名904または読み込んだテーブル定義3100のデータのテーブル名1004を、表2706の不正依存関係2712の、関連元名2718または関連先名2720として表示する。
In creating the table 2706, the data of the illegal
表2706の作成にあたり、読み込んだ不正依存関係改善案3550のデータの不正依存関係改善策ID 1806から不正依存関係改善策定義3350のデータを読み込む。読み込んだ不正依存関係改善策定義3350のデータの不正依存関係ポリシーID 1508に該当する不正依存関係ポリシー定義3400のデータを読み込む。読み込んだ不正依存関係ポリシー定義3400のデータの不正依存関係ポリシー内容1608を不正依存関係ポリシー内容2714として表示する。
In creating the table 2706, the data of the illegal dependency
表2706の作成にあたり、読み込んだ不正依存関係改善案3550のデータの不正依存関係改善策ID 1806から不正依存関係改善策定義3350のデータを読み込む。読み込んだ不正依存関係改善策定義3350のデータの不正依存関係改善内容1506を改善策2716として表示する。
In creating the table 2706, the data of the illegal dependency
入力装置203を通じてカーソル2750によって改善策が選択され、入力装置203を通じて改善策適用ボタン2708が押されたことを判定した場合、カーソル2750で選択された改善策を適用するために、改善策適用部106の処理を呼び出す。改善策適用部106の処理を呼び出す際には、2750で選択された改善策に対応する不正依存関係改善策ID 1502と、関連元名2718および関連先名2720に対応する不正依存関係ID 1704とを渡す。改善策適用部106の処理が完了したならば、改善策が適用されたコンポーネント要素定義(コンポーネント定義3000、サービスインタフェース定義3050、テーブル定義3100、コンポーネント間依存関係定義3150、サービスインタフェース間依存関係定義3200、サービスインタフェース・テーブル依存関係定義3250、及びテーブル間依存関係定義3300)のデータをコンポーネント要素定義記憶部150に格納する。
When it is determined that the improvement measure is selected by the
入力装置203を通じて図27中の終了ボタン2710が押されたことを判定した場合、ステップ402に処理を移す。
If it is determined that the
コンポーネント要素定義操作部104について、図5の表を用いて説明する。図5の表は、縦軸がコンポーネント要素定義操作部104の呼び出し時に主記憶装置202に存在する各データ(コンポーネント要素定義操作部104以外の部位でコンポーネント要素定義記憶部150から読み出されたデータ)を示し、横軸が各データに対する操作を示している。
The component element
図5に示す表中の○の意味は、○の該当行の最左に示すデータに対して、○の該当列の最上に示す操作がコンポーネント要素定義操作部104に存在することを意味する。図5に示す表中の×の意味は、×の該当行の最左に示すデータに対して、×の該当列の最上に示す操作がコンポーネント要素定義操作部104に存在しないことを意味する。○で示すデータに対する操作のいずれかは、改善策適用部106から呼び出され実行される。以下、○で示すデータに対する各操作について説明する。
The meaning of ○ in the table shown in FIG. 5 means that the operation shown at the top of the corresponding column of ○ exists in the component element
サービスインタフェース定義3050に対する追加502の操作では、該操作で生成するサービスインタフェースIDと、該操作を呼び出した部位から渡されるサービスインタフェース名、所属コンポーネントID、及び定義固定フラグに基づいて、サービスインタフェース定義3050のデータを作成し、作成したデータを主記憶装置202に格納する。
In the operation of
サービスインタフェース定義3050に対する削除504の操作では、該操作を呼び出した部位から渡されるサービスインタフェースIDに該当するサービスインタフェース定義3050のデータを主記憶装置202から削除する。ただし、サービスインタフェース定義3050のデータの定義固定フラグが“TRUE”の場合は、該操作を実行せずにエラーを該操作の呼び出し元に戻し、処理を終了する。
In the
サービスインタフェース定義3050に対する移動506の操作では、該操作を呼び出した部位から渡されるサービスインタフェースIDに該当するサービスインタフェース定義3050のデータを主記憶装置202から読み込み、読み込んだデータを主記憶装置202から削除し、読み込んだデータの所属コンポーネントIDを、該操作を呼び出した部位から渡される所属コンポーネントIDに変更し、変更したデータを主記憶装置202に格納する。ただし、サービスインタフェース定義3050のデータの定義固定フラグが“TRUE”の場合は、該操作を実行せずにエラーを該操作の呼び出し元に戻し、処理を終了する。 サービスインタフェース定義3050に対する統合508の操作によって、既存の2つのサービスインタフェースを統合し、新たにサービスインタフェースを1つ作成し、統合対象となった既存の2つのサービスインタフェースを削除する。統合することによって作られるサービスインタフェースは、統合対象となった2つのサービスインタフェースと関連するサービスインタフェースやテーブルとの依存関係を引き継ぐ。これを実現するためのサービスインタフェース定義3050に対する統合508の操作を次に説明する。
In the operation of
該操作508を呼び出した部位から統合対象である2つのサービスインタフェースのサービスインタフェースIDが渡されるので、渡された1つのサービスインタフェースIDに該当するサービスインタフェース定義3050のデータ(これを以下「サービスインタフェースA」とする)と、渡された他の1つのサービスインタフェースIDに該当するサービスインタフェース定義3050のデータ(これを以下「サービスインタフェースB」とする)を、主記憶装置202から読み込む。サービスインタフェースAおよびサービスインタフェースBのサービスインタフェースIDの値と同じ値を関連元サービスインタフェースIDまたは関連先サービスインタフェースIDに持つサービスインタフェース間依存関係定義のデータおよびサービスインタフェース・テーブル依存関係定義のデータを主記憶装置202から読み込む。
Since the service interface IDs of the two service interfaces to be integrated are passed from the part that called the
次に、該操作508で生成するサービスインタフェースIDと、該操作508を呼び出した部位から渡されたサービスインタフェース名、所属コンポーネントID、及び定義固定フラグに基づいて、サービスインタフェース定義3050のデータを作成し、この作成したデータを主記憶装置202に格納する。先に主記憶装置202から読み込んだサービスインタフェース間依存関係定義のデータとサービスインタフェース・テーブル依存関係定義データの関連元サービスインタフェースIDまたは関連先サービスインタフェースIDの値を先に生成したサービスインタフェースIDに変更し、変更したサービスインタフェース間依存関係定義のデータとサービスインタフェース・テーブル依存関係定義データを主記憶装置202に格納する。
Next, the
ただし、該操作ではサービスインタフェースAおよびサービスインタフェースBの定義固定フラグが“TRUE”の場合、または主記憶装置202から読み込むサービスインタフェースAおよびサービスインタフェースBのサービスインタフェースIDの値と同じ値を関連元サービスインタフェースIDまたは関連先サービスインタフェースIDに持つサービスインタフェース間依存関係定義のデータおよびサービスインタフェース・テーブル依存関係定義のデータの定義固定フラグが“TRUE”の場合、該操作を実行せずにエラーを該操作の呼び出し元に戻し、処理を終了する。
However, in this operation, when the definition fixed flags of the service interface A and the service interface B are “TRUE”, or the same value as the value of the service interface ID of the service interface A and the service interface B read from the
サービスインタフェース定義3050に対する定義固定フラグ変更510の操作では、該操作を呼び出した部位から渡されるサービスインタフェースIDに該当するサービスインタフェース定義3050のデータを主記憶装置202から読み込み、読み込んだデータを主記憶装置202から削除し、読み込んだデータの定義固定フラグに対して該操作510を呼び出した部位から渡される定義固定フラグに変更し、変更したデータを主記憶装置202に格納する。
In the operation of the definition fixed
サービスインタフェース定義3050に対する名前変更512の操作では、該操作512を呼び出した部位から渡されるサービスインタフェースIDに該当するサービスインタフェース定義3050のデータを主記憶装置202から読み込み、読み込んだデータを主記憶装置202から削除し、読み込んだデータのサービスインタフェース名に対して該操作512を呼び出した部位から渡されるサービスインタフェース名に変更し、変更したデータを主記憶装置202に格納する。ただし、サービスインタフェース定義3050のデータの定義固定フラグが“TRUE”の場合は、該操作を実行せずにエラーを該操作512の呼び出し元に戻し、処理を終了する。
In the operation of
テーブル定義3100に対する追加502の操作では、該操作で生成するテーブルIDと該操作を呼び出した部位から渡されるテーブル名と所属コンポーネントIDと定義固定フラグに基づいて、テーブル定義3050のデータを作成し、作成したデータを主記憶装置202に格納する。
テーブル定義3100に対する削除504の操作では、該操作504を呼び出した部位から渡されるテーブルIDに該当するテーブル定義3050のデータを主記憶装置202から削除する。ただし、テーブル定義3100のデータの定義固定フラグが“TRUE”の場合は、該操作を実行せずにエラーを該操作504の呼び出し元に戻し、処理を終了する。
In the operation of
In the delete 504 operation for the
テーブル定義3100に対する移動506の操作では、該操作506を呼び出した部位から渡されるテーブルIDに該当するテーブル定義3100のデータを主記憶装置202から読み込み、読み込んだデータを主記憶装置202から削除し、読み込んだデータの所属コンポーネントIDに対して該操作506を呼び出した部位から渡される所属コンポーネントIDに変更し、変更したデータを主記憶装置202に格納する。ただし、テーブル定義3100のデータの定義固定フラグが“TRUE”の場合は、該操作を実行せずにエラーを該操作の呼び出し元に戻し、処理を終了する。
In the operation of
テーブル定義3100に対する統合508の操作によって、既存の2つのテーブルを統合し、新たにテーブルを1つ作成し、統合対象となった既存の2つのテーブルを削除する。統合することによって作られるテーブルは、統合対象となった2つのテーブルと関連するサービスインタフェースやテーブルとの依存関係を引き継ぐ。これを実現するためのテーブル定義3100に対する統合508の操作を次に説明する。
By the operation of the
該操作508を呼び出した部位から統合対象である2つのテーブルのテーブルIDが渡されるので、渡された1つのテーブルIDに該当するテーブル定義3100のデータ(これを以下「テーブルA」とする)と、渡された他の1つのテーブルIDに該当するテーブル定義3100のデータ(これを以下「テーブルB」とする)を、主記憶装置202から読み込む。テーブルAおよびテーブルBのテーブルIDの値と同じ値を関連元テーブルIDまたは関連先テーブルIDに持つテーブル間依存関係定義のデータおよびサービスインタフェース・テーブル依存関係定義のデータを主記憶装置202から読み込む。次に、該操作508で生成するテーブルID、該操作508を呼び出した部位から渡されるテーブル名、所属コンポーネントID、及び定義固定フラグに基づいて、テーブル定義3100のデータを作成し、この作成したデータを主記憶装置202に格納する。先に主記憶装置202から読み込んだテーブル間依存関係定義のデータとサービスインタフェース・テーブル依存関係定義データの関連元テーブルIDまたは関連先テーブルIDの値を先に生成したテーブルIDに変更し、変更したテーブル間依存関係定義のデータとサービスインタフェース・テーブル依存関係定義データを主記憶装置202に格納する。
Since the table IDs of the two tables to be integrated are passed from the part that called the
ただし、該操作508ではテーブルAおよびテーブルBの定義固定フラグが“TRUE”の場合、または主記憶装置202から読み込むテーブルAおよびテーブルBのテーブルIDの値と同じ値を関連元テーブルIDまたは関連先テーブルIDに持つテーブル間依存関係定義のデータおよびサービスインタフェース・テーブル依存関係定義のデータの定義固定フラグが“TRUE”の場合、該操作508を実行せずにエラーを該操作の呼び出し元に戻し、処理を終了する。
However, in the
テーブル定義3100に対する定義固定フラグ変更510の操作では、該操作510を呼び出した部位から渡されるテーブルIDに該当するテーブル定義3100のデータを主記憶装置202から読み込み、読み込んだデータを主記憶装置202から削除し、読み込んだデータの定義固定フラグに対して該操作510を呼び出した部位から渡される定義固定フラグに変更し、変更したデータを主記憶装置202に格納する。
In the operation of the definition fixed
テーブル定義3100に対する名前変更512の操作では、該操作512を呼び出した部位から渡されるテーブルIDに該当するテーブル定義3100を主記憶装置202から読み込み、読み込んだデータを主記憶装置202から削除し、読み込んだデータのテーブル名に対して該操作512を呼び出した部位から渡されるテーブル名に変更し、変更したデータを主記憶装置202に格納する。ただし、テーブル定義3100のデータの定義固定フラグが“TRUE”の場合は、該操作を実行せずにエラーを該操作の呼び出し元に戻し、処理を終了する。
In the
コンポーネント間依存関係定義3150に対する追加502の操作では、該操作502で生成するコンポーネント間依存関係IDと該操作502を呼び出した部位から渡される関連元コンポーネントIDと関連先コンポーネントIDとに基づいて、コンポーネント間依存関係定義3150のデータを作成し、作成したデータを主記憶装置202に格納する。
In the operation of
コンポーネント間依存関係定義3150に対する削除504の操作では、該操作504を呼び出した部位から渡されるコンポーネント間依存関係IDに該当するコンポーネント間依存関係定義3150のデータを主記憶装置202から削除する。
In the delete 504 operation for the inter-component
サービスインタフェース間依存関係定義3200に対する追加502の操作では、該操作502で生成するサービスインタフェース間依存関係IDと該操作502を呼び出した部位から渡される関連元サービスインタフェースID、関連先サービスインタフェースID、及び定義固定フラグに基づいて、サービスインタフェース間依存関係定義3200のデータを作成し、作成したデータを主記憶装置202に格納する。
In the operation of
サービスインタフェース間依存関係定義3200に対する削除504の操作では、該操作504を呼び出した部位から渡されるサービスインタフェース間依存関係IDに該当するサービスインタフェース間依存関係定義3200のデータを主記憶装置202から削除する。ただし、サービスインタフェース間依存関係定義3200のデータの定義固定フラグが“TRUE”の場合は、該操作504を実行せずにエラーを該操作の呼び出し元に戻し、処理を終了する。
In the delete 504 operation for the inter-service
サービスインタフェース間依存関係定義3200に対する定義固定フラグ変更510の操作では、該操作510を呼び出した部位から渡されるサービスインタフェース間依存関係IDに該当するサービスインタフェース間依存関係定義3200のデータを主記憶装置202から読み込み、読み込んだデータを主記憶装置202から削除し、読み込んだデータの定義固定フラグに対して該操作510を呼び出した部位から渡される定義固定フラグに変更し、変更したデータを主記憶装置202に格納する。
In the operation of the definition fixed
サービスインタフェース・テーブル依存関係定義3250に対する追加502の操作では、該操作502で生成するサービスインタフェース・テーブル依存関係ID、該操作502を呼び出した部位から渡される関連元サービスインタフェースID、関連先テーブルID、及び定義固定フラグIDに基づいて、サービスインタフェース・テーブル依存関係定義3250のデータを作成し、作成したデータを主記憶装置202に格納する。
In the operation of adding 502 to the service interface /
サービスインタフェース・テーブル依存関係定義3250に対する削除504の操作では、該操作504を呼び出した部位から渡されるサービスインタフェース・テーブル依存関係IDに該当するサービスインタフェース・テーブル依存関係定義3250のデータを主記憶装置202から削除する。ただし、サービスインタフェース・テーブル依存関係定義3250のデータの定義固定フラグが“TRUE”の場合は、該操作504を実行せずにエラーを該操作504の呼び出し元に戻し、処理を終了する。
In the
サービスインタフェース・テーブル依存関係定義3250に対する定義固定フラグ変更510の操作では、該操作510を呼び出した部位から渡されるサービスインタフェース・テーブル依存関係IDに該当するサービスインタフェース・テーブル依存関係定義3250のデータを主記憶装置202から読み込み、読み込んだデータを主記憶装置202から削除し、読み込んだデータの定義固定フラグに対して該操作510を呼び出した部位から渡される定義固定フラグに変更し、変更したデータを主記憶装置202に格納する。
In the operation of the definition fixed
テーブル間依存関係定義3300に対する追加502の操作では、該操作502で生成するテーブル間依存関係ID、該操作502を呼び出した部位から渡される関連元テーブルID、関連先テーブルID、及び定義固定フラグIDに基づいて、テーブル間依存関係定義3300のデータを作成し、作成したデータを主記憶装置202に格納する。
In the operation of
テーブル間依存関係定義3300に対する削除504の操作では、該操作504を呼び出した部位から渡されるテーブル間依存関係IDに該当するテーブル間依存関係定義3300のデータを主記憶装置202から削除する。ただし、テーブル間依存関係定義3300のデータの定義固定フラグが“TRUE”の場合は、該操作504を実行せずにエラーを該操作504の呼び出し元に戻し、処理を終了する。
In the delete 504 operation for the
テーブル間依存関係定義3300に対する定義固定フラグ変更510の操作では、該操作510を呼び出した部位から渡されるテーブル間依存関係IDに該当するテーブル間依存関係定義3300のデータを主記憶装置202から読み込み、読み込んだデータを主記憶装置202から削除し、読み込んだデータの定義固定フラグに対して該操作510を呼び出した部位から渡される定義固定フラグに変更し、変更したデータを主記憶装置202に格納する。
In the operation of the definition fixed
改善策適用部106について、図6の処理フローにしたがって説明する。
The improvement
改善策適用部106を呼び出した部位(図26の改善策適用ボタン2610又は図27の改善策適用ボタン2708の選択により呼び出す図4のステップ418又はステップ420、又は後述の依存関係分析部108)から渡される不正依存関係改善策IDに該当する不正依存関係改善策定義3350のデータを改善策記憶部170から読み出す(ステップ602)。
From the part that called the improvement measure application unit 106 (step 418 or step 420 in FIG. 4 which is called by selecting the improvement
読み出した不正依存関係改善策定義3350のデータの不正依存関係改善策プログラムID1504に該当する不正依存関係改善策プログラムを主記憶装置202から読み出し実行する(ステップ604)。読み出した不正依存関係改善策プログラムの中では必要に応じてコンポーネント要素定義記憶部150の処理を呼び出し、その処理が終了後に、該操作の呼び出し元に処理を戻す。ただし、コンポーネント要素定義記憶部150の処理中にエラーが発生した場合、エラーを該操作の呼び出し元に戻し、終了する。
The illegal dependency improvement
依存関係分析部108について、図7の処理フローにしたがって説明する。
The dependency
依存関係ポリシー記憶部180に格納されている不正依存関係ポリシー定義3400のデータを読み込む(ステップ702)。
The data of the illegal
コンポーネント要素定義(コンポーネント定義3000、サービスインタフェース定義3050、テーブル定義3100、コンポーネント間依存関係定義3150、サービスインタフェース間依存関係定義3200、サービスインタフェース・テーブル依存関係定義3250、及びテーブル間依存関係定義3300)のデータをコンポーネント要素定義記憶部150から読み込む。そして、不正依存関係ポリシー定義3400のデータの不正依存関係ポリシープログラムID 1604に該当するプログラムを主記憶装置202から読み出して実行することによって、読み込んだコンポーネント要素定義のデータに存在する不正な依存関係を発見する(ステップ704)。
Component element definitions (
不正依存関係ポリシープログラムよって不正依存関係が発見された場合、新たに不正依存関係分析結果ID 1702生成して、新たな不正依存関係分析結果3500のデータを作成する。新たなデータの不正依存関係ポリシーID 1706は、発見された不正依存関係ポリシープログラムのポインタを不正依存関係ポリシープログラムID 1604として有する不正依存関係ポリシー定義3400のデータの不正依存関係ポリシーID 1602である。新たなデータの不正依存関係ID 1704は、発見された不正依存関係のID(不正な依存関係がサービスインタフェース間依存関係であればサービスインタフェース間依存関係ID 1202であり、サービスインタフェース・テーブル依存関係であればサービスインタフェース・テーブル依存関係ID 1302であり、テーブル間依存関係であればテーブル間依存関係ID 1402)である。作成した不正依存関係分析結果3500のデータを依存関係分析結果記憶部190に格納する。また、読み込んだ不正依存関係ポリシー定義3400のデータの不正依存関係ポリシー点1606とから不正依存関係評価点を算出する。不正な依存関係の特定と不正依存関係評価点については、後で例を用いて説明する。
When an illegal dependency relationship is found by the illegal dependency policy program, a new illegal dependency
不正依存関係があった場合はステップ708に処理を移し、無かった場合は終了する(ステップ706)。 If there is an illegal dependency relationship, the process proceeds to step 708; otherwise, the process ends (step 706).
不正依存関係分析結果3500のデータを依存関係分析結果記憶部190から読み込み、読み込んだ不正依存関係分析結果3500のデータを一つずつ取り出しながら、読み込んだ不正依存関係分析結果3500のデータの数だけステップ710〜ステップ720の処理を繰り返し実行する(ステップ708、ステップ722)。
Read the data of the illegal
取り出した不正依存関係分析結果3500のデータの不正依存関係ポリシーID 1706と同じ値を不正依存関係ポリシーID 1602として持つ不正依存関係ポリシー定義3400のデータを読み込み、さらに読み込んだ不正依存関係ポリシー定義3400のデータの不正依存関係ポリシーID1602と同じ値を不正依存関係ポリシーID 1508として持つ不正依存関係改善策定義3350のデータを読み込む。読み込んだ不正依存関係改善策定義3350のデータを一つずつ取り出しながら、読み込んだ不正依存関係改善策定義3350のデータの数だけステップ712〜ステップ718の処理を繰り返し実行する(ステップ710、ステップ720)。
Read the data of the illegal
取り出した不正依存関係改善策定義3350のデータを仮適用するために、改善策適用部106の処理を呼び出す。このとき、改善策適用部106の処理に対して、ステップ710で取り出した改善策の不正依存関係改善策プログラムID 1504と、ステップ708で取り出した不正依存関係分析結果3500のデータの不正依存関係ID 1704を渡す(ステップ712)。
In order to temporarily apply the data of the extracted illegal dependency
読み込んだ不正依存関係ポリシー定義3400のデータの不正依存関係ポリシープログラムID 1604に該当するプログラムを主記憶装置202から読み出して実行することによって、ステップ712で改善策を仮適用したサービスインタフェース間やサービスインタフェースとテーブルとの間やテーブル間に存在する不正な依存関係を特定し、ステップ702で読み込んだ不正依存関係ポリシー定義3400のデータの不正依存関係ポリシー点1606から不正依存関係評価点を算出する(ステップ714)。
By reading the program corresponding to the illegal dependency
新たに不正依存関係改善案 ID1802を生成し、新たな不正依存関係改善案3550のデータを作成する(ステップ718)。新たなデータの不正依存関係分析結果ID 1804は、ステップ708で取り出した不正依存関係分析結果3500のデータの不正依存関係分析結果ID 1704である。新たなデータの不正依存関係改善策ID 1806は、ステップ710で取り出した不正依存関係改善策定義3350のデータの不正依存関係改善策ID 1502である。新たなデータの不正依存関係改善結果評価点1808は、ステップ714で算出した不正依存関係評価点からステップ704で算出した不正依存関係評価点を引いたものである。作成した不正依存関係改善案3550のデータを依存関係分析結果記憶部に格納する。
A new illegal dependency
以下では、ステップ704およびステップ714において不正な依存関係を特定する不正依存関係ポリシープログラムについて説明する。なお、不正依存関係ポリシープログラムにおいては、各依存関係のデータの定義固定フラグ(1208、1308、又は1408)が“TRUE”である場合は、ユーザが意図的に依存関係を作ったことと見なし、無条件にポリシー違反としないことにする。
In the following, the illegal dependency policy program for specifying an illegal dependency in
不正依存関係ポリシー定義3400の「同一コンポ内でのサービス呼び出し」1620に対応する不正依存関係ポリシープログラムについて説明する。「同一コンポ内でのサービス呼び出し」とは、あるコンポーネントのあるサービスインタフェースを公開している(他から呼び出される)と、その機能(処理)の実行中に、それと同じコンポーネントの別のサービスインタフェースを呼び出すことを意味する。すなわち、同じコンポーネントに属すサービスインタフェース間に依存関係が存在することである。サービスインタフェースは機能をコンポーネントの外部に公開するという定義であり、「同一コンポ内でのサービス呼び出し」はその定義に反することから不正な依存関係とする。
An illegal dependency policy program corresponding to “Service call within the same component” 1620 of the illegal
例えば、サービスインタフェース間依存関係定義3200のデータの一例である1220では、関連元サービスインタフェースID 1204“Serv0011”で指定されるサービスインタフェースは、サービスインタフェース定義3050のデータから所属コンポーネントIDが“Comp001”のコンポーネントに属す。また、関連先サービスインタフェースID 1206“Serv0012”で指定されるサービスインタフェースは、サービスインタフェース定義3050のデータから所属コンポーネントIDが“Comp001”のコンポーネントに属す。さらに定義固定フラグが“FALSE”であることから、1220に示されるサービスインタフェース間依存関係定義のデータは、不正な依存関係「同一コンポ内でのサービス呼び出し」であると認識され、例えばステップ704では、不正依存関係分析結果3500のデータ(図7の1720)が作成される。以上の例に示すような処理を実行する不正依存関係ポリシープログラムによって、「同一コンポ内でのサービス呼び出し」という不正依存関係を検出することができる。
For example, in 1220, which is an example of the data of the service
不正依存関係ポリシー定義3400の「他コンポのテーブル直接参照」1622に対応する不正依存関係ポリシープログラムについて説明する。「他コンポのテーブル直接参照」とは、あるコンポーネントに属すあるサービスインタフェースを公開している(他から呼び出される)と、その機能(処理)の実行中に、それとは別のコンポーネントに属すテーブルを参照することである。すなわち、あるコンポーネントに属すあるサービスインタフェースと別のコンポーネントのあるテーブルとの間に依存関係が存在することである。「他コンポのテーブル直接参照」は、あるコンポーネントの機能が別のコンポーネントのテーブルを、サービスインタフェースを介さずに、直接的に参照するため、テーブル変更時の影響が波及するなどにより、保守性が低下する要因となる。
An illegal dependency policy program corresponding to “other component table direct reference” 1622 of the illegal
例えば、サービスインタフェース・テーブル依存関係定義3250のデータの一例である1310では、関連元サービスインタフェースID 1304“Serv0011”で指定されるサービスインタフェースはサービスインタフェース定義3050のデータから所属コンポーネントIDが“Comp001”のコンポーネントに属す。また、関連先テーブルID 1306“Tbl0021”で指定されるテーブルはテーブル定義3100のデータから所属コンポーネントIDが“Comp002”のコンポーネントに属す。さらに定義固定フラグ1308が“FALSE”であることから、1310に示されるサービスインタフェース・テーブル依存関係定義のデータは、不正な依存関係「他コンポのテーブル直接参照」であると認識され、例えばステップ704では不正依存関係分析結果3500のデータ(図7の1722)が作成される。以上の例に示すような処理を実行する不正依存関係ポリシープログラムによって、「他コンポのテーブル直接参照」という不正依存関係を検出することができる。
For example, in 1310, which is an example of data in the service interface /
不正依存関係ポリシー定義3400の「コンポ間依存関係とサービスインタフェース間依存関係との相違」1624に対応する不正依存関係ポリシープログラムについて説明する。「コンポ間依存関係とサービスインタフェース間依存関係との相違」とは、コンポーネントに跨るあるサービスインタフェース間依存関係が、コンポーネントに跨る他の依存関係と逆向きであり、コンポーネント間に相互依存が発生する可能性がある状態を意味する。これによって、コンポーネントに跨るサービスインタフェース間依存関係の向きを、コンポーネント間依存関係に準ずるように定義することができ、コンポーネント間の相互依存を防止することができるようになる。
The illegal dependency policy program corresponding to “Difference between component dependency and service interface dependency” 1624 of the illegal
また、「コンポ間依存関係とサービスインタフェース間依存関係との相違」は、コンポーネント間に依存関係が無いにも関わらず、それらコンポーネントに属すサービスインタフェースの間に依存関係が存在することも意味する。これによって、コンポーネント分割の過程で予め定義されたコンポーネント間の依存関係が無いと定めたにも関わらず、それらのコンポーネントに跨ってサービスインタフェース間に依存関係ができることを防止することができる。 In addition, “difference between component dependency and service interface dependency” means that there is a dependency between service interfaces belonging to these components even though there is no dependency between components. Accordingly, it is possible to prevent a dependency between service interfaces from being formed across the components even though it is determined that there is no dependency between the components defined in the process of component division.
例えば、サービスインタフェース間依存関係定義3200のデータの一例である1222では、関連元サービスインタフェースID 1204“Serv0021”で指定されるサービスインタフェースはサービスインタフェース定義3050のデータから所属コンポーネントIDが“Comp002”のコンポーネントに属す。また、関連先サービスインタフェースID 1206“Serv0011”で指定されるサービスインタフェースはサービスインタフェース定義3050のデータからから所属コンポーネントIDが“Comp001”のコンポーネントに属す。一方、コンポーネント間依存関係定義のデータの一例である1120の関連元コンポーネントID 1104が“Comp001”であり、関連先コンポーネントID 1106が“Comp0002”であるので、テーブル間依存関係とコンポーネント間依存関係の方向が逆向きである。さらに定義固定フラグ1208が“FALSE”であることから、1222に示されるサービスインタフェース間依存関係定義3200のデータは、不正な依存関係「コンポ間依存関係とサービスインタフェース間依存関係との相違」であると認識され、例えばステップ704では不正依存関係分析結果3500のデータ(図7の1724)が作成される。以上の例に示すような処理を実行する不正依存関係ポリシープログラムによって、「コンポ間依存関係とサービスインタフェース間依存関係との相違」という不正依存関係を検出することができる。
For example, in 1222 which is an example of the data of the service
不正依存関係ポリシー定義3400の「コンポ間依存関係とテーブル間依存関係との相違」1626に対応する不正依存関係ポリシープログラムについて説明する。「コンポ間依存関係とテーブル間依存関係との相違」とは、コンポーネントに跨るあるテーブル間依存関係が、コンポーネントに跨る他の依存関係と逆向きであることによって、コンポーネント間に相互依存が発生する可能性がある状態を意味する。これによって、コンポーネントに跨るテーブル間依存関係の向きを、コンポーネント間依存関係に準ずるように定義することができ、コンポーネント間の相互依存を防止することができるようになる。
An illegal dependency policy program corresponding to “difference between inter-component dependency and inter-table dependency” 1626 of the illegal
また、「コンポ間依存関係とテーブル間依存関係との相違」は、コンポーネント間に依存関係が無いにも関わらず、それらコンポーネントに属すテーブルの間に依存関係が存在することも意味する。これによって、コンポーネント分割の過程で予め定義されたコンポーネント間の依存関係が無いと定めたにも関わらず、それらのコンポーネントに跨ってテーブル間に依存関係ができることを防止することができる。 Further, “difference between inter-component dependency relationship and inter-table dependency relationship” also means that there is a dependency relationship between tables belonging to these components even though there is no dependency relationship between components. Accordingly, it is possible to prevent a dependency between tables from being created across the components even though it is determined that there is no dependency between the components defined in advance in the process of component division.
例えば、テーブル間依存関係定義3300のデータの一例である1410では、関連元テーブルID 1404“Tbl0021”で指定されるテーブルはテーブル定義3100のデータから所属コンポーネントIDが“Comp002”のコンポーネントに属す。また、関連先テーブルID 1406“Tbl0011”で指定されるテーブルはテーブル定義3100のデータから所属コンポーネントIDが“Comp001”のコンポーネントに属す。一方コンポーネント間依存関係定義のデータの一例である1120の関連元コンポーネントID 1104が“Comp001”であり関連先コンポーネントID 1106が“Comp0002”であり、テーブル間依存関係とコンポーネント間依存関係の方向が逆向きである。さらに定義固定フラグ1408が“FALSE”であることから、1410に示されるテーブル間依存関係定義3300のデータは、不正な依存関係「コンポ間依存関係とテーブル間依存関係との相違」であると認識され、例えばステップ704では不正依存関係分析結果3500のデータ(図7の1726)が作成される。以上の例に示すような処理を実行する不正依存関係ポリシープログラムによって、「コンポ間依存関係とテーブル間依存関係との相違」という不正依存関係を検出することができる。
For example, in 1410 which is an example of the data of the
以上では、不正依存関係ポリシープログラムのプログラムの一例として、「同一コンポ内でのサービス呼び出し」、「他コンポのテーブル直接参照」、「コンポ間依存関係とサービスインタフェース間依存関係との相違」、及び「コンポ間依存関係とテーブル間依存関係との相違」を示したが、他の不正依存関係ポリシープログラムについても同様にして不正な依存関係を検出する処理を実行することにより、各種不正依存関係を検出することができる。 In the above, as an example of the program of the illegal dependency policy program, “service call within the same component”, “direct table reference of other components”, “difference between dependency between components and dependency between service interfaces”, and “Difference between inter-component dependency and inter-table dependency” is shown, but various illegal dependency relations are also detected by executing processing to detect illegal dependency in the same way for other illegal dependency policy programs. Can be detected.
以下、図6のステップ604における改善策適用について詳しく説明するために、まず用いるデータの例を説明する。コンポーネント定義3000(図8)のデータとして820及び821がある。サービスインタフェース定義3050(図9)のデータとして920がある。テーブル定義3100(図10)のデータとして1020及び1022がある。コンポーネント間依存関係定義3150(図11)のデータとして1120がある。サービスインタフェース・テーブル依存関係定義3250(図13)のデータとして1310及び1312がある。テーブル間依存関係定義3300(図14)のデータとして1410がある。この場合を図29のように示す。
Hereinafter, in order to explain in detail the application of the improvement measure in
図29中の、2902は820に、 2904は821に、 2906は920に、 2908は1020に、 2910は1022に、2912は1222に、2914は1220に、2916は1410に、2918は1120に、それぞれ対応している。また、不正依存関係ポリシー定義3400(図16)のデータとして1620、1622、1624、及び1626があった場合、不正な依存関係として「他コンポのテーブル直接参照」1622に該当する2912、及び「コンポ間依存関係とテーブル間依存関係との相違」1626に該当する2916を検出できる。以下、図29に示したコンポーネント設計例の「他コンポのテーブル直接参照」2912を改善するための改善策3つを適用する場合を説明する。 In FIG. 29, 2902 is 820, 2904 is 821, 2906 is 920, 2908 is 1020, 2910 is 1022, 2912 is 1222, 2914 is 1220, 2916 is 1410, 2918 is 1120, Each corresponds. Also, if there are 1620, 1622, 1624, and 1626 as the data of the illegal dependency policy definition 3400 (FIG. 16), 2912 corresponding to “Other component table direct reference” 1622 and “Component” 2916 corresponding to “difference between inter-dependency relationship and inter-table dependency relationship” 1626 can be detected. Hereinafter, a case will be described in which three improvement measures for improving the “direct reference table of other components” 2912 in the component design example shown in FIG. 29 are applied.
不正依存関係改善策定義3350のデータの一例である1520の不正依存関係改善策プログラムID 1504“hpro001”に対応する不正依存関係改善策プログラムである「関連元サービスインタフェース移動」とは、他のコンポーネントのテーブルを直接参照する、あるコンポーネントに属すサービスインタフェースを、テーブルと同じ他のコンポーネントに移動させることによって、「他コンポのテーブル直接参照」を改善する改善策である。サービスインタフェースの移動は、コンポーネント要素定義操作部104のサービスインタフェース定義3050に対する移動の操作(図5の506)による。
“Improper Dependency Improvement Measure Program” corresponding to 1520 Illegal Dependency Improvement
この改善策を図29に示すコンポーネント設計例の2912に適用した結果を、図30に示す。図30のコンポーネント設計では、“コンポ2” 2904に“サービス11” 2906を移動し、図29の2912の「他コンポのテーブル直接参照」は改善された。しかし、図30に示すように、2914が新たに「他コンポのテーブル直接参照」になる。以上の例に示すような処理を実行する不正依存関係改善プログラムによって図29の2912の「他コンポのテーブル直接参照」を改善することができる。
FIG. 30 shows the result of applying this improvement measure to the component design example 2912 shown in FIG. In the component design of FIG. 30, “
不正依存関係改善策定義3350のデータの一例である1522の不正依存関係改善策プログラムID 1504“hpro002”に対応する不正依存関係改善策プログラムである「関連先テーブル移動」とは、サービスインタフェースが直接参照先するテーブルを、サービスインタフェースと同じコンポーネントに移動させることによって、「他コンポのテーブル直接参照」を改善する改善策である。テーブルの移動は、コンポーネント要素定義操作部104のテーブル定義3100に対する移動の操作(図5の506)による。
The service interface is directly connected to the “destination table move” which is an illegal dependency improvement program corresponding to the illegal dependency
この改善策を図29に示すコンポーネント設計例の2912に適用した結果を、図31に示す。図31のコンポーネント設計では、“テーブル21” 2910が“コンポ1” 2902に移動し、2912の「他コンポのテーブル直接参照」は改善された。またこれによって、2916の「コンポ間依存関係とテーブル間依存関係との相違」という不正な依存関係も改善される。以上の例に示すような処理を実行する不正依存関係改善プログラムによって2912の「他コンポのテーブル直接参照」を改善することができる。
FIG. 31 shows the result of applying this improvement measure to the component design example 2912 shown in FIG. In the component design of FIG. 31, “table 21” 2910 has been moved to “
不正依存関係改善策定義3350のデータの一例である1524の不正依存関係改善策プログラムID 1504“hpro003”に対応する不正依存関係改善策プログラムである「関連先サービスインタフェース作成」は、あるサービスインタフェースが直接参照するテーブルにアクセスする新たなサービスインタフェースをテーブルと同じコンポーネントに追加し、追加したサービスインタフェースを介してテーブルを参照することによって(サービスインタフェース間依存関係の削除と追加)、「他コンポのテーブル直接参照」を改善する改善策である。新たなサービスインタフェースの追加は、コンポーネント要素定義操作部104のサービスインタフェース定義3050に対する追加の操作(図5の502)による。また、サービスインタフェース間依存関係の削除と追加は、コンポーネント要素定義操作部104のサービスインタフェース間依存関係定義3200に対する削除と追加(図5の504と502)による。
“Create Destination Service Interface”, which is an illegal dependency improvement program corresponding to the illegal dependency
この改善策を、図29に示すコンポーネント設計例の2912に適用した結果を、図32に示す。図32のコンポーネント設計では、2912が削除され、新たな“サービス22” 2920、新たなサービスインタフェース間依存関係2922、及び新たなサービスインタフェース・テーブル間依存関係2924が追加されている。以上の例に示すような処理を実行する不正依存関係改善プログラムによって2912の「他コンポのテーブル直接参照」を改善することができる。
FIG. 32 shows the result of applying this improvement measure to the component design example 2912 shown in FIG. In the component design of FIG. 32, 2912 is deleted, and a new “
以上では、不正依存関係改善プログラムの一例として「他コンポのテーブル直接参照」を改善する不正依存関係改善プログラムについて説明したが、他の不正依存関係改善プログラムについても同様に、コンポーネント要素定義操作部104の各種操作を利用して実現することができ、各不正依存関係を改善することができる。
In the above, the illegal dependency improvement program for improving “direct reference to another component table” has been described as an example of the illegal dependency improvement program. However, the component element
以下、ステップ704やステップ706で実施する不正依存関係評価点(コンポーネント設計に対する不正依存関係ポリシー点1606の総和)の算出について例を用いて説明する。不正依存関係評価点の算出例を説明するにあたり、ここでは、不正依存関係ポリシー定義3400(図16)のデータとして「同一コンポ内でのサービス呼び出し」1620、「他コンポのテーブル直接参照」1622、「コンポ間依存関係とサービスインタフェース間依存関係との相違」1624、及び「コンポ間依存関係とテーブル間依存関係との相違」1626があるとする。さらに、図29〜図32のコンポーネント設計を例にしてそれぞれの不正依存関係評価点について説明する。
図29に示すコンポーネント設計における不正依存関係評価点の算出について説明する。2912は、「他コンポのテーブル直接参照」1622に該当するので不正依存関係ポリシー点は5点である。2914は、該当する不正依存関係ポリシーが無いので0点である。2916は、「コンポ間依存関係とテーブル間依存関係との相違」1626に該当するので不正依存関係ポリシー点は3点である。以上から図29に示すコンポーネント設計における不正依存関係評価点は8点(=5点+0点+3点)である。
Hereinafter, calculation of the illegal dependency evaluation points (the sum of the illegal dependency policy points 1606 for the component design) performed in
A description will be given of the calculation of the fraud dependency evaluation score in the component design shown in FIG. Since 2912 corresponds to “directly referencing tables of other components” 1622, there are five illegal dependency policy points. 2914 is 0 because there is no relevant illegal dependency policy. Since 2916 corresponds to “difference between inter-component dependency and inter-table dependency” 1626, there are three illegal dependency policy points. From the above, the unfair dependency evaluation points in the component design shown in FIG. 29 are 8 points (= 5 points + 0 points + 3 points).
図30に示すコンポーネント設計における不正依存関係評価点を算出について説明する。2912は、該当する不正依存関係ポリシーが無いので0点である。2914は、「他コンポのテーブル直接参照」1622に該当するので不正依存関係ポリシー点は5点である。2916は、「コンポ間依存関係とテーブル間依存関係との相違」1626に該当するので不正依存関係ポリシー点は3点である。以上から図30に示すコンポーネント設計における不正依存関係評価点は「8点(=0点+5点+3点)」である。このとき、不正依存関係改善結果評価点1808(元の設計である図29の不正依存関係評価点8点に比した改善度合いを示す点)は0点であり、例えばステップ718を通じて1820のような不正依存関係改善案3550のデータが作成される。
The calculation of the fraud dependency evaluation points in the component design shown in FIG. 30 will be described. 2912 is 0 because there is no corresponding illegal dependency policy. Since 2914 corresponds to “direct reference to other component table” 1622, the illegal dependency policy points are 5 points. Since 2916 corresponds to “difference between inter-component dependency and inter-table dependency” 1626, there are three illegal dependency policy points. From the above, the unauthorized dependency relation evaluation point in the component design shown in FIG. 30 is “8 points (= 0 points + 5 points + 3 points)”. At this time, the illegal dependency improvement result evaluation point 1808 (point indicating the degree of improvement compared with the original illegal
図31に示すコンポーネント設計における不正依存関係評価点を算出について説明する。2912、2914、及び2916は、該当する不正依存関係ポリシーが無いので0点である。以上から図31に示すコンポーネント設計における不正依存関係評価点は「0点(=0点+0点+0点)」である。このとき、不正依存関係改善結果評価点1808は−8点であり、例えばステップ718を通じて1822のような不正依存関係改善案3550のデータが作成される。
The calculation of the fraud dependency evaluation points in the component design shown in FIG. 31 will be described. 2912, 2914, and 2916 are 0 points because there is no corresponding illegal dependency relationship policy. From the above, the unauthorized dependency relation evaluation point in the component design shown in FIG. 31 is “0 point (= 0 point + 0 point + 0 point)”. At this time, the unauthorized dependency relationship improvement
図32に示すコンポーネント設計における評価点を算出について説明する。2914、2922、及び2924は、該当する不正依存関係ポリシーが無いので0点である。2916は、「コンポ間依存関係とテーブル間依存関係との相違」1626に該当するので不正依存関係ポリシー点は3点である。以上から図32に示すコンポーネント設計における不正依存関係評価点は「3点(=0点+0点+0点+3点)」である。このとき、不正依存関係改善結果評価点は−5点であり、例えばステップ718を通じて1824のような不正依存関係改善案3550のデータが作成される。
Calculation of evaluation points in the component design shown in FIG. 32 will be described. 2914, 2922, and 2924 are 0 points because there is no corresponding illegal dependency relationship policy. Since 2916 corresponds to “difference between inter-component dependency and inter-table dependency” 1626, there are three illegal dependency policy points. From the above, the unauthorized dependency evaluation point in the component design shown in FIG. 32 is “3 points (= 0 point + 0 point + 0 point + 3 point)”. At this time, the unauthorized dependency improvement result evaluation score is −5, and for example, data of an illegal
以上から、図29に示すコンポーネント設計から図31のコンポーネント設計に変更させる「関連先テーブル移動」という改善策が、不正依存関係を改善するための最も有効な改善策である。 From the above, the improvement measure “move related table” that is changed from the component design shown in FIG. 29 to the component design shown in FIG. 31 is the most effective improvement measure for improving the illegal dependency relationship.
ただし、テーブル定義のデータである1022の定義固定フラグが“TRUE”であった場合にはテーブルを移動することができないので、改善策「関連テーブル移動」することができず(コンポーネント要素定義操作部104のテーブル定義に対する移動の操作でエラーが生じる)ため改善案からは除外され、この場合には図29に示すコンポーネント設計から図32のコンポーネント設計に変更させる「関連先サービスインタフェース作成」という改善策が、不正依存関係を改善するための最も有効な改善策になる。 However, if the fixed definition flag of 1022 that is the data of the table definition is “TRUE”, the table cannot be moved, so the improvement measure “Move related table” cannot be performed (component element definition operation section (This causes an error in the move operation for the table definition of 104). Therefore, it is excluded from the improvement plan, and in this case, the improvement method of “related destination service interface creation” for changing from the component design shown in FIG. Is the most effective way to improve fraud dependency.
なお、不正依存改善結果評価点の定義から、不正依存改善結果評価点が正の数である場合は、改善策を適用することによって不正な依存関係が増えたことを意味し改悪されたことを示唆する。 In addition, from the definition of illegal dependency improvement result evaluation score, if the illegal dependency improvement result evaluation score is a positive number, it means that the illegal dependency relationship has increased by applying the improvement measures, indicating that it has been altered. Suggest.
改善案は、コンポーネント要素定義編集部102のステップ418やステップ420において、不正依存関係改善評価点の小さい順に並べられて、表示装置204に図26の2608や図27の2706のように表示されるので、ユーザは不正な依存関係を改善する効果の高い改善策を選びやすくなる。
The improvement proposals are arranged in ascending order of the evaluation of improvement of the illegal dependency relationship in
本実施形態のコンポーネント分割支援装置によれば、ポリシーに反するコンポーネント要素間の依存関係を検出し、検出した不正依存関係に対する改善策の候補の提示と適用を図ることができる。結果として、コンポーネント分割作業の確実性を高めることを可能にする。 According to the component division support device of the present embodiment, it is possible to detect a dependency relationship between component elements that violate a policy, and to present and apply improvement measure candidates to the detected illegal dependency relationship. As a result, it is possible to increase the certainty of the component division work.
100:コンポーネント分割支援装置、102:コンポーネント要素定義編集部、104:コンポーネント要素操作部、106:改善策適用部、108:依存関係分析部、150:コンポーネント要素定義記憶部、170:改善策記憶部、180:依存関係ポリシー記憶部、190:依存関係分析結果記憶部、203:入力装置、204:出力装置。 100: component division support device, 102: component element definition editing unit, 104: component element operation unit, 106: improvement measure application unit, 108: dependency analysis unit, 150: component element definition storage unit, 170: improvement measure storage unit 180: dependency policy storage unit, 190: dependency analysis result storage unit, 203: input device, 204: output device.
Claims (13)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007306217A JP5041986B2 (en) | 2007-11-27 | 2007-11-27 | Component division support device, method and program thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007306217A JP5041986B2 (en) | 2007-11-27 | 2007-11-27 | Component division support device, method and program thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009129355A JP2009129355A (en) | 2009-06-11 |
JP5041986B2 true JP5041986B2 (en) | 2012-10-03 |
Family
ID=40820177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007306217A Expired - Fee Related JP5041986B2 (en) | 2007-11-27 | 2007-11-27 | Component division support device, method and program thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5041986B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5564474B2 (en) * | 2011-08-15 | 2014-07-30 | 株式会社日立製作所 | Component design support method and system |
JP6310865B2 (en) * | 2015-01-30 | 2018-04-11 | 株式会社日立製作所 | Source code evaluation system and method |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0869380A (en) * | 1994-08-29 | 1996-03-12 | Fujitsu Ltd | Source program check device |
JP2000215045A (en) * | 1999-01-26 | 2000-08-04 | Hitachi Ltd | Instrument for measuring dependency between software modules |
JP2005092519A (en) * | 2003-09-17 | 2005-04-07 | Hitachi Software Eng Co Ltd | Device and method for supporting creation of object-oriented program |
-
2007
- 2007-11-27 JP JP2007306217A patent/JP5041986B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009129355A (en) | 2009-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8392886B2 (en) | System, program product, and methods to enable visual recording and editing of test automation scenarios for web application | |
US8726226B2 (en) | Integrated work lists for engineering project change management | |
US10592211B2 (en) | Generation of application behaviors | |
US7536678B2 (en) | System and method for determining the possibility of adverse effect arising from a code change in a computer program | |
US8312415B2 (en) | Using code analysis for requirements management | |
KR20160002888A (en) | Out-of-band framework libraries within applications | |
KR101137070B1 (en) | Priority binding | |
CN103164334A (en) | System and method for detecting breaking point in web application automatic test case | |
US20130212565A1 (en) | Application analysis method, analysis system and recording medium | |
CN112494940A (en) | User interface manufacturing method and device, storage medium and computer equipment | |
US20180089154A1 (en) | Computer implemented system and method for transforming web content for display on multiple form factors | |
US20090217259A1 (en) | Building Operating System Images Based on Applications | |
JP5041986B2 (en) | Component division support device, method and program thereof | |
EP4085336B1 (en) | Computer resource leak detection | |
US11461090B2 (en) | Element detection | |
JP4896909B2 (en) | Scenario generation apparatus and program | |
JP2011170697A (en) | Software structure analyzing device | |
US11947441B2 (en) | Visual testing of implemented product code from a codified user experience design | |
US11645190B1 (en) | Compliance check code generation for implemented product code from a codified user experience design | |
JP2009064124A (en) | System, device and program for performance data collection/display | |
JP2012145970A (en) | Portlet support system, apparatus, method and program | |
CN114637992A (en) | Method and device for processing software function call behavior data | |
CN111666216B (en) | Intelligent contract analysis method and device | |
JP7116313B2 (en) | Correction candidate identification program | |
JP2009053767A (en) | Program analysis device and program analysis method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100224 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120328 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120403 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120601 |
|
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: 20120626 |
|
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: 20120710 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5041986 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150720 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |