(57)【要約】【課題】システム設計情報又はソースコードを編集した場合に、他の部分で不整合が発生することを防止する。【解決手段】本発明の一態様に係るシステム設計情報編集支援装置１は、システム設計情報又はソースコードに対する編集の内容を表す編集内容データ２１ａと、編集の内容に応じて、システム設計情報又はソースコードの他の部分に行うべき修正内容を表す修正内容データ２２ａと、編集の内容とこの編集の内容に対応する修正内容データを対応付ける修正内容対応付けルール２３ａとを参照する。システム設計情報編集支援装置１は、編集内容データ２１ａを読み出した場合に、修正内容対応付けルール２３ａを参照し、編集内容データ２２ａの示す編集の内容に対応する修正内容を表す修正内容データ２２ａを、検索する。【選択図】      図１
2008176408.tif 000002
【特許請求の範囲】
【請求項１】
上流のシステム設計情報、下流のシステム設計情報、ソースコードのいずれかに対する編集の内容を表す編集内容データを記憶する第１記憶手段と、
前記編集の内容に応じて、前記上流のシステム設計情報、前記下流のシステム設計情報、前記ソースコードの他の部分に行うべき修正内容を表す修正内容データを記憶する第２記憶手段と、
前記編集の内容と、この前記編集の内容に対応する修正内容データを対応付ける修正内容対応付けルールを記憶する第３記憶手段と、
前記第１記憶手段から前記編集内容データを読み出した場合に、前記第３記憶手段における前記修正内容対応付けルールを参照し、前記編集内容データの示す編集の内容に対応する前記修正内容を表す修正内容データを、前記第２記憶手段から検索する修正内容検索手段と、
前記修正内容検索手段によって検索された検索結果データを記憶する第４記憶手段と
を具備することを特徴とするシステム設計情報編集支援装置。
【請求項２】
請求項１記載のシステム設計情報編集支援装置において、
前記編集に対して同期をとる編集を行った後の同期編集後のシステム設計情報を解析する設計情報解析手段と、
前記設計情報解析手段による解析結果と、前記第１記憶手段の編集内容データとを比較し、前記解析結果において、前記第４記憶手段に記憶されている結果データの示す前記修正内容が適正に行われているかチェックする設計情報修正チェック手段と、
前記設計情報修正チェック手段によるチェック結果を表すチェック結果データを記憶する第５記憶手段と
を具備することを特徴とするシステム設計情報編集支援装置。
【請求項３】
請求項１又は請求項２記載のシステム設計情報編集支援装置において、
編集前の前記上流のシステム設計情報、前記下流のシステム設計情報、前記ソースコードのいずれかと、編集後の上流のシステム設計情報、下流のシステム設計情報、ソースコードのいずれかとの差分を示す差分データを作成し、前記差分データに基づいて前記編集内容データを作成する変更履歴作製手段をさらに具備することを特徴とするシステム設計情報編集支援装置。
【請求項４】
コンピュータに、
第１記憶装置に記憶されており、上流のシステム設計情報、下流のシステム設計情報、ソースコードのいずれかに対する編集の内容を表す編集内容データを読み出す機能、
第２記憶装置に記憶されており、前記編集の内容に応じて、前記上流のシステム設計情報、前記下流のシステム設計情報、前記ソースコードの他の部分に行うべき修正内容を表す修正内容データを読み出す機能、
第３記憶装置に記憶されており、前記編集の内容と、この前記編集の内容に対応する修正内容データを対応付ける修正内容対応付けルールを読み出す機能、
前記第１記憶手段から前記編集内容データが読み出されると、前記第３記憶装置における前記修正内容対応付けルールに基づいて、前記編集内容データの示す編集の内容に対応する前記修正内容を表す修正内容データを、前記第２記憶装置から検索し、検索結果データを第４記憶装置に記憶する修正内容検索機能
を実現させるためのプログラム。
【請求項５】
請求項４記載のプログラムにおいて、
コンピュータに、
前記編集に対して同期をとる編集を行った後の同期編集後のシステム設計情報を解析し、当該解析結果データを第５記憶装置に記憶する設計情報解析機能と、
前記第５記憶装置の解析結果データと、前記第１記憶装置の編集内容データとを比較し、前記解析結果データにおいて、前記第４記憶装置に記憶されている検索結果データの示す前記修正内容が適正に行われているかチェックし、チェック結果を表すチェック結果データを第６記憶装置に記憶する設計情報修正チェック機能
をさらに実現させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム設計情報を編集作業を支援するシステム設計情報編集支援装置及びプログラムに関する。
【背景技術】
【０００２】
ソフトウェア開発では、通常、ソフトウェアの骨子となる基本的なシステム設計情報（以下、「前の工程」や「上流のシステム設計情報」ということがある）を作成し、さらにそのシステム設計情報を詳細化して、応用的な位置づけとして新たなシステム設計情報（以下、「後の工程」や「下流のシステム設計情報」ということがある）を作成する。そのために、ある工程で作成したシステム設計情報の編集を行うと、前の工程又は後の工程のシステム設計情報に対しても、この編集を行った工程のシステム設計情報と矛盾しないように、システム設計情報の間で同期をとる（整合させる）必要がある。例えば、システム設計情報として実装技術に依存しないモデルを作成し、そのモデルを基に実装技術に依存したモデルを作成する場合、後者のモデルに対して編集を行うと、後者のモデルと前者のモデルとの同期をとるために、前者のモデルを修正する必要がある。修正を実施する場合には、変更履歴を作成することもある。しかしながら、変更履歴の書き方を決めていなければ、記述内容があいまいになる。また、変更履歴が作成されないこともある。このため、システム設計情報を変更履歴を参考として手作業で修正を行うと、変更履歴の情報が足りないなどの理由により、変更内容をシステム設計情報に反映することが困難な場合や、反映した内容が間違っている場合などに、修正すべき部分の抜け漏れが発生する場合がある。この場合、抜け漏れが発生するために工数（時間）がかかり、効率性が低下する。また、システム設計情報を修正する者は、利用する実装技術の経験が浅い場合、どこを修正すればよいか分からない場合がある。
【０００３】
図２９を用いて、システム設計から実装までの流れと、同期がとれなくなる状態について説明する。
【０００４】
システム設計から実装までは、次の手順で行われる。まず、開発者が、システム設計情報として上流のシステム設計情報１０を作成する。次に、開発者は、上流のシステム設計情報１０の詳細化を行い、下流のシステム設計情報１１を作成する。次に、開発者は、下流のシステム設計情報１１からソースコード１２を作成し、プログラマはソースコード１２のコーディングを行う。ここまでの段階であれば、上流のシステム設計情報１０、下流のシステム設計情報１１、ソースコード１２についての同期はとれている。これらのシステム設計情報は、保守時にも利用されることがあるため、システムの開発が終わった時点で、上流のシステム設計情報１０、下流のシステム設計情報１１、ソースコード１２との間で同期がとれた状態でなければならない。
【０００５】
しかし、次の２つの例のような作業を行うと、これらのシステム設計情報１０，１１及びソースコード１２の同期がとれなくなる場合がある。
【０００６】
１つは、上流のシステム設計情報１０から下流のシステム設計情報１１を作成する場合において、上流のシステム設計情報１０に例えばソフトウェアの仕様変更に関わるような編集を行った場合である。この場合、下流のシステム設計情報１１が編集され更新されると、編集後の下流のシステム設計情報１３と上流のシステム設計情報１０との間で同期がとれなくなる。編集後の下流のシステム設計情報１３に行った編集にそって、上流のシステム設計情報１０の編集を行うことにより、編集後の下流のシステム設計情報１３と編集後の上流のシステム設計情報１４との間で同期をとることができる。
【０００７】
もう１つは、下流のシステム設計情報１１からソースコード１２に対して、コーディングを行っているときに下流のシステム設計情報１１に例えばソフトウェアの仕様変更に関わるような編集を行った場合である。この場合は、コーディングで行った編集にそって、下流のシステム設計情報１１の編集を行うことが必要になる。この作業を行うことにより、編集後の下流のシステム設計情報１３とソースコード１２との同期をとることができる。しかし、編集後の下流のシステム設計情報１３とソースコード１２とは、上流のシステム設計情報１０とは同期がとれていない。そのため、編集された下流のシステム設計情報１３の編集にそって、上流のシステム設計情報１０の編集を行うと、編集後の上流のシステム設計情報１４と編集後の下流のシステム設計情報１３とソースコード１２間で同期をとることができる。
【０００８】
このような問題を解決するために、モデル変更支援システムがある（例えば、特許文献１及び特許文献２）。
【０００９】
特許文献１に記載されているシステムは、表現形式の異なる複数のツールを利用する場合に、ツールごとにエディタの設定を変更することなく、統一された編集ルールによって、モデル編集を行う。開発者が編集したい対象を選ぶと、その対象に可能な操作が表示され、開発者が操作を選択することにより、編集を行うことができる。
【００１０】
特許文献２に記載されているシステムは、機構解析システムのモデルを対象としている。編集したモデルを入力すると解析を行い、モデル間接続条件データを利用しモデルの変更が必要かをチェックし、モデルを変更する必要があれば自動的に他のモデルを変更する。
【００１１】
また、上流のシステム設計情報から下流のシステム設計情報に自動で変換するシステムがある（例えば、特許文献３）。
【００１２】
特許文献３に記載されているシステムは、上流のシステム設計情報から変換ルールに基づいて下流のシステム設計情報へ自動で変換を行う。
【特許文献１】特開２００５−２５１１２８号公報
【特許文献２】特登２６８８６３３号公報
【特許文献３】特開２００５−２４２４７９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、上述した特許文献１に記載の技術では、表示形式が異なるツール間での操作が同じように扱えるだけである。つまり、同じツール間での同期には対応できない。
【００１４】
また、特許文献２では、機構解析システムのみを対象として同期をとることができるが、他のシステムについては対応できない。そして、同期をとる作業は自動的に行われてしまうため、自由度が低下する。
【００１５】
特許文献３では、上流のシステム設計情報から下流のシステム設計情報への自動変換を行うだけであり、その後システム設計情報に対して編集を行った場合については考慮されていない。
【００１６】
このように、特許文献１乃至特許文献３に記載の技術では、上流のシステム設計情報と下流のシステム設計情報との間などで一体的に同期をとる作業についてまでは考慮されていない。
【００１７】
本発明は、以上のような実情に鑑みてなされたもので、システム設計情報又はソースコードを編集した結果、この編集した情報と、前工程のシステム設計情報における編集した部分に関係する情報、編集したシステム設計情報又はソースコード内において編集した部分に関係する情報、後工程のシステム設計情報又はソースコードにおける編集した部分に関係する情報、との間で起こる不整合について、同期をとるために行うべき修正内容を自動的に提示するシステム設計情報編集支援装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１８】
上記課題は、上流のシステム設計情報、下流のシステム設計情報、ソースコードのいずれかに対する編集の内容を表す編集内容データを記憶する第１記憶手段と、編集の内容に応じて、上流のシステム設計情報、下流のシステム設計情報、ソースコードの他の部分に行うべき修正内容を表す修正内容データを記憶する第２記憶手段と、編集の内容と、この前記編集の内容に対応する修正内容データを対応付ける修正内容対応付けルールを記憶する第３記憶手段と、第１記憶手段から編集内容データを読み出した場合に、第３記憶手段における修正内容対応付けルールを参照し、編集内容データの示す編集の内容に対応する修正内容を表す修正内容データを、第２記憶手段から検索する修正内容検索手段と、修正内容検索手段によって検索された検索結果データを記憶する第４記憶手段とを具備するシステム設計情報編集支援装置により、解決される。
【００１９】
なお、上記の態様は、装置として表現されている。しかしながら、これに限らず、上記の態様は、方法、プログラム、コンピュータ読み取り可能な記録媒体などで表現されるとしてもよい。
【発明の効果】
【００２０】
本発明により、開発工程におけるシステム設計情報及びソースコード間で起こる不整合について、同期をとるために行うべき修正内容を自動的に提示することができる。
【発明を実施するための最良の形態】
【００２１】
以下、図面を参照しながら本発明の実施の形態について説明する。なお、以下の各図において略同一の部分については同一の符号を付して説明を省略する。
【００２２】
（第１の実施の形態）
本実施の形態においては、開発者が、上流のシステム設計情報、下流のシステム設計情報、ソースコードのいずれかを編集（追加・変更・削除・修正などのうちの少なくとも一つの作業）した結果、当該編集した部分（箇所）に対応して、上流のシステム設計情報、下流のシステム設計情報、下流のシステム設計情報に基づくソースコード（以下、単に「ソースコード」という）の間で同期をとるためのシステム設計情報編集支援装置について説明する。特に、以下の実施の形態に係る説明では、「システム設計情報」を編集し、当該編集に対応して他の「システム設計情報」や「ソースコード」を編集して同期をとる必要がある場合を例に説明を行う。
【００２３】
図１は、本実施の形態に係るシステム設計情報編集支援装置の構成の一例を示すブロック図である。この図１において、実線は制御の流れを表し、点線はデータの流れを表す。
【００２４】
本実施の形態において、編集前のシステム設計情報とは、開発時に作成したシステム設計情報のうち、上流（前工程）のシステム設計情報、下流（後工程）のシステム設計情報、ソースコードのいずれにもソフトウェアの仕様変更等の影響の出る編集を行っていないシステム設計情報である。また、仮に一度、上流のシステム設計情報、下流のシステム設計情報、ソースコードのいずれかに編集を行った場合であっても、後述の処理により、当該編集による同期がそれぞれの間で完了している場合には当該同期完了後の上流のシステム設計情報、下流のシステム設計情報も、編集前のシステム設計情報であることは言うまでもない。
【００２５】
一方、編集後のシステム設計情報とは、開発時に作成したシステム設計情報のうち、上流（前工程）のシステム設計情報、下流（後工程）のシステム設計情報のいずれかに対してソフトウェアの仕様変更等の影響の出る編集を行ったシステム設計情報である。
【００２６】
同期をとるとは、システム設計情報又はソースコードにおける構成要素（例えば、関数、変数、定数、オブジェクトなど）、名前、型などについて、２者間（工程の違うシステム設計情報間、又はシステム設計情報間、又はシステム設計情報とソースコード間）での対応がとれており内容が整合することを表す。
【００２７】
システム設計情報編集支援装置１は、編集内容作成用ルール２０ａを記憶する記憶装置２０、編集内容データ２１ａを記憶する記憶装置２１、修正内容データ２２ａを記憶する記憶装置２２、修正内容対応付けルール２３ａを記憶する記憶装置２３、結果データ２４ａを記憶する記憶装置２４を具備する。
【００２８】
また、システム設計情報編集支援装置１は、入力部２７、修正内容検索部２８、出力部２９を具備する。
【００２９】
以下に、システム設計情報編集支援装置１の各構成要素とその処理について説明する。
【００３０】
図２は、本実施の形態に係るシステム設計情報編集支援装置１の処理概要の一例を示すフローチャートである。
【００３１】
まず、ステップＳ１０１において、入力部２７は、入力情報格納処理を実行する。具体的には、入力部２７は、記憶装置２０の編集内容作成用ルール２０ａにしたがって入力テンプレート２７ａを作成し、この入力テンプレート２７ａを表示装置（例えば出力部２９）などを介して開発者３２に提示する。入力部２７は、開発者３２がシステム設計情報への編集内容を入力テンプレート２７ａに入力すると、この入力された編集内容データ２１ａを記憶装置２１に記憶する。本実施の形態では、開発者３２が「システム設計情報」を編集することを想定しているが、開発者３２が「ソースコード」を編集した場合には、この編集内容に関する編集内容データ２１ａを入力テンプレート２７ａに入力する必要があり、入力部２７は、この入力された編集内容データ２１ａを記憶装置２１に記憶することになることは言うまでもない。
【００３２】
次に、ステップＳ１０２において、修正内容検索部２８は、修正内容検索処理を実行する。具体的には、修正内容検索部２８は、記憶装置２１の編集内容データ２１ａと、予め記憶装置２３に記憶されている修正内容対応付けルール２３ａと、記憶装置２２に記憶されている修正内容データ２２ａとを読み出し、修正内容対応付けルール２３ａの対応関係にそって、修正内容データ２２ａから編集内容データ２１ａに対応する部分の修正内容を取り出し、取り出した修正内容を表す結果データ２４ａを記憶装置２４に記憶する。
【００３３】
次に、ステップＳ１０３において、出力部２９は、修正内容出力処理を実行する。具体的には、出力部２９は、修正内容検索部２８で行った修正内容検索処理で得られた記憶装置２４の結果データ２４ａを読み出し、修正内容を出力形式に変換し、表示又は印刷などの手法で出力する。
【００３４】
次に、本実施の形態に係るシステム設計情報編集支援装置１に実装される各処理部及び各データについて説明する。
【００３５】
まず、システム設計情報に対して行われた編集の内容の例について説明する。
【００３６】
例えば、オブジェクト指向を活用したシステムの設計情報を取り扱う場合であり、図３に例示するようなクラスについて、図４に示すような編集が行われたとする。
【００３７】
図３では、クラスについて、ステレオタイプの名称、クラスの名称、属性の名称とその型、操作の名称（引数の名称とその型）、返り値の型が、定義されることが例示されている。
【００３８】
図４では、編集前のクラスの名称「Test1Action」から編集後のクラスの名称「Test2Action」へ修正されたことが例示されている。
【００３９】
図５は、本実施の形態に係る編集内容作成用ルール２０ａの一例を示す図である。
【００４０】
編集内容作成用ルール２０ａは、システム設計情報又はソースコードが編集された場合に、その編集内容として登録すべき事項を特定するデータであり、登録すべき項目を示すためのルールに関するデータである。
【００４１】
編集内容作成用ルール２０ａでは、開発者３２が入力テンプレート２７ａを使って修正内容データを入力しやすいように、システム設計情報に対する編集が行われた場合に、その編集した構成要素の種別と編集した作業内容の分類に関して、入力必須の項目、入力不要の項目、入力しなくてもよい項目が特定されている。この編集内容作成用ルール２０ａを用いることで、入力テンプレート２７ａにおいて、開発者３２に対して、どの項目に入力が必要かを提示することができる。
【００４２】
この図５では、編集した構成要素の種別と編集した作業内容の分類との組み合わせについて、入力必須の項目が空欄、入力不要の項目が「×」、入力しなくてもよい項目が「−」で定義されている。
【００４３】
ルールＮｏ「１」では、入力テンプレート２７ａにて、編集の「作業分類＝変更」かつ編集対象の「種別＝クラス」が指定された場合に、入力テンプレート２７ａの「パッケージ」の「後」（変更後）についての「ステレオタイプ」「名称」を「−」とし、「クラス」の「後」（変更後）についての「ステレオタイプ」を「−」とし、「属性」の「前」（変更前）及び「後」（変更後）についての「名称」「型」をともに「×」にする必要があることが定義されている。
【００４４】
このルールＮｏ１に基づく入力テンプレート２７ａは、開発者３２に対し、「クラス」について「変更」を行った場合に、変更「前」の「パッケージ」の「ステレオタイプ」「名称」と、変更「前」の「クラス」の「ステレオタイプ」「名称」と、変更「後」の「クラス」の「名称」とを編集内容データ２１ａとして入力する必要があることを示唆する。
【００４５】
ルールＮｏ「２」では、入力テンプレート２７ａにて、編集の「作業分類＝削除」かつ編集対象の「種別＝クラス」が指定された場合に、入力テンプレート２７ａの「前」（変更前）の「属性」の「名称」「型」及び「後」（変更後）についての全項目（パッケージ、クラス、属性、…）を「×」（入力不要）とし、変更「前」の「パッケージ」の「ステレオタイプ」「名称」と、「クラス」の「ステレオタイプ」「名称」とを入力する必要があることが定義されている。
【００４６】
このルールＮｏ２に基づく入力テンプレート２７ａは、開発者３２に対し、「クラス」について「削除」を行った場合に、変更「前」の「パッケージ」の「ステレオタイプ」「名称」と、変更「前」の「クラス」の「ステレオタイプ」「名称」とを編集内容データ２１ａとして入力する必要があることを示唆する。
【００４７】
入力部２７は、入力テンプレート２７ａを開発者３２に提示し、開発者３２によってシステム設計情報への編集内容が入力テンプレート２７ａに入力されると、入力されたデータを含む編集内容データ２１ａを、記憶装置２１に記憶する。
【００４８】
図６は、入力テンプレート２７ａと編集内容データ２１ａとの関係の一例を示す図である。
【００４９】
入力テンプレート２７ａは、開発者３２がシステム設計情報をどう編集したか入力する作業を支援する。
【００５０】
オブジェクト指向ではシステム設計情報の構成要素に、パッケージ、クラス、属性などがある。クラスは、具体的なものを構造や振る舞いの共通性に着目して抽象化したものである。属性は、クラスが持つ静的な情報のことである。パッケージは、クラスなどを分類するために利用する。例えば、システムの機能ごとにパッケージを作成する（例えば、Ａ機能用に、Ａパッケージを作成する）。そして、Ａパッケージには、Ａ機能に関係するクラスを入れる。
【００５１】
入力テンプレート２７ａでは、項目に、「Ｎｏ」、「実施日」、「作業分類」、「種別」、「パッケージ」の「ステレオタイプ」、「パッケージ」の「名称」、「クラス」の「ステレオタイプ」、「クラス」の「名称」、「属性」の「名称」、「属性」の「型」等を備える。各項目について、以下に説明する。
【００５２】
「Ｎｏ」には通し番号が入力される。「実施日」には、編集を実施した日が入力される。
【００５３】
「種別」には、システム設計情報の何を対象に編集を行うかが入力される。例えば、図６に示す場合、「パッケージ」、「クラス」、「属性」がこの「種別」に対応する。
【００５４】
「作業分類」には、「種別」で入力した対象について、何を行うか（追加、削除、変更など）を入力する。
【００５５】
「パッケージ」の「ステレオタイプ」にはパッケージのステレオタイプ名が入力され、「パッケージ」の「名称」にはパッケージ名が入力される。
【００５６】
「クラス」の「ステレオタイプ」にはクラスのステレオタイプ名が入力され、「クラス」の「名称」にはクラス名が入力される。
【００５７】
「属性」の「名称」には属性名が入力され、「型」には属性の型が入力される。
【００５８】
「前」の欄には編集をする前の状態が入力され、「後」の欄には編集後の状態が入力される。
【００５９】
なお、入力テンプレート２７ａの項目は、システム設計情報やソースコードに応じて、必要なものが用意される。
【００６０】
例えば、図４のようにTest1Actionクラスのクラス名がTest2Actionに変更された場合、入力テンプレート２７ａには図６のような内容が入力される。この図６の例では、「作業分類」と「種別」とが入力されると、編集内容作成用ルール２０ａに基づいて入力すべき項目が決定され、入力テンプレート２７ａの入力の必要のない項目に「×」が自動的に入力される。
【００６１】
これにより、開発者３２が入力すべき項目が減り、入力漏れを防止することができ、開発者３２の負荷が軽減できる。
【００６２】
上記図６の例では、クラス名の変更なので、属性の情報は必要がない。そのため、「属性」の「名称」、「型」には「×」が入力されている。同様に、入力しなくてもよい項目に「-」が入力されるため、必ずしも入力しなくてもよいことが表現されている。これらを実現するために、「作業分類」のどの値と「種別」のどの値が組み合わされた時に、どの項目に対して「×」や「-」を入力するかという編集内容作成用ルール２０ａが用意されている。
【００６３】
なお、予め入力される項目の値がいくつかに決まっている場合は、リストから選択された候補が入力部２７に入力されるとしてもよい。
【００６４】
システム設計情報の種類によって、テンプレート２７ａの項目は変わる。必ずしも入力テンプレート２７ａを利用して入力する必要はない。入力部２７で入力用の画面などを用意して、開発者３２が入力できる環境があればよい。すなわち、入力部２７は、入力テンプレート２７ａを利用せず、画面などを利用して作成された編集内容データ２１ａを記憶装置２１に記憶するとしてもよい。
【００６５】
また、編集内容作成用ルール２０ａと記憶装置２０とを削除し、入力テンプレート２７ａは入力部２７に作り込まれているとしてもよい。
【００６６】
編集内容データ２１ａは、入力テンプレート２７ａに入力されたデータを含み、入力テンプレート２７ａにデータが入力されると更新される。
【００６７】
図６の例において、編集内容データ２１ａは、1つの編集内容のデータを1行ごとにＣＳＶ形式で保持している。しかしながら、実際には、入力テンプレート２７ａに入力されたデータを保持できる形であれば、様々なデータ形式を用いることができる。
【００６８】
図６の例では、編集内容データ２１ａの１行として、各項目が、入力テンプレート２７ａの「Ｎｏ」、「実施日」、「作業分類」、「種別」、「前」の「パッケージ」の「ステレオタイプ」、「前」の「パッケージ」の「名称」、「前」の「クラス」の「ステレオタイプ」、「前」の「クラス」の「名称」、「前」の「属性」の「名称」、「前」の「属性」の「型」、…、「後」の「パッケージ」の「ステレオタイプ」、「後」の「パッケージ」の「名称」、「後」の「クラス」の「ステレオタイプ」、「後」の「クラス」の「名称」、「後」の「属性」の「名称」、「後」の「属性」の「型」、…という順で並べられている。
【００６９】
図７は、入力部２７による入力情報格納処理の一例を示すフローチャートである。
【００７０】
まず、ステップＳ２０１において、入力部２７は、編集内容作成用ルール２０ａにそって入力テンプレート２７ａを開発者３２に提示する。
【００７１】
次に、ステップＳ２０２において、入力部２７は、入力テンプレート２７ａを用いた開発者３２による編集内容を示すデータを入力する。なお、上述したように、データは、入力テンプレート２７ａを利用した入力でなくてもよく、入力部２７は、例えば入力用の画面などを用意して、開発者３２からデータを入力する環境であればよい。
【００７２】
次に、ステップＳ２０３において、入力部２７は、入力された編集内容を図６のように編集内容データ２１ａに含め、記憶する。入力部２７は、入力テンプレート２７ａから１行取り出して、編集内容データ２１ａに格納してもよく、入力テンプレート２７ａからすべての編集内容を取り出して、１回で編集内容データ２１ａに格納してもよい。
【００７３】
修正内容検索部２８は、記憶装置２１に記憶されている編集内容データ２１ａと、記憶装置２２に記憶されている修正内容データ２２ａと、記憶装置２３に記憶されている修正内容対応付けルール２３ａとを読み出す。
【００７４】
さらに、修正内容検索部２８は、修正内容対応付けルール２３ａを利用して、編集内容データ２１ａに対応する修正内容を修正内容データ２２ａから取り出す。
【００７５】
そして、修正内容検索部２８は、取り出された修正内容を示す結果データ２４ａを記憶装置２４に記憶する。
【００７６】
以下に図８乃至図１２を参照して、修正内容データ２２ａと修正内容対応付けルール２３ａについて説明する。
【００７７】
図８及び図９は、下流のシステム設計情報に編集を行った場合の修正内容データ２２ａの第１例及び第２例を示す。図８は人間が読むことを前提とした記述例であり、図９は図８と同じ内容をシステムで解析することを前提とした記述である。この図８及び図９は表現形式が違うだけで、内容は同じである。以下においては、図８を用いて説明する。
【００７８】
また、図１２は、編集前のシステム設計情報及びソースコードから、編集後に同期のとる作業を実施したシステム設計情報及びソースコードまでの変化の一例を示す図である。
【００７９】
修正内容データ２２ａは、編集を行う対象（上流のシステム設計情報、下流のシステム設計情報、ソースコード）ごとに編集内容を記述したデータを含む。修正内容データ２２ａでは、１行で１つの編集に対する修正内容が記述される。
【００８０】
修正内容データ２２ａは、編集内容と、その編集内容に対して必要となる同期をとるための作業との関係とが表される。
【００８１】
より具体的に説明すると、修正内容データ２２ａは、Ｎｏと開発者３２が行う編集内容（図８の「下流のシステム設計情報での編集内容」）と、開発者３２が行った編集内容に対して影響のある対象への修正内容（図８では、「上流のシステム設計情報」と「下流のシステム設計情報」と「ソースコード」）を含む。開発者３２が行う編集内容（図８の「下流のシステム設計情報での編集内容」）については、編集内容データ２１ａと修正内容対応付けルール２３から抽出可能であるため、記述しなくてもよい。この図８の例では、開発者３２への参照用に補足情報として記載している。なお、データ形式は変更可能である。
【００８２】
図８のＮｏ１の列は、下流のシステム設計情報に対して、クラス名をBActionからCActionに変更した場合を表す（図１２のＡ−２の状態からＢ−２に変更した場合）。このとき、同期をとるために、図８のＮｏ１の列は、各種成果物に対して実施すべき処理が以下であることを示している。これを図で示すと、それぞれ下記の図１２の（Ｂ）から（Ｃ）の作業となる。
【００８３】
第１に、図８のＮｏ１の列は、下流のシステム設計情報に対してクラス名をBActionからCActionに変更する編集が行われた場合に、上流のシステム設計情報には、クラス名をＢからＣに変更する作業を行う（図１２のＡ−１からＣ−１に変更する）必要があることを表している。
【００８４】
第２に、図８のＮｏ１の列は、下流のシステム設計情報に対してクラス名をBActionからCActionに変更する編集が行われた場合に、下流のシステム設計情報については変更事項がないことを表している。
【００８５】
第３に、図８のＮｏ１の列は、下流のシステム設計情報に対してクラス名をBActionからCActionに変更する編集が行われた場合に、ソースコードについてはクラス名をBActionからCActionに変更する作業を行う（図１２のＡ−３からＣ−３に変更する）必要があることを表している。
【００８６】
図１０及び図１１は、修正内容対応付けルール２３ａの第１例及び第２例を示す。
【００８７】
修正内容対応付けルール２３ａは、編集内容データ２１ａの内容と修正内容データ２２ａのＮｏとを対応付けるデータである。Thenの前にあるのが修正内容対応付けルール２３ａの条件部であり、この条件部の内容により必要な修正内容が特定される。この修正内容は修正内容ＩＤとし、修正内容データ２２ａのＮｏに一致する。複数の条件がある場合は各条件がAndでつなげられる。ただし、データ形式は変更可能である。
【００８８】
図１０の修正内容対応付けルール２３ａにおける１行目の例では、編集内容データ２１ａの「作業分類」が「変更」、かつ「種別」が「クラス」かつ「クラス」の「ステレオタイプ」が「control」である場合に、修正内容データ２２ａのＮｏ「１」が対応するということを表している。
【００８９】
修正内容対応付けルール２３ａは、図１１に示すように表形式としてもよい。条件の定義欄に条件の内容（変更、controlなど）が記述されており、対応する修正内容データ２２ａの「Ｎｏ」が右側に記述される。「Ｏ」は、記入は必須だが、内容は任意であることを表している。
【００９０】
先に説明した図６、図１０、図１２を参照して、修正内容検索部２８の具体的な動作について説明する。
【００９１】
修正内容検索部２８は、図６の編集内容データ２１ａから１行取得する。具体的には、修正内容検索部２８は、「1,2006/9/30,変更,クラス,controlPackage,TestPackage,control,Test1Action,×,×,…,-,-,-,Test2Action,×,×,…」（図１２のＡ−２の状態からＢ−２に変更したことを表している）を取得する。
【００９２】
修正内容検索部２８は、図１０の修正内容対応付けルール２３ａから１行取得する。具体的には、修正内容検索部２８は、「Iｆ “作業分類”=”変更” And “種別”=”クラス” And “クラスのステレオタイプ”=”control” Then 1」を取得する。
【００９３】
修正内容検索部２８は、編集内容データ２１ａから取得した編集内容が、「作業分類」が「変更」、かつ「種別」が「クラス」、かつ「クラス」の「ステレオタイプ」が「control」であるということを表しており、修正内容対応付けルール２３ａから取得したルールを満たすと判断する。
【００９４】
修正内容対応付けルール２３ａから取得したルールを編集内容データ２１ａから取得した編集内容が満たす場合、修正内容対応付けルール２３ａでは、「修正内容データ２２ａのＮｏ１の修正を実行する」という内容がThen以降で定義されている。そして、修正内容データ２２ａのＮｏ１では、下流のシステム設計情報に対して、クラス名をBActionからCActionに変更した場合、「上流のシステム設計情報に対して、クラス名をＢからＣに変更する」「ソースコードに対して、クラス名をBActionからCActionに変更する」修正を行うことが必要である旨が定義されている。
【００９５】
このようなデータ間の紐付けにより、修正内容検索部２８は、下流のシステム設計情報に対して、クラス名をBActionからCActionに変更した場合、「上流のシステム設計情報に対して、クラス名をＢからＣに変更する」「ソースコードに対して、クラス名をBActionからCActionに変更する」という修正を行うことが必要であることを認識する。
【００９６】
さらに、実際には、編集内容データ２１ａにあるように、下流のシステム設計情報に対しては、クラス名Test1ActionがTest2Actionに変更されているため、修正内容検索部２８は、変数値と具体的な値との置き換えを行い、「上流のシステム設計情報に対して、クラス名をTest1（Ｂに相当）からTest2（Ｃに相当）に変更する」「ソースコードに対して、クラス名をTest1Action（BActionに相当）からTest2Action（CActionに相当）に変更する」ことが必要と認識し、この内容を示す結果データ２４ａを記憶装置２４に記憶する。
【００９７】
本実施の形態においては、修正内容検索部２８は、クラス名や属性名を変数（BAction，B，CAction，Cなど）とし、出力部２９で出力するときに具体的な値（Test1Action，Test1，Test2Action，Test2など）を編集内容データ２１ａから取得し、変数を具体的な値に置き換えて結果データ２４ａを作成している。しかしながら、図８の修正内容データ２２ａでは、クラス名や属性名などは例として書かれ、実際の作業時に開発者３２が該当する名称に置き換えて同期をとるための作業をするとしてもよい。
【００９８】
図１３は、修正内容検索部２８による修正内容検索処理の一例を示すフローチャートである。
【００９９】
まず、ステップＳ３０１において、修正内容検索部２８は、編集内容データ２１ａに次のデータがあるか否かを判定する。次のデータがないと判定された場合は、編集内容データ２１ａのすべてのデータについて、対応する修正内容を見つけたということを表している。故に、修正内容検索部２８は、処理を終了する。
【０１００】
次のデータがあると判定された場合、ステップＳ３０２において、修正内容検索部２８は、編集内容データ２１ａから１行分のデータを取り出し、データＡとする。
【０１０１】
次に、ステップＳ３０３において、修正内容検索部２８は、修正内容対応付けルール２３ａに次のルールがあるか否かを判定する。修正内容対応付けルール２３ａに次のルールがないと判定された場合には、データＡには該当する修正内容がないので修正を行う必要がなく、処理はステップＳ３０１に戻る。
【０１０２】
次のルールがあると判定された場合、ステップＳ３０４において、修正内容検索部２８は、修正内容対応付けルール２３ａから１行分のデータを取り出し、ルールＢとする。
【０１０３】
次に、ステップＳ３０５において、修正内容検索部２８は、ステップＳ３０２で取り出したデータＡが、ステップＳ３０５で取り出したルールＢの条件部を満たすか否かを判定する。満たさないと判定された場合には、処理はステップＳ３０３に進む。
【０１０４】
ステップＳ３０５で満たすと判定された場合、ステップＳ３０６において、修正内容検索部２８は、データＡに対応する修正内容がルールＢの修正内容ＩＤであることを認識する。
【０１０５】
ステップＳ３０７において、修正内容検索部２８は、ステップＳ３０６で取得した修正内容ＩＤと一致するＮｏの修正内容を、修正内容データ２２ａから取得し、修正内容Ｃとする。
【０１０６】
ステップＳ３０８において、修正内容検索部２８は、結果データ２４ａにデータＡと修正内容Ｃの組を格納する。あるいは、修正内容検索部２８は、修正内容ＣをデータＡの内容に基づいて書き換えて結果データ２４ａを作成し、格納する。その後、処理はステップＳ３０１に戻る。
【０１０７】
出力部２９は、記憶装置２４に記憶されており修正内容検索部２８による修正内容検索処理で得られた結果データ２４ａを取得し、出力（表示、印刷など）する。
【０１０８】
図１４は、結果データ２４ａとモデルに反映すべき内容の一覧３３との関係の一例を示す図である。
【０１０９】
この図１４で表されている結果データ２４ａは、図１３に示したような処理の結果、図６の編集内容データ２１ａの１行目に対応するデータが、図８の修正内容データ２２ａのＮｏ１であるということを表している。図１４の結果データ２４ａの「１」は、編集内容データ２１ａの「１」を表している。「クラス名をTest1からTest2に変更する」は図８の修正内容データ２２ａの「上流のシステム設計情報」欄の内容を表している。「クラス名をTest1ActionからTest2Actionに変更する」は図８の修正内容データ２２ａの「ソースコード」欄の内容を表している。「なし」は図８の修正内容データ２２ａの「下流のシステム設計情報」を表している。
【０１１０】
図１４のモデルに反映すべき内容の一覧３３においては、例えば、入力テンプレート２７ａの左側に結果データ２４ａの番号が表示され、右側に他の結果データ２４ａが表示されている。なお、モデルに反映すべき内容の一覧３３において、入力テンプレート２７ａの「実施日」から「属性」までは表示されないとしてもよい。
【０１１１】
図１５は、出力部２９による修正内容出力処理の一例を示すフローチャートである。
【０１１２】
ステップＳ４０１において、出力部２９は、結果データ２４ａに未処理のデータがあるか判定する。データがないと判定された場合は、すべての結果を出力したので、処理を終了する。
【０１１３】
データがあると判定された場合は、ステップＳ４０２において、出力部２９は、１行分のデータを取得する。
【０１１４】
ステップＳ４０３において、出力部２９は、取得したデータの「Ｎｏ」と編集内容データ２１ａの「Ｎｏ」が一致する行に、取得したデータの内容を出力する。残りの結果データを表示するために、ステップS４０１に戻る。
【０１１５】
以上説明した本実施の形態において、入力部２７は、システム設計情報の編集時の編集内容を示す編集内容データ２１ａを受け付け、記憶装置２１に編集内容データ２１ａを蓄積する。修正内容検索部２８では、修正内容対応付けルール２３ａを用いて、編集内容データ２１ａに対応する修正内容を修正内容データ２２ａから取得し、結果データ２４ａを記憶する。出力部２９は、結果データ２４ａの示す修正内容一覧を出力する。
【０１１６】
開発者３２は、システム設計情報又はソースコードを編集した場合に、上流のシステム設計情報、下流のシステム設計情報、ソースコードに対して、修正内容一覧を参考にして、編集を行うことができる。
【０１１７】
これにより、システム設計情報又はソースコードのある部分を編集したことにより、他のシステム設計情報又はソースコードについても編集が必要になる場合に、他のシステム設計情報又はソースコードに対する編集作業に漏れが発生することを防止できる。
【０１１８】
また、開発者３２は、システム設計情報又はソースコードを編集した場合に、上流のシステム設計情報、下流のシステム設計情報、ソースコードに対して同期をとるためにどのような作業が必要か分からない場合に、一覧を参考として作業を進めることができる。
【０１１９】
本実施の形態では、上流のシステム設計情報、下流のシステム設計情報、ソースコードというように、粒度の異なるシステム設計情報又はソースコードの間でも同期をとる作業を支援することができる。
【０１２０】
（第２の実施の形態）
本実施の形態においては、上記第１の実施の形態の変形例であり、システム設計情報への編集が行われた場合に、同期をとるための修正が開発者３２によって適切に行われたかをチェックする機能を具備するシステム設計情報編集支援装置について説明する。
【０１２１】
図１６は、本実施の形態に係るシステム設計情報編集支援装置の構成の一例を示すブロック図である。
【０１２２】
本実施の形態に係るシステム設計情報編集支援装置３４は、上記第１の実施の形態に係るシステム設計情報編集支援装置１の構成要素に加えて、解析結果データ２５ａを記憶する記憶装置２５、チェック結果データ２６ａを記憶する記憶装置２６、設計情報解析部３０、設計情報修正チェック部３１を具備する。
【０１２３】
本実施の形態においては、図１７のＤ−２をＥ−２へ編集したときに、Ｆ−１又はＦ−２又はＦ−３に対して、同期をとるための修正が適切に行われたかをチェックする場合について説明する。
【０１２４】
同期をとるための修正をチェックする機能は、編集内容データ２１ａ、設計情報解析部３０、設計情報修正チェック部３１、出力部２９、結果データ２４ａ、解析結果データ２５ａ、チェック結果データ２６ａを用いて実現される。
【０１２５】
設計情報解析部３０は、同期をとる作業を行った後のシステム設計情報又はソースコードを入力し、入力された情報に対する解析を実行し、解析結果を示す解析結果データ２５ａを記憶装置２５に記憶する。
【０１２６】
図１８は、システム設計情報の編集、同期をとる編集、この同期をとる編集に対する解析結果データ２５ａの関係の一例を示す図である。
【０１２７】
図１８では、下流のシステム設計情報Ｄ−２に対して、「BActionクラスのクラス名をDActionクラスに変更する」「Ｃクラスに、int型の属性aを追加する」という２つの編集が行われ、下流のシステム設計情報Ｅ−２が得られている。
【０１２８】
このとき、入力部２７は、開発者３２から編集内容を入力し、図１９のような編集内容データ２１ａを生成する。
【０１２９】
その後、Ｄ−１とＥ−２に対して同期をとるための修正が行われ、Ｆ−１，Ｆ−２が作成される。設計情報解析部３０は、図１８の同期をとるための修正を実施した上流のシステム設計情報Ｆ−１を入力し、図１８の解析結果データ２５ａを作成し、解析結果データ２５ａを記憶装置２５に記憶する。図１８の解析結果データ２５ａは、通し番号、対象(クラス、属性など)、現在の状態を表す。例えば、通し番号が１の「1,クラス,control,B」は、「クラスのステレオタイプがcontrol」「クラス名がＢ」であることを表す。なお、対象によって図１８に示すデータ形式は変わる。例えば、通し番号が３の「3,属性,view,C,a,int」は、「属性が属するクラスのステレオタイプがview」、「属性が属するクラスのクラス名はＣ」、「属性名がa」、「属性の型がint」であることを表す。図１８の解析結果データ２５ａでは、対象によってデータ形式が変わっているが、対象が異なる場合であっても同じデータ形式になるように共通化してもよい。また、解析結果データ２５ａのデータ形式は、設計情報解析部３０に入力される同期編集後の設計情報の内容を表すことができればよい。なお、設計情報解析部３０は、Ｆ−２についても、Ｆ−１と同様の処理を行う。
【０１３０】
図２０は、設計情報解析部３０による設計情報解析処理の一例を示すフローチャートである。
【０１３１】
ステップＳ５０１において、設計情報解析部３０は、開発者３２から同期をとるための編集後のシステム設計情報を入力する。例えば、設計情報解析部３０は、同期をとるための編集後のシステム設計情報のファイル名を受け付け、このファイル名のファイルを読み出す。
【０１３２】
ステップＳ５０２において、設計情報解析部３０は、同期をとる編集後のシステム設計情報を解析する。
【０１３３】
ステップＳ５０３において、設計情報解析部３０は、解析結果データ２５ａを記憶装置２５に記憶する。
【０１３４】
設計情報修正チェック部３１は、記憶装置２５に記憶されている解析結果データ２５ａと、記憶装置２１に記憶されている編集内容データ２１ａとを読み出し、解析結果データ２５ａと編集内容データ２１ａとを比較し、解析結果データ２５ａにおいて、結果データ２４ａの示す同期をとるための適切な修正が行われているかをチェックし、チェック結果データ２６ａを記憶装置２６に記憶する。
【０１３５】
図１８、図１９、図２１を参照して、設計情報修正チェック部３１の具体的な動作について説明する。
【０１３６】
図１８におけるＤ−２からＥ−２への編集について、図１９の編集内容データ２１ａが生成される。修正内容検索部２８は、結果データ２４ａを生成する。ただし、上記第１の実施の形態の場合と異なり、結果データ２４ａには、編集後に同期がとれているかチェックする対象を特定するために、結果データ２４ａの始めに「上流のシステム設計情報」が挿入されている。すなわち、結果データ２４ａの始めの情報は、どのシステム設計情報又はソースコードをチェック対象としているかを参照するために利用される。
【０１３７】
設計情報修正チェック部３１は、図１９の編集内容データ２１ａ、図２１の結果データ２４ａ、図１８の解析結果データ２５ａを取得する。
【０１３８】
設計情報修正チェック部３１は、図１９の編集内容データ２１ａの１行目「1,2006/9/30,変更,クラス, controlPackage, TestPackage, ontrol,BAction,×,×,…,-,-,-,DAction,×,×」を取得する。 
設計情報修正チェック部３１は、図１９の編集内容データ２１ａの「１」に対応する図２１の結果データ２４ａ「1,変更:クラス:BAction:DAction,変更:クラス:B:D,なし,変更:クラス:BAction:DAction」を取得する。
【０１３９】
設計情報修正チェック部３１は、取得した結果データ２４ａ「1,変更:クラス:BAction:DAction,変更:クラス:B:D,なし,変更:クラス:BAction:DAction」に基づいて、クラス名BActionをDActionに変更する作業を行った場合に、上流のシステム設計情報でクラス名ＢをＤに変更する作業が行われているか確認すればよいことを認識する。
【０１４０】
設計情報修正チェック部３１は、解析結果データ２５ａから1行目「1,クラス,control,B」を取得する。設計情報修正チェック部３１は、取得した解析結果データ２５ａの「1,クラス,control,B」に基づいて、クラス名がＢであることを認識する。
【０１４１】
設計情報修正チェック部３１は、上流のシステム設計情報でクラス名ＢをＤに変更する作業が行われていることが必要であることを認識したが、解析結果データ２５ａの「1,クラス,control,B」から、クラス名がＢからＤに修正されていないと判断する。
【０１４２】
そして、設計情報修正チェック部３１は、上流のシステム設計情報でクラス名ＢをＤに変更する修正内容が実施されていないため、後で説明する図２３に示すように、チェック結果データ２６ａに「1,false」を含めて記憶装置２６に記憶する。
【０１４３】
図２２は、設計情報修正チェック部３１による設計情報修正チェック処理の一例を示すフローチャートである。
【０１４４】
なお、設計情報修正チェック部３１による設計情報修正チェック処理は、入力情報格納処理及び修正内容検索処理の実行後に開始される。
【０１４５】
ステップＳ６０１において、設計情報修正チェック部３１は、結果データ２４ａに、参照していないデータがあるか否かを判定する。
【０１４６】
参照していないデータがなければ、結果データ２４ａのすべてのデータを参照した場合であるので、処理を終了する。
【０１４７】
ステップＳ６０１において参照していないデータがあると判定された場合、ステップＳ６０２において、設計情報修正チェック部３１は、結果データ２４ａから1行を取得し、データＸとする。
【０１４８】
ステップＳ６０３において、設計情報修正チェック部３１は、解析結果データ２５ａに参照していないデータがあるか否かを判定する。
【０１４９】
参照していないデータがなければ、解析結果データ２５ａをすべて参照しても、データＸの修正内容に該当する修正が行われていないことが分かる。そのため、ステップＳ６０７に処理は進む。ステップＳ６０７において、設計情報修正チェック部３１は、同期をとるためのシステム設計情報への反映が行われていないと判定する。
【０１５０】
上記のＳ６０３において参照していないデータがあると判定された場合は、ステップＳ６０４において、設計情報修正チェック部３１は、解析結果データ２５ａから１行を取得し、解析結果Ｙとする。
【０１５１】
ステップＳ６０５において、設計情報修正チェック部３１は、解析結果Ｙの内容がデータＸの修正内容を満たしているか否かを判定する。満たしていない場合は、次の解析結果を取得するために、処理はステップＳ６０３に戻る。
【０１５２】
ステップＳ６０５において満たしていると判定された場合、ステップＳ６０６において、設計情報修正チェック部３１は、同期をとるためのシステム設計情報への反映が行われていると判定する。
【０１５３】
ステップＳ６０８において、設計情報修正チェック部３１は、同期をとるためのシステム設計情報への反映が行われているかどうかを、上記のステップＳ６０２において取得されたデータＸのＮｏと対応付けてチェック結果データ２６ａに記憶する。
【０１５４】
出力部２９は、記憶装置２６に記憶されているチェック結果データ２６ａを読み出し、チェック結果３５を出力する。
【０１５５】
図２３は、チェック結果データ２６ａとチェック結果３５との対応関係の一例を示す図である。
【０１５６】
出力部２９は、図２３のチェック結果データ２６ａを、図２３のチェック結果３５のように、対応付けて出力する。この図２３の例では、チェック結果データ２６ａを出力する場合に、入力テンプレート２７ａを利用し、入力テンプレート２７ａの一番右側にチェックにより得られた結果を配置している。なお、「実施日」から「結果」の直前までの項目は省略してもよい。出力部２９は、チェック結果データ２６ａのＮｏと入力テンプレート２７ａのＮｏとで対応付けを行う。
【０１５７】
図２４は、出力部２９によるチェック結果出力処理の一例を示すフローチャートである。
【０１５８】
ステップＳ７０１において、出力部２９は、チェック結果データ２６ａに、参照されていないデータがあるか否かを判定する。
【０１５９】
参照されていないデータがないと判定された場合、すべてのチェック結果データ２６ａを出力し終わったことを示すため、処理は終了する。
【０１６０】
参照されていないデータがあると判定された場合、ステップＳ７０１において、出力部２９は、チェック結果データ２６ａから１行分を取得する。
【０１６１】
ステップＳ７０３において、出力部２９は、上記のステップＳ７０２で取得されたデータをチェック結果３５として出力する。
【０１６２】
以上説明した本実施の形態においては、システム設計情報又はソースコードを編集した場合に、同期をとるために必要な編集が適切に行われているか否かチェックされ、その結果が表示される。したがって、開発者３２は、編集作業の漏れを一層防止することができる。
【０１６３】
（第３の実施の形態）
本実施の形態においては、上記第２の実施の形態の変形例について説明する。
【０１６４】
図２５は、本実施の形態に係るシステム設計情報編集支援装置の構成の一例を示すブロック図である。
【０１６５】
本実施の形態に係るシステム設計情報編集支援装置３６は、上記第２の実施の形態に係るシステム設計情報編集支援装置３４と同様の構成要素を具備し、さらに変更履歴作成部３７を具備する特徴を持つ。
【０１６６】
変更履歴作成部３７は、編集前のシステム設計情報と編集後のシステム設計情報との差分を抽出し、この抽出された編集前のシステム設計情報と編集後のシステム設計情報との差分を表す差分データを入力部２７に与える。
【０１６７】
入力部２７は、入力テンプレート２７ａの入力項目のうち、差分データの項目と整合する部分に、差分データの内容を反映する。これにより、開発者３２によって入力が必要な事項を削減することができる。
【０１６８】
さらに、変更履歴作成部３７は、差分データを、設計情報解析部３０に与える。差分データは、例えば、上記各実施の形態で説明した編集内容データ２１ａの内容から「実施日」内容を削除したデータで表現可能である。
【０１６９】
これにより、設計情報修正チェック部３１で得られる同期をとる作業が行われているか否かのチェック結果を示すチェック結果データ２６ａを、より正確にすることができる。
【０１７０】
図２６は、本実施の形態に係るシステム設計情報に対する編集の一例を示す図である。
【０１７１】
この図２６の例では、Ｇ−２からＨ−２へ編集を行った場合に、同期をとるために図２６のＧ−１をＩ−１に修正している。ただし、Ｇ−１は「Ｄ」クラスと「Ｅ」クラスが逆になっており、間違った修正がなされている。この場合、上記第２の実施の形態を用いて図２６のＩ−１をチェックすると、正しく修正されているという結果になる。なぜなら、上記第２の実施の形態では、「Ｂ」クラスが削除されていて、「Ｄ」クラスがあるかをチェックするのみで、それらの変更が対象となるクラスに対して行われているかはチェックされないためである。
【０１７２】
しかしながら、本実施の形態においては、「Ｂ」クラスが「Ｄ」クラスに変わっているかチェックされる。これにより、図２６のＩ−１は「Ｂ」クラスを「Ｅ」クラスと変更しているため、「Ｂ」クラスを「Ｄ」クラスに変更するという修正が行われていないことを検出することができる。
【０１７３】
（第４の実施の形態）
本実施の形態においては、上記第３の実施の形態の変形例について説明する。
【０１７４】
図２７は、本実施の形態に係るシステム設計情報編集支援装置の構成の一例を示すブロック図である。
【０１７５】
本実施の形態に係るシステム設計情報編集支援装置３８は、編集内容データ３９ａを記憶する記憶装置３９、修正内容データ４０ａを記憶する記憶装置４０、修正内容対応付けルール４１ａを記憶する記憶装置４１、入力部４２、修正内容検索部４３、出力部４４、設計情報反映内容抽出部４５、設計情報解析部４６、設計情報修正チェック部４７、変更履歴作成部４８を具備する。
【０１７６】
編集内容データ３９ａは、開発者３２からのシステム設計情報の編集内容を表すデータである。
【０１７７】
修正内容データ４０ａは、システム設計情報の編集により、他の部分に行うべき修正内容を示すデータである。
【０１７８】
修正内容対応付けルール４１ａは、編集内容データ３９ａと、その編集内容データ３９ａに対応する修正内容データ４０ａを対応付けるルールを表すデータである。
【０１７９】
変更履歴作成部４８は、編集前のシステム設計情報と変更後のシステム設計情報とに基づいて、変更履歴データを作成する。
【０１８０】
入力部４２は、開発者３２からの入力又は変更履歴作成部４８から変更履歴データを受け付け、編集内容データ３９ａとして記憶装置３９に記憶する。
【０１８１】
修正内容検索部４３は、修正内容対応付けルール４１ａを用いて、編集内容データ３９ａに対応する修正内容データ４０ａの修正内容を検索し、検索結果を示す結果データを出力部４４に与える。
【０１８２】
設計情報解析部４６は、編集後のシステム設計情報を入力し、入力したシステム設計情報を解析し、解析結果を示す解析データを設計情報修正チェック部４７に与える。
【０１８３】
設計情報反映内容抽出部４５は、記憶装置３９に記憶されている編集内容データ３９ａに基づいて、変更履歴を抽出し、変更履歴を示す変更履歴データを設計情報修正チェック部４７に与える。
【０１８４】
設計情報修正チェック部４７は、設計情報解析部４６からの解析データと、設計情報反映内容抽出部４５からの変更履歴データとの比較を行い、変更履歴データの示す編集が、編集後のシステム設計情報に反映されているかチェックし、チェック結果データを出力部４４に与える。
【０１８５】
出力部４４は、修正内容検索部４３からの結果データに基づいて一覧４９を出力し、設計情報チェック部４７に基づいてチェック結果５０を出力する。
【０１８６】
以上説明した本実施の形態においては、編集内容データ３９ａから変更履歴を作成し、この変更履歴に基づいて、編集後のシステム設計情報が適切か判断することができる。
【０１８７】
上記各実施の形態において、各種の構成要素は自由に組み合わせ又は分離することができる。
【０１８８】
また、上記各実施の形態は、図２８に示すように、ＭＤＡ（Model Driven Architecture）の分野に適用可能である。
【０１８９】
上記各実施の形態における各種の処理部は、例えば、プログラムを読み込んだコンピュータが、そのプログラムによる制御にそって動作することで実現されるとしてもよい。
【図面の簡単な説明】
【０１９０】
【図１】本発明の第１の実施の形態に係るシステム設計情報編集支援装置の構成の一例を示すブロック図。
【図２】第１の実施の形態に係るシステム設計情報編集支援装置の処理概要の一例を示すフローチャート。
【図３】第１の実施の形態に係るクラスの一例を示す図。
【図４】第１の実施の形態に係る編集の一例を示す図。
【図５】第１の実施の形態に係る編集内容作成用ルールの一例を示す図。
【図６】第１の実施の形態に係る入力テンプレートと編集内容データとの関係の一例を示す図。
【図７】第１の実施の形態に係る入力部による入力情報格納処理の一例を示すフローチャート。
【図８】第１の実施の形態に係る下流のシステム設計情報に編集を行った場合の修正内容データの第１例を示す図。
【図９】第１の実施の形態に係る下流のシステム設計情報に編集を行った場合の修正内容データの第２例を示す図。
【図１０】第１の実施の形態に係る修正内容対応付けルールの第１例を示す図。
【図１１】第１の実施の形態に係る修正内容対応付けルールの第２例を示す図。
【図１２】第１の実施の形態に係る編集前のシステム設計情報及びソースコードから、編集後に同期のとる作業を実施したシステム設計情報及びソースコードまでの変化の一例を示す図。
【図１３】第１の実施の形態に係る修正内容検索部による修正内容検索処理の一例を示すフローチャート。
【図１４】第１の実施の形態に係る結果データとモデルに反映すべき内容の一覧との関係の一例を示す図。
【図１５】第１の実施の形態に係る出力部による修正内容出力処理の一例を示すフローチャート。
【図１６】本発明の第２の実施の形態に係るシステム設計情報編集支援装置の構成の一例を示すブロック図。
【図１７】第２の実施の形態に係るシステム設計情報の編集状態の遷移の一例を示す図。
【図１８】第２の実施の形態に係るシステム設計情報の編集、同期をとる編集、この同期をとる編集に対する解析結果データの関係の一例を示す図。
【図１９】第２の実施の形態に係る編集内容データの一例を示す図。
【図２０】第２の実施の形態に係る設計情報解析部による設計情報解析処理の一例を示すフローチャート。
【図２１】第２の実施の形態に係る結果データの一例を示す図。
【図２２】第２の実施の形態に係る設計情報修正チェック部による設計情報修正チェック処理の一例を示すフローチャート。
【図２３】第２の実施の形態に係るチェック結果データとチェック結果との対応関係の一例を示す図。
【図２４】第２の実施の形態に係る出力部によるチェック結果出力処理の一例を示すフローチャート。
【図２５】本発明の第３の実施の形態に係るシステム設計情報編集支援装置の構成の一例を示すブロック図。
【図２６】第３の実施の形態に係るシステム設計情報に対する編集の一例を示す図。
【図２７】本発明の第４の実施の形態に係るシステム設計情報の構成の一例を示すブロック図。
【図２８】ＭＤＡの概念を示す図。
【図２９】システム設計から実装までの流れと、同期がとれなくなる状態の一例を示す図。
【符号の説明】
【０１９１】
１，３４，３６，３８…システム設計情報編集支援装置、２０〜２６，３９〜４１…記憶装置、２０ａ…編集内容作成用ルール、２１ａ，３９ａ…編集内容データ、２２ａ，４０ａ…修正内容データ、２３ａ，４１ａ…修正内容対応付けルール、２４ａ…結果データ、２５ａ…解析結果データ、２６ａ…チェック結果データ、２７，４２…入力部、２７ａ…入力テンプレート、２８，４３…修正内容検索部、２９，４４…出力部、３０，４６…設計情報解析部、３１，４７…設計情報修正チェック部、３２…開発者、３３…一覧、３５…チェック結果、３７，４８…変更履歴作成部、４５…設計情報反映内容抽出部
【図１】
2008176408.tif 000003
【図２】
2008176408.tif 000004
【図３】
2008176408.tif 000005
【図４】
2008176408.tif 000006
【図５】
2008176408.tif 000007
【図６】
2008176408.tif 000008
【図７】
2008176408.tif 000009
【図８】
2008176408.tif 000010
【図９】
2008176408.tif 000011
【図１０】
2008176408.tif 000012
【図１１】
2008176408.tif 000013
【図１２】
2008176408.tif 000014
【図１３】
2008176408.tif 000015
【図１４】
2008176408.tif 000016
【図１５】
2008176408.tif 000017
【図１６】
2008176408.tif 000018
【図１７】
2008176408.tif 000019
【図１８】
2008176408.tif 000020
【図１９】
2008176408.tif 000021
【図２０】
2008176408.tif 000022
【図２１】
2008176408.tif 000023
【図２２】
2008176408.tif 000024
【図２３】
2008176408.tif 000025
【図２４】
2008176408.tif 000026
【図２５】
2008176408.tif 000027
【図２６】
2008176408.tif 000028
【図２７】
2008176408.tif 000029
【図２８】
2008176408.tif 000030
【図２９】
2008176408.tif 000031