(57)【要約】【課題】新たなアーキテクチャ情報を含む製品用アーキテクチャを効率的に生成する。【解決手段】本ソフトウェア開発支援装置１０は、製品の仕様に基づいて作成された製品用アーキテクチャ情報５２と、プロダクトライン用アーキテクチャ情報５０とを比較して、新規アーキテクチャ情報及び不要アーキテクチャ情報を抽出する差分抽出部２４と、新規アーキテクチャ情報とプロダクトライン用アーキテクチャ情報５０との接続を確認する新規アーキテクチャ接続確認部２６と、接続確認済みのアーキテクチャ情報を参照してソースコードを生成するソースコード作成部２８とを具備している。これにより、プロダクトライン用アーキテクチャ情報５０に検証が不十分なアーキテクチャ情報を追加することなく、新規アーキテクチャ情報を反映した製品用アーキテクチャを効率的に生成することができる。【選択図】図１
2020194338.tif 000002
【特許請求の範囲】
【請求項１】
再利用可能なソフトウェアの部品であるドメインの開発に用いられ、該ドメインに基づいてプロダクトライン用アーキテクチャ情報を生成するドメインエンジニアリング部と、前記プロダクトライン用アーキテクチャ情報を用いて製品用アーキテクチャを生成する製品用アーキテクチャ生成部を具備し、製品用のソフトウェアの開発に用いられるアプリケーションエンジニアリング部とを有する、プロダクトライン型のソフトウェア開発を支援するソフトウェア開発支援装置であって、
前記製品用アーキテクチャ生成部は、
製品の仕様から要求分析が行われて作成された製品用アーキテクチャ情報と前記プロダクトライン用アーキテクチャ情報とを比較し、前記製品用アーキテクチャ情報に含まれ且つ前記プロダクトライン用アーキテクチャ情報に含まれない新規アーキテクチャ情報と、前記製品用アーキテクチャ情報に含まれず且つ前記プロダクトライン用アーキテクチャ情報に含まれる不要アーキテクチャ情報とを抽出する差分抽出部と、
該差分抽出部により抽出された前記新規アーキテクチャ情報と前記プロダクトライン用アーキテクチャ情報とが接続できるかを確認する新規アーキテクチャ接続確認部と、を具備したことを特徴とするソフトウェア開発支援装置。
【請求項２】
前記製品用アーキテクチャ生成部は、更に、前記新規アーキテクチャ接続確認部により確認された接続確認済みのアーキテクチャ情報を参照してソースコードを生成するソースコード作成部を具備したことを特徴とする請求項１記載のソフトウェア開発支援装置。
【請求項３】
前記アプリケーションエンジニアリング部は、外部からの指令に従い、前記プロダクトライン用アーキテクチャ情報に対して、前記新規アーキテクチャ接続確認部により接続が確認された前記新規アーキテクチャ情報を追加するアーキテクチャ追加部を具備し、
前記ドメインエンジニアリング部は、前記アーキテクチャ追加部により前記新規アーキテクチャ情報が追加された前記プロダクトライン用アーキテクチャ情報を、新たな前記プロダクトライン用アーキテクチャ情報として登録する登録部を具備したことを特徴とする請求項１又は２記載のソフトウェア開発支援装置。
【請求項４】
再利用可能なソフトウェアの部品であるドメインの開発に用いられ、該ドメインに基づいてプロダクトライン用アーキテクチャ情報を生成するドメインエンジニアリング部と、前記プロダクトライン用アーキテクチャ情報を用いて製品用アーキテクチャを生成する製品用アーキテクチャ生成部を具備し、製品用のソフトウェアの開発に用いられるアプリケーションエンジニアリング部とを有する、プロダクトライン型のソフトウェア開発を支援するソフトウェア開発支援装置に用いられるプログラムであって、
前記製品用アーキテクチャ生成部に、
製品の仕様から要求分析が行われて作成された製品用アーキテクチャ情報と前記プロダクトライン用アーキテクチャ情報とを比較し、前記製品用アーキテクチャ情報に含まれ且つ前記プロダクトライン用アーキテクチャ情報に含まれない新規アーキテクチャ情報と、前記製品用アーキテクチャ情報に含まれず且つ前記プロダクトライン用アーキテクチャ情報に含まれる不要アーキテクチャ情報とを抽出する差分抽出ステップと、
該差分抽出ステップにおいて抽出した前記新規アーキテクチャ情報と前記プロダクトライン用アーキテクチャ情報とが接続できるかを確認する新規アーキテクチャ接続確認ステップと、を実行させることを特徴とするソフトウェア開発支援プログラム。
【請求項５】
前記製品用アーキテクチャ生成部に、更に、前記新規アーキテクチャ接続確認ステップにおいて確認した接続確認済みのアーキテクチャ情報を参照してソースコードを生成するソースコード作成ステップを実行させることを特徴とする請求項４記載のソフトウェア開発支援プログラム。
【請求項６】
前記アプリケーションエンジニアリング部に、外部からの指令に従い、前記プロダクトライン用アーキテクチャ情報に対して、前記新規アーキテクチャ接続確認ステップで接続が確認された前記新規アーキテクチャ情報を追加するアーキテクチャ追加ステップを実行させ、
前記ドメインエンジニアリング部に、前記アーキテクチャ追加ステップで前記新規アーキテクチャ情報が追加された前記プロダクトライン用アーキテクチャ情報を、新たな前記プロダクトライン用アーキテクチャ情報として登録する登録ステップを実行させることを特徴とする請求項４又は５記載のソフトウェア開発支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロダクトライン型のソフトウェア開発を支援するソフトウェア開発支援装置及びソフトウェア開発支援プログラムに関するものである。
【背景技術】
【０００２】
近年、ソフトウェア開発の効率を向上して開発者の負担を軽減するために、保有しているドメイン知識やソフトウェア資産を再利用可能なドメインとして構築するドメインエンジニアリングと、構築されたドメインを使用して製品用のソフトウェアを開発するアプリケーションエンジニアリングとを含む、プロダクトライン型のソフトウェア開発が行われており、それに関連する技術も発案されている。例えば、特許文献１には、ドメインエンジニアリングで作成したプロダクトライン用アーキテクチャ情報と、アプリケーションエンジニアリングで作成した製品用アーキテクチャ情報とを参照し、製品用アーキテクチャを自動生成する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−００８６６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、特許文献１に開示された発明は、プロダクトライン用アーキテクチャ情報から、製品用アーキテクチャ情報に含まれていないアーキテクチャ情報を削除することで、製品用アーキテクチャを生成している。すなわち、ドメインエンジニアリングで作成するプロダクトライン用アーキテクチャ情報に、製品用アーキテクチャ情報に含まれる全てのアーキテクチャ情報が存在する必要があるため、プロダクトライン用アーキテクチャ情報に含まれていない新たなアーキテクチャ情報を使用して、製品用アーキテクチャを作成することに対応していなかった。或いは、ドメインエンジニアリングの段階で、既存のプロダクトライン用アーキテクチャ情報に含まれていないアーキテクチャ情報を追加することが考えられるが、この場合は、十分な検証が行われていない新たなアーキテクチャ情報を、プロダクトライン用アーキテクチャ情報に登録しなければならない問題があった。
【０００５】
本発明は上記課題に鑑みてなされたものであり、その目的とするところは、新たなアーキテクチャ情報を含む製品用アーキテクチャを効率的に生成することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するための手段として、本発明は、再利用可能なソフトウェアの部品であるドメインの開発に用いられ、該ドメインに基づいてプロダクトライン用アーキテクチャ情報を生成するドメインエンジニアリング部と、前記プロダクトライン用アーキテクチャ情報を用いて製品用アーキテクチャを生成する製品用アーキテクチャ生成部を具備し、製品用のソフトウェアの開発に用いられるアプリケーションエンジニアリング部とを有する、プロダクトライン型のソフトウェア開発を支援するソフトウェア開発支援装置であって、前記製品用アーキテクチャ生成部は、製品の仕様から要求分析が行われて作成された製品用アーキテクチャ情報と前記プロダクトライン用アーキテクチャ情報とを比較し、前記製品用アーキテクチャ情報に含まれ且つ前記プロダクトライン用アーキテクチャ情報に含まれない新規アーキテクチャ情報と、前記製品用アーキテクチャ情報に含まれず且つ前記プロダクトライン用アーキテクチャ情報に含まれる不要アーキテクチャ情報とを抽出する差分抽出部と、該差分抽出部により抽出された前記新規アーキテクチャ情報と前記プロダクトライン用アーキテクチャ情報とが接続できるかを確認する新規アーキテクチャ接続確認部と、を具備したことを特徴とするものである。
【発明の効果】
【０００７】
本発明はこのように構成したので、プロダクトライン用アーキテクチャと新規アーキテクチャとが接続可能かを確認することで、新たなアーキテクチャ情報を含む製品用アーキテクチャを効率的に生成することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】本発明の第１の実施の形態に係るソフトウェア開発支援装置の構成及び処理フローを概略的に示す処理イメージ図である。
【図２】差分抽出部及び新規アーキテクチャ接続確認部の動作を説明するためのアーキテクチャ情報の相関図である。
【図３】本発明の第２の実施の形態に係るソフトウェア開発支援装置の構成及び処理フローを概略的に示す処理イメージ図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態を図面に基づき説明する。なお、全ての図面にわたって、共通する部分については同一の符号を付している。又、以下の説明で記載されている各「アーキテクチャ」は、ＵＭＬ（Unified Modeling Language）モデル図を含むアーキテクチャ図で表現されるものとし、ＵＭＬモデル図に関係する全ての情報を含んでいるものとする。
図１に示すように、本発明の第１の実施の形態に係るソフトウェア開発支援装置１０は、ドメインエンジニアリング部１２と、製品用アーキテクチャ生成部２２を具備するアプリケーションエンジニアリング部２０とを含んでいる。ドメインエンジニアリング部１２は、再利用可能なソフトウェアの部品であるドメインの開発に用いられ、このドメインに基づいてプロダクトライン用アーキテクチャ情報５０を生成するものである。すなわち、ドメインエンジニアリング部１２に格納されているプロダクトライン用アーキテクチャ情報５０は、今までの製品開発で培われてきたアーキテクチャ情報を資産として作成されたものであり、正常に動作することが確認されたアーキテクチャ情報である。
【００１０】
アプリケーションエンジニアリング部２０は、ドメインエンジニアリング部１２に格納されているドメイン（プロダクトライン用アーキテクチャ情報５０）を用いて、製品用のソフトウェアを開発するためのものである。製品用アーキテクチャ生成部２２は、プロダクトライン用アーキテクチャ情報５０と製品用アーキテクチャ情報５２とを利用して、ソースコードまでを作成するものであり、差分抽出部２４、新規アーキテクチャ接続確認部２６、及びソースコード作成部２８を含んでいる。ここで、製品用アーキテクチャ情報５２とは、今回開発する製品の仕様から要求分析が行われ、この要求分析の結果が反映されて作成されたアーキテクチャ情報であり、外部から製品用アーキテクチャ生成部２２へ入力される。
【００１１】
差分抽出部２４は、プロダクトライン用アーキテクチャ情報５０と製品用アーキテクチャ情報５２とを比較し、それらの間の差分として新規アーキテクチャ情報５４及び不要アーキテクチャ情報５６（図２参照）を抽出するものである。新規アーキテクチャ接続確認部２６は、新規アーキテクチャ情報５４とプロダクトライン用アーキテクチャ情報５０との接続を確認するものであり、ソースコード作成部２８は、新規アーキテクチャ接続確認部２６で確認されたアーキテクチャ情報を参照してソースコードを生成するものである。一方、ソフトウェア開発支援装置１０の外部にある検証部４０は、ソースコード作成部２８で作成されたソースコードを利用して動作検証を行うためのものである。
【００１２】
次に、本発明の第１の実施の形態に係るソフトウェア開発支援装置１０の動作フローについて説明する。まず、アプリケーションエンジニアリング部２０の製品用アーキテクチャ生成部２２に対し、ドメインエンジニアリング部１２に格納されているプロダクトライン用アーキテクチャ情報５０と、外部から製品用アーキテクチャ情報５２とを入力する。そして、製品用アーキテクチャ生成部２２において、差分抽出部２４により、プロダクトライン用アーキテクチャ情報５０の中から製品用アーキテクチャ情報５２には存在しない不要アーキテクチャ情報５６と、製品用アーキテクチャ情報５２の中からプロダクトライン用アーキテクチャ情報５０には存在しない新規アーキテクチャ情報５４との、２種類のアーキテクチャ情報を抽出する（差分抽出ステップ）。すなわち、今までの製品開発で培った資産の中で今回の製品開発に不要なアーキテクチャと、今回の製品開発で初めて搭載するフィーチャーに関するアーキテクチャとを抽出する。
【００１３】
このうち、不要アーキテクチャ情報５６の抽出は、今までの製品開発で培った資産の中で今回の製品開発に不要なアーキテクチャの情報と、その周囲のアーキテクチャ情報について相互の必要性の観点で製品用アーキテクチャ情報５２とを確認して行うが、公知の技術であるため詳しい説明を省略する。一方、今回の製品開発で初めて搭載するフィーチャーに関するアーキテクチャの情報を、プロダクトライン用アーキテクチャ情報５０と組み合わせるために、新規アーキテクチャ接続確認部２６により、製品用アーキテクチャ情報５２を用いて、新規アーキテクチャ情報５４とその周囲のアーキテクチャ情報との間に、相互の必要性の観点から接続等に不具合が無いことを確認する（新規アーキテクチャ接続確認ステップ）。なお、差分抽出部２４と新規アーキテクチャ接続確認部２６との動作については、後程より詳しく説明する。
【００１４】
新規アーキテクチャ接続確認部２６によって不具合が無いことを確認したら、ソースコード作成部２８により、新規アーキテクチャ情報５４と、不要アーキテクチャ情報５６を削除したプロダクトライン用アーキテクチャ情報５０とを利用して、ソースコードを作成する（ソースコード作成ステップ）。そして、作成されたソースコードを用いて、検証部４０により、シミュレータ等の検証ツールを利用して動作の検証を行い、検証の結果から修正の必要があると判明した場合には、製品用アーキテクチャ情報５２を修正し、再び製品用アーキテクチャ生成部２２に対して入力する。すなわち、検証部４０によって修正の必要が無いと判定されるまで、製品用アーキテクチャ生成部２２による各処理動作と検証部４０による検証とを、繰り返し実行するものである。
【００１５】
なお、製品用アーキテクチャ情報５２に新規アーキテクチャ情報５４が含まれていない場合であっても、ソースコード作成部２８によって作成されたソースコードを用いて、検証部４０により動作検証を行い、修正の必要がある場合には製品用アーキテクチャ情報５２を修正するルートを取り得ることは、理解されるであろう。又、図１に示す差分抽出部２４と新規アーキテクチャ接続確認部２６とソースコード作成部２８とには、各情報のイメージを柄分けして示している。具体的に、プロダクトライン用フィーチャー図のアーキテクチャ情報と製品用フィーチャー情報との差分を格子柄で示し、プロダクトライン用フィーチャー図のアーキテクチャ情報に追加する機能を縦縞で示し、プロダクトライン用フィーチャー図のアーキテクチャ情報から削除する機能を斜めハッチングで示し、プロダクトライン用フィーチャー図のアーキテクチャ情報に存在する機能を無地で示している。
【００１６】
続いて、図２を参照しながら、差分抽出部２４及び新規アーキテクチャ接続確認部２６の動作について、より詳しく説明する。図２に示す実施形態において、プロダクトライン用アーキテクチャ情報５０は、アーキテクチャ名がarchitecture_1〜architecture_7の７つのアーキテクチャを有し、製品用アーキテクチャ情報５２は、アーキテクチャ名がarchitecture_1〜architecture_3及びarchitecture_5〜architecture_9の８つのアーキテクチャを有している。それらのうち、architecture_1〜architecture_3及びarchitecture_5〜architecture_7の６つのアーキテクチャは、プロダクトライン用アーキテクチャ情報５０と製品用アーキテクチャ情報５２との双方に存在している。
【００１７】
まず、差分抽出部２４は、プロダクトライン用アーキテクチャ情報５０と製品用アーキテクチャ情報５２との間の差分を抽出する。本実施形態での差分の抽出方法は、共通するアーキテクチャ以外は差分とする方法を採用するが、最終的に差分が抽出できれば他の抽出方法を採用してもよい。次に、以下のようにして差分情報を分類する。すなわち、抽出した差分とプロダクトライン用アーキテクチャ情報５０との双方に存在するアーキテクチャ情報を、今までの製品開発で培ってきた資産の中で今回の製品開発に不要な不要アーキテクチャ情報５６と分類する。又、抽出した差分と製品用アーキテクチャ情報５２との双方に存在するアーキテクチャ情報を、今回の製品開発で初めて搭載するフィーチャーに関する新規アーキテクチャ情報５４と分類する。このような分類の結果、図２の実施形態では、不要アーキテクチャ情報５６にarchitecture_4が含まれ、新規アーキテクチャ情報５４にarchitecture_8及びarchitecture_9が含まれている。
【００１８】
上記の結果を受けて、新規アーキテクチャ接続確認部２６は、新規アーキテクチャ情報５４と、それと関係性のあるアーキテクチャ情報において相互の必要性の観点から、製品用アーキテクチャ情報５２とを確認する。例えば、接続部分のインプット及びアウトプットの数や、それらの各々におけるデータ幅が同一であるか、新規アーキテクチャ情報５４に接続先が無いアーキテクチャ情報が残っていないか等を確認する。なお、図２の実施形態では、新規アーキテクチャ情報５４に含まれるarchitecture_8が、プロダクトライン用アーキテクチャ情報５０と製品用アーキテクチャ情報５２との双方に含まれるarchitecture_1と、親子関係にある。
【００１９】
以上説明したように、本発明の第１の実施の形態に係るソフトウェア開発支援装置１０は、図１に示すように、再利用可能なドメインに基づいてプロダクトライン用アーキテクチャ情報５０を生成するドメインエンジニアリング部１２と、プロダクトライン用アーキテクチャ情報５０を用いて製品用アーキテクチャを生成する製品用アーキテクチャ生成部２２を具備するアプリケーションエンジニアリング部２０と、を含むものである。更に、アプリケーションエンジニアリング部２０の製品用アーキテクチャ生成部２２は、差分抽出部２４、新規アーキテクチャ接続確認部２６、及びソースコード作成部２８を含んでいる。
【００２０】
差分抽出部２４は、開発する製品の仕様から要求分析が行われ、この要求を満たすように別途作成されて入力される製品用アーキテクチャ情報５２と、ドメインエンジニアリング部１２において生成されたプロダクトライン用アーキテクチャ情報５０とを比較して、それらの間の差分を抽出するものである。すなわち、差分抽出部２４は、製品用アーキテクチャ情報５２に含まれているが、プロダクトライン用アーキテクチャ情報５０には含まれていないアーキテクチャ情報を、新規アーキテクチャ情報５４（図２参照）として抽出する。更に、差分抽出部２４は、製品用アーキテクチャ情報５２に含まれていないが、プロダクトライン用アーキテクチャ情報５０には含まれているアーキテクチャ情報を、不要アーキテクチャ情報５６（図２参照）として抽出する。
【００２１】
新規アーキテクチャ接続確認部２６は、差分抽出部２４によって上記のように抽出された新規アーキテクチャ情報５４と、プロダクトライン用アーキテクチャ情報５０との接続を確認するものであり、新規アーキテクチャ情報５４が、プロダクトライン用アーキテクチャ情報５０に含まれる少なくとも一部のアーキテクチャ情報と関連して、プロダクトライン用アーキテクチャ情報５０と問題なく結合できることを確認する。ソースコード作成部２８は、新規アーキテクチャ接続確認部２６により確認された接続確認済みのアーキテクチャ情報を参照し、プロダクトライン用アーキテクチャ情報５０から不要アーキテクチャ情報５６が削除されたアーキテクチャ情報と、新規アーキテクチャ情報５４とを利用したソースコードを生成する。
【００２２】
上記のような構成により、本発明の第１の実施の形態に係るソフトウェア開発支援装置１０は、製品の仕様から作成された製品用アーキテクチャ情報５２に、既存のプロダクトライン用アーキテクチャ情報５０に存在しない新規アーキテクチャ情報５４が含まれていても、新規アーキテクチャ接続確認部２６により新規アーキテクチャ情報５４の接続を確認した上で、ソースコード作成部２８により新規アーキテクチャ情報５４を反映したソースコードを生成することができる。このため、プロダクトライン用アーキテクチャ情報５０に検証が不十分なアーキテクチャ情報を追加して作成し直す必要なく、製品用アーキテクチャを問題なく効率的に生成することが可能となる。更に、生成したソースコードを用いて、例えば検証部４０により動作の検証を行い、検証の結果から修正の必要があると判明した場合に、製品用アーキテクチャ生成部２２へ入力される製品用アーキテクチャ情報５２に修正を反映する構成とすれば、より信頼性のある製品用アーキテクチャを生成することができる。
【００２３】
続いて、図３を参照して、本発明の第２の実施の形態に係るソフトウェア開発支援装置１０´について説明する。なお、本発明の第１の実施の形態に係るソフトウェア開発支援装置１０と同様の部分の構成や作用効果については、説明を省略する。
図３に示すように、本発明の第２の実施の形態に係るソフトウェア開発支援装置１０´は、ドメインエンジニアリング部１２に登録部１４が追加され、アプリケーションエンジニアリング部２０にアーキテクチャ追加部３０が追加された点が、図１に示したソフトウェア開発支援装置１０と異なっている。更に、検証部４０にも、新たな機能が追加されている。
【００２４】
アプリケーションエンジニアリング部２０に追加されたアーキテクチャ追加部３０は、ドメインエンジニアリング部１２から入力されたプロダクトライン用アーキテクチャ情報５０に対し、新規アーキテクチャ情報５４（図２参照）を追加するものであり、この際、検証部４０から追加許可の指令を受けて、追加作業を行う。ドメインエンジニアリング部１２に追加された登録部１４は、アーキテクチャ追加部３０から出力されたプロダクトライン用アーキテクチャ情報５０を、次回開発用のプロダクトライン用アーキテクチャ情報５０として登録、格納するものである。登録部１４は、例えば、書き込み／読み出し可能な記録装置と、そのドライバ部とから構成される。
【００２５】
次に、本発明の第２の実施の形態に係るソフトウェア開発支援装置１０´の動作フローについて説明する。アーキテクチャ追加部３０には、新規アーキテクチャ接続確認部２６による接続確認が完了した製品用アーキテクチャ情報５２と、ドメインエンジニアリング部１２から取得する既存のプロダクトライン用アーキテクチャ情報５０とを入力する。更に、検証部４０による動作検証が完了し、製品用アーキテクチャ情報５２に修正の必要が無いと判定された後に、検証部４０から出力される追加許可の指令を、アーキテクチャ追加部３０に入力する。そして、追加許可の指令が入力されたことをトリガとして、アーキテクチャ追加部３０により、既存のプロダクトライン用アーキテクチャ情報５０に対し、製品用アーキテクチャ情報５２に含まれる新規アーキテクチャ情報５４を追加する作業を開始する（アーキテクチャ追加ステップ）。
【００２６】
具体的には、まず、新規アーキテクチャ情報５４と接続するアーキテクチャを製品用アーキテクチャ情報５２から抽出し、既存のプロダクトライン用アーキテクチャ情報５０に含まれている、上記の抽出したアーキテクチャと同様で且つ新規アーキテクチャ情報５４との接続手段を持たないアーキテクチャを、抽出したアーキテクチャと交換する。例えば、図２の構成を用いて説明すると、新規アーキテクチャ情報５４に含まれるarchitecture_8と接続するarchitecture_1を、製品用アーキテクチャ情報５２から抽出する。ここで、プロダクトライン用アーキテクチャ情報５０に含まれているarchitecture_1は、プロダクトライン用アーキテクチャ情報５０に含まれないarchitecture_8との接続手段を有していない。このため、プロダクトライン用アーキテクチャ情報５０に含まれているarchitecture_1を、製品用アーキテクチャ情報５２から抽出したarchitecture_1と交換する。
【００２７】
次に、既存のプロダクトライン用アーキテクチャ情報５０に対して、新規アーキテクチャ情報５４を接続する。この際の接続は、製品用アーキテクチャ情報５２について、新規アーキテクチャ接続確認部２６や検証部４０により、既に検証されている接続を行う。そして、新規アーキテクチャ情報５４を接続したプロダクトライン用アーキテクチャ情報５０を、アーキテクチャ追加部３０からドメインエンジニアリング部１２の登録部１４へ出力し、登録部１４により、次回開発用の新たなプロダクトライン用アーキテクチャ情報５０として登録する（登録ステップ）。登録部１４は、アーキテクチャ追加部３０からプロダクトライン用アーキテクチャ情報５０が入力される度に、新たなプロダクトライン用アーキテクチャ情報５０として記録する。その後、次回の開発が開始されたときに、登録部１４は、最後に記録したプロダクトライン用アーキテクチャ情報５０を、アプリケーションエンジニアリング部２０へと出力する。
【００２８】
以上説明したように、本発明の第２の実施の形態に係るソフトウェア開発支援装置１０´は、本発明の第１の実施の形態に係るソフトウェア開発支援装置１０と比較して、アプリケーションエンジニアリング部２０にアーキテクチャ追加部３０が追加されると共に、ドメインエンジニアリング部１２に登録部１４が追加された構成になっている。アーキテクチャ追加部３０は、ソフトウェア開発支援装置１０´の外部にある検証部４０からの、検証が終了したことを出力トリガとする指令に従い、既存のプロダクトライン用アーキテクチャ情報５０に対して、新規アーキテクチャ接続確認部２６によりプロダクトライン用アーキテクチャ情報５０との接続が確認された、新規アーキテクチャ情報５４を追加するものである。
【００２９】
又、登録部１４は、アーキテクチャ追加部３０によって新規アーキテクチャ情報５４が追加されたプロダクトライン用アーキテクチャ情報５０を、新たなプロダクトライン用アーキテクチャ情報５０として登録するものである。これにより、検証部４０によって十分な検証を行った後に、製品用アーキテクチャ情報５２に含まれる新規アーキテクチャ情報５４を、プロダクトライン用アーキテクチャ情報５０に追加することができる。このため、信頼性を損なうことなく、プロダクトライン用アーキテクチャ情報５０の内容を拡充することが可能となり、それを新たなプロダクトライン用アーキテクチャ情報５０として利用することができる。
【００３０】
ここで、本発明の実施の形態に係るソフトウェア開発支援装置１０、１０´は、図１や図３に示すような構成や動作フローに限定されることなく、図１や図３に示された構成要素の一部が削除、変更されたものであってもよく、新たな構成要素が追加されてもよい。加えて、各構成要素には、各々の構成要素に求められる機能を実行可能な、任意のハードウェア、ソフトウェア、及びそれらの組み合わせを用いることができる。又、図２に示したアーキテクチャの構造も一例であって、本発明の実施の形態に係るソフトウェア開発支援装置１０、１０´で用いるアーキテクチャの構造を限定するものではない。
【００３１】
一方、本発明の第３の実施の形態に係るソフトウェア開発支援プログラムは、上述したような本発明の第１の実施の形態に係るソフトウェア開発支援装置１０の製品用アーキテクチャ生成部２２において、製品の仕様から要求分析が行われて作成された製品用アーキテクチャ情報５２とプロダクトライン用アーキテクチャ情報５０とを比較し、製品用アーキテクチャ情報５２に含まれ且つプロダクトライン用アーキテクチャ情報５０に含まれない新規アーキテクチャ情報５４と、製品用アーキテクチャ情報５２に含まれず且つプロダクトライン用アーキテクチャ情報５０に含まれる不要アーキテクチャ情報５６とを抽出する差分抽出ステップと、差分抽出ステップにおいて抽出した新規アーキテクチャ情報５４とプロダクトライン用アーキテクチャ情報５０との接続を確認する新規アーキテクチャ接続確認ステップと、新規アーキテクチャ接続確認ステップにおいて確認した接続確認済みのアーキテクチャ情報を参照してソースコードを生成するソースコード作成ステップと、を実行させるように使用されるものである。これにより、本発明の第１の実施の形態に係るソフトウェア開発支援装置１０と同等の作用効果を奏することができる。
【００３２】
他方、本発明の第４の実施の形態に係るソフトウェア開発支援プログラムは、上述したような本発明の第２の実施の形態に係るソフトウェア開発支援装置１０´において使用され、アプリケーションエンジニアリング部２０に、外部からの指令に従い、プロダクトライン用アーキテクチャ情報５０に対して、新規アーキテクチャ接続確認ステップで接続が確認された新規アーキテクチャ情報５４を追加するアーキテクチャ追加ステップを実行させ、ドメインエンジニアリング部１２に、アーキテクチャ追加ステップで新規アーキテクチャ情報５４が追加されたプロダクトライン用アーキテクチャ情報５０を、新たなプロダクトライン用アーキテクチャ情報５０として登録する登録ステップを実行させるものである。これにより、本発明の第２の実施の形態に係るソフトウェア開発支援装置１０´と同等の作用効果を奏することができる。
【００３３】
なお、本発明の実施の形態に係るソフトウェア開発支援装置１０、１０´やソフトウェア開発支援プログラムにおいて、ソースコードの生成は、上述したソースコード作成部２８やソースコード作成ステップで必ずしも行う必要はなく、別の開発支援装置や別の開発支援プログラムで実行してもよい。
【符号の説明】
【００３４】
１０、１０´：ソフトウェア開発支援装置、１２：ドメインエンジニアリング部、１４：登録部、２０：アプリケーションエンジニアリング部、２２：製品用アーキテクチャ生成部、２４：差分抽出部、２６：新規アーキテクチャ接続確認部、２８：ソースコード作成部、３０：アーキテクチャ追加部、５０：プロダクトライン用アーキテクチャ情報、５２：製品用アーキテクチャ情報、５４：新規アーキテクチャ情報、５６：不要アーキテクチャ情報
【図１】
2020194338.tif 000003
【図２】
2020194338.tif 000004
【図３】
2020194338.tif 000005