(57)【要約】【課題】設計作業でモデルを変換するシステム開発において、自動生成部分と手作業での修正部分が混在する場合に、部分相互のインタフェースの整合性を確保する方法及びシステムを提供する。【解決手段】端末装置１０１が、変換前のモデルが呼び出すメソッドの情報を持つ変換前メソッド呼出情報１１４と、変換前後のモデルにおけるメソッド同士の対応関係の情報を持つ変換処理情報１１７とを用いて、指定メソッド情報についての変換後の呼出先メソッドを抽出し、前記指定メソッド情報の呼出先の候補としてインタフェースの整合性が確保されたメソッドを画面上に表示する。また、メソッド同士の呼出関係をシーケンス図で表示する。【選択図】図１
2007122587.tif 000002
【特許請求の範囲】
【請求項１】
クラスとメソッドと階層をなすクラスの集合であるパッケージを要素として含むモデルを、所定のルールに基づいて新たなモデルに変換して情報システムを設計開発する情報システム設計開発方法であって、
変換前のモデルが呼び出すメソッドの情報を持つ変換前メソッド呼出情報と、
変換前のモデルにおけるメソッドと、変換後のモデルにおけるメソッドとの変換前後の対応関係の情報を持つ変換処理情報とを有する端末装置が、
入力装置を介して入力されたパッケージ、クラス、及びメソッドを含む指定メソッド情報を取得し、
前記取得した指定メソッド情報に含まれるパッケージ名、クラス名、及びメソッド名に基づき、前記指定メソッド情報に対応する変換前のメソッドを、前記変換処理情報から抽出し、
前記抽出した変換前のメソッドが呼び出すメソッドである変換前の呼出先メソッドを、前記変換前メソッド呼出情報から抽出し、
前記抽出した変換前の呼出先メソッドに含まれるパッケージ名、クラス名、及びメソッド名に基づき、前記変換前の呼出先メソッドに対応する変換後の呼出先メソッドを、前記変換処理情報から抽出し、
前記抽出した変換後の呼出先メソッドを、前記指定メソッド情報の呼出先の候補として表示画面上に表示する
ことを特徴とする情報システム設計開発方法。
【請求項２】
前記変換前メソッド呼出情報は、変換前のメソッドを一意に示すメソッド識別子の情報をさらに備え、
変換後のメソッドを一意に示すメソッド識別子の情報を持つ変換後メソッド呼出情報をさらに有する前記端末装置が、
前記指定メソッド情報に対応する変換前のメソッドを、前記変換処理情報から抽出できなかった場合に、
前記指定メソッド情報に含まれるパッケージ名、クラス名、及びメソッド名に基づき、前記変換後メソッド呼出情報から、前記指定メソッド情報のメソッド識別子を抽出し、
前記抽出したメソッド識別子と同じメソッド識別子を有する変換前のメソッドを、前記変換前メソッド呼出情報から抽出する
ことをさらに備えることを特徴とする請求項１に記載の情報システム設計開発方法。
【請求項３】
前記変換前メソッド呼出情報は、変換前のメソッドの要件を一意に示す要件識別子の情報をさらに備え、
前記変換後メソッド呼出情報は、変換後のメソッドの要件を一意に示す要件識別子の情報をさらに備える前記端末装置が、
前記指定メソッド情報に対応する変換前のメソッドを、前記変換処理情報から抽出できなかった場合に、
前記指定メソッド情報に含まれるパッケージ名、クラス名、及びメソッド名に基づき、前記変換後メソッド呼出情報から、前記指定メソッド情報の要件識別子を抽出し、
前記抽出した要件識別子と同じ要件識別子を有する変換前のメソッドを、前記変換前メソッド呼出情報から抽出する
ことをさらに備えることを特徴とする請求項１又は請求項２のいずれか１項に記載の情報システム設計開発方法。
【請求項４】
変換前のメソッドのメソッド名に含まれる文字列と、変換後のメソッドのメソッド名に含まれる文字列との対応関係の情報を持つ文字列対応情報と、
変換前のパッケージ、クラス、及びメソッドを含むモデルの情報を持つ変換前モデル情報とをさらに有する前記端末装置が、
前記指定メソッド情報に対応する変換前のメソッドを、前記変換処理情報から抽出できなかった場合に、
前記指定メソッド情報のメソッド名に含まれる文字列に対応する変換前の文字列を、前記文字列対応情報から抽出し、
前記抽出した文字列を含む変換前のメソッドを、前記変換前モデル情報から抽出する
ことをさらに備えることを特徴とする請求項１乃至請求項３のいずれか１項に記載の情報システム設計開発方法。
【請求項５】
前記変換前メソッド呼出情報は、変換前のメソッドを一意に示すメソッド識別子の情報をさらに備え、
変換後のメソッドを一意に示すメソッド識別子の情報を持つ変換後メソッド呼出情報をさらに有する前記端末装置が、
前記変換前の呼出先メソッドに対応する変換後の呼出先メソッドを、前記変換処理情報から抽出できなかった場合に、
前記抽出した変換前の呼出先メソッドに含まれるパッケージ名、クラス名、及びメソッド名に基づき、前記変換前メソッド呼出情報から、前記抽出した変換前の呼出先メソッドのメソッド識別子を抽出し、
前記抽出したメソッド識別子と同じメソッド識別子を有する変換後のメソッドを、前記変換後メソッド呼出情報から抽出する
ことをさらに備えることを特徴とする請求項１乃至請求項４のいずれか１項に記載の情報システム設計開発方法。
【請求項６】
前記変換前メソッド呼出情報は、変換前のメソッドの要件を一意に示す要件識別子の情報をさらに備え、
前記変換後メソッド呼出情報は、変換後のメソッドの要件を一意に示す要件識別子の情報をさらに備える前記端末装置が、
前記変換前の呼出先メソッドに対応する変換後の呼出先メソッドを、前記変換処理情報から抽出できなかった場合に、
前記抽出した変換前の呼出先メソッドに含まれるパッケージ名、クラス名、及びメソッド名に基づき、前記変換前メソッド呼出情報から、前記抽出した変換前の呼出先メソッドの要件識別子を抽出し、
前記抽出した要件識別子と同じ要件識別子を有する変換後のメソッドを、前記変換後メソッド呼出情報から抽出する
ことをさらに備えることを特徴とする請求項１乃至請求項５のいずれか１項に記載の情報システム設計開発方法。
【請求項７】
変換前のメソッドのメソッド名に含まれる文字列と、変換後のメソッドのメソッド名に含まれる文字列との対応関係の情報を持つ文字列対応情報と、
変換後のパッケージ、クラス、及びメソッドを含むモデルの情報を持つ変換後モデル情報とをさらに有する前記端末装置が、
前記変換前の呼出先メソッドに対応する変換後の呼出先メソッドを、前記変換処理情報から抽出できなかった場合に、
前記抽出した変換前の呼出先メソッドのメソッド名に含まれる文字列に対応する変換後の文字列を、前記文字列対応情報から抽出し、
前記抽出した文字列を含む変換後のメソッドを、前記変換後モデル情報から抽出する
ことをさらに備えることを特徴とする請求項１乃至請求項６のいずれか１項に記載の情報システム設計開発方法。
【請求項８】
変換後のモデルが呼び出すメソッドと、戻り値又は引数の情報とを持つ変換後メソッド呼出情報をさらに有する前記端末装置が、
前記指定メソッド情報に記載されていない型の戻り値又は引数を、前記抽出した変換後の呼出先メソッドが使用しているか否かを、前記変換後メソッド呼出情報を用いて判別し、使用している場合には、
前記戻り値又は引数の情報を表示画面上に追加表示する
ことをさらに備えることを特徴とする請求項１乃至請求項７のいずれか１項に記載の情報システム設計開発方法。
【請求項９】
変換後のモデルが呼び出すメソッドと、戻り値又は引数との情報を持つ変換後メソッド呼出情報をさらに有する前記端末装置が、
前記指定メソッド情報に記載されていない型の戻り値又は引数を、前記抽出した変換後の呼出先メソッドが使用しているか否かを、前記変換後メソッド呼出情報を用いて判別し、使用している場合には、
前記指定メソッド情報の前記変換前メソッド呼出情報を表示画面上に表示する
ことをさらに備えることを特徴とする請求項１乃至請求項８のいずれか１項に記載の情報システム設計開発方法。
【請求項１０】
前記端末装置が、
呼出先の候補として前記表示した変換後の呼出先メソッドのうち、少なくともいずれか１つのメソッドの情報を入力装置を介して取得した場合には、
当該メソッドの情報を表示画面上に追加表示する
ことをさらに備えることを特徴とする請求項１乃至請求項９のいずれか１項に記載の情報システム設計開発方法。
【請求項１１】
変換後のモデルが呼び出すメソッドと、戻り値又は引数の情報とを持つ変換後メソッド呼出情報と、
変換後のパッケージ、クラス、及びメソッドを含むモデルの情報を持つ変換後モデル情報をさらに有する前記端末装置は、
入力装置を介して取得したメソッドが、呼び出される又は呼び出す関係である呼出関係を、前記変換後モデル情報及び前記変換後メソッド呼出情報によって生成し、シーケンス図を用いて表示画面上に表示する
ことをさらに備えることを特徴とする請求項１乃至請求項１０のいずれか１項に記載の情報システム設計開発方法。
【請求項１２】
クラスとメソッドと階層をなすクラスの集合であるパッケージを要素として含むモデルを、所定のルールに基づいて新たなモデルに変換して情報システムを設計開発する端末装置であって、
変換前のモデルが呼び出すメソッドの情報を持つ変換前メソッド呼出情報と、
変換前のモデルにおけるメソッドと、変換後のモデルにおけるメソッドとの変換前後の対応関係の情報を持つ変換処理情報とを有する端末装置が、
入力装置を介して入力されたパッケージ、クラス、及びメソッドを含む指定メソッド情報を取得する変換後メソッド指定部と、
前記取得した指定メソッド情報に含まれるパッケージ名、クラス名、及びメソッド名に基づき、前記指定メソッド情報に対応する変換前のメソッドを、前記変換処理情報から抽出する変換前メソッド抽出部と、
前記抽出した変換前のメソッドが呼び出すメソッドである変換前の呼出先メソッドを、前記変換前メソッド呼出情報から抽出する変換前呼出情報抽出部と、
前記抽出した変換前の呼出先メソッドに含まれるパッケージ名、クラス名、及びメソッド名に基づき、前記変換前の呼出先メソッドに対応する変換後の呼出先メソッドを、前記変換処理情報から抽出する変換後呼出情報抽出部と、
前記抽出した変換後の呼出先メソッドを、前記指定メソッド情報の呼出先の候補として表示画面上に表示する変換後呼出情報表示部と
を備えることを特徴とする端末装置。
【請求項１３】
前記端末装置は、
変換後のモデルが呼び出すメソッドと、戻り値又は引数との情報を持つ変換後メソッド呼出情報をさらに有し、
前記変換後呼出情報表示部は、
前記指定メソッド情報に記載されていない型の戻り値又は引数を、前記抽出した変換後の呼出先メソッドが使用しているか否かを、前記変換後メソッド呼出情報を用いて判別し、使用している場合には、
前記戻り値又は引数の情報を表示画面上に追加表示する
ことをさらに備えることを特徴とする請求項１２に記載の端末装置。
【請求項１４】
前記端末装置は、
変換後のモデルが呼び出すメソッドと、戻り値又は引数との情報を持つ変換後メソッド呼出情報をさらに有し、
前記変換後呼出情報表示部は、
前記指定メソッド情報に記載されていない型の戻り値又は引数を、前記抽出した変換後の呼出先メソッドが使用しているか否かを、前記変換後メソッド呼出情報を用いて判別し、使用している場合には、
前記指定メソッド情報の前記変換前メソッド呼出情報を表示画面上に表示する
ことをさらに備えることを特徴とする請求項１２又は請求項１３のいずれか１項に記載の端末装置。
【請求項１５】
変換後のパッケージ、クラス、及びメソッドを含むモデルの情報を持つ変換後モデル情報と、
変換後のモデルが呼び出すメソッドと、戻り値又は引数との情報を持つ変換後メソッド呼出情報とをさらに有する前記端末装置は、
入力装置を介して取得したメソッドが、呼び出される又は呼び出す関係である呼出関係を、前記変換後モデル情報及び前記変換後メソッド呼出情報によって生成し、シーケンス図を用いて表示画面上に表示するシーケンス情報表示部
をさらに備えることを特徴とする請求項１２乃至請求項１４のいずれか１項に記載の端末装置。
【請求項１６】
請求項１乃至請求項１１のいずれか１項に記載の情報システム設計開発方法を、コンピュータである前記端末装置に実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報システムを設計開発する情報システム設計開発技術に関するものである。
【背景技術】
【０００２】
一般にシステムの開発は、システムが実現する業務の分析を行う段階と、システムの概要を表す情報を設計する段階と、システムの詳細な実行を示すソースコードの開発とを行う段階とからなる過程を経る。以下、これらの各段階を「工程」と呼ぶ。
【０００３】
前記のシステム開発における工程では、システムの仕様を表す情報を作成し、その作成した情報を、より複雑な仕様を表す情報へと変換させていく。この各工程には、それぞれの工程で作成する情報を表すモデルが存在する。
あるモデルから所定のルールを元にモデルの要素を追加、削除、または変更することによって新たなモデルを作成することを、ここでは「モデル変換」又は単に「変換」と呼ぶ。
【０００４】
特許文献１は、モデルの情報を表示する画面（ビュー）から所定のモデルのインタフェースを使用する場合に、変換元のモデルに対する変更を即時的に変換先のモデルに反映させ、モデルを更新する方法が開示されている。なお、本明細書におけるインタフェースとは、メソッドと同義の概念とする。つまり、「インタフェースを使用する」とは、「メソッドを呼び出す」ことと同義とする。
また、モデル変換を用いて所定のビューからモデルのインタフェースを使用する場合に、変換元のモデルの変更に対応する部分的な変更を変換先のビューに対して行うことにより、ビューを更新することが可能となる。
【０００５】
ここで、各工程において作成するモデルについて、各工程の一つ前の工程で作成されたモデルを変換することで作成することが可能ならば、作業にかかる工数を減少させることができる。
【０００６】
オブジェクト指向言語を用いてシステムを開発する場合に、モデルはその要素として、クラス、メソッド、及び階層をなすクラスの集合であるパッケージを含む。ここでパッケージ同士の間には、あるパッケージに含まれるメソッドを別のパッケージから呼び出すことで利用するという関係が存在しうる。以下、モデルに含まれるパッケージから呼び出す必要のある全てのメソッドがモデルに正しく定義されていることを、「モデルのインタフェースの整合が確保されている」と呼ぶ。モデルがシステムの仕様を情報として正しく表すためには、インタフェースの整合が確保されていることが必要である。
【０００７】
モデル変換を用いてシステムを開発する場合には、前工程のモデルで確保されていたインタフェース間の整合がモデル変換後のモデルで確保されていないと、前工程で決定した仕様が後工程で守られていない、という事態が発生する。従って、モデル変換を行う場合には、変換前のモデルで確保されていたインタフェースの整合が、変換後も確保されている必要がある。
【０００８】
また、特許文献２では、「ソフトウェア部品開発支援装置において、ある問題領域のアプリケーションに共通となる要求仕様の分析時に、仕様の変動性に関する情報を入力し、該情報を用いて要求仕様を分析して分析モデルを生成する分析モデル生成手段と、分析モデルを入力してアプリケーション開発環境の要素となる再利用可能ソフトウェアの設計情報に変換する変換手段を備えている」ことで、モデル変換時におけるメソッド呼出を扱う方法が開示されている。
【特許文献１】特開２００３−６７１８５号公報
【特許文献２】特開平１１−２３７９８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、システム開発の各工程で、作業のために必要となる情報は異なるため、変換前のモデルと変換後のモデルとで含むべき情報も異なる。特許文献１の方法では、変換前のモデルを作成する工程では不要な情報を、変換前のモデルにも追加する必要があるという問題を有している。
また、モデルの要素に対応する変換手段のないモデル要素があるために、モデルに自動生成部分と手作業での修正部分が混在する場合がある。この場合、特許文献１では、モデルの要素に対する変換手段を必ず必要とするので、変換手段が無い場合にはインタフェースの整合性の問題が解決できない。
【００１０】
特許文献２では、モデル変換で生成される要素（メソッド、クラス等）は、変換前のモデルの要素と１：１に対応することを想定している。そのため、モデル変換時に情報を追加することや、モデル変換を行わずに手作業で修正した要素については対応できない。
【００１１】
本発明は、情報システム設計開発作業でモデルを変換するシステム開発において、モデルに自動生成部分と手作業での修正部分が混在する場合に、部分相互のインタフェースの整合性を確保する情報システム設計開発方法、端末装置、及びプログラムを提供することを課題とする。
【課題を解決するための手段】
【００１２】
前記課題を解決するため、本発明は、クラスとメソッドと階層をなすクラスの集合であるパッケージを要素として含むモデルを、所定のルールに基づいて新たなモデルに変換して情報システムを設計開発する情報システム設計開発方法において、変換前のモデルが呼び出すメソッドの情報を持つ変換前メソッド呼出情報と、変換前のモデルにおけるメソッドと、変換後のモデルにおけるメソッドとの変換前後の対応関係の情報を持つ変換処理情報とを有する端末装置が、入力装置を介して入力されたパッケージ、クラス、及びメソッドを含む指定メソッド情報を取得し、前記取得した指定メソッド情報に含まれるパッケージ名、クラス名、及びメソッド名に基づき、前記指定メソッド情報に対応する変換前のメソッドを、前記変換処理情報から抽出し、前記抽出した変換前のメソッドが呼び出すメソッドである変換前の呼出先メソッドを、前記変換前メソッド呼出情報から抽出し、前記抽出した変換前の呼出先メソッドに含まれるパッケージ名、クラス名、及びメソッド名に基づき、当該メソッドに対応する変換後の呼出先メソッドを、前記変換処理情報から抽出し、前記抽出した変換後の呼出先メソッドを、前記指定メソッド情報の呼出先の候補として表示画面上に表示する方法とした。
【００１３】
これによって、設計開発作業においてモデルを変換するシステム開発において、自動生成部分と手作業での修正部分が混在する場合に、手作業での作成部分においてメソッド呼出を指定する際に、変換前のモデルでのメソッド呼出情報を元に、メソッド呼出の候補の一覧を表示することが可能となる。
【００１４】
さらに本発明は、端末装置が、変換後のパッケージ、クラス、及びメソッドを含むモデルの情報を持つ変換後モデル情報をさらに有し、入力装置を介して取得したメソッドが、呼び出される又は呼び出す関係である呼出関係を、前記変換後モデル情報と、変換後のモデルが呼び出すメソッドの情報を持つ変換後メソッド呼出情報とによって生成し、シーケンス図を用いて表示画面上に表示する方法とした。
【００１５】
これによって、モデル変換後に追加されたメソッドの呼出関係をシーケンス図によって表示することにより、インタフェースの整合を開発者が目視で確認することが可能となり、シーケンス図上で上流での設計にないメソッドを他と区別して認識できるため、インタフェースの不整合による作業ミスを削減できる。
【発明の効果】
【００１６】
本発明によれば、情報システム設計開発作業でモデルを変換するシステム開発において、モデルに自動生成部分と手作業での修正部分が混在する場合に、部分相互のインタフェースの整合性を確保する情報システム設計開発方法、及びシステムを提供することができる。
【発明を実施するための最良の形態】
【００１７】
本発明を実施するための最良の形態（以下「実施形態」と適宜記載）を詳細に説明する。
なお、ここでは、変換前とはモデル変換を行う前の、システム開発のより上流工程の段階を表す。変換後とは、システム開発のより下流工程の段階を表す。この変換後のモデルは、変換で生成される場合と、システム開発者等による手入力で作成される場合とがある。
モデル変換を実行することによって、変換前のモデルから変換後のモデルが生成される。モデルにはパッケージ、クラス、及びメソッドが含まれるため、モデルに含まれるメソッド等についても、変換前のメソッドから変換後のメソッドが生成されることになる。
なお、メソッドとは、システムにおいてある機能を実現するための一連の処理手続きを指す。クラスとは、メソッドを含み、幾つかのオブジェクトに共通する機能や属性等を定義したものを指す。パッケージとは、互いに関係の深いクラスをグループでまとめたものを指す。
さらに、あるメソッドから別のメソッドを呼び出す関係があった（インタフェースの整合が確保されている）場合に、呼び出す元のメソッドを呼出元メソッドといい、呼び出されるメソッドを呼出先メソッドという。
【００１８】
図１は、本実施形態に利用される計算機（端末装置）の機能を示すブロック図である。計算機１０１は一般的なコンピュータであり、プログラムやデータ等を格納する外部記憶装置と、プログラム及び各データを参照して各種演算処理を行うＣＰＵ（Central Processing Unit）と、ＣＰＵから直接データを受け渡しする主記憶装置とを備える。また、キーボードやマウス等の入力装置１０２と、ディスプレイやプリンタ等の出力装置１０３とが、所定の回路によって計算機１０１に接続されている。
【００１９】
計算機１０１のＣＰＵは、外部記憶装置に格納されたプログラムおよび各データベースを参照して各種演算処理を行うことで、主記憶装置において、入力装置１０２で指定されたメソッドについて呼出先に相当するメソッドの候補を表示する呼出メソッド候補表示部１２１と、呼出先メソッド候補の中からシステム開発者（以下「開発者」と適宜記載）が指定したメソッドの呼出等の情報をモデルに記入するメソッド挿入部１２７と、開発者が指定したメソッドについてのメソッドの呼出関係をシーケンス図を用いて表示するシーケンス情報表示部１２８の機能を実現する。
【００２０】
さらに、呼出メソッド候補表示部１２１においては、開発者が指定したメソッド情報（以下「指定メソッド情報」と適宜記載）と、変換後のモデル情報とを取得する変換後メソッド指定部１２２と、指定メソッド情報に対し変換前のメソッドを抽出する変換前メソッド抽出部１２３と、抽出した変換前のメソッドから呼び出される呼出先メソッドを抽出する変換前呼出情報抽出部１２４と、抽出した変換前の呼出先メソッドに対応する変換後のメソッドを抽出する変換後呼出情報抽出部１２５と、変換後呼出情報抽出部１２５で抽出した変換後の呼出先メソッド等を候補として出力する変換後呼出情報表示部１２６との機能が実現される。
【００２１】
また、計算機１０１の外部記憶装置には、変換後のモデル（パッケージ、クラス、及びメソッド）の情報を保持する変換後モデル情報１１１、変換後のメソッドが呼び出すメソッドの情報を保持する変換後メソッド呼出情報１１２、変換前のモデル（パッケージ、クラス、及びメソッド）の情報を保持する変換前モデル情報１１３、変換前のメソッドが呼び出すメソッドの情報を保持する変換前メソッド呼出情報１１４、変換前のメソッド名に含まれる文字列と変換後のメソッド名に含まれる文字列との対応関係の情報を保持する文字列対応情報１１５、システムの要件と要件ＩＤ（要件の識別子）との情報を保持する要件情報１１６、及び変換前のモデル情報と変換後のモデル情報との変換前後の対応関係の情報を保持する変換処理情報１１７が格納されている。前記した各情報は、データベース、ファイル、フォルダ等の状態で予め作成され、外部記憶装置に保管されているものとする。
【００２２】
本実施形態では、システム開発において、出力された見積のリストの中から発注する製品を選択する、という発注処理のためのシステムを例に説明する。
図２は、本実施形態における変換前後のメソッド呼出関係の一例を示すクラス図である。ここでは、モデル変換を行うクラスと、モデル変換を行わずに手作業で作成したクラスとを例に挙げて説明する。なお、図２では呼出関係の説明に直接関係のないパッケージ、クラス、メソッド、及び属性の説明を省略している。
【００２３】
図２において、変換前モデル２０１は変換前のモデルを示し、変換後モデル２０２は変換後のモデルを示す。
変換前モデル２０１に含まれるクラス２１１は変換対象でないクラス「採用処理」である。また、クラス２１２は変換対象であるクラス「見積」を表す。
変換後モデル２０２に含まれるクラス２１３は、クラス２１１「採用処理」に対応するクラスとして手作業で作成されたクラス２１３「FWAdoptionAction」を示し、クラス２１４「Facade」とクラス２１５「Estimation」は、クラス２１２「見積」を変換した結果生成されたクラスである。
【００２４】
変換前モデル２０１において、クラス２１１「採用処理」のメソッド２２１「採用を受け付ける」は、クラス２１２「見積」のメソッド２２２「見積を取得する」を呼び出すという呼出関係２３３がある。
また、クラス２１３「FWAdoptionAction」のメソッド２２３「getAdoption」とクラス２１１「採用処理」のメソッド２２１「採用を受け付ける」との間には、同じ機能の仕様を表すという関係２３１がある。また、メソッド２２２「見積を取得する」から、変換によりメソッド２２４「getEstimationList」が生成された関係２３４と、同様にメソッド２２５「getEstimation」が生成された関係２３５とがあり、同じ機能の仕様を表している。
呼出関係２３２は、本実施形態における呼出メソッド候補表示部１２１（図１参照）の処理を実行することで生成される、クラス２１３「FWAdoptionAction」のメソッド２２３「getAdoption」がクラス２１４「Facade」のメソッド２２４「getEstimationList」を呼び出す関係である。
さらに、メソッド２２４はメソッド２２５を呼び出すという呼出関係２３６がある。
【００２５】
本実施形態における呼出メソッド候補表示部１２１の処理は、開発者が計算機１０１を用いてシステム設計開発作業を行う際、表示画面のウィンドウ上で変換後のモデルを編集中に実行され、編集中のモデルに含まれるメソッドについて、その呼出先に相当する呼出先メソッドの候補等を表示する。図１５は呼出メソッド候補表示部１２１の変換後呼出情報表示部１２６により表示される情報の一例であり、開発者が変換後のモデルを編集する画面例である。図１５において、ウィンドウ１５０１は変換後モデルのパッケージ内容を編集するためのウィンドウである。開発者がウィンドウ１５０１においてモデル情報を編集中に、メソッド１５２２を入力し、行１５１３まで入力したところで、呼出メソッド候補表示部１２１の処理が実行され、呼出先メソッドの候補を表すウィンドウ１５０２が表示される。図１５についての詳細な説明は後記する。
【００２６】
図１の呼出メソッド候補表示部１２１の処理概要は以下の通りである。図２を参照しながら説明する。
（１）開発者に指定された呼出元の指定メソッド情報（図２の符号２２３）を入力装置を介して取得
（２）（１）で取得した呼出元の指定メソッド情報に含まれるメソッド名に基づき、変換前と変換後との関係（図２の符号２３１）から、変換前のメソッド名を取得
（３）変換前モデル２０１において、（２）で取得した変換前のメソッド名に基づき呼出関係（図２の符号２３３）から変換前の呼出先メソッド名を取得
（４）（３）で取得した呼出先メソッド名に基づき、変換前と変換後との関係（図２の符号２３４）から、変換後の呼出先メソッド名を取得
（５）（１）で取得した指定メソッド情報が呼び出す関係（図２の符号２３２）を持つ変換後の呼出先メソッド（図２の符号２２４）、及びその他の情報を、出力装置へ呼出先メソッドの候補として表示
【００２７】
次に、本実施形態で使用する各情報の説明を行う。
図３は、変換後のパッケージ、クラス、及びメソッドの情報を保持する変換後モデル情報１１１の一例を示す図である。ここでは、情報をＵＭＬ（Unified Modeling Language）のクラス図の形で示している。
【００２８】
変換後のモデルとして、パッケージ３０１「Adoption」と、パッケージ３０２「OrderInfo」と、パッケージ３０３「FWUI」とが示されている。ここで、パッケージ３０２「OrderInfo」は変換で生成されたパッケージとし、パッケージ３０１「Adoption」、及びパッケージ３０３「FWUI」は手作業で追加されたパッケージとする。
【００２９】
クラス３１１「FWAdoptionAction」はパッケージ３０１「Adoption」に含まれ、クラス３１５「FWUI」はパッケージ３０３「FWUI」に含まれる。また、クラス３１２「Facade」とクラス３１３「Estimation」とクラス３１４「Order」とは、パッケージ３０２「OrderInfo」に含まれる。
さらに、クラス３１３「Estimation」に含まれる属性３２１には「id」，「name」，「price」，「date」が示され、クラス３１４「Order」に含まれる属性３２２には「id」，「name」，「price」，「date」が示されている。
また、クラス３１１に含まれるメソッド３３１には「getAdoption」が示される。クラス３１２に含まれるメソッド３３２には「getEstimationList」，「getEstimation」，「deleteEstimation」，「addEstimation」，「updateEstimation」，「getOrderList」，「getOrder」，「deleteOrder」，「addOrder」，「updateOrder」，「Order」が示される。クラス３１３に含まれるメソッド３３３には「getEstimation」が示される。クラス３１４に含まれるメソッド３３４には「Order」が示される。クラス３１５に含まれるメソッド３３５には「outputList」，「inputNumber」が示される。
なお、それぞれのメソッド定義は、引数と戻り値との定義を有する。例えば、メソッド３３２の「+getEstimation(id:int):Estimation」は、（）内のidが引数であり、intがその型を、そしてEstimationが戻り値を表している。
【００３０】
図４は、変換後のメソッドが呼び出すメソッドの情報を保持する変換後メソッド呼出情報１１２の一例を示す図である。本実施の形態では、情報をJava（登録商標）言語のソースコードの形で示している。
【００３１】
図４において、情報４０１は図３におけるクラス３１１「FWAdoptionAction」に対応しており、パッケージ名４１１と、クラス情報４１２とで構成される。また、クラス情報４１２は、コメント部４２１と、メソッド情報４２２とで構成される。
ここでは、パッケージ「Adoption」にクラス「FWAdoptionAction」が含まれ、さらに、クラス「FWAdoptionAction」のメソッドに「getAdoption」が含まれている。
コメント部４２１はメソッドＩＤ（メソッド識別子）、及び要件ＩＤ（要件識別子）の情報を示す。メソッドＩＤとは、各メソッドにユニークに付与されたＩＤであり、「@id=*」で示される。* には、任意の値が入る。要件とは、システム開発を行う上で開発依頼者等から受けたシステムに対する要望であり、それを実現させるために要件毎に区別する目的でユニークに付与されたＩＤが要件ＩＤである。要件ＩＤは「@req＿id=」で示される。
この例ではメソッドＩＤの情報のみ記載されており、「@id=1」よりメソッド「getAdoption」のメソッドＩＤが「１」であることが示されている。
さらに、図４では、メソッド情報４２２の２行目以降が空白となっており、呼出情報がまだ入力されていない状態を示している。
【００３２】
図５は、変換前のパッケージ、クラス、及びメソッドの情報を保持する変換前モデル情報１１３の一例を示す図である。図３と同様に、情報をＵＭＬのクラス図の形で示している。
【００３３】
変換前のモデルとして、パッケージ５０１「採用」と、パッケージ５０２「注文情報」と、パッケージ５０３「画面」とが示されている。ここで、パッケージ５０１「採用」、及びパッケージ５０３「画面」は変換の対象でないパッケージとし、パッケージ５０２「注文情報」は変換の対象となるパッケージとする。
【００３４】
クラス５１１「採用処理」はパッケージ５０１「採用」に含まれ、クラス５１２「見積」、及びクラス５１３「発注」はパッケージ５０２「注文情報」に含まれ、クラス５１４「画面処理」はパッケージ５０３「画面」に含まれる。
また、属性５２１に示す「番号」，「製品名」，「価格」，「納期」はクラス５１２「見積」の属性を示し、属性５２２に示す「番号」，「製品名」，「価格」，「納期」はクラス５１３「発注」の属性をそれぞれ示す。また、メソッド５３１「採用を受け付ける」はクラス５１１「採用処理」のメソッドを示す。メソッド５３２「見積を取得する」はクラス５１２「見積」のメソッドを示す。メソッド５３３「発注する」はクラス５１３「発注」のメソッドを示す。メソッド５３４の「画面にリストを出力」、及び「入力番号を返す」はクラス５１４「画面処理」のメソッドを示す。
【００３５】
図６は、変換前のメソッドが呼び出すメソッドの情報を保持する変換前メソッド呼出情報１１４の一例を示す図である。なお、図４と同様に情報をJava（登録商標）言語のソースコードの形で示している。
【００３６】
図６において、情報６０１は、図５におけるクラス５１１「採用処理」に対応しており、パッケージ名６１１とクラス情報６１２とで構成される。
クラス情報６１２は、コメント部６２１と、メソッド情報６２２とで構成される。
コメント部６２１はメソッドに関する情報を示し、行６４１「@req＿id=1」はメソッド５３１「採用を受け付ける」のメソッドの要件ＩＤが「１」であること、行６４２「@id=1」はメソッド５３１「採用を受け付ける」のメソッドＩＤが「１」であることを示す。
【００３７】
メソッド情報６２２内に記載された行６３１，６３２，６３３，６３４は、この順序で各メソッドを呼び出すことを示している。
【００３８】
図７は、変換前後のメソッド名に含まれる文字列の対応関係の情報を保持する、文字列対応情報１１５の一例を示す図である。
図７において、列７０１は変換前の文字列を、列７０２は変換後の文字列を示す列である。行７１２は、変換前のモデルのメソッド名に文字列「採用」が含まれ、変換後のモデルのメソッド名に文字列「Adoption」が含まれる場合において、互いの間に対応関係が成り立つことを示している。
【００３９】
図８は、システムの要件と、要件ＩＤとの情報を保持する要件情報１１６の一例を示す図である。
図８において、列８０１は要件を、列８０２は要件ＩＤをそれぞれ示す。行８１１は、要件「見積リストから見積を選択し発注する」の要件ＩＤが「１」であることを示している。
なお、変換処理によって生成されたメソッドについては、メソッドＩＤは変換前のメソッドと同じメソッドＩＤが付与されるものとする。また、要件ＩＤについても同様に、変換処理によって生成されたメソッドにも変換前の要件ＩＤが付与される。
【００４０】
図９は、変換前のモデル情報と、変換後のモデル情報との対応関係の情報を保持する、変換処理情報１１７の一例を示す図である。
【００４１】
図９において、変換後の項目として、変換後のパッケージ名を表す列９０１、変換後のクラス名を表す列９０２、及び変換後のメソッド名を表す列９０３が示されており、変換前の項目として、変換前のパッケージ名を表す列９０４、変換前のクラス名を表す列９０５、変換前のメソッド名を表す列９０６、列９０６の示す各メソッドが呼出を推奨されるか否かを表す列９０７が示されている。なお、手作業により追加されたパッケージ、クラス、及びメソッドについては、この変換処理情報１１７には含まれない。
【００４２】
行９１２は、変換後モデルのパッケージ「OrderInfo」のクラス「Facade」は、列９０４（変換前のパッケージ）が「注文情報」、列９０５（変換前のクラス）が「なし」となっていることから、パッケージ「注文情報」に基づいて、変換時に新規に生成されたクラスであることを表す。
行９１３は、変換後のパッケージ「OrderInfo」のクラス「Estimation」は、変換前のパッケージ「注文情報」のクラス「見積」に対応することを表している。
行９１４は、変換後のパッケージ「OrderInfo」のクラス「Order」は、変換前のパッケージ「注文情報」のクラス「発注」に対応することを表している。
【００４３】
行９１５は変換後のパッケージ「OrderInfo」のクラス「Facade」のメソッド「getEstimationList」が変換前のパッケージ「注文情報」のクラス「見積」のメソッド「見積を取得する」に対応し、呼出が推奨されることを示す。
行９１６は変換後のパッケージ「OrderInfo」のクラス「Estimation」のメソッド「getEstimation」が変換前のパッケージ「注文情報」のクラス「見積」のメソッド「見積を取得する」に対応し、呼出が非推奨であることを示す。
行９１７は変換後のパッケージ「OrderInfo」のクラス「Facade」のメソッド「order」が変換前のパッケージ「注文情報」のクラス「発注」のメソッド「発注する」に対応し、呼出が推奨されることを示す。
行９１８は変換後のパッケージ「OrderInfo」のクラス「order」のメソッド「order」が変換前のパッケージ「注文情報」のクラス「発注」のメソッド「発注する」に対応し、呼出が非推奨であることを示す。
この列９０７における呼出の推奨／非推奨は、変換前のパッケージ、クラス、及びメソッドについて同じものが２つ以上ある場合に、どちらの変換後のパッケージ、クラス、及びメソッドを推奨するかを表している。ここでは推奨または非推奨のいずれかで表示してあるが、例えば使用頻度、変換ルールの新旧等によって各メソッド毎に重みを持たせてもよい。
【００４４】
（各処理部での処理）
開発者が指定したメソッドが呼出先メソッドについてその候補を表示する図１の呼出メソッド候補表示部１２１の処理について、変換後メソッド指定部１２２から変換後呼出情報表示部１２６までの各処理の流れに沿って、具体的な例を挙げながら説明する。
【００４５】
図１０は、変換後メソッド指定部１２２の処理の流れを示すフロー図である。ここでの処理は、前記した呼出メソッド候補表示部１２１の処理概要における（１）に相当する。
図１０のフロー図と、図３の変換後モデル情報１１１、及び図４の変換後メソッド呼出情報１１２とを参照しながら処理の流れを説明する。
【００４６】
まず、変換後メソッド指定部１２２が変換後モデル情報１１１から、変換後モデルの情報であるパッケージ名、クラス名、及びメソッド名を取得し、主記憶装置内に保管する（Ｓ１００１）。
【００４７】
次に、変換後メソッド指定部１２２が変換後メソッド呼出情報１１２から、変換後モデルに含まれる全てのメソッドのメソッドＩＤ、及び要件ＩＤを取得し、主記憶装置内に保管する（Ｓ１００２）。
【００４８】
次に、入力装置１０２から、開発者が現在指定しているパッケージ名、クラス名、及びメソッド名（指定メソッド情報）を取得する（Ｓ１００３）。
【００４９】
次に、変換後メソッド指定部１２２は、全てのパッケージ名、クラス名、メソッド名、メソッドＩＤ、要件ＩＤ、及びステップＳ１００３で取得した指定メソッド情報を、変換前メソッド抽出部１２３に送信する（Ｓ１００４）。
【００５０】
本実施形態における例では、図１５の画面例でのモデルを例に説明する。
まず、モデル変換後メソッド指定部１２２は、ステップＳ１００１において、変換後モデル情報に含まれる全てのパッケージ（図３の符号３０１，３０２，３０３）、各パッケージに含まれるクラス（図３の符号３１１，３１２，３１３，３１４，３１５）、及び各クラスに含まれるメソッド（図３の符号３３１，３３２，３３３，３３４，３３５）を取得する。
続いて、ステップＳ１００２において、例えば図４の変換後メソッド呼出情報１１２より、メソッド「getAdoption」のメソッドＩＤ「１」を取得する。他のメソッドのメソッドＩＤ、及び要件ＩＤも同様に取得する。
ステップＳ１００３において、図１５より、変換後モデルのパッケージ「Adoption」（図１５の符号１５１１）、クラス「FWAdoptionAction」（図１５の符号１５１２）、及びメソッド「getAdoption」（図１５の符号１５２２）を取得する。
ステップＳ１００４において、変換後の全てのパッケージ名、クラス名、メソッド名、メソッドＩＤ、及び要件ＩＤと、指定メソッド情報とを、変換前メソッド抽出部１２３に送信する。
【００５１】
以上で、変換後メソッド指定部１２２の処理を終了する。
これにより、開発者に指定された指定メソッド情報（呼出元のメソッド情報）を取得できる。
【００５２】
図１１は、変換前メソッド抽出部１２３における指定メソッド情報と対応する変換前モデル情報を抽出する処理の流れを示すフロー図であり、前記した処理概要における（２）に相当する。
図１１のフロー図と、図５の変換前モデル情報１１３、図６の変換前メソッド呼出情報１１４、図７の文字列対応情報１１５、及び図８の要件情報１１６とを参照しながら、処理の流れを詳細に説明する。
【００５３】
まず、変換前メソッド抽出部１２３が、変換後メソッド指定部１２２から、全てのパッケージ名、クラス名、メソッド名、メソッドＩＤ、要件ＩＤ、及び指定メソッド情報を取得する（Ｓ１１０１）。
【００５４】
次に、変換前メソッド抽出部１２３が、変換前モデル情報１１３から、変換前モデルの情報であるパッケージ名、クラス名、及びメソッド名を取得し、主記憶装置内に保管する（Ｓ１１０２）。
【００５５】
次に、変換前メソッド抽出部１２３が、変換前メソッド呼出情報１１４から、変換後モデルに含まれる全てのメソッドについてのメソッドＩＤ、及び要件ＩＤを取得し、主記憶装置内に保管する（Ｓ１１０３）。
【００５６】
変換前メソッド抽出部１２３は、変換処理情報１１７から指定メソッド情報に対応する変換前のパッケージ名、クラス名、及びメソッド名を取得できず（Ｓ１１０４→No）、かつ、指定メソッド情報と一致するメソッドＩＤを有するメソッドが、変換前モデル情報に存在せず（Ｓ１１０５→No）、かつ、指定メソッド情報と一致する要件ＩＤを有するメソッドが、変換前モデル情報に存在しない（Ｓ１１０６→No）場合は、変換前メソッド抽出部１２３は、文字列対応情報１１５から変換前文字列と変換後文字列を取得し、主記憶装置内に保管する（Ｓ１１０７）。
【００５７】
一方、変換前メソッド抽出部１２３が、変換処理情報１１７から指定メソッド情報に対応する変換前のパッケージ名、クラス名、及びメソッド名を取得できる場合（Ｓ１１０４→Yes）、または指定メソッド情報と一致するメソッドＩＤを有するメソッドが、変換前モデル情報にある場合（Ｓ１１０５→Yes）、または指定メソッド情報と一致する要件ＩＤを有するメソッドが、変換前モデル情報にある場合（Ｓ１１０６→Yes）は、後に説明するステップＳ１１１４の処理へ進む。
【００５８】
ステップＳ１１０７において取得した、変換前文字列と変換後文字列との情報を元に、変換前メソッド抽出部１２３は、指定メソッド情報と変換前モデルのメソッド情報とを比較し、指定メソッド情報に含まれるメソッド名の文字列に対応する文字列を有する変換前モデル情報のメソッドが存在しない（Ｓ１１０８→No）場合は、指定メソッド情報と対応する変換前モデルのメソッド情報について、開発者から情報を取得することになる。
つまり、変換前メソッド抽出部１２３は、要件情報１１６から要件と要件ＩＤとを取得（Ｓ１１０９）し、出力装置１０３に送信する（Ｓ１１１０）ことで、要件と要件ＩＤとの情報を画面に表示させる。開発者は表示された要件と要件ＩＤとの情報から、指定メソッド情報に対応する要件ＩＤを選択し、その選択された要件ＩＤを、変換前メソッド抽出部１２３は入力装置１０２を介して取得する（Ｓ１１１１）。
【００５９】
一方、ステップＳ１１０８において、変換前メソッド抽出部１２３が、指定メソッド情報に含まれるメソッド名の文字列に対応する文字列を有する変換前モデル情報のメソッドがある（Ｓ１１０８→Yes）場合は、ステップＳ１１１４の処理へ進む。
このステップＳ１１０８は、例えば変換前モデル情報のメソッド「採用を受け付ける」には文字列「採用」が含まれており、変換後モデル情報のメソッド「getAdoption」には文字列「Adoption」が含まれている。このことから、文字列対応情報１１５の情報を元に「採用を受け付ける」と「getAdoption」との二つのメソッドが対応していると判定できる。なお、「採用情報」，「新規採用」，「採用取消」等のメソッドが存在した場合には、複数のメソッドが該当する可能性がある。
【００６０】
ステップＳ１１１１において取得した要件ＩＤと一致する要件ＩＤを有するメソッドが、変換前モデル情報に存在しない（Ｓ１１１２→No）場合は、変換前メソッド抽出部１２３は、変換前モデル情報（全てのパッケージ名、クラス名、メソッド名）を画面上に表示し、開発者はその中から、指定メソッド情報に対応する変換前のメソッド名を選択する。変換前メソッド抽出部１２３は、入力装置１０２を介して呼出先である変換前のパッケージ名、クラス名、及びメソッド名を取得する（Ｓ１１１３）。
【００６１】
一方、ステップＳ１１１１において取得した要件ＩＤと一致する要件ＩＤを有するメソッドが、全ての変換前モデル情報にある場合（Ｓ１１１２→Yes）は、変換前メソッド抽出部１２３はステップＳ１１１４の処理へ進む。
なお、ステップＳ１１０５〜Ｓ１１１３の処理は、呼出元である変換後モデル情報が手動で作成された場合等、必要情報が不足した場合に行われる処理である。
【００６２】
その後、変換前メソッド抽出部１２３は変換前呼出情報抽出部１２４に、指定メソッド情報に対応する変換前モデルのパッケージ名、クラス名、及びメソッド名を、それらが複数であった場合はそれらをリストとして、送信する（Ｓ１１１４）。
【００６３】
本実施形態における例では、変換前メソッド抽出部１２３は、ステップＳ１１０１において、変換後メソッド指定部１２２から、全てのパッケージ名、クラス名、メソッド名と、メソッドＩＤ、及び要件ＩＤと、指定メソッド情報とを取得する。
ステップＳ１１０２において、変換前モデル情報に含まれる全てのパッケージ（図５の符号５０１，５０２，５０３）、クラス（図５の符号５１１，５１２，５１３，５１４）、及びメソッド（図５の符号５３１，５３２，５３３，５３４）を取得する。
続いて、ステップＳ１１０３におけるここでの取得の例として、図６においては、メソッド「採用を受け付ける」のメソッドＩＤ「１」、及び要件ＩＤ「１」となる。他メソッドのメソッドＩＤ、及び要件ＩＤも同様に取得する。
続いてステップＳ１１０４において、指定メソッド情報はクラス「FWAdoptionAction」のメソッド「getAdoption」なので、変換処理情報１１７を用いて「getAdoption」に対応する変換前モデルを検索する。ここでは存在しないので、ステップＳ１１０５に進む。
ステップＳ１１０５では、指定メソッド情報のメソッドＩＤ「１」と、変換前モデル情報のメソッド「採用を受け付ける」のメソッドＩＤ「１」とが一致するため、Ｓ１１０５→Yesとなり、後に説明するステップＳ１１１４の処理へ進む。
続いて、ステップＳ１１１４において、指定メソッド情報のメソッド「getAdoption」に対応する変換前モデルとして、ステップＳ１１０５で取得した、変換前モデル情報のパッケージ「採用」、クラス「採用処理」、メソッド「採用を受け付ける」を変換前呼出情報抽出部１２４に送信する。
【００６４】
以上で、変換前メソッド抽出部１２３の処理を終了する。
これにより、変換前モデルにおいて、指定メソッド情報の変換前のメソッドの情報を取得できる。
【００６５】
図１２は、変換前呼出情報抽出部１２４の処理の流れを示すフロー図である。なお、ここでの処理は変換前モデル情報において、呼出関係２２３を取得する処理であり、前記した処理概要の（３）に相当する。
図１２のフロー図と、図６の変換前メソッド呼出情報１１４とを参照しながら、処理の流れを詳細に説明する。
【００６６】
まず、変換前呼出情報抽出部１２４は変換前メソッド抽出部１２３から、指定メソッド情報と対応する変換前の呼出元のパッケージ名、クラス名、及びメソッド名のリストを取得する（Ｓ１２０１）。
【００６７】
次に変換前呼出情報抽出部１２４は、変換前の呼出元メソッド名に基づいて、変換前メソッド呼出情報１１４から呼出先メソッド名とメソッドの呼出順を取得し、主記憶装置内に保管する（Ｓ１２０２）。
【００６８】
次に変換前呼出情報抽出部１２４は、取得した呼出先メソッド名と呼出順を変換後呼出情報抽出部１２５に送信する（Ｓ１２０３）。
【００６９】
本実施形態における例では、変換前呼出情報抽出部１２４が、ステップＳ１２０１において、変換前のモデルのパッケージ「採用」、クラス「採用処理」、メソッド「採用を受け付ける」を取得する。
続いてステップＳ１２０２では、変換前モデル情報の図６において、行６３１「見積のリスト＝注文情報．見積．見積を取得する（）；」は、変換前モデル情報におけるパッケージ「注文情報」のクラス「見積」のメソッド「見積を取得する」（以下適宜「（イ）」と記載）を呼び出し、行６３２「画面．画面処理．画面にリストを出力（見積のリスト）；」は、変換前モデル情報におけるパッケージ「画面」のクラス「画面処理」のメソッド「画面にリストを出力」（以下適宜「（ロ）」と記載）を呼び出し、行６３３「見積番号＝画面．画面処理．入力番号を返す（）；」は、パッケージ「画面」のクラス「画面処理」のメソッド「入力番号を返す」（以下適宜「（ハ）」と記載）を呼び出し、行６３４「注文情報．発注．発注する（見積番号）；」は、パッケージ「注文情報」のクラス「発注」のメソッド「発注する」（以下適宜「（ニ）」と記載）を呼び出すという情報を、呼出順（（イ）、（ロ）、（ハ）、（ニ）の順）を含んで取得する。
続いて、取得したそれぞれの呼出先メソッド名と呼出順の情報を、変換後呼出情報抽出部１２５に送信する。
【００７０】
以上で、変換前呼出情報抽出部１２４の処理を終了する。
これにより、変換前モデルにおいて、変換前の呼出元メソッドが呼び出す呼出先メソッドの情報を取得できる。
【００７１】
図１３は、変換後呼出情報抽出部１２５の流れを示すフロー図である。なお、ここでの処理は、変換前モデルの呼出先メソッドが変換されて生成された変換後モデルのクラス名、メソッド名と呼出推奨情報を取得する処理であり、前記した処理概要における（４）に相当する。
図１３のフロー図と、図９の変換処理情報１１７とを参照しながら、詳細に説明する。
【００７２】
まず、変換後呼出情報抽出部１２５が、変換前呼出情報抽出部１２４から呼出先メソッド名とメソッドを呼び出す順番である呼出順とを取得する（Ｓ１３０１）。
【００７３】
変換後呼出情報抽出部１２５は、変換処理情報１１７から、変換前の呼出先メソッドが対応する変換後のパッケージ名、クラス名、メソッド名、及びメソッドの呼出推奨情報を取得できず（Ｓ１３０２→No）、変換前の呼出先メソッドと一致するメソッドＩＤを有するメソッドが変換後モデル情報に存在せず（Ｓ１３０３→No）、かつ変換前の呼出先メソッドと一致する要件ＩＤを有するメソッドが変換後モデル情報に存在しない（Ｓ１３０４→No）場合は、変換後呼出情報抽出部１２５は、文字列対応情報１１５から変換前文字列と変換後文字列とを取得し、主記憶装置内に保管する（Ｓ１３０５）。
【００７４】
一方、変換後呼出情報抽出部１２５が、変換処理情報１１７から、変換前の呼出先メソッドが対応する変換後のパッケージ名、クラス名、メソッド名、及びメソッドの呼出推奨情報を取得できる場合（Ｓ１３０２→Yes）、または変換前の呼出先メソッドと一致するメソッドＩＤを有するメソッドが変換後モデル情報にある場合（Ｓ１３０３→Yes）、または変換前の呼出先メソッドと一致する要件ＩＤを有するメソッドが変換後モデル情報にある場合（Ｓ１３０４→Yes）は、後に説明するステップＳ１３１２の処理へ進む。
【００７５】
ステップＳ１３０５において取得した、変換前文字列と変換後文字列との情報を元に、変換後呼出情報抽出部１２５は、変換前の呼出先メソッドと変換後モデル情報とを比較し、変換前の呼出先メソッドの文字列に対応する文字列を有する変換後モデル情報のメソッドが存在しない（Ｓ１３０６→No）場合は、変換前の呼出先メソッドと対応する変換後モデルについて、開発者から情報を取得することになる。
つまり、変換後呼出情報抽出部１２５は、要件情報１１６から要件と要件ＩＤを取得（Ｓ１３０７）し、出力装置１０３に送信する（Ｓ１３０８）ことで、要件、及び要件ＩＤの情報を画面に表示させる。開発者は表示された要件、及び要件ＩＤ情報の組合せの中から、変換前の呼出先メソッドに対応する要件ＩＤを選択し、その選択された要件ＩＤを、変換後呼出情報抽出部１２５は入力装置１０２を介して取得する（Ｓ１３０９）。
【００７６】
一方、ステップＳ１３０６において、変換後呼出情報抽出部１２５が、呼出先メソッド名の文字列に対応する文字列を有する変換後モデル情報のメソッドがある（Ｓ１３０６→Yes）場合は、ステップＳ１３１２の処理へ進む。
【００７７】
ステップＳ１３０９において取得した要件ＩＤと一致する要件ＩＤを有するメソッドが、変換後モデル情報に存在しない（Ｓ１３１０→No）場合は、変換後モデルの情報（全てのパッケージ名、クラス名、メソッド名）を画面上に表示させ、開発者からはその中から、呼出先メソッドに対応する変換後メソッド名を選択し、変換後呼出情報抽出部１２５は、入力装置１０２を介して、変換後モデル情報のパッケージ名、クラス名、メソッド名を取得する（Ｓ１３１１）。
【００７８】
一方、ステップＳ１３０９において取得した要件ＩＤと一致する要件ＩＤを有するメソッドが、変換後モデル情報のメソッド情報にある場合（Ｓ１３１０→Yes）は、変換後呼出情報抽出部１２５はステップＳ１３１２の処理へ進む。
なお、ステップＳ１３０３〜Ｓ１３１１の処理は、呼出先の変換前モデル情報が手動で作成された場合等、必要情報が不足した場合に行われる処理である。
【００７９】
その後、変換後呼出情報抽出部１２５は変換後呼出情報表示部１２６に、変換後の呼出先メソッドの候補である変換後のモデル情報のパッケージ名、クラス名、メソッド名、及びメソッドの呼出推奨情報を、呼出順と共に送信する（Ｓ１３１２）。
【００８０】
本実施形態における例では、変換後呼出情報抽出部１２５は、ステップＳ１３０１において、呼出先メソッド名、及び各メソッドの呼出順（（イ）、（ロ）、（ハ）、（ニ）の順）の情報を取得する。
続いて、ステップＳ１３０２において、ステップＳ１３０１で取得した（イ）〜（ニ）のうち、ここでは（イ）についての判別を行う。つまり、最初の段階では一番目の（イ）の処理だけ行われ、（ロ）〜（ニ）についての処理は、図１５の画面表示例で開発者による編集が先に進むに伴い、その都度行われる。
（イ）は図９において、変換前モデル情報でパッケージ「注文情報」、クラス「見積」、メソッド「見積りを取得する」が合致することから、行９１５、及び行９１６の変換後モデル情報のパッケージ名、クラス名、メソッド名、及び推奨情報がそれぞれ取得される。続いて、変換後呼出情報抽出部１２５はステップＳ１３１２の処理へ進む。
【００８１】
ステップＳ１３１２において、呼出先メソッド名と、それぞれの呼出推奨情報、呼出順を変換後呼出情報表示部１２６に送信する。
【００８２】
以上で、変換後呼出情報抽出部１２５の処理を終了する。
これにより、変換前モデルの呼出先メソッドに対応する変換後のメソッドの情報を取得できる。
【００８３】
図１４は、変換後呼出情報表示部１２６の流れを示すフロー図である。なお、ここでの処理は呼出関係２３２、及びその他の情報を呼出先候補として出力装置１０３へ表示する処理であり、前記した処理概要における（５）に相当する。
図１４のフロー図を参照しながら、詳細に説明する。
【００８４】
まず、変換後呼出情報表示部１２６が、変換後呼出情報抽出部１２５から変換後の呼出先メソッドの候補であるパッケージ名、クラス名、メソッド名、及びメソッドの呼出推奨情報、呼出順を取得する（Ｓ１４０１）。
【００８５】
次に、変換後呼出情報表示部１２６は、変換後呼出情報１１２から呼出元メソッドのメソッド呼出情報を取得し（Ｓ１４０２）、メソッド情報の候補に含まれる各メソッドの引数と戻り値の型が呼出元メソッドに含まれる場合（Ｓ１４０３→Yes）、変換後呼出情報表示部１２６は、変換後のパッケージ名、クラス名、メソッド名、及びメソッドの呼出推奨情報、呼出順を出力装置１０３に送信する（Ｓ１４０４）。
【００８６】
一方、ステップＳ１４０３において、メソッド情報の候補に含まれる各メソッドの引数と戻り値の型が呼出元メソッドに含まれない場合（Ｓ１４０３→No）、変換後呼出情報表示部１２６は、変換後のパッケージ名、クラス名、メソッド名、メソッドの呼出推奨情報、呼出順に加え、メソッドの引数、戻り値の型についての情報を、出力装置１０３に送信する（Ｓ１４０５）。
以上の図１０〜図１４における処理によって、呼出メソッド候補表示部１２１の処理が終了する。
【００８７】
図１５は、呼出メソッド候補表示部１２１の処理を実行した結果の画面表示例である。
前記の通り、変換後モデルの編集中にウィンドウ１５０１で、メソッド１５２２を入力し行１５１３まで入力したところで、呼出メソッド候補表示部１２１が実行され、呼出先メソッドの候補を表すウィンドウ１５０２が表示される。
ウィンドウ１５０２内には、候補１５３１、警告１５３２、警告１５３３、及びその他の候補１５３４が表示される。
候補１５３１は、推奨される呼出先メソッドの候補が表示される。
警告１５３２、及び警告１５３３は、呼出先メソッドの候補の引数または戻り値の型と同じ型の変数が指定メソッド１５２２に含まれない場合に表示される。警告１５３２は、戻り値の引数または戻り値の型と同じ型の変数を作成するか否かを選択する。
その他の候補１５３４は、非推奨である呼出先メソッドの候補が表示される。
【００８８】
本実施形態における例では、図１４のステップＳ１４０３の処理において、変換後のクラス名の候補を表示する。図９における変換処理情報１１７によれば、パッケージ名「OrderInfo」、クラス名「Facade」、メソッド名「getEstimationList」の呼出推奨情報は「推奨」なので、候補１５３１に表示される。同様に変換後のクラス名の候補であるパッケージ名「OrderInfo」、クラス名「Estimation」、メソッド名「getEstimation」については、呼出推奨情報が「非推奨」であるため、その他の候補１５３４に表示される。
また、呼出先メソッドの候補であるクラス「Facade」のメソッド「getEstimationList」において、戻り値の型と同じ型の変数が呼出元メソッド「getAdoption」に含まれない為、戻り値の型と同じ型の変数を作成することを示す警告１５３２を表示し、さらに、指定メソッド「getAdoption」を修正することを示す警告１５３３も表示される。
なお、ここで、引数の戻り値が指定メソッド情報に含まれる場合は、図１４におけるステップＳ１４０４の処理に進むため、警告１５３２，１５３３は表示されない。
【００８９】
以上で、変換後呼出情報表示１２６の処理を終了する。
これにより、開発者に指定された呼出メソッド情報（指定メソッド情報）が呼び出す候補として、インタフェースの整合が確保された変換後モデルの呼出先メソッド情報を画面上に表示できる。
【００９０】
図１６は、メソッド挿入部１２７の処理の流れを示すフロー図である。この処理は、図１５において、開発者がウィンドウ１５０２を用いてメソッドを選択もしくは変更等を選択した場合に実行される処理である。
図１６のフロー図、及び図１５の画面例を参照しながら、詳細に説明する。
【００９１】
メソッド挿入部１２７は、入力装置１０２からメソッドの指定情報を取得する（Ｓ１６０１）。つまり、図１５におけるウィンドウ１５０２に表示された候補１５３１、警告１５３２、警告１５３３、又はその他の候補１５３４のうち、いずれか１つを開発者が選択することで、メソッド挿入部１２７は入力装置１０２を介してその情報を取得する。
【００９２】
取得した指定情報が、呼出先メソッドの候補（図１５の符号１５３１又は符号１５３４）である場合（Ｓ１６０２→Yes）、メソッド挿入部１２７は、変換後メソッド呼出情報１１２へ指定されたメソッドの呼出を記入し（Ｓ１６０３）、処理が終了する。
【００９３】
一方、取得した指定情報が呼出先メソッドの候補ではなく（Ｓ１６０２→No）「戻り値又は変数の作成」（図１５の符号１５３２）である場合（Ｓ１６０４→Yes）、メソッド挿入部１２７は、変換後メソッド呼出情報１１２へ戻り値又は変数を記入し（Ｓ１６０５）、処理が終了する。
【００９４】
一方、取得した指定情報が呼出先メソッドの候補ではなく（Ｓ１６０２→No）、かつ「戻り値又は変数の作成」（Ｓ１６０４→No）でもなく、「メソッドの修正」（図１５の符号１５３３）である場合（Ｓ１６０６→Yes）、メソッド挿入部１２７は、指定メソッドの変換後メソッド呼出情報を表示画面に表示、つまり図１５のウィンドウ１５０１が表示され（Ｓ１６０７）、処理が終了する。
以上でメソッド挿入部１２７の処理が終了する。
【００９５】
図１７はメソッド挿入部１２７の処理を実行した結果、変更された変換後メソッド呼出情報１１２の一例である。
【００９６】
メソッド情報４２２は、図４と比較して、メソッド「getAdoption」実行時に、メソッドを呼び出す処理を示す、行１７３１，１７３２，１７３３，１７３４，１７３５，１７３６が追加され、各行がこの順番で呼び出すことを示している。
ここで、変換前モデルのメソッド呼出に対応する行１７３１〜１７３５には、「//@inheritance＿*」が追加されている。* は、変換前メソッド呼出情報（図６の符号６０１）の行６３１〜６３４の呼出順に相当する番号である。例えば、行１７３２は、図６における行６３１に相当し、メソッドの呼出順は「１」なので、「//@inheritance＿1」と示されている。以降も同様である。
それに対し、図１７の行１７３１，１７３６は、開発者が直接編集することにより追加された行である。その為「//@inheritance＿*」の記載はない。
【００９７】
以上で、メソッド挿入部１２７の処理を終了する。
これにより、開発者が入力装置を介して入力した呼出先メソッド、戻り値又は変数、メソッドの変更等の情報が、表示画面上に反映される。
【００９８】
さらに、変換後モデル情報の各クラスとメソッドの呼出関係を、シーケンス図として出力することが出来る。
図１８は、シーケンス情報表示部１２８の処理の流れを示すフロー図である。図１８と、図３の変換後モデル情報１１１と、図６の変換後メソッド呼出情報１１４とを用い詳細に説明する。
【００９９】
まず、シーケンス情報表示部１２８は、入力装置１０２を介して、開発者が表示を希望するパッケージ名、クラス名、及びメソッド名を取得する（Ｓ１８０１）。
【０１００】
次に、シーケンス情報表示部１２８は、ステップＳ１８０１において指定されたメソッドについて、再帰的に呼び出される全てのパッケージ名、クラス名、及びメソッド名の情報を、変換後モデル情報１１１と変換後メソッド呼出情報１１２より取得する（Ｓ１８０２）。
【０１０１】
最後に、シーケンス情報表示部１２８が出力装置１０３に、ステップＳ１８０２で取得した変換後のクラス名、メソッド名、及びメソッドの呼出推奨情報を送信する（Ｓ１８０３）。
以上で本実施形態のシーケンス情報表示部１２８の処理が終了する。
【０１０２】
図１９は、シーケンス情報表示部１２８により出力される情報の一例であり、開発者がクラス「FWAdoptionAction」のメソッド「getEstimation」を指定した場合を示している。以下、シーケンス情報表示部１２８の処理の結果を、図１９を用いて、適宜図１７を参照しながら説明する。
【０１０３】
ウィンドウ１９０１は、図１７におけるメソッド情報４２２のメソッドの呼出関係を表している。
ここでは、符号１９１１〜１９１６は指定されたメソッドと呼出関係を持つクラスを示し、符号１９２１〜１９２９は呼出の関係をそれぞれ示している。
関係１９２１は、クラス１９１１「FWAdoptionAction」のメソッド「getAdoption」が、他メソッドから呼ばれている関係を表す。
関係１９２２は、クラス１９１１「FWAdoptionAction」がメソッド「Facade」によってクラス１９１３「Facade」を呼び出しており、図１７における行１７３１に相当する。
関係１９２３は、クラス１９１１「FWAdoptionAction」がメソッド「getEstimationList」によってクラス１９１３「Facade」を呼び出しており、図１７における行１７３２に相当する。
関係１９２４は、クラス１９１３「Facade」がメソッド１９２４「getEstimation」によってクラス１９１４「Estimation」を呼び出している関係を示す。
関係１９２５は、クラス１９１１「FWAdoptionAction」がメソッド「outputList」によってクラス１９１２「FWUI」を呼び出しており、図１７における行１７３３に相当する。
関係１９２６は、クラス１９１１「FWAdoptionAction」がメソッド「inputNumber」によってクラス１９１２「FWUI」を呼び出しており、図１７における行１７３４に相当する。
関係１９２７は、クラス１９１１「FWAdoptionAction」がメソッド「order」によってクラス１９１３「Facade」を呼び出しており、図１７における行１７３５に相当する。
関係１９２８は、クラス１９１３「Facade」がメソッド「order」によってクラス１９１５「Order」を呼び出している関係を示す。
関係１９２９は、クラス１９１１「FWAdoptionAction」がメソッド「debug」によってクラス１９１６「logger」を呼び出しており、図１７における行１７３６に相当する。
【０１０４】
ここで、図１７の行１７３１，１７３６は「//inheritance＿*」が記述されていないことから、開発者の手入力により追加されたメソッドであり、図１９の関係１９２２，１９２９においては他の関係を示す線とは異なる点線で示されている。
また、左向きの矢印線は、呼出先のメソッドから戻り値が返ってくることを表している。
【０１０５】
このシーケンス図により、開発者は各工程で追加されたメソッド呼出を視覚的に把握し上流での設計にないメソッドを他と区別して認識できるため、編集における漏れや間違いが無いかを判断し、インタフェースの不整合による作業ミスを削減できる。
【０１０６】
以上で本実施形態における情報システム設計開発システムの呼出メソッド候補表示処理とシーケンス情報表示処理とを説明した。
【０１０７】
本実施形態にかかる計算機１０１は、前記した処理を実行させる呼出メソッド候補表示部１２１の機能を持つプログラムによって実現することができ、そのプログラムをコンピュータによる読み取り可能な記憶媒体（ＣＤ−ＲＯＭ等）に記憶して提供することが可能である。また、そのプログラムを、ネットワークを通して提供することも可能である。
【０１０８】
前記した実施形態では、主として計算機１０１を一台で処理を行う場合を説明したが、呼出メソッド候補表示部１２１、メソッド挿入部１２７、又はシーケンス情報表示部１２８のうち少なくとも１つをサーバ等の機能とし、２台以上の計算機１０１の入力装置１０２、及び出力装置１０３を介してシステムの設計開発を行うようにしてもよい。その他についても、本発明の趣旨を逸脱しない範囲で変形可能である。
【図面の簡単な説明】
【０１０９】
【図１】本実施形態における情報システム設計開発システムの機能ブロックの一例を示す図である。
【図２】本実施形態における変換前後のメソッド呼出関係の一例を示すクラス図である。
【図３】変換後モデル情報の一例を示す図である。
【図４】変換後メソッド呼出情報の一例を示す図である。
【図５】変換前モデル情報の一例を示す図である。
【図６】変換前メソッド呼出情報の一例を示す図である。
【図７】文字列対応情報の一例を示す図である。
【図８】要件情報の一例を示す図である。
【図９】変換処理情報の一例を示す図である。
【図１０】変換後メソッド指定部の処理の流れを説明するフロー図である。
【図１１】変換前メソッド抽出部の処理の流れを説明するフロー図である。
【図１２】変換前呼出情報抽出部の処理の流れを説明するフロー図である。
【図１３】変換後呼出情報抽出部の処理の流れを説明するフロー図である。
【図１４】変換後呼出情報表示部の処理の流れを説明するフロー図である。
【図１５】変換後呼出情報表示部により出力される情報の一例を示す図である。
【図１６】メソッド挿入部の処理の流れを説明するフロー図である。
【図１７】変換後メソッド呼出情報の一例を示す図である。
【図１８】シーケンス情報表示部の処理の流れを説明するフロー図である。
【図１９】シーケンス情報表示部により出力される情報の一例を示す図である。
【符号の説明】
【０１１０】
１０１  計算機（端末装置）
１０２  入力装置
１０３  出力装置
１１１  変換後モデル情報
１１２  変換前メソッド呼出情報
１１３  変換前モデル情報
１１４  変換前メソッド呼出情報
１１５  文字列対応情報
１１６  要件情報
１１７  変換処理情報
１２１  呼出メソッド候補表示部
１２２  変換後メソッド指定部
１２３  変換前メソッド抽出部
１２４  変換前呼出情報抽出部
１２５  変換後呼出情報抽出部
１２６  変換後呼出情報表示部
１２７  メソッド挿入部
１２８  シーケンス情報表示部
【図１】
2007122587.tif 000003
【図２】
2007122587.tif 000004
【図３】
2007122587.tif 000005
【図４】
2007122587.tif 000006
【図５】
2007122587.tif 000007
【図６】
2007122587.tif 000008
【図７】
2007122587.tif 000009
【図８】
2007122587.tif 000010
【図９】
2007122587.tif 000011
【図１０】
2007122587.tif 000012
【図１１】
2007122587.tif 000013
【図１２】
2007122587.tif 000014
【図１３】
2007122587.tif 000015
【図１４】
2007122587.tif 000016
【図１５】
2007122587.tif 000017
【図１６】
2007122587.tif 000018
【図１７】
2007122587.tif 000019
【図１８】
2007122587.tif 000020
【図１９】
2007122587.tif 000021